JP2856415B2 - 携帯可能電子装置 - Google Patents
携帯可能電子装置Info
- Publication number
- JP2856415B2 JP2856415B2 JP7965689A JP7965689A JP2856415B2 JP 2856415 B2 JP2856415 B2 JP 2856415B2 JP 7965689 A JP7965689 A JP 7965689A JP 7965689 A JP7965689 A JP 7965689A JP 2856415 B2 JP2856415 B2 JP 2856415B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- area
- write
- encrypted
- command
- 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.)
- Expired - Fee Related
Links
- 238000012790 confirmation Methods 0.000 claims description 43
- 238000000034 method Methods 0.000 description 32
- 230000008569 process Effects 0.000 description 24
- 230000004044 response Effects 0.000 description 18
- 238000012545 processing Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 102100032156 Adenylate cyclase type 9 Human genes 0.000 description 1
- 101000775499 Homo sapiens Adenylate cyclase type 9 Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Credit Cards Or The Like (AREA)
- Storage Device Security (AREA)
Description
【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は、たとえば金融分野における取引システムな
どで使用されるICカードなどの携帯可能電子装置に係
り、特に取引時における取引データの正当性確認情報の
出力制御方法を改良した携帯可能電子装置に関する。
どで使用されるICカードなどの携帯可能電子装置に係
り、特に取引時における取引データの正当性確認情報の
出力制御方法を改良した携帯可能電子装置に関する。
(従来の技術) 近年、新たな携帯可能なデータ記憶媒体として、消去
可能な不揮発性メモリおよびCPUなどの制御素子を有す
るICチップを内蔵した、いわゆるICカードが注目されて
いる。この種のICカードは、通常、外部から入力される
命令を制御素子が解読し、メモリへのデータ書込みおよ
び読出しなどの制御を行なうようになっている。
可能な不揮発性メモリおよびCPUなどの制御素子を有す
るICチップを内蔵した、いわゆるICカードが注目されて
いる。この種のICカードは、通常、外部から入力される
命令を制御素子が解読し、メモリへのデータ書込みおよ
び読出しなどの制御を行なうようになっている。
このようなICカードは、最近、金融分野における取引
システムでクレジットカードなどとして利用されてい
る。
システムでクレジットカードなどとして利用されてい
る。
さて、取引システムなどでICカードを使用する場合、
ICカードのメモリに書込む取引データの正当性を外部で
確認するために、取引データ書込みの際、その取引デー
タをパラメータとした正当性確認情報と呼ばれる暗号化
データを生成して、取引データの書込み終了時に外部に
出力し、この出力された正当性確認情報により取引デー
タの正当性を確認する確認方法が考えられている。
ICカードのメモリに書込む取引データの正当性を外部で
確認するために、取引データ書込みの際、その取引デー
タをパラメータとした正当性確認情報と呼ばれる暗号化
データを生成して、取引データの書込み終了時に外部に
出力し、この出力された正当性確認情報により取引デー
タの正当性を確認する確認方法が考えられている。
(発明が解決しようとする課題) このような確認方法では、確認する側とICカード側と
で正当性確認情報の生成時に使用する暗号化アルゴリズ
ムおよびキーデータを共有していることが前提となり、
これらが外部に漏洩すると、確認システムが崩れる恐れ
がある。
で正当性確認情報の生成時に使用する暗号化アルゴリズ
ムおよびキーデータを共有していることが前提となり、
これらが外部に漏洩すると、確認システムが崩れる恐れ
がある。
ところで、ICカード内のメモリは、複数のエリアに分
割されていて、外部からそのエリアに付与されたエリア
番号を指定し、アクセスするという論理アドレス方法を
採用するのが一般的である。そして、個々のエリアは、
データが一杯になると書込めなくなるシーケンシャルエ
リアと、データが一杯になると古いものを消去しながら
順次書込めるようにしたロートテートエリアとにタイプ
分けし、アプリケーションの仕様で選択できるようにな
っている。
割されていて、外部からそのエリアに付与されたエリア
番号を指定し、アクセスするという論理アドレス方法を
採用するのが一般的である。そして、個々のエリアは、
データが一杯になると書込めなくなるシーケンシャルエ
リアと、データが一杯になると古いものを消去しながら
順次書込めるようにしたロートテートエリアとにタイプ
分けし、アプリケーションの仕様で選択できるようにな
っている。
しかし、特にロートテートエリアの場合、外部からの
データを半永久回数書込めるため、このエリアを使用し
て正当性確認情報出力要求する書込みを何回でも行なう
ことが可能となり、正当性確認情報の生成メカニズムに
対する選択性平文攻撃を受け易くなるという問題があっ
た。
データを半永久回数書込めるため、このエリアを使用し
て正当性確認情報出力要求する書込みを何回でも行なう
ことが可能となり、正当性確認情報の生成メカニズムに
対する選択性平文攻撃を受け易くなるという問題があっ
た。
そこで、本発明は、正当性確認情報の生成メカニズム
に対する選択的平文攻撃が受けにくくなり、確認システ
ムそのものの機能が充分維持できる携帯可能電子装置を
提供することを目的とする。
に対する選択的平文攻撃が受けにくくなり、確認システ
ムそのものの機能が充分維持できる携帯可能電子装置を
提供することを目的とする。
[発明の構成] (課題を解決するための手段) 本発明の携帯可能電子装置は、メモリ部と、このメモ
リ部に対してデータの書込みおよび読出しを行なう制御
部を有し、選択的に外部とのデータの授受を行なう携帯
可能電子装置において、前記メモリ部を複数のエリアに
分割するとともに、各エリアの属性としてデータを暗号
化して書込むエリアであるか否かおよび正当性確認情報
を出力してよいエリアであるかを定義するデータを記憶
するエリア定義手段と、キーデータを格納しておく格納
手段と、外部装置からエリアを指定した書込み命令を受
信した場合、指定されたエリアがデータを暗号化して書
込むエリアであるか否かを前記エリア定義手段に格納さ
れている定義情報により確認する確認手段と、指定され
たエリアがデータを暗号化して書込むエリアでない場
合、受信した書込み命令中の書込みデータを順次指定さ
れたエリアに書込み第1の書込み手段と、指定されたエ
リアがデータを暗号化して書込むエリアであった場合、
前記格納手段に格納されているキーデータを使用して受
信した書込みデータを暗号化する暗号化手段と、この暗
号化手段にて暗号化された書込みデータを指定されたエ
リアに書込む第2の書込み手段と、前記受信した書込み
命令が正当性確認要求のモードであるか否かを確認する
第2の確認手段と、この第2の確認手段にて正当性確認
要求のモードであると確認された場合、指定されたエリ
アが正当性確認情報を出力してよいエリアであるか前記
エリア定義手段に格納されている定義情報により確認す
る第3の確認手段と、この第3の確認手段にて正当性確
認情報を出力してよいエリアであると確認された場合、
前記暗号化データのうち一部のデータを外部に受信する
手段とを具備している。
リ部に対してデータの書込みおよび読出しを行なう制御
部を有し、選択的に外部とのデータの授受を行なう携帯
可能電子装置において、前記メモリ部を複数のエリアに
分割するとともに、各エリアの属性としてデータを暗号
化して書込むエリアであるか否かおよび正当性確認情報
を出力してよいエリアであるかを定義するデータを記憶
するエリア定義手段と、キーデータを格納しておく格納
手段と、外部装置からエリアを指定した書込み命令を受
信した場合、指定されたエリアがデータを暗号化して書
込むエリアであるか否かを前記エリア定義手段に格納さ
れている定義情報により確認する確認手段と、指定され
たエリアがデータを暗号化して書込むエリアでない場
合、受信した書込み命令中の書込みデータを順次指定さ
れたエリアに書込み第1の書込み手段と、指定されたエ
リアがデータを暗号化して書込むエリアであった場合、
前記格納手段に格納されているキーデータを使用して受
信した書込みデータを暗号化する暗号化手段と、この暗
号化手段にて暗号化された書込みデータを指定されたエ
リアに書込む第2の書込み手段と、前記受信した書込み
命令が正当性確認要求のモードであるか否かを確認する
第2の確認手段と、この第2の確認手段にて正当性確認
要求のモードであると確認された場合、指定されたエリ
アが正当性確認情報を出力してよいエリアであるか前記
エリア定義手段に格納されている定義情報により確認す
る第3の確認手段と、この第3の確認手段にて正当性確
認情報を出力してよいエリアであると確認された場合、
前記暗号化データのうち一部のデータを外部に受信する
手段とを具備している。
(作用) エリア属性情報をメモリ部の各エリア個々に有するよ
うにしておき、このエリア属性情報により正当性確認情
報出力要求に応じるエリアか否かを設定できるようにし
ておくことにより、正当性確認情報の生成メカニズムに
対する選択的平文攻撃が受けにくくなり、確認システム
そのものの機能が充分維持できる。
うにしておき、このエリア属性情報により正当性確認情
報出力要求に応じるエリアか否かを設定できるようにし
ておくことにより、正当性確認情報の生成メカニズムに
対する選択的平文攻撃が受けにくくなり、確認システム
そのものの機能が充分維持できる。
(実施例) 以下、本発明の一実施例について図面を参照して説明
する。
する。
第8図は、本発明に係るICカード(携帯可能電子装
置)と、その上位装置である端末装置と、その上位装置
であるセンサ(ホストコンピュータ)とのシステム構成
図である。
置)と、その上位装置である端末装置と、その上位装置
であるセンサ(ホストコンピュータ)とのシステム構成
図である。
ICカード10は、各種データを記憶するためのメモリ部
11、乱数データを発生する乱数発生部12、データの暗号
化を行なう暗号化部13、後述する端末装置20と通信する
ためのコンタクト部14、およびこれらを制御するCPUな
どの制御素子15などから構成されていて、これらのうち
メモリ部11、乱数発生部12、暗号化部13および制御素子
15は、たとえば1つのICチップ(あるいは複数のICチッ
プ)で構成されてICカード本体内に埋設されている。
11、乱数データを発生する乱数発生部12、データの暗号
化を行なう暗号化部13、後述する端末装置20と通信する
ためのコンタクト部14、およびこれらを制御するCPUな
どの制御素子15などから構成されていて、これらのうち
メモリ部11、乱数発生部12、暗号化部13および制御素子
15は、たとえば1つのICチップ(あるいは複数のICチッ
プ)で構成されてICカード本体内に埋設されている。
メモリ部11は、たとえばEEPROMなどの不揮発性メモリ
によって構成されており、第2図に示すように、エリア
定義テーブル(領域)16とデータファイル(領域)17と
に大きく分割されている。そして、データファイル17内
は、図示するように複数のエリア18,…に分割定義され
るもので、これら各エリア18…はエリア定義テーブル16
内のエリア定義情報19によってそれぞれ定義される。
によって構成されており、第2図に示すように、エリア
定義テーブル(領域)16とデータファイル(領域)17と
に大きく分割されている。そして、データファイル17内
は、図示するように複数のエリア18,…に分割定義され
るもので、これら各エリア18…はエリア定義テーブル16
内のエリア定義情報19によってそれぞれ定義される。
ここに、エリア定義情報19は、たとえばエリアを指定
する識別情報としてのエリア番号(AID)、エリアが割
当てられているメモリ上の先頭アドレス情報、エリアの
容量を規定するサイズ情報および属性情報を対応付けた
データ列である。なお、属性情報は、たとえば1バイト
で構成されていて、そのMSBが「0」であれば暗号化デ
ータ書込みエリアであり、「1」であれば入力データ書
込みエリアであることを示している。
する識別情報としてのエリア番号(AID)、エリアが割
当てられているメモリ上の先頭アドレス情報、エリアの
容量を規定するサイズ情報および属性情報を対応付けた
データ列である。なお、属性情報は、たとえば1バイト
で構成されていて、そのMSBが「0」であれば暗号化デ
ータ書込みエリアであり、「1」であれば入力データ書
込みエリアであることを示している。
端末装置20は、ICカード10を取扱う機能を有し、各種
データを記憶するメモリ部21、乱数データを発生する乱
数発生部22、データの暗号化を行なう暗号化部23、デー
タの入力などを行なうキーボード部24、データを表示す
る表示部25、ICカード10と通信するためのコンタクト部
26、センタ(ホストコンピュータ)30と通信回線31を介
してオンラインで通信する通信制御部27、およびこれら
を制御するCPUなどの制御部28から構成されている。
データを記憶するメモリ部21、乱数データを発生する乱
数発生部22、データの暗号化を行なう暗号化部23、デー
タの入力などを行なうキーボード部24、データを表示す
る表示部25、ICカード10と通信するためのコンタクト部
26、センタ(ホストコンピュータ)30と通信回線31を介
してオンラインで通信する通信制御部27、およびこれら
を制御するCPUなどの制御部28から構成されている。
次に、このような構成において、第1図を用いて本実
施例の正当性確認手順を説明する。なお、端末装置20の
メモリ部21には、図示するようなキーリストおよびキー
データ番号(KID)リストが格納されているものとす
る。キーリストはキーデータ番号とキーデータとを格納
付けたリストであり、KIDリストはキーデータを指定す
るキーデータ番号のみがリスト化されたものである。一
方、ICカード10は、独自にキーリストを有しており、こ
れはカード発行時などで内部のメモリ部11に登録(記
憶)される。
施例の正当性確認手順を説明する。なお、端末装置20の
メモリ部21には、図示するようなキーリストおよびキー
データ番号(KID)リストが格納されているものとす
る。キーリストはキーデータ番号とキーデータとを格納
付けたリストであり、KIDリストはキーデータを指定す
るキーデータ番号のみがリスト化されたものである。一
方、ICカード10は、独自にキーリストを有しており、こ
れはカード発行時などで内部のメモリ部11に登録(記
憶)される。
さて、まずステップ1〜ステップ8によって、ICカー
ド10と端末装置20との間で行なわれる相互認証のプロセ
スを説明する。まず、ステップ1において、端末装置20
は、乱数発生部22によって乱数データR1を生成し、認証
準備コマンドEXCHによって、これをICカード10に送信す
る。このとき、端末装置20がICカード10を認証するため
に使用するキーデータのキーデータ番号(KID−M)、
および端末装置20がサポートしている暗号化アルゴリズ
ム(ALG)の指定データをも合わせて送信する。
ド10と端末装置20との間で行なわれる相互認証のプロセ
スを説明する。まず、ステップ1において、端末装置20
は、乱数発生部22によって乱数データR1を生成し、認証
準備コマンドEXCHによって、これをICカード10に送信す
る。このとき、端末装置20がICカード10を認証するため
に使用するキーデータのキーデータ番号(KID−M)、
および端末装置20がサポートしている暗号化アルゴリズ
ム(ALG)の指定データをも合わせて送信する。
次に、ステップ2において、ICカード10は、認証準備
コマンドEXCHを受信すると、乱数発生部12によって乱数
データR2を生成し、それを認証準備コマンドEXCHに対す
るレスポンスexchとして端末装置20に送信する。このと
き、ICカード10は、端末装置20を認証するために使用す
るキーデータのキーデータ番号(KID−N)を自身のも
つキーリストから見付けだし、かつ指定された暗号化ア
ルゴリズム(ALG)を自身がサポートしているかを判断
し、これをalgとして乱数データR2と合わせて端末装置2
0に送信する。
コマンドEXCHを受信すると、乱数発生部12によって乱数
データR2を生成し、それを認証準備コマンドEXCHに対す
るレスポンスexchとして端末装置20に送信する。このと
き、ICカード10は、端末装置20を認証するために使用す
るキーデータのキーデータ番号(KID−N)を自身のも
つキーリストから見付けだし、かつ指定された暗号化ア
ルゴリズム(ALG)を自身がサポートしているかを判断
し、これをalgとして乱数データR2と合わせて端末装置2
0に送信する。
もしこのとき、端末装置20から指定されたキーデータ
番号(KID−M)がキーリストに存在しなかったり、あ
るいはICカード10が端末装置20を認証するために使用す
るキーデータ番号(KID−N)がキーリストに存在しな
かったり、あるいは指定された暗号化アルゴリズムをサ
ポートしていなかった場合には、その旨を端末装置20に
通知する。
番号(KID−M)がキーリストに存在しなかったり、あ
るいはICカード10が端末装置20を認証するために使用す
るキーデータ番号(KID−N)がキーリストに存在しな
かったり、あるいは指定された暗号化アルゴリズムをサ
ポートしていなかった場合には、その旨を端末装置20に
通知する。
次に、ステップ3において、端末装置20は、ICカード
10から指定された暗号化キーデータのキーデータ番号
(KID−N)を自己が所有するキーリストから捜し出
し、対応するキーデータ(NNNNN)を取出す。そして、
暗号化部23によって、暗号化アルゴリズムALG(=alg)
を使用してキーデータ(NNNNN)によりICカード10から
の乱数データR2を暗号化し、その結果、すなわち暗号化
データC2を認証コマンドAUTHによってICカード10に送信
する。なお、図中、Eは暗号化を実現する機能ボックス
を示す。
10から指定された暗号化キーデータのキーデータ番号
(KID−N)を自己が所有するキーリストから捜し出
し、対応するキーデータ(NNNNN)を取出す。そして、
暗号化部23によって、暗号化アルゴリズムALG(=alg)
を使用してキーデータ(NNNNN)によりICカード10から
の乱数データR2を暗号化し、その結果、すなわち暗号化
データC2を認証コマンドAUTHによってICカード10に送信
する。なお、図中、Eは暗号化を実現する機能ボックス
を示す。
次に、ステップ4において、ICカード10が認証コマン
ドAUTHを受信すると、ICカード10は、先に送信した暗号
化キーデータのキーデータ番号(KID−N)を自己が所
有するキーリストより捜し出し、対応するキーデータ
(NNNNN)を取出す。そして、暗号化部13によって、認
証準備コマンドEXCHで指定された暗号化アルゴリズム
(ALG)を使用してキーデータ(NNNNN)により乱数デー
タR2を暗号化し、暗号化データC2Xを得る。
ドAUTHを受信すると、ICカード10は、先に送信した暗号
化キーデータのキーデータ番号(KID−N)を自己が所
有するキーリストより捜し出し、対応するキーデータ
(NNNNN)を取出す。そして、暗号化部13によって、認
証準備コマンドEXCHで指定された暗号化アルゴリズム
(ALG)を使用してキーデータ(NNNNN)により乱数デー
タR2を暗号化し、暗号化データC2Xを得る。
次に、ステップ5において、ICカード10は、先に受信
した認証コマンドAUTH中の暗号化データC2とステップ4
で生成した暗号化データC2Xとを比較し、その比較結果Y
/Nを得る。
した認証コマンドAUTH中の暗号化データC2とステップ4
で生成した暗号化データC2Xとを比較し、その比較結果Y
/Nを得る。
次に、ステップ6において、ICカード10は、認証準備
コマンドEXCHで端末装置20から指定された暗号化キーデ
ータのキーデータ番号(KID−M)に対応するキーデー
タ(MMMMM)を取出す。次に、暗号化部13によって、暗
号化アルゴリズム(ALG)を使用してキーデータ(MMMM
M)により乱数データR1を暗号化し、暗号化データC1を
得る。そして、この暗号化データC1とステップ5による
比較結果Y/Nを、認証コマンドAUTHに対するレスポンスa
uthとして端末装置20に送信する。
コマンドEXCHで端末装置20から指定された暗号化キーデ
ータのキーデータ番号(KID−M)に対応するキーデー
タ(MMMMM)を取出す。次に、暗号化部13によって、暗
号化アルゴリズム(ALG)を使用してキーデータ(MMMM
M)により乱数データR1を暗号化し、暗号化データC1を
得る。そして、この暗号化データC1とステップ5による
比較結果Y/Nを、認証コマンドAUTHに対するレスポンスa
uthとして端末装置20に送信する。
次に、ステップ7において、端末装置20がレスポンス
authを受信すると、端末装置20は、先に送信した暗号化
キーデータのキーデータ番号(KID−M)に対応するキ
ーデータ(MMMMM)を取出す。そして、暗号化部23によ
って、暗号化アルゴリズム(ALG)を使用してキーデー
タ(MMMMM)により端末装置20からの乱数データR1を暗
号化し、暗号化データC1Xを得る。
authを受信すると、端末装置20は、先に送信した暗号化
キーデータのキーデータ番号(KID−M)に対応するキ
ーデータ(MMMMM)を取出す。そして、暗号化部23によ
って、暗号化アルゴリズム(ALG)を使用してキーデー
タ(MMMMM)により端末装置20からの乱数データR1を暗
号化し、暗号化データC1Xを得る。
次に、ステップ8において、端末装置20は、レスポン
スauthによって受信した暗号化データC1とステップ7で
生成した暗号化データC1Xとを比較し、この比較結果と
レスポンスauthにより受信したステップ5によるICカー
ド10での比較結果とにより、以降のシステム処理の決定
を行なう。
スauthによって受信した暗号化データC1とステップ7で
生成した暗号化データC1Xとを比較し、この比較結果と
レスポンスauthにより受信したステップ5によるICカー
ド10での比較結果とにより、以降のシステム処理の決定
を行なう。
次に、ステップ9〜ステップ23によって、端末装置20
からICカード10に対しデータを書込むとともに、書込み
処理の正当性を確認するプロセスを説明する。まず、ス
テップ9において、端末装置20は、書込みコマンドWRIT
Eによりデータを書込む要求をICカード10に送信する。
このとき、端末装置20は、ICカード10内のメモリ部11に
対する書込み対象エリアのエリア番号(AID−A)、書
込みデータのバイト数(L−1)、および書込みデータ
(M1)のうちICカード10が入力データとして受信し得る
バイト数に分割した最初の分割データ(M1−1)をICカ
ード10に送信する。
からICカード10に対しデータを書込むとともに、書込み
処理の正当性を確認するプロセスを説明する。まず、ス
テップ9において、端末装置20は、書込みコマンドWRIT
Eによりデータを書込む要求をICカード10に送信する。
このとき、端末装置20は、ICカード10内のメモリ部11に
対する書込み対象エリアのエリア番号(AID−A)、書
込みデータのバイト数(L−1)、および書込みデータ
(M1)のうちICカード10が入力データとして受信し得る
バイト数に分割した最初の分割データ(M1−1)をICカ
ード10に送信する。
次に、ステップ10において、ICカード10は、書込みコ
マンドWRITEによって受信したエリア番号(AID−A)が
付されたエリアを第2図のエリア定義テーブル16から見
付ける。もし見付からなければ、エリア番号未定義を意
味するステータスを書込みコマンドWRITEに対するレス
ポンスwriteによって端末装置20に送信する。
マンドWRITEによって受信したエリア番号(AID−A)が
付されたエリアを第2図のエリア定義テーブル16から見
付ける。もし見付からなければ、エリア番号未定義を意
味するステータスを書込みコマンドWRITEに対するレス
ポンスwriteによって端末装置20に送信する。
もし、エリア番号(AID−A)が付されたエリアが見
付かれば、書込みコマンドWRITEが正当性確認要求モー
ドか否かを確認し、もしそうでなければ次に進む。も
し、そうであれば、エリア番号(AID−A)に対応する
属性情報により、本エリアが正当性確認情報を出力して
よいエリアか否かを判断する。この判断の結果、もし否
であれば、実行不可ステータスをレスポンスwriteによ
って端末装置20に送信し、もし良いと判断されれば次に
進む。
付かれば、書込みコマンドWRITEが正当性確認要求モー
ドか否かを確認し、もしそうでなければ次に進む。も
し、そうであれば、エリア番号(AID−A)に対応する
属性情報により、本エリアが正当性確認情報を出力して
よいエリアか否かを判断する。この判断の結果、もし否
であれば、実行不可ステータスをレスポンスwriteによ
って端末装置20に送信し、もし良いと判断されれば次に
進む。
次に、ICカード10は、先に認証準備コマンドEXCH、ま
たは後述する暗号化準備コマンドSRNDが正常終了されて
いるかをチェックする。このチェックの結果、もし正常
終了されていなければ、実行条件不備ステータスをレス
ポンスwriteによって端末装置20に送信する。上記チェ
ックの結果、正常終了されていれば、ICカード10は、先
の認証準備コマンドEXCHによって通知された乱数データ
R1とICカード10の内部で所有するカード固有値とにより
初期データR1′を生成する。
たは後述する暗号化準備コマンドSRNDが正常終了されて
いるかをチェックする。このチェックの結果、もし正常
終了されていなければ、実行条件不備ステータスをレス
ポンスwriteによって端末装置20に送信する。上記チェ
ックの結果、正常終了されていれば、ICカード10は、先
の認証準備コマンドEXCHによって通知された乱数データ
R1とICカード10の内部で所有するカード固有値とにより
初期データR1′を生成する。
次に、ステップ11において、ICカード10は、先に認証
準備コマンドEXCHで指定された暗号化アルゴリズム(AL
G)を使用して、初期データR1′および先に認証準備コ
マンドEXCHによって通知されたキーデータ番号(KID−
M)に対応するキーデータ(MMMMM)により書込みデー
タ(M1−1)を暗号化し、暗号化データ(C1−1)を得
る。次に、アクセス対象となっているエリア番号(AID
−A)のエリアの属性情報を参照することにより、メモ
リ部11への書込みデータを入力データ(M1−1)にする
か暗号化データ(C1−1)にするかを決定し、書込み処
理を行なう。そして、端末装置20に対し次の書込みデー
タを要求するためのレスポンス‘nb'を送信する。
準備コマンドEXCHで指定された暗号化アルゴリズム(AL
G)を使用して、初期データR1′および先に認証準備コ
マンドEXCHによって通知されたキーデータ番号(KID−
M)に対応するキーデータ(MMMMM)により書込みデー
タ(M1−1)を暗号化し、暗号化データ(C1−1)を得
る。次に、アクセス対象となっているエリア番号(AID
−A)のエリアの属性情報を参照することにより、メモ
リ部11への書込みデータを入力データ(M1−1)にする
か暗号化データ(C1−1)にするかを決定し、書込み処
理を行なう。そして、端末装置20に対し次の書込みデー
タを要求するためのレスポンス‘nb'を送信する。
次に、レスポンス‘nb'を受信すると、端末装置20
は、ステップ12において、次の書込みデータ(M1−2)
をICカード10に送信する。次に、ステップ13において、
次の書込みデータ(M1−2)を受信すると、ICカード10
は、再び暗号化アルゴリズム(ALG)を使用して、先に
生成した暗号化データ(C1−1)の最終の8バイトデー
タおよびキーデータ番号(KID−M)に対応するキーデ
ータ(MMMMM)により書込みデータ(M1−2)を暗号化
し、暗号化データ(C1−2)を得る。次に、ステップ11
と同様に、メモリ部11への書込みデータを入力データ
(M1−2)にするか暗号化データ(C1−2)にするかを
決定し、選択的にエリアへの書込み処理を行なう。そし
て、端末装置20に対し次の書込みデータを要求するため
のレスポンス‘nb'を送信する。
は、ステップ12において、次の書込みデータ(M1−2)
をICカード10に送信する。次に、ステップ13において、
次の書込みデータ(M1−2)を受信すると、ICカード10
は、再び暗号化アルゴリズム(ALG)を使用して、先に
生成した暗号化データ(C1−1)の最終の8バイトデー
タおよびキーデータ番号(KID−M)に対応するキーデ
ータ(MMMMM)により書込みデータ(M1−2)を暗号化
し、暗号化データ(C1−2)を得る。次に、ステップ11
と同様に、メモリ部11への書込みデータを入力データ
(M1−2)にするか暗号化データ(C1−2)にするかを
決定し、選択的にエリアへの書込み処理を行なう。そし
て、端末装置20に対し次の書込みデータを要求するため
のレスポンス‘nb'を送信する。
以下、ステップ12,13と同様の処理動作を繰返し行な
う。
う。
さて、ステップ14において、端末装置20が分割データ
の最終データ(M1−n)をICカード10に送信すると、ス
テップ15において、ICカード10は同様の書込み処理を行
なう。そして、先の書込みコマンドWRITEが正当性確認
要求モードか否かを確認し、もしそうであったときに限
り最終的に生成された暗号化データ(C1−n)のうち最
終8バイトを確認情報(AC1)とし、書込みコマンドWRI
TEに対するレスポンスwriteによって端末装置20に送信
する。
の最終データ(M1−n)をICカード10に送信すると、ス
テップ15において、ICカード10は同様の書込み処理を行
なう。そして、先の書込みコマンドWRITEが正当性確認
要求モードか否かを確認し、もしそうであったときに限
り最終的に生成された暗号化データ(C1−n)のうち最
終8バイトを確認情報(AC1)とし、書込みコマンドWRI
TEに対するレスポンスwriteによって端末装置20に送信
する。
すなわち、上記処理においては、あらかじめ相互認証
手順で端末装置20がICカード10を認証するために、ICカ
ード10に対して指定したキーデータ(MMMMM)、暗号化
アルゴリズム(ALG)および乱数データ(R1)を使用し
て、書込みデータM1に対する確認情報(AC1)が得られ
ている。
手順で端末装置20がICカード10を認証するために、ICカ
ード10に対して指定したキーデータ(MMMMM)、暗号化
アルゴリズム(ALG)および乱数データ(R1)を使用し
て、書込みデータM1に対する確認情報(AC1)が得られ
ている。
次に、上記とは異なるキーデータ、暗号化アルゴリズ
ムおよび乱数データにより確認情報を得るプロセスをス
テップ16〜ステップ20によって説明する。まず、ステッ
プ16において、端末装置20は、乱数発生部22によって新
規の乱数データR3を生成し、暗号化準備コマンドSRNDに
よって、これをICカード10に送信する。このとき、ICカ
ード10が確認情報を生成するのに使用するキーデータの
キーデータ番号(KID−A)、および暗号化アルゴリズ
ム(ALG′)を合わせて送信する。
ムおよび乱数データにより確認情報を得るプロセスをス
テップ16〜ステップ20によって説明する。まず、ステッ
プ16において、端末装置20は、乱数発生部22によって新
規の乱数データR3を生成し、暗号化準備コマンドSRNDに
よって、これをICカード10に送信する。このとき、ICカ
ード10が確認情報を生成するのに使用するキーデータの
キーデータ番号(KID−A)、および暗号化アルゴリズ
ム(ALG′)を合わせて送信する。
次に、ステップ17において、ICカード10は、暗号化準
備コマンドSRNDを受信すると、キーデータ番号(KID−
A)を自身が所有するキーリストから見付けだし、対応
するキーデータ(AAAAA)を得て、レスポンスsrndを端
末装置20に送信する。
備コマンドSRNDを受信すると、キーデータ番号(KID−
A)を自身が所有するキーリストから見付けだし、対応
するキーデータ(AAAAA)を得て、レスポンスsrndを端
末装置20に送信する。
次に、ステップ18において、端末装置20は、書込みコ
マンドWRITEによりデータを書込む要求をICカード10に
送信する。このとき、端末装置20は、ICカード10内のメ
モリ部11に対する書込み対象エリアのエリア番号(AID
−B)、書込みデータのバイト数(L−2)、および書
込みデータ(M2)を送信する。なお、本ステップ18で
は、書込みデータ(M2)のバイト数は、ICカード10が入
力データとして受信し得るバイト数である。
マンドWRITEによりデータを書込む要求をICカード10に
送信する。このとき、端末装置20は、ICカード10内のメ
モリ部11に対する書込み対象エリアのエリア番号(AID
−B)、書込みデータのバイト数(L−2)、および書
込みデータ(M2)を送信する。なお、本ステップ18で
は、書込みデータ(M2)のバイト数は、ICカード10が入
力データとして受信し得るバイト数である。
次に、ステップ19において、ICカード10は、ステップ
10と同様にしてエリア番号(AID−B)が付されたエリ
アを第2図におけるエリア定義テーブル16から見付け
る。もし見付かれば、書込みコマンドWRITEが正当性確
認要求モードか否かを確認し、もしそうでなければ次に
進む。もし、そうであれば、エリア番号(AID−B)に
対応する属性情報により、本エリアが正当性確認情報を
出力してよいエリアか否かを判断する。この判断の結
果、もし否であれば、実行不可ステータスをレスポンス
writeによって端末装置20に送信し、もし良いと判断さ
れれば次に進む。
10と同様にしてエリア番号(AID−B)が付されたエリ
アを第2図におけるエリア定義テーブル16から見付け
る。もし見付かれば、書込みコマンドWRITEが正当性確
認要求モードか否かを確認し、もしそうでなければ次に
進む。もし、そうであれば、エリア番号(AID−B)に
対応する属性情報により、本エリアが正当性確認情報を
出力してよいエリアか否かを判断する。この判断の結
果、もし否であれば、実行不可ステータスをレスポンス
writeによって端末装置20に送信し、もし良いと判断さ
れれば次に進む。
次に、ICカード10は、先に暗号化準備コマンドSRND
(または認証準備コマンドEXCH)が正常終了されている
か否かをチェックする。もし、正常終了されているとす
ると、ICカード10は、暗号化準備コマンドSRNDによって
通知された乱数データR3とICカード10の内部で所有する
カード固有値とにより初期データR3′を生成する。
(または認証準備コマンドEXCH)が正常終了されている
か否かをチェックする。もし、正常終了されているとす
ると、ICカード10は、暗号化準備コマンドSRNDによって
通知された乱数データR3とICカード10の内部で所有する
カード固有値とにより初期データR3′を生成する。
次に、ステップ20において、ICカード10は、先に暗号
化準備コマンドSRNDで指定された暗号化アルゴリズム
(ALG′)を使用して、初期データR3′および先に暗号
化準備コマンドSRNDにより通知されたキーデータ番号
(KID−A)に対応するキーデータ(AAAAA)により書込
みデータ(M2)を暗号化し、暗号化データC2を得る。次
に、アクセス対象となっているエリア番号(AID−B)
のエリアの属性情報を参照することにより、メモリ部11
への書込みデータを入力データ(M2)にするか暗号化デ
ータ(C2)にするかを決定し、書込み処理を行なう。そ
して、先の書込みコマンドWRITEが正当性確認要求モー
ドか否かを確認し、もしそうであったときに限り端末装
置20に対し、暗号化データ(C2)のうち最終8バイトの
データを確認情報(AC2)として、書込みコマンドWRITE
に対するレスポンス(write)によって送信する。
化準備コマンドSRNDで指定された暗号化アルゴリズム
(ALG′)を使用して、初期データR3′および先に暗号
化準備コマンドSRNDにより通知されたキーデータ番号
(KID−A)に対応するキーデータ(AAAAA)により書込
みデータ(M2)を暗号化し、暗号化データC2を得る。次
に、アクセス対象となっているエリア番号(AID−B)
のエリアの属性情報を参照することにより、メモリ部11
への書込みデータを入力データ(M2)にするか暗号化デ
ータ(C2)にするかを決定し、書込み処理を行なう。そ
して、先の書込みコマンドWRITEが正当性確認要求モー
ドか否かを確認し、もしそうであったときに限り端末装
置20に対し、暗号化データ(C2)のうち最終8バイトの
データを確認情報(AC2)として、書込みコマンドWRITE
に対するレスポンス(write)によって送信する。
なお、ICカード10は、第2図のエリア定義テーブル16
内の先頭アドレス情報およびサイズ情報によりメモリ部
11内の物理的位置を確認する。先頭アドレス情報は対応
するエリアの先頭アドレス値であり、サイズ情報は先頭
アドレス値からのエリアの容量を規定している。また、
属性情報は1バイトで構成され、そのMSBが「0」であ
れば暗号化データ書込みエリアであり、「1」であれば
入力データ書込みエリアであることを示す。
内の先頭アドレス情報およびサイズ情報によりメモリ部
11内の物理的位置を確認する。先頭アドレス情報は対応
するエリアの先頭アドレス値であり、サイズ情報は先頭
アドレス値からのエリアの容量を規定している。また、
属性情報は1バイトで構成され、そのMSBが「0」であ
れば暗号化データ書込みエリアであり、「1」であれば
入力データ書込みエリアであることを示す。
次に、ステップ21において、端末装置20は、ICカード
10へのデータ書込みを終了すると、書込みデータ(M1,M
2)に対応する乱数データ(R1,R3)、キーデータ番号
(KID−M,KID−A)、確認情報(AC1,AC2)、および使
用アルゴリズム指定値(ALG,ALG′)により、データ書
込み処理リストを作成する。なお、このときカード固有
値もリストに対応付けておく。そして、この作成したリ
ストをセンタ30へ送信する。
10へのデータ書込みを終了すると、書込みデータ(M1,M
2)に対応する乱数データ(R1,R3)、キーデータ番号
(KID−M,KID−A)、確認情報(AC1,AC2)、および使
用アルゴリズム指定値(ALG,ALG′)により、データ書
込み処理リストを作成する。なお、このときカード固有
値もリストに対応付けておく。そして、この作成したリ
ストをセンタ30へ送信する。
次に、ステップ22において、センタ30は、端末装置20
からのリストを受信すると、そのリストから書込みデー
タ(M1)を取出し、対応するキーデータ番号(KID−
M)により、キーデータ(MMMMM)を自身が所有するキ
ーリストから見付けだし、かつ自身が所有する取引きリ
ストで対応付けられている乱数データ(R1)および暗号
化アルゴリズム(ALG)により確認情報(ACIX)を生成
する。
からのリストを受信すると、そのリストから書込みデー
タ(M1)を取出し、対応するキーデータ番号(KID−
M)により、キーデータ(MMMMM)を自身が所有するキ
ーリストから見付けだし、かつ自身が所有する取引きリ
ストで対応付けられている乱数データ(R1)および暗号
化アルゴリズム(ALG)により確認情報(ACIX)を生成
する。
そして、ステップ23において、リストで対応付けられ
た確認情報(AC1)とステップ22で生成した確認情報(A
C1X)とを比較し、両者が一致していればセンタ30は書
込みデータ(M1)に対する書込み処理の正当性を確認す
る。
た確認情報(AC1)とステップ22で生成した確認情報(A
C1X)とを比較し、両者が一致していればセンタ30は書
込みデータ(M1)に対する書込み処理の正当性を確認す
る。
書込みデータ(M2)以降についても、ステップ22,23
と同様な処理により正当性を確認する。
と同様な処理により正当性を確認する。
次に、ICカード10としての動作を第7図を用いて説明
する。まず、制御素子15は、端末装置20からの制御信号
によって電気的活性化を経た後、アンサー・ツー・リセ
ットと称する初期応答データを端末装置20へ出力する
(S1)。そして、制御素子15は、認証準備コマンド完了
フラグおよび暗号化準備コマンド完了フラグをオフし
(S2)、命令データ待ち状態に移る。
する。まず、制御素子15は、端末装置20からの制御信号
によって電気的活性化を経た後、アンサー・ツー・リセ
ットと称する初期応答データを端末装置20へ出力する
(S1)。そして、制御素子15は、認証準備コマンド完了
フラグおよび暗号化準備コマンド完了フラグをオフし
(S2)、命令データ待ち状態に移る。
この状態で、命令データを受信すると(S3)、制御素
子15は、まず、この命令データが第3図に示す認証準備
コマンドEXCHであるか否かを判断し(S4)、もしそうで
ないと判断すると次のフローに移る。
子15は、まず、この命令データが第3図に示す認証準備
コマンドEXCHであるか否かを判断し(S4)、もしそうで
ないと判断すると次のフローに移る。
ステップS4において、認証準備コマンドEXCHであると
判断すると、制御素子15は、認証準備コマンド中のキー
データ番号(KID)フィールドの内容をピックアップ
し、メモリ部11内に登録されているキーリストから同一
のキーデータ番号を見付ける(S5)。
判断すると、制御素子15は、認証準備コマンド中のキー
データ番号(KID)フィールドの内容をピックアップ
し、メモリ部11内に登録されているキーリストから同一
のキーデータ番号を見付ける(S5)。
そして、もしキーデータ番号が見付からなければ(S
6)、制御素子15は、キーデータ指定エラーステータス
を出力し(S7)、命令データ待ち状態に戻る。もし、キ
ーデータ番号が見付かれば(S6)、制御素子15は、対応
するキーデータを内部RAM上の第1キーバッファにセー
ブする(S8)。
6)、制御素子15は、キーデータ指定エラーステータス
を出力し(S7)、命令データ待ち状態に戻る。もし、キ
ーデータ番号が見付かれば(S6)、制御素子15は、対応
するキーデータを内部RAM上の第1キーバッファにセー
ブする(S8)。
次に、制御素子15は、認証準備コマンド中の暗号化ア
ルゴリズム指定データ(ALG)フィールドを参照するこ
とにより、メモリ上に登録されている暗号化アルゴリズ
ムであるか否かをチェックする(S9)。このチェックの
結果、指定された暗号化アルゴリズムが存在しない場合
(S10)、制御素子15は、指定アルゴリズムエラーステ
ータスを出力し(S11)、命令データ待ち状態に戻る。
上記チェックの結果、指定された暗号化アルゴリズムが
存在する場合(S10)、制御素子15は、その暗号化アル
ゴリズムの番号をセーブしておく(S12)。
ルゴリズム指定データ(ALG)フィールドを参照するこ
とにより、メモリ上に登録されている暗号化アルゴリズ
ムであるか否かをチェックする(S9)。このチェックの
結果、指定された暗号化アルゴリズムが存在しない場合
(S10)、制御素子15は、指定アルゴリズムエラーステ
ータスを出力し(S11)、命令データ待ち状態に戻る。
上記チェックの結果、指定された暗号化アルゴリズムが
存在する場合(S10)、制御素子15は、その暗号化アル
ゴリズムの番号をセーブしておく(S12)。
次に、制御素子15は、認証準備コマンド中の乱数デー
タ(R1)を内部RAM上の第1乱数バッファにセーブし(S
13)、その後、先のキーリストからICカード認証用キー
データのキーデータ番号(KID′)を見付ける(S14)。
タ(R1)を内部RAM上の第1乱数バッファにセーブし(S
13)、その後、先のキーリストからICカード認証用キー
データのキーデータ番号(KID′)を見付ける(S14)。
そして、もしキーデータ番号が見付からなければ(S1
5)、制御素子15は、キーデータ未登録エラーステータ
スを出力し(S16)、命令データ待ち状態に戻る。も
し、キーデータ番号が見付かれば(S15)、制御素子15
は、対応するキーデータを内部RAM上の第2キーバッフ
ァにセーブする(S17)。
5)、制御素子15は、キーデータ未登録エラーステータ
スを出力し(S16)、命令データ待ち状態に戻る。も
し、キーデータ番号が見付かれば(S15)、制御素子15
は、対応するキーデータを内部RAM上の第2キーバッフ
ァにセーブする(S17)。
次に、制御素子15は、乱数発生部12によって乱数デー
タR2を生成し、内部RAM上の第2乱数バッファにセーブ
する(S18)。そして、制御素子15は、認証準備コマン
ド完了フラグをオンし(S19)、かつ、生成した乱数デ
ータR2を先のキーデータ番号(KID′)および認証準備
コマンド中の暗号化アルゴリズム指定データ(ALG)フ
ィールドの内容とともに、認証準備コマンドEXCHに対す
るレスポンスexchとして端末装置20に出力し(S20)、
命令データ待ち状態に戻る。
タR2を生成し、内部RAM上の第2乱数バッファにセーブ
する(S18)。そして、制御素子15は、認証準備コマン
ド完了フラグをオンし(S19)、かつ、生成した乱数デ
ータR2を先のキーデータ番号(KID′)および認証準備
コマンド中の暗号化アルゴリズム指定データ(ALG)フ
ィールドの内容とともに、認証準備コマンドEXCHに対す
るレスポンスexchとして端末装置20に出力し(S20)、
命令データ待ち状態に戻る。
ステップS4において、認証準備コマンドEXCHでないと
判断すると、制御素子15は、第4図に示す認証コマンド
AUTHであるか否かを判断し(S21)、もしそうでないと
判断すると次のフローへ移る。
判断すると、制御素子15は、第4図に示す認証コマンド
AUTHであるか否かを判断し(S21)、もしそうでないと
判断すると次のフローへ移る。
ステップ21において、認証コマンドAUTHであると判断
すると、制御素子15は、認証準備コマンド完了フラグが
オンされているか否かを判断し(S22)、もしオフであ
れば実行条件不備エラーステータスを出力し(S23)、
命令データ待ち状態に戻る。
すると、制御素子15は、認証準備コマンド完了フラグが
オンされているか否かを判断し(S22)、もしオフであ
れば実行条件不備エラーステータスを出力し(S23)、
命令データ待ち状態に戻る。
ステップ22において、認証準備コマンド完了フラグが
オンであれば、制御素子15は、暗号化部13により、第2
キーバッファの内容を暗号化のキーデータとして第2乱
数バッファの内容を暗号化する(S24)。このときの暗
号化アルゴリズムは、セーブされた暗号化アルゴリズム
番号に対応する暗号化アルゴリズムを使用する。
オンであれば、制御素子15は、暗号化部13により、第2
キーバッファの内容を暗号化のキーデータとして第2乱
数バッファの内容を暗号化する(S24)。このときの暗
号化アルゴリズムは、セーブされた暗号化アルゴリズム
番号に対応する暗号化アルゴリズムを使用する。
そして、制御素子15は、上記暗号化の結果と認証コマ
ンドAUTHで送られた入力データとを比較し(S25)、そ
の比較結果に応じて一致フラグをオンまたはオフする
(S26〜S28)。
ンドAUTHで送られた入力データとを比較し(S25)、そ
の比較結果に応じて一致フラグをオンまたはオフする
(S26〜S28)。
次に、制御素子15は、暗号化部13により、第1キーバ
ッファの内容を暗号化のキーデータとして第1乱数バッ
ファの内容を暗号化する(S29)。このときの暗号化ア
ルゴリズムも上記同様のものを使用する。そして、制御
素子15は、この暗号化の結果を先の一致フラグの内容と
ともに、認証コマンドAUTHに対するレスポンスauthとし
て端末装置20に出力し(S30)、命令データ待ち状態に
戻る。
ッファの内容を暗号化のキーデータとして第1乱数バッ
ファの内容を暗号化する(S29)。このときの暗号化ア
ルゴリズムも上記同様のものを使用する。そして、制御
素子15は、この暗号化の結果を先の一致フラグの内容と
ともに、認証コマンドAUTHに対するレスポンスauthとし
て端末装置20に出力し(S30)、命令データ待ち状態に
戻る。
ステップS21において、認証コマンドAUTHでないと判
断すると、制御素子15は、第5図に示す暗号化準備コマ
ンドSRNDであるか否かを判断し(S31)、もしそうでな
いと判断すると次のフローへ移る。
断すると、制御素子15は、第5図に示す暗号化準備コマ
ンドSRNDであるか否かを判断し(S31)、もしそうでな
いと判断すると次のフローへ移る。
ステップ31において、暗号化準備コマンドSRNDである
と判断すると、制御素子15は、暗号化準備コマンド中の
キーデータ番号(KID)フィールドの内容をピックアッ
プし、メモリ部11内に登録されているキーリストから同
一のキーデータ番号を見付ける(S32)。
と判断すると、制御素子15は、暗号化準備コマンド中の
キーデータ番号(KID)フィールドの内容をピックアッ
プし、メモリ部11内に登録されているキーリストから同
一のキーデータ番号を見付ける(S32)。
そして、もしキーデータ番号が見付からなければ(S3
3)、制御素子15は、キーデータ指定エラーステータス
を出力し(S34)、命令データ待ち状態に戻る。もし、
キーデータ番号が見付かれば(S33)、制御素子15は、
対応するキーデータを内部RAM上の第1キーバッファに
セーブする(S35)。
3)、制御素子15は、キーデータ指定エラーステータス
を出力し(S34)、命令データ待ち状態に戻る。もし、
キーデータ番号が見付かれば(S33)、制御素子15は、
対応するキーデータを内部RAM上の第1キーバッファに
セーブする(S35)。
次に、制御素子15は、暗号化準備コマンド中の暗号化
アルゴリズム指定データ(ALG)フィールドを参照する
ことにより、メモリ上に登録されている暗号化アルゴリ
ズムであるか否かをチェックする(S36)。このチェッ
クの結果、指定された暗号化アルゴリズムが存在しない
場合(S37)、制御素子15は、指定アルゴリズムエラー
ステータスを出力し(S38)、命令データ待ち状態に戻
る。上記チェックの結果、指定された暗号化アルゴリズ
ムが存在する場合(S37)、制御素子15は、その暗号化
アルゴリズムの番号をセーブしておく(S39)。
アルゴリズム指定データ(ALG)フィールドを参照する
ことにより、メモリ上に登録されている暗号化アルゴリ
ズムであるか否かをチェックする(S36)。このチェッ
クの結果、指定された暗号化アルゴリズムが存在しない
場合(S37)、制御素子15は、指定アルゴリズムエラー
ステータスを出力し(S38)、命令データ待ち状態に戻
る。上記チェックの結果、指定された暗号化アルゴリズ
ムが存在する場合(S37)、制御素子15は、その暗号化
アルゴリズムの番号をセーブしておく(S39)。
次に、制御素子15は、暗号化準備コマンド中の乱数デ
ータ(R3)を内部RAM上の第1乱数バッファにセーブし
(S40)、その後、暗号化準備コマンド完了フラグをオ
ンし(S41)、かつ暗号化準備コマンド完了ステータス
を端末装置20に出力し(S42)、命令データ待ち状態に
戻る。
ータ(R3)を内部RAM上の第1乱数バッファにセーブし
(S40)、その後、暗号化準備コマンド完了フラグをオ
ンし(S41)、かつ暗号化準備コマンド完了ステータス
を端末装置20に出力し(S42)、命令データ待ち状態に
戻る。
ステップS31において、暗号化準備コマンドSRNDでな
いと判断すると、制御素子15は、第6図(a)または
(b)に示す書込みコマンドWRITEであるか否かを判断
し(S51)、もしそうでないと判断すると、他のコマン
ド(たとえばデータの読出しコマンド)であるか否かの
判断を行ない、対応する処理へ移行する。
いと判断すると、制御素子15は、第6図(a)または
(b)に示す書込みコマンドWRITEであるか否かを判断
し(S51)、もしそうでないと判断すると、他のコマン
ド(たとえばデータの読出しコマンド)であるか否かの
判断を行ない、対応する処理へ移行する。
ステップS51において、書込みコマンドWRITEであると
判断すると、制御素子15は、その書込みコマンドが第6
図(a)の形式か(b)の形式かを判断する(S52)。
この判断の結果、第6図(a)の書込みコマンドであれ
ば、制御素子15は、書込みコマンドWRITEが正当性確認
要求モードか否かを判断し(S53)、もしそうでなけれ
ばアクセス対象エリアが暗号化を要するエリアか否かを
判断する(S54)。
判断すると、制御素子15は、その書込みコマンドが第6
図(a)の形式か(b)の形式かを判断する(S52)。
この判断の結果、第6図(a)の書込みコマンドであれ
ば、制御素子15は、書込みコマンドWRITEが正当性確認
要求モードか否かを判断し(S53)、もしそうでなけれ
ばアクセス対象エリアが暗号化を要するエリアか否かを
判断する(S54)。
ステップS53において、もし正当性確認要求モードで
あれば、制御素子15は、書込みコマンド中のエリア番号
(AID)に対応する属性情報により、対応するエリアが
正当性確認情報を出力してよいエリアか否かを判断する
(S55)。この判断の結果、もし否であれば、制御素子1
5は、実行不可ステータスを端末装置20に出力し(S5
6)、命令データ待ち状態に戻る。
あれば、制御素子15は、書込みコマンド中のエリア番号
(AID)に対応する属性情報により、対応するエリアが
正当性確認情報を出力してよいエリアか否かを判断する
(S55)。この判断の結果、もし否であれば、制御素子1
5は、実行不可ステータスを端末装置20に出力し(S5
6)、命令データ待ち状態に戻る。
ステップS54において暗号化を要するエリアであると
判断した場合、あるいはステップS55において正当性確
認情報を出力してよいエリアであると判断した場合、制
御素子15は、認証準備コマンド完了フラグおよび暗号化
準備コマンド完了フラグを参照し(S57)、どちらかで
もオフとなっていれば(S58)、条件不備ステータスを
出力し(S59)、命令データ待ち状態に戻る。
判断した場合、あるいはステップS55において正当性確
認情報を出力してよいエリアであると判断した場合、制
御素子15は、認証準備コマンド完了フラグおよび暗号化
準備コマンド完了フラグを参照し(S57)、どちらかで
もオフとなっていれば(S58)、条件不備ステータスを
出力し(S59)、命令データ待ち状態に戻る。
ステップS54において暗号化を要しないエリアである
と判断した場合、あるいはステップS58においてどちら
かのフラグがオンとなっていれば、制御素子15は、書込
みコマンド中のデータ部の内容を内部RAM上の第2ライ
トバッファにセーブする(S60)。
と判断した場合、あるいはステップS58においてどちら
かのフラグがオンとなっていれば、制御素子15は、書込
みコマンド中のデータ部の内容を内部RAM上の第2ライ
トバッファにセーブする(S60)。
ステップS52において、第6図(b)の書込みコマン
ドであれば、制御素子15は、内部で保持している書込み
コマンド継続フラグがオンか否かを判断する(S61)。
もしオフとなっていれば、制御素子15は、要求エラース
テータスを出力し(S62)、命令データ待ち状態に戻
る。もしオンとなっていれば、制御素子15は、内部RAM
上のデータセーブバッファの内容に書込みコマンド中の
データ部の内容(入力データ)を付加し、内部RAM上の
第2ライトバッファにセーブする(S63)。
ドであれば、制御素子15は、内部で保持している書込み
コマンド継続フラグがオンか否かを判断する(S61)。
もしオフとなっていれば、制御素子15は、要求エラース
テータスを出力し(S62)、命令データ待ち状態に戻
る。もしオンとなっていれば、制御素子15は、内部RAM
上のデータセーブバッファの内容に書込みコマンド中の
データ部の内容(入力データ)を付加し、内部RAM上の
第2ライトバッファにセーブする(S63)。
そして、制御素子15は、書込みコマンド中のデータ部
の内容(入力データ)のみを内部RAM上の第1ライトバ
ッファにセーブする(S64)。
の内容(入力データ)のみを内部RAM上の第1ライトバ
ッファにセーブする(S64)。
次に、制御素子15は、第6図(a)または(b)の書
込みコマンドによって送られた入力データに書込み後続
データが存在するか否かをチェックし(S65)、書込み
後続データが存在すれば後続フラグをオンし(S66)、
書込み後続データが存在しなければ後続フラグをオフす
る(S67)。
込みコマンドによって送られた入力データに書込み後続
データが存在するか否かをチェックし(S65)、書込み
後続データが存在すれば後続フラグをオンし(S66)、
書込み後続データが存在しなければ後続フラグをオフす
る(S67)。
次に、制御素子15は、内部RAM上の第2ライトバッフ
ァ内のデータのバイト数が例えば「8」の倍数であるか
否かをチェックし(S68)、もしそうであればステップS
74に移行する。もしそうでなければ、制御素子15は、後
続フラグを参照してオフとなっていれば(S69)、内部R
AM上の第2ライトバッファ内のデータにパディング処理
(たとえば‘20'Hexデータを後ろに付加)し(S70)、
「8」の倍数分のデータを生成してステップS74に移行
する。
ァ内のデータのバイト数が例えば「8」の倍数であるか
否かをチェックし(S68)、もしそうであればステップS
74に移行する。もしそうでなければ、制御素子15は、後
続フラグを参照してオフとなっていれば(S69)、内部R
AM上の第2ライトバッファ内のデータにパディング処理
(たとえば‘20'Hexデータを後ろに付加)し(S70)、
「8」の倍数分のデータを生成してステップS74に移行
する。
ステップS69において、後続フラグがオンとなってい
れば、制御素子15は、「8」の倍数分のデータを残し、
残りのデータを内部RAM上のデータセーブバッファに移
動する(S71)。すなわち、たとえば第2ライトバッフ
ァに18バイトのデータが存在すれば、16バイトのデータ
のみを残して残りの2バイトはデータセーブバッファに
移動する。このとき、内部RAM上の第2ライトバッファ
内が空となっていなければ(S72)、ステップS74に移行
する。
れば、制御素子15は、「8」の倍数分のデータを残し、
残りのデータを内部RAM上のデータセーブバッファに移
動する(S71)。すなわち、たとえば第2ライトバッフ
ァに18バイトのデータが存在すれば、16バイトのデータ
のみを残して残りの2バイトはデータセーブバッファに
移動する。このとき、内部RAM上の第2ライトバッファ
内が空となっていなければ(S72)、ステップS74に移行
する。
ステップS72において、内部RAM上の第2ライトバッフ
ァ内が空となっていれば(たとえば第2ライトバッファ
内に7バイトのデータがあれば、先の処理で第2ライト
バッファ内のデータ全てがデータセーブバッファに移動
されるため、結果として第2ライトバッファは空とな
る)、制御素子15は、今回アクセスしているエリアが書
込み時に暗号化するエリアか否かを判断する(S73)。
そして、もしそうでなければステップS75に移行し、も
しそうであればステップS83に移行する。
ァ内が空となっていれば(たとえば第2ライトバッファ
内に7バイトのデータがあれば、先の処理で第2ライト
バッファ内のデータ全てがデータセーブバッファに移動
されるため、結果として第2ライトバッファは空とな
る)、制御素子15は、今回アクセスしているエリアが書
込み時に暗号化するエリアか否かを判断する(S73)。
そして、もしそうでなければステップS75に移行し、も
しそうであればステップS83に移行する。
さて、ステップS74において、制御素子15は、暗号化
部13により、内部RAM上の第2ライトバッファ内のデー
タを例えばCBCモードで暗号化する。このとき、継続フ
ラグがオフとなっていれば、内部RAM上の第1乱数バッ
ファの内容にカード固有値を排他的論理和したものを、
また継続フラグがオンとなっていれば、前回の書込みで
暗号化したデータの最終8バイトをそれぞれ初期値とし
て、今回のCBCモード暗号化に使用する。また、このと
きのキーデータは第1キーバッファの内容を使用し、暗
号化アルゴリズムは保持されている暗号化アルゴリズム
番号により選択的に使用する。そして、この処理が終了
するとステップS75に移行する。
部13により、内部RAM上の第2ライトバッファ内のデー
タを例えばCBCモードで暗号化する。このとき、継続フ
ラグがオフとなっていれば、内部RAM上の第1乱数バッ
ファの内容にカード固有値を排他的論理和したものを、
また継続フラグがオンとなっていれば、前回の書込みで
暗号化したデータの最終8バイトをそれぞれ初期値とし
て、今回のCBCモード暗号化に使用する。また、このと
きのキーデータは第1キーバッファの内容を使用し、暗
号化アルゴリズムは保持されている暗号化アルゴリズム
番号により選択的に使用する。そして、この処理が終了
するとステップS75に移行する。
ステップS75において、制御素子15は、継続フラグが
オンされているか否かを判断し、オンされていればアク
セス対象エリアが暗号化を要するエリアか否かを判断す
る(S76)。もし暗号化を要するエリアでなければ、制
御素子15は、内部RAM上の第1ライトバッファの内容に
書込みコマンド中の書込みデータのバイト数LXを付加し
て、メモリ部11のアクセス対象エリア内にデータを書込
む(S77)。また、もし暗号化を要するエリアであれ
ば、制御素子15は、書込みデータのバイト数LXよりも大
なる「8」の倍数で、最少の値をLX′とし、これを第2
ライトバッファ内のデータを付加して書込む(S78)。
オンされているか否かを判断し、オンされていればアク
セス対象エリアが暗号化を要するエリアか否かを判断す
る(S76)。もし暗号化を要するエリアでなければ、制
御素子15は、内部RAM上の第1ライトバッファの内容に
書込みコマンド中の書込みデータのバイト数LXを付加し
て、メモリ部11のアクセス対象エリア内にデータを書込
む(S77)。また、もし暗号化を要するエリアであれ
ば、制御素子15は、書込みデータのバイト数LXよりも大
なる「8」の倍数で、最少の値をLX′とし、これを第2
ライトバッファ内のデータを付加して書込む(S78)。
ステップS75において、継続フラグがオンされていれ
ば、制御素子15は、アクセス対象エリアが暗号化を要す
るエリアか否かを判断する(S79)。もし暗号化を要す
るエリアでなければ、制御素子15は、内部RAM上の第1
ライトバッファの内容を先に書込んだデータに追加して
書込む(S80)。また、もし暗号化を要するエリアであ
れば、制御素子15は、内部RAM上の第2ライトバッファ
の内容を同様に書込む(S81)。
ば、制御素子15は、アクセス対象エリアが暗号化を要す
るエリアか否かを判断する(S79)。もし暗号化を要す
るエリアでなければ、制御素子15は、内部RAM上の第1
ライトバッファの内容を先に書込んだデータに追加して
書込む(S80)。また、もし暗号化を要するエリアであ
れば、制御素子15は、内部RAM上の第2ライトバッファ
の内容を同様に書込む(S81)。
さて、データを書込んだ後は、制御素子15は、後続フ
ラグがオンされているか否かを判断し(S82)、オンさ
れていれば継続フラグをオンしてレスポンス‘nb'を出
力し(S83)、命令データ待ち状態に戻る。もし、後続
フラグがオフとなっていれば、制御素子15は、先の書込
みコマンドWRITEが正当性確認要求モード否かを判断す
る(S84)。この判断の結果、もし正当性確認要求モー
ドでなければ、命令データ待ち状態に戻り、もし正当性
確認要求モードであれば、内部RAM上の第2ライトバッ
ファの内容の最終8バイトを出力して継続フラグをオフ
し(S85)、命令データ待ち状態に戻る。
ラグがオンされているか否かを判断し(S82)、オンさ
れていれば継続フラグをオンしてレスポンス‘nb'を出
力し(S83)、命令データ待ち状態に戻る。もし、後続
フラグがオフとなっていれば、制御素子15は、先の書込
みコマンドWRITEが正当性確認要求モード否かを判断す
る(S84)。この判断の結果、もし正当性確認要求モー
ドでなければ、命令データ待ち状態に戻り、もし正当性
確認要求モードであれば、内部RAM上の第2ライトバッ
ファの内容の最終8バイトを出力して継続フラグをオフ
し(S85)、命令データ待ち状態に戻る。
このように、エリア属性情報をメモリ部の各エリア個
々に有するようにしておき、このエリア属性情報により
正当性確認情報出力要求に応じるエリアか否かを設定で
きるようにしておくことにより、たとえば取引データの
正当性確認情報の生成に使用する暗号化アルゴリズムお
よびキーデータなどに対する選択的平文攻撃が受けにく
くなり、確認システムそのものの機能が充分維持でき
る。
々に有するようにしておき、このエリア属性情報により
正当性確認情報出力要求に応じるエリアか否かを設定で
きるようにしておくことにより、たとえば取引データの
正当性確認情報の生成に使用する暗号化アルゴリズムお
よびキーデータなどに対する選択的平文攻撃が受けにく
くなり、確認システムそのものの機能が充分維持でき
る。
[発明の効果] 以上詳述したように本発明によれば、正当性確認情報
の生成メカニズムに対する選択的平文攻撃が受けにくく
なり、確認システムそのものの機能が充分維持できる携
帯可能電子装置を提供できる。
の生成メカニズムに対する選択的平文攻撃が受けにくく
なり、確認システムそのものの機能が充分維持できる携
帯可能電子装置を提供できる。
【図面の簡単な説明】 図は本発明の一実施例を説明するためのもので、第1図
はICカードと端末装置との間の相互認証手順および端末
装置からICカードへのデータ書込み手順を示す図、第2
図はメモリ部の構成を示す図、第3図は認証準備コマン
ドのフォーマット例を示す図、第4図は認証コマンドの
フォーマット例を示す図、第5図は暗号化準備コマンド
のフォーマット例を示す図、第6図は書込みコマンドの
フォーマット例を示す図、第7図はICカードの動作を説
明するフローチャート、第8図はICカードと端末装置と
センタとのシステム構成図である。 10……ICカード(携帯可能電子装置)、11……メモリ
部、12……乱数発生部、13……暗号化部、14……コンタ
クト部、15……制御素子、20……端末装置、21……メモ
リ部、22……乱数発生部、23……暗号化部、26……コン
タクト部、27……通信制御部、28……制御部。
はICカードと端末装置との間の相互認証手順および端末
装置からICカードへのデータ書込み手順を示す図、第2
図はメモリ部の構成を示す図、第3図は認証準備コマン
ドのフォーマット例を示す図、第4図は認証コマンドの
フォーマット例を示す図、第5図は暗号化準備コマンド
のフォーマット例を示す図、第6図は書込みコマンドの
フォーマット例を示す図、第7図はICカードの動作を説
明するフローチャート、第8図はICカードと端末装置と
センタとのシステム構成図である。 10……ICカード(携帯可能電子装置)、11……メモリ
部、12……乱数発生部、13……暗号化部、14……コンタ
クト部、15……制御素子、20……端末装置、21……メモ
リ部、22……乱数発生部、23……暗号化部、26……コン
タクト部、27……通信制御部、28……制御部。
フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06K 19/073 G06K 17/00 G06F 19/00 G06F 12/14
Claims (1)
- 【請求項1】メモリ部と、このメモリ部に対してデータ
の書込みおよび読出しを行なう制御部を有し、選択的に
外部とのデータの授受を行なう携帯可能電子装置におい
て、 前記メモリ部を複数のエリアに分割するとともに、各エ
リアの属性としてデータを暗号化して書込むエリアであ
るか否かおよび正当性確認情報を出力してよいエリアで
あるかを定義するデータを記憶するエリア定義手段と、 キーデータを格納しておく格納手段と、 外部装置からエリアを指定した書込み命令を受信した場
合、指定されたエリアがデータを暗号化して書込むエリ
アであるか否かを前記エリア定義手段に格納されている
定義情報により確認する確認手段と、 指定されたエリアがデータを暗号化して書込むエリアで
ない場合、受信した書込み命令中の書込みデータを順次
指定されたエリアに書込み第1の書込み手段と、 指定されたエリアがデータを暗号化して書込むエリアで
あった場合、前記格納手段に格納されているキーデータ
を使用して受信した書込みデータを暗号化する暗号化手
段と、 この暗号化手段にて暗号化された書込みデータを指定さ
れたエリアに書込む第2の書込み手段と、 前記受信した書込み命令が正当性確認要求のモードであ
るか否かを確認する第2の確認手段と、 この第2の確認手段にて正当性確認要求のモードである
と確認された場合、指定されたエリアが正当性確認情報
を出力してよいエリアであるか前記エリア定義手段に格
納されている定義情報により確認する第3の確認手段
と、 この第3の確認手段にて正当性確認情報を出力してよい
エリアであると確認された場合、前記暗号化データのう
ち一部のデータを外部に送信する手段と、 を具備したことを特徴とする携帯可能電子装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7965689A JP2856415B2 (ja) | 1989-03-30 | 1989-03-30 | 携帯可能電子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7965689A JP2856415B2 (ja) | 1989-03-30 | 1989-03-30 | 携帯可能電子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02255398A JPH02255398A (ja) | 1990-10-16 |
JP2856415B2 true JP2856415B2 (ja) | 1999-02-10 |
Family
ID=13696185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7965689A Expired - Fee Related JP2856415B2 (ja) | 1989-03-30 | 1989-03-30 | 携帯可能電子装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2856415B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4498165B2 (ja) * | 2005-02-10 | 2010-07-07 | 株式会社エヌ・ティ・ティ・データ | 暗号通信鍵管理装置及びプログラム |
JP5358320B2 (ja) * | 2009-06-30 | 2013-12-04 | 株式会社エヌ・ティ・ティ・データ | 認証装置、認証方法および認証プログラム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06101014B2 (ja) * | 1985-11-19 | 1994-12-12 | 日本電気株式会社 | 課金装置 |
JPS63211044A (ja) * | 1987-02-27 | 1988-09-01 | Toshiba Corp | 携帯可能電子装置 |
-
1989
- 1989-03-30 JP JP7965689A patent/JP2856415B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH02255398A (ja) | 1990-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5293029A (en) | System for mutually certifying an IC card and an IC card terminal | |
JP2537199B2 (ja) | Icカ―ド | |
JP2005056305A (ja) | メモリ領域に分割領域を持つ情報記憶装置 | |
JP3480746B2 (ja) | 携帯可能電子装置 | |
JP2557838B2 (ja) | Icカ−ド | |
GB2227111A (en) | Certification system | |
JP2856415B2 (ja) | 携帯可能電子装置 | |
JP7020969B2 (ja) | 携帯可能電子装置、及びicカード | |
JPH02187888A (ja) | 認証方式 | |
JP2537200B2 (ja) | 携帯可能電子装置 | |
JP3526287B2 (ja) | 携帯可能電子装置及びそのデータ書込方法 | |
JPH01217689A (ja) | 携帯可能電子装置およびicチップ | |
JPH02187785A (ja) | 認証方式 | |
JPH02255397A (ja) | 携帯可能電子装置 | |
JPH0253154A (ja) | 携帯可能電子装置 | |
JPH02255399A (ja) | 携帯可能電子装置 | |
JP2609645B2 (ja) | 携帯可能電子装置 | |
JPH01194093A (ja) | 携帯可能電子装置 | |
JPH02255396A (ja) | 携帯可能電子装置 | |
JPH02255395A (ja) | 携帯可能電子装置 | |
JP2537198B2 (ja) | 携帯可能電子装置 | |
JP2598056B2 (ja) | 携帯可能電子装置 | |
JP2505003B2 (ja) | 補助記憶を持つicカ―ド | |
JPS62159295A (ja) | 携帯可能電子装置 | |
JPH03224083A (ja) | 携帯可能電子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071127 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081127 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |