(57)【特許請求の範囲】
【請求項１】
ＩＣカードを発行するために前記ＩＣカードを認証するＩＣカード発行装置であって、
データを暗号化する第１の暗号化鍵とメッセージの認証子を生成する第１のメッセージ認証子生成鍵とを記憶する第１の記憶手段と、
前記第１の暗号化鍵と前記第１のメッセージ認証子生成鍵とを記憶した前記ＩＣカードから送信される第１の乱数を受信し、前記ＩＣカードに対して認証コマンドを送信し、前記ＩＣカードから認証レスポンスを受信する第１の通信手段と、
前記認証レスポンスに基づき前記ＩＣカードを認証する第１の処理手段と、
を備え、
前記第１の処理手段は、第２の乱数を生成し、前記第１の乱数と前記第２の乱数とを前記第１の暗号化鍵により暗号化して生成された第１の暗号化データと、前記第１の暗号化データに対して前記第１のメッセージ認証子生成鍵により生成された第１の認証子とを含む前記認証コマンドを生成し、
前記認証レスポンスは、前記第２の乱数と前記ＩＣカードにより生成された第３の乱数とを前記第１の暗号化鍵により暗号化して生成された第２の暗号化データと、前記第２の暗号化データに対して前記第１のメッセージ認証子生成鍵により生成された第２の認証子とを含むＩＣカード発行装置。
【請求項２】
前記第１の処理手段は、前記第２の乱数と前記第３の乱数に基づき第２の暗号化鍵及び第２のメッセージ認証子生成鍵を生成し、コマンドのフォーマットに含まれるデータを前記第２の暗号化鍵により暗号化して生成された第３の暗号化データと、前記第３の暗号化データに対して前記第２のメッセージ認証子生成鍵により生成した第３の認証子とを含む第１のコマンドを生成し、
前記第１の通信手段は、前記ＩＣカードに対して、前記第１のコマンドを送信する請求項１記載のＩＣカード発行装置。
【請求項３】
前記第１の通信手段は、前記第１のコマンドに対応する第１のレスポンスを受信し、
前記第１のレスポンスは、コマンドのフォーマットに含まれるデータを前記第２の暗号化鍵により暗号化して生成された第４の暗号化データと、前記第４の暗号化データに対して前記第２のメッセージ認証子生成鍵により生成された第４の認証子とを含む請求項２記載のＩＣカード発行装置。
【請求項４】
請求項１記載のＩＣカード発行装置からの前記認証コマンドを受信する第２の通信手段と、
前記認証コマンドに基づき前記ＩＣカード発行装置を認証する第２の処理手段と、
を備えたＩＣカード。
【請求項５】
前記第１の暗号化鍵と前記第１のメッセージ認証子生成鍵とを記憶する第２の記憶手段を備え、
前記第２の処理手段は、前記第３の乱数を生成し、前記認証レスポンスを生成し、
前記第２の通信手段は、前記認証レスポンスを送信する請求項４記載のＩＣカード。
【請求項６】
前記第２の通信手段は、前記認証コマンドを受信し、前記認証レスポンスを送信し、
前記第２の処理手段は、前記認証レスポンスを生成する請求項５記載のＩＣカード。
【請求項７】
ＩＣカードを発行するために前記ＩＣカードを認証するＩＣカード発行システムであって、
ＩＣカード製造装置と、
ＩＣカード発行装置と、
を備え、
前記カード製造装置は、前記カード発行装置に対して、データを暗号化する第１の暗号化鍵とメッセージの認証子を生成する第１のメッセージ認証子生成鍵とを送信し、前記ＩＣカードに対して前記第１の暗号化鍵と前記第１のメッセージ認証子生成鍵とを書き込み、
前記カード発行装置は、前記ＩＣカードから送信される第１の乱数を受信し、前記ＩＣカードに対して認証コマンドを送信し、前記ＩＣカードから認証レスポンスを受信し、前記認証レスポンスに基づき前記ＩＣカードを認証し、
前記認証コマンドは、前記第１の乱数と前記カード発行装置により生成された第２の乱数とを前記第１の暗号化鍵により暗号化して生成された第１の暗号化データと、前記第１の暗号化データに対して前記第１のメッセージ認証子生成鍵により生成した第１の認証子とを含み、
前記認証レスポンスは、前記第２の乱数と前記ＩＣカードにより生成された第３の乱数とを前記第１の暗号化鍵により暗号化して生成された第２の暗号化データと、前記第２の暗号化データに対して前記第１のメッセージ認証子生成鍵により生成した第２の認証子とを含むＩＣカード発行システム。
【請求項８】
前記ＩＣカードは、前記認証コマンドに基づき前記カード発行装置を認証し、発行可能となる請求項７記載のＩＣカード発行システム。
【請求項９】
請求項７又は８記載のＩＣカード発行システムにより発行されるＩＣカード。
【請求項１０】
ＩＣカードを発行するために前記ＩＣカードを認証するＩＣカード発行システムであって、
ＩＣカード製造装置と、
ＩＣカード発行装置と、
を備え、
前記カード製造装置は、第１のDH秘密鍵、第１のDH公開鍵を生成し、前記カード発行装置に対して前記第１のDH公開鍵を送信し、前記ＩＣカードに対して前記第１のDH秘密鍵を書き込み、
前記カード発行装置は、第２のDH秘密鍵、第２のDH公開鍵を生成し、前記第２のDH秘密鍵、前記第２のDH公開鍵、前記第１のDH公開鍵を設定し、前記ＩＣカードに対して前記第２のDH公開鍵を送信し、前記第２のDH秘密鍵と前記第１のDH公開鍵から、共有秘密情報を生成し、前記共有秘密情報から、暗号化鍵とメッセージ認証子生成鍵を生成し、
前記ＩＣカードは、前記第１のDH秘密鍵と前記第２のDH公開鍵から、前記共有秘密情報を生成し、前記共有秘密情報から、前記暗号化鍵と前記メッセージ認証子生成鍵を生成し、
前記カード発行装置と前記ＩＣカードは、コマンドのフォーマットに含まれるデータを前記暗号化鍵で暗号化して生成される暗号化データと、前記暗号化データに対して前記メッセージ認証子生成鍵により生成した認証子とを含むコマンド又はレスポンスを送受信し、ＩＣカードを発行するＩＣカード発行システム。
【請求項１１】
ＩＣカードを発行するために前記ＩＣカードを認証するＩＣカード発行システムであって、
ＩＣカード製造装置と、
ＩＣカード発行装置と、
を備え、
前記カード製造装置は、第１のECDH秘密鍵、第１のECDH公開鍵を生成し、前記カード発行装置に対して前記第１のECDH公開鍵を送信し、前記ＩＣカードに対して前記第１のECDH秘密鍵を書き込み、
前記カード発行装置は、第２のECDH秘密鍵、第２のECDH公開鍵を生成し、前記第２のECDH秘密鍵、前記第２のECDH公開鍵、前記第１のECDH公開鍵を設定し、前記ＩＣカードに対して前記第２のECDH公開鍵を送信し、前記第２のECDH秘密鍵と前記第１のECDH公開鍵から、共有秘密情報を生成し、前記共有秘密情報から、暗号化鍵とメッセージ認証子生成鍵を生成し、
前記ＩＣカードは、前記第１のECDH秘密鍵と前記第２のECDH公開鍵から、前記共有秘密情報を生成し、前記共有秘密情報から、前記暗号化鍵と前記メッセージ認証子生成鍵を生成し、
前記カード発行装置と前記ＩＣカードは、コマンドのフォーマットに含まれるデータを前記暗号化鍵で暗号化して生成される暗号化データと、前記暗号化データに対して前記メッセージ認証子生成鍵により生成した認証子とを含むコマンド又はレスポンスを送受信し、ＩＣカードを発行するＩＣカード発行システム。
【請求項１２】
請求項１０又は１１記載のＩＣカード発行システムにより発行されるＩＣカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ＩＣカード発行装置、ＩＣカード発行システム、及びＩＣカードに関する。
【背景技術】
【０００２】
近年、ＩＣカードの普及が目覚ましい。例えば、ＩＣカードは、携帯可能電子装置又は通信媒体と称され、クレジットカード、定期券、旅券、免許証、その他の商取引の決済に使われるだけでなく、社員証、会員証、保険証などのＩＤカードとしても様々な分野で使用されている。
【０００３】
ＩＣカードは、不揮発性のデータメモリ及びＣＰＵなどの制御素子を有するＩＣ（集積回路）チップを内蔵する。ＩＣカードは、ＩＣリーダライタ等のＩＣカード処理装置からコマンドを受信すると、そのコマンドに応じたコマンド処理を実行し、実行結果をＩＣカード処理装置へ返送し、次のコマンドの受信を待つ。ＩＣカードは、このようなコマンド処理の繰り返しに基づき、運用されている。
【０００４】
上記ＩＣカードは、例えば、次のようにして発行される。カード化およびカード発行を行うカード発行装置とＩＣモジュール製造（ＩＣカード製造）を行うカード製造装置の間で認証鍵を共有し、また、カード発行装置と前記カード製造装置により製造されたＩＣカードとの間で、相互認証が成功したら、前記ＩＣカードは発行可能となる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４５８６６９２号公報
【特許文献２】特許第３７４９６４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
例えば、上記相互認証には、共通鍵暗号が用いられ、相互認証において送受信されるコマンドは平文である。このため、カードに書き込みを行うメッセージが、通信系路上でモニタされてしまうことがある。
【０００７】
本発明の目的は、カード発行時のセキュリティを高めることができるＩＣカード発行装置、ＩＣカード発行システム、及びこのＩＣカード発行装置により発行されるＩＣカードを提供することである。
【課題を解決するための手段】
【０００８】
実施形態のＩＣカード発行装置は、ＩＣカードを発行するために前記ＩＣカードを認証し、第１の記憶手段と、第１の通信手段と、第１の処理手段とを備える。前記第１の記憶手段は、データを暗号化する第１の暗号化鍵とメッセージの認証子を生成する第１のメッセージ認証子生成鍵とを記憶する。前記第１の通信手段は、前記第１の暗号化鍵と前記第１のメッセージ認証子生成鍵とを記憶した前記ＩＣカードから送信される第１の乱数を受信し、前記ＩＣカードに対して認証コマンドを送信し、前記ＩＣカードから認証レスポンスを受信する。前記第１の処理手段は、前記認証レスポンスに基づき前記ＩＣカードを認証する。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係るＩＣカードシステム（別称、スマートカードシステム）の概略構成の一例を示すブロック図である。
【図２Ａ】実施形態に係るカードリーダ・ライタの概略構成の一例を示すブロック図である。
【図２Ｂ】実施形態に係るＩＣカードの概略構成の一例を示すブロック図である。
【図３】実施形態に係るＩＣカードの概略構成の一例を示すブロック図である。
【図４】実施形態に係るカード発行装置とＩＣカードとの間のメッセージ交換の一例を示す図である。
【図５Ａ】コマンドおよびコマンドレスポンスのデータフォーマットの一例を示す図である。
【図５Ｂ】図５Ａに示すコマンドのデータ部の一例を示す図である。
【図５Ｃ】図５Ａに示すコマンドレスポンスのデータ部の一例を示す図である。
【図６】カード発行装置が生成した乱数、および、ＩＣカードが生成した乱数から生成される暗号化鍵（セッション鍵）、および、メッセージ認証子生成鍵（セッション鍵）の一例を示す図である。
【図７Ａ】コマンドおよびコマンドレスポンスのデータフォーマットの一例を示す図である。
【図７Ｂ】図７Ａに示すコマンドのデータ部の一例を示す図である。
【図７Ｃ】図７Ａに示すコマンドレスポンスのデータ部の一例を示す図である。
【図８】カード製造装置とカード発行装置の間の鍵の交換の第１例を示す図である。
【図９】カード発行装置からＩＣカードへのコマンドの送信と共通鍵の生成の一例を示す図である。
【図１０Ａ】コマンドおよびコマンドレスポンスのデータフォーマットの一例を示す図である。
【図１０Ｂ】図１０Ａに示すコマンドのデータ部の一例を示す図である。
【図１０Ｃ】図１０Ａに示すコマンドレスポンスのデータ部の一例を示す図である。
【図１１】カード製造装置とカード発行装置との間の鍵の交換の第２例を示す図である。
【図１２】カード発行装置１とＩＣカードとの間のコマンド／レスポンスの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、実施形態について図面を参照して説明する。
【００１１】
図１は、実施形態に係るＩＣカード処理システム（別称、スマートカード処理システム）の概略構成の一例を示すブロック図である。図１に示すように、ＩＣカード処理システムは、カード発行装置１及びカード製造装置３により構成される。本実施形態では、ＩＣカード発行装置１が、カード製造装置３により製造されたＩＣカード２を発行するケースについて説明するが、例えば、ＩＣカード処理システムに対応する１台のＩＣカード処理装置がＩＣカードを製造し発行してもよい。カード発行装置１は、例えば、通信部を備えたコンピュータとカードリーダ・ライタ等により構成することができる。カード発行装置１は、例えば、カードリーダ・ライタ１０２、制御部（例えばＣＰＵ）１０３、キーボード１０４、ディスプレイ１０５、プリンタ１０６、通信部１０７、記憶部１０８を備えている。制御部１０３は、ＩＣカードの発行に関する各種動作を制御し、またＩＣカードの発行に関する各種情報を生成する。
【００１２】
カード発行装置１は、カードリーダ・ライタ１０２を介して、ＩＣカード２と通信可能に構成されており、カード発行装置１は、カードリーダ・ライタ１０２を介して、ＩＣカード２に対してコマンド及び鍵等のデータを送信したり、ＩＣカード２からのレスポンス及び乱数等のデータを受信したりする。
【００１３】
また、カード発行装置１は、通信部１０７を介して、カード製造装置３と通信可能に構成されており、カード発行装置１は、通信部１０７を介して、カード製造装置３に対してデータを送信したり、カード製造装置３からの鍵等のデータを受信したりする。記憶部１０８は、送信するデータ、受信したデータを記憶する。
【００１４】
カードリーダ・ライタ１０２は、ＩＣカード２と通信し、ＩＣカード２に対して各種データを送信したり、ＩＣカード２から送信される各種データを受信する。キーボード１０４は、制御部１０３に対して文字や数字等を入力する。ディスプレイ１０５は、ＩＣカード２との通信結果及び認証結果等を表示する。
【００１５】
カード製造装置３は、例えば、通信部を備えたコンピュータとＩＣモジュール処理装置等により構成することができる。例えば、カード製造装置３は、制御部３１、モジュール処理装置３２、通信部３３、記憶部３４を備える。制御部３１は、ＩＣモジュール２０（ＩＣカード２）の製造に関する各種動作を制御する。モジュール処理装置３２は、各種データを生成し、ＩＣモジュール２０に対して各種データを書き込む。又はモジュール処理装置３２は、ＩＣモジュール２０に対して書き込まれた各種データを読み込む。通信部３３は、カード発行装置１に対して各種データを送信したり、カード発行装置１からの各種データを受信したりする。記憶部３４は、送信するデータ、受信したデータを記憶する。
【００１６】
なお、ＩＣカード２は、接触式のカード、非接触式のカード（無線カード）、及び非接触式と接触式の両者をサポートするコンビ型のカードの何れであってもよい。
【００１７】
図２Ａは、カードリーダ・ライタ１０２の概略構成の一例を示すブロック図である。図２Ａに示すように、カードリーダ・ライタ１０２は、通信Ｉ／Ｆ１４２、制御部（例えばＣＰＵ）１４３、データメモリ（不揮発性メモリ）１４４、ＲＡＭ１４５、ＲＯＭ１４６を備えている。制御部１４３は、ＩＣカード２に対するデータを生成し、通信Ｉ／Ｆ１４２は、ＩＣカード２に対して生成したデータを送信する。また、通信Ｉ／Ｆ１４２は、ＩＣカード２から送信されるデータを受信し、制御部１４３は、受信したデータを解析し、受信したデータに基づく次の動作を制御する。
【００１８】
図２Ｂは、ＩＣカード２の概略構成の一例を示すブロック図である。図２Ｂに示すように、ＩＣカード２は、例えばプラスティックカード（基材）２ａにより構成され、ＩＣモジュール２０（１又は複数のＩＣチップ）を備え、ＩＣモジュール２０は、制御部（例えばＣＰＵ）２０１、データメモリ２０２、ワーキングメモリ２０３、プログラムメモリ２０４、通信部２０５を備えている。なお、携帯可能電子装置の一例として、上記したようなＩＣカード２について説明するが、これに限定されるものではない。例えば、携帯可能電子装置は、ＳＩＭ形状のＩＣカードであってもよい。
【００１９】
制御部２０１は、データメモリ２０２又はワーキングメモリ２０３に記憶されたデータを読み出したり、データメモリ２０２又はワーキングメモリ２０３に対してデータを書き込んだりする。さらに、制御部２０１は、通信部２０５を介して受信したコマンド（カード発行装置１から送信されたコマンド）を解釈し、前記受信したコマンドに応じたコマンド処理を実行し、通信部２０５を介してカード発行装置１に対してコマンド実行結果等の返信を指示したりする。
【００２０】
データメモリ２０２は、ＥＥＰＲＯＭ、ＦＲＡＭ（登録商標）、ＦＬＡＳＨ等の不揮発性メモリであり、各種データを記憶する。ワーキングメモリ２０３は、例えばＲＡＭであり、制御部２０１のコマンド処理の際に生じる処理データを一時的に保持する。プログラムメモリ２０４は、例えばマスクＲＯＭであり、ＩＣカード２（制御部２０１）のオペレーティングシステム及びアプリケーションプログラム等のプログラムコートを保持する。通信部２０５は、接触インタフェース(ISO/IEC7816)及び非接触インタフェース(ISO/IEC14443)のうちの少なくとも一方により構成される。例えば、通信部２０５は、プラスティックカードの表面に配置された端子及びプラスティックカード２ａの内部に埋設されたアンテナのうち少なくとも一方により構成される。
【００２１】
図３は、モジュール製造を行うカード製造装置３（製造者サイド）と、カード化およびカード発行を行うカード発行装置１（発行者サイド）との間で実施される鍵の交換の一例を示す図である。カード製造装置３は、暗号化鍵Aおよびメッセージ認証子生成鍵Aを生成する(ＳＴ３０３)。本実施形態では、カード製造装置３が鍵を生成する例を示しているが、カード発行装置１が鍵を生成してもよい。カード製造装置３は、カード発行装置１に対して、暗号化鍵Aおよびメッセージ認証子生成鍵Aを送付する(ＳＴ３０４)。カード製造装置３は、ＩＣカード２（ＩＣモジュール２０）に暗号化鍵Aおよびメッセージ認証子生成鍵Aを書き込む（ＳＴ３０５）。つまり、カード製造装置３のモジュール処理装置３２が、ＩＣカード２（ＩＣモジュール２０）に暗号化鍵Aおよびメッセージ認証子生成鍵Aを記録する。カード発行装置１は、暗号化鍵Aおよびメッセージ認証子生成鍵Aを設定する（ＳＴ３０６）。つまり、カード発行装置１の記憶部１０８が、暗号化鍵Aおよびメッセージ認証子生成鍵Aを記憶する。
【００２２】
図４は、カード発行装置１とＩＣカード２との間のメッセージ交換の一例を示す図である。カード製造装置３（モジュール処理装置３２）は、ＩＣカード２（ＩＣモジュール２０）に対してデータを書き込み、データが書き込まれたＩＣカード２が発行者サイドに出荷される。ここでは、便宜上、ＩＣカード２に対するデータの書き込みについて説明する。なお、図４以降では、認証処理に関係するコマンド／レスポンスを示すものとするが、これらのコマンド／レスポンスに対して、別のコマンド／レスポンスが挿入されてもよい。カード発行装置１は、図３で説明したように、あらかじめ、暗号化鍵Aおよびメッセージ認証子生成鍵Aを設定している状態となっている(ＳＴ４０３)。つまり、カード発行装置１の記憶部１０８は、暗号化鍵Aおよびメッセージ認証子生成鍵Aを記憶している。また、ＩＣカード２側は、あらかじめ、暗号化鍵Aおよびメッセージ認証子生成鍵Aが書き込まれた状態となっている(ＳＴ４０５)。カード発行装置１は、ＩＣカード２に対して、乱数要求コマンドを送信する(ＳＴ４０４)。ＩＣカード２は、カード発行装置１に対して、乱数Aをレスポンスする(ＳＴ４０６)。カード発行装置１の制御部１０３は、認証コマンドを生成し、通信部１０７は、ＩＣカード２に対して、認証コマンドを送信する(ＳＴ４０７)。ＩＣカード２の制御部２０１は、認証コマンドに基づき、カード発行装置１の認証処理を行う(ＳＴ４０９)。ＩＣカード２の制御部２０１は、認証処理の後、認証レスポンスを生成し、通信部２０５は、カード発行装置１に対して、認証レスポンスを応答する(ＳＴ４０８)。カード発行装置１の制御部２０１は、認証レスポンスに基づき、ＩＣカード２を認証する(ＳＴ４１０)。カード発行装置１の制御部２０１は、認証コマンド及び認証レスポンスで共有されたカード発行装置１の制御部１０３が生成した乱数AとＩＣカード２の制御部２０１が生成した乱数Aから、暗号化鍵Bおよびメッセージ認証子生成鍵Bを生成する（ＳＴ４１１）。同様に、ＩＣカード２の制御部２０１は、認証コマンド及び認証レスポンスで共有されたカード発行装置１の制御部１０３が生成した乱数AとＩＣカード２の制御部２０１が生成した乱数Aから、暗号化鍵Bおよびメッセージ認証子生成鍵Bを生成する（ＳＴ４１２）。その後、ＩＣカード発行装置１が、ＩＣカード２に対してＩＣカード発行情報等を書き込み、ＩＣカード２が発行される。
【００２３】
図５Ａは、認証コマンドおよび認証コマンドレスポンスのデータフォーマットの一例を示す図である。ISO/IEC 7814-3で規定されるＩＣカードのコマンドフォーマットは、ＣＬＡ５０１、ＩＮＳ５０２、Ｐ１ ５０３、Ｐ２ ５０４、Ｌｃ５０５、Ｄａｔａ５０６、Ｌｅ５０７を含む。
【００２４】
図５Ｂは、Ｄａｔａ５０６の一例を示す図である。Ｄａｔａ５０６は、乱数A（ＩＣカードが生成し送信した乱数A）、および、カード発行装置１が生成した乱数Aを暗号化鍵Aを用いて暗号化したものと、暗号化したデータに対して、メッセージ認証子生成鍵Aを用いて生成した認証子から構成されている。なお、ＩＣカードが生成し送信した乱数Aをカード発行装置１が生成した乱数Aとすることができる。
【００２５】
図５Ｃは、上記認証コマンドに対するコマンドレスポンス（ＳＴ４０８の認証レスポンス）の内部の一例を示す図である。コマンドレスポンスは、カード発行装置１が生成した乱数A、および、ＩＣカードが生成した乱数Aを暗号化鍵Aを用いて暗号化したものと、暗号化したデータに対して、メッセージ認証子生成鍵Aを用いて生成した認証子から構成されている。
【００２６】
図６は、カード発行装置１が生成した乱数A、および、ＩＣカード２が生成した乱数Aから生成される暗号化鍵B（セッション鍵）、および、メッセージ認証子生成鍵（セッション鍵）の一例を示す図である。暗号化鍵B（セッション鍵）、および、メッセージ認証子生成鍵（セッション鍵）は、EX-OR、SHA-1などの方法により生成される。
【００２７】
図７Ａは、暗号化鍵B（セッション鍵）、および、メッセージ認証子生成鍵B（セッション鍵）を共有した後のコマンドメッセージの一例を示す図である。ISO/IEC 7814-3で規定されるＩＣカードのコマンドフォーマットは、ＣＬＡ７０１、ＩＮＳ７０２、Ｐ１ ７０３、Ｐ２ ７０４、Ｌｃ７０５、Ｄａｔａ７０６、Ｌｅ７０７を含む。
【００２８】
図７Ｂは、Ｄａｔａ７０６の一例を示す図である。Ｄａｔａ７０６は、データを暗号化鍵Bを用いて暗号化したものと、暗号化したデータに対して、メッセージ認証子生成鍵Bを用いて生成した認証子から構成されている。
【００２９】
図７Ｃは、上記コマンドに対するコマンドレスポンスの内部の一例を示す図である。コマンドレスポンスは、データを暗号化鍵Bを用いて暗号化したものと、暗号化したデータに対して、メッセージ認証子生成鍵Bを用いて生成した認証子から構成されている。
【００３０】
図８は、カード製造装置３とカード発行装置１の間の鍵の交換の第１例を示す図である。ここでは、一例として、DH（Diffie-Hellman）を暗号アルゴリズムとして示しているが、ECDH（Elliptic Curve Diffie-Hellman）でもよい。カード製造装置３は、DH秘密鍵A、DH公開鍵Aを生成する（ＳＴ８０３）。カード発行装置１は、DH秘密鍵B、DH公開鍵Bを生成する（ＳＴ８０４）。カード製造装置３は、カード発行装置１に対して、DH公開鍵Aを送付する（ＳＴ８０５）。カード製造装置３は、ＩＣカード２にDH秘密鍵Aを書き込む（ＳＴ８０６）。また、カード発行装置１は、DH秘密鍵B、DH公開鍵B、DH公開鍵Aを設定する（ＳＴ８０７）。
【００３１】
図９は、カード発行装置１から、ＩＣカード２へのコマンドの送信と共通鍵の生成の一例を示す図である。カード発行装置１は、ＩＣカード２に対して、DH公開鍵Bを送付する（ＳＴ９０３）。カード発行装置１は、DH秘密鍵BおよびDH公開鍵Aから、共有秘密情報を生成し（ＳＴ９０７）、その共有秘密情報から、暗号化鍵C（セッション鍵）およびメッセージ認証子生成鍵C（セッション鍵）を生成し記憶する（ＳＴ９０９、ＳＴ９１１）。
【００３２】
ＩＣカード２は、カード内に書き込まれているDH秘密鍵Aおよび、カード発行装置１から受け取ったDH公開鍵Bから、共有秘密情報を生成し（ＳＴ９０８）、その共有秘密情報から、暗号化鍵C（セッション鍵）およびメッセージ認証子生成鍵C（セッション鍵）を生成し記憶する（ＳＴ９１０、ＳＴ９１２）。その後、ＩＣカード発行装置１が、ＩＣカード２に対してＩＣカード発行情報等を書き込み、ＩＣカード２が発行される。
【００３３】
図１０Ａは、暗号化鍵C（セッション鍵）、およびメッセージ認証子生成鍵C（セッション鍵）を共有した後のコマンドメッセージの一例を示す。ISO/IEC 7814-3で規定されるＩＣカードのコマンドフォーマットは、ＣＬＡ１００１、ＩＮＳ１００２、Ｐ１ １００３、Ｐ２ １００４、Ｌｃ１００５、Ｄａｔａ１００６、Ｌｅ１００７を含む。
【００３４】
図１０Ｂは、Ｄａｔａ１００６の一例を示す図である。Ｄａｔａ１００６は、データを暗号化鍵Cを用いて暗号化したものと、暗号化したデータに対して、メッセージ認証子生成鍵Cを用いて生成した認証子から構成されている。
【００３５】
図１０Ｃは、上記コマンドに対するコマンドレスポンスの内部の一例を示す図である。コマンドレスポンスは、データを暗号化鍵Cを用いて暗号化したものと、暗号化したデータに対して、メッセージ認証子生成鍵Cを用いて生成した認証子から構成されている。
【００３６】
図１１は、カード製造装置３とカード発行装置１との間の鍵の交換の第２例を示す図である。ここでは、一例として、RSAを暗号アルゴリズムとして示しているが、ECDSAでもよい。カード製造装置３は、RSA秘密鍵A、RSA公開鍵A、RSA秘密鍵B、RSA公開鍵Bを生成する（ＳＴ１１０３）。カード発行装置１は、RSA秘密鍵C、RSA公開鍵Cを生成する（ＳＴ１１０４）。カード製造装置３は、RSA公開鍵BをRSA秘密鍵Aで署名した公開鍵証明書Aを生成する（ＳＴ１１０５）。カード製造装置３は、カード発行装置１に対して、公開鍵証明書Aを送付する（ＳＴ１１０６）。カード発行装置１は、カード製造装置３に対して、RSA公開鍵Cを送付する（ＳＴ１１０７）。カード製造装置３は、RSA公開鍵CをRSA秘密鍵Bで署名した公開鍵証明書Bを生成する（ＳＴ１１０８）。カード製造装置３は、カード発行装置１に対して、公開鍵証明書Bを送付する（ＳＴ１１０９）。カード製造装置３は、ＩＣカード２にRSA公開鍵Aを書き込む（ＳＴ１１１０）。カード発行装置１は、カード発行装置１に、公開鍵証明書A、公開鍵証明書B、RSA秘密鍵Cを設定する（ＳＴ１１１１）。
【００３７】
なお、上記説明では、カード発行装置１が、RSA秘密鍵C、RSA公開鍵Cを生成するケース（ＳＴ１１０４）について説明したが、カード製造装置３が、RSA秘密鍵C、RSA公開鍵Cを生成してもよい。この場合、図１１に示すカード発行装置１のＳＴ１１０４の処理は、カード製造装置３に移行し、図１１に示すＳＴ１１０７の処理は不要となり、替りに、ＳＴ１１０９の後続で、カード製造装置３が、カード発行装置１に対して、RSA公開鍵Cを送付する。
【００３８】
図１２は、カード発行装置１とＩＣカードとの間のコマンド／レスポンスの一例を示す図である。カード発行装置１は、ＩＣカード２に対して、公開鍵証明書Aを送信する（ＳＴ１２０３）。ＩＣカード２は、ＩＣカード内に書き込まれているRSA公開鍵Aを用いて、公開鍵証明書Aの検証を行う（ＳＴ１２０４）。検証処理がOKであった場合、ＩＣカード２は、公開鍵証明書Aから、RSA公開鍵Bを取得する（ＳＴ１２０５）。次に、カード発行装置１は、ＩＣカード２に対して、公開鍵証明書Bを送信する（ＳＴ１２０６）。ＩＣカード２は、RSA公開鍵Bを用いて、公開鍵証明書Bの検証を行う（ＳＴ１２０７）。検証処理がOKであった場合、ＩＣカード２は、RSA公開鍵Cを取得する（ＳＴ１２０８）。カード発行装置１は、乱数生成要求を行い（ＳＴ１２０９）、ＩＣカード２は、乱数Bを応答する（ＳＴ１２１０）。カード発行装置１は、RSA秘密鍵Cを用いて、乱数Bに対する署名を生成する（ＳＴ１２１１）。カード発行装置１は、ＩＣカードに対して、署名を送信する（ＳＴ１２１２）。ＩＣカードは、RSA公開鍵Cを用いて、署名の検証を行う（ＳＴ１２１３）。ＩＣカードは、カード発行装置１に対して、OK/NGを応答する（ＳＴ１２１４）。カード発行装置１は、ＩＣカードに対して、発行用の鍵を削除するコマンドを送信する（ＳＴ１２１５）。発行用の鍵が削除されると、カード発行装置１は、新しく鍵を設定することが可能な状態となる。その後、ＩＣカード発行装置１が、ＩＣカード２に対してＩＣカード発行情報等を書き込み、ＩＣカード２が発行される。
【００３９】
ここで、上記説明したＩＣカードの発行についてまとめる。
【００４０】
（１）ＩＣカード２の発行において、カード化およびカード発行を行うカード発行装置１とモジュール製造（ＩＣカード製造）を行うカード製造装置３の間で、データを暗号化する暗号化鍵とメッセージの認証子生成を行うメッセージ認証子生成鍵を共有し、暗号化鍵による暗号対象データとして、カードと端末の相互を認証するために認証データと、セッション鍵を生成するためのセッション鍵生成データを含むことにより、発行時のセキュリティを向上することができる。
【００４１】
（１−１）上記において、相互認証が成功した場合に、ＩＣカード２は、発行を可能とする。
【００４２】
（１−２）上記において、セッション鍵生成データは、カード発行装置１とＩＣカード２の両者が、乱数を生成することにより作り出され、カード発行装置１とＩＣカード２の間で交換したセッション鍵生成データにより、新たに、データを暗号化する暗号化鍵、および、メッセージ認証子生成鍵を生成し、以後のメッセージ交換においては、この暗号化鍵で、データを暗号化し、さらに、メッセージ認証子生成鍵でメッセージ認証を行う。
【００４３】
（２）ＩＣカードの発行において、カード化およびカード発行を行うカード発行装置１に対して、モジュール製造（ＩＣカード製造）を行うカード製造装置３から、DHあるいはECDHのような鍵共有を行う公開鍵暗号の製造者公開鍵を提供し、カード製造装置３が、上記公開鍵に対する製造者秘密鍵をＩＣモジュールに設定する。カード化およびカード発行を行うカード発行装置１が、ＩＣカード２との鍵共有を行うために、発行者公開鍵をＩＣカード２へのコマンドデータ部に設定し、ＩＣカード２に送信することで、ＩＣカード２とカード発行装置１との間で、共有秘密情報を生成し、その供給秘密情報から、セッション鍵として、データを暗号化する暗号化鍵、および、メッセージ認証子生成鍵を生成、共有し、以後のメッセージ交換においては、この暗号化鍵で、データを暗号化し、さらに、メッセージ認証子生成鍵でメッセージ認証を行う。
【００４４】
（３）ＩＣカード２の発行において、カード製造装置３は、公開鍵暗号の鍵として、公開鍵A、秘密鍵A、公開鍵B、秘密鍵Bのペアを生成し、公開鍵Bを秘密鍵Aで署名した公開鍵証明書Aを生成し、ＩＣカード２内に公開鍵Aを設定し、カード発行装置１側の発行者にカードを出荷し、カード発行装置１に対して、公開鍵証明書Aを提供する。
【００４５】
カード発行装置１は、公開鍵C、秘密鍵Cを生成し、公開鍵Cをカード製造装置３に送付する。カード製造装置３は、公開鍵Cに対して、秘密鍵Bで署名した公開鍵証明書Bを生成し、公開鍵証明書Bをカード発行装置１に送付する。カード発行装置１は、ＩＣカード２に対して、公開鍵証明書AをＩＣカード２へのコマンドデータ部に設定し、ＩＣカード２に送信すると、ＩＣカード２内部で、公開鍵Aを用いて、公開鍵証明書の検証を行い、公開鍵Bを取得する。
【００４６】
次に、カード発行装置１は、公開鍵証明書BをＩＣカード２へのコマンドデータ部に設定し、ＩＣカード２に送信すると、ＩＣカード２の内部で、公開鍵Bを用いて、公開鍵証明書の検証を行い、公開鍵Cを取得する。カード発行装置１は、ＩＣカード２に対して、秘密鍵Cから生成した認証データをＩＣカード２へのコマンドデータ部に設定し、ＩＣカード２に送信すると、ＩＣカード２の内部で、公開鍵Cを用いて、認証データの検証を行い、認証が成功した場合、発行が可能となるＩＣカードである。
【００４７】
（３−１）上記において、発行用の鍵は、カード内部の書き換え可能な不揮発性メモリに保管されており、認証が成功すると、発行用の鍵を削除して、新しく、カード発行装置１が、鍵を設定することが可能な状態となる。
【００４８】
（４）上記（１）、（１−１）により、ＩＣカード２は、発行のための認証処理を行う。
【００４９】
（５）上記（１）、（１−１）、（１−２）により、ＩＣカード２は、発行のための認証処理を行う。
【００５０】
（６）上記（１）、（１−１）、（１−２）、（２）、（３）、（３−１）を組み合わせて、一連の処理として、ＩＣカード２は、上記（１）、（１−１）、（１−２）、（２）、（３）、（３−１）の順序で発行のための認証処理を行う。
【００５１】
本実施形態では、ＩＣカード２の発行において、カード化およびカード発行を行うカード発行装置１とモジュール製造を行うカード製造装置３との間で、あらかじめ、データを暗号化する暗号化鍵とメッセージの認証子生成を行うメッセージ認証子生成鍵を共有し、暗号対象となるデータとして、ＩＣカード２とＩＣカード発行装置１の相互を認証するために認証データと、セッション鍵を生成するためのセッション鍵生成データを含むことにより、共通鍵暗号を用いて、メッセージの暗号化を行うことで、通信系路上のモニタに対して、発行時のセキュリティを向上することができる。さらに、公開鍵暗号方式を用いて、共通鍵暗号方式よりも、強度の高い発行時の認証方法を提供することができる。
【００５２】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００５３】
１…カード発行装置、２…ＩＣカード、３…カード製造装置
【図１】
0005885538.tif 000002
【図２Ａ】
0005885538.tif 000003
【図２Ｂ】
0005885538.tif 000004
【図３】
0005885538.tif 000005
【図４】
0005885538.tif 000006
【図５Ａ】
0005885538.tif 000007
【図５Ｂ】
0005885538.tif 000008
【図５Ｃ】
0005885538.tif 000009
【図６】
0005885538.tif 000010
【図７Ａ】
0005885538.tif 000011
【図７Ｂ】
0005885538.tif 000012
【図７Ｃ】
0005885538.tif 000013
【図８】
0005885538.tif 000014
【図９】
0005885538.tif 000015
【図１０Ａ】
0005885538.tif 000016
【図１０Ｂ】
0005885538.tif 000017
【図１０Ｃ】
0005885538.tif 000018
【図１１】
0005885538.tif 000019
【図１２】
0005885538.tif 000020