(57)【要約】【課題】セッション鍵が使用許容回数等の管理情報を持たないため、総当りによる攻撃を受けやすいという問題点を解決し、さらに機能の拡張性を向上させる。【解決手段】外部機器からのコマンドを処理する処理部２と、マスタ鍵３２を記憶した不揮発性メモリ３と、揮発性メモリ４とをＩＣカード１に備え、揮発性メモリ４に、セッション鍵４２の鍵識別子５１と使用許容回数５２を有する管理情報４１を格納するための領域を設けることにより、セッション鍵４２に対する攻撃を防止する。【選択図】  図１
2006059227.tif 000002
【特許請求の範囲】
【請求項１】
処理部と揮発性メモリとを有し、前記揮発性メモリに、一時的な鍵データとして使用されるセッション鍵を保持するための領域と、このセッション鍵の管理情報を保持するための領域とを備えたことを特徴とするＩＣカード。
【請求項２】
管理情報として、セッション鍵の使用回数を制限するための使用許容回数を有することを特徴とする請求項１記載のＩＣカード。
【請求項３】
管理情報として、セッション鍵の鍵識別子を有することを特徴とする請求項１または２記載のＩＣカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号処理においてセッション鍵を使用するＩＣカードに関する。
【背景技術】
【０００２】
近年、磁気カードに代わるハイセキュリティなデバイスとしてＩＣカードが実用化されつつある。ＩＣカードは磁気カードと異なり、ＣＰＵを内蔵しているため、高度なセキュリティ機能を持たせることができる。特に、カード内部で暗号処理を行うことができるという点は、ＩＣカードの大きな特徴のひとつである。
【０００３】
暗号処理に用いられる暗号鍵には２種類ある。そのひとつはＩＣカードの不揮発性メモリに格納され、固定的な鍵データとして使用される鍵（以下、固定鍵と称する）である。ＩＣカードおよび外部機器の認証には固定鍵が用いられる。もうひとつは揮発性メモリに格納され、一時的な鍵データとして使用される鍵（以下、セッション鍵と称する）である。セキュアメッセージングとよばれる暗号通信にはセッション鍵を用いることが多い。使用する度に暗号鍵を変えることにより、安全性が向上する。
【０００４】
固定鍵の場合、鍵データ本体とともに、その鍵の管理情報が不揮発性メモリに格納される。管理情報には、その鍵を識別するための鍵識別子や照合許容回数、鍵のステータス等が格納される。照合許容回数とは、その鍵がロックするまでに連続して何回間違った入力が許されるかを示す許容値であり、鍵のステータスとは、その鍵がロック状態にあるか否かを示す情報である。一方、セッション鍵の場合は、一時的に使用される鍵であるため管理情報を持たないものであった。
【特許文献１】特開２００４−４６７５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、このような従来の方法には次のような問題点がある。例えばセキュアメッセージングでは、ＩＣカードに送るコマンドにメッセージ認証コードを付加し、このメッセージ認証コードが正しいとＩＣカードが判断した場合に限り、そのコマンドの実行を許可する。このメッセージ認証コードの生成にセッション鍵が使用される。
【０００６】
ところが、セッション鍵が管理情報を持たないため、その鍵を無制限に使用することが可能となる。すなわち、正しいセッション鍵を知らない者でも、総当り的に異なるセッション鍵でメッセージ認証コードを生成して繰り返しＩＣカードに送りつけることにより、いずれ正しいセッション鍵に行き当たり、そのコマンドをＩＣカードに実行させるという不正が可能となってしまう。
【０００７】
本発明はこのような従来の問題点を解決するためのものであり、セッション鍵に対する攻撃を防止することを実現したＩＣカードを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するため、本発明のＩＣカードは、揮発性メモリがセッション鍵を保持するための領域と、このセッション鍵の管理情報を保持するための領域を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ＩＣカード内の揮発性メモリに保持するセッション鍵に管理情報を持たせ、セッション鍵の使用回数を制限することにより、鍵の総当りによる不正攻撃を防止することが可能となる。
【００１０】
また、管理情報として鍵識別子を持たせることにより、ＩＣカードへのコマンドで鍵識別子を指定することで複数のセッション鍵を使い分けることが可能となると同時に、不揮発性メモリ内の鍵を使用するコマンドにセッション鍵を適用することが可能となる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００１２】
図１は本発明の実施の形態におけるＩＣカードの構成図であり、ＩＣカード１は、物理的にはＣＰＵおよびＲＯＭからなる処理部２、不揮発性メモリ３および揮発性メモリ４とによって構成される。
【００１３】
まず、セッション鍵をＩＣカード１と外部機器（図示せず）間で共有する方法には様々な手段があるが、ここでは外部機器が生成したセッション鍵をＩＣカード１に送信する場合について説明する。
【００１４】
外部機器は、乱数生成器等を用いてセッション鍵を生成すると、マスタ鍵を用いて暗号化し、これをセッション鍵復号コマンドに乗せてＩＣカード１に送信する。ＩＣカード１のコマンド受信手段２１は、このセッション鍵復号コマンドを受信すると、そのコマンドコードからセッション鍵復号コマンドであることを認識し、セッション鍵復号手段２２に制御を移す。セッション鍵復号コマンドは復号するための鍵を識別する鍵識別子を含んでいる。セッション鍵復号手段２２は不揮発性メモリ３に記憶されている情報をサーチし、セッション鍵復号コマンドで指定された鍵識別子を管理情報に持つマスタ鍵３２を読み出し、このマスタ鍵３２を用いてセッション鍵を復号する。ここで用いられるマスタ鍵３２は予め外部機器とＩＣカード１間で共有しているものであり、外部機器が暗号化に使用したマスタ鍵と同じものである。
【００１５】
このようにして正しく復号されたセッション鍵は揮発性メモリ４の所定の領域に保持される。なお、図１において、揮発性メモリ４の所定の領域に保持されたセッション鍵を、特に、セッション鍵４２と記載する。
【００１６】
この時、不揮発性メモリ３には、このセッション鍵４２に対応した管理情報４１が生成される。管理情報４１は、図２に示すように、鍵識別子５１、使用許容回数５２および使用回数５３から構成されている。鍵識別子５１は、外部機器からのコマンドであり、このセッション鍵４２を特定するために使用される情報である。鍵識別子５１はセッション鍵復号手段２２が予め有している固定値とする方法もあれば、セッション鍵復号コマンドで与える方法をとっても良い。使用許容回数５２および使用回数５３はこのセッション鍵４２の使用回数を制限するための情報である。使用許容回数５２は、鍵識別子５１と同様に、セッション鍵復号手段２２が予め有している固定値とする方法もあれば、セッション鍵復号コマンドで与える方法をとっても良い。一方、使用回数５３には初期値として０が書き込まれる。
【００１７】
管理情報４１とセッション鍵４２が揮発性メモリ４に正しく書き込まれると、レスポンス送信手段２４は正常終了を知らせるレスポンスを外部機器に送信する。
【００１８】
次に、セキュアメッセージングの処理方法について説明する。
【００１９】
図３はセキュアメッセージングコマンドの構成を示す説明図であり、６０はセキュアメッセージングのコマンドを示す。コマンドコード６１は、コマンド６０が例えば不揮発性メモリ３への書込みコマンドである等、コマンド６０の機能を識別するためのコードである。また、コマンドコード６１の特定のビットを使用して、コマンド６０がセキュアメッセージングのコマンドであることを示す。コマンドデータ６２は例えば書き込むべきデータのアドレスや書込みデータである。メッセージ認証コード（以下、ＭＡＣと称する）６４はコマンドコード６１やコマンドデータ６２が外部機器とＩＣカード１間で改ざんされることを防ぐためのものであり、具体的には、例えば、コマンドコード６１からＭＡＣ６４の直前までのデータを暗号化し、更に８バイトのデータに圧縮したものである。この暗号化に使用される鍵が鍵識別子６３で示される。
【００２０】
ＩＣカード１のコマンド受信手段２１がこのセキュアメッセージングのコマンド６０を受信すると、このコマンド６０がセキュアメッセージングコマンドであることを認識し、セキュアメッセージング処理手段２３に制御を移す。セキュアメッセージング処理手段２３は揮発性メモリ４に記憶されている情報をサーチし、コマンド６０で指定された鍵識別子を管理情報４１に持つセッション鍵４２を特定する。そして管理情報４１の使用回数５３をカウントアップし、その結果と使用許容回数５２とを比較し、使用回数５３が使用許容回数５２に達した場合は不正なコマンドとみなし、レスポンス送信手段２４を介してその旨外部機器に知らせる。
【００２１】
これ以降は、たとえ正しいセッション鍵を使用して生成されたＭＡＣを有するセキュアメッセージングコマンドが送られてきたとしてもＩＣカード１は前述した処理を繰り返すこととなり、そのコマンドを受け付けない。このようにしてセッション鍵４２の使用回数を制限することにより、鍵の総当り攻撃による不正を防止することが可能となる。
【００２２】
一方、使用回数５３が使用許容回数５２に達していない場合は、セッション鍵４２を使用して、外部機器によるＭＡＣ生成方法と同じ演算処理を行って第２のＭＡＣを計算し、コマンド６０で送られてきたＭＡＣ６４とＩＣカード１自身が計算した第２のＭＡＣとが同じ値であれば、コマンド６０が改竄されていないものであると判断し、このコマンド６０の処理（例えば、不揮発性メモリ３への書込み）を行う。その後、そのセッションが終了すれば、ＩＣカード１は外部機器から排出され、揮発性メモリ４の管理情報４１およびセッション鍵４２は消去される。
【００２３】
セッション鍵４２を管理情報４１で管理することの第１のメリットは、上述した通り使用許容回数の管理による不正防止であるが、管理情報４１として鍵識別子５１を持たせることにより下記のようなメリットを生じる。
【００２４】
セッション鍵を常にひとつしか持たないＩＣカード１であれば、セキュアメッセージングのコマンド６０の鍵識別子６３は省いても良い。逆に鍵識別子６３で使用する鍵を指定する方法を取れば、複数のセッション鍵を使い分けることが可能となる。
【００２５】
また、セッション鍵４２が不揮発性メモリ３に格納される鍵と同様に鍵識別子５１を有することにより、不揮発性メモリ３に格納される鍵と同じ用途にセッション鍵４２を使用することができる。例えば、前述したセッション鍵復号コマンドでマスタ鍵３２の代わりにセッション鍵４２を使用することにより、このセッション鍵４２で新たなセッション鍵を復号して揮発性メモリ４に設定することが可能となり、機能の拡張を図ることができる。
【００２６】
更に、本実施の形態では、セッション鍵４２の管理情報４１として、セッション鍵４２固有の管理情報を持たせる例で説明したが、不揮発性メモリ３に格納される鍵の管理情報３１と同じ構成を持たせることにより、不揮発性メモリ３に格納される鍵（例えばマスタ鍵３２）を用いる場合の処理と、揮発性メモリ４に格納される鍵（すなわちセッション鍵４２）を用いる場合の処理を共通化することが可能となり、ＩＣカード１の処理プログラムの容量を削減できるという効果も生じる。
【００２７】
また、鍵識別子５１や使用許容回数５２以外にも、不揮発性メモリ３内の鍵の管理情報３１と同様の情報をセッション鍵４２の管理情報４１に適用することによって、セッション鍵４２に関する機能の拡張を図ることができる。例えば、セッション鍵４２にもセキュリティ属性（アクセス権限）を持たせることにより、セッション鍵４２のセキュリティ属性を変更する等の機能拡張が可能となる。
【産業上の利用可能性】
【００２８】
本発明に係るＩＣカードは、複数のセッション鍵を用いること可能にするのに有用である。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施の形態におけるＩＣカードの構成図
【図２】本実施の形態のＩＣカードの揮発性メモリに格納される鍵の管理情報の構成図
【図３】本実施の形態のＩＣカードへのセキュアメッセージングコマンドの構成図
【符号の説明】
【００３０】
１  ＩＣカード
２  処理部
３  不揮発性メモリ
４  揮発性メモリ
２２  セッション鍵復号手段
２３  セキュアメッセージング処理手段
３１  管理情報
３２  マスタ鍵
４１  管理情報
４２  セッション鍵
５１  鍵識別子
５２  使用許容回数
５３  使用回数
【図１】
2006059227.tif 000003
【図２】
2006059227.tif 000004
【図３】
2006059227.tif 000005