説明

ICカードリーダライタおよびそれに内蔵するSAM

【課題】 一台のICカードリーダライタでデータフォーマットや通信方式の異なるICカードの読み書きができ、しかも情報漏洩等に対するセキュリティ性が高く、仕様等の変更要求への対応を容易とする。
【解決手段】 複数の通信方式の非接触ICカードへの読み書きが可能なICカードリーダライタの中に、着脱可能なSAMを内蔵し、そのSAMの中に、ICカードリーダーが読み書きする非接触ICカードのデータフォーマット情報として、すくなくとも非接触ICカードのメモリに設定されるデータブロックの名称、およびそのデータブロックに記憶するデータの項目とバイト数、データ項目の配列順の情報を格納する。

【発明の詳細な説明】
【技術分野】
【0001】
ICカードリーダライタとICカードの技術分野に属する。特に、一台のICカードリーダライタでデータフォーマットや通信方式の異なるICカードの読み書きができるようにしたICカードリーダライタおよびそれに内蔵するSAM(Secure Application Module)に関する。
【背景技術】
【0002】
磁気カードなどのIDカードの記録部に書かれる会社名などの特定データについては、そのデータの記録場所や記録内容がデータフォーマットとして規定されている。このデータフォーマットは、カード発行者により様々である。したがって、一つのカード端末装置(コントローラ付カードリーダライタ)でデータフォーマットが異なるカードを取り扱えるようにするために、カード選択ボタンを押してカード種別を選択するなどの方法が採用されている。この方法においては、人手による手間がかかり、またカード利用者または係員が自身のカードの種別を記憶する必要があるため極めて操作が煩雑となるという問題があった(特許文献1)。
一方、非接触ICカードには複数の通信方式が存在する。一台のカードリーダライタで複数の通信方式のICカードの読み書きができるようにするためには、たとえば、通信方式ごとのICカード検出信号を順番に送出し、カードからの応答信号が適正であるか否かによりICカードの通信方式を特定することが行なわれる。通信方式が特定されると、以後、その通信方式に固定してICカードの読み書き処理を行う技術が存在する(特許文献2)。しかし、通信方式が異なるカードでは、カードにデータを読み書きするためのコマンド体系が異なっている。そのため、上記のような仕組みを実現するためには、カードリーダライタの上位のコントローラは、各々の通信方式に対応したコマンドを保持して、通信方式に応じたコマンドを、カードリーダライタを通じてICカードに送出しなければならないという問題があった。
【0003】
上記のようなコントローラの負担を軽減するために、コントローラとカードリーダライタ間のコマンドとしては、コントローラとカードリーダライタで処理可能な共通形式のコマンド(共通コマンド)に一本化することが行なわれる。そして、カードリーダライタはコントローラから送信された共通コマンドを特定された非接触ICカードの通信方式にしたがって、カードリーダライタと非接触ICカードで処理可能な固有形式のコマンド(固有コマンド)に変換する。さらに、カードリーダライタはICカードから返信されるレスポンスについても、固有形式から共通形式に変換してコントローラに返信するという方法が考えられる。
しかし、この場合、カードリーダライタが、固有コマンドと共通コマンドとの変換を行うためには、通信方式によって異なるコマンド情報を保持する必要があり、リーダライタにおける処理負荷が大きくなるという問題がある。
更に、上記変換の際に、カード上のデータフォーマット(データの区切りなど)を知る必要がある場合があるが、カードのデータフォーマットは、本来、カードの発行者が極力秘匿したい情報であるため、このような共通コマンドで動作するカードリーダライタは、実際にはほとんど開発されていない。
【0004】
また、ICカード内で、データを暗号化して保管することは一般的に広く実施されているが(特許文献3)、複数の通信方式もしくは複数のデータフォーマットによって異なる暗号方式を、一つのカードリーダライタのROMなどに実装することは、情報漏洩の危険があり、ほとんど行われていない。
一方、暗号アルゴリズムや暗号鍵などを、耐タンパー性のある、セキュアアプリケーションモジュール(SAM)に実装して、このSAMをカードリーダライタやコントローラに装着して、外部プログラムがSAMにアクセスして暗号計算を行わせたり、重要なファイルをSAMに格納させることが行われている。
なお、SAM内での暗号処理については特許文献4に、SAM内に装置のコマンドを格納する技術については特許文献5に、それぞれ開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平8−138003
【特許文献2】特開2001−312701
【特許文献3】特開2003−296691
【特許文献4】特開2004−246563
【特許文献5】特開2008−134881
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は上記の問題を解決するために成されたものである。その目的は、一台のICカードリーダライタでデータフォーマットや通信方式の異なるICカードの読み書きができしかも情報漏洩等に対するセキュリティ性が高く、仕様等の変更要求への対応が容易なICカードリーダライタとそれに内蔵するSAMを提供することにある。
【課題を解決するための手段】
【0007】
本発明の請求項1に係るICカードリーダライタは、 ICカードの読み書きにおけるデータ処理を行う制御部と、その制御部に対して着脱が可能かつ装着時にその制御部とのデータ通信が可能なSAMを有するICカードリーダライタであって、 前記制御部は、前記データ処理の対象となるICカードの通信方式を特定する通信方式特定手段と、前記通信方式に適合するように必要に応じてコマンドとデータフォーマットの変換要求を前記SAMに対して行うデータ変換要求手段とを有し、 前記SAMは、 前記ICカードの各々におけるメモリのデータフォーマット情報と、前記制御部において処理可能な共通コマンドと前記通信方式の異なるICカードの各々において処理可能な固有コマンドとを対応させたコマンドリスト情報とを格納する固有情報メモリと、前記変換要求を受付けて、前記固有情報メモリのデータフォーマット情報と前記コマンドリスト情報を参照し、コマンドとデータフォーマットの変換を行なうデータ変換応答手段とを有するようにしたものである。
また本発明の請求項2に係るICカードリーダライタは、請求項1に係るICカードリーダライタであって、前記データフォーマットの情報は、すくなくともメモリに設定されるデータブロックの名称、およびそのデータブロックを構成するデータの項目とバイト数、その項目の配列順の情報であるようにしたものである。
また、本発明の請求項3に係るICカードリーダライタは、請求項1または2に係るICカードリーダライタであって、前記制御部が前記データ処理を行うときの前記ICカードに対するコマンドが共通コマンドであるときには、 前記制御部のデータ変換要求手段は、前記制御部の通信方式特定手段が特定した前記ICカードの通信方式と、前記データ処理を実行する前記共通コマンドとその付加データとからなる変換要求データを前記SAMのデータ変換応答手段に送信することによって変換要求を行い、 前記SAMのデータ変換応答手段は、前記変換要求データの前記共通コマンドに対応する固有コマンドを前記SAMの固有情報メモリが格納するコマンドリスト情報から選択するとともに、前記共通コマンドの付加データと内容が同一でかつ前記ICカードのデータフォーマットに形式が適合する付加データを前記固有情報メモリのデータフォーマット情報に基づいて生成し、さらにその生成した付加データを前記選択した固有コマンドに付加することによって変換応答データを生成し、その変換応答データを前記制御部に返信し、 前記制御部は、前記SAMから返信された変換応答データを、前記ICカードの固有コマンドとして前記ICカードへ送信するようにしたものである。
また、本発明の請求項4に係るSAMは、請求項1〜3のいずれかに係るICカードリーダライタに装着されるSAMにおいて、前記ICカードのメモリは暗号化したデータブロックを記憶するメモリであって、 前記制御部が前記ICカードからリードコマンドにより読み取る暗号化データブロックを復号化して復号化データブロックを得る復号化手段と、 前記復号化データブロックを構成する項目の各々のデータを、前記データフォーマットの情報を参照して抽出するデータ抽出手段と、 前記抽出された項目の各々のデータを前記制御部において処理可能な所定の順番に配列したデータ列を編成するデータ再配列手段とを有するようにしたものである。
また、本発明の請求項5に係るSAMは、請求項4に係るSAMにおいて、前記制御部が前記ICカードにライトコマンドにより書き込むデータブロックを暗号化して暗号化データブロックを得る暗号化手段を有するようにしたものである。
また、本発明の請求項6に係るSAMは、請求項4または5に係るSAMにおいて、前記SAMは活性化フラグを有し、その活性化フラグの値によって非活性化状態または活性化状態のいずれかの状態であって、 前記制御部は活性化指令手段を有し、その活性化指令手段は前記SAMから読み出した活性化フラグの値が非活性化状態であるときに、前記ICカードリーダライタに固有のキーフレーズを付加データとして活性化コマンドをSAMに送信し、 前記SAMは活性化遷移手段を有し、その活性化遷移手段は前記SAMのメモリに前記キーフレーズを書き込むとともに前記SAMの中の活性化フラグを活性化状態に遷移し、 前記制御部はキーフレーズ送信手段を有し、そのキーフレーズ送信手段は前記SAMから読み出した活性化フラグの値が活性化状態であるときに、前記キーフレーズを前記SAMに送信し、 前記SAMはキーフレーズ管理手段を有し、そのキーフレーズ管理手段は前記キーフレーズ送信手段から受信したキーフレーズと、前記SAMのメモリに書き込まれているキーフレーズとが一致するときにだけ前記SAMが前記制御部のコマンドを受付けるようにしたものである。
【発明の効果】
【0008】
本発明によれば、一台のICカードリーダライタでデータフォーマットや通信方式の異なるICカードの読み書きができ、しかも情報漏洩等に対するセキュリティ性が高く、仕様等の変更要求への対応が容易なICカードリーダライタおよびそれに内蔵するSAM(Secure Application Module)が提供される。
【図面の簡単な説明】
【0009】
【図1】本発明のICカードリーダライタおよびSAMにおける構成の一例を示す説明図である。
【図2】本発明のICカードリーダライタおよびSAMにおける構成の一例を示すブロック図である。
【図3】本発明のICカードリーダライタおよびSAMにおける固有コマンドをICカードリーダライタが受信したときの動作の過程を示すフロー図である。
【図4】本発明のICカードリーダライタおよびSAMにおける共通コマンド(リード)をICカードリーダライタが受信したときの動作の過程を示すフロー図である。
【図5】本発明のICカードリーダライタおよびSAMにおける共通コマンド(ライト)をICカードリーダライタが受信したときの動作の過程を示すフロー図である。
【発明を実施するための形態】
【0010】
次に、本発明の実施の形態について図を参照しながら説明する。本発明のICカードリーダライタおよびSAMにおける構成の一例を説明図として図1に、ブロック図として図2に示す。図1、図2において、1はICカード、2はICカードリーダライタ、3はコントローラ、4は制御部(制御用IC:R/W専用LSI)、5はSAM(Secure Application Module)、6は通信部(トランシーバIC)である。図2において、41は通信方式特定手段、42はデータ変換要求手段、43は活性化指令手段、44はキーフレーズ送信手段、51は固有情報メモリ、52は活性化フラッグ、53はキーフレーズ、501はデータ変換応答手段、502は復号化手段、503はデータ抽出手段、504はデータ配列手段、505は暗号化手段、506は活性化遷移手段、507はキーフレーズ管理手段である。
【0011】
ICカード1は非接触ICカードである。非接触ICカードとして、通信距離が10cm以下の近接型の非接触ICカード、すなわちTypeA,TypeB,TypeC(FeliCa)が知られている(図1参照)。TypeAとTypeBの規格は同一のISO/IEC14443であるが、変調方式(ASK100%、ASK10%)、符号化方式(Modified Miller、NRZ−L)において相違している。一方、同じ近接型のTypeCの規格はFeliCaであり、TypeA、TypeBとは規格が相違する。このように、同じ近接型の非接触ICカードであっても、TypeA,TypeB,TypeCは互いに通信方式におい相違がある。さらに、通信方式が異なるカードでは、カードにデータを読み書きするためのコマンド体系においても相違がある。
また、ICカード1としては、通信距離が2mm以下の密接型(ISO/IEC10536)、通信距離が70cm以下の近傍型(ISO/IEC15693)の非接触ICカードであってもよい。非接触ICカードの周波数は、密着型が4.91MHz、近接型と近傍型が13.56MHzである。非接触ICカードの通信速度は、密着型が9.6kbps以上、近接型が106kbps以上、近傍型が10kbps以下である。
なお、これらすべての非接触ICカードに対して読み書きのできるICカードリーダライタは、上記から明らかなように、ソフトウェアだけでなくハードウェアにおいてもそれぞれの型式の非接触ICカードに対応している必要性がある。
ここでは、簡単のため、ICカード1は近接型の非接触ICカードであるものとして説明を行なう。他の形式の非接触ICカードへの適用は、その説明から容易である。
【0012】
ICカードリーダライタ2は非接触ICカードであるICカード1のリーダライタである。ICカードリーダライタ2は複数の通信方式の非接触ICカード、たとえばTypeA,TypeB,TypeC(FeliCa)のいずれの型式のICカードに対しても読み書きを行うことができるICリーダライタである。
ICカードリーダライタ2は複数の通信方式のICカードの読み書きができるようにするため、たとえば、通信方式ごとのICカード検出信号を順番に送出し、カードからの応答信号があったときに、その応答信号が適正であるか否かによりICカードの通信方式を特定することを行なう。通信方式が特定されると、一連の処理が終了するまでは、その通信方式に固定してICカードの読み書き処理を行う。前記した特許文献2には、そのような処理についての記載がある。
ICカードリーダライタ2は制御部4はさらにその細部の構成要素として、制御部(制御用IC:R/W専用LSI)4、SAM(Secure Application Module)5、通信部(トランシーバIC)6を有する。制御部4とSAM5は協調した動作を行なうことによって、上述したICカードの通信方式を特定する処理、ICカードに対する読み書き処理、等のデータ処理を行う(詳細を後述する)。通信部6は、制御部4の制御下において、電磁波による送受信をICカード1との間で行なう。その電磁波による送受信は複数の通信方式のICカードに対応する形態で行なわれる。
【0013】
コントローラ3はICカードリーダライタ2を端末とする本体システムにおいてICカードリーダライタ2を制御する等のデータ処理を行う本体システムのコントローラ(データ処理部)である。すなわち、コントローラ3はICカードリーダライタ2に対してコマンドを送信する機能を有している。コントローラ3は、たとえばゲート制御盤、プリンタ制御部、ファニチャ制御部である(図2参照)。コントローラ3の動作の一例を以下に説明する。
コントローラ3がゲート制御盤であるときには、〔1〕コントローラ3はICカードリーダライタ2から「カード検出」を受信し、〔2〕コントローラ3はICカードリーダライタ2に「ID情報読出」のコマンドを送信し、〔3〕コントローラ3はICカードリーダライタ2がICカード1から得た「ID情報」をICカードリーダライタ2から受信し、〔4〕コントローラ3はその「ID情報」がコントローラ3のメモリにゲートの開錠を許可するIDとして登録されているか否かの判定を行ない、〔5〕コントローラ3はそのIDが登録されているときにはゲートの電気錠に対して開錠指令信号を出力する。
コントローラ3がプリンタ制御部であるときには、〔1〕最初にユーザがパーソナルコンピュータにおいて印刷指令を入力すると、印刷ジョブがプリンタに送信され、プリンタはそのメモリに印刷ジョブを保存する。〔2〕続いてコントローラ3はICカードリーダライタ2から「カード検出」を受信し、〔3〕コントローラ3はICカードリーダライタ2に「ID情報読出」のコマンドを送信し、〔4〕コントローラ3はICカードリーダライタ2がICカード1から得た「ID情報」をICカードリーダライタ2から受信し、〔5〕コントローラ3はその「ID情報」に紐付けされている印刷ジョブがメモリに保存されているか否かの判定を行ない、〔6〕コントローラ3は、その印刷ジョブが保存されているときには、印刷部に対してその印刷ジョブの紙への印刷指令信号を出力する。
コントローラ3がたとえばICカード認証キャビネットのファニチャ制御部であるときには、上記のゲート制御盤と同様である。ICカードリーダライタ2がICカード1から読み出した「ID情報」がコントローラ3のメモリに登録されているときにはキャビネットの電気錠に対して開錠指令信号を出力する。
【0014】
制御部4はICカードリーダライタ2において制御に係わるデータ処理、ICカード1の読み書きに係わるデータ処理、等を行うICカードリーダライタ2のデータ処理部である。図1、図2において、制御部、制御用IC、R/W専用LSIは呼称としては相違するが物としては同一である。制御部4はさらにその細部の構成要素として、通信方式特定手段41、データ変換要求手段42、活性化指令手段43、キーフレーズ送信手段44を有する。
通信方式特定手段41はデータ処理の対象となるICカードの通信方式を特定する。
データ変換要求手段42は通信方式に適合するように必要に応じてコマンドとデータフォーマットの変換要求をSAM5に対して行う(詳細を後述する)。
活性化指令手段43は、ICカードリーダライタに固有のキーフレーズを付加データとして活性化コマンドをSAM5に送信することにより、SAM5を活性化状態にする。SAMは活性化フラグを有し、その活性化フラグの値によって非活性化状態または活性化状態のいずれかの状態となっている。非活性化状態は使用開始手続前の使用不可能な状態であり、活性化状態は使用開始手続後の使用可能な状態である。固有のキーフレーズは、たとえば、ICカードリーダライタの製造シリアル番号である。
キーフレーズ送信手段44はキーフレーズをSAM5に送信する。そのキーフレーズを受信したSAM5のキーフレーズ管理手段507はその受信したキーフレーズとSAMのメモリに書き込まれているキーフレーズとが一致するか否かを判定し、一致するときにだけ、SAMが制御部のコマンドを受付けるようにする。
【0015】
SAM5は固有情報メモリ51とデータ変換応答手段501を有する。固有情報メモリ51はICカード1の各々におけるメモリのデータフォーマット情報と、制御部4において処理可能な共通コマンドと通信方式の異なるICカードの各々において処理可能な固有コマンドとを対応させたコマンドリスト情報とを格納する。そのデータフォーマット情報には、すくなくともメモリに設定されるデータブロックの名称、およびそのデータブロックを構成するデータの項目とバイト数、その項目の配列順の情報が含まれている。
制御部4から、データ処理の対象となるICカードの通信方式に適合するように必要に応じてコマンドとデータフォーマットの変換要求が、SAM5に対して行われたときには、その変換要求を受付けて、SAM5は固有情報メモリのデータフォーマット情報とコマンドリスト情報を参照し、コマンドとデータフォーマットの変換を行なう。
【0016】
その過程は、たとえば次のような過程である。
制御部4がICカード1の読み書きに係わるデータ処理を行うときのICカードに対するコマンドが共通コマンドであるときには、制御部4はデータの変換要求を行なう。制御部4のデータ変換要求手段42は、制御部4の通信方式特定手段41が特定したICカード1の通信方式と、そのデータ処理を実行する共通コマンドとその付加データとからなる変換要求データをSAM5のデータ変換応答手段501に送信する。これにより制御部4によるデータの変換要求が行なわれる。
その変換要求に対して、SAM5のデータ変換応答手段501は変換要求データの共通コマンドに対応する固有コマンドをSAM5の固有情報メモリ51が格納するコマンドリスト情報から選択する。さらに、SAM5のデータ変換応答手段501は共通コマンドの付加データと内容が同一でかつICカード1のデータフォーマットに形式が適合する付加データを固有情報メモリのデータフォーマット情報に基づいて生成する。さらに、SAM5のデータ変換応答手段501はその生成した付加データを選択した固有コマンドに付加することによって変換応答データを生成する。そして、SAM5のデータ変換応答手段501はその変換応答データを制御部4に返信する。
制御部4は、SAM5から返信された変換応答データを、ICカード1の固有コマンドとしてICカード1へ送信する(詳細を後述する)。
このような固有情報メモリ51とデータ変換応答手段501をSAM5が有することから、仕様等の変更要求への対応は、ICカードリーダライタのプログラム変更等を必要とせず、SAM5を更新することで済ませることができるため容易である。
【0017】
SAM5は、固有情報メモリ51とデータ変換応答手段501だけでなく、さらにその細部の構成要素として、復号化手段502、データ抽出手段503、データ配列手段504、暗号化手段505、活性化遷移手段506、キーフレーズ管理手段507、使用許可手段508を有する。
復号化手段502は制御部4がICカード1からリードコマンドにより読み取る暗号化データブロックを復号化して復号化データブロックを生成する。
データ抽出手段503は復号化データブロックを構成する項目の各々のデータを、データフォーマットの情報を参照して抽出する。
データ配列手段504は出された項目の各々のデータを制御部4において処理可能な所定の順番に配列したデータ列に編成する。
暗号化手段502は制御部4がICカード1にライトコマンドにより書き込むデータブロックを暗号化して暗号化データブロックを生成する。
これらデータ処理によって、ICカード1のメモリが記憶する暗号化されたデータブロックを制御部4において解釈することができるようになる。また、このようにデータブロックの暗号化と復号化によって情報漏洩等に対するセキュリティ性を高いものとすることができる。
【0018】
活性化遷移手段506はSAM5のメモリにキーフレーズを書き込むとともにSAM5の中の活性化フラグ52を活性化状態に遷移させる。活性化遷移手段506は、SAM5から読み出した活性化フラグの値が非活性化状態であって、制御部4の活性化指令手段43がキーフレーズを付加データとして活性化コマンドをSAMに送信したときに動作する。すなわち、その活性化コマンドに対応して、活性化遷移手段506はSAM5のメモリにキーフレーズを書き込むとともにSAM5の中の活性化フラグ52を活性化状態に遷移させる。
キーフレーズ管理手段507はキーフレーズ送信手段44から受信したキーフレーズと、SAM5のメモリに書き込まれているキーフレーズとが一致するときにだけSAM5が制御部4のコマンドを受付けるようにする。
このような活性化遷移とキーフレーズ管理によって、特定のSAM5は特定のICカードリーダライタ2によってだけ使用することが可能となり情報漏洩等に対するセキュリティ性を高いものとすることができる。
【0019】
以上、構成について説明した。次に、本発明のICカードリーダライタおよびそれに内蔵するSAMにおける動作について説明する。最初に、コマンドが固有コマンドであるときの動作の一例を説明する。固有コマンドはそのままでICカードにおいてデータ処理が可能なコントローラからのコマンドである。ICカードの固有コマンドをICカードリーダライタがコントローラから受信したときの本発明における動作の一例をフロー図として図3に示す。
まず、図3のステップS1において、コントローラ3はICカードリーダライタ2へコマンド(A)を送信する(発信する)。
次に、ステップS2において、ICカードリーダライタ2はコマンド(A)がICカード1の固有コマンドであるか否かを判定する。固有コマンドでないときには共通コマンドを処理するフローへ進む(詳細を後述する)。固有コマンドであるときには、ステップS3へ進む。
【0020】
次に、ステップS3において、ICカードリーダライタ2はICカード1のポーリングを開始する。ICカードリーダライタ2は複数の通信方式のICカード1に対する読み書きが可能である。ICカードリーダライタ2はコマンド(A)を実行する対象のICカード1が存在するか否かをポーリングによって確認する。
次に、ステップS4において、ICカード1はICカードリーダライタ2のポーリングに対して応答を行なう。
次に、ステップS5において、ICカードリーダライタ2はICカード1からの応答を待機しており、その応答を受けるとステップS6へ進む。
これら、ステップS3〜S5の過程は制御部4の通信方式特定手段41によって行なわれ、ICカード1の存在が確認されたときには同時にそのICカード1の通信方式も特定される。
【0021】
次に、ステップS6において、ICカードリーダライタ2はコマンド(A)をそのままICカード1へ送信する(転送する)。
次に、ステップS7において、ICカード1はコマンド(A)を受信し、コマンド(A)に対応するデータ処理を行なう。そして、ICカードリーダライタ2のコマンド(A)に対する応答を行なう。
次に、ステップS8において、ICカードリーダライタ2はICカード1からの応答を待機しており、その応答を受けるとステップS9へ進む。
次に、ステップS9において、ICカードリーダライタ2はカード1からの応答をそのままコントローラ3へ送信する(返信する)。
次に、ステップS10において、コントローラ3はICカードリーダライタ2からの応答を待機しており、ICカードリーダライタ2からのその応答を受信する。その応答を受信すると、コントローラ3はICカードリーダライタ2へコマンド(A)を送信してからの(ステップS1からの)一連の処理を終了する。
【0022】
以上、コマンドが固有コマンドであるときの動作の一例を説明した。次に、コマンドが共通コマンドのリードコマンドであるときの動作の一例を説明する。共通コマンドはそのままでICカードリーダライタにおいてはデータ処理が可能であるがICカードにおいてはデータ処理が不可能なコントローラからのコマンドである。共通コマンドのリードコマンドをICカードリーダライタがコントローラから受信したときの本発明における動作の一例をフロー図として図4に示す。
まず、図4のステップS101において、コントローラ3はICカードリーダライタ2へリードコマンド(A)を送信する(発信する)。リードコマンド(A)は共通コマンドである。共通コマンドは、たとえばISO/IEC7816で規定されたAPDU形式で定義される。すなわち、共通コマンドは「CLA」+「INS」+「P1」+「P2」+「Lc」+「Data」+「Le」という構成を有する(図4参照)。ここで、「CLA」はクラスコード、「INS」は命令コード、「P1」はパラメータ1、「P2」はパラメータ2、「Lc」は以下のデータのバイト数、「Data」はデータ、「Le」は応答として期待するバイト数である。
次に、ステップS102において、ICカードリーダライタ2はリードコマンド(A)がICカード1の固有コマンドであるか否かを判定する。固有コマンドであるときには固有コマンドを処理するフローへ進む(図3とその説明を参照)。固有コマンドでないときすなわち共通コマンドのときには、ステップS103へ進む。
【0023】
次に、ステップS103において、ICカードリーダライタ2はICカード1のポーリングを開始する。ICカードリーダライタ2は複数の通信方式のICカード1に対する読み書きが可能である。ICカードリーダライタ2はコマンド(A)を実行する対象のICカード1が存在するか否かをポーリングによって確認する。
次に、ステップS104において、ICカード1はICカードリーダライタ2のポーリングに対して応答を行なう。
次に、ステップS105において、ICカードリーダライタ2はICカード1からの応答を待機しており、その応答を受けるとステップS106へ進む。
これらステップS103〜S105の過程は制御部4の通信方式特定手段41によって行なわれる。通信方式特定手段41は、図4に示す一例において、ICカード1からの応答によりICカード1がタイプYのICカードであることを検出する。
【0024】
次に、ステップS106において、タイプYであるICカード1がリードコマンド(A)を実行することができるように、制御部4のデータ変換要求手段42はSAM5に対して、共通コマンドであるリードコマンド(A)をそれに対応するタイプYであるICカード1の固有コマンドに変換する要求を行なう。
次に、ステップS107において、SAM5は共通コマンドであるリードコマンド(A)に対応する固有コマンドであるリードコマンド(A’)を、固有情報メモリ51を参照して抽出する。さらにリードコマンド(A)のデータフォーマットをリードコマンド(A’)のデータフォーマットに変換する。この変換においてはヘッダ、フッタ、等の付加データも変換付加される。固有情報メモリ51にはカードタイプごとに規定されたコマンド形式が格納されている。たとえば、タイプXのあるコマンドは「コマンド」+「ブロックNo.」+「P1」+「P2」+「Le」という構成を有し、タイプYのあるコマンドは「コマンド」+「セクタNo.」+「ブロック位置」+「P1」という構成を有する(図4参照)。そして、SAM5はそのリードコマンド(A’)を制御部4へ送信する(返信する)。ステップS107におけるデータ変換はSAM5のデータ変換応答手段501によって行なわれる。
【0025】
次に、ステップS108において、ICカードリーダライタ2はヘッダ、フッタ、を除いてコマンド(A’)をICカード1へ送信する(転送する)。
次に、ステップS109において、ICカード1は固有コマンドであるコマンド(A’)を受信し、コマンド(A’)に対応するデータ処理を行なう。そして、ICカード1はICカードリーダライタ2のコマンド(A’)に対する応答(R1)を行なう。
次に、ステップS110において、ICカードリーダライタ2はICカード1からの応答を待機しておりその応答(R1)を受けると、その応答(R1)をSAM5に送信し、復号とデータ抽出を指令する。
次に、ステップS111において、SAM5は応答(R1)を復号して得た平文から、データ項目を抽出し、所定の順番にデータ列を編成し制御部4に返答する。編成したデータ列は、たとえば、「タグ1」+「ID番号」+「タグ2」+「組織コード」+「タグ3」+「性別」という構成を有する(図4参照)。ここにおける、応答(R1)の復号は復号化手段502によって、データ項目を抽出はデータ抽出手段503によって、データ列の編成はデータ配列手段504によって行なわれる。
【0026】
次に、ステップS112において、制御部4はSAM5からの応答を待機しており、その応答を受けるとステップS113へ進む。
次に、ステップS113において、制御部4はカード1からの応答をそのままコントローラ3へ送信する(返信する)。
次に、ステップS10において、コントローラ3はICカードリーダライタ2からの応答を待機しており、ICカードリーダライタ2からのその応答を受信する。その応答を受信すると、コントローラ3がICカードリーダライタ2へコマンド(A)を送信してからの(ステップS1からの)一連の処理を終了する。
【0027】
以上、共通コマンドがリードコマンドであるときの動作の一例を説明した。次に、共通コマンドがライトコマンドであるときの動作の一例を説明する。共通コマンドのライトコマンド(部分書換コマンド(B))をICカードリーダライタがコントローラから受信したときの本発明における動作の一例をフロー図として図5に示す。
まず、図5のステップS201において、コントローラ3は部分書き換えの対象となるデータブロックに対するリードコマンド(A)をあらかじめ完了しておく(図4とその説明を参照)。その結果、部分書き換えの対象となるデータブロックはSAM5のメモリに保存されている。そのデータブロックは、たとえば、「入館情報」+「建物No」+「県コード」+「国コード」という構成を有する(図5参照)。
次に、ステップS202において、コントローラ3はICカードリーダライタ2へ部分書換コマンド(B)を送信する(発信する)。部分書換コマンド(B)は共通コマンドである。共通コマンドは、たとえばISO/IEC7671で規定されたAPDU形式で定義される。部分書換コマンド(B)によって、たとえば「入館情報」+「建物No」+「県コード」+「国コード」という構成を有するデータブロックの「建物No」の部分を「建物No’」に書き換えを行なう(図5参照)。
次に、ステップS203において、ICカードリーダライタ2は部分書換コマンド(B)がICカード1の固有コマンドであるか否かを判定する。固有コマンドであるときには固有コマンドを処理するフローへ進む(図3とその説明を参照)。固有コマンドでないときすなわち共通コマンドのときには、ステップS204へ進む。
【0028】
次に、ステップS204において、ICカードリーダライタ2はICカード1のポーリングを開始する。ICカードリーダライタ2は複数の通信方式のICカード1に対する読み書きが可能である。ICカードリーダライタ2は部分書換コマンド(B)を実行する対象のICカード1が存在するか否かをポーリングによって確認する。
次に、ステップS205において、ICカード1はICカードリーダライタ2のポーリングに対して応答を行なう。
次に、ステップS206において、ICカードリーダライタ2はICカード1からの応答を待機しており、その応答を受けるとステップS207へ進む。
これらステップS204〜S206の過程は制御部4の通信方式特定手段41によって行なわれる。通信方式特定手段41は、図5に示す一例において、ICカード1からの応答によりICカード1がタイプYのICカードであることを検出する。
【0029】
次に、ステップS207において、タイプYであるICカード1が部分書換コマンド(B)を実行することができるように、制御部4のデータ変換要求手段42はSAM5に対して、共通コマンドである部分書換コマンド(B)をそれに対応するタイプYであるICカード1の固有コマンドに変換する要求を行なう。このとき、どのバイトをどんな値に書き換えるのかの情報を含めて要求する。
次に、ステップS208において、SAM5は、部分書き換えの対象としてSAM5のメモリに保存されているデータブロックの構成の内で、部分書換コマンド(B)で書き換えを指定された部分のバイトを書き換える。たとえば、「建物No」の部分を「建物No’」に書き換える。そして、全体を暗号化して部分書換コマンド(B’)を生成する。この書き換え(データ変換)はSAM5のデータ変換応答手段501によって行なわれ、暗号化はSAM5の暗号化手段505によって行なわれる。
次に、ステップS209において、SAM5は部分書換コマンド(B’)に対応する固有コマンドである部分書換コマンド(B”)を、固有情報メモリ51を参照して抽出する。さらに部分書換コマンド(B’)のデータフォーマットを部分書換コマンド(B”)のデータフォーマットに変換する。この変換においてはヘッダ、フッタ、等の付加データも変換付加される。固有情報メモリ51にはカードタイプごとに規定されたコマンド情報とデータフォーマット情報が格納されている。そして、SAM5はその部分書換コマンド(B”)を制御部4へ送信する(返信する)。このステップS209におけるデータ変換はSAM5のデータ変換応答手段501によって行なわれる。
【0030】
次に、ステップS210において、ICカードリーダライタ2はヘッダ、フッタ、を除いて部分書換コマンド(B”)をICカード1へ送信する(転送する)。
次に、ステップS211において、ICカード1は固有コマンドである部分書換コマンド(B”)を受信し、部分書換コマンド(B”)に対応するデータ処理を行なう。そして、ICカード1はICカードリーダライタ2の部分書換コマンド(B”)に対する応答(R2)を行なう。
次に、ステップS212において、ICカードリーダライタ2はICカード1からの応答を待機しておりその応答(R2)を受けるとステップS213へ進む。
次に、ステップS213において、制御部4はカード1からの応答をそのままコントローラ3へ送信する(返信する)。
次に、ステップS10において、コントローラ3はICカードリーダライタ2からの応答を待機しており、ICカードリーダライタ2からのその応答を受信する。その応答を受信すると、コントローラ3がICカードリーダライタ2へコマンド(A)を送信してからの(ステップS1からの)一連の処理を終了する。
【産業上の利用可能性】
【0031】
複数の形式のICカードに対応するとともに、情報漏洩等に対するセキュリティ性が高く、仕様等の変更要求への対応が容易であることが求められるICカードリーダライタ等において利用可能である。
【符号の説明】
【0032】
1 ICカード
2 ICカードリーダライタ
3 コントローラ
4 制御部(制御用IC:R/W専用LSI)
5 SAM(Secure Application Module)
6 通信部(トランシーバIC)
41 通信方式特定手段
42 データ変換要求手段
43 活性化指令手段
44 キーフレーズ送信手段
51 固有情報メモリ
52 活性化フラッグ
53 キーフレーズ
501 データ変換応答手段
502 復号化手段
503 データ抽出手段
504 データ配列手段
505 暗号化手段
506 活性化遷移手段
507 キーフレーズ管理手段

