JP2008148070A - Icカード、派生鍵生成方法、ターミナル認証方法、icカード認証方法、及び、コンピュータプログラム - Google Patents

Icカード、派生鍵生成方法、ターミナル認証方法、icカード認証方法、及び、コンピュータプログラム Download PDF

Info

Publication number
JP2008148070A
JP2008148070A JP2006333844A JP2006333844A JP2008148070A JP 2008148070 A JP2008148070 A JP 2008148070A JP 2006333844 A JP2006333844 A JP 2006333844A JP 2006333844 A JP2006333844 A JP 2006333844A JP 2008148070 A JP2008148070 A JP 2008148070A
Authority
JP
Japan
Prior art keywords
key
card
terminal
derived
generating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006333844A
Other languages
English (en)
Inventor
Takashi Okazaki
隆志 岡崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2006333844A priority Critical patent/JP2008148070A/ja
Publication of JP2008148070A publication Critical patent/JP2008148070A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

【課題】セッション鍵の生成などに用いられるマスター鍵をセッション毎に変えることのできるICカードを提供する。
【解決手段】ICカード11は、ターミナル12と共有するマスター鍵110を不揮発性メモリに記憶し、セッションで利用する派生鍵をマスター鍵110から生成する派生鍵生成手段111を備えている。マスター鍵110の鍵長を派生鍵の鍵長よりも長くすることで、派生鍵に対してマスター鍵110に冗長性を持たせ、派生鍵生成手段111は、派生情報に基づき、マスター鍵110の一部を用いてセッションごとに異なる派生鍵を生成し、ICカード11は、派生鍵生成手段111が生成した派生鍵を用いてターミナル12とセッションすることを特徴とする。
【選択図】図3

Description

