説明

携帯可能電子装置の処理装置、携帯可能電子装置、及び携帯可能電子装置の処理システム

【課題】 より高速に処理を行う事ができる携帯可能電子装置の処理装置、携帯可能電子装置、及び携帯可能電子装置の処理システムを提供する。
【解決手段】 携帯可能電子装置の処理装置1は、携帯可能電子装置2と相互認証を行う端末装置1であって、前記携帯可能電子装置2とデータの送受信を行う送受信部14を備える。前記処理装置1は、初期設定コマンドに相互認証コマンドのすくなくとも一部を格納し、相互認証コマンドのすくなくとも一部を格納した初期設定コマンドを前記送受信部14により前記携帯可能電子装置2に送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、コマンドを送受信することにより種々の処理を実現する携帯可能電子装置の処理装置、携帯可能電子装置、及び携帯可能電子装置の処理システムに関する。
【背景技術】
【0002】
一般的に、携帯可能電子装置として用いられるICカードは、プラスチックなどで形成されたカード状の本体と本体に埋め込まれたICモジュールとを備えている。ICモジュールは、ICチップを有している。ICチップは、電源が無い状態でもデータを保持することができるEEPROM(Electrically Erasable Programmable Read−Only Memory)またはフラッシュROMなどの不揮発性メモリと、種々の演算を実行するCPUとを有している。
【0003】
ICカードは、例えば、国際標準規格ISO/IEC7816−1、2に準拠したICカードである。ICカードは、携帯性に優れ、且つ、外部装置との通信及び複雑な演算処理を行う事ができる。また、偽造が難しい為、ICカードは、機密性の高い情報などを格納してセキュリティシステム、電子商取引などに用いられることが想定される。
【0004】
また、近年、非接触通信によりデータの送受信を行うことができるICカードが一般的に普及している。上記したような非接触ICカードは、ICチップとアンテナとを備えている。この非接触ICカードは、リーダライタから発せられる磁界を受けて、カード内のアンテナを電磁誘導により起電させることにより動作する。
【0005】
通常、ICカード及びICカードの処理装置は、互いに通信対象が信用できるか否かを判断するために、相互認証処理を行う。この相互認証の結果、互いに信用できる装置であると判断した場合に処理を許可する技術が提供されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2007−48103号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ICカードと処理装置との間で相互認証を行う場合、まず、ICカードの処理装置は、乱数を生成し、生成した乱数を暗号化し、ICカードに暗号化データを送信する。ICカードは、暗号化データを復号し、復号化データを処理装置に返信する。また、ICカードは、乱数を生成し、生成した乱数を暗号化し、処理装置に暗号化データを送信する。処理装置は、暗号化データを復号し、復号化データを処理装置に送信する。ICカード及び処理装置は、通信対象の装置から送信される復号化データと元の乱数データとが一致するか否かを確認することにより、相互認証を行う。
【0008】
上記した相互認証処理は、ICカードと処理装置との間でコマンド及びレスポンスの送受信を行うことにより実現される。通常、コマンド及びレスポンスの送受信の回数は、処理速度に直接反映される。この為、できる限りコマンド及びレスポンスの回数を減らすことが望ましい。
【0009】
しかし、上記の特許文献1に記載されている技術は、ICカードと処理装置との間でコマンド及びレスポンスの送受信を2回ずつ行うことにより、相互認証を行う。この結果、コマンド及びレスポンスの回数分だけ余計に時間がかかるという問題がある。
【0010】
そこで、本発明の目的は、より高速に処理を行う事ができる携帯可能電子装置の処理装置、携帯可能電子装置、及び携帯可能電子装置の処理システムを提供することにある。
【課題を解決するための手段】
【0011】
本発明の一実施形態としての携帯可能電子装置の処理装置は、携帯可能電子装置と相互認証を行う端末装置であって、前記携帯可能電子装置とデータの送受信を行う送受信部と、前記送受信部により前記携帯可能電子装置に初期設定コマンドを送信する初期設定処理部と、前記初期設定処理部により送信する初期設定コマンドに相互認証コマンドのすくなくとも一部を格納する認証コマンド処理部と、を具備する。
【0012】
また、本発明の一実施形態としての携帯可能電子装置は、携帯可能電子装置の処理装置と相互認証を行う携帯可能電子装置であって、前記処理装置とデータの送受信を行う送受信部と、前記送受信部により受信する初期設定コマンドに基づいて初期設定処理を行い、レスポンスを前記処理装置に送信する初期設定処理部と、前記初期設定コマンドに相互認証コマンドの少なくとも一部が格納されているか否か判定する判定部と、前記判定部により初期設定コマンドに相互認証コマンドの少なくとも一部が格納されていると判定した場合、前記相互認証コマンドに基づいて認証処理を行う認証処理部と、前記認証処理部の処理結果を前記初期設定コマンドに対するレスポンス内に格納するレスポンス処理部と、を具備する。
【0013】
また、本発明の一実施形態としての携帯可能電子装置の処理システムは、相互認証を行う携帯可能電子装置及び携帯可能電子装置の処理装置を備える携帯可能電子装置の処理システムであって、前記処理装置は、前記携帯可能電子装置とデータの送受信を行う送受信部と、前記送受信部により前記携帯可能電子装置に初期設定コマンドを送信する第1の初期設定処理部と、前記初期設定処理部により送信する初期設定コマンドに相互認証コマンドのすくなくとも一部を格納する認証コマンド処理部と、を具備し、前記携帯可能電子装置は、前記処理装置とデータの送受信を行う送受信部と、前記送受信部により受信する初期設定コマンドに基づいて初期設定処理を行い、レスポンスを前記処理装置に送信する初期設定処理部と、前記初期設定コマンドに相互認証コマンドの少なくとも一部が格納されているか否か判定する判定部と、前記判定部により初期設定コマンドに相互認証コマンドの少なくとも一部が格納されていると判定した場合、前記相互認証コマンドに基づいて認証処理を行う認証処理部と、前記認証処理部の処理結果を前記初期設定コマンドに対するレスポンス内に格納するレスポンス処理部と、を具備する。
【発明の効果】
【0014】
この発明の一形態によれば、より高速に処理を行う事ができる携帯可能電子装置の処理装置、携帯可能電子装置、及び携帯可能電子装置の処理システムを提供することができる。
【図面の簡単な説明】
【0015】
【図1】図1は、本発明の一実施形態に係る携帯可能電子装置の処理システムの構成の例について説明するためのブロック図である。
【図2】図2は、図1に示す端末装置の構成例について説明するためのブロック図である。
【図3】図3は、図1に示すICカードの構成例について説明するためのブロック図である。
【図4】図4は、図1に示すICカード処理システムの各構成において行われる認証処理について説明するためのシーケンスである。
【図5】図5は、本実施形態に係る端末装置から送信されるATTRIBの構成について説明するための説明図である。
【図6】図6は、本実施形態に係るICカードから送信されるATAの構成について説明するための説明図である。
【図7】図7は、本発明の他の実施形態に係るICカード処理システムにおいて行われる認証処理について説明するためのシーケンスである。
【発明を実施するための形態】
【0016】
以下、図面を参照しながら、本発明の一実施形態に係る携帯可能電子装置の処理装置、携帯可能電子装置、及び携帯可能電子装置の処理システムについて詳細に説明する。
【0017】
図1は、本発明の一実施形態に係るICカード処理システム10の構成例について説明するためのブロック図である。
図1に示すようにICカード処理システム10は、携帯可能電子装置の処理装置(端末装置)1と携帯可能電子装置(ICカード)2とを備えている。端末装置1とICカード2とは、無線通信により互いに種々のデータの送受信を行う。なお、ここでは、ISO/IEC14443に規定されるTypeBの通信プロトコルによりデータの送受信が行われる事を想定して説明する。
【0018】
図2は、図1に示す端末装置の構成例について説明するためのブロック図である。図2に示すように、端末装置1は、制御部11、ディスプレイ12、キーボード13、カードリーダライタ14、及び記憶部15などを有している。
【0019】
制御部11は、CPU、ROM、及びRAMなどを備える。制御部11は、端末装置1全体の動作を制御する。
ディスプレイ12は、制御部11の制御により種々の情報を表示する。キーボード13は、端末装置1の操作者による操作を操作信号として受け取る。
【0020】
カードリーダライタ14は、ICカード2と通信を行うためのインターフェース装置である。カードリーダライタ14は、ICカード2に対して、電源供給、クロック供給、リセット制御、及びデータの送受信を行う。即ち、カードリーダライタ14は、送受信部として機能する。
【0021】
制御部11は、カードリーダライタ14によりICカード2に対して種々のコマンドを入力する。ICカード2は、例えば、カードリーダライタ14からデータの書き込みコマンドを受信した場合、受信したデータを内部の不揮発性メモリに書き込む処理を行う。
【0022】
また、制御部11は、ICカード2に読み取りコマンドを送信することにより、ICカード2からデータを読み出す。制御部11は、ICカード2から受信したデータに基づいて種々の処理を行う。
【0023】
上記のカードリーダライタ14は、無線通信によりICカード2とデータの送受信を行う。この為に、カードリーダライタ14は、図示しない信号処理部、送受信回路、及びアンテナなどを備えている。
【0024】
信号処理部は、ICカード2との間で送受信するデータの符号化、復号、変調、及び復調を行なう。なお、信号処理部は、通信プロトコルTypeBの規格に基づいて上記の信号処理を行う。即ち、信号処理部は、送受信を行うデータに対して、Amplitude Shift Keying(ASK)10%変調方式による変調処理、及びNon Return to Zero(NRZ)による符号化処理を行う。送受信回路は、信号処理部により変調されたデータ、及び、アンテナにより受信したデータを増幅する。
【0025】
アンテナは、送信するデータに応じて磁界を発生させることにより、ICカード2に対してデータを送信する。また、アンテナは、電磁誘導により発生した誘導電流に基づいてICカード2から送信されるデータを認識する。
【0026】
なお、通信プロトコルTypeBなどの近接型非接触ICカードは、通信可能な距離が10cm程度である。カードリーダライタ14は、この通信可能距離(通信可能範囲)内に存在するICカード2を検知し、処理を行う。
【0027】
制御部11は、カードリーダライタ14によりICカード2に初期設定コマンドを送信することにより、ICカード2との通信に関する設定を行う。即ち、制御部11は、初期設定処理部として機能する。初期設定コマンドは、例えば、起動コマンド及び選択コマンドなどである。ICカード2の検知を行なう為に、カードリーダライタ14は、上記の通信プロトコルTypeBの規定に準じた起動コマンド(例えば、リクエストコマンドREQB、ウェークアップコマンドWUPBなど)を繰り返し通信可能範囲に送信する。
【0028】
ICカード2が存在する場合、ICカード2からの起動コマンドに対する返答がカードリーダライタ14に返る。これにより、カードリーダライタ14は、ICカード2を検知する。ここで、カードリーダライタ14は、所望のICカード2を選択するための選択コマンド(ATTRIB)を送信する。これにより、カードリーダライタ14とICカード2との間で通信を行う事ができる。
【0029】
また端末装置1は、ICカード2に相互認証コマンドを送信する。これにより、相互認証処理が行われる。相互認証コマンドは、第1の認証コマンドと第2の認証コマンドとを含む。第1の認証コマンド及び第2の認証コマンドについては後述する。
【0030】
図3は、図1に示すICカード2の構成例について説明するためのブロック図である。
【0031】
図3に示すように、ICカード2は、カード状の本体21と、本体21内に内蔵されたICモジュール22とを備えている。ICモジュール22は、1つ又は複数のICチップ23と、通信部24とを備える。ICチップ23と通信部24とは、互いに接続された状態でICモジュール22に形成されている。
【0032】
ICチップ23は、通信部24、CPU25、ROM26、RAM27、不揮発性メモリ28、及び電源部29などを備えている。
【0033】
通信部24は、端末装置1のカードリーダライタ14と非接触通信を行うためのインターフェースである。通信部24は、送受信部として機能する。
また、通信部24は、例えば、端末装置1のカードリーダライタ14と非接触通信を行うアンテナを備える。またさらに、通信部24は、送受信データの増幅を行う送受信回路、通信プロトコルTypeBに対応する信号処理部を備える。即ち、信号処理部は、送受信するデータに対してASK10%変調及びNRZによる符号化を行う。
【0034】
CPU25は、ICカード2全体の制御を司る制御部として機能する。CPU25は、ROM26あるいは不揮発性メモリ28に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、カードリーダライタ14から受信したコマンドに応じて種々の処理を行い、処理結果としてのレスポンスなどのデータの生成を行なう。
【0035】
ROM26は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ROM26は、製造段階で制御プログラム及び制御データなどを記憶した状態でICカード2内に組み込まれる。即ち、ROM26に記憶される制御プログラム及び制御データは、予めICカード2の仕様に応じて組み込まれる。
【0036】
RAM27は、ワーキングメモリとして機能する揮発性のメモリである。RAM27は、CPU25の処理中のデータなどを一時的に格納する。例えば、RAM27は、通信部24を介して端末装置1から受信したデータを一時的に格納する。また、RAM27は、CPU25が実行するプログラムを一時的に格納する。
【0037】
不揮発性メモリ28は、例えば、EEPROMあるいはフラッシュROMなどのデータの書き込み及び書換えが可能な不揮発性のメモリにより構成される。不揮発性メモリ28は、ICカード2の運用用途に応じて制御プログラム及び種々のデータを格納する。
【0038】
たとえば、不揮発性メモリ28では、プログラムファイル及びデータファイルなどが創成される。創成された各ファイルには、制御プログラム及び種々のデータなどが書き込まれる。CPU25は、不揮発性メモリ28、または、ROM26に記憶されているプログラムを実行することにより、種々の処理を実現することができる。
【0039】
電源部29は、カードリーダライタ14から電波を受信し、起電力及び動作クロックを発生させる。電源部29は、発生させた電力及び動作クロックをICカード2の各部に電力を供給する。ICカード2の各部は、電力の供給を受けた場合、動作可能な状態になる。
【0040】
図4は、図1に示すICカード処理システム10の各構成において行われる認証処理について説明するためのシーケンスである。
端末装置1は、常に通信可能範囲にリクエストコマンド(REQB)またはウェークアップコマンド(WUPB)を送信する(ステップS11)。REQB、及びWUPBなどの起動コマンドには、TypeBのREQBで使用されるパラメータ(APf)、用途分野識別子(AFI)、属性情報のパラメータ(PARAM)、及び巡回冗長検査符号(CRC_B)などが含まれる。
【0041】
ICカード2は、カードリーダライタ14から磁界を受け、起電力を発生させると、ICカード2は、REQB、またはWUPBの受信を待つ状態となる。この状態において、REQBまたはWUPBを受信すると、ICカード2のCPU25は、通信に関する設定である初期設定を行う。即ち、CPU25は、初期設定処理部として機能する。
【0042】
初期設定を行うと、CPU25は、REQBに応じてリクエスト応答信号(ATQB)を作成する。ATQBには、例えば、TypeBのATQBで使用されるパラメータ(APa)、カード識別情報(例えば、PUPIまたはCIDなどのカード固有のID番号)、アプリケーションの情報を伝えるための応用データ、プロトコル情報、及びCRC_Bなどが含まれる。ICカード2の通信部24は、ATQBに対してTypeBに準ずる信号処理を施し、カードリーダライタ14に対して送信する(ステップS12)。
【0043】
カードリーダライタ14は、ICカード2から送信されるATQBを受信することにより、通信可能範囲にICカード2が存在することを検知する。なお、通信可能範囲内にICカード2が複数枚存在する場合、カードリーダライタ14は、Slot−Markerコマンドを用いることにより、複数枚のICカード2からATQBを受信することができる。
【0044】
ATQBを受信すると、端末装置1は、選択コマンド(ATTRIB)を生成する。
【0045】
図5は、本実施形態に係る端末装置1から送信されるATTRIBの構成について説明するための説明図である。ATTRIBには、例えば、TypeBのATTRIBで使用されるパラメータ(1D)、識別子(Identifier)、パラメータ(PARAM1−4)、上位階層情報(Higher Layer Infomation)、及びCRC_Bなどが含まれる。
【0046】
通常、上位階層情報は、オプションとして用いられるフィールドであり、任意のデータを付加することができる。本実施形態では、上位階層情報として第1の認証コマンドを付加する。
【0047】
この為に、端末装置1の制御部11は、ICカード2からATQBを受信すると、乱数Rrを生成する。本実施形態では、乱数Rrを認証データとして用いる。即ち、制御部11は、生成した乱数Rrに対して鍵セットAを用いて暗号化を施す。これにより、制御部11は、暗号化データRrAを取得する。制御部11は、暗号化データRrAに基づいて第1の認証コマンドを生成する。
【0048】
図5に示すように、第1の認証コマンドは、クラスバイト(CLA)、コマンド種別(INS)、パラメータ(P1、P2)、データフィールドの長さ(Lc)、データフィールド(DATA)、及び予想されるレスポンスのデータ長(Le)などを含む。例えば、相互認証がTriple−DES方式により行われる場合、第1の認証コマンドは、8bytesのデータにより構成される。また、他に、AES、またはRSAなどの暗号方式により相互認証を行う場合であっても、上位階層フィールドに格納する第1の認証コマンドを暗号方式に適合させることにより、実現が可能である。
【0049】
制御部11は、生成した第1の認証コマンドをATTRIBの上位階層情報に格納する。即ち、制御部11は、認証コマンド処理部として機能する。制御部11は、カードリーダライタ14により、当該ATTRIBをICカード2に送信する(ステップS13)。
【0050】
CPU25は、ATTRIBを受信すると、ATTRIBの上位階層情報に認証コマンドが格納されているか否か判定を行う。この場合、CPU25は、判定部として機能する。認証コマンドが格納されていない場合、ICカード2は、通常と同様に相互認証を行う。
【0051】
ATTRIBの上位階層情報に認証コマンドが格納されている場合、CPU25は、は、第1の認証処理を行う。この場合、CPU25は、認証処理部として機能する。CPU25は、第1の認証コマンドに含まれている暗号化データに対して復号処理を行う。同時に、ICカード2は、ATTRIBに対するレスポンスであるAnswer to ATTRIB(ATA)を生成する。
【0052】
図6は、本実施形態に係るICカード2から送信されるATAの構成について説明するための説明図である。ATAには、例えば、内部バッファの限界値(MBLI)、識別子(CID)、上位階層レスポンス(Higher Layer Response)、及びCRC_Bなどが含まれる。
【0053】
通常、ICカード2は、上位階層情報が付与されたATTRIBを受信した場合、上位階層レスポンスを付与したATAを端末装置1に送信する。本実施形態では、上位階層レスポンスとして第1の認証コマンドに対するレスポンス(第1の認証コマンドレスポンス)を付加する。
【0054】
この為に、ICカード2のCPU25は、端末装置1からATTRIBを受信すると、第1の認証コマンドに含まれている暗号化データRrAに対して鍵セットAを用いて復号処理を行う。これにより、CPU25は、復号化データRrAを取得する。さらに、CPU25は、復合化データRrAに対して鍵セットBを用いて暗号化を施す。これにより、CPU25は、暗号化データRrBを取得する。
【0055】
また、CPU25は、乱数Rcを生成する。CPU25は、乱数Rcに対して鍵セットAを用いて暗号化を施す。これにより、CPU25は、暗号化データRcAを取得する。CPU25は、暗号化データRrBと、暗号化データRcAとに基づいて第1の認証コマンドレスポンスを生成する。
【0056】
図6に示すように、第1の認証コマンドレスポンスは、データフィールド(DATA)、ステータスワード(SW1、SW2)などを含む。
【0057】
CPU25は、生成した第1の認証コマンドレスポンスをATAの上位階層レスポンスに格納する。この場合、CPU25は、レスポンス処理部として機能する。CPU25は、通信部24により、当該ATAを端末装置1に送信する(ステップS14)。
【0058】
端末装置1は、ATAを受信すると、ATAに格納されている第1の認証コマンドレスポンスを取得する。端末装置1の制御部11は、第1の認証コマンドレスポンスに基づいて処理を行い、第2の認証コマンドをICカード2に送信する(ステップS15)。
【0059】
即ち、制御部11は、ICカード2からATAを受信すると、第1の認証コマンドレスポンスに含まれている暗号化データRrBに対して鍵セットBを用いて復号する。これにより、制御部11は、復号化データRrBを取得する。制御部11は、復号化データRrBと元の乱数Rrとが一致するか否か判定する。復号化データRrBと元の乱数Rrとが一致する場合、制御部11は、ICカード2が正当であると判定する。
【0060】
また、制御部11は、第1の認証コマンドレスポンスに含まれている暗号化データRcAに対して鍵セットAを用いて復号処理を行う。これにより、制御部11は、復号化データRcAを取得する。制御部11は、復号化データRcAに対して鍵セットBを用いて暗号化を施す。これにより、制御部11は、暗号化データRcBを取得する。制御部11は、取得した復号化データRcBに基づいて第2の認証コマンドを生成する。第2の認証コマンドは、従来と同様の構成であり、CLA、INS、P1、P2、Lc、DATA、及びLeなどを含む情報である。
【0061】
ICカード2は、第2の認証コマンドを受信すると、認証処理を行い、第2の認証コマンドレスポンスを端末装置1に送信する(ステップS16)。
【0062】
即ち、ICカード2のCPU25は、受信した第2の認証コマンドに含まれている暗号化データRcBに対して鍵セットBを用いて復号処理を施す。これにより、CPU25は、復号化データRcBを取得する。CPU25は、復号化データRcBと元の乱数Rcとが一致するか否か判定する。復号化データRcBと元の乱数Rcとが一致する場合、CPU25は、端末装置1が正当であると判定する。この結果に基づいて、CPU25は、第2の認証コマンドレスポンスを生成する。第2の認証コマンドレスポンスは、従来と同様の構成であり、DATA、SW1、及びSW2などを含む情報である。
【0063】
上記の処理により、互いに通信対象が正当であると判断した場合、種々の処理を行う事ができる。即ち、端末装置1が処理コマンドをICカード2に送信する(ステップS17)。ICカード2は、受信した処理コマンドに応じて処理を行い、処理結果をレスポンスとして端末装置に送信する(ステップS18)。
【0064】
上記した実施形態によると、相互認証処理を行う為の第1の認証コマンドを、ATTRIBの上位階層情報に組み付けて送信することにより、コマンド及びレスポンスの送受信の回数を減らす事ができる。この結果、より高速に処理を行う事ができる携帯可能電子装置の処理装置、携帯可能電子装置、及び携帯可能電子装置の処理システムを提供することができる。
【0065】
なお、上記した実施形態では、認証処理の為の認証データとして乱数Rr及びRcを生成して用いる構成として説明したが、この構成に限定されない。例えば、ATQBに含まれているPUPI、またはCIDなどを認証データとして用いてもよい。この場合、ICカード2は、認証データを復号した際に自身の保有する識別情報と復号化データとで照合することにより、端末装置1におけるICカードの誤認識を検知することができる。
【0066】
上記した実施形態では、第1の認証コマンドをATTRIBの上位階層フィールドに格納する構成として説明した。しかし、例えば、REQBに第1の認証コマンドを付加し、ATTRIBに第2の認証コマンドを付加する場合、さらに高速に処理を行う構成を実現することができる。
【0067】
図7は、本発明の他の実施形態に係るICカード処理システムにおいて行われる認証処理について説明するためのシーケンスである。
本実施形態では、上記した実施形態に比べ、起動コマンドに第1の認証コマンドを付加し、選択コマンドに第2の認証コマンドを付加した点が異なる。
【0068】
本実施携帯に係る端末装置1は、常に通信可能範囲に起動コマンド(REQB、またはWUPB)を送信する。REQB、及びWUPBなどの起動コマンドには、パラメータ、AFI、PARAM、CRC_B、及び第1の認証コマンドなどが含まれる。第1の認証コマンドは、CLA、INS、P1、P2、Lc、DATA、及びLeなどを含む。
【0069】
端末装置1の制御部11は、乱数Rrを生成し、乱数Rrに対して鍵セットAを用いて暗号化を施す。これにより制御部11は、暗号化データRrAを取得する。制御部11は、暗号化データRrAに基づいて第1の認証コマンドを生成する。制御部11は、生成した第1の認証コマンドを起動コマンドに付加し、ICカード2に送信する(ステップS21)。
【0070】
ICカード2は、カードリーダライタ14から磁界を受け、起電力を発生させると、ICカード2は、REQB、またはWUPBの受信を待つ状態となる。この状態において、REQBまたはWUPBを受信すると、ICカード2のCPU25は、REQBに応じてリクエスト応答信号(ATQB)を作成する。ATQBには、例えば、パラメータ、識別子、アプリケーションの情報を伝えるための応用データ、プロトコル情報、CRC_B、及び第1の認証コマンドレスポンスなどが含まれる。
【0071】
即ち、ICカード2は、起動コマンドを受信すると、起動コマンドに第1の認証コマンドが付加されているか否か判断を行う。認証コマンドが格納されていない場合、ICカード2は、通常と同様に相互認証を行う。
【0072】
起動コマンドに第1の認証コマンドが付加されている場合、ICカード2は、第1の認証処理を行う。この為に、ICカード2のCPU25は、端末装置1から受信した起動コマンドに付加されている第1の認証コマンドを取得する。CPU25は、第1の認証コマンドに含まれている暗号化データRrAに対して鍵セットAを用いて復号処理を行う。これにより、CPU25は、復号化データRrAを取得する。さらに、CPU25は、復合化データRrAに対して鍵セットBを用いて暗号化を施す。これにより、CPU25は、暗号化データRrBを取得する。
【0073】
また、CPU25は、乱数Rcを生成する。CPU25は、乱数Rcに対して鍵セットAを用いて暗号化を施す。これにより、CPU25は、暗号化データRcAを取得する。CPU25は、暗号化データRrBと、暗号化データRcAとに基づいて第1の認証コマンドレスポンスを生成する。ICカード2は、第1の認証コマンドレスポンスをATQBに付加し、端末装置1に送信する(ステップS22)。
【0074】
ATQBを受信すると、端末装置1は、ATTRIBを生成する。同時に、端末装置1は、第1の認証コマンドレスポンスに含まれている暗号化データRrBに対して鍵セットBを用いて復号処理を行う。これにより、制御部11は、復号化データRrBを取得する。制御部11は、復号化データRrBと元の乱数Rrとが一致するか否か判定する。復号化データRrBと元の乱数Rrとが一致する場合、制御部11は、ICカード2が正当であると判定する。
【0075】
また、制御部11は、第1の認証コマンドレスポンスに含まれている暗号化データRcAに対して鍵セットAを用いて復号処理を行う。これにより、制御部11は、復号化データRcAを取得する。制御部11は、復号化データRcAに対して鍵セットBを用いて暗号化を施す。これにより、制御部11は、暗号化データRcBを取得する。制御部11は、取得した復号化データRcBに基づいて第2の認証コマンドを生成する。第2の認証コマンドは、CLA、INS、P1、P2、Lc、DATA、及びLeなどを含む情報である。
【0076】
制御部11は、生成した第2の認証コマンドをATTRIBの上位階層情報に格納する。制御部11は、カードリーダライタ14により、当該ATTRIBをICカード2に送信する(ステップS23)。
【0077】
ICカード2は、ATTRIBを受信すると、ICカード2は、ATTRIBに対するレスポンスであるAnswer to ATTRIB(ATA)を生成する。同時に、ICカード2は、ATTRIBの上位階層情報に格納されている第2の認証コマンドに基づいて第2の認証処理を行う。
【0078】
即ち、CPU25は、受信した第2の認証コマンドに含まれている暗号化データRcBに対して鍵セットBを用いて復号処理を施す。これにより、CPU25は、復号化データRcBを取得する。CPU25は、復号化データRcBと元の乱数Rcとが一致するか否か判定する。復号化データRcBと元の乱数Rcとが一致する場合、CPU25は、端末装置1が正当であると判定する。この結果に基づいて、CPU25は、第2の認証コマンドレスポンスを生成する。
【0079】
CPU25は、生成した第2の認証コマンドレスポンスをATAの上位階層レスポンスに格納する。CPU25は、通信部24により、当該ATAを端末装置1に送信する(ステップS24)。
【0080】
上記の処理により、互いに通信対象が正当であると判断した場合、種々の処理を行う事ができる。即ち、端末装置1が処理コマンドをICカード2に送信する(ステップS25)。ICカード2は、受信した処理コマンドに応じて処理を行い、処理結果をレスポンスとして端末装置に送信する(ステップS26)。
【0081】
上記した実施形態によると、相互認証処理を行う為の第1の認証コマンドを起動コマンドに付加し、第2の認証コマンドをATTRIBの上位階層情報に組み付けて送信することにより、コマンド及びレスポンスの送受信の回数を減らす事ができる。この結果、さらに高速に処理を行う事ができる携帯可能電子装置の処理装置、携帯可能電子装置、及び携帯可能電子装置の処理システムを提供することができる。
【0082】
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具現化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合わせてもよい。
【0083】
上記した実施形態では、TypeBの通信プロトコルを前提として説明したが、この構成に限定されない。認証コマンドを格納するだけの空き容量のあるコマンドを起動または選択コマンドとして用いる通信プロトコルであれば、如何なるものであっても本発明を適用することができる。
【符号の説明】
【0084】
1…端末装置、2…ICカード、10…ICカード処理システム、11…制御部、12…ディスプレイ、13…キーボード、14…カードリーダライタ、15…記憶部、21…本体、22…ICモジュール、23…ICチップ、24…通信部、25…CPU、26…ROM、27…RAM、28…不揮発性メモリ、29…電源部。

