JP2008243045A - 携帯可能電子装置およびicカード - Google Patents
携帯可能電子装置およびicカード Download PDFInfo
- Publication number
- JP2008243045A JP2008243045A JP2007085704A JP2007085704A JP2008243045A JP 2008243045 A JP2008243045 A JP 2008243045A JP 2007085704 A JP2007085704 A JP 2007085704A JP 2007085704 A JP2007085704 A JP 2007085704A JP 2008243045 A JP2008243045 A JP 2008243045A
- Authority
- JP
- Japan
- Prior art keywords
- authentication information
- verification
- verification processing
- outside
- processing means
- 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カードの所有者は正当な所有者であるか否かを判定するICカードにおいて、外部から入力される暗証番号とあらかじめ登録されている暗証番号とが一致するか否かの確認を行なう、それぞれが確認方法が異なっている複数の検証処理手段を設け、検証処理を実行するたびに、複数の検証処理手段の中の任意の1つをランダムに選択し、この選択した検証処理手段による検証処理を実行させる。
【選択図】 図7
【解決手段】不揮発性メモリに固有の認証用情報としての暗証番号が登録されていて、この登録された暗証番号と外部から入力される暗証番号とが一致するか否かの確認を行なうことにより、当該ICカードの所有者は正当な所有者であるか否かを判定するICカードにおいて、外部から入力される暗証番号とあらかじめ登録されている暗証番号とが一致するか否かの確認を行なう、それぞれが確認方法が異なっている複数の検証処理手段を設け、検証処理を実行するたびに、複数の検証処理手段の中の任意の1つをランダムに選択し、この選択した検証処理手段による検証処理を実行させる。
【選択図】 図7
Description
本発明は、たとえば、書込み、書換えが可能な不揮発性メモリおよびCPU(セントラル・プロセッシング・ユニット)などの制御素子を有し、選択的に外部との間でデータの入出力を行なう手段を備えたIC(集積回路)チップを内蔵した、いわゆるICカードと称される携帯可能電子装置に係り、特に、不揮発性メモリに固有の認証用情報としての暗証番号(PIN:Personal Identifier Nunber)が登録(記憶)されていて、この登録された暗証番号と外部から入力される暗証番号とが一致するか否かの確認を行なうことにより、当該携帯可能電子装置の所有者は正当な所有者であるか否かを判定するICカードなどの携帯可能電子装置およびICカードに関する。
最近、携帯可能電子装置として、書換え可能な不揮発性メモリとしてのEEPROM、揮発性メモリとしてのRAM、これらのメモリに対してアクセス(データの読出しおよびまたは書込み等)を行なう制御素子としてのCPU、および、CPUの動作用プログラム等を格納したROMを有し、カードリーダ・ライタを含む端末装置から供給されるコマンド(命令)に対応した処理を実行して、その処理結果を端末装置へ出力する手段を備えたICチップを内蔵したICカードが産業各方面で利用されている。
一般に、このようなICカードにあっては、コマンドやレスポンスを用いて、端末装置との間でデータの入出力を行なうようになっている。
また、この種のICカードは、不揮発性メモリに、あらかじめ固有の認証用情報としての暗証番号が登録(記憶)されていて、この登録された暗証番号と外部から照合コマンドとともに入力される暗証番号とが一致するか否かの確認を行なうことにより、当該ICカードの所有者は正当な所有者であるか否かを判定するものがある。
一般に、このようなICカードにあっては、コマンドやレスポンスを用いて、端末装置との間でデータの入出力を行なうようになっている。
また、この種のICカードは、不揮発性メモリに、あらかじめ固有の認証用情報としての暗証番号が登録(記憶)されていて、この登録された暗証番号と外部から照合コマンドとともに入力される暗証番号とが一致するか否かの確認を行なうことにより、当該ICカードの所有者は正当な所有者であるか否かを判定するものがある。
ところで、ICカードの特徴の1つとして、偽造や改竄が困難であることが挙げられる。しかし、近年では、偽造や改竄を目的とした、様々なタンパ攻撃が公表されており、その中の1つに、ICカードの消費電力を測定して、CPUの処理内容の相関を見付け出すことにより、不揮発性メモリに記憶された暗証番号などの重要データを盗みとろうとする、電力解析攻撃があり、大きな問題となっている(たとえば、特許文献1参照)。
特開2005−223477号公報
上記したように、ICカードの消費電力を測定して、CPUの処理内容の相関を見付け出すことにより、不揮発性メモリに記憶された暗証番号などの重要データを盗みとろうとする、電力解析攻撃があり、それに対する対策が強く要望されている。
そこで、本発明は、特に暗証番号などの重要データへの電力解析攻撃を困難にすることが可能となり、耐タンパ性能が著しく向上する携帯可能電子装置およびICカードを提供することを目的とする。
本発明の携帯可能電子装置は、あらかじめ認証用情報を記憶している認証用情報記憶手段と、外部から照合命令とともに入力される認証用情報と前記認証用情報記憶手段に記憶されている認証用情報との間に所定の関係が成立するか否かの確認を行なう、それぞれが確認方法が異なっている複数の検証処理手段と、外部から入力される照合命令を受信すると、前記複数の検証処理手段の中の任意の1つをランダムに選択し、この選択した検証処理手段による検証処理を実行させる選択手段と、前記選択された検証処理手段による検証処理の結果を外部へ出力する出力手段とを具備している。
また、本発明の携帯可能電子装置は、あらかじめ認証用情報を記憶している認証用情報記憶手段と、外部から照合命令とともに入力される認証用情報と前記認証用情報記憶手段に記憶されている認証用情報との間に所定の関係が成立するか否かの確認を行なう、それぞれが確認方法が異なっている複数の検証処理手段と、外部から入力される照合命令を受信すると、前記複数の検証処理手段の中の任意の1つをランダムに選択し、この選択した検証処理手段による検証処理を実行させる選択手段と、前記選択された検証処理手段による検証処理の結果、外部から照合命令とともに入力される認証用情報と前記認証用情報記憶手段に記憶されている認証用情報との間に所定の関係が成立した場合で、その検証処理の実行回数があらかじめ定められた所定値以内の場合、前記選択手段からの動作を再度実行するよう制御する制御手段と、前記選択された検証処理手段による検証処理の結果、外部から照合命令とともに入力される認証用情報と前記認証用情報記憶手段に記憶されている認証用情報との間に所定の関係が成立しなかった場合、あるいは、前記検証処理の実行回数があらかじめ定められた所定値以上になった場合、最後に実行された検証処理手段の検証処理結果を外部へ出力する出力手段とを具備している。
また、本発明のICカードは、あらかじめ認証用情報を記憶している認証用情報記憶手段と、外部から照合命令とともに入力される認証用情報と前記認証用情報記憶手段に記憶されている認証用情報との間に所定の関係が成立するか否かの確認を行なう、それぞれが確認方法が異なっている複数の検証処理手段と、外部から入力される照合命令を受信すると、前記複数の検証処理手段の中の任意の1つをランダムに選択し、この選択した検証処理手段による検証処理を実行させる選択手段と、前記選択された検証処理手段による検証処理の結果を外部へ出力する出力手段とを有して構成されるICモジュールと、このICモジュールを収納したICカード本体とを具備している。
また、本発明のICカードは、あらかじめ認証用情報を記憶している認証用情報記憶手段と、外部から照合命令とともに入力される認証用情報と前記認証用情報記憶手段に記憶されている認証用情報との間に所定の関係が成立するか否かの確認を行なう、それぞれが確認方法が異なっている複数の検証処理手段と、外部から入力される照合命令を受信すると、前記複数の検証処理手段の中の任意の1つをランダムに選択し、この選択した検証処理手段による検証処理を実行させる選択手段と、前記選択された検証処理手段による検証処理の結果、外部から照合命令とともに入力される認証用情報と前記認証用情報記憶手段に記憶されている認証用情報との間に所定の関係が成立した場合で、その検証処理の実行回数があらかじめ定められた所定値以内の場合、前記選択手段からの動作を再度実行するよう制御する制御手段と、前記選択された検証処理手段による検証処理の結果、外部から照合命令とともに入力される認証用情報と前記認証用情報記憶手段に記憶されている認証用情報との間に所定の関係が成立しなかった場合、あるいは、前記検証処理の実行回数があらかじめ定められた所定値以上になった場合、最後に実行された検証処理手段の検証処理結果を外部へ出力する出力手段とを有して構成されるICモジュールと、このICモジュールを収納したICカード本体とを具備している。
本発明によれば、外部から入力される認証用情報とあらかじめ登録されている認証用情報との間に所定の関係が成立するか否かの確認を行なう、それぞれが確認方法が異なっている複数の検証処理手段を設け、検証処理を実行するたびに、複数の検証処理手段の中の任意の1つをランダムに選択し、この選択した検証処理手段による検証処理を実行させることで、特に暗証番号(認証用情報)などの重要データへの電力解析攻撃を困難にすることが可能となり、耐タンパ性能が著しく向上する携帯可能電子装置およびICカードを提供できる。
以下、本発明の実施の形態について図面を参照して説明する。
図1は、本発明に係る携帯可能電子装置としてのICカードを取扱うICカードシステムの構成例を示すものである。このICカードシステムは、ICカード101を外部装置としてのカードリーダ・ライタ102を介して端末装置103と接続可能にするとともに、端末装置103にキーボード104、CRT表示部105、プリンタ106を接続して構成される。
図1は、本発明に係る携帯可能電子装置としてのICカードを取扱うICカードシステムの構成例を示すものである。このICカードシステムは、ICカード101を外部装置としてのカードリーダ・ライタ102を介して端末装置103と接続可能にするとともに、端末装置103にキーボード104、CRT表示部105、プリンタ106を接続して構成される。
ICカード101は、カードリーダ・ライタ102からの電源供給により動作可能な状態となり、カードリーダ・ライタ102から供給されるコマンドに応じて種々の処理を実行する。カードリーダ・ライタ102は、ICカード101に対し動作電源を供給するとともに種々の処理を要求するコマンドを供給する。
端末装置103は、たとえば、パーソナルコンピュータなどにより構成されていて、図示しないメモリに記憶されている各種制御プログラムを実行することにより、各種の処理を実行するとともに、カードリーダ・ライタ102を介してICカード101との間でデータの入出力を行なう。
ここに、図1のICカードシステムを例えばクレジットカードなどの決済システムに適用した場合はPOS端末装置やATM(自動取引装置)となり、ICカード使用者(カード所持者)はキーボード104を使用して、固有の認証用情報としての暗証番号を入力することとなる。
なお、キーボード104でICカード使用者(カード所持者)により入力される暗証番号を、以降は外部入力暗証番号と記載する。
なお、キーボード104でICカード使用者(カード所持者)により入力される暗証番号を、以降は外部入力暗証番号と記載する。
図2は、ICカード101の構成を示すもので、制御素子としてのCPU201、記憶内容が書換え可能な記憶手段(メモリ)としてのデータメモリ202、ワーキングメモリ203、プログラムメモリ204、および、カードリーダ・ライタ102との通信を行なうための通信部205によって構成されている。そして、これらのうち、破線内の部分(CPU201、データメモリ202、ワーキングメモリ203、プログラムメモリ204)は1つ(あるいは複数)のICチップ206で構成され、さらに、このICチップ206と通信部205とが一体的にICモジュール化されて、ICカード本体101a内に埋設されている。
CPU201は、各種の判定処理や判断処理およびメモリへの書込みや読出しなどの各種のデータ処理を行なう制御部である。
データメモリ202は、たとえば、EEPROM(エレクトリカリ・イレーザブル・アンド・プログラマブル・リード・オンリ・メモリ)などの消去(書換え)可能な不揮発性メモリで構成されていて、固有の認証用情報としての暗証番号や各種アプリケーションデータなどの各種データがファイル構造で記憶される。
ワーキングメモリ203は、CPU201が処理を行なう際の処理データを一時的に保持するための作業用のメモリであり、たとえば、RAM(ランダム・アクセス・メモリ)などの揮発性メモリで構成されている。
プログラムメモリ204は、たとえば、マスクROM(リード・オンリ・メモリ)などの書換え不可能な固定メモリで構成されており、CPU201の制御プログラムなどを記憶している。
通信部205は、ICカード101が非接触式(無線式)ICカードの場合にはアンテナ部として構成され、カードリーダ・ライタ102から送信された変調波を非接触で受信したり外部へ変調波を発信したりするようになっている。また、この通信部205で受信した変調波から内部回路に供給するための電源やクロックを生成するようになっている。また、接触式ICカードの場合にはコンタクト部として構成され、カードリーダ・ライタ102に設けられたICカード端子部(図示しない)と接触することにより電源やクロックを得るようになっている。
本実施の形態の場合、キーボード104でICカード使用者(カード所持者)により入力された暗証番号(外部入力暗証番号)が、端末装置103から照合コマンドに付加されてカードリーダ・ライタ102を介してICカード101に送信される。
ICカード101は、端末装置103から送信された照合コマンドを通信部205により受信し、当該照合コマンドに付加された暗証番号をワーキングメモリ202に一時的に保持し、データメモリ202に保持されている暗証番号との間に所定の関係が成立するか否かの確認、この例の場合は両暗証番号の一致・不一致の検証処理を行なう。
その後、ICカード101は、検証処理結果(一致あるいは不一致)を通信部205によりカードリーダ・ライタ102を介して端末装置103へ送信する。端末装置103は、カードリーダ・ライタ102を介して受信した検証処理結果をCRT表示部105に表示し、当該表示内容によりICカード使用者(カード所持者)は検証処理結果を確認することとなる。
図3は、本実施の形態における暗証番号301および外部入力暗証番号302の概念図を示す。暗証番号301は、前述したようにデータメモリ202に登録(記憶)されており、たとえば、アドレス「0000h〜0007h」に記憶されているものとする。外部入力暗証番号302は、前述したように端末装置103から照合コマンドに付加されて入力され、ワーキングメモリ203に一時的に保持されており、たとえば、アドレス「1000h〜1007h」に記憶されているものとする。この例では、暗証番号301および外部入力暗証番号302ともに8バイトのデータ長で、同一の値を有するものとする。
図4〜図6は、図3に示した暗証番号の概念図を想定した、本実施の形態における複数の暗証番号検証処理方法(複数の検証処理手段)のアセンブラによるコーディング例を示す。コーディング例はサブルーチンとして記述されており、破線で囲まれている部分(図4はL407、図5はL507、図6はL607)が暗証番号301と外部入力暗証番号302を直接検証する部分であり、この部分の命令コードを変えることが電力解析攻撃への対抗策となる。
コーディング例は3つであるが、より多くの検証処理方法が適用される方が対抗策として強いものとなる。また、サブルーチンの呼び出し元は、いわゆるZフラグで検証結果を判断することとなる、コーディング例では、Zフラグ=1の場合が暗証番号301と外部入力暗証番号302とが一致したことを示し、Zフラグ=0の場合が不一致だったことを示す。
図4は、暗証番号検証処理方法の1つとして、「比較処理での検証処理方法」のアセンブラによるコーディング例を示す。初期設定として、L401でHLレジスタに暗証番号301の先頭アドレス「0000h」を設定、L402でDEレジスタに外部入力暗証番号302の先頭アドレス「1000h」を設定、L403でBレジスタに暗証番号301のデータ長である即値「8」を設定する。HLレジスタは暗証番号301のインデックスとして、DEレジスタは外部入力暗証番号302のインデックスとして、Bレジスタは検証処理のカウンタとして使用される。
次に、L404〜L408で検証処理が実施される。すなわち、L404〜L406でAレジスタに暗証番号301のうちのnバイト目のデータ(n=1〜8)が転送され、Cレジスタに外部入力暗証番号302のうちのnバイト目のデータ(n=1〜8)が転送される。次に、L407でAレジスタの内容とCレジスタの内容との比較処理を行ない、L408で比較処理の結果を判断する。
比較処理の結果、両内容が一致した場合は後続のL409以降の処理を実施し、不一致の場合は処理を終了する。すなわち、L409〜L411でインデックス(HLレジスタ、DEレジスタ)およびカウンタ(Bレジスタ)の更新を行なう。インデックスはインクリメント処理(たとえば、「0000h」の場合は「1」を加算して「0001h」に更新)を行ない、カウンタにはデクリメント処理(たとえば、「8」の場合は「1」を減算して「7」に更新)を実施する。
次に、L412で更新されたカウンタが「0」であるかの確認を行なう。「0」でない場合(「1〜7」の場合)はL404へジャンプし、「0」である場合はL413で処理を終了する。
図5は、暗証番号検証処理方法の1つとして、「減算処理での検証処理方法」のアセンブラによるコーディング例を示す。初期設定として、L501でHLレジスタに暗証番号301の最終アドレス「0007h」を設定、L502でDEレジスタに外部入力暗証番号302の最終アドレス「1007h」を設定、L503でBレジスタに初期値である即値「0」を設定する。HLレジスタは暗証番号301のインデックスとして、DEレジスタは外部入力暗証番号302のインデックスとして、Bレジスタは検証処理のカウンタとして使用される。
次に、L504〜L508で検証処理が実施される。すなわち、L504〜L506でAレジスタに暗証番号301のうちのnバイト目のデータ(n=1〜8)が転送され、Cレジスタに外部入力暗証番号302のうちのnバイト目のデータ(n=1〜8)が転送される。次に、L507でAレジスタの内容からCレジスタの内容を減算する減算処理を行ない、L508で減算処理の結果を判断する。
減算処理の結果、両内容が一致した場合は後続のL509以降の処理を実施し、不一致の場合は処理を終了する。すなわち、L509〜L511でインデックス(HLレジスタ、DEレジスタ)およびカウンタ(Bレジスタ)の更新を行なう。インデックスはデクリメント処理(たとえば、「0007h」の場合は「1」を減算して「0006h」に更新)を行ない、カウンタにはインクリメント処理(たとえば、「0」の場合は「1」を加算して「1」に更新)を実施する。
次に、L512〜L514で更新されたカウンタが「8」であるかの確認を行なう。「8」でない場合(「1〜7」の場合)はL504へジャンプし、「8」である場合はL515で処理を終了する。
図6は、暗証番号検証処理方法の1つとして、「排他的論理和での検証処理方法」のアセンブラによるコーディング例を示す。初期設定として、L601でHLレジスタに暗証番号301の先頭アドレス「0000h」を設定、L602でDEレジスタに外部入力暗証番号302の先頭アドレス「1000h」を設定、L603でBレジスタに暗証番号301のデータ長である即値「8」を設定する。HLレジスタは暗証番号301のインデックスとして、DEレジスタは外部入力暗証番号302のインデックスとして、Bレジスタは検証処理のカウンタとして使用される。
次に、L604〜L608で検証処理が実施される。すなわち、L604〜L606でAレジスタに暗証番号301のうちのnバイト目のデータ(n=1〜8)が転送され、Cレジスタに外部入力暗証番号302のうちのnバイト目のデータ(n=1〜8)が転送される。次に、L407でAレジスタの内容とCレジスタの内容との排他的論理和の演算処理を行ない、L608で演算処理の結果を判断する。
演算処理の結果、両内容が一致した場合は後続のL609以降の処理を実施し、不一致の場合は処理を終了する。すなわち、L609〜L611でインデックス(HLレジスタ、DEレジスタ)およびカウンタ(Bレジスタ)の更新を行なう。インデックスはインクリメント処理(たとえば、「0000h」の場合は「1」を加算して「0001h」に更新)を行ない、カウンタにはデクリメント処理(たとえば、「8」の場合は「1」を減算して「7」に更新)を実施する。
次に、L612で更新されたカウンタが「0」であるかの確認を行なう。「0」でない場合(「1〜7」の場合)はL604へジャンプし、「0」である場合はL613で処理を終了する。
図7は、図4〜図6で例示したコーディング例をサブルーチン(モジュール)として使用した場合の動作例を示しており、以下、それについて説明する。
端末装置103からの照合コマンドをカードリーダ・ライタ102を介して受信すると(ステップS1)、CPU201は、受信した照合コマンドから、それに付加されている暗証番号を取出し、ワーキングメモリ203内の暗証番号格納部に一時的に格納する(ステップS2)。なお、以降は、ワーキングメモリ203に一時的に格納した暗証番号を外部入力暗証番号302と記載する。
次に、CPU201は、後続処理で暗証番号検証処理方法を選択するための乱数を1バイト生成し、その下位2ビットを確認する(ステップS3)。この場合、生成される乱数は、乱数生成回路を使用するなど、高い乱数性があることが望ましい。
次に、CPU201は、生成した乱数を使用して、図4〜図6のサブルーチンを選択する(ステップS4〜S8)。すなわち、生成した乱数の下位2ビットが「01」であるか否かを判定し(ステップS4)、下位2ビットが「01」であれば、サブルーチンとして図4の「比較処理での検証処理方法」が選択される(ステップS5)。
ステップS4における判定の結果、下位2ビットが「01」でなければ、生成した乱数の下位2ビットが「10」であるか否かを判定し(ステップS6)、下位2ビットが「10」であれば、サブルーチンとして図5の「減算処理での検証処理方法」が選択され(ステップS7)、下位2ビットが「10」でなければ、サブルーチンとして図6の「排他的論理和での検証処理方法」が選択される(ステップS8)。
具体例を用いて説明すると、たとえば、生成した乱数が71h=01110001の場合、ステップS4で「YES」と判定されて、ステップS5で「比較処理での検証処理方法」が選択される。
また、たとえば、生成した乱数が72h=01110010の場合、ステップS4で「NO」と判定され、ステップS6で「YES」と判定されて、ステップS7で「減算処理での検証処理方法」が選択される。
さらに、たとえば、生成した乱数が70h=01110000の場合、ステップS4で「NO」と判定され、ステップS6でも「NO」と判定されて、ステップS8で排他的論理和での検証処理方法」が選択される。
次に、CPU201は、上記のようにして選択されたサブルーチンを使用して、ワーキングメモリ203に格納されている外部入力暗証番号302およびデータメモリ202に登録されている暗証番号301との検証処理、すなわち、ワーキングメモリ202に格納されている暗証番号とデータメモリ202に登録されている暗証番号301との間に所定の関係が成立するか否かの確認、この例の場合は両暗証番号の一致・不一致の検証処理を行なう(ステップS9)。
ステップS9での検証処理の結果、両暗証番号が一致(Zフラグ=1)した場合(ステップS10)、CPU201は、ワーキングメモリ203内のステータス格納部へ「暗証番号は一致」を意味するステータスを設定(格納)し(ステップS11)、その後、設定されたステータスを通信部205を介して外部装置(端末装置103)へ送信する(ステップS12)。
また、ステップS9での検証処理の結果、両暗証番号が不一致(Zフラグ=0)の場合(ステップS10)、CPU201は、ワーキングメモリ203内のステータス格納部へ「暗証番号は不一致」を意味するステータスを設定(格納)し(ステップS13)、その後、設定されたステータスを通信部205を介して外部装置(端末装置103)へ送信する(ステップS12)。
図8は、図4〜図6で例示したコーディング例をサブルーチン(モジュール)として使用し、複数回検証処理を行なう場合の動作例を示しており、以下、それについて説明する。なお、以下の動作例では2回検証処理を行なう場合であり、検証処理を複数回行なうのは、相関を低減する目的もあるが、その他のタンパ攻撃(たとえば、故障利用攻撃等)の対抗策としても有効となるためである。
端末装置103からの照合コマンドをカードリーダ・ライタ102を介して受信すると(ステップS21)、CPU201は、受信した照合コマンドから、それに付加されている暗証番号を取出し、ワーキングメモリ203内の暗証番号格納部に一時的に格納する(ステップS22)。なお、以降は、ワーキングメモリ203に一時的に格納した暗証番号を外部入力暗証番号302と記載する。
次に、CPU201は、複数回の検証処理を実行するためのループカウンタ(図示せず)に検証回数を設定する(ステップS23)。この動作例では2回の実行のため、ループカウンタに「2」を設定する。
次に、CPU201は、後続処理で暗証番号検証処理方法を選択するための乱数を1バイト生成し、その下位2ビットを確認する(ステップS24)。この場合、生成される乱数は、乱数生成回路を使用するなど、高い乱数性があることが望ましい。
次に、CPU201は、生成した乱数を使用して、図4〜図6のサブルーチンを選択する(ステップS25〜S29)。すなわち、生成した乱数の下位2ビットが「01」であるか否かを判定し(ステップS25)、下位2ビットが「01」であれば、サブルーチンとして図4の「比較処理での検証処理方法」が選択される(ステップS26)。
ステップS25における判定の結果、下位2ビットが「01」でなければ、生成した乱数の下位2ビットが「10」であるか否かを判定し(ステップS27)、下位2ビットが「10」であれば、サブルーチンとして図5の「減算処理での検証処理方法」が選択され(ステップS28)、下位2ビットが「10」でなければ、サブルーチンとして図6の「排他的論理和での検証処理方法」が選択される(ステップS29)。
具体例を用いて説明すると、たとえば、生成した乱数が71h=01110001の場合、ステップS25で「YES」と判定されて、ステップS26で「比較処理での検証処理方法」が選択される。
また、たとえば、生成した乱数が72h=01110010の場合、ステップS25で「NO」と判定され、ステップS27で「YES」と判定されて、ステップS28で「減算処理での検証処理方法」が選択される。
さらに、たとえば、生成した乱数が70h=01110000の場合、ステップS25で「NO」と判定され、ステップS27でも「NO」と判定されて、ステップS29で排他的論理和での検証処理方法」が選択される。
次に、CPU201は、上記のようにして選択されたサブルーチンを使用して、ワーキングメモリ203に格納されている外部入力暗証番号302およびデータメモリ202に登録されている暗証番号301との検証処理、すなわち、ワーキングメモリ202に格納されている暗証番号とデータメモリ202に登録されている暗証番号301との間に所定の関係が成立するか否かの確認、この例の場合は両暗証番号の一致・不一致の検証処理を行なう(ステップS30)。
ステップS30での検証処理の結果、両暗証番号が不一致(Zフラグ=0)の場合(ステップS31)、CPU201は、ワーキングメモリ203内のステータス格納部へ「暗証番号は不一致」を意味するステータスを設定(格納)し(ステップS32)、その後、設定されたステータスを通信部205を介して外部装置(端末装置103)へ送信する(ステップS33)。
また、ステップS30での検証処理の結果、両暗証番号が一致(Zフラグ=1)した場合(ステップS31)、CPU201は、ループカウンタをデクリメント処理(「1」を減算)し(ステップS34)、その後、更新されたループカウンタの値が「0」であるか否かの確認を行なう(ステップS35)。
ステップS35における確認の結果、ループカウンタの値が「0」でない場合(「1」の場合)、CPU201は、再度、検証処理を行なうためにステップS24に戻り、上記同様な動作を繰り返す。
ステップS35における確認の結果、ループカウンタの値が「0」である場合、CPU201は、ワーキングメモリ203内のステータス格納部へ「暗証番号は一致」を意味するステータスを設定(格納)し(ステップS36)、その後、設定されたステータスを通信部205を介して外部装置(端末装置103)へ送信する(ステップS33)。
ステップS35における確認の結果、ループカウンタの値が「0」である場合、CPU201は、ワーキングメモリ203内のステータス格納部へ「暗証番号は一致」を意味するステータスを設定(格納)し(ステップS36)、その後、設定されたステータスを通信部205を介して外部装置(端末装置103)へ送信する(ステップS33)。
以上説明したように、上記実施の形態によれば、不揮発性メモリに固有の認証用情報としての暗証番号が登録されていて、この登録された暗証番号と外部から入力される暗証番号とが一致するか否かの確認を行なうことにより、当該ICカードの所有者は正当な所有者であるか否かを判定するICカードにおいて、特に暗証番号などの重要データへの電力解析攻撃の対抗策として、CPUの処理内容の相関を低減するような、すなわち、異なるプログラム構造の暗証番号の一致・不一致の検証処理手段を複数設け、その検証処理手段をランダムに選択して実行することにより、電力解析を困難にすることを実現できる。したがって、耐タンパ性能が著しく向上する。
なお、前記実施の形態では、携帯可能電子装置としてICカードに適用した場合について説明したが、本発明はこれに限定されるものではなく、たとえば、PDAと称される携帯端末装置や携帯電話機などであっても適用でき、また、形状もカード型に限らず、冊子型、ブロック形あるいはタグ型などであってもよい。
101…ICカード(携帯可能電子装置)、101a…ICカード本体、102…カードリーダ・ライタ、103…端末装置、104…キーボード、105…CRT表示部、106…プリンタ、201…CPU(制御素子)、202…データメモリ(記憶手段)、203…ワーキングメモリ、204…プログラムメモリ、205…通信部、206…ICチップ、301…暗証番号(登録された認証用情報)、302…外部入力暗証番号(外部から入力された認証用情報)。
Claims (6)
- あらかじめ認証用情報を記憶している認証用情報記憶手段と、
外部から照合命令とともに入力される認証用情報と前記認証用情報記憶手段に記憶されている認証用情報との間に所定の関係が成立するか否かの確認を行なう、それぞれが確認方法が異なっている複数の検証処理手段と、
外部から入力される照合命令を受信すると、前記複数の検証処理手段の中の任意の1つをランダムに選択し、この選択した検証処理手段による検証処理を実行させる選択手段と、
前記選択された検証処理手段による検証処理の結果を外部へ出力する出力手段と、
を具備したことを特徴とする携帯可能電子装置。 - あらかじめ認証用情報を記憶している認証用情報記憶手段と、
外部から照合命令とともに入力される認証用情報と前記認証用情報記憶手段に記憶されている認証用情報との間に所定の関係が成立するか否かの確認を行なう、それぞれが確認方法が異なっている複数の検証処理手段と、
外部から入力される照合命令を受信すると、前記複数の検証処理手段の中の任意の1つをランダムに選択し、この選択した検証処理手段による検証処理を実行させる選択手段と、
前記選択された検証処理手段による検証処理の結果、外部から照合命令とともに入力される認証用情報と前記認証用情報記憶手段に記憶されている認証用情報との間に所定の関係が成立した場合で、その検証処理の実行回数があらかじめ定められた所定値以内の場合、前記選択手段からの動作を再度実行するよう制御する制御手段と、
前記選択された検証処理手段による検証処理の結果、外部から照合命令とともに入力される認証用情報と前記認証用情報記憶手段に記憶されている認証用情報との間に所定の関係が成立しなかった場合、あるいは、前記検証処理の実行回数があらかじめ定められた所定値以上になった場合、最後に実行された検証処理手段の検証処理結果を外部へ出力する出力手段と、
を具備したことを特徴とする携帯可能電子装置。 - 前記複数の検証処理手段は、少なくとも、外部から照合命令とともに入力される認証用情報と前記認証用情報記憶手段に記憶されている認証用情報とを比較することにより、両認証用情報の間に所定の関係が成立するか否かの確認を行なう検証処理手段、外部から照合命令とともに入力される認証用情報から前記認証用情報記憶手段に記憶されている認証用情報を減算することにより、両認証用情報の間に所定の関係が成立するか否かの確認を行なう検証処理手段、および、外部から照合命令とともに入力される認証用情報と前記認証用情報記憶手段に記憶されている認証用情報との排他的論理和をとることにより、両認証用情報の間に所定の関係が成立するか否かの確認を行なう検証処理手段を含んでいることを特徴とする請求項1または請求項2記載の携帯可能電子装置。
- あらかじめ認証用情報を記憶している認証用情報記憶手段と、外部から照合命令とともに入力される認証用情報と前記認証用情報記憶手段に記憶されている認証用情報との間に所定の関係が成立するか否かの確認を行なう、それぞれが確認方法が異なっている複数の検証処理手段と、外部から入力される照合命令を受信すると、前記複数の検証処理手段の中の任意の1つをランダムに選択し、この選択した検証処理手段による検証処理を実行させる選択手段と、前記選択された検証処理手段による検証処理の結果を外部へ出力する出力手段とを有して構成されるICモジュールと、
このICモジュールを収納したICカード本体と、
を具備したことを特徴とするICカード。 - あらかじめ認証用情報を記憶している認証用情報記憶手段と、外部から照合命令とともに入力される認証用情報と前記認証用情報記憶手段に記憶されている認証用情報との間に所定の関係が成立するか否かの確認を行なう、それぞれが確認方法が異なっている複数の検証処理手段と、外部から入力される照合命令を受信すると、前記複数の検証処理手段の中の任意の1つをランダムに選択し、この選択した検証処理手段による検証処理を実行させる選択手段と、前記選択された検証処理手段による検証処理の結果、外部から照合命令とともに入力される認証用情報と前記認証用情報記憶手段に記憶されている認証用情報との間に所定の関係が成立した場合で、その検証処理の実行回数があらかじめ定められた所定値以内の場合、前記選択手段からの動作を再度実行するよう制御する制御手段と、前記選択された検証処理手段による検証処理の結果、外部から照合命令とともに入力される認証用情報と前記認証用情報記憶手段に記憶されている認証用情報との間に所定の関係が成立しなかった場合、あるいは、前記検証処理の実行回数があらかじめ定められた所定値以上になった場合、最後に実行された検証処理手段の検証処理結果を外部へ出力する出力手段とを有して構成されるICモジュールと、
このICモジュールを収納したICカード本体と、
を具備したことを特徴とするICカード。 - 前記複数の検証処理手段は、少なくとも、外部から照合命令とともに入力される認証用情報と前記認証用情報記憶手段に記憶されている認証用情報とを比較することにより、両認証用情報の間に所定の関係が成立するか否かの確認を行なう検証処理手段、外部から照合命令とともに入力される認証用情報から前記認証用情報記憶手段に記憶されている認証用情報を減算することにより、両認証用情報の間に所定の関係が成立するか否かの確認を行なう検証処理手段、および、外部から照合命令とともに入力される認証用情報と前記認証用情報記憶手段に記憶されている認証用情報との排他的論理和をとることにより、両認証用情報の間に所定の関係が成立するか否かの確認を行なう検証処理手段を含んでいることを特徴とする請求項4または請求項5記載のICカード。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007085704A JP2008243045A (ja) | 2007-03-28 | 2007-03-28 | 携帯可能電子装置およびicカード |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007085704A JP2008243045A (ja) | 2007-03-28 | 2007-03-28 | 携帯可能電子装置およびicカード |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008243045A true JP2008243045A (ja) | 2008-10-09 |
Family
ID=39914272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007085704A Pending JP2008243045A (ja) | 2007-03-28 | 2007-03-28 | 携帯可能電子装置およびicカード |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008243045A (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017028138A1 (zh) * | 2015-08-16 | 2017-02-23 | 张焰焰 | 用数字和指纹验证账号登录的方法和移动终端 |
WO2017028139A1 (zh) * | 2015-08-16 | 2017-02-23 | 张焰焰 | 用数字和指纹验证账号登录后的信息提示方法和移动终端 |
WO2017031654A1 (zh) * | 2015-08-22 | 2017-03-02 | 张焰焰 | 用手势和数字验证账号登录后的信息提示方法和移动终端 |
WO2017031705A1 (zh) * | 2015-08-25 | 2017-03-02 | 张焰焰 | 用手势和指纹验证账号登录的方法和移动终端 |
WO2017031656A1 (zh) * | 2015-08-22 | 2017-03-02 | 张焰焰 | 三重验证登录账号时推送信息提示的方法和移动终端 |
WO2017031653A1 (zh) * | 2015-08-22 | 2017-03-02 | 张焰焰 | 用手势和数字验证账号登录的方法和移动终端 |
WO2017031733A1 (zh) * | 2015-08-26 | 2017-03-02 | 张焰焰 | 用手势和指纹验证账号登录后的信息提示方法和移动终端 |
WO2017031655A1 (zh) * | 2015-08-22 | 2017-03-02 | 张焰焰 | 三重验证登录账号的方法和移动终端 |
US10044703B2 (en) | 2014-02-28 | 2018-08-07 | Samsung Electronics Co., Ltd. | User device performing password based authentication and password registration and authentication methods thereof |
-
2007
- 2007-03-28 JP JP2007085704A patent/JP2008243045A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10044703B2 (en) | 2014-02-28 | 2018-08-07 | Samsung Electronics Co., Ltd. | User device performing password based authentication and password registration and authentication methods thereof |
WO2017028138A1 (zh) * | 2015-08-16 | 2017-02-23 | 张焰焰 | 用数字和指纹验证账号登录的方法和移动终端 |
WO2017028139A1 (zh) * | 2015-08-16 | 2017-02-23 | 张焰焰 | 用数字和指纹验证账号登录后的信息提示方法和移动终端 |
WO2017031654A1 (zh) * | 2015-08-22 | 2017-03-02 | 张焰焰 | 用手势和数字验证账号登录后的信息提示方法和移动终端 |
WO2017031656A1 (zh) * | 2015-08-22 | 2017-03-02 | 张焰焰 | 三重验证登录账号时推送信息提示的方法和移动终端 |
WO2017031653A1 (zh) * | 2015-08-22 | 2017-03-02 | 张焰焰 | 用手势和数字验证账号登录的方法和移动终端 |
WO2017031655A1 (zh) * | 2015-08-22 | 2017-03-02 | 张焰焰 | 三重验证登录账号的方法和移动终端 |
WO2017031705A1 (zh) * | 2015-08-25 | 2017-03-02 | 张焰焰 | 用手势和指纹验证账号登录的方法和移动终端 |
WO2017031733A1 (zh) * | 2015-08-26 | 2017-03-02 | 张焰焰 | 用手势和指纹验证账号登录后的信息提示方法和移动终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008243045A (ja) | 携帯可能電子装置およびicカード | |
KR910002256B1 (ko) | 휴대할 수 있는 전자장치 | |
US20100235629A1 (en) | Information storage medium, authentication data generation method, and medium authentication system | |
JP4891587B2 (ja) | 携帯可能電子装置、icカードおよびicモジュール | |
KR100838671B1 (ko) | 암호코드 대조기능을 갖는 휴대형 정보처리 장치 | |
JP3178881B2 (ja) | 携帯可能電子装置 | |
US11151338B2 (en) | Securing a transaction by means of a smart card and smart card | |
JP2007115187A (ja) | 携帯可能電子装置およびicカード | |
JP4836707B2 (ja) | 携帯可能電子装置およびicカード | |
JP2008299416A (ja) | 携帯可能電子装置、携帯可能電子装置におけるファイルアクセス方法およびicカード | |
JPH11282991A (ja) | Icカード | |
JP3251579B2 (ja) | 携帯可能電子装置 | |
JP4713878B2 (ja) | 携帯可能電子装置 | |
JP2006268779A (ja) | 携帯可能電子装置 | |
JP5019210B2 (ja) | 携帯可能電子装置、icカード、および携帯可能電子装置の制御方法 | |
JP2006293706A (ja) | アプリケーションの更新機能を有するマルチアプリケーションicカード | |
JPH01217689A (ja) | 携帯可能電子装置およびicチップ | |
JP4876449B2 (ja) | Icカード、および、icカードプログラム | |
JP2009134545A (ja) | 携帯可能電子装置およびicカード | |
JP2013097524A (ja) | Icチップ、データ保護方法、データ保護プログラム、icカード及び記録媒体 | |
JP2001202487A (ja) | 携帯可能電子装置およびキー照合方法 | |
JP2009015375A (ja) | データを暗号化する機能を備えたicカード、方法およびicカード用プログラム | |
JP2005056259A (ja) | 携帯可能電子媒体と携帯可能電子媒体取扱装置 | |
JP2010170204A (ja) | 携帯可能電子装置およびicカード | |
JPH03224047A (ja) | 携帯可能電子装置 |