本発明は、ICチップが実装されたカード媒体であるICカードに関し、更に詳しくは、ICカードに秘匿に記憶されたマスター鍵の耐タンパー性を向上させる技術に関する。
ICカードとターミナル間のセッション(例えば、相互認証)では暗号技術が用いられ、ICカードやターミナルには、ICカードとターミナル間のセッションに利用される暗号鍵が秘匿に記憶される。
ICカードに記憶された暗号鍵は、線形解読法などの様々な解読法によって解読される危険性があるため、ICカードには、暗号鍵の解読に対する高い耐タンパー性が要求される。
相互認証に利用する暗号鍵の解読に対する耐タンパー性を向上させる一つの方法として、ICカードとターミナルの双方が共有している暗号鍵であるマスター鍵から、セッションで利用する暗号鍵であるセッション鍵を生成し、生成したセッション鍵を利用してセッションする方法が開示されている(例えば、非特許文献1)。
非特許文献1では、暗号化されたメッセージを伝送するごとにインクリメントされるカウンタ値(4 バイト)を右詰めし、上位4バイトを "00h"で埋めた8 バイトのデータと、マスター鍵(8バイト)との排他的論理和を演算することで、マスター鍵からセッション鍵を生成する。
セッション鍵はセッション毎に変わるため、マスター鍵の解読に対する耐タンパー性を向上させることができる。
また、特許文献1では、ICカードに複数の暗号鍵を秘匿に記憶させ、使用していた暗号鍵の有効期限が切れた場合など、使用する暗号鍵を変更することで、ICカードに記憶した暗号鍵の解読に対する耐タンパー性を向上させる発明が開示されている。
JICSAP ICカード仕様 V2.0 第3部共通コマンド 付属書D ICカードシステム利用促進協議会 平成13年7月策定 特開2000−92040号公報
しかしならが、非特許文献1で開示されている発明では、毎回、同じマスター鍵を使用してセッション鍵が生成されるため、セッション鍵がマスター鍵への攻撃の糸口になってしまう問題がある。
また、特許文献1で開示されている発明では、有効期限内は同じ暗号鍵が使用されるため、使用しているマスター鍵に対して解読法の攻撃を受けてしまう問題がある。
そこで、本発明は、ICカードの不揮発性メモリに記憶され、セッション鍵の生成などに用いられるマスター鍵をセッション毎に変えることのできるICカード、マスター鍵から生成される派生鍵の生成方法、マスター鍵から生成される派生鍵を用いたターミナル認証方法・ICカード認証方法、及び、ICカードに実装されるコンピュータプログラムを提供することを目的とする。
上述した課題を解決する第1の発明は、ターミナルとのセッションに暗号演算を利用するICカードであって、前記ICカードは、ターミナルと共有するマスター鍵を不揮発性メモリに記憶し、セッションで利用する派生鍵を前記マスター鍵から生成する派生鍵生成手段を備え、前記マスター鍵の鍵長を前記派生鍵の鍵長よりも長くすることで、前記派生鍵に対して前記マスター鍵に冗長性を持たせ、前記派生鍵生成手段は、所定のアルゴリズムに基づき、前記マスター鍵の一部を用いてセッションごとに異なる前記派生鍵を生成し、前記ICカードは、前記派生鍵生成手段が生成した前記派生鍵を用いて前記ターミナルとセッションすることを特徴とする。
上述した第1の発明によれば、前記ICカードに記憶される前記マスター鍵に冗長性を持たせ、セッションごとに異なる前記派生鍵を生成し、前記派生鍵をセッションに利用することで、同じ前記マスター鍵をセッションに利用しないため、前記マスター鍵の耐タンパー性を高めることができる。
更に、第2の発明は、第1の発明に記載のICカードにおいて、前記派生鍵生成手段は、前記派生鍵を生成するときに利用する前記マスター鍵のバイトとその並び順を示す派生情報に基き、前記マスター鍵から抽出したバイトを組み合せることで前記派生鍵を生成する手段であることを特徴とする。
上述した第2の発明によれば、前記ICカードから前記ターミナルへ前記派生情報を送信すれば、前記ICカードと同じ前記派生鍵を前記ターミナルで生成することが可能になる。
更に、第3の発明は、第2の発明に記載のICカードにおいて、前記ICカードの前記派生鍵生成手段は、乱数を用いて前記派生情報を生成し、生成した前記派生情報に基づき前記派生鍵を生成することを特徴とする。
上述した第3の発明によれば、前記派生情報を前記ICカード内部で生成することができる。
更に、第4の発明は、第2の発明に記載のICカードにおいて、前記ICカードの前記派生鍵生成手段は、前記ICカードとセッションする前記ターミナルから受信した前記派生情報を用いて前記派生鍵を生成することを特徴とする。
上述した第4の発明によれば、前記ターミナルが生成した前記派生情報に基づき、前記マスター鍵から前記派生鍵を生成することができる。
更に、第5の発明は、第3の発明に記載のICカードにおいて、前記ICカードは、ターミナル認証用の前記マスター鍵を記憶し、前記ICカードは、前記派生鍵生成手段が生成した前記派生情報を前記ターミナルに送信するコマンドと、ターミナル認証用の前記マスター鍵から生成した前記派生鍵を用いて、前記ターミナルから送信されるターミナル認証コードの正当性を検証するコマンドを備えていることを特徴とする。
上述した第5の発明によれば、ターミナル認証時に利用する前記マスター鍵の耐タンパー性を高めて、前記ICカードは、前記ターミナル認証コードの正当性を検証することができる。
更に、第6の発明は、第4の発明に記載のICカードにおいて、前記ICカードは、ICカード認証用の前記マスター鍵を記憶し、前記ターミナルから受信した前記派生情報に基づき、ICカード認証用の前記マスター鍵から生成した前記派生鍵を用いて、前記ターミナルへ送信するICカード認証コードを生成するコマンドを備えていることを特徴とする。
上述した第6の発明によれば、ICカード認証時に利用する前記マスター鍵の耐タンパー性を高めて、前記ICカードは前記ICカード認証コードを生成することができる。
更に、第7の発明は、ICカードが、暗号演算を利用したセッションに用いる派生鍵の生成方法であって、鍵長を前記派生鍵の鍵長よりも長くし、前記派生鍵に対して冗長性を持たせたマスター鍵を前記ICカードに記憶させ、所定のアルゴリズムに基づき、前記マスター鍵の一部を用いてセッションごとに異なる前記派生鍵を生成することを特徴とする。
更に、第8の発明は、第7の発明に記載の派生鍵の生成方法において、前記派生鍵として利用する前記マスター鍵のバイトとその並び順を示す派生情報に基き、前記マスター鍵から抽出したバイトを組み合せることで前記派生鍵を生成することを特徴とする。
更に、第9の発明は、第8の発明に記載の派生鍵の生成方法において、前記ICカードは、乱数を用いて前記派生情報を生成し、生成した前記派生情報を用いて前記派生鍵を生成することを特徴とする。
更に、第10の発明は、第8の発明に記載の派生鍵の派生方法において、前記ICカードは、前記ICカードとセッションするターミナルから受信した前記派生情報を用いて前記派生鍵を生成することを特徴とする。
上記第7の発明から上記第10の発明によれば、前記第1の発明から前記第4の発明と同様の効果が得られる。
更に、第11の発明は、ICカードがターミナルを認証するターミナル認証方法であって、前記ターミナルと前記ICカードは、前記ターミナルの認証で利用する派生鍵の鍵長よりも長い鍵長のターミナル認証用のマスター鍵を記憶し、前記ICカードが、前記派生鍵として利用する前記マスター鍵のバイトとその並び順を示す派生情報を生成するステップ、前記ICカードが、前記ターミナルの認証に利用するチャレンジと共に、生成した前記派生情報を送信するステップ、前記ターミナルが、受信した前記派生情報に基づき、前記マスター鍵から抽出したバイトを組み合せることで前記派生鍵を生成するステップ、前記ターミナルが前記チャレンジから認証コードを生成し前記ICカードに送信するステップ、前記ICカードが、前記派生情報に基づき、前記マスター鍵から抽出したバイトを組み合せることで前記派生鍵を生成し、生成した前記派生鍵を用いて、前記ターミナルから受信した前記認証コードを検証するステップを備える。
上述した第11の発明によれば、ターミナル認証時に利用する前記マスター鍵の耐タンパー性を高めて、前記ターミナルは、前記ターミナル認証コードを生成でき、更に、前記ICカードは、前記ターミナル認証コードの正当性を検証することができる。
更に、第12の発明は、ターミナルがICカードを認証するICカード認証方法であって、前記ターミナルと前記ICカードは、前記ICカードの認証で利用する派生鍵の鍵長よりも長い鍵長のICカード認証用のマスター鍵を記憶し、前記ターミナルが、前記派生鍵として利用する前記マスター鍵のバイトとその並び順を示す派生情報を生成するステップ、前記ターミナルが、前記ICカードの認証に利用するチャレンジと共に、生成した前記派生情報を前記ICカードに送信するステップ、前記ICカードが、受信した前記派生情報に基づき、前記マスター鍵から抽出したバイトを組み合せることで前記派生鍵を生成するステップ、前記ICカードが前記チャレンジから認証コードを生成し前記ターミナルへ送信するステップ、前記ターミナルが、前記派生情報に基づき、前記マスター鍵から抽出したバイトを組み合せることで前記派生鍵を生成し、生成した前記派生鍵を用いて、前記認証コードを検証するステップを備える。
上述した第12の発明によれば、ICカード認証時に利用する前記マスター鍵の耐タンパー性を高めて、前記ICカードは前記ICカード認証コードを生成でき、更に、前記ターミナルは、前記ICカード認証コードを検証することができる。
更に、第13の発明は、ターミナルと共有するマスター鍵を不揮発性メモリに記憶し、ターミナルとのセッションに暗号演算を利用するICカードを、所定のアルゴリズムに基づき、前記マスター鍵の一部を用いて、前記ターミナルとのセッションに利用する前記派生鍵を生成する派生鍵生成手段として機能させるためのコンピュータプログラムである。
更に、第14の発明は、第13の発明に記載のコンピュータプログラムにおいて、前記派生鍵を生成するときに利用する前記マスター鍵のバイトとその並び順を示す派生情報に基き、前記マスター鍵から抽出したバイトを組み合せることで前記派生鍵を生成する前記派生鍵生成手段として、前記ICカードを機能させるためのコンピュータプログラムである。
更に、第15の発明は、第14の発明に記載のコンピュータプログラムにおいて、乱数を用いて前記派生情報を生成し、前記派生情報に基づき前記派生鍵を生成する前記派生鍵生成手段として、前記ICカードを機能させるためのコンピュータプログラムである。
更に、第16の発明は、第14の発明に記載のコンピュータプログラムにおいて、前記ICカードとセッションするターミナルから受信した前記派生情報を用いて前記派生鍵を生成する前記派生鍵生成手段として、前記ICカードを機能させるためのコンピュータプログラムである。
上記第13の発明から上記第16の発明によれば、前記第1の発明から前記第4の発明と同様の効果が得られる。
上述した発明によれば、ICカードの不揮発性メモリに記憶され、セッション鍵の生成に用いられるマスター鍵をセッション毎に変えることのできるICカード、マスター鍵から生成される派生鍵の生成方法、マスター鍵から生成される派生鍵を用いたターミナル認証方法・ICカード認証方法、及び、ICカードに実装されるコンピュータプログラムを提供できる。
<派生鍵の生成方法>
ここから、本発明に係る派生鍵の生成方法について、図を参照しながら詳細に説明する。 本発明に係る派生鍵の生成方法は、ICカードとターミナル間のセッション(例えば、相互認証)をより安全にするために、派生鍵の基になるマスター鍵に冗長性をもたせ、セッションごとに異なる派生鍵を生成し、生成した派生鍵をセッションに利用することで、同じマスター鍵をセッションに利用しないため、マスター鍵の耐タンパー性を高めることができる。
例えば、本発明に係る派生鍵の生成方法で生成した派生鍵を非特許文献1に記載の認証用マスター鍵とすることで、セッションごとに利用する認証用マスター鍵は変更され、ICカードに記憶される認証用マスター鍵の耐タンパー性を高めることができる。
まず、マスター鍵とマスター鍵から生成される派生鍵について説明する。図1は、マスター鍵1と派生鍵2を説明する図で、図2は、マスター鍵1から派生鍵2を生成する手順を示したフロー図である。
図1で図示したマスター鍵1は、DES(DES: Data Encryption Standard)用の8バイトの派生鍵2を生成するための暗号鍵で、マスター鍵1の鍵長は派生鍵2の鍵長よりも4バイト長く、マスター鍵1の鍵長は12バイトとしている。
なお、図1においては、マスター鍵1の各バイトを区別するために、マスター鍵1の先頭バイトから順に各バイトにK0~K11の記号を付与している。
派生鍵2とは、マスター鍵1から抽出された8個のバイトを組み合せることで得られる暗号鍵で、図1の派生鍵2では、マスター鍵1のK0、K1、K3、K5、K6、K7、K8、K11の8個のバイトが抽出され、K7、K11、K0、K5、K8、K3、K6そしてK1の順に並べられた暗号鍵である。
派生鍵2を生成するためにマスター鍵1から抽出するバイトとその並び順を示す情報が派生情報3である。
図1で図示した派生情報3は1次元のデータテーブルで、データテーブルの各要素の値はマスター鍵1のバイトを示し、各要素の順序によって、マスター鍵1のバイトの並び順が示される。
例えば、図1においては、派生情報3は〔7、11、0、5、8、3、6、1〕で、最初の要素の値が「7」であるため、マスター鍵1の7番目のバイト(K7)が派生鍵2の1バイト目に配置されることを意味する。
すなわち、図1で図示した派生情報3に基づけば、マスター鍵1から派生鍵2を生成するために、マスター鍵1のK0、K1、K3、K5、K6、K7、K8およびK11が抽出され、K7、K11、K0、K5、K8、K3、K6そしてK1の各バイトを順に並べることで、マスター鍵1から派生鍵2は生成される。
このように、派生情報3によって、マスター鍵1から生成される派生鍵2は一意に定まるが、派生情報3が異なると、マスター鍵1から生成される派生鍵2は異なる。
ICカードとターミナルの双方で同じマスター鍵1を記憶し、派生情報3を共有することができれば、ICカードとターミナルの双方でマスター鍵1から同じ派生鍵2を生成することが可能である。
なお、図1において、マスター鍵1の鍵長は12バイトとしているが、マスター鍵1の鍵長が派生鍵2の鍵長よりも長ければ、マスター鍵1の鍵長は任意でよい。
マスター鍵1の鍵長を長くすればするほど、マスター鍵1から生成可能な派生鍵2の数が増えるため、ICカードに秘匿に記憶されるマスター鍵1の耐タンパー性をより高めることができる。
図2を参照しながら、マスター鍵1から派生鍵2を派生する手順について説明する。この手順の最初のステップS1は、派生鍵2を生成するときに利用するマスター鍵1のバイトとその並び順を示す派生情報3を生成するステップである。
このステップS1では、例えば、1バイトの乱数を生成し、生成した乱数を派生鍵2の鍵長で除算したときの余りを派生情報3の要素の値とし、この処理を派生鍵2の鍵長だけ繰り返すことで派生情報3を生成することができる。
次のステップS2は、ステップS1で生成した派生情報3に基づいて、マスター鍵1から派生鍵2を派生するステップである。
このステップS2では、ステップS1で生成した派生情報3に基づき、マスター鍵1からバイトを抽出し、派生情報3に基づき、抽出したバイトを組み合せることで、マスター鍵1から派生鍵2を生成する。
このステップをもって、マスター鍵1から派生鍵2を生成する手順は終了する。
<ICカードシステム>
ここから、これまで説明した派生鍵の生成方法によって生成される派生鍵を利用して、ICカード11とターミナル12間で相互認証するICカードシステム10について説明する。
図3は、ICカードシステム10のブロック図である。
図3に図示したように、ターミナル12はマスター鍵120を記憶し、ターミナル12は、上述した手順に従いマスター鍵120から派生鍵を生成する派生鍵生成手段121と、派生鍵生成手段121が生成する派生鍵を利用して、ターミナル12とICカード11間の相互認証を行う相互認証手段122を備える。
ターミナル12に備えられた派生鍵生成手段121及び相互認証手段122は、ターミナル12に実装されるコンピュータプログラムで実現している。
また、ICカード11は、ターミナル12と同じ値のマスター鍵110を記憶し、更に、ICカード11のコマンドとして、ターミナルから送信される認証コードを認証するターミナル認証コマンド112と、ターミナルへ送信する認証コードを生成する認証コード生成コマンド114と、乱数を生成し、生成した乱数をターミナル12へ送信するチャレンジコマンド113を備え、更に、上述した手順に従いマスター鍵110から派生鍵を生成する派生鍵生成手段111を備える。
ICカード11に備えられた各コマンド及び派生鍵生成手段111は、ICカード11に実装されるコンピュータプログラムで実現している。
ここから、図3で示したICカードシステム10において、ターミナル12とICカード11間で相互認証する動作手順について説明する。
図4は、ターミナル12とICカード11間で相互認証する手順を示したフロー図である。
この手順の最初のステップS10は、ターミナル12がICカード11をリセットするステップで、ターミナル12はICカード11を活性化させるために、ISO/IEC7816の手順に従い、ICカード11をリセットする。
次のステップS11は、ICカード11の派生鍵生成手段111が派生情報を生成するステップである。
ICカード11が派生情報を生成するタイミングは任意でよいが、本実施の形態では、ターミナル12によってICカード11がリセットされたときに、ICカード11は乱数を発生させ、派生鍵を生成するときに利用する派生情報を生成し、ICカード11が非活性化されるまで、生成した派生情報をICカード11の揮発性メモリ(例えば、RAM)に保持する。
次のステップS12は、ICカード11がATR(Answer to Reset)をターミナル12に返信するステップである。
ICカード11がATRをターミナル12に返信することで、ターミナル12とICカード11間でのコマンドメッセージ・レスポンスメッセージが可能になる。
なお、ICカード11は、ステップS11で生成した派生情報はこのATRには含ませない。
次のステップS13は、ターミナル12の相互認証手段122が作動し、ICカード11がターミナル12を認証するために、ICカード11に備えられたチャレンジコマンド113のコマンドメッセージを、ターミナル12がICカード11に送信するステップである。
チャレンジコマンド113のコマンドメッセージをICカード11が受信すると、ステップS14で、ICカード11はチャレンジコマンド113で指定された数の乱数を生成し、ステップS15で、ICカード11は、ステップS14で生成した乱数とステップS11で生成した派生情報を含むレスポンスメッセージを、チャレンジコマンド113のレスポンスとしてターミナル12に返信する。
ターミナル12はICカード11から乱数を受信すると、ステップS16で、ターミナル12の相互認証手段122は派生鍵生成手段121を作動させ、ICカード11から受信したレスポンスメッセージに含まれる派生情報に基づき、ターミナル12が有するマスター鍵120から派生鍵を生成し、マスター鍵120から生成した派生鍵を用いて、ICカード11がターミナル12を認証するための認証コード(以下、ターミナル認証コード)を生成する。
ターミナル12の相互認証手段122はターミナル認証コードを生成すると、ステップS17で、ターミナル認証コマンド112のコマンドメッセージをICカード11に送信する。
なお、このステップS17でターミナル12からICカード11に送信するターミナル認証コマンド112のコマンドメッセージには、ステップS16で生成したターミナル認証コードが含まれる。
ICカード11が、ターミナル認証コマンド112のコマンドメッセージをターミナル12から受信すると、ステップS18で、ICカード11の派生鍵生成手段111は、ステップS1で生成した派生情報に基づき、ICカード11が有するマスター鍵110から派生鍵を生成し、マスター鍵110から派生させた派生鍵を用いて、ターミナル認証コマンド112のコマンドメッセージに含まれるターミナル認証コードの正当性を検証する。
そして、ICカード11は、ステップS19で、ターミナル認証コードの正当性の検証結果を含むレスポンスメッセージをターミナル12へ返信する。
ICカード11から送信されるターミナル認証コードの正当性の検証結果で成功が示される場合、ターミナル12の相互認証手段122がICカード11を認証するために、ステップS20で、ターミナル12は乱数を生成し、ステップS21で、生成した乱数を含む認証コード生成コマンド114のコマンドメッセージをICカード11に送信する。
ターミナル12から認証コード生成コマンド114のコマンドメッセージを受信すると、ICカード11は、ステップS22で、ステップS18でマスター鍵110から生成した派生鍵を用いて、ターミナル12がICカード11を認証するための認証コード(以下、ICカード認証コード)を生成し、ステップS23で、生成したICカード認証コードを含むレスポンスメッセージをターミナル12に返信する。
ターミナル12は、ICカード認証コードを含むレスポンスメッセージをICカード11から受信すると、ステップS24で、ターミナル12の相互認証手段122は、ステップS16でマスター鍵120から生成した派生鍵を用いて、ICカード認証コードの正当性を認証し、認証に成功した後、ICカード11を利用したサービスに係る処理を実行する。
このステップをもって、ターミナル12とICカード11間で相互認証する手順は終了する。
なお、本発明は、これまで説明した実施の形態に限定されることなく、種々の変形が可能であって、それらも本発明の均等の範囲内である。
例えば、上述したICカードシステム10では、マスター鍵110、120から生成した派生鍵そのものを相互認証に利用したが、例えば、非特許文献1に記述された手順に従い、マスター鍵110、120から生成した派生鍵とカウンタの値とからセッション鍵を生成し、ICカード11とターミナル12の相互認証にセッション鍵を用いることもできる。
更に、ICカード11及びターミナル12が、それぞれ複数のマスター鍵110及び複数のマスター鍵120を有し、マスター鍵110及びマスター鍵120のそれぞれに有効期限を設定し、特許文献2で開示されているように、期日ごとに利用するマスター鍵及びマスター鍵120を変更することもできる。
更に、図4のフローでは、ICカード11がターミナル12を認証するときも、ターミナル12がICカード11を認証するときも、ステップS1でICカードが生成した派生情報に基づいて、マスター鍵110、120から派生鍵を派生させていたが、ターミナル12がICカード11を認証するときに、ターミナル12側で生成した派生情報を利用してもよい。
このとき、ステップS20で、ターミナル12は乱数と共に派生情報を生成し、ステップS21でICカードへ送信される認証コード生成コマンド114のコマンドメッセージに、生成した乱数と派生情報を含ませ、ステップS22で、ICカード11は受信した派生情報に基づき、マスター鍵110から派生鍵を生成し、派生鍵を利用してICカード認証コードを生成する。
更に、ターミナル検証用のマスター鍵110、120と、ICカード認証用のマスター鍵110、120を個別に設定することもできる。
このとき、ステップS13からステップS16の一連のステップで、ICカード11がターミナル12を認証するときは、ICカード11側で生成された派生情報に基づいて、ターミナル検証用のマスター鍵110、120から派生鍵を生成し、ステップS20からステップS24の一連のステップで、ターミナル12がICカード11を認証するときに、ターミナル12側で生成された派生情報に基づいて、ICカード検証用のマスター鍵110、120から派生鍵を生成する。
マスター鍵と派生鍵を説明する図。 マスター鍵から派生鍵を生成する手順を示したフロー図。 ICカードとターミナル間で相互認証するICカードシステムのブロック図。 ターミナルとICカード間で相互認証する手順を示したフロー図。
符号の説明
1 マスター鍵、2 派生鍵、3 派生情報
10 ICカードシステム
11 ICカード
110 マスター鍵
111 派生鍵生成手段
112 ターミナル認証コマンド、
113 チャレンジコマンド
114 認証コード生成コマンド
12 ターミナル
120 マスター鍵
121 派生鍵生成手段
122 相互認証手段

