(57)【特許請求の範囲】
【請求項１】
固有のＩＤが記憶されるＩＤ領域及び価値情報が記憶される価値情報領域を有するメモリと、減算カウンタとからなるＩＣカードと、固有の秘密鍵及びこの秘密鍵と対の公開鍵を有するとともにシステム共通の共通公開鍵を有し、前記ＩＣカードに価値情報を書き込む書き込み装置と、固有の秘密鍵及びこの秘密鍵と対の公開鍵を有するとともに前記共通公開鍵を有し、前記ＩＣカードに書き込まれた価値情報の読み取りを行う読み取り装置とを備えたシステムにおける価値情報の移転方法であって、
前記書き込み装置はＩＣカードに価値情報を書き込むと前記減算カウンタの値を減算し、ＩＣカードのＩＤ、価値情報及び減算カウンタの値の各データをメッセージダイジェスト演算してその演算結果を自身の秘密鍵で電子署名するとともに、この電子署名データをＩＣカードの前記メモリの第１のエリアに記録し、かつ予め自身の公開鍵がシステム共通の共通秘密鍵で電子署名された署名公開鍵をＩＣカードの前記メモリの第２のエリアに記録する一方、
前記読み取り装置はＩＣカードの前記メモリの第２のエリアに記録された書き込み装置の署名公開鍵を読み取り、読み取った署名公開鍵の署名の正否を前記共通公開鍵を用いて検証するとともに、この検証結果が正しいと判定された場合はＩＣカードの前記メモリの第１のエリアに記録された電子署名データを読み取り、読み取った電子署名データを書き込み装置の公開鍵で復号し、その復号結果と、ＩＣカードから読み出したＩＤ、価値情報及び減算カウンタの値の各データのメッセージダイジェスト演算による演算結果とを比較することにより、前記電子署名データの署名の正否を検証し、その検証結果に応じて価値情報を移転することを特徴とする価値移転方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、価値情報を移転する価値移転方法に関する。
【０００２】
【従来の技術】
価値情報を移転する方法として、図４に示すような、秘密鍵及び公開鍵を用いた公開鍵暗号方式が知られている。
即ち、この公開鍵暗号方式は、例えば価値情報を示す平文ａを秘密鍵ＫＳ  を用いて電子署名を行う。そして、この署名付き平文ｂの電子署名を署名側から予め通知され上記秘密鍵ＫＳ  と対の公開鍵ＫＰ  用いて検証するものである。また、電子署名を行う場合、平文ａを秘密鍵ＫＳ  を用いて暗号化し、その暗号文を署名側から予め通知された公開鍵ＫＰ  用いて復号化し、復号化された平文ａをチェックすることで平文ａの検証を行うこともできる。
【０００３】
なお、こうした公開鍵暗号方式の場合、具体的には署名側では平文ａのメッセージダイジェスト演算（チェックサム演算）を行い、そのメッセージダイジェスト値に秘密鍵ＫＳ  で暗号化を行ったものが電子署名で、平文ａとともに検証側へ送る。一方、検証側では署名側から受信した平文ａのメッセージダイジェスト演算を行いその演算結果と、署名側から受信した電子署名を公開鍵ＫＰ  により復号化したその復号結果とを比較し、双方の結果が一致するとその電子署名は正しく行われていると判定する。
【０００４】
このような公開鍵暗号方式の具体的な例として、図５に示すような、「Ｃａｒｄ  ｔｏ  Ｃａｒｄ」と呼ばれるプロトコルを用いた方式がある。
ここで、図５において、Ａは価値情報が記録されるとともに記録した価値情報を電子署名するＩＣカード、ＢはＩＣカードＡの価値情報が移転される移転先としてのカードリーダである。なお、ＩＣカードＡには、価値情報の暗号化，復号化処理や電子署名のチェックを行うコプロセッサ（ｃｏ−ｐｒｏｃｅｓｓｏｒ）と呼ばれる専用演算プロセッサが内蔵され、カードリーダＢにも上記コプロセッサを含むＳＡＭと呼ばれる分解不可能なセキュリティモジュールが内蔵され、これらのコプロセッサ及びＳＡＭによる演算に基づきＩＣカードＡからカードリーダＢへ価値情報（金額情報）を含む後述の電子マネーが高セキュリティ性を維持しながら移転される。
【０００５】
ところで、図５に示されている符号ＫＣＰ  は図示しないＩＣカード発行センタの公開鍵、符号ＫＡＰ  はＩＣカードＡの公開鍵、符号ＫＡＰｅは公開鍵ＫＡＰ  がセンタの秘密鍵ＫＣＳ  で署名された公開鍵、符号ＫＡＳ  はＩＣカードＡの秘密鍵、符号ＫＢＰ  はカードリーダＢの公開鍵、符号ＫＢＰｅは公開鍵ＫＢＰ  がセンタの秘密鍵ＫＣＳ  で署名された公開鍵であり、これらの各鍵のうち、公開鍵ＫＣＰ  はＩＣカードＡの発行時にＩＣカード発行センタからＩＣカードＡ及びカードリーダＢに与えられている。また、公開鍵ＫＡＰｅ，ＫＢＰｅはそれぞれＩＣカードＡ及びカードリーダＢに記憶され、さらに秘密鍵ＫＡＳ  はＩＣカードＡに記憶されている。
【０００６】
ここで、ＩＣカードＡからカードリーダＢへの価値移転を行う場合、まずＩＣカードＡはカードリーダＢの公開鍵ＫＢＰｅを入力すると、その公開鍵ＫＢＰｅをカード発行センタの公開鍵ＫＣＰ  を使ってカードリーダＢの公開鍵ＫＢＰｅ署名の正否をチェックする（ステップＳ２１）。そしてその公開鍵ＫＢＰｅの署名が正しいか否かを判断し（ステップＳ２２）、正しく署名されていればステップＳ２４へ移行し、カードリーダＢから送られる乱数の待機状態となる。なお、カードリーダＢの公開鍵ＫＢＰｅの署名が正しく署名されていなければ、エラー処理を行って（ステップＳ２３）終了する。
【０００７】
一方、カードリーダＢにおいてもＩＣカードＡの公開鍵ＫＡＰｅを入力すると、その公開鍵ＫＡＰｅの署名をカード発行センタの公開鍵ＫＣＰ  を使って公開鍵ＫＡＰｅの署名の正否をチェックする（ステップＳ３１）。そしてその公開鍵ＫＡＰｅの署名が正しいか否かを判断し（ステップＳ３２）、正しく署名されていなければ、エラー処理を行い（ステップＳ３３）処理を終了する。また、ＩＣカードＡの公開鍵ＫＡＰｅの署名が正しく行われていれば復号結果の公開鍵ＫＡＰを取り出すとともに、乱数を発生してＩＣカードＡへ送り（ステップＳ３４）、その後ＩＣカードＡから送信される電子マネーの待機状態となる。
ＩＣカードＡでは、カードリーダＢから乱数を受け取ると、ＩＣカードＡのカードＩＤ、カードＡに価値情報が記録された日付、カードＡの価値情報を示す金額、及び受け取った乱数の各データに対し自身の秘密鍵ＫＡＳ  で電子署名し（ステップＳ２４）、それを電子マネーとしてカードリーダＢへ送る。
【０００８】
カードリーダＢでは、ＩＣカードＡから送られてきた電子マネーについてＩＣカードＡの公開鍵ＫＡＰ  （上記秘密鍵ＫＡＳ  と対の公開鍵）を用いて電子マネーの署名が正しいか否かを検証する（ステップＳ３５）。そして電子マネーが正しく署名されていなければエラー処理を行い（ステップＳ３７）、処理を終了するとともに、電子マネーが正しく署名されステップＳ３６の判定が「Ｙ」となる場合は、ＩＣカードＡからの電子マネーのうち、復号化された金額情報を上位ＣＰＵへ送る（ステップＳ３８）。この結果、上位ＣＰＵではこのＩＣカードＡの使用に基づくサービスを許容し、サービス提供の結果の金額情報がＩＣカードＡから減じられる。このようにしてＩＣカードＡからカードリーダＡへの価値情報の移転が行われる。
【０００９】
【発明が解決しようとする課題】
上記した「Ｃａｒｄ  ｔｏ  Ｃａｒｄ」と呼ばれる価値移転システムでは、公開鍵暗号方式による鍵の受け渡し、電子署名及び暗号技術を利用しているため、第三者による解読や偽造が難しく、したがって価値移転の際に高セキュリティ性を確保できるという特徴がある。また、ＩＣカードには鍵、暗号化処理及び電子署名処理を行うコプロセッサを封入しているため第三者による分解が困難であり、したがって第三者による解読が極めて困難であるという特徴も有している。
【００１０】
しかしながら、こうした公開鍵暗号処理を実行するためには、ＩＣカードに、暗号化，復号化及び電子署名チェックを行う上述のコプロセッサを設ける必要があり、ＩＣカードが高価になるという問題があった。また、コプロセッサを使ってさえも、暗号化処理などの処理時間に長時間を要するという問題があった。
したがって本発明は、価値移転を行う場合、システムを安価に構成するとともに高セキュリティ性を確保することを目的とする。
【００１１】
【課題を解決するための手段】
このような課題を解決するために本発明は、価値情報を書き込むと減算を行う減算カウンタを有するＩＣカードを用い、書き込み装置はＩＣカードに価値情報を書き込むと減算カウンタの値を減算し、ＩＣカードのＩＤ、価値情報及び減算カウンタの値の各データをメッセージダイジェスト演算してその演算結果を自身の秘密鍵で電子署名するとともに、この電子署名データをＩＣカードのメモリの第１エリアに記録し、かつ予め自身の公開鍵がシステム共通の共通秘密鍵で電子署名された署名公開鍵をＩＣカードのメモリの第２のエリアに記録する一方、読み取り装置はＩＣカードのメモリの第２のエリアに記録された書き込み装置の署名公開鍵を読み取り、読み取った署名公開鍵の署名の正否を前記共通公開鍵を用いて検証するとともに、この検証結果が正しいと判定された場合はＩＣカードのメモリの第１のエリアに記録された電子署名データを読み取り、読み取った電子署名データを書き込み装置の公開鍵で復号し、その復号結果と、ＩＣカードから読み出したＩＤ、価値情報及び減算カウンタの値の各データのメッセージダイジェスト演算による演算結果とを比較することにより、電子署名データの署名の正否を検証し、その検証結果に応じて価値情報を移転するようにした方法である。
【００１２】
【発明の実施の形態】
以下、本発明について図面を参照して説明する。
図１は本発明に係る価値移転方法を適用したシステムを構成するＩＣカードのブロック図である。同図において、ＩＣカード１にはＲＯＭ１１、不揮発性ＲＡＭ１２、及び価値情報の取引の際にユニークな値を発生するユニーク値発生器としての減算カウンタ１３が設けられている。ここで、ＲＯＭ１１のカードＩＤエリア１１Ａには本ＩＣカードのＩＤを示すカードＩＤが格納される。また、ＲＡＭ１２には、電子署名されたデータが格納される署名エリア１２Ａ、公開鍵が記憶される公開鍵エリア１２Ｂ、及び日付，金額情報が格納される日付，金額エリア１２Ｃが設けられている。
【００１３】
次に図２は、ＩＣカード１に対して金額情報を書き込むチャージ機２Ａ、または、サービスの提供を受けるためにＩＣカード１が挿入されたとき挿入カードの金額情報からサービスに応じた金額を減じる支払機２Ｂの構成を示すブロック図であり、チャージ機２Ａ及び支払機２Ｂはともに同様の構成である。
このように本価値移転システムは、ＩＣカード１と、チャージ機２Ａと、支払機２Ｂとからなる。
【００１４】
チャージ機２Ａ及び支払機２Ｂは、図２に示すように、分解不可能なセキュリティモジュールであるＳＡＭ２１と、ＣＰＵ２５と、ＩＣカードインタフェース２６と、メモリ２７と、キー２８と、表示器２９とからなる。
ここで、ＳＡＭ２１は、ＣＰＵ２２と、不揮発性ＲＡＭ２３と、メモリ２４とからなり、不揮発性ＲＡＭ２３には、金額データを記憶する金額データエリア２３Ａと、秘密鍵（暗号鍵）を記憶する暗号鍵エリア２３Ｂとが設けられている。
【００１５】
チャージ機２ＡのＣＰＵ２５はＩＣカードインタフェース２６を介してＩＣカード１の挿入を検出すると、そのＩＣカード１に金額情報を記録するが、その場合、キー２８の操作に基づく金額データ、または予めＳＡＭ２１の不揮発性ＲＡＭ２３内のエリア２３Ａに記憶されている金額データをＣＰＵ２２を介して取り込み、その金額データをインタフェース２６を介しＩＣカード１の不揮発性ＲＡＭ１２のエリア１２Ｃに書き込むとともに、そのときの日時を図示しない時計ＩＣから読み込んで、日付データとして同エリア１２Ｃの別途エリアに書き込み、かつその際にはＩＣカード１の減算カウンタ１３の値を１つ減算する。
【００１６】
そして、さらにＩＣカード１から、ＲＯＭ１１内のカードＩＤと、減算カウンタ１３の値と、ＲＡＭ１２の日付，金額エリア１２Ｃに書き込まれた日付データと、金額データとを読み出してＳＡＭ２１のＣＰＵ２２に送る。ＳＡＭ２１のＣＰＵ２２は、これらの各データのメッセージダイジェスト演算を行い、その演算結果のデータに対し、自身の不揮発性ＲＡＭ２３のエリア２３Ｂから読み出した秘密鍵（暗号鍵）で暗号化し電子署名とする。そして、この署名データをＣＰＵ２５に送ってＩＣカード１の署名エリア１２Ａに書き込ませる。続いて、ＳＡＭ２１内のＣＰＵ２２は、不揮発性ＲＡＭ２３に予め記憶されているチャージ機２Ａ自身の公開鍵（上記秘密鍵と対の図示しないセンタ装置の秘密鍵で電子署名済みの公開鍵）をＣＰＵ２５に送ってＩＣカード１の公開鍵エリア１２Ｂに記録させる。
【００１７】
こうしてチャージ機２Ａで金額情報が記録されたＩＣカード１を用いて種々のサービスを受けるためにそのカード１が支払機２Ｂに挿入されると、支払機２ＢのＣＰＵ２５は、インタフェース２６を介してＩＣカード１の公開鍵エリア１２Ｂの公開鍵を読み取る。そして読み取ったチャージ機２Ａの署名済みの公開鍵をＳＡＭ２１のＣＰＵ２２へ送る。ＳＡＭ２１のＣＰＵ２２はその公開鍵の電子署名を、不揮発性ＲＡＭ２３に記憶保持しているセンタ装置の公開鍵を用いて検証し、ＩＣカード１の公開鍵の署名が正しいと判定される場合は、チャージ機２Ａの公開鍵を取り出す。その後、ＣＰＵ２５に指示してＩＣカード１の署名データエリア１２Ａから、チャージ機２Ａの秘密鍵で署名されている署名データを読み出させる。
【００１８】
そしてＣＰＵ２２はＣＰＵ２５により読み出された署名データの署名を、チャージ機２Ａの秘密鍵と対の上記公開鍵で復号し、その復号結果と、ＣＰＵ２５によりＩＣカードから読み出されたカードＩＤ、減算カウンタ１３の値、日付，金額エリア１２Ｃの日付データ、及び金額データについてのメッセージダイジェスト演算結果と比較することにより、ＩＣカード１の署名データの正否を判断する。
ここで、ＩＣカード１の署名データが正しいと判断される場合は、支払機２ＢはＩＣカード１の使用に基づくサービスを提供するとともに、サービス提供の結果の金額情報をＩＣカード１から減じる。このようにして、ＩＣカード１を媒介としてチャージ機２Ａから支払機２Ｂへの価値情報の移転が行われる。
【００１９】
図３は以上のような動作を行うチャージ機２Ａ及び支払機２Ｂのフローチャートである。このフローチャートにしたがって本発明の要部動作を説明する。
まず図３において、符号ＫＣＰ  は図示しないセンタ装置の公開鍵、符号ＫＡＰ  はチャージ機２Ａの公開鍵、符号ＫＡＰｅは公開鍵ＫＡＰ  がセンタ装置の秘密鍵ＫＣＳ  で署名された公開鍵、符号ＫＡＳ  はチャージ機２Ａの秘密鍵であり、センタの公開鍵ＫＣＰ  は予めセンタ装置からチャージ機２Ａ及び支払機２Ｂに与えられている。また、秘密鍵ＫＡＳ  及びその秘密鍵ＫＡＳ  と対の署名済みの公開鍵ＫＡＰｅはチャージ機２Ａに記憶されている。
【００２０】
ここで、チャージ機２ＡがＩＣカード１に金額情報を記録する場合は、ＩＣカード１の不揮発性ＲＡＭ１２のエリア１２Ｃに金額データとともに、そのときの日付データを書き込む（ステップＳ１）。そして、こうした金額データを書き込むと自動的にＩＣカード１の減算カウンタ１３の値を１つ減算する減算処理を行う（ステップＳ２）。そしてさらに、ＩＣカード１から、カードＩＤと、減算カウンタ１３の値と、ＲＡＭ１２の日付，金額エリア１２Ｃの日付データと、金額データとを読み出し、これらの各データのメッセージダイジェスト演算を行いその演算結果を、自身の不揮発性ＲＡＭ２３のエリア２３Ｂに記憶されている秘密鍵（暗号鍵）ＫＡＳ  で電子署名し、この署名データをＩＣカード１の署名エリア１２Ａに書き込む（ステップＳ３）。続いて、チャージ機２Ａ自身の、図示しないセンタ装置の秘密鍵ＫＣＳ  で予め署名された公開鍵（上記秘密鍵と対の公開鍵）ＫＡＰｅをＩＣカード１の公開鍵エリア１２Ｂに記録（ステップＳ４）して終了する。
【００２１】
こうしてチャージ機２Ａで金額情報が記録されたＩＣカード１を使用して種々のサービスを受けるためにそのカード１が支払機２Ｂに挿入されると、支払機２Ｂは、まずＩＣカード１の公開鍵エリア１２Ｂの公開鍵ＫＡＰｅを読み取る。そして読み取ったその公開鍵ＫＡＰｅの署名の正否を、自身が記憶保持しているセンタ装置の公開鍵ＫＣＰ  を用いて検証し（ステップＳ１１）、その公開鍵ＫＡＰｅが正しく署名されているか否かを判断する。
【００２２】
ここで、ＩＣカード１の公開鍵ＫＡＰｅが正しく署名されていない場合はエラー処理（ステップＳ１３）を行って終了するが、公開鍵ＫＡＰｅが正しく署名されステップＳ１２の判定が「Ｙ」となると、チャージ機２Ａの公開鍵ＫＡＰ  を取り出して保持するとともに、ＩＣカード１の署名データエリア１２Ａから、チャージ機２Ａの秘密鍵ＫＡＳ  で署名された署名データを読み出す。そして読み出した署名データの署名を、チャージ機２Ａの秘密鍵ＫＡＳ  と対の上記公開鍵ＫＡＰ  で復号し、その復号結果と、ＩＣカードから読み出したカードＩＤ、減算カウンタ１３のカウント値、日付，金額エリア１２Ｃの日付データ、及び金額データのメッセージダイジェスト演算による演算結果とを比較することにより、署名データの署名の正否を判断する（ステップＳ１４）。
【００２３】
上記署名データが正しく署名されていない場合は、エラー処理（ステップＳ１６）を行って終了するが、署名データが正しく署名されステップＳ１５の判定が「Ｙ」となると、支払機２Ｂは、ＩＣカード１に金額を書き込んだチャージ機２Ａを正しいチャージ機２Ａと判定するとともに、そのチャージ機２Ａに書き込まれた金額データも正しい金額であると判定する。
この場合、支払機２Ｂは、ＩＣカード１の使用に基づくサービスを提供するとともに、サービス提供の結果の金額情報をＩＣカード１から減じ、チャージ機２ＡのステップＳ１〜Ｓ４と同様な手順で書き込む（ステップＳ１８）。
【００２４】
即ち、支払機２Ｂは、ＩＣカード１の金額データが正しいものと判定すると、サービス提供の結果の金額情報をチャージ機２Ａと同様、ＩＣカード１の日付，金額エリア１２Ｃの金額から減じて残額をそのエリア１２Ｃに書き込み、かつその時の日付を図示しない時計ＩＣから読み取ってエリア１２Ｃの別途エリアに記録するとともに、ＩＣカード１の減算カウンタ１３を１つ減算する。そしてさらに、ＩＣカード１から、カードＩＤと、減算カウンタ１３の値と、日付データと、金額データとを読み出し、これらの各データのメッセージダイジェスト演算を行い、その演算結果のデータに自身の秘密鍵ＫＢＳ  で暗号化し、これを署名データとしてＩＣカード１の署名エリア１２Ａに書き込む。続いて、支払機２Ｂ自身の、予めセンタ装置の秘密鍵ＫＣＳ  で署名された公開鍵（上記秘密鍵と対の公開鍵）ＫＢＰｅをＩＣカード１の公開鍵エリア１２Ｂに記録する。
【００２５】
このようにして、ＩＣカード１を媒介としてチャージ機２Ａから支払機２Ｂへ価値情報が移転される。なお、使用されたＩＣカード１に対し支払機２Ｂが上記のようにデータ記録を行うことにより、そのＩＣカード１が次に異なる支払機で使用された場合でも、その支払機では支払機２Ｂと同様、公開鍵の署名の検証やデータの署名の検証を行い、支払機２Ｂの正当性及び支払機２Ｂにより記録された金額の正当性を判定することができる。
【００２６】
なお、図３のステップＳ３及びＳ４では、それぞれカードデータの電子署名及びチャージ機２Ａの公開鍵の電子署名について説明したが、この場合これらの電子署名は、それぞれカードデータの秘密鍵による暗号化（ステップＳ３に対応）及びチャージ機２Ａの公開鍵のセンタ装置の秘密鍵による暗号化（ステップＳ４に対応）と同等である。また、図３のステップＳ１１及びＳ１４では、それぞれチャージ機２Ａの公開鍵の署名の検証及びカードデータの電子署名の検証について説明したが、この場合これら電子署名の検証は、それぞれチャージ機２Ａの公開鍵のセンタ装置の公開鍵による復号化（ステップＳ１１に対応）及びカードデータの公開鍵による復号化（ステップＳ１４に対応）と同等である。
【００２７】
このようにＩＣカード１を媒介としてチャージ機２Ａから支払機２Ｂ、支払機２Ｂから他の支払機へと価値情報を移転するようにしたので、ＩＣカード１に高価な専用プロセッサ（コプロセッサ）を内蔵することなく、価値移転を行うことができる。したがってＩＣカード１を安価に構成することができ、システム全体のコストを低減することができる。
また、ＩＣカード１の減算カウンタ１３はカード１に金額を書き込むと必ず減算されるものであり、任意に指定された値を書き込むことができない。したがって、こうしたカード１を媒介として価値移転を行う場合、従来と同程度の高セキュリティ性を確保できる。
【００２８】
また、チャージ機２Ａ及び支払機２Ｂの各ＳＡＭ２１内のＣＰＵ２２を、高速暗号化処理及び高速復号化処理可能な高速ワンチップＣＰＵで構成できるため、価値移転の際に高セキュリティ性の確保上必要な暗号化及び復号化処理を高速で行うことができる。
また、ＩＣカード１の減算カウンタ１３を、金額の認証だけに用いずに、例えば任意のメッセージの認証にも用いるようにすれば、ＩＣカード１を多目的カードとして利用することが可能になる。なお、減算カウンタ１３は加算カウンタとしても良く、要はＩＣカード１に金額を書き込む毎にその値が自動的に唯一無二のユニークな値に変わるような手段であれば良い。
【００２９】
【発明の効果】
以上説明したように本発明によれば、価値情報を書き込むと減算を行う減算カウンタを有するＩＣカードを用い、書き込み装置はＩＣカードに価値情報を書き込むと減算カウンタの値を減算するとともに、ＩＣカードのＩＤ、価値情報及び減算カウンタの値の各データを自身の秘密鍵で電子署名しこの電子署名データをＩＣカードに記録し、かつ予め自身の公開鍵がシステム共通の共通秘密鍵で電子署名された署名公開鍵をＩＣカードに記録する一方、読み取り装置はＩＣカードに記録された書き込み装置の署名公開鍵の署名をシステム共通の共通公開鍵で検証し、検証結果が正しいと判定された場合はＩＣカードに記録された電子署名データの署名を書き込み装置の公開鍵で検証し、その検証結果に応じて価値情報を移転するようにしたので、ＩＣカードに高価な専用プロセッサ（コプロセッサ）を内蔵することなく、価値移転を行うことができる。したがってＩＣカードを安価に構成することができ、システム全体のコストを低減することができるとともに、価値移転の際に高セキュリティ性を確保できる。
また、書き込み装置はＩＣカードに価値情報を書き込むときに書き込み時点の日付を書き込み、日付を含むデータを自身の秘密鍵で電子署名してＩＣカードに記録する一方、読み取り装置は日付を含む電子署名データの署名を書き込み装置の公開鍵で検証するようにしたので、価値移転の際のセキュリティ性がさらに向上する。
また、書き込み装置はＩＣカードのＩＤ、価値情報及び減算カウンタの値を含むデータのメッセージダイジェスト演算を行い、その演算結果を自身の秘密鍵で電子署名を行いＩＣカードに記録する一方、読み取り装置はＩＣカードに記録された電子署名データの署名を書き込み装置の公開鍵で検証し、この検証結果と、ＩＣカードのＩＤ、価値情報及び減算カウンタの値を含むデータのメッセージダイジェスト演算結果とを比較して電子署名の正否及び価値情報の正否を判定するようにしたので、価値移転の際には同様にセキュリティ性を向上できる。
【図面の簡単な説明】
【図１】本発明を適用したＩＣカードの構成を示すブロック図である。
【図２】ＩＣカードに対して価値情報を記録するチャージ機及びＩＣカードの価値情報を読み出す支払機の構成を示すブロック図である。
【図３】本発明の要部動作を示すフローチャートである。
【図４】公開鍵暗号方式を適用した電子署名及びその電子署名の検証を説明する説明図である。
【図５】公開鍵暗号方式を用いた従来の価値移転動作を示すフローチャートである。
【符号の説明】
１…ＩＣカード、２Ａ…チャージ機、２Ｂ…支払機、１１…ＲＯＭ、１１Ａ…カードＩＤエリア、１２，２３…不揮発性ＲＡＭ、１２Ａ…署名データエリア、１２Ｂ…公開鍵エリア、１２Ｃ…日付，金額エリア、１３…減算カウンタ、２１…ＳＡＭ、２２，２５…ＣＰＵ、２３Ｂ…暗号鍵エリア、２６…ＩＣカードイタフェース。
【図１】
0003622493.tif 000002
【図２】
0003622493.tif 000003
【図３】
0003622493.tif 000004
【図４】
0003622493.tif 000005
【図５】
0003622493.tif 000006