JPH02255395A - 携帯可能電子装置 - Google Patents

携帯可能電子装置

Info

Publication number
JPH02255395A
JPH02255395A JP1079653A JP7965389A JPH02255395A JP H02255395 A JPH02255395 A JP H02255395A JP 1079653 A JP1079653 A JP 1079653A JP 7965389 A JP7965389 A JP 7965389A JP H02255395 A JPH02255395 A JP H02255395A
Authority
JP
Japan
Prior art keywords
data
write
encryption
card
input
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
JP1079653A
Other languages
English (en)
Inventor
Yasuo Iijima
康雄 飯島
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP1079653A priority Critical patent/JPH02255395A/ja
Publication of JPH02255395A publication Critical patent/JPH02255395A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Credit Cards Or The Like (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は、たとえば金融分野における取引システムなど
で使用されるICカードなどの携帯可能電子装置に係り
、特にメモリへのデータ書込み方法を改良した携帯可能
電子装置に関する。
(従来の技術) 近年、新たな携帯可能なデータ記憶媒体として、消去可
能な不揮発性メモリおよびCPUなどの制御素子を有す
るICチップを内蔵した、いわゆるIcカードが注目さ
れている。この種のICカードは、通常、外部から入力
される命令を制御素子が解読し、メモリへのデータ書込
みおよび読出しなどの制御を行なうようになっている。
さて、このようなICカードにあっては、取引システム
などの金融分野のみならず、データにセキュリティを必
要とする分野にも利用可能なように、メモリにデータを
書込む際、書込みデータを暗号化し、その最終結果を書
込みデータの正当性確認情報として外部に出力すること
が考えられている。
(発明が解決しようとする課題) 書込みデータの暗号化を行なう際の処理単位バイト数は
、暗号化アルゴリズムによって決定される。ここで、デ
ータ列を分割して書込み処理を行なう場合、もし、その
分割データ列を受付けるごとに全てを暗号化しようとす
ると、その都度パディング処理を施さなければならず、
メモリから読出したデータ列を復号化しても元のデータ
列に戻らない。
このため、分割データ列を処理単位バイト数の整数倍と
することも考えられるが、これはICカードを使用する
上での制約条件となり、かつ処理バイト数が外部にわか
ってしまうため、好ましくないという問題があった。
そこで、本発明は、装置内部で持つ暗号化の処理単位バ
イト数の制限を受けずに、ランダムなデータ数を入力し
ても、データ列の一連の暗号化処理を確実に行なえる携
帯可能電子装置を提供することを目的とする。
[発明の構成7 (課題を解決するための手段) 本発明は、メモリ部と、このメモリ部に対してデータの
書込みおよび読出しを行なう制御部を有し、選択的に外
部とのデータの授受を行なう携帯可能電子装置において
、所定バイト数単位で暗号化を行なう暗号化手段と、外
部から入力される第1のデータ列が所定バイト数の倍数
であるか否かを判断する第1の手段と、前記入力される
第1のデータ列に継続する第2のデータ列が存在するか
否かを判断する第2の手段と、前記第1の手段で倍数で
ないと判断され、かつ前記第2の手段で存在しないと判
断されると、前記入力される第1のデータ列を前記暗号
化手段で暗号化し、その暗号化結果の少なくとも一部の
データを外部に出力する第3の手段と、前記第2の手段
で存在すると判断されると、前記入力される第1のデー
タ列を倍数分のみ前記暗号化手段で暗号化し、その暗号
化結果の少なくとも一部および残りのデータ列を保持す
る第4の手段と、次の第2のデータ列が入力されると、
その第2のデータ列の前に前記第4の手段で保持された
残りのデータ列を付加し、これを前記第1のデータ列と
して処理する第5の手段とを具備している。
(作用) データ列が入力された際、そのデータ列のバイト数が暗
号化処理単位バイト数の整数倍となっているか否かを判
断するとともに、次に続くデータ列が存在するか否かを
判断し、もし次のデータ列が存在するのであれば、今回
入力されたデータ列を暗号化し、残りのデータ列を次の
データ列に付加し、これを順次続けて、データ列を暗号
化しながら、暗号化データの最終結果を外部に出力する
ことにより、装置内部で持つ暗号化の処理単位バイト数
の制限を受けずに、ランダムなデータ数を入力しても、
データ列の一連の暗号化処理を確実に行なえる。
(実施例) 以下、本発明の一実施例について図面を参照して説明す
る。
第8図は、本発明に係るICカード(携帯可能電子装置
)と、その上位装置である端末装置と、その上位装置で
あるセンタ(ホストコンピュータ)とのシステム構成図
である。
ICカード10は、各種データを記憶するためのメモリ
部11、乱数データを発生する乱数発生部12、データ
の暗号化を行なう暗号化部134後述する端末装置20
と通信するためのコンタクト部14、およびこれらを制
御するCPUなどの制御素子15などから構成されてい
て、これらのうちメモリ部11、乱数発生部12、暗号
化部13および制御素子15は、たとえば1つのICチ
ップ(あるいは複数のICチップ)で構成されてICカ
ード本体内に埋設されている。
メモリ部11は、たとえばEEFROMなどの不揮発性
メモリによって構成されており、第2図に示すように、
エリア定義テーブル(領域)16とデータファイル(領
域)17とに大きく分割さ。
れている。そして、データファイル17内は、図示する
ように複数のエリア18.・・・に分割定義されるもの
で、これら各エリア18・・・はエリア定義テーブル1
6内のエリア定義情報19によってそれぞれ定義される
ここに、エリア定義情報19は、たとえばエリアを指定
する識別情報としてのエリア番号(AID)、エリアが
割当てられているメモリ上の先頭アドレス情報、エリア
の容量を規定するサイズ情報および属性情報を対応付け
たデータ列である。
なお、属性情報は、たとえば1バイトで構成されていて
、そのMSBが「0」であれば暗号化データ書込みエリ
アであり、「1」であれば入力データ書込みエリアであ
ることを示している。
端末装置20は、ICカード1.0を取扱う機能を有し
、各種データを記憶するメモリ部21、乱数データを発
生する乱数発生部22、データの暗号化を行なう暗号化
部23、データの入力などを行なうキーボード部24、
データを表示する表示部25、ICカード10と通信す
るためのコンタクト部26、センタ(ホストコンピュー
タ)30と通信回線31を介してオンラインで通信する
通信制御部27、およびこれらを制御するCPUなどの
制御部28から構成されている。
次に、このような構成において、第1図を用いて本実施
例の正当性確認手順を説明する。なお、端末装置20の
メモリ部21には、図示するようなキーリストおよびキ
ーデータ番号(K I D)リストが格納されているも
のとする。キーリストはキーデータ番号とキーデータと
を対応付けたリストであり、KIDリストはキーデータ
を指定するキーデータ番号のみがリスト化されたもので
ある。
一方、ICカード10は、独自にキーリストを有してお
り、これはカード発行時などで内部のメモリ部11に登
録(記憶)される。
さて、まずステップ1〜ステツプ8によって、ICカー
ド10と端末装置F20との間で行なわれる相互認証の
プロセスを説明する。まず、ステップ1において、端末
装置120は、乱数発生部22によって乱数データR1
を生成し、認証準備コマンドEXCHによって、これを
ICカード10に送信する。このとき、端末装置20が
ICカード10を22:するために使用するキーデータ
のキー7’−夕番号(K I D−M) 、オ、kCF
端末装rI120がサポートしている暗号化アルゴリズ
ム(ALG)の指定データをも合わせて送信する。
次に、ステップ2において、ICカード10は、認証準
備コマンドEXCHを受信すると、乱数発生部12によ
って乱数データR2を生成し、それを認証準備コマンド
EXCHに対するレスポンスexchとして端末装置2
0に送信する。このとき、ICカード10は、端末装置
20を認証するために使用するキーデータのキーデータ
番号(K I D−N)を自身のもつキーリストから見
付けだし、かつ指定された暗号化アルゴリズム(A L
 G)を自身がサポートしているかを判断し、これをa
lgとして乱数データR2と合わせて端末装置20に送
信する。
もしこのとき、端末装置20から指定されたキーデータ
番号(K I D−M)がキーリストに存在しなかった
り、あるいはICカード10が端末袋w120を認証す
るために使用するキーデータ番号(K I D−N)が
キーリストに存在しなかったり、あるいは指定された暗
号化アルゴリズムをサポートしていなかった場合には、
その旨を端末装置20に通知する。
次に、ステップ3において、端末装置20は、ICカー
ド10から指定された暗号化キーデータのキーデータ番
号(KID−N)を自己が所有するキーリストから捜し
出し、対応するキーデータ(NNNNN)を取出す。そ
して、暗号化部23によって、暗号化アルゴリズムAL
G (−a 1 g)を使用してキーデータ(NNNN
N)によりICカード10からの乱数データR2を暗号
化し、その結果、すなわち暗号化データC2を認証コマ
ンドAUTHによってIcカード10に送信する。
なお、図中、Eは暗号化を実現する機能ボックスを示す
次に、ステップ4において、ICカード10が認証コマ
ンドAUTHを受信すると、Icカード10は、先に送
信した暗号化キーデータのキーデータ番号(K I D
−N)を自己が所有するキーリストより捜し出し、対応
するキーデータ(NNNNN)を取出す。そして、暗号
化部13によって、認証準備コマンドEXCHで指定さ
れた暗号化アルゴリズム(ALG)を使用してキーデー
タ(NNNNN)により乱数データR2を暗号化し、暗
号化データC2Xを得る。
次に、ステップ5において、ICカード10は、先に受
信した認証コマンドAUTH中の暗号化データC2とス
テップ4で生成した暗号化データC2Xとを比較し、そ
の比較結果Y/Nを得る。
次に、ステップ6において、lCカード10は、認証準
備コマンドEXCHで端末装置20がら指定された暗号
化キーデータのキーデータ番号(KID−M)に対応す
るキーデータ(MMMMM)を取出す。次に、暗号化部
13によって、暗号化アルゴリズム(A L G)を使
用してキーデータ(MMMMM)により乱数データR1
を暗号化し、暗号化データC1を得る。そして、この暗
号化デ〜りC1とステップ5による比較結果Y/Nを、
認証コマンドAUTHに対するレスポンスauthとし
て端末装置20に送信する。
次に、ステップ7において、端末装置2oがレスポンス
authを受信すると、端末装置2oは、先に送信した
暗号化キーデータのキーデータ番号(K I D−M)
に対応するキーデータ(MMMMM)を取出す。そして
、暗号化部23によって、暗号化アルゴリズム(A L
 G)を使用してキーデータ(MMMMM)により端末
装置2oがらの乱数データR1を暗号化し、暗号化デー
タCIXを15; る。
次に、ステップ8において、端末装置20は、レスポン
スauthによって受信した暗号化データC1とステッ
プ7で生成した暗号化データCIXとを比較し、この比
較結果とレスポンスauthにより受信したステップ5
によるICカード10での比較結果とにより、以降のシ
ステム処理の決定を行なう。
次に、ステップ9〜ステツプ23によって、端末装置2
0からICカード10に対しデータを書込むとともに、
書込み処理の正当性を確認するプロセスを説明する。ま
ず、ステップ9において、端末装置20は、書込みコマ
ンドWRITEによりデータを書込む要求をICカード
10に送信する。このとき、端末装置20は、ICカー
ド10内のメモリ部11に対する書込み対象エリアのエ
リア番号(AID−A)、書込みデータのバイト数(L
−1)、および書込みデータ(Ml)のうちICカード
10が入力データとして受信し得るバイト数に分割した
最初の分割データ(Ml−1)をIcカード10に送信
する。
次に、ステップ10において、ICカード10は、書込
みコマンドWRITEによって受信したエリア番号(A
 I D−A)が付されたエリアを第2図のエリア定義
テーブル16から見付ける。もし見付、からなければ、
エリア番号未定義を意味するステータスを書込みコマン
ドWRITEに対するレスポンスwriteによって端
末装置20に送信する。
もし、エリア番号(AID−A)が付されたエリアが見
付かれば、書込みコマンドWRITEが正当性確認要求
モードか否かを確認し、もしそうでなければ次に進む。
もし、そうであれば、エリア番号(AID−A)に対応
する属性情報により、本エリアが正当性確認情報を出力
してよいエリアか否かを判断する。この判断の結果、も
し否であれば、実行不可ステータスをレスポンスwri
teによって端末装置20に送信し、もし良いと判断さ
れれば次に・進む。
次に、ICカード10は、先に認証準備コマンドEXC
H,または後述する暗号化準備コマンド5RNDが正常
終了されているかをチエツクする。このチエツクの結果
、もし正常終了されていなければ、実行条件不備ステー
タスをレスポンスwriteによって端末袋faf20
に送信する。上記チエツクの結果、正常終了されていれ
ば、ICカード10は、先の認証準備コマンドEXCH
によって通知された乱数データR1とICカード10の
内部で所有するカード固有値とにより初期データR1’
を生成する。
次に、ステップ11において、ICカード10は、先に
認証準備コマンドEXCHで指定された暗号化アルゴリ
ズム(ALG)を使用して、初期データR1’ および
先に認証準備コマンドEXCHによって通知されたキー
データ番号(KID−M)に対応するキーデータ(MM
MMM)により肖込みデータ(Ml−1)を暗号化し、
暗号化データ(CI−1)を得る。次に、アクセス対象
となっているエリア番号(A I D−A)のエリアの
属性情報を参照することにより、メモリ部11への書込
みデータを入力データ(Ml−1)にするか暗号化デー
タ(CI−1)にするかを決定し、書込み処理を行なう
。そして、端末装置20に対し次の書込みデータを要求
するためのレスポンスnb−を送信する。
次に、レスポンス−nb”を受信すると、端末装置20
は、ステップ12において、次の書込みデータ(Ml−
2)をICカード1oに送信する。
次に、ステップ13において、次の書込みデータ(Ml
−2)を受信すると、ICカード1oは、再び暗号化ア
ルゴリズム(ALG)を使用して、先に生成した暗号化
データ(C1−1)の最終の8バイトデータおよびキー
データ番号(KID−M)に対応するキーデータ(MM
MMM)により書込みデータ(Ml−2)を暗号化し、
暗号化データ(C1−2)を得る。次に、ステップ11
と同様に、メモリ部11への書込みデータを入力データ
(Ml−2)にするか暗号化データ(cl−2)にする
かを決定し、選択的にエリアへの書込み処理を行なう。
そして、端末袋!20に対し次の書込みデータを要求す
るためのレスポンスnb−を送信する。
以下、ステップ12.13と同様の処理動作を繰返し行
なう。
さて、ステップ14において、端末装置20が分割デー
タの最終データ(Ml−n)をICカード】0に送信す
ると、ステップ15において、ICカード10は同様の
書込み処理を行なう。そして、先の書込みコマンドWR
ITEが正当性確認要求モードか否かを確認し、もしそ
うであったときに限り最終的に生成された暗号化データ
(CI−n)のうち最終8バイトを確認情報(ACI)
とし、書込みコマンドWRITEに対するレスポンスw
 r i t eによって端末装置20に送信する。
すなわち、上記処理においては、あらかじめ相互認証手
順で端末装置20がICカード10を認証するために、
ICカード10に対して指定したキーデータ(MMMM
M) 、暗号化アルゴリズム<A L G)および乱数
データ(R1)を使用して、書込みデータM1に対する
確認情報(ACI)が得られている。
次に、上記とは異なるキーデータ、暗号化アルゴリズム
および乱数データにより確認情報を得るブ、ロセスをス
テップ16〜ステツプ20によって説明する。まず、ス
テップ16において、端末装置20は、乱数発生部22
によって新規の乱数データR3を生成し、暗号化準備コ
マンド5RNDによって、これをICカード10に送信
する。このとき、ICカード10が確認情報を生成する
のに使用するキーデータのキーデータ番号(KID−八
)、および暗号化アルゴリズム(ALに’)を合わせて
送信する。
次に、ステップ17において、ICカード1゜は、暗号
化準備コマンド5RNDを受信すると、キーデータ番号
(KID−A)を自身が所有するキーリストから見付け
だし、対応するキーデータ(A A A A A)を得
て、レスポンスs rndを端末装置20に送信する。
次に、ステップ18において、端末袋gt20は、書込
みコマンドWRITEによりデータを書込む要求をIC
カード10に送信する。このとき、端末装置20は、I
Cカード10内のメモリ部11に対する書込み対象エリ
アのエリア番号(A I D−B)、書込みデータのバ
イト数(L−2) 、および書込みデータ(M2)を送
信する。なお、本ステップ18では、書込みデータ(M
2)のバイト数は、ICカード10が入力データとして
受信し得るバイト数である。
次に、ステップ19において、ICカード10は、ステ
ップ10と同様にしてエリア番号(AID−B)が付さ
れたエリアを第2図におけるエリア定義テーブル16か
ら見付ける。もし見付かれば、書込みコマンドWRIT
Eが正当性確認要求モードか否かを確認し、もしそうで
なければ次に進む。もし、そうであれば、エリア番号(
A I D−B)に対応する属性情報により、本エリア
が正当性確認情報を出力してよいエリアか否かを判断す
る。この判断の結果、もし否であれば、実行不可ステー
タスをレスポンスwriteによって端末装置20に送
信し、もし良いと判断されれば次に進む。
次に、ICカード10は、先に暗号化準備コマンド5R
ND (または認証準備コマンドEXCH)が正常終了
されているか否かをチエツクする。もし、正常終了され
ているとすると、ICカード10は、暗号化準備コマン
ド5RNDによって通知された乱数データR3とICカ
ード10の内部で所有するカード固有値とにより初期デ
ータR3’を生成する。
次に、ステップ20において、ICカード10は、先に
暗号化準備コマンド5RNDで指定された暗号化アルゴ
リズム(ALG’ )を使用して、初期データR3′、
および先に暗号化準備コマンド5RNDにより通知され
たキーデータ番号(KID−A)に対応するキーデータ
(AAAAA)により書込みデータ(M2)を暗号化し
、暗号化データC2を得る。次に、アクセス対象となっ
ているエリア番号(AID−B)のエリアの属性情報を
参照することにより、メモリ部11への書込みデータを
入力データ(M2)にするか暗号化データ(C2)にす
るかを決定し、書込み処理を行なう。そして、先の書込
みコマンドWRITEが正当性確認要求モードか否かを
確認し、もしそうであったときに限り端末装置20に対
し、暗号化データ(C2)のうち最終8バイトのデータ
を確認情報(AC2)として、書込みコマンドWRIT
Eに対するレスポンスwriteによって送信する。
なお、ICカード10は、第2図のエリア定義テーブル
16内の先頭アドレス情報およびサイズ情報によりメモ
リ部11内の物理的位置を確認する。先頭アドレス情報
は対応するエリアの先頭アドレス値であり、サイズ情報
は先頭アドレス値からのエリアの容量を規定している。
また、属性情報は1バイトで構成され、そのMSBが「
0」であれば暗号化データ書込みエリアであり、「1」
であれば入力データ書込みエリアであることを示す。
次に、ステップ21において、端末装置20は、Icカ
ード10へのデータ書込みを終了すると、書込みデータ
(Ml、M2)に対応する乱数データ(R1,R3) 
、キーデータ番号(K I D−M。
KID−A)、確認情報(ACI、AC2) 、および
使用アルゴリズム指定値(ALG、ALG’ )により
、データ書込み処理リストを作成する。なお、このとき
カード固有値もリストに対応付けておく。そして、この
作成したリストをセンタ30へ送信する。
次に、ステップ22において、センタ30は、端末装置
20からのリストを受信すると、そのリストから書込み
データ(Ml)を取出し、対応するキーデータ番号(K
 I D−M)により、キーデータ(MMMMM)を自
身が所有するキーリストから見付けだし、かつ自身が所
有する取引きリストで対応付けられている乱数データ(
R1)および暗号化アルゴリズム(ALG)により確認
情報(ACIX)を生成する。
そして、ステップ23において、リストで対応付けられ
た確認情報(ACI)とステップ22で生成した確認情
報(ACIX)とを比較し、両者が一致していればセン
タ30は書込みデータ(Ml)に対する書込み処理の正
当性を確認する。
書込みデータ(M2)以降についても、ステップ22.
23と同様な処理により正当性を確認する。
次に、ICカード10としての動作を第7図を用いて説
明する。まず、制御素子15は、端末装置20からの制
御信号によって電気的活性化を経た後、アンサ−・ツー
・リセットと称する初期応答データを端末装置20へ出
力する(Sl)。そして、@御素子15は、認証準備コ
マンド完了フラグおよび暗号化準備コマンド完了フラグ
をオフしくS2)、命令データ待ち状態に移る。
この状態で、命令データを受信すると(S3)、制御素
子15は、まず、この命令データが第3図に示す認証準
備コマンドEXCHであるか否かを判断しくS4) 、
もしそうでないと判断すると次のフローに移る。
ステップS4において、認証準備コマンドEXCHであ
ると判断すると、制御素子15は、認証準備コマンド中
のキーデータ番号(K I D)フィールドの内容をピ
ックアップし、メモリ部11内に登録されているキーリ
ストから同一のキーデータ番号を見付ける(S5)。
そして、もしキーデータ番号が見付からなければ(S6
)、制御素子15は、キーデータ指定エラーステータス
を出力しくS7)、命令データ待ち状態に戻る。もし、
キーデータ番号が見付かれば(S6)、制御素子15は
、対応するキーデータを内部RAM上の第1キーバツフ
アにセーブする(S8)。
次に、制御素子15は、認証準備コマンド中の暗号化ア
ルゴリズム指定データ(ALG)フィールドを参照する
ことにより、メモリ上に登録されている暗号化アルゴリ
ズムであるか否かをチエツクする(S9)。このチエツ
クの結果、指定された暗号化アルゴリズムが存在しない
場合(S 10)  制御素子15は、指定アルゴリズ
ムエラーステータスを出力しくS 11) 、命令デー
タ待ち状態に戻る。上記チエツクの結果、指定された暗
号化アルゴリズムが存在する場合(SIO)、制御素子
15は、その暗号化アルゴリズムの番号をセーブしてお
く(S12)。
次に、制御素子15は、認証準備コマンド中の乱数デー
タ(R1)を内部RAM上の第1乱数バツフアにセーブ
しく513)、その後、先のキーリストからICカード
認証用キーデータのキーデータ番号(KID’)を見付
ける(S14)。
そして、もしキーデータ番号が見付からなければ(S1
5)、制御素子15は、キーデータ未登録エラーステー
タスを出力しく516)、命令データ待ち状態に戻る。
もし、キーデータ番号が見付かれば(S15)、制御素
子15は、対応するキーデータを内部RAM上の第2キ
ーバツフアにセーブする(S 17)。
次に、制御素子15は、乱数発生部12によって乱数デ
ータR2を生成し、内部RAM上の第2乱数バツフアに
セーブする(318)。そして、制御素子15は、認証
準備コマンド完了フラグをオンしくS 19)  かつ
、生成した乱数データR2を先のキーデータ番号(KI
D’)および認証準備コマンド中の暗号化アルゴリズム
指定データ(ALG)フィールドの内容とともに、認証
準備コマンドEXCHに対するレスポンスexchとし
て端末装置20に出力しく520)、命令データ待ち状
態に戻る。
ステップS4において、認証準備コマンドEXCHでな
いと判断すると、制御素子15は、第4図に示す認ごコ
マンドAUTHであるか否かを判断しく521)、もし
そうでないと判断すると次のフローへ移る。
ステップ21において、認証コマンドAUTHであると
判断すると、制御索子15は、認証準備コマンド完了フ
ラグがオンされているか否かを判断しく522)、もし
オフであれば実行条件不備エラーステータスを出力しく
523)、命令データ待ち状態に戻る。
ステップ22において、認証準備コマンド完了フラグが
オンであれば、制御素子15は、暗号化部13により、
第2キーバツフアの内容を暗号化のキーデータとして第
2乱数バツフアの内容を暗号化する(324)。このと
きの暗号化アルゴリズムは、セーブされた暗号化アルゴ
リズム番号に対応する暗号化アルゴリズムを使用する。
そして、制御素子15は、上記暗号化の結果と認証コマ
ンドAUTHで送られた入力データとを比較しく525
)、その比較結果に応じて一致フラグをオンまたはオフ
する(826〜828)。
次に、制御素子15は、暗号化部13により、第1キー
バツフアの内容を暗号化のキーデータとして第1乱数バ
ツフアの内容を暗号化する(S29)  このときの暗
号化アルゴリズムも−に記同様のものを使用する。そし
て、@191素子15は、この暗号化の結果を先の一致
フラグの内容とともに、認証コマンドAUTHに対する
レスポンスauthとして端末装置20に出力しく53
0)、命令データ待ち状態に戻る。
ステップS21において、認証コマンドAUTHでない
と判断すると、制御素子15は、第5図に示す暗号化準
備コマンド5RNDであるか否かを判断しく531)、
もしそうでないと判断すると次のフローへ移る。
ステップ31において、暗号化準備コマンド5RNDで
あると判断すると、制御素子15は、暗号化準備コマン
ド中のキーデータ番号(K f D)フィールドの内容
をピックアップし、メモリ部11内に登録されているキ
ーリストから同一のキーデータ番号を見付ける(S 3
2)。
そして、もしキーデータ番号が見付からなければ(83
3)、制御素子15は、キーデータ指定エラーステータ
スを出力しく534) 、命令データ待ち状態に戻る。
もし、キーデータ番号が見付かれば(333)、制御素
子15は、対応するキーデータを内部RAM上の第1キ
ーバツフアにセーブする(S35)。
次に、制御素子15は、暗号化準備コマンド中の暗号化
アルゴリズム指定データ(ALG)フィールドを参照す
ることにより、メモリ上に登録されている暗号化アルゴ
リズムであるか否かをチエツクする(S36)  この
チエツクの結果、指定された暗号化アルゴリズムが存在
しない場合(S37)  制御素子15は、指定アルゴ
リズムエラーステータスを出力しく538)  命令デ
ータ待ち状態に戻る。上記チエツクの結果、指定された
暗号化アルゴリズムが存在する場合(S37)、制御素
子15は、その暗号化アルゴリズムの番号をセーブして
おく (S39)。
次に、制御素子15は、暗号化準備コマンド中の乱数デ
ータ(R3)を内部RAM上の第1乱数バツフアにセー
ブしく540) 、その後、暗号化QBコマンド完了フ
ラグをオンしく541)、かつ暗号化準備コマンド完了
ステータスを端末装置20に出力しく542)、命令デ
ータ待ち状態に戻る。
ステップS31において、暗号化準備コマンド5RND
でないと判断すると、制御素子15は、第6図(a)ま
たは(b)に示す書込みコマンドWRITEであるか否
かを判断しく551)、もしそうでないと判断すると、
他のコマンド(たとえばデータの読出しコマンド)であ
るか否かの判断を行ない、対応する処理へ移行する。
ステップS51において、書込みコマンドW RITE
であると判断すると、制御素子15は、その書込みコマ
ンドが第6図(a)の形式か(b)の形式かを判断する
(S52)。この判断の結果、第6図(a)の書込みコ
マンドであれば、制御素T−15は、書込みコマンドW
RITEが正当性確認要求モードか否かを判断しく35
3)、もしそうでなければアクセス対象エリアが暗号化
を要するエリアか否かを判断する(S54)。
ステップ353において、もし正当性確認要求モードで
あれば、制御素子15は、書込みコマンド中のエリア番
号(AID)に対応する属性情報により、対応するエリ
アが正当性確認情報を出力してよいエリアか否かを判断
する(S 55)。この判断の結果、もし否であれば、
制御素子15は、実行不可ステータスを端末装!f2o
に出力し(S56)、命令データ待ち状態に戻る。
ステップS54において暗号化を要するエリアであると
判断した場合、あるいはステップS55において正当性
確認情報を出力してよいエリアであると判断した場合、
制御素子15は、認証準備コマンド完了フラグおよび暗
号化準備コマンド完了フラグを参照しく557)、どち
らかでもオフとなっていれば(358)、条件不備ステ
ータスを出力しく559)  命令データ待ち状態に戻
る。
ステップS54において暗号化を要しないエリアである
と判断した場合、あるいはステップS58においてどち
らかのフラグがオンとなっていれば、制御素子15は、
書込みコマンド中のデータ部の内容を内部RAM上の第
2ライトバツフアにセーブする(S 60)。
ステップS52において、第6図(b)の書込みコマン
ドであれば、制御素子15は、内部で保持している書込
みコマンド継続フラグがオンか否かを判断する(S61
)。もしオフとなっていれば、制御素子15は、要求エ
ラーステータスを出力しく362)、命令データ待ち状
態に戻る。もしオンとなっていれば、制御素子15は、
内部RAM上のデータセーブバッファの内容に書込みコ
マンド中のデータ部の内容(入力データ)を付加し、内
部RAM上の第2ライトバツフアにセーブする(863
)。
そして、制御素子15は、書込みコマンド中のデータ部
の内容(入力データ)のみを内部RAMにの第1ライト
バツフアにセーブする(S 64)。
次に、制御素子15は、第6図(a)または(b)の書
込みコマンドによって送られた入力データに書込み後続
データが存在するか否がをチエツクしく565)、書込
み後続データが存在すれば後続フラグをオンしく566
)  書込み後続データが存在しなければ後続フラグを
オフする(S67)。
次に、制御索子15は、内部RAM上の第2ライトバツ
フア内のデータのバイト数が例えば「8」の倍数である
か否かをチエツクしく568)、もしそうであればステ
ップS74に移行する。もしそうでなければ、制御素子
15は、後続フラグを参照してオフとなっていれば(S
69)、内部RA M上の第2ライトバツフア内のデー
タにパディング処理(たとえば゛2O−Hexデータを
後ろに付加)L (S70)、「8」の倍数分のデータ
を生成してステップS74に移行する。
ステップS69において、後続フラグがオンとなってい
れば、制御素子15は、「8」の倍数分のデータを残し
、残りのデータを内部RAM上のデータセーブバッファ
に移動する(S71)。すなわち、たとえば第2ライト
バツフアに18バイトのデータが存在すれば、16バイ
トのデータのみを残して残りの2バイトはデータセーブ
バッファに移動する。このとき、内部RAM上の第2ラ
イトバツフア内が空となっていなければ(S72)、ス
テップS74に移行する。
ステップS72において、内部RAM上の第2ライトバ
ツフア内が空となっていれば(たとえば第2プイトバツ
フア内に7バイトのデータがあれば、先の処理で第2ラ
イトバツフア内のデータ全てがデータセーブバッファに
移動されるため、結果として第2ライトバツフアは空と
なる)、制&ll子15は、今回アクセスしているエリ
アが書込み時に暗号化するエリアか否かを判断する(3
73)。そして、もしそうでなければステップS75に
移行し、もしそうであればステップS83に移行する。
さて、ステップS74において、制御素子15は、暗号
化部13により、内部RAM上の第2ライトバツフア内
のデータを例えばCBCモードで暗号化する。このとき
、継続フラグがオフとなっていれば、内部RAM上の第
1乱数バツフアの内容にカード固有値を排他的論理和し
たものを、また継続フラグがオンとなっていれば、前回
の書込みで暗号化したデータの最終8バイトをそれぞれ
初期値として、今回のCBCモード暗号化に使用する。
また、このときのキーデータは第1キーバツフアの内容
を使用し、暗号化アルゴリズムは保持されている暗号化
アルゴリズム番号により選択的に使用する。そして、こ
の処理が終了するとステップS75に移行する。
ステップS75において、制御素子15は、継続フラグ
がオンされているか否かを判断し、オンされていればア
クセス対象エリアが暗号化を要するエリアか否かを判断
する(S76)。もし暗号化を要するエリアでなければ
、制御素子15は、内部RAM上の第1ライトバツフア
の内容に書込みコマンド中の書込みデータのバイト数L
Xを付加して、メモリ部11のアクセス対象エリア内に
データを書込む(S 77)。また、もし暗号化を要す
るエリアであれば、制御素子15は、書込みデータのバ
イト数LXよりも大なる「8」の倍数で、最少の値をL
X’ とし、これを第2ライトバツフア内のデータを付
加して書込む(378)。
ステップS75において、継続フラグがオンされていれ
ば、制御素子15は、アクセス対像エリアが暗号化を要
するエリアか否かを判断する(S 79)。もし暗号化
を要するエリアでなければ、制御素子15は、内部RA
M上の第1ライトバツフアの内容を先に書込んだデータ
に追加して書込む(S80)  また、もし暗号化を要
するエリアであれば、制御素子15は、内部RAM上の
第2ライトバツフアの内容を同様に書込む(S81)。
さて、データを書込んだ後は、制御素子15は、後続フ
ラグがオンされているか否かを判断しく582) 、オ
ンされていれば継続フラグをオンしてレスポンス−nb
−を出力しく583) 、命令データ待ち状態に戻る。
もし、後続フラグがオフとなっていれば、制御素子15
は、先の書込みコマンドWRITEが正当性確認要求モ
ードか否かを判断する(S84)。この判断の結果、も
し正当性確認要求モードでなければ、命令データ待ち状
態に戻り、もし正当性確認要求モードであれば、内部R
AM上の第2ライトバツフアの内容の最終8バイトを出
力して継続フラグをオフしく585)、命令データ待ち
状態に戻る。
このように、メモリ部に書込むデータ列が入力された際
、そのデータ列のバイト数が暗号化処理単位バイト数の
整数倍となっているか否かを判断するとともに、次に続
くデータ列が存在するか否かを判断し、もし次のデータ
列が存在するのであれば、今回入力されたデータ列を暗
号化し、残りのデータ列を次のデータ列に付加し、これ
を順次続けて、データ列を暗号化しながら、暗号化デー
タの最終結果を書込みデータの正当性確認情報として外
部に出力することにより、ICカードの内部で持つ暗号
化の処理単位バイト数の制限を受けずに、ランダムなデ
ータ数を入力しても、データ列の一連の暗号化処理を確
実に行なえる。
[発明の効果] 以上詳述したように本発明によれば、装置内部で持つ暗
号化の処理単位バイト数の制限を受けずに、ランダムな
データ数を入力しても、データ列の一連の暗号化処理を
確実に行なえる携帯可能電子装置を提供できる。
【図面の簡単な説明】
図は本発明の一実施例を説明するためのもので、第1図
はICカードと端末装置との間の相互認証手順および端
末装置からICカードへのデータ書込み手順を示す図、
第2図はメモリ部の構成を示す図、第3図は認証準備コ
マンドのフォーマット例4を示す図、第4図は認証コマ
ンドのフォーマット例を示す図、第5図は暗号化準備コ
マンドのフォーマット例を示す図、m6図は書込みコマ
ンドのフォーマット例を示す図、第7図はICカードの
動作を説明するフローチャート、第8図はICカードと
端末装置とセンタとのシステム構成図である。 10・・・・・・ICカード(携帯可能電子装置)、1
1・・・・・・メモリ部、12・・・・・・乱数発生部
、13・・・・・・暗号化部、14・・・・・・コンタ
クト部、15・・・・・・制御素子、20・・・・・・
端末装置、21・・・・・・メモリ部、22・・・・・
・乱数発生部、23・・・・・・暗号化部、26・・・
・・・コンタクト部、27・・・・・・通信制御部、2
8・・・・・・制御部。 出願人代理人 弁理士 鈴 江 武 彦第3 図 第4 図 第 図 第6 図 第 図(aJ 第8 図

Claims (1)

  1. 【特許請求の範囲】 メモリ部と、このメモリ部に対してデータの書込みおよ
    び読出しを行なう制御部を有し、選択的に外部とのデー
    タの授受を行なう携帯可能電子装置において、 所定バイト数単位で暗号化を行なう暗号化手段と、 外部から入力される第1のデータ列が所定バイト数の倍
    数であるか否かを判断する第1の手段と、前記入力され
    る第1のデータ列に継続する第2のデータ列が存在する
    か否かを判断する第2の手段と、 前記第1の手段で倍数でないと判断され、かつ前記第2
    の手段で存在しないと判断されると、前記入力される第
    1のデータ列を前記暗号化手段で暗号化し、その暗号化
    結果の少なくとも一部のデータを外部に出力する第3の
    手段と、 前記第2の手段で存在すると判断されると、前記入力さ
    れる第1のデータ列を倍数分のみ前記暗号化手段で暗号
    化し、その暗号化結果の少なくとも一部および残りのデ
    ータ列を保持する第4の手段と、 次の第2のデータ列が入力されると、その第2のデータ
    列の前に前記第4の手段で保持された残りのデータ列を
    付加し、これを前記第1のデータ列として処理する第5
    の手段とを具備したことを特徴とする携帯可能電子装置
JP1079653A 1989-03-30 1989-03-30 携帯可能電子装置 Pending JPH02255395A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1079653A JPH02255395A (ja) 1989-03-30 1989-03-30 携帯可能電子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1079653A JPH02255395A (ja) 1989-03-30 1989-03-30 携帯可能電子装置

Publications (1)

Publication Number Publication Date
JPH02255395A true JPH02255395A (ja) 1990-10-16

Family

ID=13696093

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1079653A Pending JPH02255395A (ja) 1989-03-30 1989-03-30 携帯可能電子装置

Country Status (1)

Country Link
JP (1) JPH02255395A (ja)

Similar Documents

Publication Publication Date Title
US5293029A (en) System for mutually certifying an IC card and an IC card terminal
JP2537199B2 (ja) Icカ―ド
EP0926624B1 (en) Intergrated circuit for embeddding in smart cards, and method of issuing smart cards
US5369760A (en) Data processing system
JPH04143881A (ja) 相互認証方式
JPS60160491A (ja) Icカードとicカード発行装置
JPS63201748A (ja) 携帯可能電子装置
US4841131A (en) Portable electronic device with means for checking data validity during read-out
JPH07134760A (ja) 携帯可能電子装置
JPH02255395A (ja) 携帯可能電子装置
JP2856415B2 (ja) 携帯可能電子装置
JPH02187888A (ja) 認証方式
JPH02255396A (ja) 携帯可能電子装置
JPH02187785A (ja) 認証方式
JPH02255399A (ja) 携帯可能電子装置
JPH01217689A (ja) 携帯可能電子装置およびicチップ
JPH02255397A (ja) 携帯可能電子装置
JP3545045B2 (ja) Icカードアクセス用パターンファイルの作成方法
JP3526287B2 (ja) 携帯可能電子装置及びそのデータ書込方法
JP3231466B2 (ja) キーを記憶した情報記録媒体
JPS63211049A (ja) 携帯可能電子装置
JP7487837B1 (ja) 電子情報記憶媒体、icチップ、icカード、鍵データ格納方法、及びプログラム
JP2537198B2 (ja) 携帯可能電子装置
JPS63211046A (ja) 携帯可能電子装置
JPH10124635A (ja) Icカードおよびicカードシステム