【特許請求の範囲】
【請求項1】
ICカードの読み書きにおけるデータ処理を行う制御部と、その制御部に対して着脱が可能かつ装着時にその制御部とのデータ通信が可能なSAMを有するICカードリーダライタであって、
前記制御部は、
前記データ処理の対象となるICカードの通信方式を特定する通信方式特定手段と、
前記通信方式に適合するように必要に応じてコマンドとデータフォーマットの変換要求を前記SAMに対して行うデータ変換要求手段とを有し、
前記SAMは、
前記ICカードの各々におけるメモリのデータフォーマット情報と、前記制御部において処理可能な共通コマンドと前記通信方式の異なるICカードの各々において処理可能な固有コマンドとを対応させたコマンドリスト情報とを格納する固有情報メモリと、
前記変換要求を受付けて、前記固有情報メモリのデータフォーマット情報と前記コマンドリスト情報を参照し、コマンドとデータフォーマットの変換を行なうデータ変換応答手段とを有する、
ことを特徴とするICカードリーダライタ。
【請求項2】
請求項1に記載のICカードリーダライタであって、前記データフォーマットの情報は、すくなくともメモリに設定されるデータブロックの名称、およびそのデータブロックを構成するデータの項目とバイト数、その項目の配列順の情報であることを特徴とするICカードリーダライタ。
【請求項3】
請求項1または2に記載のICカードリーダライタであって、
前記制御部が前記データ処理を行うときの前記ICカードに対するコマンドが共通コマンドであるときには、
前記制御部のデータ変換要求手段は、前記制御部の通信方式特定手段が特定した前記ICカードの通信方式と、前記データ処理を実行する前記共通コマンドとその付加データとからなる変換要求データを前記SAMのデータ変換応答手段に送信することによって変換要求を行い、
前記SAMのデータ変換応答手段は、前記変換要求データの前記共通コマンドに対応する固有コマンドを前記SAMの固有情報メモリが格納するコマンドリスト情報から選択するとともに、前記共通コマンドの付加データと内容が同一でかつ前記ICカードのデータフォーマットに形式が適合する付加データを前記固有情報メモリのデータフォーマット情報に基づいて生成し、さらにその生成した付加データを前記選択した固有コマンドに付加することによって変換応答データを生成し、その変換応答データを前記制御部に返信し、
前記制御部は、前記SAMから返信された変換応答データを、前記ICカードの固有コマンドとして前記ICカードへ送信する、
ことを特徴とするICカードリーダライタ。
【請求項4】
請求項1〜3のいずれかに記載のICカードリーダライタに装着されるSAMにおいて、前記ICカードのメモリは暗号化したデータブロックを記憶するメモリであって、
前記制御部が前記ICカードからリードコマンドにより読み取る暗号化データブロックを復号化して復号化データブロックを得る復号化手段と、
前記復号化データブロックを構成する項目の各々のデータを、前記データフォーマットの情報を参照して抽出するデータ抽出手段と、
前記抽出された項目の各々のデータを前記制御部において処理可能な所定の順番に配列したデータ列を編成するデータ再配列手段と、
を有することを特徴とするSAM。
【請求項5】
請求項4に記載のSAMにおいて、前記制御部が前記ICカードにライトコマンドにより書き込むデータブロックを暗号化して暗号化データブロックを得る暗号化手段を有することを特徴とするSAM。
【請求項6】
請求項4または5に記載のSAMにおいて、前記SAMは活性化フラグを有し、その活性化フラグの値によって非活性化状態または活性化状態のいずれかの状態であって、
前記制御部は活性化指令手段を有し、その活性化指令手段は前記SAMから読み出した活性化フラグの値が非活性化状態であるときに、前記ICカードリーダライタに固有のキーフレーズを付加データとして活性化コマンドをSAMに送信し、
前記SAMは活性化遷移手段を有し、その活性化遷移手段は前記SAMのメモリに前記キーフレーズを書き込むとともに前記SAMの中の活性化フラグを活性化状態に遷移し、
前記制御部はキーフレーズ送信手段を有し、そのキーフレーズ送信手段は前記SAMから読み出した活性化フラグの値が活性化状態であるときに、前記キーフレーズを前記SAMに送信し、
前記SAMはキーフレーズ管理手段を有し、そのキーフレーズ管理手段は前記キーフレーズ送信手段から受信したキーフレーズと、前記SAMのメモリに書き込まれているキーフレーズとが一致するときにだけ前記SAMが前記制御部のコマンドを受付けるようにする、
ことを特徴とするSAM。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2012−14607(P2012−14607A)
【公開日】平成24年1月19日(2012.1.19)
【国際特許分類】
【出願番号】特願2010−152725(P2010−152725)
【出願日】平成22年7月5日(2010.7.5)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】