説明

情報記憶媒体、認証用データ生成方法、及び媒体認証システム

【課題】状況に応じて高いセキュリティ対策に基づき認証用データを生成することが可能な認証用データ生成方法を提供すること。
【解決手段】認証用データ生成方法は、認証機器から認証用コマンドを受信し、前記認証機器との通信プロトコルを判別し、前記認証機器との通信プロトコルの判別結果に基づき前記認証用コマンドに含まれた暗号鍵参照情報を変更し、変更された暗号鍵参照情報に対応したターゲット暗号鍵を予め記憶された複数の暗号鍵の中から選択し、前記ターゲット暗号鍵と前記認証用コマンドに含まれた包含データとに基づき認証用データを生成し、前記認証機器に対して前記認証用データを送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、CPU、ROM、RAM、EEPROMなどの制御素子を有するIC(Integrated Circuit)チップを内蔵するICカードと称される情報記憶媒体に関する。また、本発明は、この情報記憶媒体に適用される認証用データ生成方法に関する。さらに、本発明は、この情報記憶媒体とこの情報記憶媒体を認証する媒体認証機器により構成される認証システムに関する。
【背景技術】
【0002】
近年、様々な機能を備えたICカードが登場している。例えば、金属端子等により構成される接触インターフェースと電波を送受信するためのアンテナ等により構成される非接触インターフェースを備えたICカードが登場している(特許文献1参照)。
【0003】
また、複数の通信プロトコルに対応可能なICカードも登場している。例えばTCP/IPとISO7816のどちらの通信プロトコルにも対応可能なICカードが提案されている(特許文献2参照)。
【0004】
これらICカードの登場によりICカードの用途は広がり、例えば、ICカードは、クレジットカード、定期券、旅券、免許証、その他の商取引の決済に使われるだけでなく、社員証、会員証、保険証などのIDカードとしても様々な分野で使われるようになっている。
【0005】
このように、ICカードは、高いセキュリティが求められる環境の中で使用されるため、ICカードに対するセキュリティ対策は重要である。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2005−216234号公報
【特許文献2】特開2004−151864号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ICカードに対してより高いセキュリティを適用するほど、ICカード内での処理速度が低下したり、またICカード内でより多くのメモリエリアが使用されたりする傾向にある。
【0008】
ICカード事業者は、ICカードに対してより高いセキュリティを適用したいが、上記したように、その弊害も考慮しなければならない。このため、高いセキュリティ対策があるにもかかわらず、その高いセキュリティ対策を適用できないことがある。
【0009】
本発明の目的は、状況に応じて高いセキュリティ対策を実行することが可能な情報記憶媒体を提供することにある。また、本発明の目的は、状況に応じて高いセキュリティ対策に基づき認証用データを生成することが可能な認証用データ生成方法を提供することにある。さらに、本発明の目的は、状況に応じて高いセキュリティ対策に基づき認証用データを生成し、この認証用データにより媒体を認証することが可能な媒体認証システムを提供することにある。
【課題を解決するための手段】
【0010】
本発明の一実施形態に係る情報記憶媒体は、複数の暗号鍵を記憶する記憶手段と、認証機器から認証用コマンドを受信する受信手段と、前記認証機器との通信プロトコルを判別し、前記認証機器との通信プロトコルの判別結果に基づき前記認証用コマンドに含まれた暗号鍵参照情報を変更し、変更された暗号鍵参照情報に対応したターゲット暗号鍵を前記複数の暗号鍵の中から選択し、前記ターゲット暗号鍵と前記認証用コマンドに含まれた包含データとに基づき認証用データを生成する生成手段と、前記認証機器に対して前記認証用データを送信する送信手段と、を備える。
【0011】
本発明の一実施形態に係る認証用データ生成方法は、認証機器から認証用コマンドを受信し、前記認証機器との通信プロトコルを判別し、前記認証機器との通信プロトコルの判別結果に基づき前記認証用コマンドに含まれた暗号鍵参照情報を変更し、変更された暗号鍵参照情報に対応したターゲット暗号鍵を予め記憶された複数の暗号鍵の中から選択し、前記ターゲット暗号鍵と前記認証用コマンドに含まれた包含データとに基づき認証用データを生成し、前記認証機器に対して前記認証用データを送信する。
【0012】
本発明の一実施形態に係る媒体認証システムは、情報記憶媒体及びこの情報記憶媒体を認証する認証機器により構成される媒体認証システムであって、前記情報記憶媒体は、複数の暗号鍵を記憶する暗号鍵記憶手段と、認証機器から認証用コマンドを受信するコマンド受信手段と、前記認証機器との通信プロトコルを判別し、前記認証機器との通信プロトコルの判別結果に基づき前記認証用コマンドに含まれた暗号鍵参照情報を変更し、変更された暗号鍵参照情報に対応したターゲット暗号鍵を前記複数の暗号鍵の中から選択し、前記ターゲット暗号鍵と前記認証用コマンドに含まれた包含データとに基づき認証用データを生成する認証用データ生成手段と、前記認証機器に対して前記認証用データを送信する認証用データ送信手段と、を備え、前記認証機器は、前記複数の暗号鍵に対応した複数の復号鍵を記憶する復号鍵記憶手段と、前記情報記憶媒体に対して前記認証用コマンドを送信するコマンド送信手段と、前記情報記憶媒体からの前記認証用データを受信する認証用データ受信手段と、前記情報記憶媒体との通信プロトコルの判別結果に基づき前記認証用コマンドに含まれた暗号鍵参照情報を変更し、変更された暗号鍵参照情報に対応したターゲット復号鍵を前記複数の復号鍵の中から選択して、前記ターゲット復号鍵に基づき前記認証用データから前記包含データを復号し、復号された前記包含データに基づき前記情報記憶媒体を認証する認証手段と、を備える。
【発明の効果】
【0013】
本発明によれば、状況に応じて高いセキュリティ対策を実行することが可能な情報記憶媒体を提供できる。また、本発明によれば、状況に応じて高いセキュリティ対策に基づき認証用データを生成することが可能な認証用データ生成方法を提供できる。さらに、本発明によれば、状況に応じて高いセキュリティ対策に基づき認証用データを生成し、この認証用データにより媒体を認証することが可能な媒体認証システムを提供できる。
【図面の簡単な説明】
【0014】
【図1】本発明の一実施形態に係るICカードシステム(媒体認証システム)の概略構成を示すブロック図である。
【図2】図1に示すICカードシステムのカードリーダ/ライタの概略構成を示すブロック図である。
【図3】図2に示すカードリーダ/ライタのデータメモリに記憶されたデータの一例を示す図である。
【図4】図1に示すICカードシステムのICカードの概略構成を示すブロック図である。
【図5】図4に示すICカードのデータメモリに記憶されたデータの一例を示す図である。
【図6】カードリーダ/ライタとICカードとの通信の概要を説明するためのフローチャートである。
【図7】通信プロトコルに基づく暗号化処理の変更処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0015】
以下、図面を参照し、本発明の実施形態について説明する。
【0016】
図1は、本発明の一実施形態に係るICカードシステム(媒体認証システム)の概略構成を示すブロック図である。図1に示すように、ICカードシステムは、端末1及びICカード2(情報記憶媒体)により構成される。端末1は、本体(上位装置)11、ディスプレイ12、キーボード13、カードリーダ/ライタ14を備えている。端末1はICカード2と通信可能に構成されており、端末1はICカード2に対してデータを送信したり、ICカード2からのデータを受信したりする。
【0017】
本体11は、アプリケーションを実行したり、入出力を司る。ディスプレイ12は、ICカード2との通信結果及び認証結果等を表示する。キーボード13は、本体11に対して文字や数字等を入力する。カードリーダ/ライタ14は、ICカード2と通信する。
【0018】
なお、本実施形態では、ICカード2が接触式通信と非接触式通信の両者をサポートするコンビ型、同様に、カードリーダ/ライタ14も接触式通信と非接触式通信の両者をサポートするコンビ型のケースについて説明する。
【0019】
図2は、本発明の一実施形態に係るカードリーダ/ライタ14の概略構成を示すブロック図である。図2に示すように、カードリーダ/ライタ14は、接触端子141、通信I/F142、CPU143、データメモリ144、RAM145、ROM146、アンテナ147、通信I/F148を備えている。
【0020】
図4は、本発明の一実施形態に係るICカードの概略構成を示すブロック図である。図4に示すように、ICカード2は、例えばプラスチックカードであり、ICチップ20(ICモジュール)を備え、ICチップ20は、接触端子201、通信I/F202、CPU203、データメモリ204、RAM205、ROM206を備えている。さらに、ICカード2は、アンテナ21、通信I/F22も備えている。
【0021】
カードリーダ/ライタ14の接触端子141は、ICカード2の接触端子201と接触し、カードリーダ/ライタ14とICカード2との間でデータを送受信する。通信I/F142は、ICカード2へ送信するデータ、ICカード2から受信したデータの入出力を制御する。
【0022】
また、カードリーダ/ライタ14のアンテナ147は、ICカード2のアンテナ21と非接触で通信し、カードリーダ/ライタ14とICカード2との間でデータを送受信する。通信I/F148は、ICカード2へ送信するデータ、ICカード2から受信したデータの入出力を制御する。
【0023】
CPU143は、本体(上位装置)11からの指示に基づき各種コマンド(認証用コマンド)を生成する。さらに、CPU143は乱数生成部143aを備え、本体(上位装置)11からの指示に基づき乱数生成部143aは乱数を生成する。データメモリ144は、EEPROM、FRAMなどの不揮発性メモリである。RAM145は、例えばICカード2から送信されるデータを一時的に記憶するワークメモリである。ROM146は、制御プログラム等を記憶するメモリである。
【0024】
図3に示すように、データメモリ144は、復号鍵情報、暗号鍵情報、暗号アルゴリズム情報、固定データを記憶する。復号鍵情報は、複数の復号鍵A、B、C、…を含み、各復号鍵A、B、C、…は復号鍵参照番号0、1、2、…により管理される。また、暗号鍵情報は、複数の暗号鍵A、B、C、…を含み、各暗号鍵A、B、C、…は暗号鍵参照番号0、1、2、…により管理される。また、上記した各復号鍵A、B、C、…と、各暗号鍵A、B、C、…とは対応する鍵である。暗号アルゴリズム情報は、複数の暗号アルゴリズムA、B、C、…を含み、各暗号アルゴリズムA、B、C、…は暗号アルゴリズム参照番号0、1、2、…により管理される。これら、復号鍵情報、暗号鍵情報、暗号アルゴリズム情報、固定データを利用した認証処理については後で詳しく説明する。
【0025】
一方、ICカード2の接触端子201は、カードリーダ/ライタ14の接触端子141と接触し、ICカード2とカードリーダ/ライタ14との間でデータを送受信する。通信I/F202は、カードリーダ/ライタ14へ送信するデータ、カードリーダ/ライタ14から受信したデータの入出力を制御する。
【0026】
また、ICカード2のアンテナ21は、カードリーダ/ライタ14のアンテナ147と非接触で通信し、ICカード2とカードリーダ/ライタ14との間でデータを送受信する。通信I/F22は、カードリーダ/ライタ14へ送信するデータ、カードリーダ/ライタ14から受信したデータの入出力を制御する。
【0027】
CPU203は、カードリーダ/ライタ14からの各種コマンド(認証用コマンド)に基づき、各種処理を実行する。データメモリ204は、EEPROM、FRAMなどの不揮発性メモリである。RAM205は、例えばカードリーダ/ライタ14から送信されるデータを一時的に記憶するワークメモリである。ROM146は、制御プログラム等を記憶するメモリである。
【0028】
図5に示すように、データメモリ204は、暗号鍵情報、暗号アルゴリズム情報を記憶する。暗号鍵情報、暗号アルゴリズム情報については既に説明した通りである。
【0029】
次に、図6に示すフローチャートを参照し、カードリーダ/ライタ14とICカード2との通信の概要について説明する。
【0030】
まず、カードリーダ/ライタ14は、接触端子141或いはアンテナ147を介して、対象アプリケーションをセレクトするためのSELECTコマンドを送信する。ICカード2は、接触端子201或いはアンテナ21を介してSELECTコマンドを受信し、正常なステータスを返信する。
【0031】
カードリーダ/ライタ14は、接触端子141或いはアンテナ147を介して、正常なステータスを受信し、接触端子141或いはアンテナ147を介して、ICカード2の内部のレコード情報を読み出すパラメータを指定したインタプリタコマンドを送信する。ICカード2は、接触端子201或いはアンテナ21を介してインタプリタコマンドを受信し、パラメータに応じたレコード情報を返信する。
【0032】
カードリーダ/ライタ14は、接触端子141或いはアンテナ147を介して、レコード情報を受信し、GET PROCESSING OPTION コマンドを送信する。これに対しても、ICカード2は、接触端子201或いはアンテナ21を介してGET PROCESSING OPTION コマンドを受信し、正常なステータスを返信する。
【0033】
このようにして、カードリーダ/ライタ14とICカード2との間で必要なデータの送受信が行われ、例えば、カードリーダ/ライタ14が、ICカード2を認証するためのINTERNAL AUTHENTICATE コマンド(認証用コマンド)を生成し、接触端子141或いはアンテナ147を介して、INTERNAL AUTHENTICATE コマンドを送信する。ICカード2は、接触端子201或いはアンテナ21を介してINTERNAL AUTHENTICATE コマンドを受信し、暗号化された認証用データ及び正常なステータスを返信する。
【0034】
ここで、カードリーダ/ライタ14により生成される認証用コマンドについて簡単に説明する。本実施形態では、非接触用の第1の通信プロトコル(T=CL(Connectionless))に対応した第1の認証用コマンドと、接触用の第2の通信プロトコル(T=1)に対応した第2の認証用コマンドについて説明する。
【0035】
非接触用の第1の通信プロトコル(T=CL)に対応する第1の認証用コマンドフォーマットは、例えば次のように規定されている。
【0036】
第1の認証用コマンドフォーマット:CLA/INS/P1/P2/Lc/Data/Le
CLA:クラスバイト
INS:インストラクションコード
P1:パラメータ1
P2:パラメータ2
また、接触用の第2の通信プロトコル(T=1)に対応する第2の認証用コマンドフォーマットは、例えば次のように規定されている。
【0037】
第2の認証用コマンドフォーマット:NAD/PCB/Len/CLA/INS/P1/P2/Lc/Data/Le/EDC
NAD:ノードアドレス
PCB:プロトコルコントロールバイト
Len:レングス
EDC:エラーディテクションコード
例えば、第1及び第2の認証用コマンドフォーマットに含まれたP1は、暗号アルゴリズム参照番号j(j:整数、0≦j)を示し、第1及び第2の認証用コマンドフォーマットに含まれたP2は、暗号鍵参照番号n(n:整数、0≦n)を示す。また、第1及び第2の認証用コマンドフォーマット中のDataは、乱数と固定データを含む。なお、乱数は、上記したように乱数生成部143aにより生成される。
【0038】
なお、本実施形態では、上記したように、第1又は第2の通信プロトコルによるICカード2とカードリーダ/ライタ14との通信について説明するが、これだけに限定されるものではない。例えば、第3の通信プロトコル(T=0)によるICカード2とカードリーダ/ライタ14との通信にも適用できる。
【0039】
続いて、認証用コマンドに基づく認証処理について説明する。認証用コマンドを受信したICカード2は、カードリーダ/ライタ14との通信プロトコルを判別し、通信プロトコルの判別結果に基づき暗号化方式を変更する、或いは変更しない。これにより、通信プロトコルに応じて暗号化レベルを変更することができる。つまり、通信プロトコル(状況)に応じてセキュリティレベルを変更することができる。
【0040】
例えば、ICカード2は、通信プロトコルの判別結果に基づき、暗号鍵を変更したり変更しなかったりする。つまり、ICカード2は、非接触の通信プロトコルに基づき暗号鍵を変更し、接触の通信プロトコルに基づき暗号鍵を変更しないことができる。さらに、ICカード2は、通信プロトコルの判別結果に基づき、暗号アルゴリズムを変更したり変更しなかったりすることもできる。つまり、ICカード2は、非接触の通信プロトコルに基づき暗号アルゴリズムを変更し、接触の通信プロトコルに基づき暗号アルゴリズムを変更しないことができる。
【0041】
以下、図7のフローチャートを参照して、通信プロトコルに基づく暗号化処理の変更の一例について説明する。
【0042】
まず、カードリーダ/ライタ14は、第1又は第2の認証用コマンドを生成する。上記したように、第1及び第2の認証用コマンドは、暗号鍵参照番号n、暗号アルゴリズム参照番号j、乱数、固定データを含み、カードリーダ/ライタ14は、これら暗号鍵参照番号n、暗号アルゴリズム参照番号j、乱数、固定データを記憶しておく。
【0043】
カードリーダ/ライタ14がICカード2に対して第1又は第2の認証用コマンドを送信し、ICカード2は第1又は第2の認証用コマンドを受信する(ST10)。ICカード2のCPU203は、受信した第1又は第2の認証用コマンドを解析し、通信プロトコルを判別する。CPU203は、第1又は第2の認証用コマンドのフォーマットから通信プロトコルを判別することもできるし、接触式通信(接触端子201)又は非接触式通信(アンテナ21)のどちらで認証用コマンドを受信したかにより通信プロトコルを判別することもできる。
【0044】
例えば、CPU203が、第1の通信プロトコルによる通信であると判断すると(ST20、YES)、暗号鍵参照番号の変更処理を実行する。CPU203は、受信した第1の認証用コマンド中に含まれた暗号鍵参照番号nに対してm1(m1:整数)を加算し暗号鍵参照番号nを変更し、変更された暗号鍵参照番号(n+m1)に対応したターゲット暗号鍵をデータメモリ204に記憶された複数の暗号鍵A、B、C、…の中から選択する。例えば、CPU203は、暗号鍵参照番号0に対して2を加算し(ST31、YES)(ST32)、暗号鍵参照番号2に対応した暗号鍵Cを設定する。或いは、CPU203は、暗号鍵参照番号1に対して2を加算し(ST31、NO)(ST33)、暗号鍵参照番号3に対応した暗号鍵Dを設定する。
【0045】
さらに、CPU203は、受信した第1の認証用コマンド中に含まれた暗号アルゴリズム参照番号jに対応したターゲット暗号アルゴリズムをデータメモリ204に記憶された複数の暗号アルゴリズムA、B、C、…の中から選択する。例えば、CPU203は、暗号アルゴリズム参照番号0に対応した暗号アルゴリズムAを設定する(ST34、YES)(ST35)。或いは、CPU203は、暗号アルゴリズム参照番号1に対応した暗号アルゴリズムBを設定する(ST34、NO)(ST36)。
【0046】
その上で、CPU203は、設定された暗号アルゴリズムAと暗号鍵Cと固定データとに基づき認証用データを生成する(ST37)。或いは、CPU203は、設定された暗号アルゴリズムBと暗号鍵Dと固定データとに基づき認証用データを生成する(ST37)。ICカード2は、カードリーダ/ライタ14に対して認証用データを送信する(ST50)。
【0047】
カードリーダ/ライタ14は、ICカード2からの認証用データを受信し、カードリーダ/ライタ14のCPU143は、認証用データを解析して、解析結果に基づきICカード2を認証する。CPU143は、ICカード2との通信プロトコルを判別する。例えば、CPU143は、第1の通信プロトコルによる通信であると判別すると、ICカード2に送信した第1の認証用コマンド中に含まれた暗号鍵参照情報nに対してm1(m1:整数)を加算し暗号鍵参照番号nを変更し、変更された暗号鍵参照番号(n+m1)に対応したターゲット復号鍵をデータメモリ144に記憶された複数の復号鍵A、B、C、…の中から選択する。例えば、CPU143は、暗号鍵参照番号0に対して2を加算し、暗号鍵参照番号2に対応した復号鍵Cを選択する。或いは、CPU143は、暗号鍵参照番号1に対して2を加算し、暗号鍵参照番号3に対応した復号鍵Dを選択する。さらに、CPU143は、第1の認証用コマンド中に含まれた暗号アルゴリズム参照情報jに対応した復号アルゴリズムを選択する。例えば、CPU143は、暗号アルゴリズム参照情報0に対応した復号アルゴリズム0を選択する。或いは、CPU143は、暗号アルゴリズム参照情報1に対応した復号アルゴリズム1を選択する。
【0048】
CPU143は、復号鍵Cと復号アルゴリズム0に基づき認証用データから乱数と固定データを復号する。或いは、CPU143は、復号鍵Dと復号アルゴリズム1に基づき認証用データから乱数と固定データを復号する。CPU143は、復号された固定データと第1の認証用コマンド中に含まれた固定データとを比較し、一致すればICカード2を認証し、一致しなければICカード2を認証しない。
【0049】
上記説明では、暗号アルゴリズムを変更しないケースについて説明したが、暗号鍵と同様に、暗号アルゴリズムを変更するようにしてもよい。例えば、CPU203が、第1の通信プロトコルによる通信であると判断していれば、CPU203は、受信した第1の認証用コマンド中に含まれた暗号アルゴリズム参照番号jに対してk1(k1:整数)を加算し暗号アルゴリズム参照番号jを変更し、変更された暗号鍵参照番号(j+k1)に対応したターゲット暗号アルゴリズムをデータメモリ204に記憶された複数の暗号アルゴリズムA、B、C、…の中から選択する。例えば、CPU203は、暗号アルゴリズム参照番号0に対して1を加算し、暗号アルゴリズム参照番号1に対応した暗号アルゴリズムBを設定する。或いは、CPU203は、暗号アルゴリズム参照番号1に対して1を加算し、暗号アルゴリズム参照番号2に対応した暗号鍵Cを設定する。
【0050】
この場合、CPU203は、設定された暗号アルゴリズムBと暗号鍵Cと固定データとに基づき認証用データを生成する。或いは、CPU203は、設定された暗号アルゴリズムCと暗号鍵Dと固定データとに基づき認証用データを生成する。ICカード2は、カードリーダ/ライタ14に対して認証用データを送信する。
【0051】
カードリーダ/ライタ14は、ICカード2からの認証用データを受信し、カードリーダ/ライタ14のCPU143は、認証用データを解析して、解析結果に基づきICカード2を認証する。例えば、CPU143は、第1の通信プロトコルによる通信であると判別すると、ICカード2に送信した第1の認証用コマンド中に含まれた暗号鍵参照情報nに対してm1(m1:整数)を加算し暗号鍵参照番号nを変更し、変更された暗号鍵参照番号(n+m1)に対応したターゲット復号鍵をデータメモリ144に記憶された複数の復号鍵A、B、C、…の中から選択する。例えば、CPU143は、暗号鍵参照番号0に対して2を加算し、暗号鍵参照番号2に対応した復号鍵Cを選択する。或いは、CPU143は、暗号鍵参照番号1に対して2を加算し、暗号鍵参照番号3に対応した復号鍵Dを選択する。
【0052】
さらに、CPU143は、ICカード2に送信した第1の認証用コマンド中に含まれた暗号アルゴリズム参照情報jに対してk1を加算し暗号アルゴリズム参照番号jを変更し、変更された暗号アルゴリズム参照番号(j+k1)に対応した復号アルゴリズム(j+k1)を選択する。例えば、CPU143は、暗号アルゴリズム参照情報0に対して1を加算し、暗号アルゴリズム参照番号1に対応した復号アルゴリズム1を選択する。或いは、CPU143は、暗号アルゴリズム参照情報1に対して1を加算し、暗号アルゴリズム参照番号2に対応した復号アルゴリズム2を選択する。
【0053】
CPU143は、復号鍵Cと復号アルゴリズム1に基づき認証用データから乱数と固定データを復号する。或いは、CPU143は、復号鍵Dと復号アルゴリズム2に基づき認証用データから乱数と固定データを復号する。CPU143は、復号された固定データと第1の認証用コマンド中に含まれた固定データとを比較し、一致すればICカード2を認証し、一致しなければICカード2を認証しない。
【0054】
上記説明では、第1の通信プロトコルによる通信時に暗号鍵を変更したり、暗号アルゴリズムを変更したりするケースについて説明した。次に、第2の通信プロトコルによる通信時の処理について説明する。
【0055】
例えば、CPU203が、第2の通信プロトコルによる通信であると判断すると(ST20、YES)、暗号鍵参照番号の変更処理を実行する。CPU203は、受信した第2の認証用コマンド中に含まれた暗号鍵参照番号nに対してm2(m2:整数)を加算し暗号鍵参照番号nを変更し、変更された暗号鍵参照番号(n+m2)に対応したターゲット暗号鍵をデータメモリ204に記憶された複数の暗号鍵A、B、C、…の中から選択する。なお、本実施形態では、例えばm2=0とする。これにより、第2の通信プロトコルによる通信時には、暗号鍵参照番号は変更されなくなる。例えば、CPU203は、暗号鍵参照番号0に対して0を加算し(ST41、YES)(ST42)、暗号鍵参照番号0に対応した暗号鍵Aを設定する。或いは、CPU203は、暗号鍵参照番号1に対して0を加算し(ST41、NO)(ST43)、暗号鍵参照番号1に対応した暗号鍵Bを設定する。
【0056】
さらに、CPU203は、受信した第2の認証用コマンド中に含まれた暗号アルゴリズム参照番号jに対応したターゲット暗号アルゴリズムをデータメモリ204に記憶された複数の暗号アルゴリズムA、B、C、…の中から選択する。例えば、CPU203は、暗号アルゴリズム参照番号0に対応した暗号アルゴリズムAを設定する(ST44、YES)(ST45)。或いは、CPU203は、暗号アルゴリズム参照番号1に対応した暗号アルゴリズムBを設定する(ST44、NO)(ST46)。
【0057】
その上で、CPU203は、設定された暗号アルゴリズムAと暗号鍵Aと固定データとに基づき認証用データを生成する(ST47)。或いは、CPU203は、設定された暗号アルゴリズムBと暗号鍵Bと固定データとに基づき認証用データを生成する(ST47)。ICカード2は、カードリーダ/ライタ14に対して認証用データを送信する(ST50)。
【0058】
カードリーダ/ライタ14は、ICカード2からの認証用データを受信し、カードリーダ/ライタ14のCPU143は、認証用データを解析して、解析結果に基づきICカード2を認証する。CPU143は、ICカード2との通信プロトコルを判別する。例えば、CPU143は、第2の通信プロトコルによる通信であると判別すると、ICカード2に送信した第2の認証用コマンド中に含まれた暗号鍵参照情報nに対してm2(m2:整数)を加算し暗号鍵参照番号nを変更し、変更された暗号鍵参照番号(n+m2)に対応したターゲット復号鍵をデータメモリ144に記憶された複数の復号鍵A、B、C、…の中から選択する。例えば、CPU143は、暗号鍵参照番号0に対して0を加算し、暗号鍵参照番号0に対応した復号鍵Aを選択する。或いは、CPU143は、暗号鍵参照番号1に対して0を加算し、暗号鍵参照番号1に対応した復号鍵Bを選択する。さらに、CPU143は、第2の認証用コマンド中に含まれた暗号アルゴリズム参照情報jに対応した復号アルゴリズムを選択する。例えば、CPU143は、暗号アルゴリズム参照情報0に対応した復号アルゴリズム0を選択する。或いは、CPU143は、暗号アルゴリズム参照情報1に対応した復号アルゴリズム1を選択する。
【0059】
CPU143は、復号鍵Aと復号アルゴリズム0に基づき認証用データから乱数と固定データを復号する。或いは、CPU143は、復号鍵Bと復号アルゴリズム1に基づき認証用データから乱数と固定データを復号する。CPU143は、復号された固定データと第2の認証用コマンド中に含まれた固定データとを比較し、一致すればICカード2を認証し、一致しなければICカード2を認証しない。
【0060】
また、暗号鍵C及びDのデータ長は、暗号鍵A及びBのデータ長より長いものとする。例えば、暗号鍵Aは768ビット長、暗号鍵Bは968ビット長、暗号鍵Cは1024ビット長、暗号鍵Dは2048ビット長とする。これにより、暗号鍵C又はDにより生成された認証用データのデータ長も、暗号鍵A又はBにより生成された認証用データのデータ長よりも長くなる。つまり、第1の通信プロトコルにより通信時にはデータ長の長い認証用データが送信され、第2の通信プロトコルによる通信時にはデータ長の短い認証用データが送信される。これにより、第1の通信プロトコルによる通信時にはセキュリティを高くすることができ、第2の通信プロトコルによる通信時には処理時間を短くすることができる。
【0061】
以上により、ICカード2の所定アプリケーションを動作させる場合に、カードリーダ/ライタ14がICカード2に対して第1の通信プロトコルに対応した第1の認証用コマンド(暗号鍵参照番号nを含む)を送信した場合と、ICカード2に対して第2の通信プロトコルに対応した第2の認証用コマンド(同じく暗号鍵参照番号nを含む)を送信した場合とで、実際に使用される暗号鍵が異なり、例えば非接触通信時にはセキュリティレベルを高くすることができ、接触通信時には処理時間を短くすることができる。
【0062】
なお、本願発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【符号の説明】
【0063】
1…端末、2…ICカード、11…本体、12…ディスプレイ、13…キーボード、14…カードリーダ/ライタ、20…ICチップ、21…アンテナ、22…通信I/F、141…接触端子、142…通信I/F、143…CPU、144…データメモリ、145…RAM、146…ROM、147…アンテナ、148…通信I/F、201…接触端子、202…通信I/F、203…CPU、204…データメモリ、205…RAM、206…ROM