【特許請求の範囲】
【請求項1】
携帯可能電子装置と相互認証を行う端末装置であって、
前記携帯可能電子装置とデータの送受信を行う送受信部と、
前記送受信部により前記携帯可能電子装置に初期設定コマンドを送信する初期設定処理部と、
前記初期設定処理部により送信する初期設定コマンドに相互認証コマンドのすくなくとも一部を格納する認証コマンド処理部と、
を具備することを特徴とする携帯可能電子装置の処理装置。
【請求項2】
前記相互認証コマンドは、第1の認証コマンドと第2の認証コマンドとを備え、
前記初期設定コマンドは、起動コマンドと選択コマンドとを備え、
前記認証コマンド処理部は、前記第1の認証コマンドを前記選択コマンド内に格納することを特徴とする請求項1に記載の携帯可能電子装置の処理装置。
【請求項3】
前記認証コマンド処理部は、前記起動コマンドに対する前記携帯可能電子装置からのレスポンスに含まれるカード識別情報を認証データとして前記第1の認証コマンドを生成することを特徴とする請求項2に記載の携帯可能電子装置の処理装置。
【請求項4】
前記相互認証コマンドは、第1の認証コマンドと第2の認証コマンドとを備え、
前記初期設定コマンドは、起動コマンドと選択コマンドとを備え、
前記認証コマンド処理部は、前記第1の認証コマンドを前記起動コマンドに付加し、前記第2の認証コマンドを前記選択コマンド内に格納することを特徴とする請求項1に記載の携帯可能電子装置の処理装置。
【請求項5】
携帯可能電子装置の処理装置と相互認証を行う携帯可能電子装置であって、
前記処理装置とデータの送受信を行う送受信部と、
前記送受信部により受信する初期設定コマンドに基づいて初期設定処理を行い、レスポンスを前記処理装置に送信する初期設定処理部と、
前記初期設定コマンドに相互認証コマンドの少なくとも一部が格納されているか否か判定する判定部と、
前記判定部により初期設定コマンドに相互認証コマンドの少なくとも一部が格納されていると判定した場合、前記相互認証コマンドに基づいて認証処理を行う認証処理部と、
前記認証処理部の処理結果を前記初期設定コマンドに対するレスポンス内に格納するレスポンス処理部と、
を具備することを特徴とする携帯可能電子装置。
【請求項6】
カード識別情報を記憶する記憶部をさらに具備し、
前記認証処理部は、前記処理装置から受信する前記初期設定コマンドに格納されている前記相互認証コマンドにカード識別情報が格納されている場合、前記記憶部に記憶されているカード識別情報と前記相互認証コマンドに格納されているカード識別情報とが一致するか否かに基づいて前記処理装置における携帯可能電子装置の誤認識を検知することを特徴とする請求項5に記載の携帯可能電子装置。
【請求項7】
相互認証を行う携帯可能電子装置及び携帯可能電子装置の処理装置を備える携帯可能電子装置の処理システムであって、
前記処理装置は、
前記携帯可能電子装置とデータの送受信を行う第1の送受信部と、
前記第1の送受信部により前記携帯可能電子装置に初期設定コマンドを送信する第1の初期設定処理部と、
前記初期設定処理部により送信する初期設定コマンドに相互認証コマンドのすくなくとも一部を格納する認証コマンド処理部と、
を具備し、
前記携帯可能電子装置は、
前記処理装置とデータの送受信を行う第2の送受信部と、
前記第2の送受信部により受信する初期設定コマンドに基づいて初期設定処理を行い、レスポンスを前記処理装置に送信する初期設定処理部と、
前記初期設定コマンドに相互認証コマンドの少なくとも一部が格納されているか否か判定する判定部と、
前記判定部により初期設定コマンドに相互認証コマンドの少なくとも一部が格納されていると判定した場合、前記相互認証コマンドに基づいて認証処理を行う認証処理部と、
前記認証処理部の処理結果を前記初期設定コマンドに対するレスポンス内に格納するレスポンス処理部と、
を具備することを特徴とする携帯可能電子装置の処理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2010−225055(P2010−225055A)
【公開日】平成22年10月7日(2010.10.7)
【国際特許分類】
【出願番号】特願2009−73895(P2009−73895)
【出願日】平成21年3月25日(2009.3.25)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】