Claims (16)

  1. ターミナルとのセッションに暗号演算を利用するICカードであって、前記ICカードは、ターミナルと共有するマスター鍵を不揮発性メモリに記憶し、セッションで利用する派生鍵を前記マスター鍵から生成する派生鍵生成手段を備え、前記マスター鍵の鍵長を前記派生鍵の鍵長よりも長くすることで、前記派生鍵に対して前記マスター鍵に冗長性を持たせ、前記派生鍵生成手段は、所定のアルゴリズムに基づき、前記マスター鍵の一部を用いてセッションごとに異なる前記派生鍵を生成し、前記ICカードは、前記派生鍵生成手段が生成した前記派生鍵を用いて前記ターミナルとセッションすることを特徴とするICカード。
  2. 請求項1に記載のICカードにおいて、前記派生鍵生成手段は、前記派生鍵を生成するときに利用する前記マスター鍵のバイトとその並び順を示す派生情報に基き、前記マスター鍵から抽出したバイトを組み合せることで前記派生鍵を生成する手段であることを特徴とするICカード。
  3. 請求項2に記載のICカードにおいて、前記ICカードの前記派生鍵生成手段は、乱数を用いて前記派生情報を生成し、生成した前記派生情報に基づき前記派生鍵を生成することを特徴とするICカード。
  4. 請求項2に記載のICカードにおいて、前記ICカードの前記派生鍵生成手段は、前記ICカードとセッションする前記ターミナルから受信した前記派生情報を用いて前記派生鍵を生成することを特徴とするICカード。
  5. 請求項3に記載のICカードにおいて、前記ICカードは、ターミナル認証用の前記マスター鍵を記憶し、前記ICカードは、前記派生鍵生成手段が生成した前記派生情報を前記ターミナルに送信するコマンドと、ターミナル認証用の前記マスター鍵から生成した前記派生鍵を用いて、前記ターミナルから送信されるターミナル認証コードの正当性を検証するコマンドを備えていることを特徴とするICカード。
  6. 請求項4に記載のICカードにおいて、前記ICカードは、ICカード認証用の前記マスター鍵を記憶し、前記ターミナルから受信した前記派生情報に基づき、ICカード認証用の前記マスター鍵から生成した前記派生鍵を用いて、前記ターミナルへ送信するICカード認証コードを生成するコマンドを備えていることを特徴とするICカード。
  7. ICカードが、暗号演算を利用したセッションに用いる派生鍵の生成方法であって、鍵長を前記派生鍵の鍵長よりも長くし、前記派生鍵に対して冗長性を持たせたマスター鍵を前記ICカードに記憶させ、所定のアルゴリズムに基づき、前記マスター鍵の一部を用いてセッションごとに異なる前記派生鍵を生成することを特徴とする派生鍵の生成方法。
  8. 請求項7に記載の派生鍵の生成方法において、前記派生鍵として利用する前記マスター鍵のバイトとその並び順を示す派生情報に基き、前記マスター鍵から抽出したバイトを組み合せることで前記派生鍵を生成することを特徴とする派生鍵の生成方法。
  9. 請求項8に記載の派生鍵の生成方法において、前記ICカードは、乱数を用いて前記派生情報を生成し、生成した前記派生情報を用いて前記派生鍵を生成することを特徴とする派生鍵の生成方法。
  10. 請求項8に記載の派生鍵の派生方法において、前記ICカードは、前記ICカードとセッションするターミナルから受信した前記派生情報を用いて前記派生鍵を生成することを特徴とする派生鍵の生成方法。
  11. ICカードがターミナルを認証するターミナル認証方法であって、ターミナルと前記ICカードは、前記ターミナルの認証で利用する派生鍵の鍵長よりも長い鍵長のターミナル認証用のマスター鍵を記憶し、前記ICカードが、前記派生鍵として利用する前記マスター鍵のバイトとその並び順を示す派生情報を生成するステップ、前記ICカードが、前記ターミナルの認証に利用するチャレンジと共に、生成した前記派生情報を送信するステップ、前記ターミナルが、受信した前記派生情報に基づき、前記マスター鍵から抽出したバイトを組み合せることで前記派生鍵を生成するステップ、前記ターミナルが前記チャレンジから認証コードを生成し前記ICカードに送信するステップ、前記ICカードが、前記派生情報に基づき、前記マスター鍵から抽出したバイトを組み合せることで前記派生鍵を生成し、生成した前記派生鍵を用いて、前記ターミナルから受信した前記認証コードを検証するステップを備えることを特徴とするターミナル認証方法。
  12. ターミナルがICカードを認証するICカード認証方法であって、前記ターミナルと前記ICカードは、前記ICカードの認証で利用する派生鍵の鍵長よりも長い鍵長のICカード認証用のマスター鍵を記憶し、前記ターミナルが、前記派生鍵として利用する前記マスター鍵のバイトとその並び順を示す派生情報を生成するステップ、前記ターミナルが、前記ICカードの認証に利用するチャレンジと共に、生成した前記派生情報を前記ICカードに送信するステップ、前記ICカードが、受信した前記派生情報に基づき、前記マスター鍵から抽出したバイトを組み合せることで前記派生鍵を生成するステップ、前記ICカードが前記チャレンジから認証コードを生成し前記ターミナルへ送信するステップ、前記ターミナルが、前記派生情報に基づき、前記マスター鍵から抽出したバイトを組み合せることで前記派生鍵を生成し、生成した前記派生鍵を用いて、前記認証コードを検証するステップを備えることを特徴とするICカード認証方法。
  13. ターミナルと共有するマスター鍵を不揮発性メモリに記憶し、ターミナルとのセッションに暗号演算を利用するICカードを、所定のアルゴリズムに基づき、前記マスター鍵の一部を用いて、前記ターミナルとのセッションに利用する前記派生鍵を生成する派生鍵生成手段として機能させるためのコンピュータプログラム。
  14. 請求項13に記載のコンピュータプログラムにおいて、前記派生鍵を生成するときに利用する前記マスター鍵のバイトとその並び順を示す派生情報に基き、前記マスター鍵から抽出したバイトを組み合せることで前記派生鍵を生成する前記派生鍵生成手段として、前記ICカードを機能させるためのコンピュータプログラム。
  15. 請求項14に記載のコンピュータプログラムにおいて、乱数を用いて前記派生情報を生成し、生成した前記派生情報に基づき前記派生鍵を生成する前記派生鍵生成手段として、前記ICカードを機能させるためのコンピュータプログラム。
  16. 請求項14に記載のコンピュータプログラムにおいて、前記ICカードとセッションするターミナルから受信した前記派生情報を用いて前記派生鍵を生成する前記派生鍵生成手段として、前記ICカードを機能させるためのコンピュータプログラム。