【特許請求の範囲】
【請求項1】
複数の暗号鍵を記憶する記憶手段と、
認証機器から認証用コマンドを受信する受信手段と、
前記認証機器との通信プロトコルを判別し、前記認証機器との通信プロトコルの判別結果に基づき前記認証用コマンドに含まれた暗号鍵参照情報を変更し、変更された暗号鍵参照情報に対応したターゲット暗号鍵を前記複数の暗号鍵の中から選択し、前記ターゲット暗号鍵と前記認証用コマンドに含まれた包含データとに基づき認証用データを生成する生成手段と、
前記認証機器に対して前記認証用データを送信する送信手段と、
を備えたことを特徴とする情報記憶媒体。
【請求項2】
前記記憶手段は、複数の暗号アルゴリズムを記憶し、
前記生成手段は、前記前記認証用コマンドに含まれた暗号アルゴリズム参照情報に対応したターゲット暗号アルゴリズムを前記複数の暗号アルゴリズムの中から選択し、前記ターゲット暗号アルゴリズムと前記ターゲット暗号鍵と前記包含データとに基づき前記認証用データを生成する、
ことを特徴とする請求項1に記載の情報記憶媒体。
【請求項3】
前記記憶手段は、複数の暗号アルゴリズムを記憶し、
前記生成手段は、前記認証機器との通信プロトコルの判別結果に基づき前記認証用コマンドに含まれた暗号アルゴリズム参照情報を変更し、変更された暗号アルゴリズム参照情報に対応したターゲット暗号アルゴリズムを前記複数の暗号アルゴリズムの中から選択し、前記ターゲット暗号アルゴリズムと前記ターゲット暗号鍵と前記包含データとに基づき前記認証用データを生成する、
ことを特徴とする請求項1に記載の情報記憶媒体。
【請求項4】
前記生成手段は、
前記認証機器との通信プロトコルが第1の通信プロトコルである場合には、前記認証用コマンドに含まれた暗号鍵参照番号n(n:整数、0≦n)に対してm1(m1:整数)を加算してこの暗号鍵参照番号nを変更し、変更された暗号鍵参照番号(n+m1)に対応したターゲット暗号鍵を前記複数の暗号鍵の中から選択し、前記ターゲット暗号鍵と前記認証用コマンドに含まれた乱数及び固定データとに基づき前記認証用データを生成し、
前記認証機器との通信プロトコルが第2の通信プロトコルである場合には、前記認証用コマンドに含まれた暗号鍵参照番号n(n:整数、0≦n)に対してm2(m2:整数、m1≠m2)を加算してこの暗号鍵参照番号nを変更し、変更された暗号鍵参照番号(n+m2)に対応したターゲット暗号鍵を前記複数の暗号鍵の中から選択し、前記ターゲット暗号鍵と前記認証用コマンドに含まれた前記乱数と前記固定データとに基づき前記認証用データを生成する、
ことを特徴とする請求項1に記載の情報記憶媒体。
【請求項5】
前記生成手段は、
前記認証機器との通信プロトコルが接触式の通信プロトコルである場合には、前記認証用コマンドに含まれた暗号鍵参照情報を変更せずに、前記暗号鍵参照情報に対応した第1のターゲット暗号鍵を前記複数の暗号鍵の中から選択し、前記第1のターゲット暗号鍵と前記包含データとに基づき第1の認証用データを生成し、
前記認証機器との通信プロトコルが非接触式の通信プロトコルである場合には、前記認証用コマンドに含まれた暗号鍵参照情報を変更し、変更された暗号鍵参照情報に対応した前記第2のターゲット暗号鍵を前記複数の暗号鍵の中から選択し、前記第2のターゲット暗号鍵と前記包含データとに基づき第2の認証用データを生成する、
ことを特徴とする請求項1に記載の情報記憶媒体。
【請求項6】
前記生成手段は、
前記認証機器との通信プロトコルが接触式の通信プロトコルである場合には、前記認証用コマンドに含まれた暗号鍵参照情報を変更せずに、前記暗号鍵参照情報に対応した第1のデータ長の第1のターゲット暗号鍵を前記複数の暗号鍵の中から選択し、前記第1のターゲット暗号鍵と前記包含データとに基づき第2のデータ長の第1の認証用データを生成し、
前記認証機器との通信プロトコルが非接触式の通信プロトコルである場合には、前記認証用コマンドに含まれた暗号鍵参照情報を変更し、変更された暗号鍵参照情報に対応した前記第1のデータ長より長い第3のデータ長の第2のターゲット暗号鍵を前記複数の暗号鍵の中から選択し、前記第2のターゲット暗号鍵と前記包含データとに基づき前記第2のデータ長より長い第4のデータ長の第2の認証用データを生成する、
ことを特徴とする請求項1に記載の情報記憶媒体。
【請求項7】
前記受信手段は、
前記認証機器と接触して前記認証機器からの前記認証用コマンドを受信する接触式受信手段と、
前記認証機器と非接触で前記認証機器からの前記認証用コマンドを受信する非接触式受信手段と、を含み、
前記送信手段は、
前記接触式受信手段による前記認証用コマンドの受信に対応して接触中の前記認証機器に対して前記認証用データを送信する接触式送信手段と、
前記非接触式受信手段による前記認証用コマンドの受信に対応して前記認証機器と非接触で前記認証機器に対して前記認証用データを送信する非接触式送信手段と、を含み、
前記生成手段は、前記接触式受信手段と前記非接触式受信手段のどちらで前記認証用コマンドを受信したかに基づき前記認証機器との通信プロトコルを判別する、
ことを特徴とする請求項1に記載の情報記憶媒体。
【請求項8】
認証機器から認証用コマンドを受信し、
前記認証機器との通信プロトコルを判別し、前記認証機器との通信プロトコルの判別結果に基づき前記認証用コマンドに含まれた暗号鍵参照情報を変更し、変更された暗号鍵参照情報に対応したターゲット暗号鍵を予め記憶された複数の暗号鍵の中から選択し、前記ターゲット暗号鍵と前記認証用コマンドに含まれた包含データとに基づき認証用データを生成し、
前記認証機器に対して前記認証用データを送信する、
ことを特徴とする認証用データ生成方法。
【請求項9】
情報記憶媒体及びこの情報記憶媒体を認証する認証機器により構成される媒体認証システムであって、
前記情報記憶媒体は、
複数の暗号鍵を記憶する暗号鍵記憶手段と、
認証機器から認証用コマンドを受信するコマンド受信手段と、
前記認証機器との通信プロトコルを判別し、前記認証機器との通信プロトコルの判別結果に基づき前記認証用コマンドに含まれた暗号鍵参照情報を変更し、変更された暗号鍵参照情報に対応したターゲット暗号鍵を前記複数の暗号鍵の中から選択し、前記ターゲット暗号鍵と前記認証用コマンドに含まれた包含データとに基づき認証用データを生成する認証用データ生成手段と、
前記認証機器に対して前記認証用データを送信する認証用データ送信手段と、
を備え、
前記認証機器は、
前記複数の暗号鍵に対応した複数の復号鍵を記憶する復号鍵記憶手段と、
前記情報記憶媒体に対して前記認証用コマンドを送信するコマンド送信手段と、
前記情報記憶媒体からの前記認証用データを受信する認証用データ受信手段と、
前記情報記憶媒体との通信プロトコルの判別結果に基づき前記認証用コマンドに含まれた暗号鍵参照情報を変更し、変更された暗号鍵参照情報に対応したターゲット復号鍵を前記複数の復号鍵の中から選択して、前記ターゲット復号鍵に基づき前記認証用データから前記包含データを復号し、復号された前記包含データに基づき前記情報記憶媒体を認証する認証手段と、
を備えたことを特徴とする媒体認証システム。
【請求項10】
複数の暗号鍵に対応した複数の復号鍵を記憶する復号鍵記憶手段と、
情報記憶媒体に対して認証用コマンドを送信するコマンド送信手段と、
前記情報記憶媒体から認証用データを受信する認証用データ受信手段と、
前記情報記憶媒体との通信プロトコルの判別結果に基づき前記認証用コマンドに含まれた暗号鍵参照情報を変更し、変更された暗号鍵参照情報に対応したターゲット復号鍵を前記複数の復号鍵の中から選択して、前記ターゲット復号鍵に基づき前記認証用データから包含データを復号し、復号された前記包含データに基づき前記情報記憶媒体を認証する認証手段と、
を備えたことを特徴とする媒体認証機器。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2010−211515(P2010−211515A)
【公開日】平成22年9月24日(2010.9.24)
【国際特許分類】
【出願番号】特願2009−56924(P2009−56924)
【出願日】平成21年3月10日(2009.3.10)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.EEPROM
2.FRAM
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】