JP2007011591A - 携帯可能電子装置およびicカード - Google Patents
携帯可能電子装置およびicカード Download PDFInfo
- Publication number
- JP2007011591A JP2007011591A JP2005190053A JP2005190053A JP2007011591A JP 2007011591 A JP2007011591 A JP 2007011591A JP 2005190053 A JP2005190053 A JP 2005190053A JP 2005190053 A JP2005190053 A JP 2005190053A JP 2007011591 A JP2007011591 A JP 2007011591A
- Authority
- JP
- Japan
- Prior art keywords
- data
- comparison
- key
- processing
- card
- 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
Links
Images
Abstract
【課題】外部から不正な攻撃が行なわれた場合に、鍵データを誤ったデータでメモリから読出してしまうことを防止し、かつ、鍵データが正しく読出せなかったと判定した場合に、誤ったデータを使用して処理を継続してしまうという問題を防止することが可能となる携帯可能電子装置およびICカードを提供する。
【解決手段】外部からコマンドが入力されると、そのコマンドに対応した所定の処理を実行し、その処理結果に応じた応答データを外部へ出力するICカードにおいて、発行処理などにおいて、あらかじめ外部から与えられた鍵データと鍵正当性検証値を内部のデータメモリへ記憶しておき、上記鍵データを使用するコマンドを受信した場合に、これらのあらかじめ記憶したデータと、上記鍵データからコマンド受信の都度算出する比較データを使用して、鍵データの正当性検証を行なう。
【選択図】 図3
【解決手段】外部からコマンドが入力されると、そのコマンドに対応した所定の処理を実行し、その処理結果に応じた応答データを外部へ出力するICカードにおいて、発行処理などにおいて、あらかじめ外部から与えられた鍵データと鍵正当性検証値を内部のデータメモリへ記憶しておき、上記鍵データを使用するコマンドを受信した場合に、これらのあらかじめ記憶したデータと、上記鍵データからコマンド受信の都度算出する比較データを使用して、鍵データの正当性検証を行なう。
【選択図】 図3
Description
本発明は、たとえば、書込み、書換えが可能な不揮発性メモリおよびCPUなどの制御素子を有し、外部からのデータの入出力を行なう手段を備えたICチップを内蔵した、いわゆるICカードと称される携帯可能電子装置およびICカードに関する。
一般的に、この種のICカードは、制御素子としてのCPU、制御プログラムなどを記憶するプログラムメモリ(ROM)、各種データやその管理情報などを記憶する不揮発性メモリ(NVメモリ)、ワーキングメモリ(RAM)などの各メモリから構成されている。
また、一般的なICカードのライフサイクル管理として、発行フェーズ、運用(実使用)フェーズ、使用終了フェーズがあり、この中でも発行フェーズ処理(発行処理)については、最近、業界、団体で共通の発行方式を策定することにより、各メーカーにより発行工程が異なるという状況を避けるような動きがある(たとえば、非特許文献1参照)。
また、一般的なICカードのライフサイクル管理として、発行フェーズ、運用(実使用)フェーズ、使用終了フェーズがあり、この中でも発行フェーズ処理(発行処理)については、最近、業界、団体で共通の発行方式を策定することにより、各メーカーにより発行工程が異なるという状況を避けるような動きがある(たとえば、非特許文献1参照)。
さらに、ICカードの特長の1つである、カード所持者や使用されるシステムの認証、または、ICカード自身の正当性証明などに使用される鍵データについては、ICカード内のメモリに記憶されたデータの中でも最も重要なデータとして取扱われることが多く、鍵データの改ざん、外部漏洩に対する様々な対策が行なわれている。
また、発行フェーズにおいて、ICカードへ鍵データの設定を行なう場合に、鍵データとともに、鍵データの正当性を検証するためのデータ(鍵正当性検証値)をICカードへ送信することで、発行システムからICカードへのデータ通信中に、鍵データが改ざんされていないことを検証するなどの方法が考えられている。
EMV Card Personailzation Specification,version1.0,June 2003(以下、[EMV_CPS]と略称する)
EMV Card Personailzation Specification,version1.0,June 2003(以下、[EMV_CPS]と略称する)
ところが、最近、たとえば、ICカードへ外部から電気的なノイズなどを意図的に与え、CPUのプログラムを誤動作させるなどにより、たとえば不揮発性メモリ(NVメモリ)に格納されている鍵データを誤った値に読出させ、CPUにこの誤った鍵データを使用させることにより、ICカードに不正な処理を行なわせるなどの、ICカードへの不正攻撃が行なわれた場合、それを防止することが困難であるという問題がある。
そこで、本発明は、外部から不正な攻撃が行なわれた場合に、鍵データを誤ったデータでメモリから読出してしまうことを防止し、かつ、鍵データが正しく読出せなかったと判定した場合に、誤ったデータを使用して処理を継続してしまうという問題を防止することが可能となる携帯可能電子装置およびICカードを提供することを目的とする。
本発明の携帯可能電子装置は、外部から命令が入力されると、その命令に対応した所定の処理を実行し、その処理結果に応じた応答データを外部へ出力する携帯可能電子装置において、あらかじめ外部から与えられた暗号化演算を行なうための鍵データ、および、この鍵データを用いて、あらかじめ定められたデータを暗号化することにより算出された鍵正当性検証値を記憶している記憶手段と、外部から入力される前記鍵データを使用する命令を受信すると、当該鍵データを使用する前に、前記記憶手段に記憶されている鍵データを用いて、あらかじめ定められたデータを暗号化することにより比較用データを算出する比較用データ算出手段と、この比較用データ算出手段により算出された比較用データと前記記憶手段に記憶されている鍵正当性検証値とを比較することにより両者の間に所定の関係が成立するか否かを判定する比較手段と、この比較手段により比較用データと鍵正当性検証値との間に所定の関係が成立すると判定された場合、当該鍵データを使用した所定の処理を実行する処理手段とを具備している。
また、本発明のICカードは、外部から命令が入力されると、その命令に対応した所定の処理を実行し、その処理結果に応じた応答データを外部へ出力するICカードにおいて、あらかじめ外部から与えられた暗号化演算を行なうための鍵データ、および、この鍵データを用いて、あらかじめ定められたデータを暗号化することにより算出された鍵正当性検証値を記憶している記憶手段と、外部から入力される前記鍵データを使用する命令を受信すると、当該鍵データを使用する前に、前記記憶手段に記憶されている鍵データを用いて、あらかじめ定められたデータを暗号化することにより比較用データを算出する比較用データ算出手段と、この比較用データ算出手段により算出された比較用データと前記記憶手段に記憶されている鍵正当性検証値とを比較することにより両者の間に所定の関係が成立するか否かを判定する比較手段と、この比較手段により比較用データと鍵正当性検証値との間に所定の関係が成立すると判定された場合、当該鍵データを使用した所定の処理を実行する処理手段とを有したICモジュールと、このICモジュールを収納したICカード本体とを具備している。
本発明によれば、たとえば、発行処理などにおいて、あらかじめ外部から与えられた鍵データと鍵正当性検証値を内部に記憶しておき、上記鍵データを使用する命令を受信した場合に、これらのあらかじめ記憶したデータと、上記鍵データから命令受信の都度算出する比較データを使用して、鍵データの正当性検証を行なうことにより、外部から不正な攻撃が行なわれた場合に、鍵データを誤ったデータでメモリから読出してしまうことを防止し、かつ、鍵データが正しく読出せなかったと判定した場合に、誤ったデータを使用して処理を継続してしまうという問題を防止することが可能となる携帯可能電子装置およびICカードを提供できる。
以下、本発明の実施の形態について図面を参照して説明する。
まず、第1の実施の形態について説明する。
図1は、本発明に係る携帯可能電子装置としてのICカードを取扱うICカードシステムの構成例を示すものである。このICカードシステムは、ICカード11をカードリーダ・ライタ12を介してパーソナルコンピュータなどの端末装置13と接続可能にするとともに、端末装置13にキーボード14、CRT表示部15、プリンタ16を接続して構成される。
まず、第1の実施の形態について説明する。
図1は、本発明に係る携帯可能電子装置としてのICカードを取扱うICカードシステムの構成例を示すものである。このICカードシステムは、ICカード11をカードリーダ・ライタ12を介してパーソナルコンピュータなどの端末装置13と接続可能にするとともに、端末装置13にキーボード14、CRT表示部15、プリンタ16を接続して構成される。
図2は、ICカード11の構成を示すもので、制御素子としてのCPU101、記憶内容が書換え可能な記憶手段(メモリ)としてのデータメモリ102、ワーキングメモリ103、プログラムメモリ104、および、カードリーダ・ライタ12との電気的接触を得るためのコンタクト部105によって構成されている。そして、これらのうち、破線内の部分(CPU101、データメモリ102、ワーキングメモリ103、プログラムメモリ104)は1つ(あるいは複数)のICチップ106で構成され、さらに、このICチップ106とコンタクト部105とが一体的にICモジュール化されて、ICカード本体11a内に埋設されている。
データメモリ102は、たとえば、EEPROMなどの記憶内容が書換え可能な不揮発性メモリで構成されていて、外部へ応答する固定データ、内部処理で使用する鍵データ、全体を制御するための管理フラグなど、各種データの記憶に使用される。
ワーキングメモリ103は、CPU101が処理を行なう際の処理データなどを一時的に保持するための作業用メモリであり、たとえば、RAMなどで構成される。
プログラムメモリ104は、たとえば、マスクROMなどの記憶内容が書換え不可能な不揮発性メモリで構成されており、CPU101の制御プログラム、および、プログラムバージョンやICチップ106の製造番号(IC製造番号)など外部へ応答する固定データなどを記憶するものである。
ワーキングメモリ103は、CPU101が処理を行なう際の処理データなどを一時的に保持するための作業用メモリであり、たとえば、RAMなどで構成される。
プログラムメモリ104は、たとえば、マスクROMなどの記憶内容が書換え不可能な不揮発性メモリで構成されており、CPU101の制御プログラム、および、プログラムバージョンやICチップ106の製造番号(IC製造番号)など外部へ応答する固定データなどを記憶するものである。
次に、上記のような構成においてICカードの各ライフサイクルにおける処理の具体例について説明する。
まず、ICカードの内部へ鍵データおよび鍵正当性検証値を記憶する発行フェーズ処理(発行処理)の具体例について説明する。
まず、ICカードの内部へ鍵データおよび鍵正当性検証値を記憶する発行フェーズ処理(発行処理)の具体例について説明する。
本実施の形態では、発行処理装置の構成として図1の構成を使用するものとする。
ICカード11の発行処理は、端末装置13からカードリーダ・ライタ12を介してICカード11へコマンドが送信されることで開始される。この際、ICカード11では、送信されたコマンドに対応した処理を行ない、その処理結果をレスポンスとして、カードリーダ・ライタ12を介して端末装置13へ返送する。
ICカード11の発行処理は、端末装置13からカードリーダ・ライタ12を介してICカード11へコマンドが送信されることで開始される。この際、ICカード11では、送信されたコマンドに対応した処理を行ない、その処理結果をレスポンスとして、カードリーダ・ライタ12を介して端末装置13へ返送する。
一般的な処理例としては、
(a)ICカードが端末装置の正当性を確認する処理
(b)ICカードの正当性を端末装置へ伝える処理
(c)ICカード内のデータメモリ等に格納されたデータを外部へ応答するデータ読出
し処理
(d)コマンドで送信されたデータをICカード内のデータメモリへ記憶するデータ書
込み処理
に分類することができる。
(a)ICカードが端末装置の正当性を確認する処理
(b)ICカードの正当性を端末装置へ伝える処理
(c)ICカード内のデータメモリ等に格納されたデータを外部へ応答するデータ読出
し処理
(d)コマンドで送信されたデータをICカード内のデータメモリへ記憶するデータ書
込み処理
に分類することができる。
上記処理は一般的なICカードの発行処理を示したものであり、このうち本発明に関連する発行処理は、(d)の部分となる。
以下、たとえば、周知の暗号化方式であるトリプルDES(Triple Data Encryption Standard)演算に使用するトリプルDES鍵データ(以下、単に鍵データと略称する)を、ICカード11内のデータメモリ102に書込む場合を例として、上記(d)の部分の具体的な処理を説明する。
以下、たとえば、周知の暗号化方式であるトリプルDES(Triple Data Encryption Standard)演算に使用するトリプルDES鍵データ(以下、単に鍵データと略称する)を、ICカード11内のデータメモリ102に書込む場合を例として、上記(d)の部分の具体的な処理を説明する。
端末装置13は、実際にICカード11内のデータメモリ102へ書込みたい鍵データと、その鍵データを検証するための鍵正当性検証値(KCV)をICカードへ送信する。これらのデータを受信したICカード11のCPU101は、以下の手順にて鍵データの正当性検証と、データ書込みを行なう。
まず、受信した鍵データを使用して、あらかじめ定められた8バイトのデータ(0x0000 0000 0000 0000)を、トリプルDES演算(暗号化演算)する。次に、その演算結果の先頭3バイトのデータを、受信した鍵正当性検証値と比較するための比較データとしてワーキングメモリ103に一時記憶する。
次に、受信した鍵正当性検証値と、ワーキングメモリ103に一時記憶した比較データとを比較し、両者の間に所定の関係が成立した場合、すなわち、本実施の形態では両データが一致した場合にのみ鍵データの正当性が検証できたと判定する。次に、鍵データの正当性が検証できた場合、データメモリ102内に受信した鍵データおよび鍵正当性検証値を記憶する。
なお、鍵正当性検証値の算出方法は、前述の文献[EMV_CPS]などに記載されている一般的な方法であるが、発行処理において使用した鍵正当性検証値をICカード内部に記憶することは記載されていない。
また、ICカード11内に記憶された鍵正当性検証値は、発行処理装置から送信されたデータであり、ICカードが自身で算出した例えばパリティデータやチェックサム(BCC)などとは異なるものである。
また、ICカード11内に記憶された鍵正当性検証値は、発行処理装置から送信されたデータであり、ICカードが自身で算出した例えばパリティデータやチェックサム(BCC)などとは異なるものである。
上記のような処理を行ない、発行が完了したICカード11は、たとえば、発行完了であることをICカード11が内部的に識別するためのフェーズ管理用フラグをデータメモリ102に書込むこと等により、次の運用フェーズへと移行する。
次に、ICカードの内部で鍵データの正当性検証を行ない、鍵データを使用する運用フェーズ処理の具体例について説明する。
本実施の形態では、運用処理装置の構成として、発行処理装置と同じく図1の構成を使用するものとする。
ICカード11の運用処理は、端末装置13からカードリーダ・ライタ12を介してICカード11へコマンドが送信されることで開始される。この際、ICカード11では、送信されたコマンドに対応した処理を行ない、その処理結果をレスポンスとして、カードリーダ・ライタ12を介して端末装置13へ返送する。
本実施の形態では、運用処理装置の構成として、発行処理装置と同じく図1の構成を使用するものとする。
ICカード11の運用処理は、端末装置13からカードリーダ・ライタ12を介してICカード11へコマンドが送信されることで開始される。この際、ICカード11では、送信されたコマンドに対応した処理を行ない、その処理結果をレスポンスとして、カードリーダ・ライタ12を介して端末装置13へ返送する。
一般的な処理例として考えられる処理手順を以下に示す。ここでは簡便のため、ICカード11から機密データの読出しを行なう場合を想定する。
(1)端末装置13は、ICカード11へ乱数データを要求するコマンドを送り、ICカード11は、内部で乱数データを生成し、ICカード11内に一時記憶するとともに端末装置13へ応答する。
(2)端末装置13は、自身とICカード11とがお互いに秘密裏に把握している鍵データ(ここでは、先ほど発行処理でICカード11内に記憶した鍵データ)で、乱数データを暗号化演算し、端末認証子を生成する。
(3)端末装置13は、生成した端末認証子をICカード11へ送信することで端末認証要求を行ない、受信したICカード11は、端末認証子の正当性を、内部に記憶された鍵データと、一時記憶した乱数データとを使用して検証するという処理により、外部認証処理(端末装置13の正当性検証)を実行する。
(4)端末装置13の正当性が検証できた場合にのみ、ICカード11は、次に続くICカード11内に記録された機密データの読出しコマンドに対して機密データを応答する。
(1)端末装置13は、ICカード11へ乱数データを要求するコマンドを送り、ICカード11は、内部で乱数データを生成し、ICカード11内に一時記憶するとともに端末装置13へ応答する。
(2)端末装置13は、自身とICカード11とがお互いに秘密裏に把握している鍵データ(ここでは、先ほど発行処理でICカード11内に記憶した鍵データ)で、乱数データを暗号化演算し、端末認証子を生成する。
(3)端末装置13は、生成した端末認証子をICカード11へ送信することで端末認証要求を行ない、受信したICカード11は、端末認証子の正当性を、内部に記憶された鍵データと、一時記憶した乱数データとを使用して検証するという処理により、外部認証処理(端末装置13の正当性検証)を実行する。
(4)端末装置13の正当性が検証できた場合にのみ、ICカード11は、次に続くICカード11内に記録された機密データの読出しコマンドに対して機密データを応答する。
上記処理は一般的なICカードの運用処理を示したものであり、このうち本発明に関連する運用処理は、(3)の部分である。
以下、上記(3)の部分の具体的な処理について、図3に示すフローチャートを参照して説明する。
なお、上記(3)に記載した、端末装置13からICカード11への端末認証要求とは、たとえば、ISO/IEC7816に規定された外部認証コマンド(EXTERNAL AUTHENTICATEコマンド)で行なうものとする。
以下、上記(3)の部分の具体的な処理について、図3に示すフローチャートを参照して説明する。
なお、上記(3)に記載した、端末装置13からICカード11への端末認証要求とは、たとえば、ISO/IEC7816に規定された外部認証コマンド(EXTERNAL AUTHENTICATEコマンド)で行なうものとする。
ICカード11のCPU101は、端末装置13から送信される外部認証コマンドを受信すると、以下のような処理を行なう。
すなわち、外部認証コマンドを受信すると(ステップS1)、端末装置13から指定されたか、もしくは暗黙的に決められている、外部認証処理に使用する鍵データを、データメモリ102から検索する(ステップS2)。検索の結果、該当する鍵データが検索できなかった場合は、検索エラーを示すエラーデータを端末装置13へ応答し(ステップS3)、当該処理を終了する。
すなわち、外部認証コマンドを受信すると(ステップS1)、端末装置13から指定されたか、もしくは暗黙的に決められている、外部認証処理に使用する鍵データを、データメモリ102から検索する(ステップS2)。検索の結果、該当する鍵データが検索できなかった場合は、検索エラーを示すエラーデータを端末装置13へ応答し(ステップS3)、当該処理を終了する。
ステップS2における検索の結果、該当する鍵データが検索できた場合、検索した鍵データをデータメモリ102から読出す(ステップS4)。次に、鍵データの正当性検証を行なうための比較データを算出する(ステップS5)。
次に、ステップS2で検索した鍵データに対応した、鍵正当性検証値をデータメモリ102から検索する(ステップS6)。検索の結果、該当する鍵正当性検証値が検索できなかった場合は、検索エラーを示すエラーデータを端末装置13へ応答し(ステップS3)、当該処理を終了する。
ステップS6における検索の結果、該当する鍵正当性検証値が検索できた場合、検索した鍵正当性検証値をデータメモリ102から読出す(ステップS7)。次に、ステップS5で算出した比較データと、ステップS7で読出した鍵正当性検証値とを比較することにより、両者の間に所定の関係が成立するか否か、すなわち、本実施の形態では両データが一致するか否かを判定する(ステップS8)。
ステップS8における判定の結果、比較データと鍵正当性検証値とが不一致の場合、鍵正当性検証エラーを示すエラーデータを端末装置13へ応答し(ステップS9)、当該処理を終了する。ステップS8における判定の結果、比較データと鍵正当性検証値とが一致の場合、外部認証処理(端末装置13の正当性検証)を実行する(ステップS10)。
ステップS5における比較データの算出処理は、図4に示すフローチャートの手順にて行なわれる。
すなわち、比較データの算出処理が開始されると、データメモリ102から読出した鍵データを使用して、あらかじめ定められた8バイトのデータ(0x0000 0000 0000 0000)を、トリプルDES演算(暗号化演算)する(ステップS11)。次に、その演算結果の先頭3バイトのデータを比較データとしてワーキングメモリ103に一時記憶し(ステップS12)、当該処理を終了する。
すなわち、比較データの算出処理が開始されると、データメモリ102から読出した鍵データを使用して、あらかじめ定められた8バイトのデータ(0x0000 0000 0000 0000)を、トリプルDES演算(暗号化演算)する(ステップS11)。次に、その演算結果の先頭3バイトのデータを比較データとしてワーキングメモリ103に一時記憶し(ステップS12)、当該処理を終了する。
鍵正当性検証値は、前述した発行処理において、正当であることを確認した後にICカード11内のデータメモリ102に記憶したデータであるため、運用処理において、上記手順による検証に失敗するということは、ICカード11に対して何らかの不正な攻撃が加えられ、データメモリ102内のデータが正しく読出せない、あるいは、データメモリ102が破壊されているなど、ICカード11が正常に動作をしていないことが考えられる。どのような場合においても、発行処理で記録した鍵データが正しく使用できない状況にあるため、このまま処理を継続することは好ましくないため、正常処理の継続を中止する必要がある。
上記第1の実施の形態の特徴は、発行処理であらかじめ正当であることを確認した上で、ICカード11内のデータメモリ102に記憶した鍵正当性検証値を使用して、鍵データの正当性検証を行なうことである。
正当性検証に、発行処理装置から送信されたデータ(鍵正当性検証値)と、ICカード11の内部で検証用に算出したデータ(比較データ)を使用するため、たとえば、パリティデータやチェックサム(BCC)などのように、ICカードが自身で算出したデータの正当性を検証する方法とは違い、一方のデータがICカード自身でない外部で算出されたものであるため、信頼度の高いデータを使用した検証が行なえる。
正当性検証に、発行処理装置から送信されたデータ(鍵正当性検証値)と、ICカード11の内部で検証用に算出したデータ(比較データ)を使用するため、たとえば、パリティデータやチェックサム(BCC)などのように、ICカードが自身で算出したデータの正当性を検証する方法とは違い、一方のデータがICカード自身でない外部で算出されたものであるため、信頼度の高いデータを使用した検証が行なえる。
また、たとえば、ICカードに記憶された公開鍵データと鍵の証明書データを、上位装置がICカードから読出し、その公開鍵正当性検証を行なう場合とは違い、ICカード自身がICカードの内部処理で使用する鍵データの正当性を検証するためのものである。
次に、第2の実施の形態について説明する。
第2の実施の形態は、前述した第1の実施の形態(図3)におけるステップS8の処理で、鍵データの正当性検証に失敗した場合のエラー処理に関するものであり、具体的には以下のような処理を行なう。
第2の実施の形態は、前述した第1の実施の形態(図3)におけるステップS8の処理で、鍵データの正当性検証に失敗した場合のエラー処理に関するものであり、具体的には以下のような処理を行なう。
すなわち、ステップS8において、ステップS5で算出した比較データとステップS7で読出した鍵正当性検証値とを比較し、両データが不一致の場合、CPU101の全処理を停止する(エラーデータの応答などを行なわず、外部装置に対し無応答となる)。
このような処理により、ICカード11の内部で使用する鍵データが正当であると判定できた場合にのみ、正常に処理を行ない、正当であると判定できなかった場合は、ICカード11の全処理を中断することが可能となる。
また、CPU101の全処理を停止した場合、たとえば、ICカード11の再活性化処理などを行なわない限り、CPU101の処理が再度行なわれることはない。
また、CPU101の全処理を停止した場合、たとえば、ICカード11の再活性化処理などを行なわない限り、CPU101の処理が再度行なわれることはない。
次に、第3の実施の形態について説明する。
第3の実施の形態は、前述した第1の実施の形態(図3)におけるステップS8の処理で、鍵データの正当性検証に失敗した場合のエラー処理に関するものであり、具体的には以下のような処理を行なう。
第3の実施の形態は、前述した第1の実施の形態(図3)におけるステップS8の処理で、鍵データの正当性検証に失敗した場合のエラー処理に関するものであり、具体的には以下のような処理を行なう。
すなわち、ステップS8において、ステップS5で算出した比較データとステップS7で読出した鍵正当性検証値とを比較し、両データが不一致の場合、当該アプリケーションを一時的に利用停止状態(アプリケーションブロック状態)とする。
このような処理により、ICカード11の内部で使用する鍵データが正当であると判定できた場合にのみ、正常に処理を行ない、正当であると判定できなかった場合、アプリケーションをブロックすることにより、次回以降当該アプリケーションを使用した運用処理を利用停止とすることができる。
ここに、アプリケーションブロック状態とは、たとえば、文献「EMV2000 Integrated Circuit Card Specification for Payment Systems,Book3 Application Specification,Version4.0,December,2000」などに記載された状態を想定するものとする。
第3の実施の形態は、たとえば、クレジット用アプリケーションなど、ICカード内に1つまたは複数のアプリケーションが存在する場合に適用可能であ利、顕著な作用効果を発揮する。
次に、第4の実施の形態について説明する。
第4の実施の形態は、前述した第1の実施の形態(図3)におけるステップS8の処理で、鍵データの正当性検証に失敗した場合の異なる処理例に関するもので、以下、図5に示すフローチャートを参照して具体的に説明する。
第4の実施の形態は、前述した第1の実施の形態(図3)におけるステップS8の処理で、鍵データの正当性検証に失敗した場合の異なる処理例に関するもので、以下、図5に示すフローチャートを参照して具体的に説明する。
外部認証コマンドを受信すると(ステップS21)、端末装置13から指定されたか、もしくは暗黙的に決められている、外部認証処理に使用する鍵データを、データメモリ102から検索する(ステップS22)。検索の結果、該当する鍵データが検索できなかった場合は、検索エラーを示すエラーデータを端末装置13へ応答し(ステップS23)、当該処理を終了する。
ステップS22における検索の結果、該当する鍵データが検索できた場合、検索した鍵データをデータメモリ102から読出す(ステップS24)。次に、鍵データの正当性検証を行なうための比較データを算出する(ステップS25)。
次に、ステップS22で検索した鍵データに対応した、鍵正当性検証値をデータメモリ102から検索する(ステップS26)。検索の結果、該当する鍵正当性検証値が検索できなかった場合は、検索エラーを示すエラーデータを端末装置13へ応答し(ステップS23)、当該処理を終了する。
ステップS26における検索の結果、該当する鍵正当性検証値が検索できた場合、検索した鍵正当性検証値をデータメモリ102から読出す(ステップS27)。次に、ステップS25で算出した比較データと、ステップS27で読出した鍵正当性検証値とを比較することにより、両者の間に所定の関係が成立するか否か、すなわち、本実施の形態では両データが一致するか否かを判定する(ステップS28)。
ステップS28における判定の結果、比較データと鍵正当性検証値とが一致の場合、外部認証処理(端末装置13の正当性検証)を実行する(ステップS29)。ステップS28における判定の結果、比較データと鍵正当性検証値とが不一致の場合、図示しない比較不一致カウンタを1つ加算する(ステップS30)。
次に、比較不一致カウンタのカウント値をあらかじめ定められたカウンタ上限値(制限値)と比較し(ステップS31)、カウント値がカウンタ上限値を超えている場合、鍵正当性検証エラーを示すエラーデータを端末装置13へ応答し(ステップS32)、当該処理を終了する。ステップS31における比較の結果、カウント値がカウンタ上限値以内の場合は、処理全体を再試行するため、ステップS22へ戻り、上記同様な動作を繰り返す。
ここに、比較不一致カウンタは、鍵正当性検証値と比較データとの比較に失敗した回数を記憶するためのカウンタであり、たとえば、ワーキングメモリ103内に設けられている。また、カウンタ上限値は、上記比較不一致カウンタの上限データ(比較失敗回数の制限値)である。
このような処理により、ICカード11の内部で使用する鍵データが正当であると判定できた場合にのみ、正常に処理を行ない、正当であると判定できなかった場合、あらかじめ設定された制限値まで再試行することが可能となる。再試行を繰り返した結果、鍵データの正当性検証が行なえず、制限値を超えた場合は、処理を中断してエラーデータを応答する。
なお、上記第4の実施の形態では、比較不一致カウンタのカウント値がカウンタ上限値を超えた場合、エラー応答を行なうこととしたが、前述した第1〜第3の実施の形態の技術を組合わせることにより、結果処理を上記例以外とすることも可能である。
以上説明したように上記実施の形態によれば、発行処理などにおいて、あらかじめ外部から与えられた鍵データと鍵正当性検証値をICカード内のデータメモリへ記憶しておき、上記鍵データを使用するコマンド(命令)を受信した場合に、これらのあらかじめ記憶したデータと、上記鍵データから命令受信の都度算出する比較データを使用して、鍵データの正当性検証を行なうことにより、ICカードへ不正な攻撃が行なわれた場合に、鍵データを誤ったデータでデータメモリから読出してしまうことを防止し、また、鍵データが正しく読出せなかったと判定した場合に、誤ったデータを使用して処理を継続してしまうという問題を防止することが可能となる。
また、たとえば、ICカード自身が付加したチェックサムなどを検証する処理に比べ、片方のデータが外部装置により算出されたデータを使用した比較となるため、信頼性の高いデータを使用した検証を実施することが可能となる。
また、たとえば、ICカードに記録された公開鍵データと、鍵データの証明書データを上位装置がICカードから読出し、その公開鍵データの正当性検証を行なう場合とは違い、ICカード自身がICカード内部処理で使用する鍵データの正当性を検証するため、鍵データの正当性検証に失敗した場合、ICカード内部の秘密データなどを外部へ応答することなく、処理を中断する、などより安全な処理を行なうことが可能となる。
なお、前記実施の形態では、接触式ICカードを利用した処理を用いて例示を行なったが、たとえば、非接触式ICカードなどへの応用も可能であり、また、携帯可能電子装置の形状もカード状に限らず、ブロック状や棒状など、他の形状であってもよい。
11…ICカード(携帯可能電子装置)、11a…ICカード本体、12…カードリーダ・ライタ、13…端末装置、14…キーボード、15…CRT表示部、16…プリンタ、101…CPU(制御素子)、102…データメモリ(記憶手段)、103…ワーキングメモリ、104…プログラムメモリ、105…コンタクト部、106…ICチップ。
Claims (10)
- 外部から命令が入力されると、その命令に対応した所定の処理を実行し、その処理結果に応じた応答データを外部へ出力する携帯可能電子装置において、
あらかじめ外部から与えられた暗号化演算を行なうための鍵データ、および、この鍵データを用いて、あらかじめ定められたデータを暗号化することにより算出された鍵正当性検証値を記憶している記憶手段と、
外部から入力される前記鍵データを使用する命令を受信すると、当該鍵データを使用する前に、前記記憶手段に記憶されている鍵データを用いて、あらかじめ定められたデータを暗号化することにより比較用データを算出する比較用データ算出手段と、
この比較用データ算出手段により算出された比較用データと前記記憶手段に記憶されている鍵正当性検証値とを比較することにより両者の間に所定の関係が成立するか否かを判定する比較手段と、
この比較手段により比較用データと鍵正当性検証値との間に所定の関係が成立すると判定された場合、当該鍵データを使用した所定の処理を実行する処理手段と、
を具備したことを特徴とする携帯可能電子装置。 - 前記比較手段により比較用データと鍵正当性検証値との間に所定の関係が成立しないと判定された場合、エラーデータを外部へ出力して当該処理を終了する制御手段をさらに具備したことを特徴とする請求項1記載の携帯可能電子装置。
- 前記比較手段により比較用データと鍵正当性検証値との間に所定の関係が成立しないと判定された場合、当該処理以降、外部から入力される命令に対して処理を停止していることを示すエラーデータを外部へ出力する制御手段をさらに具備したことを特徴とする請求項1記載の携帯可能電子装置。
- 前記比較用データ算出手段、比較手段、および処理手段として機能するCPU(セントラル・プロセッシング・ユニット)を有し、
前記比較手段により比較用データと鍵正当性検証値との間に所定の関係が成立しないと判定された場合、前記CPUの動作を停止させる制御手段をさらに具備したことを特徴とする請求項1記載の携帯可能電子装置。 - 前記比較手段により比較用データと鍵正当性検証値との間に所定の関係が成立しないと判定された場合、その回数を計数する計数手段と、
この計数手段による計数値があらかじめ定められた制限値を超えていないかを判定する判定手段と、
この判定手段による判定の結果、前記計数手段の計数値が制限値を超えていない場合、前記比較用データ算出手段の処理から再度試行させる制御手段と、
をさらに具備したことを特徴とする請求項1記載の携帯可能電子装置。 - 前記判定手段による判定の結果、前記計数手段の計数値が制限値を超えている場合、エラーデータを外部へ出力して当該処理を終了する制御手段をさらに具備したことを特徴とする請求項5記載の携帯可能電子装置。
- 前記比較手段により比較用データと鍵正当性検証値との間に所定の関係が成立しないと判定された場合、当該処理以降、外部から入力される命令に対して処理を停止していることを示すエラーデータを外部へ出力する制御手段をさらに具備したことを特徴とする請求項5記載の携帯可能電子装置。
- 前記比較用データ算出手段、比較手段、および処理手段として機能するCPU(セントラル・プロセッシング・ユニット)を有し、
前記比較手段により比較用データと鍵正当性検証値との間に所定の関係が成立しないと判定された場合、前記CPUの動作を停止させる制御手段をさらに具備したことを特徴とする請求項5記載の携帯可能電子装置。 - 外部から命令が入力されると、その命令に対応した所定の処理を実行し、その処理結果に応じた応答データを外部へ出力するICカードにおいて、
あらかじめ外部から与えられた暗号化演算を行なうための鍵データ、および、この鍵データを用いて、あらかじめ定められたデータを暗号化することにより算出された鍵正当性検証値を記憶している記憶手段と、外部から入力される前記鍵データを使用する命令を受信すると、当該鍵データを使用する前に、前記記憶手段に記憶されている鍵データを用いて、あらかじめ定められたデータを暗号化することにより比較用データを算出する比較用データ算出手段と、この比較用データ算出手段により算出された比較用データと前記記憶手段に記憶されている鍵正当性検証値とを比較することにより両者の間に所定の関係が成立するか否かを判定する比較手段と、この比較手段により比較用データと鍵正当性検証値との間に所定の関係が成立すると判定された場合、当該鍵データを使用した所定の処理を実行する処理手段とを有したICモジュールと、
このICモジュールを収納したICカード本体と、
を具備したことを特徴とするICカード。 - 前記ICモジュールは、
前記比較手段により比較用データと鍵正当性検証値との間に所定の関係が成立しないと判定された場合、その回数を計数する計数手段と、
この計数手段による計数値があらかじめ定められた制限値を超えていないかを判定する判定手段と、
この判定手段による判定の結果、前記計数手段の計数値が制限値を超えていない場合、前記比較用データ算出手段の処理から再度試行させる制御手段と、
をさらに有したことを特徴とする請求項9記載のICカード。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005190053A JP2007011591A (ja) | 2005-06-29 | 2005-06-29 | 携帯可能電子装置およびicカード |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005190053A JP2007011591A (ja) | 2005-06-29 | 2005-06-29 | 携帯可能電子装置およびicカード |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007011591A true JP2007011591A (ja) | 2007-01-18 |
Family
ID=37750023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005190053A Pending JP2007011591A (ja) | 2005-06-29 | 2005-06-29 | 携帯可能電子装置およびicカード |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007011591A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8528081B2 (en) | 2009-01-05 | 2013-09-03 | Samsung Electronics Co., Ltd. | Memory system |
-
2005
- 2005-06-29 JP JP2005190053A patent/JP2007011591A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8528081B2 (en) | 2009-01-05 | 2013-09-03 | Samsung Electronics Co., Ltd. | Memory system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7469837B2 (en) | Storage device | |
JP4651212B2 (ja) | 携帯可能情報記憶媒体およびその認証方法 | |
JP3865629B2 (ja) | 記憶装置 | |
WO2002099742A1 (fr) | Carte memoire | |
EP2503482A1 (en) | Electronic device with flash memory component | |
US20060219796A1 (en) | Integrated circuit chip card capable of determining external attack | |
CN112199740B (zh) | 一种加密锁的实现方法及加密锁 | |
US20060289656A1 (en) | Portable electronic apparatus and data output method therefor | |
JP2007011591A (ja) | 携帯可能電子装置およびicカード | |
JP2005258968A (ja) | Icカードに書込まれたデータの正当性検証方法およびicカード用プログラム | |
JP4899499B2 (ja) | Icカード発行方法、icカード発行システムおよびicカード | |
JP7452750B1 (ja) | 電子情報記憶媒体、icチップ、icカード、公開鍵照合方法、及びプログラム | |
JP6969114B2 (ja) | Icカード、icカードの起動処理方法、およびicカードの起動処理プログラム | |
JP5293113B2 (ja) | 半導体装置、半導体装置の制御方法および半導体装置の制御プログラム | |
JP6610002B2 (ja) | 演算装置、演算方法、及び演算処理プログラム | |
JP2016048443A (ja) | マイクロコンピュータ | |
JP2003288214A (ja) | 情報処理装置、情報処理方法 | |
JP5131378B2 (ja) | 携帯用セキュリティデバイス | |
JP2006293937A (ja) | 情報記録媒体及び情報処理方法 | |
JP5131327B2 (ja) | 認証機能を備えた情報処理装置の発行方法 | |
JP5018199B2 (ja) | 携帯用セキュリティデバイス | |
JP2008033549A (ja) | 携帯可能電子装置、icカードおよび携帯可能電子装置の重要データ隠匿方法 | |
JP2008152452A (ja) | 携帯可能電子装置、携帯可能電子装置の制御方法およびicカード | |
JP2009295121A (ja) | 決済システム、決済処理装置、正当性検証装置、正当性検証要求処理プログラム、正当性検証処理プログラム、及び正当性検証方法 | |
JP2010055549A (ja) | Icチップ、データ読出し方法、データ読出しプログラム及び記録媒体等 |