JP2006333844A 2006-12-11 2006-12-11 Icカード、派生鍵生成方法、ターミナル認証方法、icカード認証方法、及び、コンピュータプログラム Pending JP2008148070A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006333844A JP2008148070A (ja) 2006-12-11 2006-12-11 Icカード、派生鍵生成方法、ターミナル認証方法、icカード認証方法、及び、コンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006333844A JP2008148070A (ja) 2006-12-11 2006-12-11 Icカード、派生鍵生成方法、ターミナル認証方法、icカード認証方法、及び、コンピュータプログラム

Publications (1)

Publication Number Publication Date
JP2008148070A true JP2008148070A (ja) 2008-06-26

Family

ID=39607740

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006333844A Pending JP2008148070A (ja) 2006-12-11 2006-12-11 Icカード、派生鍵生成方法、ターミナル認証方法、icカード認証方法、及び、コンピュータプログラム

Country Status (1)

Country Link
JP (1) JP2008148070A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220159665A (ko) * 2021-05-26 2022-12-05 주식회사 에잇바이트 바코드 생성 장치 및 방법, 및 바코드 검증 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09179951A (ja) * 1995-12-22 1997-07-11 Dainippon Printing Co Ltd 携帯可能情報記憶媒体及びそのシステム
JPH11163853A (ja) * 1997-11-27 1999-06-18 Kdd 認証システム
JP2000242563A (ja) * 1999-02-22 2000-09-08 Nippon Columbia Co Ltd 記録媒体及び記録再生装置
JP2001257673A (ja) * 2000-03-14 2001-09-21 Nippon Telegr & Teleph Corp <Ntt> 通信方法及び通信システム装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09179951A (ja) * 1995-12-22 1997-07-11 Dainippon Printing Co Ltd 携帯可能情報記憶媒体及びそのシステム
JPH11163853A (ja) * 1997-11-27 1999-06-18 Kdd 認証システム
JP2000242563A (ja) * 1999-02-22 2000-09-08 Nippon Columbia Co Ltd 記録媒体及び記録再生装置
JP2001257673A (ja) * 2000-03-14 2001-09-21 Nippon Telegr & Teleph Corp <Ntt> 通信方法及び通信システム装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220159665A (ko) * 2021-05-26 2022-12-05 주식회사 에잇바이트 바코드 생성 장치 및 방법, 및 바코드 검증 장치 및 방법
KR102666036B1 (ko) * 2021-05-26 2024-05-14 주식회사 에잇바이트 바코드 생성 장치 및 방법, 및 바코드 검증 장치 및 방법

