JP3329438B2 - 監視機関つき電子現金方法及びそれを実施するための利用者装置及び監視機関装置 - Google Patents

監視機関つき電子現金方法及びそれを実施するための利用者装置及び監視機関装置

Info

Publication number
JP3329438B2
JP3329438B2 JP12584297A JP12584297A JP3329438B2 JP 3329438 B2 JP3329438 B2 JP 3329438B2 JP 12584297 A JP12584297 A JP 12584297A JP 12584297 A JP12584297 A JP 12584297A JP 3329438 B2 JP3329438 B2 JP 3329438B2
Authority
JP
Japan
Prior art keywords
user
electronic cash
signature
monitoring
verification 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
JP12584297A
Other languages
English (en)
Other versions
JPH1083426A (ja
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP12584297A priority Critical patent/JP3329438B2/ja
Publication of JPH1083426A publication Critical patent/JPH1083426A/ja
Application granted granted Critical
Publication of JP3329438B2 publication Critical patent/JP3329438B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、電気通信システ
ムを介し、又はICカードを介して、分割利用が可能
で、プライバシイを保証し、かつ不正使用を防ぐ電子的
な現金を実現する電子現金方法及びそれを実施するため
の利用者及び監視機関装置に関する。
【0002】
【従来の技術】電気通信システムを用いた電子資金移動
が普及しつつある。一般に換金可能な証書(手形、小切
手など)は、証書の象徴的機能(証書を保持している人
に対して、証書に記載してある権利が供与されること)
を備えている。証書を電気通信システムで取り扱う場
合、証書はディジタル化されたデータであり、容易にコ
ピーを作成して複数回の不正な換金が可能となる。プリ
ペイドカードのような電子的現金を実現するときにも、
この問題が生じる。すなわち、プリペイドカードをコピ
ーすることで、不正に複数回の換金あるいは商品の購入
が可能となる。一方、クレジットカードでは、このよう
な2重使用の危険性はほとんどないが、その代わりに、
利用者の利用履歴がすべてカード会社に知られてしまう
という欠点がある(つまり、プライバシイが保証されて
ない)。これら問題の解決策として、計算機能を備えた
カードで換金時にカード読み取り装置とカードとの間の
データのやりとりを工夫することで、プライバシイを保
証し、かつカードの2重使用を検出する方法が提案され
ている。たとえば、Chaum, Fiat, Naor:"Untraceable E
lectronic Cash", Proc. of CRYPTO'88 がある。
【0003】
【発明が解決しようとする課題】しかしながら、Chaum
等の方法では、ある程度の安全性(例えば、不正が成功
する確率が1/230) を確保するため、利用者の小売店に
対する電子現金による支払処理における質問、応答及び
検証の3手順をその安全性に応じた回数だけ繰り返し
(例えば、30回)実行する必要があるため、相互交信
量がかなり大きくなる。また、発行された同一電子現金
を分割して利用することができない。従来提案されてい
る分割使用可能な電子現金の分割使用原理は、例えば米
国特許No.5,224,162に示されているように、階層構造を
使った数学的に巧妙な論理に基づいている。しかしなが
ら、実際にこれを実施する場合、処理手順が多く、かつ
演算量が大となる欠点がある。元来、電子現金実施シス
テムにおいては、電子現金の発行者と利用者口座を管理
する金融機関が同一であるため、各金融機関が電子現金
を発行するという想定で構成されており、発行された電
子現金は利用者から小売店、銀行を経て、発行元の銀行
に還流する。従って、それぞれの金融機関が発行する電
子現金の発行量を監視することができない。
【0004】この発明の第1の目的は、プライバシイを
保証し、不正使用をも防ぐ電子現金方法において、支払
処理における通信量が少なく、分割利用が可能で、特に
各金融機関が発行する電子現金の発行量を監視すること
ができるような電子現金方法を実現することにある。こ
の発明の第2の目的は、上記電子現金方法を実施するた
めの利用者装置及び監視機関装置を実現することにあ
る。
【0005】
【課題を解決するための手段】この発明による電子現金
方法は以下のステップを含む: (1) 利用者は、銀行に利用者情報Uと電子現金の額面に
対応する金額Xを送信し、利用者の口座から金額Xを引
き下ろすことを要請し、 (2) 上記銀行は、上記利用者の口座から金額Xを減額
し、上記利用者の署名検証用鍵NU 及び金額Xに対して
その銀行の署名SB(X,NU)を生成し上記利用者に送付する
と共に、上記金額Xと上記署名検証用鍵NU の情報を含
む署名検証鍵情報nを上記利用者情報Uと対応させて利
用者データベースに記録し、更に上記監視機関に上記署
名検証鍵情報nを送付し、 (3) 上記監視機関は、上記署名検証鍵情報nを合計使用
金額Yと対応させて監視データベースに登録し、 (4) 上記利用者は残額xと、上記金額Xと、上記署名検
証鍵NU と、上記署名SB(X,NU)とを含む情報を額面Xの
電子現金Cとして使って支払金額yを上記小売店に支払
い、上記小売店は上記電子現金の正当性を検証して受け
取り、 (5) 上記小売店は上記電子現金Cの情報を含む上記利用
者との全交信データHを上記監視機関に送信して決済を
求め、 (6) 上記監視機関は受信した上記交信データH中の上記
電子現金Cの正当性を検証し、上記銀行に対し上記小売
店の口座に上記支払金額yを振り込むよう指示を与え
る。
【0006】上記方法のステップ(1) において、利用者
は監視機関の暗号鍵PKT を使って署名検証鍵NU と金額
Xを含む組を暗号関数ET により暗号化して得たET(X,N
U)と金額Xを銀行及び監視機関に送り、更に、署名検証
鍵NU をブラインド署名前処理してF(NU) を銀行に送
り、ステップ(2) で銀行は利用者名Uと対応して署名検
証鍵情報nをデータベースに記録する代わりにET(X,NU)
を記録し、また、(X,NU)に対する直接署名の代わりに、
F(NU) に対するブラインド署名Z(NU) を利用者に送り、
ステップ(4) で利用者はF(NU) ブラインド署名後処理に
より得た銀行署名SB(NU)を電子現金の一部として使うよ
うにしてもよい。
【0007】この発明による利用者装置は、利用者署名
用鍵SKU を生成する鍵生成手段と、金額Xと署名検証鍵
U とに対する銀行の署名SB(X,NU)と、残額xと、額面
Xと,署名検証鍵NU とを含む電子現金Cと、上記署名
用鍵SKU とを保持するメモリ手段と、支払金額yと上記
小売店から受信した任意の情報eとに対する署名を上記
署名用鍵SKU を使って行い、署名SU(e,y) を生成する署
名生成手段と、上記残額xから支払金額yを減算して残
額を更新する残額更新手段と、を含む。
【0008】上記利用者装置において、暗号手段を設
け、監視機関の暗号鍵を使って金額Xと署名検証鍵NU
を含む情報を暗号化して銀行に送り、更に、ブラインド
前処理手段とブラインド後処理手段を設け、署名検証鍵
U に対する銀行のブラインド署名Z(NU)を得て、そのZ
(NU)から銀行の署名SB(NU)を得てもよい。この発明によ
る監視機関装置は、発行された電子現金を所有する利用
者に対応する署名検証鍵情報nを合計使用金額Yと対応
させて登録する監視データベースと、小売店から受信し
た残金x、額面X、署名検証鍵NU 、銀行の署名SB(X,N
U)を含む電子現金Cと、支払金額yとを含む履歴データ
Hを保持する履歴データベースと、上記履歴データH中
の金額Xと検証鍵NU に対応する署名検証鍵情報nが上
記監視データベースに登録されているか検索し、登録さ
れていなければ不正使用された電子現金であると判定す
る手段と、上記署名検証鍵情報が登録されている場合、
上記履歴データH中の支払金額yを上記監視データベー
ス中の対応する合計使用金額Yに加算する加算手段と、
上記加算手段による加算結果Y+y を額面Xと比較する比
較手段と、上記比較手段による比較結果がY+y<X であれ
ば上記監視データベース中の対応する合計使用金額Yを
上記加算結果Y+y で更新し、Y+y=X であれば上記監視デ
ータベース中の対応する署名検証鍵情報nと合計使用金
額Yを削除し、Y+y>X であれば不正使用された電子現金
であると判定して上記n,Yを削除すると共に、その署
名検証鍵情報nを上記銀行に通知する制御手段、とを含
む。
【0009】上記監視機関装置において、復号手段を設
け、利用者からの暗号化情報ET(X,NU)を復号して得た
(X,NU)を監視データベースに登録するようにしてもよ
い。この発明によれば、電子現金発行を行う機関(銀
行)と決済のための検証処理を行う機関(監視機関)を
分離し、監視機関において銀行の発行した電子現金の流
通量を監視する。一方、利用者の支払い処理を利用者の
署名鍵を用いて行うことにより、分割支払いを可能とし
ている。つまり、支払い額に対して利用者の署名を付け
させることにより、利用者が一定金額以上の支払いをし
た場合、その不正行為を証拠として提示できる。
【0010】
【発明の実施の形態】図1は、この発明方法が適用され
るシステムの構成の例を示す。電子現金の発行を監視す
る監視機関の装置100 (この監視機関を表す情報をTと
し、その機 関が有する装置を監視機関側装置という)
と、電子現金を発行する機関(この機関を銀行といい、
情報Bで表す)が有する装置(銀行側装置という)と、
発行された電子現金を使用する者(利用者という)が有
する装置(利用者装置という)300 (この利用者を表す
情報をUと記す)と、利用者より電子現金を受領する
関(小売店という)が有する装置(小売店側装置とい
う)400 (この小売店を表す情報をWと記す)とが通信
回線などを介して接続されている。これらは情報を記録
できるICカード等を介して接続されてもよい。以下に
説明するこの発明の実施例において使用されるディジタ
ル署名は既に確立した技術として様々な方式が知られて
おり、それらのどれを使ってもよい。
【0011】図1に示したシステム構成において適応さ
れるこの発明の電子現金実施方法を次ぎに説明する。 第1実施例 (1) 電子現金の発行処理 まず、利用者が、電子現金を発行してもらう場合を図2
を用いて説明する。
【0012】銀行側装置200 は、あらかじめディジタル
署名(池野、小山著「現代暗号理論」電子情報通信学
会、等を参照)用の公開鍵PKB 及び秘密鍵SKB の組を生
成してメモリ20M に保持する。その秘密鍵SKB と、それ
を用いて署名を生成するための署名生成関数SB を秘密
とする。更に、そのディジタル署名を検証するための署
名検証関数VB と、その署名検証関数に使用する検証用
公開鍵PKB を公開する。
【0013】利用者側装置は、銀行のその利用者300 の
口座(利用者情報Uと対応)から発行電子現金の額面と
同じ金額Xを引き下ろすことを要請するための手続きを
以下の手順で行う。 ステップ1:利用者側装置300 は、ディジタル署名の鍵
生成部301 を用いて、署名生成鍵SKU 及び署名検証鍵N
U を生成し、メモリ30M に記録する。従って、署名検証
鍵NU は利用者情報Uと対応している。
【0014】電子現金の額面と等しい金額Xを利用者30
0 の口座から引き下ろすことを要請するメッセージと利
用者情報(利用者識別情報或いは口座番号)UをNU
共に銀行側装置200 に送る。なお、この実施例では、利
用者側装置が新しい電子現金の発行をしてもらう毎に署
名検証鍵NU を新しく生成する、即ち、変更する場合に
ついて説明するが、後述するように、同一署名検証鍵N
U を複数の電子現金に使用してもよい。
【0015】ステップ2:銀行側装置200 は、利用者30
0 の口座の残高をチェックし、その残高よりXを減額
し、更に利用者名Uと対応させて(X,NU)を署名検証鍵情
報として利用者データベース201 に記録しておく。その
とき、利用者300 のディジタル署名のついた引き下ろし
依頼メッセージがあればそれも一緒に記録しておく。次
に、銀行側装置200 は署名関数SB の署名作成部202 を
用いて、X,NU に対する銀行200 のディジタル署名SB
(X,NU)を計算し、SB(X,NU)を利用者側装置300 に送付す
るとともに、(X,NU)を監視機関側装置100 に送付する。 ステップ3:利用者側装置300 はSB(X,NU)をx,X,NUと共
に額面X、残高xの電子現金C={x,X,NU,SB(X,NU)}とし
てメモリ30M に保持する。ただし、残高xの初期値はx
=Xである。
【0016】ステップ4:監査機関側装置100 は、(X,N
U)を署名検証鍵情報として監視データベース101 に登録
する。ここで、その(X,NU)に対応する電子現金の現在ま
での支払金額yの合計額Yの初期値をY=0 として(X,NU)
に対応して記録する。なお、この第1実施例では、署名
検証鍵NU を利用者側装置が生成する例を示している
が、他の機関、例えば監視機関100 又は銀行側装置200
が生成することにしてもよい。その場合は、電子現金発
行依頼に応じて予め監視機関側装置又は銀行側装置がそ
の署名検証鍵NU を生成し利用者側装置300 に送信する
ことになる。 (2) 電子現金の支払 次に、利用者側装置300 が、利用者側装置の署名検証鍵
U と銀行側装置200より発行された署名SB(X,NU)の組
を含む額面X、残高x(初期値x=X)の電子現金Cを
用いて小売店Wで金額y(y≦x)を支払う場合につい
て図3を用いて説明する。
【0017】ステップ1:利用者側装置300 は、メモリ
30M から読みだした残高xを表示部30D に表示してそれ
が利用しようとする金額y以上であることを確認して電
子現金C={x,X,NU,SB(X,NU)}を小売店側装置400 に送
る。 ステップ2:小売店側装置400 は、署名検証部401 を用
いて、電子現金の発行者(銀行側装置200 )の署名S
B(X,NU)の正当性を署名検証関数VB により検証する。
正しければ、一方向関数演算部402 により一方向関数f
を用いて時間TIME、小売店側装置400 に対応する情報W
から検証のための問い合わせ情報e=f(TIME,W)を生成
し、TIME,W,eを利用者側装置300 に送る。
【0018】ステップ3:利用者側装置300 は、一方向
関数演算部306 、比較部307 を用いて、e=f(TIME,W)
の正当性を検証する。正しければ、署名生成部305 を用
いて、送られてきたe及び支払金額y(y≦x)に対する利
用者の署名SU(e,y) を計算し、y,SU(e,y) を小売店
装置400 に送付する。 ステップ4:小売店側装置400 は、利用者署名SU(e,y)
と支払金額yの正当性を、問い合わせ情報eと署名検証
鍵NU を使って署名検証部404 により検証し、更に、比
較部403 を用いて、y≦xを検証する。いずれも正しけ
れば、該当支払金額yの電子現金による支払いを認め、
少なくとも1つが正しくなければ支払を認めない判定結
果OK/NG を利用者側装置に送る。また、後の決済のた
め、利用者側装置300 との間の交信データH={x,X,NU,SB
(NU),TIME,W,e,y,SU(e,y)}を小売店データ蓄積部40D に
保持する。
【0019】なお、小売店側装置400 がTIME,W,eを
利用者側装置300 へ送った後、SB(X,NU)の正当性の検証
を行ってもよい。 ステップ5:利用者側装置300 は小売店側装置400 から
の判定結果OK/NG がOKであれば、メモリ30M の残高xを
減算部302 によりx←x-y と更新する。 (3) 決済 最後に、小売店側装置400 と銀行側装置200 の間の決済
方法について図4を用いて説明する。
【0020】ステップ1:小売店側装置400 は決済のた
めにまず監視機関側装置100 に利用者側装置300 と小売
側装置400 の間の全ての相互通信データH={x,X,NU,
SB(X,NU),TIME,W,e,y,SU(e,y)}を自分の口座を有する銀
側装置200 を経由して(または直接)送信する。 ステップ2:監視機関側装置100 は、相互通信データH
に含まれる利用者側装置300 の署名検証用鍵NU と額面
Xの組(X,NU)が監視デーベース101 に登録されているか
どうかを検査する。登録されていれば、制御部114 は加
算部107 及び比較部103 を用いて、以下の処理を行う。
まず、(X,NU)に対応して記録されている支払金額の合計
値YをY+y→Yと更新し、更に更新されたYがXを越えて
ないことを検査する。また、制御部114 は相互通信デー
タHを履歴データベース108 に記録する。履歴データベ
ース108 へのデータの書き込みは、好ましくは予め決め
た期限付きとし、期限の切れたデータは消去することに
よりデータ量を削減することが好ましい。
【0021】もし、更新された支払合計金額Yが額面X
を越えていなければ、使われた電子現金の発行銀行に対
し、小売店側装置400 が指定した銀行の口座に金額yを
振り込むよう指示する。このとき、小売店400 が口座を
持つ銀行は、利用者側装置300 の(X,NU)に対し署名した
銀行200 でなくても良い。更に、Y+y=X ならば、監視デ
ータベース101 から(X,NU)及びそれに対応する支払合計
金額Yを削除する。
【0022】(X,NU)が監視データベース101 に登録され
ていない場合は、利用者300 による不正支払いが行われ
たものとして、不正者特定処理を行う。また、Y+y>X な
らば、制御部114 は監視データベース101 からX,NU
の対及びそれに対応するYを削除すると共に、やはり、
利用者による不正支払いが行われたものとして、不正者
特定処理を行う。
【0023】ステップ3:不正者特定処理では、監視機
側装置100 は、(X,NU)を削除する前に履歴データベー
ス108 より不正行為の証拠となる情報(不正支払に関す
る全ての相互通信データH)を読み出し、電子現金発行
元銀行側装置200 に送付する。銀行側装置200 は、不正
行為の証拠の正当性を、署名検証部203 によりNU を使
って検証し、正しければ(X,NU)をキーワードとして利用
者データベース201 から対応する利用者情報Uに該当す
る不正利用者300 を特定する。
【0024】上述において、利用者は署名検証鍵NU
原型のまま含む情報(X,NU)を銀行側装置及び監視機関
装置に送る場合を説明したが、一般には、署名検証鍵N
U の情報をそのままの形態も含め、任意の形態に変換し
て送ってよい。この任意の形態の変換をn=f(NU) で表
す。従って、上述の実施例の説明におけるより一般的な
表現として、利用者側装置は、n=f(NU) で表される署名
検証鍵情報を額面Xと共に銀行及び監視機関側装置に送
る。例えば、利用者側装置は一方向関数fを使って署名
検証鍵NU を含む情報をn=f(NU) のように変換し、(X,
n) を銀行側装置200 、更に監視機関側装置100 に送っ
て、それぞれ署名検証鍵情報としてデータベース201,1
01に書き込んでもよい。
【0025】上述の第1実施例において、銀行側装置20
0 は例えば一方向性のハッシュ関数hによりn=h(X,NU)
なる圧縮されたデータnを署名検証鍵情報として生成
し、この署名検証鍵情報nと利用者300 の名前Uとを対
応させて利用者データベース201 に記憶してもよい。同
様に、監視機関側装置100 も銀行側装置から受けた(X,N
U)を一方向ハッシュ関数により圧縮して得たデータn=h
(X,NU) を監視データベース101 に合計使用金額Yと対
応して登録してもよい。その場合、図4の監視機関側装
100 は小売店側装置400 からの履歴データH中の(X,N
U)を同じ一方向ハッシュ関数hにより圧縮して得られた
署名検証鍵情報nによりデータベース101 を検索し、同
じ署名検証鍵情報nが存在するか、即ち(X,NU)が登録さ
れているかを検査する。
【0026】上述のようにして使用された電子現金の残
額xを使って利用者300 が任意の小売店に支払を行う場
合の手順は、上述した利用者側装置300 と小売店側装置
400間の支払手順と全く同じであり、またそれにともな
う小売店側装置と監視機関側装置100 との間の決済手順
も前述と全く同様にして行うことができる。上述したこ
の発明の電子現金実施方法によれば、各銀行側装置200
が発行する電子現金の金額Xは全て監視機関側装置100
に報告されるので、それぞれの銀行による電子現金の発
行総量を監視することもできるし、監視機関100 は常に
流通している電子現金の総量を把握することができる。
【0027】また、この発明によれば、電子現金で支払
を行う場合、使用金額が現残額x以下であることを確認
するだけなので、電子現金の分割使用における処理手順
は前述の米国特許No.5,224,162に示された電子現金の分
割使用手順より著しく簡単であり、かつ、そのための交
信情報量も著しく少なくてすむ。更に、この発明の特徴
とするところは、監視機関側装置100 において、監視デ
ータベース101 に保持される監視対象の登録データ(X,N
U)は、対応する電子現金がその額面Xまで全て使いきっ
た時点で抹消されるので、それ以降、不正により同じ電
子現金が使用されても、小売店側装置から監視機関側装
に決済のため送られるその電子現金のデータ(X,NU)は
既にデータベース101 から抹消されているので、不正使
用が直ちに露見する。また、この方法において特徴的な
ことは、上述のようにデータベース101 に保持されてい
る監視対象としての登録データ(X,NU)は使用済み又は不
正発覚時点で抹消されるので、データベース101 に保持
されている登録データ(X,NU)は、その時点で有効なもの
だけである。従って電子現金の発行総量がある程度一定
していれば、監視データベース101 に保持しなければな
らない登録デー多量はほぼ一定となり、累積していくこ
とはない。これに対し、従来の電子現金方式において
は、各銀行側装置は不正使用された電子現金と使用済み
電子現金(将来不正使用される可能性がある)のリスト
を監視対象として保持しなければならず、電子現金の発
行量と共に監視データ量が累積していく問題がある。
【0028】次に上述の第1実施例における特徴的な利
用者装置300 と監視機関側装置100 の機能構成を以下
に説明する。図5は上述の第1実施例において利用者
装置300 の処理手順を実行するための利用者装置の機
能ブロック図を示す。その構成は、図2及び3中の利用
側装置300 が実行する電子現金発行時の処理機能部30
0aと、電子現金使用時の処理機能部300bが互いに入力部
311 、制御部312 、メモリ30M を共有するように構成さ
れている。 電子下金発行時の機能構成部300aは、入力
部311 と、各部の動作を制御するための制御部312 と、
鍵生成部301 と、送信部313 と、受信部314 と、メモリ
30M とから構成されている。制御部312 は入力部311 か
らコマンド、利用者情報U、額面Xが与えられると、電
子現金発行要求のため利用者情報Uと額面Xを送信部31
3 から銀行側装置200(B)に送信すると共に、鍵生成部30
1 に対し検証鍵NU と署名鍵SKU の生成を行わせ、Xと
共にメモり30M に保持させる。更に生成した鍵NU を銀
行200 に送信させる。
【0029】制御部312 は銀行側装置200 から(X,NU)に
対する署名SB(X,NU)を受信部314 で受信すると制御部31
2 はそれをメモり30M に保持する。電子現金使用時の機
能構成部300bは入力部311 と、制御部312 と、メモリ30
Mと、表示部30D と、減算部302 と、署名構成部305
と、一方向関数部306 と、比較判定部307 と、送信部31
5 と、受信部316 とから構成される。小売店側装置400
に対する支払額が入力部311 から入力されるとメモリ30
M から残額xを読み出し、表示部30D に表示し、残額x
が支払額以上であることを確認する。次にメモリ30M か
ら額面X、残金xの電子現金C={x,X,NU,SB(X,NU)}を読
み出し、送信部315 から小売店側装置400 に送信する。
これに応答して小売店400 から問い合わせ情報e、TIM
E、Wを受信部316 により受信するとTIMEとWを一方向
関数部306により一方向関数処理してf(TIME,W) を得
て、これが受信したeと一致するか、比較判定部307 で
判定する。一致すれば署名生成部305 で署名鍵SKU を使
ってeとyの組に対する署名SU(e,y) を生成し、支払金
額yと共に小売店側装置400 に送信する。それと共に減
算部302 で残額xから支払金額yを減算して更新した残
額xでメモリ30M 内の残額xを更新する。
【0030】監視機関装置100 は図6に示すように、
監視データベース101 と、履歴データベース108 と、加
算部107 と、比較部103 と、これらの動作を制御する加
算部107 と、履歴データベース108 と、受信部112 と、
送信部113 と、受信部115 と、制御部114 とから構成さ
れている。受信部112 で銀行側装置200 から(X,NU)を受
信すると制御部114 は(X,NU)を監視データベースに登録
し、それに対応して電子現金の合計使用金額初期値Y=0
を記録する。
【0031】以後、小売店側装置400 から受信部115 に
より電子現金C={x,X,NU,SB(X,NU)}による支払手順の履
歴データH={x,X,NU,SB(X,NU),TIME,W,e,y,SU(e,y)}を
受信すると、制御部114 は受信データ中の(X,NU)が監視
データベース101 に既に登録されているか検索し、登録
されていなければその電子現金による支払いは不正なも
のとして電子現金の発行銀行側装置に(X,NU)を通知す
る。既に登録されていればその(X,NU)に対応する監視デ
ータベース101 中の合計使用金額YとデータH中の支払
金額yとを加算部107 で加算する。その加算結果を比較
部103 でデータH中の額面Xと比較する114 にその比較
結果がY+y>Xであれば不正使用であると判定し、監視デ
ータベース101 から(X,NU)及びそれと対応するYを削除
すると共に(X,NU)を電子現金発行銀行側装置に通知す
る。Y+y<Xであればその電子現金の使用は不正のないも
のと判定、履歴データベースにデータHを記録すると共
に、監視データベース101 中の対応する合計使用金額Y
を加算部107 の加算結果により更新する。Y+y=X の場
合、その電子現金の額面Xが全額使用されてしまったこ
とを意味し、従って監視データベース101 から(X,NU)と
それに対応するYを削除する。
【0032】上述の第1実施例では、同一利用者が電子
現金の発行を要求する毎に異なる署名検証鍵NU を生成
するため、額面Xが同じでも同一利用者の複数の電子現
金を区別することができる。同一利用者が常に同一署名
検証鍵NU を使用できるようにするには、電子現金毎に
異なる変数値R(例えば乱数)を生成し、前述のデータ
(X,NU)の代わりに(X,NU,R)を使用すればよい。即ち、銀
側装置200 では利用者情報Uに対応してデータ(X,NU,
R)又はn=h(X,NU,R) を記録する。また、監視機関側装置
100 ではデータ(X,NU)を登録する代わりに(X,NU,R)又は
n=h(X,NU,R) を登録する。利用者側装置は小売店側装置
400 にデータ(X,NU,R)及びSB(X,NU,R)を含む電子現金C
を送る。決済においては、監視機関側装置100 は小売店
側装置からのデータH中の(X,NU,R)又はそれを変換した
nが監視データベース101 に登録されているかを検査す
る。その他の具体的手順は前述と同様である。 第2実施例 ところで、図2、3及び4を参照に説明した実施例で
は、銀行電子現金の発行を求める場合に、利用者側装
は自分の署名検証鍵NU を銀行側装置に提出するの
で、銀行は利用者の情報Uと(X,NU)との対応関係を知っ
ている。一方、小売店側装置では電子現金の支払を受け
る場合に利用者側装置から(X,NU)を受け取る。そこで、
もし銀行が小売店と結託すれば、銀行は小売店で電子現
金を使用した利用者の情報Uを得ることができることに
なるので、図2、3及び4の実施例はプライバシ保護の
面で十分といえない。この点を改善した実施例を以下に
図7、8及び9を参照して説明する。
【0033】この第2実施例では、電子現金発行処理に
おいて利用者側装置は銀行に利用者の(X,NU)の対が知ら
れないようにするため、(X,NU)を監視機関側装置の暗号
化鍵で暗号化して銀行側装置に与える。また、銀行側装
の電子現金発行手順において、銀行側装置にNU が知
れないようにするため、銀行側装置の電子現金に対する
署名はブラインド署名を行う。以下、図7、8、9を参
照して詳細に説明する。 (1) 電子現金の発行処理 まず、利用者が、電子現金を発行してもらう場合を図7
を用いて説明する。
【0034】監視機関側装置100 は、予め公開鍵暗号方
式用の公開鍵PKT と秘密鍵SKT を生成してメモリ10M に
保持しておき、銀行側装置200 はブラインド署名方式用
の各額面Xに対応した対の公開鍵PKB と秘密鍵SKB を生
成して保持しているものとする。監視機関側装置100
は、公開鍵暗号用の暗号化関数ET と公開鍵PKT を公開
すると共に、公開鍵PKT と対をなす復号用の秘密鍵SKT
と、それを用いる復号関数DT を秘密に保持する。
【0035】銀行側装置200 は、ブラインド署名用の公
開鍵PKB と署名検証関数VB を公開すると共に、ブライ
ンド署名用公開鍵PKB と対をなすブラインド署名用秘密
鍵SKB と、それを用いた署名生成関数SB を秘密に保持
する。利用者側装置300 は、銀行200 の利用者300 の口
座から電子現金の額面金額Xを引き下ろすことを要請す
るための手続きを以下の手順で行う。
【0036】ただし、この実施例では利用者は電子現金
の発行を要求するときは常に同一の署名検証鍵NU を使
う場合で説明する。従って、この場合、同一利用者の複
数の電子現金をそれぞれ区別できるように、前述した変
数値(例えば乱数)Rを(X,NU)と組み合わせて使用す
る。 ステップ1:利用者側装置300 は、ディジタル署名の鍵
生成部301 を用いて、署名生成鍵SKU 及び署名検証鍵N
U を生成し、乱数生成部30R により変数値として乱数R
を生成する。なお、この実施例では乱数Rを使うことに
より安全性をより高めているが、乱数Rの代わりに他の
どの様な任意の変数値を使ってもよい。
【0037】次に、監視機関側装置100 の暗号化用公開
鍵PKT を使って公開されている暗号関数ET を計算する
暗号部303 によりET(X,NU,R)を計算し、金額Xを利用者
300の口座から引き下ろすことを要請するメッセージをE
T(X,NU,R)とともに銀行側装置200 に送る。このメッセ
ージは、利用者側装置300 のディジタル署名等で認証さ
れていることが望ましい。前述の第1実施例で説明した
と同様に、利用者側装置はNU を所望の関数で変換して
nを生成し、銀行側装置200 に対しXを引き下ろすよう
に要請すると共に暗号化情報ET(X,n) を生成して銀行
装置へ送るようにしてもよい。
【0038】ステップ2:銀行側装置200 は、利用者30
0 の口座の残高をチェックし、その残高よりXを減額
し、更に利用者名Uと対応させてET(X,NU,R)を署名検証
鍵情報として利用者データベース201 に記録しておく。
利用者側装置300 の署名のついた引き下ろし依頼メッセ
ージがあればそれも一緒に記録しておく。銀行側装置20
0 は暗号化データET(X,NU,R)を復号する復号秘密鍵SKT
を持っていないので、(X,NU,R)を知ることはできない。
【0039】次に、{X,ET(X,NU,R)}を監視機関装置10
0 に送付する。 ステップ3:監視機関側装置100 は、復号関数DT の復
号部102 を用いて、ET(X,NU,R)を復号化して(X,NU,R)を
求める。次に、銀行側装置200 から送られてきたXと復
号化により得られたXの同一性を比較部103 により検証
する。それが正しければ、(X,NU,R)を署名検証鍵情報と
して監視データベース105 に登録すると共に、それに対
応して利用金額の合計額Yの初期値Y=0 を記憶する。
【0040】ステップ4:利用者側装置300 は、額面金
額Xに対応する銀行のブラインド署名公開鍵PKB を用い
て、ブラインド署名生成部304 によりF(NU) を生成し
(ブラインド署名前処理と呼ばれている)、それを銀行
側装置200 に送る。銀行側装置200 はF(NU) をブライン
ド署名作成部203 に入力し、ブラインド署名秘密鍵SKB
を使ってブラインド署名Z(NU) を生成し、それを利用者
側装置300に送る。
【0041】利用者側装置300 は、ブラインド署名公開
鍵PKB を使ってブラインド署名抽出部308 によりZ(NU)
から銀行側装置の署名SB(NU)を得る(一般にブラインド
署名後処理と呼ばれている)。ブラインド署名の実現法
については、RSA法を用いた方式が、Chaum, Fiat,Na
orによる"Un-traceable Electronic Cash", Proc. of C
RYPTO'88"に紹介されており、更にSchnorr法を用いたブ
ラインド署名がT.Okamotoによる"Provably Secure and
Practical Identification Schemes and Corresponding
Signature Schemes", Proc. of CRYPTO'92, pp.31-53,
1993のAppendix Bで紹介されている。
【0042】ここで、利用者側装置300 はC={x,X,NU,
R,SB(NU)}を額面X、残高xの電子現金としてメモリ30M
に保持する。ただし、残高xの初期値はx=X である。
この第2実施例では、署名検証鍵NU を利用者側装置30
0 が生成する例を示しているが、他の機関の装置、例え
ば監視機関側装置100 が生成することにしてもよい。そ
の場合は、利用者側装置300 は暗号鍵Kを作り、ET(K)
を銀行側装置200を経由して監視機関側装置100 に送り
監視機関側装置100 はET(K) を復号してKを求め、生成
したNU をKで暗号化してEK(NU)とし、そのEK(NU)を銀
側装置経由で利用者側装置に送信する。利用者側装置
300 は暗号鍵Kを使って受信したEK(NU)を復号してNU
を得る。 (2) 電子現金の支払 次に、利用者側装置300 が、利用者の署名検証鍵NU
銀行側装置200 より発行された署名SB(NU)との組を額面
X、残高x(初期値x=X)の電子現金Cとして用いて
小売店Wで金額y(y≦x)を支払う場合について図8
を用いて説明する。一般にブラインド署名では、所望の
種類の額面Xにそれぞれ対応して固有な対の鍵SKB、 PK
B を生成することが可能である。従って、額面を提示す
れば、使用すべきブラインド署名検証鍵PKB がわかる。
即ち、署名SB(NU)は署名検証鍵NU と額面Xの両方の情
報を含んでいることと同じである。
【0043】ステップ1:利用者側装置300 は、メモリ
30M から読みだした残高xを表示部30D に表示してそれ
が利用しようとする金額y以上であることを確認して電
子現金C={x,X,NU,R,SB(NU)} を小売店側装置400 に送
る。 ステップ2:小売店側装置400 は、署名検証部401 によ
り額面Xに対応する公開鍵PKB を用いて、電子現金の発
行者(銀行200 )の署名SB(NU)の正当性を署名検証関数
B により検証する。正しければ、一方向関数演算部40
2 により一方向関数fを用いて時間TIME、小売店側装置
400 に対応する情報Wから検証のための問い合わせ情報
e=f(TIME,W)を生成し、TIME,W,eを利用者側装置30
0 に送る。
【0044】ステップ3:利用者側装置300 は、一方向
関数演算部306 、比較部307 を用いて、e=f(TIME,W)
の正当性を検証する。正しければ、署名生成部305 を用
いて、送られてきたe及び支払金額y(y≦x)に対す
る利用者側装置の署名SU(e,y) を計算し、y,SU(e,y)
を小売店側装置400 に送付する。 ステップ4:小売店側装置400 は、署名検証部401 を用
いて、利用者署名SU(e,y) と支払金額yの正当性を問い
合わせ情報eと署名検証鍵NU を使って検証し、更に、
比較部403 を用いて、y≦xを検証する。いずれも正し
ければ、該当支払金額yの電子現金による支払いを認め
る。また、後の決済のため、利用者側装置300 との間の
交信データH={x,X,NU,R,SB(NU),TIME,W,e,y,SU(e,y)}を
小売店データ蓄積部40D に保持する。、少なくとも1つ
が正しくなければ支払を認めない判定結果OK/NG を利用
側装置に送る。また、後の決済のため、利用者側装置
300との間の交信データH={x,X,NU,R,SB(NU),TIME,W,e,
y,SU(e,y)}を小売店データ蓄積部40Dに保持する。
【0045】なお、小売店側装置400 がTIME,W,eを
利用者側装置300 へ送った後、SB(NU)の正当性の検証を
行ってもよい。 ステップ5:利用者側装置300 は小売店側装置400 から
の判定結果OK/NG がOKであれば、メモリ30M の残高xを
減算部302 によりx←x-y と更新する。 (3) 決済 最後に、小売店側装置Wと銀行側装置Bの間の決済方法
について図9を用いて説明する。
【0046】ステップ1:小売店側装置400 は決済のた
めにまず監視機関側装置100 に利用者側装置300 と小売
側装置400 の間の全ての相互通信データH={x,X,NU,R,
SB(NU),TIME,W,e,y,SU(e,y)}を決済銀行名とともに送信
する。 ステップ2:監視機関側装置100 の制御部114 は、相互
通信データHに含まれる利用者側装置300 の署名検証用
鍵NU と、乱数Rと、額面Xの組(X,NU,R)が監視デタベ
ース105 に登録されているかどうかを検査する。登録さ
れていれば、制御部114 は加算部107 及び比較部103 を
用いて、以下の処理を行う。まず、(X,NU,R)に対応して
記録されている利用金額の合計値YをY+y→Yに更新し、
更に更新されたYがXを越えてないことを検査する。ま
た、制御部114 は相互通信データHを履歴データベース
108 に記録する。
【0047】もし、更新された合計支払額Yが額面Xを
越えてなければ、使用された電子現金の発行銀行側装置
200 に対し、小売店側装置400 の指定した銀行の口座に
金額yを振り込むよう指示する。このとき、小売店400
が口座を持つ銀行は、利用者300 の検証用鍵NU にブラ
インド署名した銀行200 (電子現金を発行した銀行)で
なくても良い。更に、Y+y=X ならば、監視データベース
105 から(X,NU,R)及びそれに対応するYを削除する。
【0048】(X,NU,R)が監視データベース105 に登録さ
れていない場合は、利用者による不正支払いが行われた
ものとして、不正者特定処理を行う。また、Y+y>X なら
ば、制御部114 は監視データベース105 から(X,NU,R)及
びそれに対応するYを削除すると共に、やはり、利用者
による不正支払いが行われたものとして、不正者特定処
理を行う。
【0049】ステップ3:不正者特定処理では、制御部
114 は、履歴データベース108 より不正行為の証拠とな
る情報Hを読み出し、情報H中の(X,NU,R)を暗号部116
により公開鍵PKT を使って暗号化してET(X,NU,R)を得
て、情報Hと共に電子現金の発行元銀行側装置200 に送
付する。銀行側装置200 は、不正行為の証拠である情報
H中のSU(e,y),SB(NU)の正当性を鍵NU,PKB を使って署
名検証部203 により検証し、正しければET(X,NU,R)をキ
ーとして利用者データベース201 から対応する不正利用
者情報Uに該当する不正利用者300 を特定する。あるい
は、監視機関100に暗号部116 を設ける代わりに、銀行
側装置200 に暗号部を設けて、監視機関100 から受けた
(X,NU,R)を暗号化してET(X,NU,R)を得てもよい。
【0050】更に、小売店400 が実名Wを監視機関100
に教えたくない場合は、小売店側装置が監視機関に送る
通信データH中には仮名W'を用いて実名W を使わない
ようにする。また、小売店側装置400 は決済銀行400 と
Wの対応を通知しておくため、その銀行は監視機関側装
より受け取ったWへの振り込み依頼を小売店400 への
振り込み依頼であると判断する。
【0051】次に上述の第2実施例における特徴的な利
用者装置300 と監視機関側装置100 の機能構成を以下
に説明する。図10は上述の第1実施例において利用者
300 の処理手順を実行するための利用者装置の機能ブ
ロック図を示す。その構成は、図7及び8中の利用者
装置300 が実行する電子現金発行時の処理機能部300a
と、電子現金使用時の処理機能部300bが互いに入力部31
1 、制御部312 、メモリ30M を共有するように構成され
ている。
【0052】電子下金発行時の機能構成部300aは、入力
部311 と、各部の動作を制御するための制御部312 と、
鍵生成部301 と、暗号化部303 と、ブラインド署名前処
理部304 と、ブラインド署名後処理部308 と、送信部31
3 と、受信部314 と、メモリ30M とから構成されてい
る。制御部312 は入力部311 からコマンド、利用者情報
U、額面Xが与えられると、電子現金発行要求のため利
用者情報Uと額面Xを送信部313 から銀行側装置200(B)
に送信すると共に、鍵生成部301 に対し検証鍵NU と署
名鍵SKU の生成を行わせ、Xと共にメモり30M に保持さ
せる。また、監視機関側装置100 の暗号化用公開鍵PKT
を使って暗号化部303 によりX,NU,Rを暗号化して得たET
(X,NU,R)を銀行側装置200 に送信する。更に銀行側装置
のブラインド署名用公開鍵PKB を使ってブラインド署名
前処理部304 により検証鍵NU を前処理し、得られたF
(NU) を銀行側装置200 に送信する。
【0053】制御部312 は銀行側装置200 からF(NU) に
対するブラインド署名Z(NU) を受信するとブラインド署
名後処理部308 により銀行のブラインド署名用公開鍵PK
B を使って銀行の署名SB(NU)を抽出し、それをメモり30
M に保持する。電子現金使用時の機能構成部300bは入力
部311 と、制御部312 と、メモリ30Mと、表示部30D
と、減算部302 と、署名構成部305 と、一方向関数部30
6 と、比較判定部307 と、送信部315 と、受信部316 と
から構成される。小売店400 に対する支払額が入力部31
1 から入力されるとメモリ30M から残額xを読み出し、
表示部30D に表示し、残額xが支払額以上であることを
確認する。次にメモリ30Mから額面X、残金xの電子現
金C={x,X,NU,SB(NU)}を読み出し、送信部315 から小売
側装置400 に送信する。これに応答して小売店側装置
400 から問い合わせ情報e、TIME、Wを受信部316 によ
り受信するとTIMEとWを一方向関数部306 により一方向
関数処理してf(TIME,W) を得て、これが受信したeと一
致するか、比較判定部307 で判定する。一致すれば署名
生成部305 で署名鍵SKU を使ってeとyの組に対する署
名SU(e,y) を生成し、支払金額yと共に小売店側装置40
0 に送信する。それと共に減算部302 で残額xから支払
金額yを減算して更新した残額xでメモリ30M 内の残額
xを更新する。
【0054】監視機関装置100 は図11に示すよう
に、メモリ10M と、監視データベース101 と、復号部10
2 と、比較部103 と、履歴データベース108 と、加算部
107 と、比較部103 と、これらの動作を制御する加算部
107 と、履歴データベース108と、受信部112 と、送信
部113 と、受信部115 と、これらの各部の動作を制御す
る制御部114 とから構成されている。受信部112 で銀行
側装置200 からXとET(X,NU,R)が受信されると、復号部
102 は暗号用秘密鍵SKT を使って(X,NU,R)を復号し、得
られた金額Xと受信したXが一致するかを比較部103 で
チェックし、一致すればNU と(X,NU,R)の対と、それに
対応する利用合計金額の初期値Y=0 を監視データベース
101 に登録する。
【0055】以後、小売店側装置400 から受信部115 に
より電子現金C={x,X,NU,R,SB(NU)}による支払手順の履
歴データH={x,X,NU,R,SB(NU),TIME,W,e,y,SU(e,y)} を
受信すると、制御部114 は受信データ中の(X,NU,R)が監
視データベース101 に既に登録されているか検索し、登
録されていなければその電子現金による支払いは不正な
ものとして電子現金の発行銀行に(X,NU,R)を通知する。
既に登録されていればその(X,NU,R)に対応する監視デー
タベース101 中の合計使用金額YとデータH中の支払金
額yとを加算部107 で加算する。
【0056】その加算結果を比較部103 でデータH中の
額面Xと比較する114 にその比較結果がY+y>Xであれば
不正使用であると判定し、監視データベース101 から
(X,NU,R)及びそれと対応するYを削除すると共に(X,NU,
R)を電子現金発行銀行に通知する。Y+y<Xであればその
電子現金の使用は不正のないものと判定、履歴データベ
ースにデータHを記録すると共に、監視データベース10
1 中の対応する合計使用金額Yを加算部107 の加算結果
により更新する。Y+y=X の場合、その電子現金の額面X
が全額使用されてしまったことを意味し、従って監視デ
ータベース101 から(X,NU,R)とそれに対応するYを削除
する。
【0057】上述の第2実施例において、利用者側装置
はET(X,NU,R)を銀行及び監視機関に送る代わりに、ま
ず、(X,NU)をハッシュ関数で署名検証鍵情報n=h(X,NU)
に変換し、(n,R) を暗号化して得たET(X,NU,R)を銀行及
び監視機関に送ってもよい。その場合、銀行側装置はET
(n,R) を署名検証鍵情報として利用者データベースに記
録紙、監視機関はET(n,R)又は(n,R)を署名検証鍵情報と
して関しデータベースに登録する。
【0058】第1実施例で述べたと同様に、利用者の署
名検証鍵NU を電子現金発行毎に変えれば、変数Rを使
用してもしなくてもよい。使用しない場合、銀行側装置
は利用者名Uに対応して(X,NU)を利用者データベース20
1 に記録し、監視機関側装置100 は(X,NU)またはET(X,N
U)を登録する。変数Rを使用する場合は、その変数Rを
上述の第2実施例と全く同様に扱えばよいし、あるいは
変数Rを利用者側装置、銀行側装置、監視機関側装置
の通信の安全性を高めるためにのみ使用する。後者の場
合、小売店側装置400 への支払電子現金Cには変数Rを
含めないので、決済において、小売店側装置400 からの
情報H中に含まれる利用者の署名検証鍵NU が監視デー
タベース105 に登録されているかを検査するためには、
予め監視データベース105 に(X,NU)とET(X,NU,R)の対を
登録しておく。決済時に(X,NU)をキーワードとして検索
し、それが登録されていれば、必要に応じて(即ち不正
利用者検出の必要があれば)検出したET(X,NU,R)を銀行
側装置に送る。
【0059】
【発明の効果】この発明の第1実施例では、銀行と小売
店が結託すると利用者のプライバシイが保証されなくな
るという欠点があるが、銀行が不正をしなければ利用者
のプライバシイを保証でき、かつ不正使用を検出でき
る、という特徴を備えている。この発明の第2実施例で
は、Chaum らの方式と同様に、銀行が小売店と結託して
も利用者のプライバシイを保証でき、かつ不正使用を検
出できる、という特徴を備えている。
【0060】更に、この発明のいずれかの方法でも、Ch
aum らの方式よりも支払処理における通信量を少なくす
ることができる。また、分割利用が可能で、更に電子現
金の発行者と利用者の口座を管理する金融機関を階層的
に分離することができる。例えば、Chaum 等の方法で
は、電子現金の支払において、不正が成功する確率が1/
230 のとき、処理回数を30回実行する必要があるた
め、一方向関数の出力サイズを128 ビットとすると、少
なくとも(3×128×30)=11520 ビットの通信量を必要と
する。
【0061】一方、この発明での支払処理においては、
y,e及びそれに対する利用者の署名のサイズが通信量
となる。y,e(更にTIME,W)のサイズの合計は高々
200ビット程度あれば十分である。署名のサイズを10
24ビットとすると高々1200ビット程度となる。従って、
この発明の通信量は、支払処理時における通信量を10
倍程度少なくすることが可能である。
【0062】また、この発明では発行した電子現金を合
計が額面金額になるまで何回でも分割して利用が可能で
ある。更に、電子現金発行を行う機関(銀行)と決済の
ための検証処理を行う機関(監視機関)を分離し、監視
機関において銀行の発行した電子現金の流通量を監視す
ることを可能としている。つまり、監視機関では、銀行
が発行した電子現金の総量と銀行に還流してきた電子現
金の総量を知ることができるため、各時点で流通してい
る電子現金量を監視することが可能となる。
【図面の簡単な説明】
【図1】この発明が適用されるシステム構成の例を示す
図。
【図2】この発明の第1実施例における電子現金の発行
方法を機能的に示すブロック図。
【図3】この発明の第1実施例における電子現金の支払
方法を機能的に示すブロック図。
【図4】この発明の第1実施例における電子現金の決済
方法を機能的に示すブロック図。
【図5】この発明の第1実施例における利用者装置の機
能構成を示すブロック図。
【図6】この発明の第1実施例における監視機関装置の
機能構成を示すブロック図。
【図7】の発明の第2実施例における電子現金の発行方
法を機能的に示すブロック図。
【図8】この発明の第2実施例における電子現金の支払
方法を機能的に示すブロック図。
【図9】この発明の第2実施例における電子現金の決済
方法を機能的に示ブロック図。
【図10】この発明の第2実施例における利用者装置の
機能構成を示すブロック図。
【図11】この発明の第2実施例における監視機関装置
の機能構成を示す。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 17/60 410 G09C 1/00 660 JICSTファイル(JOIS)

Claims (18)

    (57)【特許請求の範囲】
  1. 【請求項1】 電子現金の発行を監視する監視機関が有
    する装置(以降、監視機関側装置という)と、電子現金
    を発行する機関(以降、銀行という)が有する装置(以
    降、銀行側装置という)と、電子現金を利用する者(以
    降、利用者という)が有する装置(以降、利用者側装置
    という)と、電子現金により支払を受ける機関(以降、
    小売店という)が有する装置(以降、小売店側装置とい
    う)とを備えた電子現金実施システムにおける監視機関
    付き電子現金実施方法において、以下のステップを含
    む: (1) 上記利用者側装置は、銀行側装置に利用者情報Uと
    電子現金の額面に対応する金額Xを送信し、利用者の口
    座から金額Xを引き下ろすことを要請し、 (2) 上記銀行側装置は、上記利用者の口座から金額Xを
    減額し、上記利用者側装置の署名検証用鍵NU 及び金額
    Xに対してその銀行側装置の署名SB(X,NU)を生成し上記
    利用者側装置に送付すると共に、上記金額Xと上記署名
    検証用鍵NU の情報を含む署名検証鍵情報nを上記利用
    者情報Uと対応させて利用者データベースに記録し、更
    に上記監視機関側装置に上記署名検証鍵情報を送付
    し、 (3) 上記監視機関側装置は、上記署名検証鍵情報nを監
    視データベースに登録し、 (4) 上記利用者側装置は上記金額Xと、上記署名検証鍵
    U と、上記署名SB(X,NU)とを含む情報を額面Xの電子
    現金Cとして使って支払金額yを上記小売店側装置に支
    払い、 上記小売店側装置は上記電子現金の正当性を検証して受
    け取り、 (5) 上記小売店側装置は上記電子現金Cの情報を含む上
    記利用者側装置との全交信データHを上記監視機関側装
    に送信して決済を求め、 (6) 上記監視機関側装置は受信した上記交信データH中
    の上記電子現金Cの正当性を検証し、上記銀行側装置
    対し上記小売店の口座に上記支払金額yを振り込むよう
    指示を与える。
  2. 【請求項2】 請求項1の方法において、上記ステップ
    (1) で上記監視機関側装置は上記署名検証鍵情報と対応
    させて合計使用金額Yを上記監視データベースに記録
    し、上記ステップ(2) で上記利用者側装置は上記電子現
    金内に残額xを上記電子現金の情報に含めて上記小売店
    側装置に送る。
  3. 【請求項3】 請求項2の方法において、上記ステップ
    (4) は以下のステップを含む: (4a) 上記小売店側装置は任意の情報eを生成し、それ
    を上記利用者側装置に送り、 (4b) 上記利用者側装置は、支払金額yと送られてきた
    上記情報eとに対する利用者側装置の署名SU(e,y) を生
    成し、上記電子現金Cと,上記支払金額yと上記利用者
    側装置の署名SU(e,y)を上記小売店側装置に送付し、 (4c) 上記小売店側装置は、上記銀行側装置の署名S
    B(X,NU)の正当性を検証し、また上記利用者署名SU(e,y)
    の正当性を上記検証鍵NU を用いて検証し、更に上記
    支払金額yが上記電子現金の残額x以下であることを検
    証し、いずれの検証も正しければ、上記支払金額yの上
    記電子現金による支払いを認める。
  4. 【請求項4】 請求項2又は3の方法において、上記ス
    テップ(6) は以下のステップを含む: (6a) 上記監視機関側装置は、上記信データHより得
    られる上記署名検証鍵情報nが上記監視データベースに
    登録されているかどうかを検査し、 (6b) 登録されていれば、上記署名検証鍵情報に対応す
    る合計使用金額YをY+y に更新し、 (6c) その更新された合計使用金額Y+y が上記額面Xを
    越えないことを検査し、この検査が正しければ上記小売
    店の銀行口座に金額yを振り込むように上記銀行側装置
    に指示し、 (6d) 更に、Y+y=X ならば、上記監視データベースから
    上記署名検証鍵情報とそれに対応する合計使用金額Yを
    削除し、 (6e) 上記検査の何れかでも合格でない場合は上記利用
    者による不正支払いが行われたものとして、上記監視デ
    ータベースから上記署名検証鍵情報とそれに対応する合
    計使用金額Yを削除し、上記銀行側装置に上記署名検証
    鍵情報を送り、上記利用者データベースより不正利用者
    名を特定する。
  5. 【請求項5】 請求項1、2又は3の方法において、上
    記ステップ(1) は上記利用者側装置が変数値Rを生成し
    て、上記検証鍵NU と共に上記銀行側装置及び上記監視
    機関側装置に送るステップを含み、上記ステップ(2) は
    上記銀行側装置が上記署名検証鍵NU と上記変数値Rを
    含む情報を上記署名検証鍵情報として記録するステップ
    を含み、上記ステップ(3) は上記監視機関側装置が上記
    署名検証鍵NU と上記変数値Rを含む情報で上記署名検
    証鍵情報として上記監視データベースに登録するステッ
    プを含む。
  6. 【請求項6】 電子現金の発行を監視する監視機関が有
    する装置(以下、監視機関側装置という)と、電子現金
    を発行する機関(以下、銀行という)が有する装置(以
    下、銀行側装置という)と、電子現金を利用する者(以
    下、利用者という)が有する装置(以下、利用者側装置
    という)と、電子現金の支払いを受ける機関(以下、小
    売店という)が有する装置(以下、小売店側装置とい
    う)とを備え、上記監視機関側装置は暗号関数ET を公
    開し、上記銀行側装置は署名検証関数VB を公開した電
    子現金システムの電子現金方法において、以下のステッ
    プを含む: (1) 上記利用者側装置は、銀行側装置に利用者情報Uと
    電子現金の額面に対応する金額Xを送信して銀行に金額
    Xを利用者の口座から引き下ろすことを要請すると共
    に、上記額面Xと、上記署名検証鍵NU とを含む署名検
    証鍵情報を暗号化して、暗号化情報ET を得て銀行
    装置に送り、 (2) 上記銀行側装置は、上記利用者の口座から金額Xを
    減額し、上記金額Xと上記暗号化情報ET を上記監視機
    側装置に送付すると共に、上記暗号化情報ET を上記
    利用者情報Uに対応させて利用者データベースに記録
    し、 (3) 上記監視機関側装置は、上記暗号化情報ET を復号
    化して署名検証鍵情報を得て、上記署名検証鍵情報
    と暗号化情報ET の少なくともいずれか一方を監視デー
    タベースに登録し、 (4) 上記利用者側装置は、上記署名検証鍵と上記額面金
    額Xに対するブラインド署名を銀行側装置に要求し、上
    記額面金額Xに対応した銀行側装置の署名SB(n) を得
    て、 (5) 上記利用者側装置は上記署名SB(n) と、上記額面X
    と、上記署名検証鍵NU とを含む情報を額面Xの電子現
    金Cとして使って支払金額yを上記小売店側装置に支払
    い、上記小売店側装置は上記電子現金の正当性を検証し
    て受け取り、 (6) 上記小売店側装置は上記電子現金Cの情報を含む上
    記利用者側装置との全交信データHを上記監視機関側装
    に送信して決済を求め、 (7) 上記監視機関側装置は受信した上記交信データH中
    の上記電子現金Cの正当性を検証し、上記銀行側装置
    対し上記小売店の口座に上記支払金額yを振り込むよう
    指示を与える。
  7. 【請求項7】 請求項6の方法において、上記ステップ
    (3) は上記監視機関側装置が上記署名検証鍵情報と上
    記暗号化情報ET の上記少なくとも一方を合計使用金額
    Yと対応させて上記監視データベースに登録するステッ
    プを含み、上記ステップ(4) は上記利用者側装置が上記
    電子現金の残額xを上記電子現金の情報に含めて上記小
    売店側装置に送るステップを含む。
  8. 【請求項8】 請求項7の方法において、上記ステップ
    (4) は以下のステップを含む: (4a) 上記小売店側装置は、任意の情報eを生成し、そ
    れを利用者側装置に送り、 (4b) 上記利用者側装置は、支払金額yと、送られてき
    た上記情報eとに対する利用者側装置の署名SU(e,y)を
    生成し、上記電子現金C={x,X,NU,SB(n)}と、{y,SU(e,
    y)}を小売店側装置に送付し、 (4c) 上記小売店側装置は、上記銀行側装置の署名S
    B(n) の正当性を署名検証関数VB を用いて検証し、更
    に利用者署名SU(e,y) の正当性を上記署名検証鍵NU
    用いて検証し、いずれの検証も正しければ、該当支払金
    額yの電子現金による支払いを認める。
  9. 【請求項9】 請求項7又は8の方法において、上記ス
    テップ(7) は以下のステップを含む: (7a) 上記監視機関側装置は、上記交信データHより得
    られる上記署名検証鍵情報及び上記暗号化情報ET
    上記いずれか一方が上記監視データベースに登録されて
    いるかどうかを検査し、 (7b) 登録されていれば、上記署名検証鍵情報及び上
    記暗号化情報ET の上記少なくとも一方に対応する合計
    使用金額YをY+y に更新し、 (7c) その更新された合計使用金額Y+y が上記額面Xを
    越えないことを検査し、この検査が正しければ上記小売
    店の銀行口座に金額yを振り込むように上記銀行側装置
    に指示し、 (7d) 更に、Y+y=X ならば、上記監視データベースから
    上記署名検証鍵情報及び上記暗号化情報ET の上記少
    なくとも一方とそれに対応する合計使用金額Yを削除
    し、 (7e) 上記検査の何れかでも合格でない場合は上記利用
    者による不正支払いが行われたものとして、上記監視デ
    ータベースから上記署名検証鍵情報及び上記暗号化ET
    の上記少なくとも一方とそれに対応する合計使用金額Y
    を削除し、上記銀行側装置に上記署名検証鍵情報n及び
    上記暗号化情報ET の上記少なくとも一方を送り、上記
    利用者データベースより不正利用者名を特定する。
  10. 【請求項10】 請求項4又は9の方法において、上記
    署名検証鍵情報は上記額面Xと上記署名検証鍵NU
    の組で構成する。
  11. 【請求項11】 請求項1、2、3、6、7又は8の方
    法において、上記ステップ(1) は上記利用者側装置が上
    記検証鍵NU を生成するステップを含む。
  12. 【請求項12】 請求項6、7又は8の方法において、
    上記ステップ(1) は上記利用者側装置が変数値Rを生成
    し、上記検証鍵NU と上記変数値Rを含む情報を上記署
    名検証鍵情報とするステップを含む。
  13. 【請求項13】 請求項1、2、3、6、7又は8の方
    法において、上記監視機関側装置は上記利用者側装置
    ための上記署名検証鍵NU を生成し、上記利用者側装置
    に送るステップを含む。
  14. 【請求項14】 請求項1、2、3、6、7又は8の方
    法において、上記署名検証鍵情報は上記額面Xと上記
    署名検証鍵NU の組を予め決めた一方向ハッシュ関数h
    により処理をして得る。
  15. 【請求項15】 電子現金の発行を監視する監視機関が
    有する装置(以降、監視機関側装置という)と、電子現
    金を発行する機関(以降、銀行という)が有する装置
    (以降、銀行側装置という)と、電子現金を利用する者
    (以降、利用者 という)が有する装置(以降、利用者側
    装置という)と、電子現金により支払を受ける機関(以
    降、小売店という)が有する装置(以降、小売店側装置
    という)とを備えた電子現金実施システムにおける上記
    利用者装置であり、 利用者署名用鍵SKU を生成する鍵生成手段と、 金額Xと署名検証鍵NU を含む情報nに対する銀行の署
    名SB()と、残額xと、額面Xと,署名検証鍵NU とを
    含む電子現金Cと、上記署名用鍵SKU とを保持するメモ
    リ手段と、 支払金額yと上記小売店側装置から受信した任意の情報
    eとに対する署名を上記署名用鍵SKU を使って行い、署
    名SU(e,y) を生成する署名生成手段と、 上記残額xから支払金額yを減算して残額を更新する残
    額更新手段と、 を含む。
  16. 【請求項16】 電子現金の発行を監視する監視機関が
    有する装置(以降、監視機関側装置という)と、電子現
    金を発行する機関(以降、銀行という)が有する装置
    (以降、銀行側装置という)と、電子現金を利用する者
    (以降、利用者という)が有する装置(以降、利用者側
    装置という)と、電子現金により支払を受ける機関(以
    降、小売店という)が有する装置(以降、小売店側装置
    という)とを備えた電子現金実施システムにおける上記
    監視機関装置であり、 発行された電子現金を所有する利用者に対応する署名検
    証鍵情報を合計使用金額Yと対応させて登録する監視デ
    ータベースと、 小売店側装置から受信した残金x、額面X、署名検証鍵
    U 、銀行側装置の署名SB(X,NU)を含む電子現金Cと、
    支払金額yとを含む履歴データHを保持する履歴データ
    ベースと、 上記履歴データH中の金額Xと検証鍵NU に対応する署
    名検証鍵情報が上記監視データベースに登録されている
    か検索し、登録されていなければ不正使用された電子現
    金であると判定する手段と、 上記署名検証鍵情報が登録されている場合、上記履歴デ
    ータH中の支払金額yを上記監視データベース中の対応
    する合計使用金額Yに加算する加算手段と、 上記加算手段による加算結果Y+y を額面Xと比較する比
    較手段と、 上記比較手段による比較結果がY+y<X であれば上記監視
    データベース中の対応する合計使用金額Yを上記加算結
    果Y+y で更新し、Y+y=X であれば上記監視データベース
    中の対応する署名検証鍵情報と合計使用金額Yを削除
    し、Y+y>X であれば不正使用された電子現金であると判
    定して上記署名検証鍵情報及び上記合計使用金額Yを削
    除すると共に、その署名検証鍵情報を上記銀行側装置
    通知する制御手段、 とを含む。
  17. 【請求項17】 電子現金の発行を監視する監視機関が
    有する装置(以降、監視機関側装置という)と、電子現
    金を発行する機関(以降、銀行という)が有する装置
    (以降、銀行側装置という)と、電子現金を利用する者
    (以降、利用者という)が有する装置(以降、利用者側
    装置という)と、電子現金により支払を受ける機関(以
    降、小売店という)が有する装置(以降、小売店側装置
    という)とを備えた電子現金実施システムにおける上記
    利用者装置であり、 利用者署名用鍵SKU 及び署名検証鍵NU を生成する鍵生
    成手段と、 監視機関側装置の公開暗号鍵PKT を使って上記金額Xと
    上記署名検証鍵NU を暗号化して暗号化情報ET を生成
    し、銀行側装置に与える暗号化手段と、 上記署名検証鍵NU に対しブラインド署名前処理を行っ
    て上記銀行に与えるブラインド署名前処理手段と、 上記銀行側装置から受信した上記署名検証鍵に対するブ
    ラインド署名Z(NU) を処理して上記銀行側装置の署名SB
    (NU)を得るブラインド署名後処理手段と、 上記残額x、額面X、署名検証鍵NU 及び署名SB(NU)を
    含む電子現金Cと、上記利用者署名用鍵SKU と上記監視
    機関の公開暗号鍵PKT とを保持するメモリ手段と、 支払金額yと上記小売店側装置から受信した任意の情報
    eとに対する署名を上記署名用鍵SKU を使って行い、署
    名SU(e,y) を生成する署名生成手段と、 上記残額xから支払金額yを減算して残額を更新する残
    額更新手段、 とを含む。
  18. 【請求項18】 電子現金の発行を監視する監視機関が
    有する装置(以降、監視機関側装置という)と、電子現
    金を発行する機関(以降、銀行という)が有する装置
    (以降、銀行側装置という)と、電子現金を利用する者
    (以降、利用者 という)が有する装置(以降、利用者側
    装置という)と、電子現金により支払を受ける機関(以
    降、小売店という)が有する装置(以降、小売店側装置
    という)とを備えた電子現金実施システムにおける上記
    監視機関装置であり、 公開暗号関数ET を複合するための秘密複合鍵SKT を保
    持するメモリと、 上記利用者側装置が生成した署名検証鍵を含む署名検証
    鍵情報に対する暗号化情報ET(n) を、上記秘密復号鍵S
    KT を使って復号して署名検証鍵情報を得る復号手段
    と、 復号された上記署名検証鍵情報とそれに対応する合計使
    用金額Yとを登録する監視データベースと、 小売店側装置から受信した残金x、額面X、署名検証鍵
    U 、銀行側装置の署名SB(NU)を含む電子現金Cと、支
    払金額yとを含む履歴データHを保持する履歴データベ
    ースと、 上記履歴データH中の金額Xと検証鍵NU に対応する署
    名検証鍵情報が上記監視データベースに登録されている
    か検索し、登録されていなければ不正使用された電子現
    金であると判定する手段と、 上記署名検証鍵情報が登録されている場合、上記履歴デ
    ータH中の支払金額yを上記監視データベース中の対応
    する合計使用金額Yに加算する加算手段と、 上記加算手段による加算結果Y+y を額面Xと比較する比
    較手段と、 上記比較手段による比較結果がY+y<X であれば上記監視
    データベース中の対応する合計使用金額Yを上記加算結
    果Y+y で更新し、Y+y=X であれば上記監視データベース
    中の対応する署名検証鍵情報と合計使用金額Yを削除
    し、Y+y>X であれば不正使用された電子現金であると判
    定して上記署名検証鍵情報及び合計使用金額Yを削除す
    ると共に、その署名検証鍵情報を上記銀行側装置に通知
    する制御手段、 とを含む。
JP12584297A 1996-05-16 1997-05-15 監視機関つき電子現金方法及びそれを実施するための利用者装置及び監視機関装置 Expired - Fee Related JP3329438B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12584297A JP3329438B2 (ja) 1996-05-16 1997-05-15 監視機関つき電子現金方法及びそれを実施するための利用者装置及び監視機関装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP12168896 1996-05-16
JP8-121688 1996-05-16
JP12584297A JP3329438B2 (ja) 1996-05-16 1997-05-15 監視機関つき電子現金方法及びそれを実施するための利用者装置及び監視機関装置

Publications (2)

Publication Number Publication Date
JPH1083426A JPH1083426A (ja) 1998-03-31
JP3329438B2 true JP3329438B2 (ja) 2002-09-30

Family

ID=26458981

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12584297A Expired - Fee Related JP3329438B2 (ja) 1996-05-16 1997-05-15 監視機関つき電子現金方法及びそれを実施するための利用者装置及び監視機関装置

Country Status (1)

Country Link
JP (1) JP3329438B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2725535A1 (en) * 2012-10-25 2014-04-30 Gemalto SA System and method for securely store and transfer electronic money
CN111105224B (zh) * 2019-11-13 2023-04-28 泰康保险集团股份有限公司 支付反馈信息的处理方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
JPH1083426A (ja) 1998-03-31

Similar Documents

Publication Publication Date Title
JP3329432B2 (ja) 階層型電子現金実施方法およびこれに用いられる装置
US6003765A (en) Electronic cash implementing method with a surveillance institution, and user apparatus and surveillance institution apparatus for implementing the same
EP0047285B1 (en) A system for authenticating users and devices in on-line transaction networks
US6766306B1 (en) Electronic cash system
US7028191B2 (en) Trusted authorization device
US20010053223A1 (en) Content transaction system and method, and program providing medium therefor
US20050262321A1 (en) Information processing apparatus and method, and storage medium
US20010044786A1 (en) Content usage management system and method, and program providing medium therefor
KR20000014231A (ko) 오프라인 전자 거래 시스템 및 이를 이용한 전자 상거래 방법
CN111062717B (zh) 一种数据转移处理方法、装置和计算机可读存储介质
US7222108B2 (en) Electronic cash implementing method and equipment using user signature and recording medium recorded thereon a program for the method
CN116802661A (zh) 基于令牌的链外交互授权
JP3659090B2 (ja) 電子情報流通システム及び電子情報流通プログラムを格納した記憶媒体及び電子情報流通方法
JP3641909B2 (ja) 証明データ生成装置
JP3329438B2 (ja) 監視機関つき電子現金方法及びそれを実施するための利用者装置及び監視機関装置
EP0886248B1 (en) Method and apparatus for registration of information with plural institutions and recording medium with registration program stored thereon
JP3396638B2 (ja) 利用者署名を用いた電子現金方法、その装置及び記録媒体
JPH09114904A (ja) 情報販売方法およびシステム
KR100261743B1 (ko) 계층형 전자현금 실현방법 및 장치
JP4270589B2 (ja) 電子度数による支払方法および装置
KR102600489B1 (ko) 결제 수단 데이터의 가맹점 전용 분산 토큰화를 수행하는 토큰 처리 장치 및 그 동작 방법
JPH10293804A (ja) オフライン型電子マネーシステム、電子マネー取引方法及び記録媒体
JP3329431B2 (ja) 信託機関つき電子現金実施方法
JP3466478B2 (ja) 複数機関への登録方法、その装置及びそのプログラム記録媒体
JP2002304589A (ja) 決済システム

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080719

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20080719

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090719

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090719

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100719

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100719

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110719

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120719

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130719

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees