+

JP3693709B2 - Information writing / reading method for portable information recording medium - Google Patents

Information writing / reading method for portable information recording medium Download PDF

Info

Publication number
JP3693709B2
JP3693709B2 JP18462795A JP18462795A JP3693709B2 JP 3693709 B2 JP3693709 B2 JP 3693709B2 JP 18462795 A JP18462795 A JP 18462795A JP 18462795 A JP18462795 A JP 18462795A JP 3693709 B2 JP3693709 B2 JP 3693709B2
Authority
JP
Japan
Prior art keywords
terminal device
medium
data
encryption
key
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
Application number
JP18462795A
Other languages
Japanese (ja)
Other versions
JPH0916731A (en
Inventor
和義 入澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP18462795A priority Critical patent/JP3693709B2/en
Publication of JPH0916731A publication Critical patent/JPH0916731A/en
Application granted granted Critical
Publication of JP3693709B2 publication Critical patent/JP3693709B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【産業上の利用分野】
本発明は携帯可能情報記録媒体に対する情報書込/読出方法に関し、特に、CPUとメモリを有するICモジュールを内蔵し、表面に磁気もしくは光による情報記録部が形成されたいわゆるハイブリッド型のICカードなどに対して利用するのに適した情報の書込/読出方法に関する。
【0002】
【従来の技術】
携帯可能情報記録媒体として、現在、磁気カードが広く普及しているが、大きな記憶容量を確保できる光カードや十分なセキュリティを確保できるICカードも実用化されている。今後は、半導体集積回路の小型化、低コスト化のための技術進歩により、実社会の種々のシステムにおいてICカードが利用されるものと思われる。
【0003】
特に、CPUを内蔵したICカードでは、単なる情報記録媒体としての機能だけではなく、情報処理機能が付加されるため、高度なセキュリティを必要とする情報処理システムへの利用が期待されている。現在普及している一般的なICカードは、CPUと、このCPUによってアクセスされる3種類のメモリ、すなわち、ROM,RAM,EEPROMを有している。ROM内には、CPUによって直接実行可能なインストラクションコードからなるプログラムが記憶されており、CPUはこのプログラムに基いて、ICカードを統括制御する機能を有する。RAMは、CPUがこのような統括制御を行う上での作業領域として使用されるメモリである。一方、EEPROMは、CPUを介してデータの読出しおよび書き込みが可能な不揮発性メモリであり、このICカードに記録すべき本来のデータを格納するために用いられる。
【0004】
磁気カードや光カードでは、表面に情報記録部が設けられており、磁気読取装置や光学的読取装置を用いることにより、この情報記録部に記録されたデジタルデータを読み取ることが可能である。このため、不正な手段による読出しも比較的容易に行いうる。これに対して、ICカードに内蔵されているEEPROMへのアクセスは、すべてCPUを介して行われ、外部からEEPROMを直接アクセスすることはできない。したがって、ICカードは、磁気カードや光カードに比べて高度なセキュリティを確保することが可能になる。ただ、ICメモリの価格は、年々低下してきているとはいえ、単位記録容量あたりのコストは、磁気記録や光記録に比べてまだまだ高価である。そこで、ICメモリによる記録と、磁気記録・光記録・光磁気記録などの磁気もしくは光を用いた記録とを併用したいわゆる「ハイブリッド型」の情報記録カードが提案されている。
【0005】
たとえば、光記録を併用したハイブリッドICカードでは、カード状の媒体内部にICモジュールが埋め込まれるとともに、表面に光記録部が形成される。このようなハイブリッドICカードを用いれば、記録すべき情報は、ICモジュール内のEEPROMへデジタルデータとして記録することもできるし、光記録部にデジタルピットとして記録することもできる。そこで、高度なセキュリティを要する情報についてはEEPROMへ記録し、大容量の情報については光記録部へ記録する、という利用形態が可能になる。
【0006】
ただ、上述したハイブリッドICカードでは、光記録部へ大容量の情報を記録することが可能になるが、この光記録部に記録された情報に対するセキュリティは低下せざるを得ない。そこで、光記録部に記録する情報については、暗号化した後に記録する方法が提案されている。たとえば、特開平4−49098号公報には、ハイブリッドICカードのメモリ内に記録された暗号化キーKを用いてデータを暗号化し、この暗号化したデータを表面の光記録部に記録する方法が開示されている。この方法によれば、光記録部には暗号化されたデータが記録されるので、不正な方法で読み出されても、暗号を解読することができない限り、内容を知得することはできない。暗号を解読するためには、メモリ内の暗号化キーKが必要になるが、この暗号化キーKはICモジュール内に厳重なセキュリティをもって格納されているため、容易には知得することはできない。
【0007】
【発明が解決しようとする課題】
上述したように、ハイブリッドICカードの光記録部に、暗号化されたデータを書込むようにすれば、かなり高度なセキュリティ確保が実現できる。しかしながら、このような方法による書込処理を行うようにしても、ハイブリッドICカードを実社会の取引システムに実用するには、次のような問題が残る。
【0008】
第1の問題は、書込処理を行った端末装置に対する認証を行うことができないという点である。たとえば、このようなハイブリッドICカードを、銀行取引に適用した場合を考える。この場合、個々の利用者ごとにハイブリッドICカードが発行され、個々の支店ごとに端末装置が設置される。また、場合によっては、駅や百貨店などの公共の場にも、キャッシュディスペンサとしての端末装置が設置される場合もあり、実用上は、非常に多数のハイブリッドICカードが、非常に多数の端末装置によってアクセスされることになる。このような利用形態では、データの書込みを行った端末装置を、確実に認証するシステムが不可欠となる。たとえば、光記録部に預金の引出金額が記録されていた場合、後に、この記録がどの端末装置によってなされたのであるかを立証できるようにしておかなければ、どのキャッシュディスペンサによって実際に現金の払い出しが行われたのかを認証することができず、実社会で利用するシステムとして、十分なセキュリティをもったものにはならない。従来提案されているハイブリッドICカードに対する情報書込/読出方法では、このような端末装置に対する認証を行うことができず、実社会の取引システムに適用する上で大きな問題となっていた。
【0009】
また、第2の問題は、暗号化処理に多大な時間がかかるという点である。従来の方法では、上述のように、個々のICカードの内部で暗号化処理が行われることになるが、一般に、ICカードに内蔵するCPUとしては、コストダウンおよびICの小型化の要求から、演算処理能力が比較的低い安価なものが用いられる。このような安価なCPUに、暗号化処理を実行させると負担が大きく、実行にかなりの時間が必要となる。このため、端末装置によるアクセスは、暗号化処理という余分な処理のために、かなり長時間を費やすことになり、実用上は大きな問題になる。
【0010】
そこで、本発明の第1の目的は、携帯可能情報記録媒体を用いた取引システムにおいて、書込処理を行った端末装置に対する認証を可能にすることであり、第2の目的は、暗号化処理のための時間をできるだけ低減させることである。
【0011】
【課題を解決するための手段】
(1) 本発明の第1の態様は、CPUと、このCPUによってアクセスされるメモリと、光もしくは磁気を利用して情報記録を行うことができる情報記録部とを有し、メモリと情報記録部との双方に情報記録を行うことができる携帯可能情報記録媒体について、端末装置から情報記録部に情報を書込むための情報書込方法において、
媒体暗号化キーを用いて暗号化されたデータは、媒体復号化キーを用いることによって復号化することが可能になり、端末暗号化キーを用いて暗号化されたデータは、端末復号化キーを用いることによって復号化することが可能になるように、個々の媒体に固有の媒体暗号化キーと、個々の媒体に固有の媒体復号化キーと、個々の端末装置に固有の端末暗号化キーと、個々の端末装置に固有の端末復号化キーと、をそれぞれ定義する段階と、
媒体復号化キーについては、それぞれ個々の媒体内のメモリに秘密キーとして用意し、端末暗号化キーについては、それぞれ個々の端末装置内に秘密キーとして用意し、媒体暗号化キーおよび端末復号化キーについては、それぞれ公開キーとして利用できる形態で用意する段階と、
情報記録部へ書込むべき記録対象データD(0)を用意する段階と、
特定の端末装置について秘密キーとして用意されている端末暗号化キーを用いて、記録対象データD(0)を暗号化する暗号化処理を、上記特定の端末装置内で行い、一次暗号データD(1)を得る段階と、
特定の媒体について公開キーとして用意されている媒体暗号化キーを用いて、一次暗号データD(1)を暗号化する暗号化処理を、上記特定の端末装置内で行い、二次暗号データD(2)を得る段階と、
特定の端末装置により、特定の媒体の情報記録部に、二次暗号データD(2)と当該特定の端末装置を示すための付加情報とを書込む段階と、
を行うようにしたものである。
【0012】
(2) 本発明の第2の態様は、上述の第1の態様に係る可能情報記録媒体に対する情報書込方法において、
ホストコンピュータに対してオンライン接続されている端末装置については、端末暗号化キーを、端末装置内もしくはホストコンピュータ内のいずれかに用意し、一次暗号データD(1)を得るための暗号化処理および二次暗号データD(2)を得るための暗号化処理を端末装置内もしくはホストコンピュータ内のいずれかで行うようにしたものである。
【0013】
(3) 本発明の第3の態様は、上述の第1または第2の態様に係る携帯可能情報記録媒体に対する情報書込方法によって情報記録部に書込まれた情報を読み出す方法において、
所定の端末装置により、媒体の情報記録部に書込まれた二次暗号データD(2)と付加情報とを読み出す段階と、
媒体内のメモリに秘密キーとして用意されている媒体復号化キーを用いて、二次暗号データD(2)を復号化する復号化処理を、上記媒体内で行い、一次暗号データD(1)を得る段階と、
二次暗号データD(2)を書込む処理を行った特定の端末装置を、読み出した付加情報に基づいて推定し、推定された特定の端末装置について公開キーとして用意されている端末復号化キーを用いて、一次暗号データD(1)を復号化する復号化処理を、上記所定の端末装置内もしくは上記所定の端末装置に対してオンライン接続されているホストコンピュータ内で行い、記録対象データD(0)を得る段階と、
を行うようにしたものである。
【0014】
(4) 本発明の第4の態様は、上述の第3の態様に係る携帯可能情報記録媒体に対する情報読出方法において、
端末装置から媒体へ二次暗号データD(2)とともに復号化コマンドを送信し、この復号化コマンドを受けた媒体が媒体内で一次暗号データD(1)を得るための復号化処理を行い、得られた一次暗号データD(1)をレスポンスとして端末装置へ返送するようにしたものである。
【0015】
(5) 本発明の第5の態様は、上述の第4の態様に係る携帯可能情報記録媒体に対する情報読出方法において、
媒体に接続されている端末装置が正規のものであるか否かを判定する機能を媒体側に用意し、正規の端末装置であった場合にのみ、一次暗号データD(1)をレスポンスとして返送するようにしたものである。
【0016】
(6) 本発明の第6の態様は、上述の第3〜第5の態様に係る携帯可能情報記録媒体に対する情報読出方法において、
得られた記録対象データD(0)に対して、正しい記録対象データが本来備えているべき所定の条件を備えているか否かを調べるエラーチェック処理を行う段階を更に付加したものである。
【0017】
【作 用】
本発明によれば、特定の端末装置によって特定の媒体の情報記録部に記録対象データD(0)を記録する場合、次のような暗号化処理がなされる。まず、特定の端末装置について秘密キーとして用意されている端末暗号化キーを用いて、記録対象データD(0)を暗号化し、一次暗号データD(1)を得る。続いて、特定の媒体について公開キーとして用意されている媒体暗号化キーを用いて、一次暗号データD(1)を暗号化し、二次暗号データD(2)を得る。そして、最終的に、この二次暗号データD(2)を、この特定の端末装置により、特定の媒体の情報記録部に書込む処理を行うのである。
【0018】
このような暗号化処理は非常に効率的に行うことができる。すなわち、いずれの暗号化処理も端末装置あるいはこれにオンライン接続されたホストコンピュータによって実行することができるため、ICカードに内蔵されているCPUよりもはるかに能力の高いCPUによって暗号化処理が行われ、処理時間は非常に短くなる。また、暗号化に用いる暗号化キーとして、端末暗号化キーと媒体暗号化キーとの双方が用いられるが、媒体暗号化キーについては公開キーとして用意すればよいので、端末装置側のセキュリティ負担は大幅に軽減される。すなわち、個々の端末装置は、それぞれ自分に固有の端末暗号化キーのみを秘密キーとして保持していれば足りる。一方、媒体暗号化キーは、それぞれ個々の媒体ごとに固有のものであり、発行された媒体の数だけ必要になる。また、新規発行が行われるたびに、新たな媒体暗号化キーを追加する処理が必要になる。ところが、この媒体暗号化キーは、公開キーとして用意すればよいので、セキュリティ上の負担は全くなくなる。
【0019】
しかも、このようにして情報記録部に書込まれた情報については、十分なセキュリティが確保できる。なぜなら、情報記録部に書込まれた二次暗号データD(2)を復号化して一次暗号データD(1)を得るには、媒体復号化キーが必要になるが、この媒体復号化キーは、媒体のメモリ内に秘密キーとして用意されているため、不正な手段によって知得することは極めて困難になるからである。
【0020】
本発明の大きな特徴は、上述のようにして書込まれた情報を読み出すプロセスにおいて、情報の書込みを行った端末装置を認証することができる点である。すなわち、読出処理は、次のような復号化処理によって行われる。まず、媒体の情報記録部に書込まれた二次暗号データD(2)を読み出し、媒体内のメモリに秘密キーとして用意されている媒体復号化キーを用いて、この二次暗号データD(2)を復号化し、一次暗号データD(1)を得る。続いて、この二次暗号データD(2)を書込む処理を行った特定の端末装置について公開キーとして用意されている端末復号化キーを用いて、一次暗号データD(1)を復号化し、記録対象データD(0)を得る。このようにして読出した記録対象データD(0)は、書込みを行った端末装置についての特定が正しい場合にのみ、本来の正しいデータとなる。別言すれば、上述のような読出方法によって正しい記録対象データD(0)が得られたとすれば、このデータは上記特定の端末装置によって確かに書込まれたデータである、との認証が得られることになる。
【0021】
なお、二次暗号データD(2)に対する復号化処理は、端末装置から媒体へ復号化コマンドを送信し、この復号化コマンドに対するレスポンスとして一次暗号データD(1)を得るようにすればよい。このとき、媒体が端末装置を正規のものであると認証した場合のみレスポンス返送を行うようにすれば、不正な手段によって復号化コマンドが与えられた場合に対処することが可能になる。
【0022】
【実施例】
以下、本発明を図示する実施例に基いて説明する。
【0023】
§1. 一般的なハイブリッドICカードの構成
はじめに、現在提案されている一般的なハイブリッドICカードの構成を説明する。図1に外観を示すICカード100は、ICモジュール部10を内蔵し、表面に光記録部20が形成されたハイブリッドICカードである。ICモジュール部10の表面には、接触端子30が設けられている。光記録部20は、データを微小ピットとして記録する領域である。このICカード100に対するアクセスは、専用の端末装置200によって行われる。端末装置200にICカード100を挿入すると、端末装置200内の電極と接触端子30とが電気的に接触し、この接触端子30を介して、ICモジュール部10に対する電源供給、クロック供給、データの送受が行われることになる。また、端末装置200には、光記録部20に対して微小ピットを書込んだり、光記録部20内に記録されている微小ピットの情報を読み込んだりする光学的アクセス手段が組み込まれている。
【0024】
図2は、このICカード100を端末装置200に接続し、アクセスを行っている状態を示すブロック図である。ICカード100と端末装置200とはI/Oライン19および接触端子30を介して相互に接続されている。この他、端末装置200とICカード100との間には、電源・クロック・リセット信号などの供給路が形成されるが、ここではこれら供給路の図示は省略する。
【0025】
ICカード100に内蔵されたICモジュール部10には、I/Oインタフェース11、CPU12、ROM13、RAM14、EEPROM15が内蔵されている。I/Oインタフェース11は、I/Oライン19を介してデータを送受するための入出力回路であり、CPU12はこのI/Oインタフェース11を介して、端末装置200と交信することになる。ROM13内には、CPU12によって実行されるプログラムが記憶されており、CPU12はこのプログラムに基いて、ICモジュール部10を統括制御する機能を有する。RAM14は、CPU12がこのような統括制御を行う上での作業領域として使用されるメモリである。一方、EEPROM15は、ICモジュール部10に記録すべき本来のデータを格納するメモリである。ICカード100が端末装置200と切り離されると、電源およびクロックの供給は停止する。このとき、RAM14内のデータは、電源供給の停止によりすべて失われるが、EEPROM15は不揮発性メモリであるため、電源供給が停止した後もその記録内容はそのまま保持される。
【0026】
端末装置200は、光学的アクセス手段29によって光記録部20に対するアクセスを行うこともできる。光学的アクセス手段29は、一般に、半導体レーザ,光学系,走査機構などを組み合わせて構成され、上述したように、微小ピットの形式で光記録部20内にデジタル情報の記録を行う。この実施例に係るICカード100では、ICモジュール部10内のEEPROM15は8KBの記録容量しかもたないのに対し、光記録部20には、3.4MBの情報記録が可能である。したがって、ICモジュール部10のみしか備えていないICカードに比べれば、このハイブリッドICカード100には大量の情報を記録することが可能である。
【0027】
しかしながら、光記録部20に記録された情報は、セキュリティの面で問題があることは既に述べたとおりである。すなわち、光記録部20に記録された情報を肉眼によって読み取ることは不可能であるが、光学的アクセス手段29と同等の機能をもった装置を用いれば、光記録部20に記録された微小ピットを読み取ることは可能である。このため、ある程度の技術的知識をもった者であれば、光記録部20内の記録情報を比較的容易に読み取ることができる。
【0028】
§2. 従来の暗号化による記録方法
そこで、光記録部20へ情報を記録する場合に暗号化を行う方法が、たとえば、特開平4−49098号公報に開示されている。図3は、このような暗号化記録方法を採用したハイブリッドICカード100を端末装置200に接続し、アクセスを行っている状態を示すブロック図であり、そのハードウエア構成は、図2において述べた従来の一般的なハイブリッドICカードと同様である。ただ、ROM13内に暗号化/復号化ルーチンが付加され、EEPROM15内に暗号化キーKが記録されている点が異なり、また、光記録部20内には、暗号データが記録される点が異なる。
【0029】
この方法では、端末装置200から光記録部20へデータを書込む処理は次のようにして行われる。まず、端末装置200内に、記録対象データを用意し、この記録対象データを暗号化コマンドとともにI/Oライン19を介してICモジュール部10へ与える。ICモジュール部10内では、EEPROM15内の暗号化キーKを用いて、ROM13内の暗号化ルーチンを実行し、与えられたデータを暗号化し、得られた暗号データをI/Oライン19を介して端末装置200側へレスポンスとして戻す。そこで、端末装置200は、この暗号データを光学的アクセス手段29によって光記録部20へと書込む処理を行う。
【0030】
このようにすれば、光記録部20内には暗号データが記録されることになり、たとえ不正な読出しが行われたとしても、得られるのは本来のデータではなく暗号データである。この暗号データを解読するには、ICモジュール部10内の復号化ルーチンおよび暗号化キーKが必要になるが、ICモジュール部10内のデータを不正に読み出すことは非常に困難であるため、十分なセキュリティが確保できる。
【0031】
一方、光記録部20に記録されたデータの読出し処理は次のようにして行われる。まず、光学的アクセス手段29によって、光記録部20に記録されている暗号データを端末装置200へ読み出す。続いて、この暗号データを復号化コマンドとともにI/Oライン19を介してICモジュール部10へ与える。ICモジュール部10内では、EEPROM15内の暗号化キーKを用いて、ROM13内の復号化ルーチンを実行し、与えられた暗号データを復号化し、得られたデータをI/Oライン19を介して端末装置200側へレスポンスとして戻す。こうして、端末装置200内には、もとの記録対象データが得られることになる。
【0032】
なお、このように、「コマンド」の形式で、端末装置200からICモジュール部10へデータを転送するのは、端末装置200とICモジュール部10との間の交信が、「コマンド」とそれに対する「レスポンス」という形で行われるからである。すなわち、端末装置200からCPU12に対して所定の「コマンド」を与えると、CPU12はこの「コマンド」を解釈し、ROM13内に用意されているこのコマンドに対応したルーチンを実行し、その結果を、端末装置200に対して「レスポンス」として返送することになる。これは、上述した暗号化あるいは復号化を実行させる場合だけでなく、ICモジュール部10に対して実行させるべきあらゆる処理についても同様である。たとえば、EEPROM15内の所定のファイルに書き込みを行う場合には、「書込コマンド」とともに書込対象となるデータをCPU12に与え、CPU12による「書込コマンド」の実行という形式で書込処理が行われることになる。逆に、EEPROM15内の所定のファイルからデータの読出しを行う場合は、所定の「読出コマンド」をCPU12に与え、CPU12による「読出コマンド」の実行という形式で読出処理が行われることになる。このように、ICカード10内において「コマンド」の実行が終了すると、実行した「コマンド」に対する「レスポンス」が外部に対して返送される。たとえば、「書込コマンド」を与えた場合には、書込処理が支障なく実行されたか否かを示す「レスポンス」返送され、「読出コマンド」を与えた場合には、読出対象となったデータがレスポンスという形で返送されることになる。
【0033】
§3. 従来の暗号化記録方法を用いた取引システム
図4は、このような暗号化記録方法を採用した銀行取引システムの単純なモデルを示すブロック図である。この例では、○○銀行X支店とY支店とにそれぞれ端末装置201,202が設置され、3人の利用者A,B,CがそれぞれICカード101〜103の発行を受け、預金に関する種々の取引事務が実行される。ここで、X支店に設置された端末装置201はいわゆる「ネットワーク型」のものであり、ホストコンピュータ300に対してオンライン接続されている。これに対して、Y支店に設置された端末装置202はいわゆる「スタンドアロン型」のものであり、ホストコンピュータ300には接続されていない。実社会における取引システムでは、しばしばこのように「スタンドアロン型」の端末装置と「ネットワーク型」の端末装置を混在させた形態が見られる。たとえば、図4に示すような銀行取引のシステムの場合、比較的大規模な支店には「ネットワーク型」の端末装置を設け、小規模な支店や駅・百貨店の一角などには「スタンドアロン型」の端末装置を設置するような利用形態が考えられる。本願明細書において、「端末装置」という文言は、「スタンドアロン型」の装置と「ネットワーク型」の装置とを含めた広い概念で用いている。
【0034】
さて、利用者A,B,CはそれぞれICカード101,102,103の発行を受けているが、これらのICカード内のEEPROMには、それぞれ固有の暗号化キーKa,Kb,Kcが書込まれている。各利用者は、X支店・Y支店のいずれの支店においてもICカードを用いた取引が可能である。ICカードをその支店の端末装置に挿入すると、図3に示すように、ICカード100と端末装置200とが接続され、上述した方法で暗号化されたデータが光記録部20に記録されることになる。暗号化および復号化は、いずれもICカード内部の暗号化キーおよび暗号化/復号化ルーチンに基づいて行われるため、端末装置201,202のいずれの装置で書込みあるいは読出し処理を実行しても全く同じ結果が得られる。したがって、各利用者は随時任意の支店で銀行取引を行うことができる。
【0035】
しかしながら、このような取引形態には、既に述べたように、次のような2つの問題がある。まず、第1の問題は、書込処理を行った端末装置に対する認証を行うことができないという点である。たとえば、利用者AがX支店において現金を引き出す取引を行ったとしよう。この場合、利用者Aは、ICカード101を端末装置201へ挿入し、所定の操作を行うと、日付や引出金額を示す取引記録が暗号データとして光記録部20に記録されることになる。このような取引記録は、後日、Y支店の端末装置202によっても読み出すことは可能である。ただ、この取引記録が確かにX支店の端末装置201によって書込まれたということを確認することはできない。もちろん、取引記録として、X支店の端末装置201を示す端末IDコードなどを記録しておくことは可能であるが、既に述べたように、光記録部20に対しては不正なアクセスが行われやすいため、データの改竄が行われている可能性も否定できない。したがって、このような端末IDコードのみでは、書込みを行った端末装置を認証することはできない。このような銀行取引システムを実用化した場合、システムに用いられる端末装置は膨大な数になると思われ、光記録部20に記録された個々のデータについて、それぞれどの端末装置によって書込みが行われたかを示す認証を行うことは重要であり、このような端末装置に対する認証を行うことができないシステムは、実社会の取引システムに適用する上で大きな問題となる。
【0036】
第2の問題は、暗号化処理に多大な時間がかかるという点である。図3に示すように、ICモジュール部10内のROM13には、暗号化/復号化ルーチンが組み込まれており、CPU12は、EEPROM15内の暗号化キーKを用いて、この暗号化/復号化ルーチンを実施する。しかしながら、ICカードに内蔵するCPU12としては、コストダウンの要求から、演算処理能力が比較的低い安価なものが用いられ、このような安価なCPUに、暗号化処理を実行させると負担が大きく、実行にかなりの時間が必要となる。また、前述したように、CPU12に暗号化を行わせるためには、端末装置200からI/Oライン19を介して、暗号化コマンドとともに暗号化対象となるデータを送信する必要があり、得られた暗号データはやはりI/Oライン19を介して端末装置200へレスポンスとして返送されることになるので、このI/Oライン19を介した伝送にも時間を要することになる。
【0037】
この第2の問題を解決するために、端末装置またはこれに接続されたホストコンピュータにおいて暗号化処理を行う方法も考えられる。たとえば、図4に示すシステムにおいて、ICカード101内で暗号化処理を行う代わりに、ICカード101内の暗号化キーKを端末装置201あるいはホストコンピュータ300へと読み出し、ICカード101の外部で処理能力の高いCPUを用いて暗号化することも可能である。しかしながら、暗号化キーKをICカード100から外部へ読み出せるような機能をもたせると、不正な手段によって暗号化キーKが読み出されるおそれがあり、セキュリティ確保の上から問題がある。また、予め個々の端末装置側に各ICカードの暗号化キーKを用意しておく方法も考えられるが、実用上は利用者の数はかなりの数になり、膨大な数の暗号化キーKを個々の端末装置内に格納しておくことは非現実的である。すなわち、全利用者の暗号化キーKを格納した端末装置は、非常に厳重な管理が要求され、やはりセキュリティ確保の上から問題が生じる。
【0038】
以下に述べる本発明に係る記録方法を用いれば、このような問題が解消する。
【0039】
§4. RSAアルゴリズム
本発明に係る記録方法は、一般にメッセージの送受信の分野において、RSAアルゴリズムとして知られている公開キーを用いた方法を利用している。このアルゴリズムの基本概念を図5を用いて簡単に説明する。いま、発信者から受信者にデータDを送信する場合を考える。この場合、まず発信者は、秘密キーK(秘)を用いてデータDを暗号化し、暗号データD′を生成する。そして、この暗号データD′を発信するのである。受信者は、この暗号データD′を受信したら、公開キーK(公)を用いてこれを復号化し、もとのデータDを得る。ここで重要な点は、秘密キーK(秘)と公開キーK(公)とは互いに異なるキーであり、秘密キーK(秘)は発信者のみが知り得るような秘密の状態で管理されているのに対し、公開キーK(公)は一般もしくは特定のグループ内において公開されている点である。
【0040】
公開キーK(公)は公開されているから、この公開キーK(公)を知っている者であれば誰でも、暗号データD′を復号化してデータDを得ることができる。したがって、このシステムの目的は、特定の受信者だけが知得しうるような機密の状態でデータDを送信することではなく、任意の受信者から見て、データDが特定の発信者から発信されたものであるとの認証を可能にすることにある。すなわち、データD′を復号化してデータDを得ることは誰でもできるが、データDを暗号化してデータD′を得ることは秘密キーK(秘)を知る特定の発信者でなければできないので、データD′を復号化してデータDが得られ、このデータDが何らかの意味をもつメッセージであるとすれば、そのメッセージは間違いなく特定の発信者が発信したものであるとの確証が得られることになる。別言すれば、発信者は、秘密キーK(秘)を用いてデジタル署名を行ったことになる。
【0041】
§5. 本発明の暗号化記録方法を用いた取引システム
ここでは、前述した秘密キーK(秘)と公開キーK(公)とを用いたデジタル署名の原理を、図4に示す取引システムに適用した実施例を説明する。まず、図6に示すような暗号化キーと復号化キーとの組み合わせを、各支店X,Yおよび各利用者A,B,Cについて定義する。なお、各支店X,Yについて定義されたキーは、実際には端末装置について定義されたキーであるので、以下、端末暗号化キーおよび端末復号化キーと呼ぶことにし、各利用者A,B,Cについて定義されたキーは、実際にはICカードという媒体について定義されたキーであるので、以下、媒体暗号化キーおよび媒体復号化キーと呼ぶことにする。
【0042】
ここで、媒体暗号化キーを用いて暗号化されたデータは、媒体復号化キーを用いることによって復号化することが可能になり、端末暗号化キーを用いて暗号化されたデータは、端末復号化キーを用いることによって復号化することが可能になるように、個々のキーが定義されている。なお、このような関係をもった暗号化キーおよび復号化キーの定義方法については、前述したRSAアルゴリズムとして、既に数学的な手法が公知であるため、ここでは説明は省略する。また、このRSAアルゴリズムにおいては、個々のキーは暗号化にも利用することができるし、復号化にも利用することができるものであり、暗号化キーと復号化キーとの間に、キーとして本質的な違いはない。ただ、ここでは、図4に示す取引システムへの適用を説明する便宜上、個々のキーをその利用態様に応じて、暗号化キーあるいは復号化キーのいずれかに分類して呼ぶことにする。
【0043】
図6の表に示す例では、たとえば、X支店についての端末暗号化キーKx(暗)によって暗号化されたデータは、同じくX支店についての端末復号化キーKx(復)によって復号化されることになる。同様に、利用者Aについての媒体暗号化キーKa(暗)によって暗号化されたデータは、同じく利用者Aについての媒体復号化キーKa(復)によって復号化されることになる。
【0044】
さて、ここで重要な点は、端末暗号化キーKx(暗),Ky(暗)、媒体復号化キーKa(復),Kb(復),Kc(復)は、秘密キーとして取り扱われ、端末復号化キーKx(復),Ky(復)、媒体暗号化キーKa(暗),Kb(暗),Kc(暗)は、公開キーとして取り扱われる点である。説明の便宜上、本明細書では、秘密キーについては、<>で囲って示してある。
【0045】
図7は、図4に示す取引システムに図6に示す各キーを設定した状態を示すブロック図である。個々の端末装置201,202には、それぞれ秘密キーとしての端末暗号化キー<Kx(暗)>,<Ky(暗)>が格納されており、個々のICカード101,102,103には、それぞれ秘密キーとしての媒体復号化キー<Ka(復)>,<Kb(復)>,<Kc(復)>が格納されている。また、別途用意された公開キーテーブル400には、公開キーとしての端末復号化キーKx(復),Ky(復)と媒体暗号化キーKa(暗),Kb(暗),Kc(暗)が格納されている。ここで、各端末装置に格納されている端末暗号化キー<Kx(暗)>,<Ky(暗)>は、十分なセキュリティを確保した管理がなされており秘密の状態が保たれる。同様に、各ICカードに格納されている媒体復号化キー<Ka(復)>,<Kb(復)>,<Kc(復)>は、具体的には、EEPROM15内に格納されており、この実施例では、ICカードの外部には決して読み出されることがないような構成を採り、秘密の状態が保たれるようにしている。
【0046】
これに対し、公開キーテーブル400として用意されている公開キーについては、秘密にする必要はないので、特別なセキュリティ管理を行う必要はない。ただ、これらの公開キーは、各端末装置において利用できるようにしておく必要があるので、この実施例では、各端末装置内の記憶装置にテーブルとして格納するようにしている。
【0047】
結局、各端末装置や各ICカードは、いずれも自分自身に関する秘密キーを1つだけ秘密の状態で管理していればよいので、セキュリティ管理の負担は非常に軽減される。たとえば、新規利用者Dが加わった場合には、この新規利用者Dについて発行するICカードには、媒体復号化キー<Kd(復)>を秘密キーとして格納しておけば足り、また、各端末装置側では、公開キーテーブル400に新たに媒体暗号化キーKd(暗)を付加すればよい。この媒体暗号化キーKd(暗)は公開キーであるから、公開キーテーブル400への追加処理を行う上でのセキュリティ確保は考慮する必要はなく、大きな作業負担はかからない。同様に、新たにZ支店を開設し、端末装置203を加える場合には、この端末装置203内に、自分自身の端末暗号化キー<Kz(暗)>を秘密キーとして格納しておけば足り、また、各端末装置内の公開キーテーブル400に、新たに端末復号化キーKz(復)を付加すればよい。
【0048】
§6. 本発明に係る書込/読出方法
それでは、図7に示すような銀行取引システムにおいて、各ICカードの光記録部20に対して情報を書込む処理および情報を読み出す処理の具体的手順を説明しよう。
【0049】
ここでは、利用者AがX支店において取引を行う場合を例にとって説明する。この場合、利用者AはICカード101をX支店の端末装置201に挿入し、所望の取引に必要な操作を行うことになる。その結果、端末装置201からICカード101の光記録部20へデータの書込むを行う必要が生じたものとする。このような光記録部20への書込処理は、図8の流れ図に示す手順に従って実行される。まず、ステップS11において、記録対象データD(0)が端末装置201内に用意される。続くステップS12において、端末装置201は、内部に格納している秘密の端末暗号化キー<Kx(暗)>を用いて、この記録対象データD(0)を暗号化し、第1の暗号データD(1)を得る。なお、暗号化処理は、各端末装置が共通に内蔵している所定の暗号化ルーチンを用いて行われる。こうして第1の暗号データD(1)が得られたら、続いて、ステップS13において、公開キーテーブル400内に用意されている利用者Aの公開暗号化キーKa(暗)を用いて、第1の暗号データD(1)を暗号化し、第2の暗号データD(2)を得る。そして最後に、ステップS14において、この第2の暗号データD(2)を、光学的アクセス手段29を用いて光記録部20へと書込む処理を行う。なお、この実施例では、第2の暗号データD(2)に、このデータD(2)がX支店の端末装置201によって書込まれたことを特定するためのデータX(これは暗号化されていない平文でよい)が付加され、D(2)+Xという形式で書込みを行うようにしている。これは、後述する読出処理をスムーズに行うための便宜である。
【0050】
以上、ステップS11〜S14の処理は、端末装置201において行う処理であるが、ホストコンピュータ300が接続されているネットワーク型の端末装置の場合には、ステップS11〜S13の処理をホストコンピュータ300内で行ってもよい。端末装置201やホストコンピュータ300に内蔵されているCPUは、ICカード101に内蔵されているCPUよりもはるかに高い性能をもっているので、ステップS12やステップS13の暗号化処理は、ICカード内で行うよりも非常に高速である。すなわち、本発明に係る方法では、上述した第2の問題が解決されることになる。
【0051】
図9は、上述の2回にわたる暗号化処理を示すブロック図である。記録対象データD(0)に対して、秘密の端末暗号化キー<Kx(暗)>を用いた暗号化を行い、第1の暗号データD(1)が得られ、これに対して更に、利用者Aの公開暗号化キーKa(暗)を用いた暗号化を行い、第2の暗号データD(2)が得られることが図式で示されている。
【0052】
続いて、この利用者AがY支店において取引を行うときに、上述の処理によって書込まれた第2の暗号データD(2)を読み出す処理を例にとって、本発明に係る読出処理の手順を説明する。この場合、利用者AがICカード101をY支店の端末装置202に挿入すると、図10の流れ図に示す手順に従って読出処理が実行される。まず、ステップS21において、光記録部20に記録されている第2の暗号データD(2)が、光学的アクセス手段29によって端末装置202へと読み出される。なお、このとき、この第2の暗号データD(2)がX支店の端末装置201によって書込まれたことを示すデータX(平文)も同時に読み出され、端末装置202は、一応、このデータD(2)がX支店で書込まれたものであると推定して(認証はされていない)、以下の処理を行うことになる。すなわち、端末装置202は、この読出した第2の暗号データD(2)を、復号化コマンドとともにICカード101側へと転送する。具体的には、I/Oライン19を介してICモジュール部10へ、復号化コマンドと第2の暗号データD(2)とが送信されることになる。以上が、端末装置202側の処理である。
【0053】
ICモジュール部10は、このようなコマンドを解釈し、ROM13内に用意された復号化ルーチンを利用して、次のような処理を実行する。まず、この実施例では、実質的な復号化の処理に入る前に、ステップS23において、現在接続されている端末装置202が正規の端末装置として認証済みであるか否かがチェックされる。通常、ICカードを端末装置に挿入し、両者を電気的に接続すると、相互に相手方が正しいものであるか否かを確認する相互認証処理が実行される。このような相互認証処理の具体的な方法については、既に公知の技術であるのでここでは説明を省略するが、この相互認証の結果、ICカード側が相手(端末装置)を正しいものと認証すると、通常は、RAM14内の「相手が正規の端末装置であることを示すフラグ」をセットする処理が行われる。この実施例では、ステップS23において、まずこのフラグがセットされていることを確認した後、実質的な復号化ルーチンを実行するようにしている。これは、セキュリティを更に向上させるための配慮であり、そのメリットについては後述する。
【0054】
さて、ステップS23において、現在接続されている端末装置202が正規の端末装置であることが確認できたら、続くステップS24において、媒体復号化キー<Ka(復)>を用いた復号化処理が行われる。ここで、媒体復号化キー<Ka(復)>は、ICカード101のEEPROM15内に格納されている秘密キーである。この復号化処理により、与えられた第2の暗号データD(2)が復号化され、第1の暗号データD(1)が得られる。そこで、ICモジュール部10は、この第1の暗号データD(1)をレスポンスとして、I/Oライン19を介して端末装置202へ返送する。
【0055】
一方、ステップS23において、現在接続されている端末装置202が正規の端末装置ではないと判断された場合、すなわち、相互認証処理が正常に完了したことを示すフラグがRAM14内にセットされていなかった場合は、ステップS26において、エラーレスポンスが返送される。したがって、たとえば、不正な端末装置によってICカード101と交信し、この不正な端末装置から復号化コマンドを与えたとしても、ICカード101からはエラーレスポンスが戻ることになり、復号化の結果を得ることはできない。したがって、不正な端末装置を用いて、特定のデータについての復号化の結果を知得するような不正行為は拒絶され、十分なセキュリティを確保することが可能になる。もちろん、ステップS23の判断処理は、本発明を実施する上で必要不可欠の処理ではないが、実用上、十分なセキュリティを確保する上では、この処理を実行するのが好ましい。
【0056】
以上、ステップS23〜S26がICカード101側の処理である。結局、端末装置202側から上述の処理を見ると、ステップS22において、復号化コマンドとともに第2の暗号データD(2)を、I/Oライン19を介してICカード101へ転送すると、ステップS25において、同じくI/Oライン19を介してレスポンスが得られたことになり、このレスポンスには、復号化された第1の暗号データD(1)が含まれていることになる。そこで、端末装置202は、ステップS27において、公開キーテーブル400内に用意されているX支店の端末復号化キーKx(復)を用い(前述したように、端末装置202は、第2の暗号データD(2)とともに書込まれていたデータXに基づいて、このデータがX支店の端末装置201によって書込まれたものと推定しているので、X支店の端末復号化キーKx(復)を用いる)、第1の暗号データD(1)を復号化し、記録対象データD(0)を得る。
【0057】
こうして、記録対象データD(0)が得られたら、続いてステップS28において、この記録対象データD(0)に対するエラーチェックを行う。これは、得られた記録対象データD(0)が、正しい記録対象データが本来備えているべき所定の条件を備えているか否かを調べるチェックである。すなわち、正しい復号化が行われれば、得られる記録対象データD(0)は、書込み時に用意された本来のデータになるが、復号化が正しく行われないと、復号化の結果として何らかのデータは得られるものの、そのデータは本来のデータとは全く異なるデータとなり、本来備えているべき所定の条件を備えていないことになる。このステップS28におけるエラーチェックを簡単に行えるようにするためには、図8のステップS11において用意する記録対象データD(0)に、エラーチェックコードなどを付加しておけばよい。この場合、ステップS28におけるエラーチェック処理は、このエラーチェックコードの照合処理ということになる。なお、ネットワーク型の端末装置の場合、このステップS27,S28の処理は、オンライン接続されたホストコンピュータ300内で実行してもかまわない。
【0058】
こうして、ステップS28におけるエラーチェックで問題がなければ、光記録部20からの読出処理は完了である。この場合、ステップS27において得られた記録対象データD(0)は、確かにX支店の端末装置201によって書込まれたものである、との認証がなされたことになる。これに対し、エラーチェックで問題が生じると、ステップS29においてエラー処理が行われる。これは、記録対象データD(0)がX支店の端末装置201によって書込まれたとの認証が得られなかったことを意味し、何らかの改竄等の不正行為が行われた可能性を示唆することになる。なお、ICカード101側からエラーレスポンスが返送された場合(ステップS26)にも同様にステップS29のエラー処理が行われる。
【0059】
このような2回にわたる復号化処理も、図9のブロック図に示されている。すなわち、光記録部20から読み出された第2の暗号データD(2)に対して、利用者Aの秘密の媒体復号化キー<Ka(復)>を用いた復号化を行い、第1の暗号データD(1)が得られ、これに対して更に、支店Xの公開端末復号化キーKx(復)を用いた復号化を行い、記録対象データD(0)が得られることが図式で示されている。この図式において、<>で囲われたキーは秘密キーであり、この秘密キーを用いた処理は特定の者でなければ行うことができない。したがって、第2の暗号データD(2)を生成できるのは、秘密の端末暗号化キー<Kx(暗)>を知得している端末装置201(もしくは、これに接続されたホストコンピュータ300)だけであるから、この第2の暗号データD(2)を復号化して得られた記録対象データD(0)が本来の条件を備えているデータであれば、この記録対象データD(0)は確かに端末装置201によって書込まれた情報であるとの認証を行うことができる。すなわち、本発明に係る方法では、上述した第1の問題も解決されることになる。なお、第2の暗号データD(2)は、秘密の媒体復号化キー<Ka(復)>がない限り復号化することはできないので、ICカード101に対して正しいアクセスが行われない限り、第2の暗号データD(2)を解読することはできず、暗号化記録によるセキュリティ確保という条件も満たされることになる。
【0060】
以上、本発明を図示する実施例に基づいて説明したが、本発明はこれらの実施例に限定されるものではなく、この他にも種々の態様で実施可能である。たとえば、上述の実施例では、光記録部20を有するハイブリッドICカードを例にとったが、光記録部20の代わりに磁気記録部あるいは光磁気記録部を有するハイブリッドICカードにも本発明は適用可能であり、また、ICカードに限らずあらゆる携帯可能情報記録媒体に適用可能である。
【0061】
【発明の効果】
以上のとおり本発明によれば、媒体と端末装置のそれぞれに公開キーと秘密キーとを定義し、これらのキーにより暗号化/復号化を行うようにしたため、携帯可能情報記録媒体を用いた取引システムにおいて、書込処理を行った端末装置に対する認証が可能になり、また、暗号化処理のための時間も低減できる。
【図面の簡単な説明】
【図1】ICモジュール部10を内蔵し、表面に光記録部20が形成されたハイブリッドICカードの外観図である。
【図2】図1のICカード100を端末装置200に接続し、アクセスを行っている状態を示すブロック図である。
【図3】従来の暗号化記録方式を用いたハイブリッドICカード100を端末装置200に接続し、アクセスを行っている状態を示すブロック図である。
【図4】図3に示す従来の暗号化記録方法を採用した銀行取引システムの単純なモデルを示すブロック図である。
【図5】公開キーを用いたRSAアルゴリズムとして知られているデジタル署名の原理の基本概念を説明するブロック図である。
【図6】図5で説明したデジタル署名の原理を、図4に示す取引システムに適用するための各キー定義を示す表である。
【図7】図4に示す取引システムに図6に示す各キーを設定した状態を示すブロック図である。
【図8】本発明に係るハイブリッドICカードについての光記録部へのデータ書込処理の手順を説明する流れ図である。
【図9】図8に示す手順による2回にわたる暗号化処理を示すブロック図である。
【図10】本発明に係るハイブリッドICカードについての光記録部からのデータ読出処理の手順を説明する流れ図である。
【符号の説明】
10…ICモジュール部
11…I/Oインタフェース
12…CPU
13…ROM
14…RAM
15…EEPROM
19…I/Oライン
20…光記録部
29…光学的アクセス手段
30…接触端子
31…暗号化手段
100〜103…ICカード
200〜202…端末装置
300…ホストコンピュータ
[0001]
[Industrial application fields]
The present invention relates to an information writing / reading method for a portable information recording medium, and in particular, a so-called hybrid IC card having an IC module having a CPU and a memory and having a magnetic or optical information recording portion formed on the surface. The present invention relates to a method for writing / reading information suitable for use.
[0002]
[Prior art]
At present, magnetic cards are widely used as portable information recording media, but optical cards that can secure a large storage capacity and IC cards that can secure sufficient security have been put into practical use. In the future, IC cards are expected to be used in various systems in the real world due to technological progress for miniaturization and cost reduction of semiconductor integrated circuits.
[0003]
In particular, an IC card with a built-in CPU is not only a function as an information recording medium but also an information processing function, so that it is expected to be used in an information processing system that requires high security. A general IC card that is currently popular has a CPU and three types of memories accessed by the CPU, that is, ROM, RAM, and EEPROM. In the ROM, a program made up of instruction codes that can be directly executed by the CPU is stored, and the CPU has a function of comprehensively controlling the IC card based on the program. The RAM is a memory used as a work area when the CPU performs such overall control. On the other hand, the EEPROM is a non-volatile memory capable of reading and writing data via the CPU, and is used for storing original data to be recorded on the IC card.
[0004]
An information recording unit is provided on the surface of a magnetic card or optical card, and digital data recorded in the information recording unit can be read by using a magnetic reader or an optical reader. For this reason, reading by unauthorized means can be performed relatively easily. On the other hand, all access to the EEPROM built in the IC card is performed via the CPU, and the EEPROM cannot be directly accessed from the outside. Therefore, the IC card can ensure a higher level of security than the magnetic card or the optical card. However, although the price of the IC memory has been decreasing year by year, the cost per unit recording capacity is still higher than that of magnetic recording and optical recording. Therefore, a so-called “hybrid type” information recording card has been proposed which uses a combination of recording using an IC memory and recording using magnetism or light such as magnetic recording, optical recording, and magneto-optical recording.
[0005]
For example, in a hybrid IC card combined with optical recording, an IC module is embedded in the card-shaped medium, and an optical recording portion is formed on the surface. By using such a hybrid IC card, the information to be recorded can be recorded as digital data in the EEPROM in the IC module, or can be recorded as digital pits in the optical recording unit. Therefore, it is possible to use such that information that requires high security is recorded in the EEPROM, and large-capacity information is recorded in the optical recording unit.
[0006]
However, although the above-described hybrid IC card can record a large amount of information on the optical recording unit, the security for the information recorded on the optical recording unit is inevitably lowered. Therefore, a method for recording information recorded in the optical recording unit after encryption has been proposed. For example, Japanese Patent Laid-Open No. 4-49098 discloses a method of encrypting data using an encryption key K recorded in a memory of a hybrid IC card, and recording the encrypted data in an optical recording unit on the surface. It is disclosed. According to this method, since the encrypted data is recorded in the optical recording unit, even if the encrypted data is read out, the contents cannot be obtained unless the encryption can be decrypted. In order to decrypt the cipher, the encryption key K in the memory is required. However, since the encryption key K is stored with strict security in the IC module, it cannot be easily obtained.
[0007]
[Problems to be solved by the invention]
As described above, if the encrypted data is written in the optical recording unit of the hybrid IC card, a considerably high level of security can be ensured. However, even if the writing process is performed by such a method, the following problems remain to put the hybrid IC card into practical use in a real-world transaction system.
[0008]
The first problem is that the terminal device that has performed the writing process cannot be authenticated. For example, consider a case where such a hybrid IC card is applied to bank transactions. In this case, a hybrid IC card is issued for each individual user, and a terminal device is installed for each branch. In some cases, a terminal device as a cash dispenser may be installed in a public place such as a station or a department store. In practice, a very large number of hybrid IC cards are a very large number of terminal devices. Will be accessed by. In such a usage mode, a system that reliably authenticates a terminal device that has written data is indispensable. For example, if the deposit withdrawal amount is recorded in the optical recording unit, the cash dispenser will actually pay out the cash unless it can be proved later by which terminal device this recording was made. It is not possible to authenticate whether this has been done, and it does not have sufficient security as a system used in the real world. Conventionally proposed information writing / reading methods for hybrid IC cards cannot authenticate such terminal devices, which has been a serious problem when applied to real-world transaction systems.
[0009]
The second problem is that the encryption process takes a long time. In the conventional method, as described above, encryption processing is performed inside each IC card, but in general, as a CPU built in the IC card, from the demand for cost reduction and IC miniaturization, An inexpensive one with relatively low arithmetic processing capability is used. When such an inexpensive CPU executes encryption processing, the burden is large, and considerable time is required for execution. For this reason, the access by the terminal device takes a considerable amount of time due to an extra process such as an encryption process, which is a serious problem in practical use.
[0010]
Accordingly, a first object of the present invention is to enable authentication of a terminal device that has performed a writing process in a transaction system using a portable information recording medium, and a second object is an encryption process. Is to reduce as much as possible the time for
[0011]
[Means for Solving the Problems]
  (1) A first aspect of the present invention includes a CPU, a memory accessed by the CPU, and an information recording unit capable of recording information using light or magnetism. In the information writing method for writing information from the terminal device to the information recording unit for the portable information recording medium capable of recording information in both the unit and the information recording unit,
  Data encrypted using the medium encryption key can be decrypted using the medium decryption key, and data encrypted using the terminal encryption key can be decrypted using the terminal decryption key. A medium encryption key unique to each medium, a medium decryption key unique to each medium, and a terminal encryption key unique to each terminal device so that it can be decrypted by using Defining a terminal decryption key unique to each terminal device;
  The medium decryption key is prepared as a secret key in the memory in each individual medium, and the terminal encryption key is prepared as a secret key in each individual terminal device, and the medium encryption key and the terminal decryption key are prepared. Are prepared in a form that can be used as public keys,
  Preparing recording target data D (0) to be written to the information recording unit;
  Using the terminal encryption key prepared for the specific terminal device as a secret key, encryption processing for encrypting the recording target data D (0) is performed in the specific terminal device, and the primary encrypted data D ( 1) obtaining,
  Using the medium encryption key prepared for the specific medium as a public key, encryption processing for encrypting the primary encryption data D (1) is performed in the specific terminal device, and the secondary encryption data D ( 2) obtaining,
  Secondary encryption data D (2) is stored in an information recording unit of a specific medium by a specific terminal device.And additional information for indicating the specific terminal deviceThe stage of writing
  Is to do.
[0012]
  (2) According to a second aspect of the present invention, in the information writing method for the possible information recording medium according to the first aspect described above,
  For a terminal device connected online to a host computer, a terminal encryption key is prepared either in the terminal device or in the host computer, and encryption processing for obtaining primary encrypted data D (1)And encryption processing for obtaining secondary encryption data D (2)Is performed in either the terminal device or the host computer.
[0013]
  (3) According to a third aspect of the present invention, in the method for reading information written in the information recording unit by the information writing method for the portable information recording medium according to the first or second aspect described above,
  Secondary encryption data D (2) written in the information recording part of the medium by a predetermined terminal deviceAnd additional informationReading out
  Using the medium decryption key prepared as a secret key in the memory in the medium, a decryption process for decrypting the secondary encrypted data D (2) is performed in the medium, and the primary encrypted data D (1) And the stage
  Processing to write secondary encryption data D (2)Estimated a specific terminal device based on the read additional informationA decryption process for decrypting the primary encrypted data D (1) using a terminal decryption key prepared as a public key for a specific terminal device is performed in the predetermined terminal device or the predetermined terminal device. To obtain the recording target data D (0) in a host computer connected online.
  Is to do.
[0014]
(4) According to a fourth aspect of the present invention, in the information reading method for the portable information recording medium according to the third aspect described above,
The decryption command is transmitted together with the secondary encryption data D (2) from the terminal device to the medium, and the medium that has received the decryption command performs a decryption process for obtaining the primary encryption data D (1) within the medium, The obtained primary encryption data D (1) is returned to the terminal device as a response.
[0015]
(5) According to a fifth aspect of the present invention, in the information reading method for the portable information recording medium according to the fourth aspect described above,
A function for determining whether or not the terminal device connected to the medium is genuine is prepared on the medium side, and only when the terminal device is a legitimate terminal device, the primary encrypted data D (1) is returned as a response. It is what you do.
[0016]
(6) According to a sixth aspect of the present invention, in the information reading method for the portable information recording medium according to the third to fifth aspects described above,
The obtained recording target data D (0) is further added with a step of performing an error check process for checking whether or not the correct recording target data has a predetermined condition that should originally be provided.
[0017]
[Operation]
According to the present invention, when recording target data D (0) is recorded in an information recording unit of a specific medium by a specific terminal device, the following encryption process is performed. First, using the terminal encryption key prepared as a secret key for a specific terminal device, the recording target data D (0) is encrypted to obtain primary encrypted data D (1). Subsequently, the primary encryption data D (1) is encrypted using the medium encryption key prepared as the public key for the specific medium, and the secondary encryption data D (2) is obtained. Finally, the secondary encryption data D (2) is written into the information recording unit of a specific medium by the specific terminal device.
[0018]
Such an encryption process can be performed very efficiently. That is, since any encryption process can be executed by a terminal device or a host computer connected online to the terminal apparatus, the encryption process is performed by a CPU having much higher ability than the CPU built in the IC card. The processing time is very short. Also, as the encryption key used for encryption, both the terminal encryption key and the medium encryption key are used. However, since the medium encryption key may be prepared as a public key, the security burden on the terminal device side is It is greatly reduced. That is, each terminal device need only hold a terminal encryption key unique to itself as a secret key. On the other hand, the medium encryption key is unique to each individual medium, and is required by the number of issued media. Further, every time a new issue is made, it is necessary to add a new medium encryption key. However, since this medium encryption key may be prepared as a public key, there is no security burden at all.
[0019]
In addition, sufficient security can be secured for the information written in the information recording unit in this way. This is because in order to obtain the primary encrypted data D (1) by decrypting the secondary encrypted data D (2) written in the information recording unit, a medium decryption key is required. This is because since it is prepared as a secret key in the memory of the medium, it is extremely difficult to obtain it by unauthorized means.
[0020]
A major feature of the present invention is that the terminal device that has written information can be authenticated in the process of reading the information written as described above. That is, the reading process is performed by the following decoding process. First, the secondary encrypted data D (2) written in the information recording unit of the medium is read, and this secondary encrypted data D (() is read using a medium decryption key prepared as a secret key in the memory in the medium. 2) is decrypted to obtain primary encrypted data D (1). Subsequently, using the terminal decryption key prepared as a public key for the specific terminal device that has performed the process of writing the secondary encrypted data D (2), the primary encrypted data D (1) is decrypted. Recording target data D (0) is obtained. The recording target data D (0) read out in this way is the original correct data only when the specification of the terminal device that has written is correct. In other words, if correct recording target data D (0) is obtained by the reading method as described above, it is confirmed that this data is data written by the specific terminal device. Will be obtained.
[0021]
The decryption process for the secondary encrypted data D (2) may be performed by transmitting a decryption command from the terminal device to the medium and obtaining the primary encrypted data D (1) as a response to the decryption command. At this time, if a response is returned only when the medium authenticates the terminal device, it is possible to cope with a case where a decryption command is given by an unauthorized means.
[0022]
【Example】
Hereinafter, the present invention will be described based on embodiments shown in the drawings.
[0023]
§1. General hybrid IC card configuration
First, the configuration of a general hybrid IC card currently proposed will be described. An IC card 100 whose appearance is shown in FIG. 1 is a hybrid IC card in which an IC module unit 10 is built and an optical recording unit 20 is formed on the surface. A contact terminal 30 is provided on the surface of the IC module unit 10. The optical recording unit 20 is an area for recording data as minute pits. Access to the IC card 100 is performed by the dedicated terminal device 200. When the IC card 100 is inserted into the terminal device 200, the electrode in the terminal device 200 and the contact terminal 30 are in electrical contact, and the power supply, clock supply, and data for the IC module unit 10 are connected via the contact terminal 30. Sending and receiving will be performed. Further, the terminal device 200 incorporates optical access means for writing minute pits into the optical recording unit 20 and reading information on minute pits recorded in the optical recording unit 20.
[0024]
FIG. 2 is a block diagram showing a state in which the IC card 100 is connected to the terminal device 200 and accessed. The IC card 100 and the terminal device 200 are connected to each other via the I / O line 19 and the contact terminal 30. In addition, supply paths such as a power supply, a clock, and a reset signal are formed between the terminal device 200 and the IC card 100, but illustration of these supply paths is omitted here.
[0025]
The IC module unit 10 built in the IC card 100 includes an I / O interface 11, a CPU 12, a ROM 13, a RAM 14, and an EEPROM 15. The I / O interface 11 is an input / output circuit for transmitting and receiving data via the I / O line 19, and the CPU 12 communicates with the terminal device 200 via the I / O interface 11. A program executed by the CPU 12 is stored in the ROM 13, and the CPU 12 has a function of performing overall control of the IC module unit 10 based on this program. The RAM 14 is a memory used as a work area when the CPU 12 performs such overall control. On the other hand, the EEPROM 15 is a memory for storing original data to be recorded in the IC module unit 10. When the IC card 100 is disconnected from the terminal device 200, the supply of power and clock is stopped. At this time, all the data in the RAM 14 is lost due to the stop of the power supply, but since the EEPROM 15 is a nonvolatile memory, the recorded contents are maintained as it is even after the power supply is stopped.
[0026]
The terminal device 200 can also access the optical recording unit 20 by the optical access means 29. The optical access means 29 is generally configured by combining a semiconductor laser, an optical system, a scanning mechanism, and the like, and records digital information in the optical recording unit 20 in the form of minute pits as described above. In the IC card 100 according to this embodiment, the EEPROM 15 in the IC module unit 10 has a recording capacity of 8 KB, whereas the optical recording unit 20 can record 3.4 MB of information. Therefore, a larger amount of information can be recorded on the hybrid IC card 100 than an IC card having only the IC module unit 10.
[0027]
However, as described above, the information recorded in the optical recording unit 20 has a problem in terms of security. That is, it is impossible to read the information recorded in the optical recording unit 20 with the naked eye, but if a device having the same function as the optical access means 29 is used, the minute pits recorded in the optical recording unit 20 are used. Can be read. For this reason, if it is a person with a certain technical knowledge, the recorded information in the optical recording part 20 can be read comparatively easily.
[0028]
§2. Conventional recording method using encryption
Accordingly, a method for performing encryption when recording information on the optical recording unit 20 is disclosed in, for example, Japanese Patent Laid-Open No. 4-49098. FIG. 3 is a block diagram showing a state in which the hybrid IC card 100 adopting such an encryption recording method is connected to the terminal device 200 to perform access, and the hardware configuration thereof has been described with reference to FIG. This is the same as a conventional general hybrid IC card. The only difference is that an encryption / decryption routine is added in the ROM 13 and the encryption key K is recorded in the EEPROM 15, and the encrypted data is recorded in the optical recording unit 20. .
[0029]
In this method, the process of writing data from the terminal device 200 to the optical recording unit 20 is performed as follows. First, data to be recorded is prepared in the terminal device 200, and this data to be recorded is given to the IC module unit 10 through the I / O line 19 together with an encryption command. In the IC module unit 10, an encryption routine in the ROM 13 is executed using the encryption key K in the EEPROM 15, the given data is encrypted, and the obtained encrypted data is sent via the I / O line 19. It returns as a response to the terminal device 200 side. Therefore, the terminal device 200 performs a process of writing this encrypted data into the optical recording unit 20 by the optical access means 29.
[0030]
In this way, the encrypted data is recorded in the optical recording unit 20, and even if unauthorized reading is performed, the obtained data is not the original data but the encrypted data. In order to decrypt this encrypted data, the decryption routine and the encryption key K in the IC module unit 10 are required. However, it is very difficult to read out the data in the IC module unit 10 illegally. Secure security.
[0031]
On the other hand, the process of reading data recorded in the optical recording unit 20 is performed as follows. First, the encrypted data recorded in the optical recording unit 20 is read out to the terminal device 200 by the optical access means 29. Subsequently, the encrypted data is given to the IC module unit 10 through the I / O line 19 together with the decryption command. In the IC module unit 10, the decryption routine in the ROM 13 is executed using the encryption key K in the EEPROM 15, the given encrypted data is decrypted, and the obtained data is sent via the I / O line 19. It returns as a response to the terminal device 200 side. Thus, the original recording target data is obtained in the terminal device 200.
[0032]
As described above, the data is transferred from the terminal device 200 to the IC module unit 10 in the format of “command” because the communication between the terminal device 200 and the IC module unit 10 is based on the “command” and the corresponding command. This is because it is performed in the form of “response”. That is, when a predetermined “command” is given from the terminal device 200 to the CPU 12, the CPU 12 interprets this “command”, executes a routine corresponding to this command prepared in the ROM 13, and obtains the result as It is returned as a “response” to the terminal device 200. This applies not only to the case where the above-described encryption or decryption is executed, but also to any processing that should be executed by the IC module unit 10. For example, when writing to a predetermined file in the EEPROM 15, data to be written is given to the CPU 12 together with the “write command”, and the writing process is performed in the form of execution of the “write command” by the CPU 12. It will be. Conversely, when data is read from a predetermined file in the EEPROM 15, a predetermined “read command” is given to the CPU 12, and read processing is performed in the form of execution of the “read command” by the CPU 12. As described above, when the execution of the “command” is completed in the IC card 10, a “response” for the executed “command” is returned to the outside. For example, when a “write command” is given, a “response” indicating whether or not the write process has been executed without any trouble is returned. When a “read command” is given, the data to be read is returned. Will be returned in the form of a response.
[0033]
§3. Transaction system using conventional encryption recording method
FIG. 4 is a block diagram showing a simple model of a bank transaction system employing such an encryption recording method. In this example, terminal devices 201 and 202 are installed at XX bank X branch and Y branch, respectively, and three users A, B, and C receive IC cards 101 to 103, respectively, and various kinds of deposits are received. Trading affairs are executed. Here, the terminal device 201 installed in the X branch is of a so-called “network type”, and is connected online to the host computer 300. On the other hand, the terminal device 202 installed in the Y branch is a so-called “stand-alone type” and is not connected to the host computer 300. In a transaction system in the real world, a form in which a “stand-alone type” terminal device and a “network type” terminal device are mixed is often seen. For example, in the case of a bank transaction system as shown in FIG. 4, a “network type” terminal device is provided at a relatively large branch, and a “stand alone type” is provided at a small branch or a corner of a station / department store. A usage form in which a terminal device is installed is conceivable. In this specification, the term “terminal device” is used in a broad concept including “stand-alone type” devices and “network type” devices.
[0034]
Now, users A, B, and C have been issued with IC cards 101, 102, and 103, respectively, and their encryption keys Ka, Kb, and Kc are written in the EEPROM in these IC cards. It is rare. Each user can make a transaction using an IC card at both the X branch and the Y branch. When the IC card is inserted into the terminal device of the branch, as shown in FIG. 3, the IC card 100 and the terminal device 200 are connected, and the data encrypted by the method described above is recorded in the optical recording unit 20. become. Since both encryption and decryption are performed based on the encryption key and encryption / decryption routine inside the IC card, no matter which of the terminal devices 201 and 202 executes the write or read process, The same result is obtained. Therefore, each user can perform bank transactions at any branch office at any time.
[0035]
However, such a transaction form has the following two problems as described above. First, the first problem is that the terminal device that has performed the writing process cannot be authenticated. For example, suppose user A conducts a transaction to withdraw cash at the X branch. In this case, when the user A inserts the IC card 101 into the terminal device 201 and performs a predetermined operation, a transaction record indicating the date and the withdrawal amount is recorded in the optical recording unit 20 as encrypted data. Such transaction records can also be read out later by the terminal device 202 of the Y branch. However, it cannot be confirmed that this transaction record has been written by the terminal device 201 of the X branch. Of course, it is possible to record a terminal ID code indicating the terminal device 201 of the X branch as a transaction record, but as described above, unauthorized access to the optical recording unit 20 is performed. Because it is easy, it cannot be denied that data may be falsified. Therefore, it is not possible to authenticate the terminal device that has performed writing with only such a terminal ID code. When such a bank transaction system is put into practical use, it seems that the number of terminal devices used in the system will be enormous, and which terminal device has written each data recorded in the optical recording unit 20. It is important to perform authentication that indicates that such a system that cannot authenticate such a terminal device is a major problem when applied to a real-world transaction system.
[0036]
The second problem is that the encryption process takes a long time. As shown in FIG. 3, an encryption / decryption routine is incorporated in the ROM 13 in the IC module unit 10, and the CPU 12 uses the encryption key K in the EEPROM 15 to perform this encryption / decryption routine. To implement. However, as the CPU 12 built in the IC card, an inexpensive one having a relatively low arithmetic processing capability is used due to a demand for cost reduction. When such an inexpensive CPU executes encryption processing, the burden is large. A considerable amount of time is required for execution. Further, as described above, in order to cause the CPU 12 to perform encryption, it is necessary to transmit the data to be encrypted together with the encryption command from the terminal device 200 via the I / O line 19, which is obtained. Since the encrypted data is also sent back as a response to the terminal device 200 via the I / O line 19, it takes time for transmission via the I / O line 19.
[0037]
In order to solve the second problem, a method of performing an encryption process in a terminal device or a host computer connected thereto is also conceivable. For example, in the system shown in FIG. 4, instead of performing encryption processing in the IC card 101, the encryption key K in the IC card 101 is read to the terminal device 201 or the host computer 300 and processed outside the IC card 101. It is also possible to perform encryption using a CPU with high capability. However, if the function of reading the encryption key K from the IC card 100 to the outside is provided, the encryption key K may be read by an unauthorized means, which causes a problem in ensuring security. A method of preparing the encryption key K for each IC card in advance on the individual terminal device side is also conceivable. However, the number of users is practically large, and a huge number of encryption keys K are used. It is unrealistic to store in each terminal device. That is, the terminal device storing the encryption keys K of all users is required to be very strictly managed, and there is a problem in ensuring security.
[0038]
Such a problem can be solved by using the recording method according to the present invention described below.
[0039]
§4. RSA algorithm
The recording method according to the present invention generally uses a method using a public key known as an RSA algorithm in the field of message transmission / reception. The basic concept of this algorithm will be briefly described with reference to FIG. Consider a case where data D is transmitted from a sender to a receiver. In this case, the sender first encrypts the data D using the secret key K (secret) to generate encrypted data D ′. Then, the encrypted data D ′ is transmitted. When the receiver receives the encrypted data D ′, it decrypts it using the public key K (public) to obtain the original data D. The important point here is that the secret key K (secret) and the public key K (public) are different from each other, and the secret key K (secret) is managed in a secret state that only the sender can know. On the other hand, the public key K (public) is public or public within a specific group.
[0040]
Since the public key K (public) is public, anyone who knows the public key K (public) can decrypt the encrypted data D ′ to obtain the data D. Therefore, the purpose of this system is not to transmit data D in a confidential state that only a specific receiver can know, but from the viewpoint of an arbitrary receiver, data D is transmitted from a specific transmitter. It is to be able to authenticate that it has been done. That is, anyone can decrypt the data D ′ to obtain the data D, but the data D ′ can be obtained by encrypting the data D because only a specific sender who knows the secret key K (secret) can obtain it. If the data D 'is decoded to obtain the data D, and this data D is a message having some meaning, it can be confirmed that the message is definitely sent by a specific sender. It will be. In other words, the sender has made a digital signature using the secret key K (secret).
[0041]
§5. Transaction system using encryption recording method of the present invention
Here, an embodiment in which the principle of the digital signature using the secret key K (secret) and the public key K (public) described above is applied to the transaction system shown in FIG. 4 will be described. First, a combination of an encryption key and a decryption key as shown in FIG. 6 is defined for each branch X, Y and each user A, B, C. Since the keys defined for the branches X and Y are actually keys defined for the terminal device, they are hereinafter referred to as a terminal encryption key and a terminal decryption key. , C are actually keys defined for a medium called an IC card, and will be referred to as a medium encryption key and a medium decryption key.
[0042]
Here, data encrypted using the medium encryption key can be decrypted using the medium decryption key, and data encrypted using the terminal encryption key can be decrypted using the terminal decryption key. Individual keys are defined so that they can be decrypted by using the encryption key. In addition, since the mathematical method is already well-known as the RSA algorithm mentioned above about the definition method of the encryption key and decryption key which have such relationship, description is abbreviate | omitted here. Further, in this RSA algorithm, each key can be used for encryption and can also be used for decryption. Between the encryption key and the decryption key, a key is used. There is no essential difference. However, here, for convenience of explaining the application to the transaction system shown in FIG. 4, each key is classified and called as either an encryption key or a decryption key according to the usage mode.
[0043]
In the example shown in the table of FIG. 6, for example, data encrypted with the terminal encryption key Kx (dark) for the X branch is decrypted with the terminal decryption key Kx (reverse) for the X branch. become. Similarly, data encrypted by the medium encryption key Ka (dark) for the user A is decrypted by the medium decryption key Ka (recovery) for the user A.
[0044]
The important point here is that the terminal encryption keys Kx (dark), Ky (dark), and the medium decryption keys Ka (reverse), Kb (reverse), and Kc (reverse) are treated as secret keys. Decryption keys Kx (reverse), Ky (reverse), and medium encryption keys Ka (dark), Kb (dark), and Kc (dark) are treated as public keys. For convenience of explanation, in this specification, the secret key is enclosed in <>.
[0045]
FIG. 7 is a block diagram showing a state in which each key shown in FIG. 6 is set in the transaction system shown in FIG. Each terminal device 201, 202 stores a terminal encryption key <Kx (dark)>, <Ky (dark)> as a secret key, and each IC card 101, 102, 103 contains Media decryption keys <Ka (recovery)>, <Kb (restore)>, and <Kc (restore)> are stored as secret keys, respectively. The public key table 400 separately prepared includes terminal decryption keys Kx (reverse) and Ky (reverse) and medium encryption keys Ka (dark), Kb (dark), and Kc (dark) as public keys. Stored. Here, the terminal encryption keys <Kx (dark)> and <Ky (dark)> stored in each terminal device are managed with sufficient security and kept in a secret state. Similarly, the medium decryption keys <Ka (reverse)>, <Kb (reverse)>, <Kc (reverse)> stored in each IC card are specifically stored in the EEPROM 15; In this embodiment, a configuration is employed in which an IC card is never read out of the IC card so that a secret state is maintained.
[0046]
On the other hand, since the public key prepared as the public key table 400 does not need to be kept secret, it is not necessary to perform special security management. However, since these public keys need to be usable in each terminal device, in this embodiment, they are stored as a table in a storage device in each terminal device.
[0047]
  After all, each terminal device or each IC card only needs to manage one secret key related to itself in a secret state, so the burden of security management is greatly reduced. For example, when a new user D is added, the IC card issued for the new user D has a medium decryption key <Kd (recovery)> As a secret key, and each terminal device may add a new medium encryption key Kd (dark) to the public key table 400. Since the medium encryption key Kd (dark) is a public key, it is not necessary to consider security when performing the addition process to the public key table 400, and a large work load is not applied. Similarly, when a new Z branch is established and the terminal device 203 is added, it is sufficient to store the terminal encryption key <Kz (dark)> of itself as a secret key in the terminal device 203. In addition, a new terminal decryption key Kz (recovery) may be added to the public key table 400 in each terminal device.
[0048]
§6. Write / read method according to the present invention
Now, in the bank transaction system as shown in FIG. 7, the specific procedure of the process of writing information to the optical recording unit 20 of each IC card and the process of reading the information will be described.
[0049]
Here, a case where user A performs a transaction at X branch will be described as an example. In this case, the user A inserts the IC card 101 into the terminal device 201 of the X branch and performs an operation necessary for a desired transaction. As a result, it is assumed that data needs to be written from the terminal device 201 to the optical recording unit 20 of the IC card 101. Such a writing process to the optical recording unit 20 is executed according to the procedure shown in the flowchart of FIG. First, in step S <b> 11, recording target data D (0) is prepared in the terminal device 201. In subsequent step S12, the terminal device 201 encrypts the recording target data D (0) using the secret terminal encryption key <Kx (dark)> stored therein, and the first encrypted data D (1) is obtained. Note that the encryption process is performed using a predetermined encryption routine that is commonly incorporated in each terminal device. When the first encrypted data D (1) is obtained in this way, subsequently, in step S13, the first encryption data Ka (dark) of the user A prepared in the public key table 400 is used for the first encryption data D (1). The encrypted data D (1) is encrypted to obtain second encrypted data D (2). Finally, in step S14, the second encrypted data D (2) is written into the optical recording unit 20 using the optical access means 29. In this embodiment, the data X for specifying that the data D (2) is written by the terminal device 201 at the X branch is added to the second encrypted data D (2) (this is encrypted). (Can be plaintext that is not necessary) is added, and writing is performed in the form of D (2) + X. This is convenient for smoothly performing a reading process described later.
[0050]
The processes in steps S11 to S14 are processes performed in the terminal device 201. However, in the case of a network type terminal device to which the host computer 300 is connected, the processes in steps S11 to S13 are performed in the host computer 300. You may go. Since the CPU built in the terminal device 201 or the host computer 300 has a much higher performance than the CPU built in the IC card 101, the encryption processing in step S12 and step S13 is performed in the IC card. Is much faster than. That is, in the method according to the present invention, the second problem described above is solved.
[0051]
FIG. 9 is a block diagram showing the above-described two-time encryption processing. The recording target data D (0) is encrypted using the secret terminal encryption key <Kx (dark)> to obtain the first encrypted data D (1). It is shown schematically that the second encrypted data D (2) is obtained by performing encryption using the public encryption key Ka (dark) of the user A.
[0052]
Subsequently, when the user A makes a transaction at the Y branch, the procedure of the reading process according to the present invention will be described by taking the process of reading the second encrypted data D (2) written by the above process as an example. explain. In this case, when the user A inserts the IC card 101 into the terminal device 202 of the Y branch, the reading process is executed according to the procedure shown in the flowchart of FIG. First, in step S <b> 21, the second encrypted data D (2) recorded in the optical recording unit 20 is read to the terminal device 202 by the optical access means 29. At this time, data X (plain text) indicating that the second encrypted data D (2) has been written by the terminal device 201 of the X branch is also read at the same time. Assuming that D (2) is written at the X branch (not authenticated), the following processing is performed. That is, the terminal device 202 transfers the read second encrypted data D (2) to the IC card 101 side together with the decryption command. Specifically, the decryption command and the second encrypted data D (2) are transmitted to the IC module unit 10 via the I / O line 19. The above is the processing on the terminal device 202 side.
[0053]
The IC module unit 10 interprets such a command, and executes the following process using a decryption routine prepared in the ROM 13. First, in this embodiment, before entering into a substantial decryption process, it is checked in step S23 whether or not the currently connected terminal device 202 has been authenticated as a regular terminal device. Normally, when an IC card is inserted into a terminal device and both are electrically connected, mutual authentication processing is performed to confirm whether or not the other party is correct. Since a specific method of such mutual authentication processing is already known technology, description thereof is omitted here, but as a result of this mutual authentication, if the IC card side authenticates the other party (terminal device), Normally, a process of setting a “flag indicating that the partner is a legitimate terminal device” in the RAM 14 is performed. In this embodiment, in step S23, after first confirming that this flag is set, a substantial decoding routine is executed. This is a consideration for further improving security, and its merit will be described later.
[0054]
If it is confirmed in step S23 that the currently connected terminal device 202 is a legitimate terminal device, then in step S24, a decryption process using the media decryption key <Ka (reverse)> is performed. Is called. Here, the medium decryption key <Ka (recovery)> is a secret key stored in the EEPROM 15 of the IC card 101. By this decryption process, the given second encrypted data D (2) is decrypted, and the first encrypted data D (1) is obtained. Therefore, the IC module unit 10 returns the first encrypted data D (1) as a response to the terminal device 202 via the I / O line 19.
[0055]
On the other hand, if it is determined in step S23 that the currently connected terminal device 202 is not a legitimate terminal device, that is, the flag indicating that the mutual authentication process has been normally completed has not been set in the RAM 14. In this case, an error response is returned in step S26. Therefore, for example, even if an unauthorized terminal device communicates with the IC card 101 and a decryption command is given from this unauthorized terminal device, an error response is returned from the IC card 101, and the decryption result is obtained. It is not possible. Therefore, a fraudulent act in which a fraudulent terminal device is used to acquire the result of decryption of specific data is rejected, and sufficient security can be ensured. Of course, the determination process in step S23 is not an indispensable process for carrying out the present invention, but it is preferable to execute this process in order to ensure sufficient security for practical use.
[0056]
The steps S23 to S26 are the processes on the IC card 101 side. Eventually, looking at the above processing from the terminal device 202 side, when the second encrypted data D (2) is transferred to the IC card 101 via the I / O line 19 in step S22, the decryption command is transferred to step S25. Similarly, a response is obtained via the I / O line 19, and the response includes the decrypted first encrypted data D (1). Therefore, in step S27, the terminal device 202 uses the terminal decryption key Kx (recovery) of the X branch prepared in the public key table 400 (as described above, the terminal device 202 uses the second encrypted data. Based on the data X written together with D (2), it is presumed that this data was written by the terminal device 201 of the X branch, so the terminal decryption key Kx (restore) of the X branch is Used), the first encrypted data D (1) is decrypted to obtain the recording target data D (0).
[0057]
When the recording target data D (0) is obtained in this way, an error check is subsequently performed on the recording target data D (0) in step S28. This is a check for checking whether or not the obtained recording target data D (0) has a predetermined condition that the correct recording target data should originally have. That is, if correct decoding is performed, the obtained recording target data D (0) is the original data prepared at the time of writing. However, if the decoding is not performed correctly, some data is obtained as a result of the decoding. Although it is obtained, the data is completely different from the original data and does not have the predetermined conditions that should be provided. In order to easily perform the error check in step S28, an error check code or the like may be added to the recording target data D (0) prepared in step S11 of FIG. In this case, the error check process in step S28 is a collation process of this error check code. In the case of a network type terminal device, the processing in steps S27 and S28 may be executed in the host computer 300 connected online.
[0058]
Thus, if there is no problem in the error check in step S28, the reading process from the optical recording unit 20 is completed. In this case, it is confirmed that the recording target data D (0) obtained in step S27 is certainly written by the terminal device 201 at the X branch. On the other hand, if a problem occurs in the error check, error processing is performed in step S29. This means that the authentication that the recording target data D (0) was written by the terminal device 201 of the X branch could not be obtained, and suggests the possibility of some fraud such as tampering. become. Note that the error processing in step S29 is similarly performed when an error response is returned from the IC card 101 side (step S26).
[0059]
Such a two-time decoding process is also shown in the block diagram of FIG. That is, the second encrypted data D (2) read from the optical recording unit 20 is decrypted using the secret medium decryption key <Ka (restore)> of the user A, and the first The encrypted data D (1) is obtained, and is further decrypted using the public terminal decryption key Kx (recovery) of the branch X to obtain the recording target data D (0). It is shown in In this diagram, a key enclosed in <> is a secret key, and processing using this secret key can be performed only by a specific person. Accordingly, the second encrypted data D (2) can be generated by the terminal device 201 (or the host computer 300 connected thereto) that knows the secret terminal encryption key <Kx (dark)>. Therefore, if the recording target data D (0) obtained by decrypting the second encrypted data D (2) is data having an original condition, the recording target data D (0) Can be authenticated as information written by the terminal device 201. That is, in the method according to the present invention, the first problem described above is also solved. Since the second encrypted data D (2) cannot be decrypted without the secret medium decryption key <Ka (restore)>, unless the IC card 101 is correctly accessed, The second encrypted data D (2) cannot be decrypted, and the condition of ensuring security by encrypted recording is also satisfied.
[0060]
As mentioned above, although this invention was demonstrated based on the Example shown in figure, this invention is not limited to these Examples, In addition, it can implement in a various aspect. For example, in the above-described embodiment, the hybrid IC card having the optical recording unit 20 is taken as an example, but the present invention is also applied to a hybrid IC card having a magnetic recording unit or a magneto-optical recording unit instead of the optical recording unit 20. It is also possible to apply to any portable information recording medium, not limited to an IC card.
[0061]
【The invention's effect】
As described above, according to the present invention, since a public key and a secret key are defined for each of the medium and the terminal device, and encryption / decryption is performed using these keys, transactions using a portable information recording medium are performed. In the system, the terminal device that has performed the writing process can be authenticated, and the time for the encryption process can be reduced.
[Brief description of the drawings]
FIG. 1 is an external view of a hybrid IC card with a built-in IC module section 10 and an optical recording section 20 formed on the surface.
FIG. 2 is a block diagram showing a state where the IC card 100 of FIG. 1 is connected to the terminal device 200 and accessed.
FIG. 3 is a block diagram illustrating a state in which a hybrid IC card 100 using a conventional encryption recording method is connected to a terminal device 200 and accessed.
4 is a block diagram showing a simple model of a bank transaction system adopting the conventional encryption recording method shown in FIG. 3. FIG.
FIG. 5 is a block diagram illustrating the basic concept of the principle of a digital signature known as an RSA algorithm using a public key.
6 is a table showing key definitions for applying the principle of the digital signature described in FIG. 5 to the transaction system shown in FIG.
7 is a block diagram showing a state in which each key shown in FIG. 6 is set in the transaction system shown in FIG.
FIG. 8 is a flowchart illustrating a procedure of data writing processing to the optical recording unit for the hybrid IC card according to the present invention.
FIG. 9 is a block diagram showing two encryption processes according to the procedure shown in FIG. 8;
FIG. 10 is a flowchart illustrating a procedure of data reading processing from an optical recording unit for a hybrid IC card according to the present invention.
[Explanation of symbols]
10 ... IC module part
11 ... I / O interface
12 ... CPU
13 ... ROM
14 ... RAM
15 ... EEPROM
19 ... I / O line
20: Optical recording section
29 ... Optical access means
30 ... Contact terminal
31 ... Encryption means
100 to 103 ... IC card
200 to 202 ... Terminal device
300: Host computer

Claims (6)

CPUと、このCPUによってアクセスされるメモリと、光もしくは磁気を利用して情報記録を行うことができる情報記録部とを有し、前記メモリと前記情報記録部との双方に情報記録を行うことができる携帯可能情報記録媒体について、端末装置から前記情報記録部に情報を書込むための情報書込方法であって、
媒体暗号化キーを用いて暗号化されたデータは、媒体復号化キーを用いることによって復号化することが可能になり、端末暗号化キーを用いて暗号化されたデータは、端末復号化キーを用いることによって復号化することが可能になるように、個々の媒体に固有の媒体暗号化キーと、個々の媒体に固有の媒体復号化キーと、個々の端末装置に固有の端末暗号化キーと、個々の端末装置に固有の端末復号化キーと、をそれぞれ定義する段階と、
前記媒体復号化キーについては、それぞれ個々の媒体内のメモリに秘密キーとして用意し、前記端末暗号化キーについては、それぞれ個々の端末装置内に秘密キーとして用意し、前記媒体暗号化キーおよび前記端末復号化キーについては、それぞれ公開キーとして利用できる形態で用意する段階と、
前記情報記録部へ書込むべき記録対象データD(0)を用意する段階と、
特定の端末装置について秘密キーとして用意されている端末暗号化キーを用いて、前記記録対象データD(0)を暗号化する暗号化処理を、前記特定の端末装置内で行い、一次暗号データD(1)を得る段階と、
特定の媒体について公開キーとして用意されている媒体暗号化キーを用いて、前記一次暗号データD(1)を暗号化する暗号化処理を、前記特定の端末装置内で行い、二次暗号データD(2)を得る段階と、
前記特定の端末装置により、前記特定の媒体の情報記録部に、前記二次暗号データD(2)と前記特定の端末装置を示すための付加情報とを書込む段階と、
を有することを特徴とする携帯可能情報記録媒体に対する情報書込方法。
A CPU, a memory accessed by the CPU, and an information recording unit capable of recording information using light or magnetism, and recording information in both the memory and the information recording unit An information writing method for writing information from a terminal device to the information recording unit for a portable information recording medium capable of
Data encrypted using the medium encryption key can be decrypted using the medium decryption key, and data encrypted using the terminal encryption key can be decrypted using the terminal decryption key. A medium encryption key unique to each medium, a medium decryption key unique to each medium, and a terminal encryption key unique to each terminal device so that it can be decrypted by using Defining a terminal decryption key unique to each terminal device;
The medium decryption key is prepared as a secret key in a memory in each individual medium, and the terminal encryption key is prepared as a secret key in each individual terminal device, and the medium encryption key and the The terminal decryption key is prepared in a form that can be used as a public key.
Preparing recording target data D (0) to be written to the information recording unit;
Using the terminal encryption key prepared for the specific terminal device as a secret key, encryption processing for encrypting the recording target data D (0) is performed in the specific terminal device, and the primary encrypted data D Obtaining (1);
Using the medium encryption key prepared for the specific medium as a public key, the encryption process for encrypting the primary encryption data D (1) is performed in the specific terminal device, and the secondary encryption data D Obtaining (2);
Writing the secondary encrypted data D (2) and additional information for indicating the specific terminal device into the information recording unit of the specific medium by the specific terminal device ;
An information writing method for a portable information recording medium characterized by comprising:
請求項1に記載の情報書込方法において、
ホストコンピュータに対してオンライン接続されている端末装置については、端末暗号化キーを、端末装置内もしくはホストコンピュータ内のいずれかに用意し、一次暗号データD(1)を得るための暗号化処理および二次暗号データD(2)を得るための暗号化処理を端末装置内もしくはホストコンピュータ内のいずれかで行うことを特徴とする携帯可能情報記録媒体に対する情報書込方法。
The information writing method according to claim 1,
For a terminal device connected online to a host computer, a terminal encryption key is prepared either in the terminal device or in the host computer, and encryption processing for obtaining primary encrypted data D (1) An information writing method for a portable information recording medium, wherein encryption processing for obtaining secondary encryption data D (2) is performed either in a terminal device or in a host computer.
請求項1または2に記載の方法によって情報記録部に書込まれた情報を読み出す方法であって、
所定の端末装置により、媒体の情報記録部に書込まれた二次暗号データD(2)と付加情報とを読み出す段階と、
前記媒体内のメモリに秘密キーとして用意されている媒体復号化キーを用いて、前記二次暗号データD(2)を復号化する復号化処理を、前記媒体内で行い、一次暗号データD(1)を得る段階と、
前記二次暗号データD(2)を書込む処理を行った特定の端末装置を、読み出した前記付加情報に基づいて推定し、推定された特定の端末装置について公開キーとして用意されている端末復号化キーを用いて、前記一次暗号データD(1)を復号化する復号化処理を、前記所定の端末装置内もしくは前記所定の端末装置に対してオンライン接続されているホストコンピュータ内で行い、記録対象データD(0)を得る段階と、
を有することを特徴とする携帯可能情報記録媒体に対する情報読出方法。
A method of reading information written in the information recording unit by the method according to claim 1 or 2,
A step of reading secondary encrypted data D (2) and additional information written in the information recording section of the medium by a predetermined terminal device;
Using the medium decryption key prepared as a secret key in the memory in the medium, a decryption process for decrypting the secondary encrypted data D (2) is performed in the medium, and the primary encrypted data D ( 1) obtaining,
The specific terminal device that has performed the process of writing the secondary cipher data D (2) is estimated based on the read additional information, and the terminal decryption prepared as a public key for the estimated specific terminal device A decryption process for decrypting the primary encrypted data D (1) using an encryption key is performed in the predetermined terminal device or in a host computer connected online to the predetermined terminal device, and recorded Obtaining target data D (0);
An information reading method for a portable information recording medium, comprising:
請求項3に記載の情報読出方法において、
端末装置から媒体へ二次暗号データD(2)とともに復号化コマンドを送信し、この復号化コマンドを受けた媒体が媒体内で一次暗号データD(1)を得るための復号化処理を行い、得られた一次暗号データD(1)をレスポンスとして前記端末装置へ返送するようにしたことを特徴とする携帯可能情報記録媒体に対する情報読出方法。
The information reading method according to claim 3,
The decryption command is transmitted together with the secondary encryption data D (2) from the terminal device to the medium, and the medium that has received the decryption command performs a decryption process for obtaining the primary encryption data D (1) within the medium, An information reading method for a portable information recording medium, wherein the obtained primary encrypted data D (1) is returned to the terminal device as a response.
請求項4に記載の情報読出方法において、
媒体に接続されている端末装置が正規のものであるか否かを判定する機能を媒体側に用意し、正規の端末装置であった場合にのみ、一次暗号データD(1)をレスポンスとして返送するようにしたことを特徴とする携帯可能情報記録媒体に対する情報読出方法。
The information reading method according to claim 4, wherein
A function for determining whether or not the terminal device connected to the medium is genuine is prepared on the medium side, and only when the terminal device is a legitimate terminal device, the primary encrypted data D (1) is returned as a response. An information reading method for a portable information recording medium, characterized in that:
請求項3〜5のいずれかに記載の情報読出方法において、
得られた記録対象データD(0)に対して、正しい記録対象データが本来備えているべき所定の条件を備えているか否かを調べるエラーチェック処理を行う段階を更に付加したことを特徴とする携帯可能情報記録媒体に対する情報読出方法。
In the information reading method according to any one of claims 3 to 5,
The obtained recording target data D (0) further includes a step of performing an error check process for checking whether or not the correct recording target data has a predetermined condition that should be originally provided. Information reading method for portable information recording medium.
JP18462795A 1995-06-28 1995-06-28 Information writing / reading method for portable information recording medium Expired - Fee Related JP3693709B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18462795A JP3693709B2 (en) 1995-06-28 1995-06-28 Information writing / reading method for portable information recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18462795A JP3693709B2 (en) 1995-06-28 1995-06-28 Information writing / reading method for portable information recording medium

Publications (2)

Publication Number Publication Date
JPH0916731A JPH0916731A (en) 1997-01-17
JP3693709B2 true JP3693709B2 (en) 2005-09-07

Family

ID=16156546

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18462795A Expired - Fee Related JP3693709B2 (en) 1995-06-28 1995-06-28 Information writing / reading method for portable information recording medium

Country Status (1)

Country Link
JP (1) JP3693709B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000315193A (en) * 1999-04-30 2000-11-14 Victor Co Of Japan Ltd Method and medium for data transfer of contents selling system
JP4569579B2 (en) * 2007-02-02 2010-10-27 カシオ計算機株式会社 Security management device and recording medium
JP2008269037A (en) * 2007-04-17 2008-11-06 Hitachi Ltd Information protection system for recording media

Also Published As

Publication number Publication date
JPH0916731A (en) 1997-01-17

Similar Documents

Publication Publication Date Title
CN1344396B (en) Portable electronic payment and authorization device and method thereof
US6230267B1 (en) IC card transportation key set
US6954855B2 (en) Integrated circuit devices with steganographic authentication, and steganographic authentication methods
JP4651212B2 (en) Portable information storage medium and authentication method thereof
US20030228886A1 (en) Electronic value data communication method, communication system, IC card, portable terminal, and communication
CN109903052A (en) A kind of block chain endorsement method and mobile device
KR100659633B1 (en) Ic card with cipher key conversion function, ic card system and settlement terminal
CN105117963A (en) Device and method based on digital signature
CN113595714A (en) Contactless card with multiple rotating security keys
SK176199A3 (en) Payment process and system
JP3693709B2 (en) Information writing / reading method for portable information recording medium
JPH1020778A (en) Encryption device and decryption device, and IC card
CN115527294B (en) NFC signal vehicle unlocking method of security chip and security chip device
JPH05250268A (en) Copy guard device
KR20130082845A (en) Automatic teller machine for generating a master key and method employing the same
JP2004287805A (en) Child card issuing system and child card use system
JP2005202541A (en) Information processing system, information processing apparatus, and information storage medium
JP4729187B2 (en) How to use card management system, card holder, card, card management system
JP2003091240A (en) How to manage encrypted information
JP2003174442A (en) Encryption key generation processing method
CN109816379B (en) Network payment system for directly reading and writing IC card by mobile phone
JP5386860B2 (en) Payment system, payment processing apparatus, validity verification apparatus, validity verification request processing program, validity verification processing program, and validity verification method
JP4295561B2 (en) Card ticketing system
US20030056106A1 (en) Encryption system for preventing data from being copied illegally and method of the same
JPS62168440A (en) Replacing method for station opening admission mark in public communication line

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040820

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040914

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050411

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050621

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050622

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090701

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090701

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100701

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100701

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110701

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120701

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载