Similar Documents

Publication Publication Date Title
KR100670005B1 (ko) 모바일 플랫폼을 위한 메모리의 무결성을 원격으로 확인하는 확인장치 및 그 시스템 그리고 무결성 확인 방법
JP4620248B2 (ja) メッセージ交換ネットワーク内でスマートカードを認証するための方法
US7788490B2 (en) Methods for authenticating an identity of an article in electrical communication with a verifier system
US8386794B2 (en) Apparatus and method for protecting RFID data
EP3386143B1 (en) Method and system for generating a private key for encrypted data transfer between an electronic identity document and a terminal
JP2001051596A (ja) データ生成装置およびデータ検証装置ならびにその方法
EP2425281A1 (en) System and method for authenticating rfid tags
JP2016515235A5 (ja)
CN112394877A (zh) 用于安全存储器的方法及其系统
JP2012527190A (ja) 対称暗号化システムにおいてデバイスを安全に識別し認証するためのシステムおよび方法
US20100241865A1 (en) One-Time Password System Capable of Defending Against Phishing Attacks
US9553729B2 (en) Authentication method between a reader and a radio tag
CN104125064B (zh) 一种动态密码认证方法、客户端及认证系统
EP3506558A1 (en) Whitebox computation of keyed message authentication codes
CN105279441A (zh) 用于对数据进行加密和解密的方法和架构
KR101253683B1 (ko) 연쇄 해시에 의한 전자서명 시스템 및 방법
EP3214567B1 (en) Secure external update of memory content for a certain system on chip
JP6246516B2 (ja) 情報処理システム
CN107493572B (zh) 一种无线射频设备、认证服务器及认证方法
JP2008148070A (ja) Icカード、派生鍵生成方法、ターミナル認証方法、icカード認証方法、及び、コンピュータプログラム
JP6031729B1 (ja) Rfidタグコード生成装置およびその方法、認証装置およびその方法、ならびにプログラム
JP6203556B2 (ja) 情報処理システム
EP3185504A1 (en) Security management system for securing a communication between a remote server and an electronic device
US20210273939A1 (en) Devices and methods for authentication
JP6069120B2 (ja) 情報処理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091019

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120228

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120626