JPH10171903A - 電子現金方法及びこれに用いる装置 - Google Patents

電子現金方法及びこれに用いる装置

Info

Publication number
JPH10171903A
JPH10171903A JP33097996A JP33097996A JPH10171903A JP H10171903 A JPH10171903 A JP H10171903A JP 33097996 A JP33097996 A JP 33097996A JP 33097996 A JP33097996 A JP 33097996A JP H10171903 A JPH10171903 A JP H10171903A
Authority
JP
Japan
Prior art keywords
electronic cash
user
information
received
bank
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP33097996A
Other languages
English (en)
Inventor
Tetsutaro Kobayashi
鉄太郎 小林
Hidemi Morihata
秀実 森畠
Eiichiro Fujisaki
英一郎 藤崎
Tatsuaki Okamoto
龍明 岡本
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.)
NTT Inc
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 JP33097996A priority Critical patent/JPH10171903A/ja
Publication of JPH10171903A publication Critical patent/JPH10171903A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 不正使用を防止し、分割支払処理を高速に行
う。 【解決手段】 乱数zを額面x回ハッシュした値SB=
x (z)と電子紙幣Cの発行局Iと銀行B及び小売店
Sとがそれぞれ共有の秘密情報SIS及びSIBの各連
結に対するハッシュ演算値S4=h(SIB‖SB),
S5=h(SIS‖SB)とSBとを含む電子紙幣Cと
zを利用者Uは保持し、支払額x1と既支払額x2を用
いSU=hx-x1-x2 (z)を演算し、(217,21
8)、C,SU,x1,x2をSへ送り、Sはhx1+x2
(SU)=SB(402,403,404)と、h(S
IS‖SB)=S5(405,406)とが成立する
と、x1の支払を認める。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、電気通信システ
ム、あるいはICカードなどを利用して電子的な現金を
実現する電子現金方法及びその方法に用いられる装置に
関する。
【0002】
【従来の技術】プライバシを重視し、オフライン処理可
能な電子現金方式としては、例えば、特願平7−287
457「信託機関付き電子現金方法」がある。以下にこ
の電子現金方法を説明する。準備 この電子現金方法では、電子現金の利用者は、まず最初
に、信託機関と呼ぶ機関により、利用許可証を発行して
もらう。
【0003】銀行(ここでは、電子現金の発行・決済者
を銀行と呼ぶが、実際は、どのような機関でも良い)
は、利用者の要求に従い、利用者に、ある金額の電子現
金(または、電子紙幣と呼ぶ)を発行する。利用者は、
その電子紙幣を額面金額になるまで何回でも各種小売店
の支払いに用いる。
【0004】最後に、各小売店は、利用者の各支払い毎
に銀行で決済を行う。今、信託機関J,銀行B,利用者
Uの署名アルゴリズムは全てRSA方式とし、図1に示
すように、信託機関装置100は秘密鍵(dj,nj)
と公開鍵(ej,nj)を備え、銀行装置300、利用
者装置200もそれぞれ秘密鍵と公開鍵(da,na)
と(ea,na),(d,N)と(e,N)を備えてい
る。利用者Uの公開鍵(e,N)は匿名公開情報であ
る。
【0005】信託機関J,銀行Bの各署名はそれぞれ、
利用許可証の正当性の検査及び、電子紙幣の正当性の検
査に使用する。利用者Uの署名に用いる鍵中のeは共通
としても良いが、Nは利用者ごとに定める。銀行Bが発
行できる電子紙幣金額を複数にしたい場合には、それに
応じた数の鍵(da,na)及び(ea,na)の対を
作成しておき、その金額と公開鍵(ea,na)を共に
公開しておく。
【0006】また、署名用の一方向性関数g,hもあわ
せて定め公開しておく。 I.利用許可証の発行処理 利用者Uは、利用許可証を信託機関Jから発行してもら
う利用者が信託機関Jから利用許可証を発行してもらう
手順は、以下の通りである(図2参照)。この手順は、
それぞれの利用者が、Nの登録時に1度だけ行なう。 ステップ1 利用者装置200は、素数生成器210を用いて2つの
大きな素数P,Qを生成して、乗算器211を用いて合
成数N(N=P×Q)を計算する(RSAのもう一つの
公開鍵eは、利用者装置共通で、例えばe=3とす
る)。
【0007】さらに、e,P,Qから、剰余逆算計算器
212を用いて、 d=e-1mod{LCM(P−1,Q−1)} を計算し、d,Nをメモリ250に記憶する。LCM
(a,b)はaとbの最小公倍数を示す。 ステップ2 利用者装置200はNを信託機関装置100に送信す
る。 ステップ3 信託機関Jは、利用者Uの身元を何らかの方法で確認を
したのちに、合格のときには、信託機関装置100は利
用者UとNの対応関係を対応表111を用いて秘密に管
理する。 ステップ4 信託機関装置100は、有効期限等の情報Iを生成し、
g計算器112、幅乗剰余計算器113を用いて次の署
名演算を行う。
【0008】B=g(N‖I)dj mod nj この署名BとIを利用者装置200に送信する。a‖b
はaとbを連結した値である。 ステップ5 利用者装置200は、信託機関装置100からの受信デ
ータB,Iと匿名公開情報Nを利用許可証として、メモ
リ250に記憶する。
【0009】上記のやりとりを通信回線で行なう場合に
は、暗号化処理を併用したほうがよい。 II.電子紙幣の発行処理 つぎに、利用者Uが銀行Bから電子紙幣Cを発行しても
らう手順を示す。ここで、(ec,nc)は、利用者が
指定する電子紙幣の金額(例えば1万円)に対応する銀
行装置300のデジタル署名用の公開鍵である。利用者
装置200が銀行装置300から電子紙幣Cを発行して
もらう手順は、以下の通りである(図3参照)。 ステップ1 利用者装置200は、乱数発生器220を用いて乱数b
を生成して、メモリ250に記憶し、一方、その乱数b
とメモリ250から読みだした利用許可証(B,I,
N)より、g計算器221を用いてg(B‖b)を計算
し、更に幅乗剰余計算器222と剰余乗算器223を用
いて次式のブラインド署名前処理を行う。
【0010】Z=g(B‖b)rec mod nc このZを電子紙幣の金額情報(例えば1万円)と共に銀
行装置300に送信する。 ステップ2 銀行装置300は、受信した電子紙幣の金額情報に対応
する秘密鍵(dc,nc)と幅乗剰余計算器310を用
いて受信情報Zに対する仮署名を次式により行う。
【0011】Θ=Zdc mod nc この仮署名Θを利用者装置200に送信する。同時に、
利用者Uの口座から該当する金額を引き落とすか、何ら
かの手段で利用者Uから該当する金額を受領する。 ステップ3 利用者装置200は、先に指定した金額の公開鍵(e
c,nc)を用いて仮署名Θに対し剰余逆算計算器21
2と剰余乗算器223を用いて次式のブラインド署名後
処理を行って指定した金額の電子紙幣Cを得る。
【0012】C={Θ}/r mod nc ここで、C=g(B‖b)dc mod ncとなること
に注意。 III.電子紙幣による支払 つぎに、利用者Uが銀行Bより発行された電子紙幣Cを
用いて、小売店Sで支払う場合について説明する(図4
及び5参照)。 ステップ1 利用者装置200は、I,N,B,b,Cを小売店装置
400に送る。 ステップ2 小売店装置400は、受信した(I,N)に対する署名
Bの正当性、つまり利用許可証の正当性を、g計算器4
10、幅乗剰余計算器411、比較器412を用いて、
Bが次の式を満すかにより検証する。
【0013】Bej≡g(N‖I)mod nj 受信した(B,b)に対する署名Cの正当性、つまり電
子紙幣の正当性を幅乗剰余計算器411と比較器412
を用いて、Cが次式を満すかにより検証する。 Cec≡g(B‖b)mod nc この何れかの検査が不合格のときは以降の処理を中止す
る。 ステップ3 この両検査に合格すれば、小売店装置400は、乱数生
成器413を用いて乱数E′を生成し、それを小売店V
の識別子IDV 及び時刻印Tと共に利用者装置200に
送り、さらに、h計算器414によりE=h(IDV
T‖E′)を計算する。 ステップ4 利用者Uは、電子紙幣Cのうち金額x使用することを決
めると、利用者装置200はh計算器230、g計算器
221と幅乗剰余計算器222を用いてxと受信情報に
対し次式により署名を行う。
【0014】 S=g(x‖h(IDV ‖T‖E′)d mod N xとこの署名Sを小売店装置400に送る。 ステップ5 小売店装置400は、比較器412を用いて、xが、電
子紙幣Cの利用限度額X(前記例では1万円)を超えて
いないことを確認し、この検査が不合格の時は以後の処
理を中止する。
【0015】合格の場合は、幅乗剰余計算器411と比
較器412を用いて署名Sの正当性を次式を満すかによ
り検証する。 Se ≡g(x‖E)mod N この検証に合格すれば、小売店装置400は、利用者U
のxに該当する金額の支払いを正当なものとしてみな
し、それを受けとる。 IV.決済 小売店Sと銀行Bの間の決済方法について説明する(図
6参照)。小売店装置400は、利用者装置200との
電子紙幣使用時の交信履歴Hを銀行装置300に提出す
る。銀行装置300は、Hの正当性を検証し(これはII
I.電子紙幣による支払時における検証と同一)、この検
証に合格すれば、Hを記憶しておくと共に小売店装置4
00の口座に該当する金額を払い込む、もしくは、何ら
かの手段で該当する金額を小売店Vに支払う。
【0016】銀行装置300は、電子紙幣Cが、限度額
Xを超えて使用されないように履歴Hを管理する。例え
ば、電子紙幣Cと金額xのみを第一のデータベース32
0に保持し、電子紙幣Cのもとでの支払履歴Hを保持し
た第二のデータベース330とをCをキーにして検索で
きるようにしておく。Cの元での支払合計額が限度額X
を超えたかどうかは第一のデータベース320を検索す
ることで分かる。限度額を超えている場合には、第二の
データベース330を検索し、Cのもとでの全支払履歴
を不正使用の証拠として信託機関装置100へ提出す
る。
【0017】信託機関装置100は、Hに含まれるNか
ら、対応表111を用いて利用者名Uを捜し出し不正者
を特定する。
【0018】
【発明が解決しようとする課題】前述の電子現金方法
は、電子紙幣の偽造や改ざんを防ぐ(偽造防止の)ため
や、電子紙幣の額面の一部分だけを使用する(分割利用
可能にする)ために、支払いのたびにデジタル署名およ
び署名検証の演算を行う必要があった。デジタル署名を
行うには、べき乗剰余計算を行う必要があり、演算に時
間がかかるという問題点がある。
【0019】従って、支払いの度にデジタル署名を行う
方法では、演算処理時間が大きくなる。このことは、特
に少額の電子現金の使用を多くの回数行う場合(これを
マイクロペイメントと呼ぶ)に大きな欠点となる。現実
に、ネットワーク上の決済では、「画像ファイル1枚に
つき10円」や「データベース検索1件につき20円」
などの少額サービスが考えられており、マイクロペイメ
ントの需要は大きい。
【0020】一方、デジタル署名以外に、一方向性ハッ
シュ関数を用いて偽造や改ざんをある程度防ぐことや、
分割利用を行うことが可能である。この発明の目的は、
二重使用や不正使用を検出する手段は残しながら、支払
い時にデジタル署名を用いず、ハッシュ関数のみによっ
て電子現金を提供することによって電子現金の支払い処
理を高速化する電子現金方法及びこれに用いる装置を提
供することにある。
【0021】
【課題を解決するための手段】この発明によれば銀行装
置、利用者装置、小売店装置、発行局装置の4者間でデ
ジタル署名を用いず、ハッシュ関数のみによって署名と
同等の認証機能を提供する。このために、この発明の方
法では、あらかじめ発行局装置と銀行装置の2者のみが
共有する秘密情報SIBと、発行局装置と小売店装置の
2者のみが共有する秘密情報SISとを用意する。
【0022】発行局装置が小売店装置に対して情報Dに
対する保証を行う場合、次式の演算を行う。 S=h(D‖SIS) ただし、h(X)はXのハッシュ値 X‖YはXとYを連結した値 とする。
【0023】発行局装置と小売店装置以外の第三者は、
SISを知らないため、情報Dに対する正当なSを作る
ことが出来ず、検証を行うことも出来ない。発行局装置
と小売店装置はSISを知っているため、情報Dに対す
る正当なSを作ることが出来、検証を行うことが出来
る。この方法だけでは、小売店装置自身が発行局装置の
作成するハッシュ値Sを偽造することが可能である。こ
れを防ぐために、同じ情報Dに対して銀行装置と発行局
装置との共有情報SIBを用いたハッシュ値S′を次式
で演算する。
【0024】S′=h(D‖SIB) このS′と前記Sとを対にして用いる。この場合、小売
店装置はSを作成することは出来るが、S′を作成する
ことは出来ない。正当なSとS′の対を作成できるのは
発行局装置のみになる。さらに、この発明の第1、第2
の方法では分割利用を可能にするために、以下のような
構成とする。
【0025】あらかじめ発行局装置はx円の電子紙幣を
あらわす情報Dを次式で表わす。 D=hx (z) zは発行局装置が発生する乱数。ここでhx ( )はh
( )の演算をx回行うことを表す。例えばh3 (z)
はh(h(h(h(z)))と同等。このDおよびzを
利用者装置に渡す。
【0026】利用者装置は次式を満すかにより検証する
ことができる。 D=hx (z) 利用者装置が小売店装置に支払いを行うとき、まずD,
S,S′を小売店装置に渡し、小売店装置はSをDおよ
び秘密共有情報SISによって検証する。利用者装置
は、x円すべてを小売店装置に支払いたい場合はzを小
売店装置に渡す。従って小売店装置はD=hx (z)と
なっていることを確認することによって、Dにx円の価
値があることを認める。
【0027】利用者装置は、額面x円の電子紙幣のうち
x1円だけを支払いたい場合は、z′=hx-x1(z)を
計算して小売店装置に渡す。小売店装置はD=h
x1(z′)となっていることを確認することによって、
Dにx1円の価値があることを認める。利用者装置がx
1円を支払い済みの電子現金の残りx−x1円のうち、
x2円を払う場合は、z″=hx-x1-x2 (z)を計算
し、小売店装置に渡す。
【0028】小売店装置はD=hx1+x2 (z″)となっ
ていることを確認することによって、Dにx1+x2円
の価値があることを認める。この結果、小売店装置がす
でに受け取ったx1円に加えてx2円を受け取るのと同
等の効果を得る。以上がこの発明の原理であり、この発
明には以下に示すように4つの方法がある。
【0029】この発明の第1、第2の方法は乱数に対し
支払金額と対応する回数だけハッシュ演算を行うことに
より電子現金の分割使用を可能とし、支払、決済はハッ
シュ関数を利用することにより電子現金の処理を可能と
し、第1の方法は、電子現金の発行処理にはデジタル署
名を利用し、第2の方法は電子現金の発行処理もハッシ
ュ関数を用いるものである。この発明の第3、第4の方
法は、電子現金の分割使用はできないが、支払、決済は
ハッシュ関数を利用して処理を簡単にし、第3の方法は
電子現金の発行処理にはデジタル署名を利用するが、一
度に複数の電子現金を発行することにより全体の処理を
簡易化しており、第4の方法は電子現金の発行処理もハ
ッシュ関数を利用して行い、処理を簡易化し、この場合
も、一度に複数の電子現金を発行することにより全体と
しての処理を一層簡単にする。
【0030】以下において、電子現金を発行してもら
い、支払いを行うものを利用者Uと記し、利用者Uが用
いる装置を利用者装置と記し、電子現金を受領する機関
を小売店Sと記し、小売店Sが用いる装置を小売店装置
と記し、電子紙幣発行依頼書を発行し、かつ電子現金を
決済する機関を銀行Bと記し、銀行Bが用いる装置を銀
行装置と記し、電子現金を発行する機関を発行局Iと記
し、発行局Iが用いる装置を発行局装置と記す。
【0031】以下に各発明を記す。この発明の第1、第
2の方法では、乱数zに対し、額面金額xに相当する回
数だけハッシュ演算した結果SBと、発行局Iと銀行B
に共有の秘密情報SIBと上記SBを含む情報に対しハ
ッシュ演算をした結果S4と、上記発行局Iと上記小売
店Sに共有の秘密情報SISと上記SBを含む情報に対
しハッシュ演算をした結果S5とよりなる電子現金Cと
上記zを利用者装置に記憶してあり、利用者Uが金額x
1を小売店Sに支払うには、利用者装置は上記電子現金
Cを用いて既に支払を済ました金額x2とx1とを上記
xから差引き、その残りの金額に相当する回数だけ上記
zに対してハッシュ演算を行い、その演算結果SUと、
上記電子現金Cと上記x1とx2を上記小売店装置へ送
り、小売店装置は上記秘密情報SISを保持し、受取っ
たSUに対し、x1+x2に相当する回数ハッシュ演算
を行い、その結果がSBと一致するかを検証し、上記S
Bと上記SISを含む情報に対しハッシュ演算を行い、
その演算結果が上記S5と一致するかを検証し、両検証
に合格すると上記電子現金Cによる金額x1の支払を認
める。
【0032】小売店Sが上記電子現金Cを決済するに
は、小売店装置は上記電子現金Cと、SUと、x1とx
2が共に未決済の場合はx1+x2=x3、x2が既決
済の場合はx1及びx2あるいはx1及びx3とを銀行
装置へ送り、銀行装置は秘密情報SIBを保持し、受取
ったSUに対しx1+x2に相当する回数だけハッシュ
演算を行い、その演算結果がSBと一致するかを検証
し、上記SIBと上記SBを含む情報に対しハッシュ演
算を行い、その演算結果が上記S4と一致するかを検証
し、両検証に合格すると、上記未決済の金額を上記小売
店Sに対し決済する。
【0033】利用者Uが電子現金を発行してもらうに
は、利用者装置はその利用者Uの情報と限度額yの情報
とそれぞれ関連した情報を含む電子紙幣発行依頼書(以
下発行依頼書と記す)Dと、上記額面金額xと、上記利
用者Uの仮名FNと、上記小売店Sの識別情報SNとを
上記発行局装置へ送って電子現金の発行を依頼し、上記
発行局装置は上記秘密情報SIB及びSISをそれぞれ
保持し、上記発行依頼書の正当性を検証し、これに合格
すると、上記数値zを乱数生成により得、上記zに対
し、上記xと相当する回数のハッシュ演算を行って上記
情報SBを得、そのSBと上記SIBを含む情報、また
上記SBと上記SISを含む情報に対してそれぞれハッ
シュ演算を行って上記情報S4,S5を求め、上記S
4,S5,SBを電子現金とし、これと上記zを上記利
用者装置へ送り、上記利用者装置は上記発行局装置へ送
ったxに相当する回数のハッシュ演算を送られたzに対
して行い、その演算結果が上記SBと一致するかを検証
し、これに合格すると、上記送られたS4,S5,SB
を上記電子現金として保持する。
【0034】上記利用者装置及び発行局装置は利用者U
と発行局Iに共通の秘密情報SIUをそれぞれもち、上
記発行局装置は上記電子現金を発行する際に、SBとS
IUを含む情報に対し、ハッシュ演算を行い、その演算
結果S3も上記利用者装置へ送り、上記利用者装置は保
持しているSIUと受取ったSBを含む情報に対してハ
ッシュ演算を行い、その演算結果が、受取ったS3と一
致することも、受取った電子現金の正当性検証の条件と
する。
【0035】上記発行局装置は各種のSIB、各種のS
ISをそれぞれ記憶したデータベースを備え、上記電子
現金を発行する際に、上記SIBのデータベース、及び
上記SISのデータベースからそれぞれ未使用のSI
B、SISを取出し、これらを上記SIBとSBを含む
情報、SISとSBを含む情報のそれぞれに対する上記
ハッシュ演算に用い、かつこの演算に用いたSIB、S
ISを識別するための情報r、pをも上記電子現金に含
める。
【0036】この発明の第3、第4の方法では、発行局
Iと小売店Sとの共有の秘密情報SISを発行局装置及
び小売店装置にそれぞれ保持し、利用者Uが電子現金を
発行してもらうには、上記利用者装置はその利用者Uの
情報と限度額yの情報とそれぞれ関連した情報を含む電
子紙幣発行依頼書(以下発行依頼書)Dと、額面金額x
(y>x)と、利用者Uの仮名FNと、小売店Sの識別
情報SNとを上記発行局装置へ送って電子現金Cの発行
を依頼し、上記発行局装置は受取った発行依頼書Dの正
当性を検証し、これに合格すれば保持している上記SI
Bと上記xを含む情報に対してハッシュ演算を行って情
報S4を得、保持している上記SISと上記xを含む情
報に対してハッシュ演算を行って情報S5を得、これら
情報S4,S5,xを上記電子現金Cとして上記利用者
装置へ送り、利用者Uが小売店Sに電子現金Cで支払う
には、上記利用者装置は受取った電子現金Cを上記小売
店装置へ送り、小売店装置は受取ったxと保持している
上記SISを含む情報に対しハッシュ演算を行い、その
演算結果が受取ったS5と一致するかの検証を行い、そ
れに合格すれば、その電子現金Cによる支払を認める。
【0037】上記小売店Sが上記電子現金Cを決済して
もらうには、上記小売店装置は受取った電子現金Cを上
記銀行装置へ送り、上記銀行装置は受取ったxと保持し
ている上記SIBとを含む情報に対しハッシュ演算を行
い、その演算結果が受取ったS4と一致しているかを検
証し、これに合格すればその電子現金Cに対する額面x
の決済をする。
【0038】上記発行局装置は上記電子現金を発行する
際に、xとSIUを含む情報に対し、ハッシュ演算を行
い、その演算結果S3も上記利用者装置へ送り、上記利
用者装置は保持しているSIUと受取ったxを含む情報
に対してハッシュ演算を行い、その演算結果が、受取っ
たS3と一致することも、受取った電子現金の正当性検
証の条件とする。
【0039】上記発行局装置は各種のSIB、各種のS
ISをそれぞれ記憶したデータベースを備え、上記電子
現金を発行する際に、上記SIBのデータベース、及び
上記SISのデータベースからそれぞれ未使用のSI
B、SISを取出し、これらを上記SIBとxを含む情
報、またSISとxを含む情報のそれぞれに対する上記
ハッシュ演算に用い、かつこの演算に用いたSIB、S
ISを識別するための情報r、pをも上記電子現金に含
める。
【0040】第1乃至第4の方法において、上記発行局
装置は電子紙幣発行残高データベースを備え、上記電子
現金Cの発行依頼を受けると、その発行依頼書Dが上記
データベースに登録しているかを調べ、登録されていれ
ば、その発行残高が受け取ったx以上であることも、上
記電子現金の発行条件とし、登録されてなければ、受取
ったDと残高として受取ったyを上記データベースに登
録し、上記電子現金Cを上記利用者装置へ送ると共に上
記データベース中の上記発行依頼書Dと対応する残高か
ら上記xを差し引く。
【0041】第1、第3の方法では、上記利用者Uが上
記発行依頼書を発行してもらうには、上記利用者装置に
その利用者Uを示す情報に対し、上記限度額yと対応す
る公開鍵を用いてブラインドデジタル署名前処理を行っ
て上記銀行装置へ上記yと共に送り、上記銀行装置は上
記公開鍵と対応する秘密鍵を用いて、利用者装置から受
取ったものに対して仮署名を行って上記利用者装置へ送
り、上記利用者装置は送られた仮署名に対してブライン
ドデジタル署名後処理を行って上記発行依頼書を得、上
記発行局装置は上記発行依頼書の上記検証をブラインド
デジタル署名の正当性検証の手法により行う。
【0042】第2、第4の方法では上記利用者Uが上記
発行依頼書を発行してもらうには、利用者装置より上記
限度額yを上記銀行装置へ送り、上記銀行装置は上記y
と上記SIBを含む情報に対しハッシュ演算を行い、そ
の演算結果S1と上記yを上記発行依頼書Dとして上記
利用者装置へ送り、上記発行局装置は上記発行依頼書の
検証を、受け取ったyと、保持している上記SIBとを
含む情報に対しハッシュ演算を行い、その結果がS1と
一致するかにより行う。
【0043】上記銀行Bと上記利用者Uとの共有の秘密
情報SBUが上記銀行装置及び利用者装置にそれぞれ保
持され、上記銀行装置は上記発行依頼書Dを発行する際
に、yと上記SBUを含む情報に対しハッシュ演算を行
い、その演算結果S0を上記S1と共に上記利用者装置
へ送り、上記利用者装置は保持しているSBUとyを含
む情報に対しハッシュ演算を行い、その演算結果が受取
ったS0と一致しているかを調べて、上記発行依頼書D
の正当性を検証する。
【0044】第1乃至第4の方法において上記電子現金
CにはS4,S5が何れのSIB、SISにもとづくも
のであるかを示す情報r、pが含まれ、上記銀行装置は
各種のSIBを記憶したデータベースを備え、上記小売
店装置は各種のSISを記憶したデータベースを備え、
上記小売店装置が上記電子現金の上記検証に用いるSI
Sを受取った電子現金中のpによりSISのデータベー
スから取出し、上記銀行装置が上記電子現金の上記検証
に用いるSIBを受取った電子現金中のrによりSIB
のデータベースから取出す。
【0045】第1、第2の方法に用いられるこの発明の
電子現金用利用者装置は電子現金を発行する機関(以下
発行局と記す)Iと電子現金を決済する機関(以下銀行
と記す)Bとの共有の秘密情報SIBと、数値zに対し
額面x相当の回数ハッシュ演算した結果SBとを含む情
報に対しハッシュ演算した結果S4と、発行局Iと電子
現金を受領する機関(以下小売店と記す)Sとの共有の
秘密情報SISと上記SBを含む情報に対しハッシュ演
算した結果S5と上記SBよりなる電子現金Cと上記数
値z、上記額面x、上記電子現金Cにより既に支払った
金額x2を記憶したメモリと、上記電子現金Cにより支
払うべき金額x1と上記既に支払った金額x2を加算
し、その加算結果に、上記メモリ中の既支払金額x2を
更新する手段と、上記数値zに対し、金額x−x−1−
x2に相当する回数ハッシュ演算した結果SUを求める
手段と、上記電子現金Cと上記SU、上記x1及びx2
を上記小売店Sの装置へ送出する手段とを具備する。
【0046】利用者装置は更に上記メモリには電子紙幣
発行依頼書(以下発行依頼書と記す)Dと、その利用者
装置の利用者Uの仮名FNも記憶され、上記発行依頼書
D、上記額面x、仮名FN及び上記小売店Sの識別情報
SNを上記発行局Iの装置へ送出する手段と、上記発行
局Iの装置より数値zと電子現金Cを受取る手段と、上
記受取ったzに対し、上記メモリ中の額面xに相当する
回数ハッシュ演算を行い、その結果と上記受取った電子
現金C中のSBとを比較し、一致すれば上記受取った電
子現金Cを正当なものとして上記メモリに記憶する手段
とを含む。
【0047】また、上記利用者Uと上記発行局Iとの共
有の秘密情報SIUを記憶する手段と、上記受取った電
子現金C中のSBと上記SIUを含む情報に対しハッシ
ュ演算を行い、その演算結果と、上記受取った電子現金
C中のS3と比較し、上記二つの比較が共に一致すれば
上記受取った電子現金Cを正当なものとする手段とを含
む。
【0048】第1、第2の方法に用いられるこの発明の
小売店装置は、電子現金を発行する機関(以下発行局と
記す)Iと電子現金を受領する機関(以下小売店と記
す)Sとの共有の秘密情報SISを保持する手段と、電
子現金C,SU,x1,x2を利用者装置から受取る手
段と、上記受取ったSUに対し、上記受取ったx1とx
2の和に相当する回数ハッシュ演算を行い、その演算結
果と、上記受取った電子現金C中のSBとを比較する手
段と、上記SBと上記SISとを含む情報に対しハッシ
ュ演算を行い、その演算結果と上記受取った電子現金C
中のS5とを比較する手段と、上記二つの比較が共に一
致すると、上記受取った電子現金Cによる金額x1の支
払を正当として、上記電子現金C、上記x1,x2を記
憶するメモリと、上記メモリ中の電子現金Cとx1,x
2を、決済を行う機関装置へ送出する手段とを有する。
【0049】第1、第2の方法に用いられるこの発明の
銀行装置は発行局Iと銀行Bとの共有の秘密情報SIB
を記憶する手段と、上記SIBとSBを含む情報に対し
てハッシュ演算した結果S4と、SBとを含む電子現金
と、情報SUと、決済要求額x3とを外部より受取る手
段と、上記受取ったSUに対し、上記x3に相当する回
数ハッシュ演算を行い、その演算結果と上記SBとを比
較する手段と、上記SBと上記記憶しているSIBとを
含む情報に対しハッシュ演算し、その演算結果と上記受
取ったS4とを比較する手段と、上記二つの比較手段が
共に一致すると、上記電子現金に対し金額x3を決済す
る手段とを具備する。
【0050】銀行装置は更に利用者Uから限度額yの電
子紙幣発行依頼書の発行依頼を外部より受ける手段と、
上記発行依頼を受けると、上記銀行B及び上記限度額y
がかくされた上記発行依頼書を生成して、外部へ出力す
る手段とを含む。更に第1の方法に用いられる銀行装置
では上記発行依頼書の生成は、上記yに対応する秘密鍵
でブラインドデジタル署名における仮署名がなされて行
われる。
【0051】第2の方法に用いられる銀行装置は上記発
行依頼書の生成は、上記yと上記SIBを含む情報に対
しハッシュ演算して行われる。この第2の方法に用いら
れる銀行装置は更に上記利用者Uと上記銀行Bの共有の
秘密情報SBUを記憶する手段と、上記発行依頼を受け
ると上記yと上記SBUを含む情報に対してハッシュ演
算を行い、その演算結果を上記生成した発行依頼書と共
に外部へ送出する手段とを含む。
【0052】第1、第2の方法に用いられるこの発明の
発行局装置は発行者Iと銀行Bとの共有の秘密情報SI
Bを記憶する手段と、発行局Iと小売店Sとの共有の秘
密情報SISを記憶する手段と、乱数zを生成する手段
と、発行依頼書Dと、限度額yと、額面xと、利用者U
の仮名FNと、上記小売店Sの識別情報SNとを受取っ
て額面xの電子現金の発行依頼を受付ける手段と、電子
現金の発行依頼を受付けると、上記発行依頼書Dの正当
性を検証する手段と、上記検証に合格すると、上記zに
対し、上記xに相当する回数だけハッシュ演算を行い、
その演算結果SBを得る手段と、上記SBと上記SIB
を含む情報、また上記SBと上記SISを含む情報に対
してそれぞれハッシュ演算を行ってS4、S5を得る手
段と、上記S4、S5とSBを電子現金として外部へ送
出する手段とを具備する。
【0053】発行局装置は更に発行依頼書Dと残高の対
応が記憶される残高データベースを備え、上記検証が合
格すると、その発行依頼書を上記データベースから検索
し、登録されていなければ、その発行依頼書とその残高
としてyを上記データベースに登録し、登録されていれ
ば、その残高が上記x以上であることを確認して、これ
に合格することをも上記電子現金の発行条件とする手段
と、上記電子現金を外部へ送出する場合は、上記データ
ベース中の上記発行依頼書の残高からxを減額する手段
とを含む。
【0054】第1の方法に用いられる発行局装置は更に
上記検証手段はブラインドデジタル署名における署名検
証手段である。第2の方法に用いられる発行局装置は上
記検証手段は上記yと上記SIBを含む情報に対しハッ
シュ演算を行い、その演算結果と上記発行依頼書中の情
報S1とを比較し、一致していることを検証する手段で
ある。
【0055】第2、第3の方法に用いるこの発明の小売
店装置は発行局Iと小売店Sの共有の秘密情報SISを
記憶する手段と、電子現金と支払額xを外部から受取る
手段と、その受取ったxと上記SISを含む情報に対
し、ハッシュ演算を行い、その演算結果と上記電子現金
中の情報S5とを比較し、一致すると上記電子現金によ
る金額xの支払いが正当であると判定する手段とを具備
する。
【0056】第3、第4の方法に用いられるこの発明の
銀行装置は、発行局Iと銀行Bの共有の秘密情報SIB
を記憶する手段と、電子現金と決済要求額xを外部から
受取る手段と、その受取ったxと上記SIBを含む情報
に対し、ハッシュ演算を行い、その演算結果と上記電子
現金中の情報S4とを比較し、一致すると上記電子現金
に対する金額xの決済を行う手段とを具備する。
【0057】銀行装置は更に限度額yの電子紙幣発行依
頼書の発行依頼を受付ける手段と、その発行依頼を受付
けると、その依頼者の情報と上記yがかくされた発行依
頼書を生成して外部へ送出する手段とを含む。第3、第
4の方法に用いられるこの発明の発行局装置は、発行局
Iと銀行Bとの共有の秘密情報SIBを記憶する手段
と、発行局Iと小売店Sと共有の秘密情報SISを記憶
する手段と、電子紙幣発行依頼書Dと、限度額yと額面
xと、利用者Uの仮名FNと、上記小売店Sの識別情報
SNとを受取って額面xの電子現金の発行要求を受付け
る手段と、発行依頼書と残高の対応が記憶された残高デ
ータベースと、上記発行依頼書Dの正当性を検証する手
段と、上記検証に合格すると、上記データベースを検索
し、上記発行依頼書Dが登録されていなければDとその
残高としてyを上記データベースに登録し、登録されて
あれば、その残高がx以上であることを確認する手段
と、上記検証及び上記確認が共に合格であれば上記xと
上記SIBを含む情報、また上記xと上記SISを含む
情報に対してそれぞれハッシュ演算を行なってS4,S
5を得る手段と、上記S4,S5を電子現金として外部
へ送出すると共に、上記データベース中の上記発行依頼
書の残高をxだけ差し引く手段とを具備する。
【0058】
【発明の実施の形態】この発明の具体的実施例の説明に
先立ち、この発明の方法による電子現金の発行処理から
その電子現金の流れを説明する。電子現金(電子紙幣と
呼ぶこともある)を発行してもらい、その電子現金を使
用するものを利用者Uと呼び、その利用者Uがそのため
に用いる装置を利用者装置200と呼ぶ、電子紙幣発行
依頼書を発行し、かつ電子現金の決済を行う機関を銀行
Bと呼び、銀行Bがそのために用いる装置を銀行装置3
00と呼ぶ。利用者Uの要求に応じて電子紙幣発行依頼
書(単に発行依頼書と記すこともある)の限度額までの
電子現金を発行する機関を電子紙幣発行局(又は単に発
行局)Iと呼び、発行局Iがそのために用いる装置を発
行局装置500と呼ぶ、更に利用者Uから電子現金で支
払を受ける機関を小売店Sと呼び、小売店Sがそのため
に用いる装置を小売店装置400と呼ぶ。
【0059】図7Aに示すように利用者装置200と、
銀行装置300、小売店装置400及び発行局装置50
0とは通信回線で互いに接続され、小売店装置400と
銀行装置300は互いに通信回線で接続される。この発
明方法の処理の流れは次の通りである。図7Bに示すよ
うに(図7Aも参照)、まず電子紙幣発行依頼書の発行
処理(I)で、利用者Uから銀行Bへ引き下ろし依頼を
行い(1)、銀行Bから利用者Uへその依頼金額を限度
とする電子紙幣発行依頼書を発行してもらう(2)。
【0060】次に電子紙幣の発行処理(II)で利用者U
から発行局Iへ電子紙幣発行依頼書を送り(3)、発行
局Iから利用者Uへ電子紙幣を発行してもらう(4)。
その電子紙幣による支払処理(III)では利用者Uが小売
店Sへ電子紙幣を送って支払う(5)。その電子紙幣の
決済処理(IV)では小売店Sは受け取った電子紙幣を銀
行Bへ送って決済してもらう(6)。
【0061】以上の処理は通信回線を介して行う場合に
限らず、ICカードのようなものを介して行うこともで
きる。実施例1 この発明の第1の方法の実施例及び、第1の方法に用い
るこの発明の装置の実施例を説明するが、この場合は発
行局Iは発行依頼書の限度額までの電子現金を一度に行
っても良いし、電子紙幣の発行額が発行依頼書の限度額
になるまで数回に分けて行うこともできる。また、その
電子紙幣の支払いを、電子紙幣の額面の金額になるまで
数回に分けて使用することができる。
【0062】今、銀行Bの署名アルゴリズムをRSA方
式とし、その秘密鍵と公開鍵はそれぞれ(dc,nc)
と(ec,nc)とし、銀行Bの署名は、電子紙幣発行
依頼書の正当性の検査に使用する。銀行Bが発行できる
電子紙幣依頼書の金額を複数にしたい場合には、それに
応じた数の(dc,nc)及び(ec,nc)の対を作
成しておき、その金額と対応する(ec,nc)を共に
公開しておく。認証に用いる一方向性ハッシュ関数g,
hをあわせて定め公開しておく。
【0063】また、あらかじめ発行局Iと銀行Bの2者
のみがn個の秘密情報SIBiを共有し、発行局Iと小
売店Sの2者のみがn個の秘密情報SISiを共有し、
発行局Iと利用者Uの2者のみがn個の秘密情報SIU
iを共有しているものとする(ただし、iは1からnま
での整数)。銀行B、利用者U、小売店Sは複数存在し
てもよい。その場合は、各銀行B、利用者U、小売店S
ごとに異なる秘密情報を発行局Iと共有しているものと
する。ただし、発行局Iは利用者Uの実名を知らず、各
利用者を仮名FNと、秘密情報SIUiによって識別す
るものとする。
【0064】図8に示すように利用者装置200には発
行局Iとの共有秘密情報SIUiのデータベース201
を備え、メモリに公開鍵(ec,nc)、発行依頼書、
電子紙幣が記憶され、銀行装置300には発行局Iとの
共有秘密情報SIBiのデータベース301を備え、ま
たメモリに秘密鍵(dc,nc)が記憶され、小売店装
置400には発行局Iとの共有秘密情報SISiのデー
タベース401を備え、各小売店Sごとの共有秘密情報
SISiのデータベース501、各利用者Uごとの共有
秘密情報SIUiのデータベース502を備え、データ
ベース502には各SIUiごとの電子現金発行残高も
記憶され、発行局装置500には各銀行ごとの共有秘密
情報SIBiのデータベース503またメモリに鍵(e
c,nc)が記憶されている。 I.電子紙幣発行依頼書の発行処理 利用者Uは、電子紙幣発行局Iから電子紙幣を発行して
もらうために、まず、銀行Bから電子紙幣発行依頼書を
発行してもらう必要がある。ここで(ec,nc)は、
利用者Uが指定する電子紙幣の金額y(例えば1万円)
に対応する銀行Bのデジタル署名用の公開鍵である。利
用者Uが銀行Bから電子紙幣発行依頼書を発行してもら
う手順は、以下の通りである(図9参照)。 ステップ1 利用者装置200は、乱数発生器202を用いて乱数b
を生成して、メモリ203に記憶し、一方、その乱数b
とメモリ203から読みだしたその利用者Uの仮名とを
g計算器204に入力してg(FN‖b)を計算し、r
(乱数)とec,ncとg計算器204の計算結果につ
いて計算し巾乗剰余計算器205と剰余乗算器206を
用いて次式のブラインド署名前処理演算を行い、 Z=g(FN‖b)rec mod nc その演算結果Zを電子紙幣の金額情報y(例えば1万
円)と共に銀行装置300に送信する。 ステップ2 銀行装置300は受信した電子紙幣発行依頼書の金額y
に対応する秘密鍵(dc,nc)と巾乗剰余計算器30
2を用いて次式により仮署名演算を行う。
【0065】Θ=Zdc mod nc そのΘを利用者装置200に送信する。同時に、利用者
の口座から該当する金額yを引き落とすか、何らかの手
段で利用者から該当する金額yを受領する。 ステップ3 利用者装置200は、受信したΘと、rと、公開鍵(e
c,nc)と、剰余逆算計算器207剰余乗算器208
を用いて次式のブラインド署名後処理演算を行って指定
した金額の電子紙幣発行依頼書Dを得る。
【0066】D={Θ}/r mod nc この発行依頼書Dをメモリ203に保存する。ここで、
C=g(FN‖b)dcmod ncとなることに注意。 II.電子紙幣の発行処理 つぎに、利用者Uが電子紙幣発行局Iから電子紙幣Cを
発行してもらう手順は以下の通りである(図10参
照)。 ステップ1 利用者装置200は、メモリ203からb,D,小売店
名SN,仮名FN,金額xを読み出し、発行局装置50
0に送る。 ステップ2 発行局装置500は(FN,b)に対する発行依頼書
(署名)Dの正当性を、受信したFN,b,Dと(e
c,nc)及び巾乗剰余計算器504、g計算器505
と比較器506を用いて、次式が成立するかにより検証
する。
【0067】Dec=g(FN‖b)mod nc この検証が不合格のときは以降の処理を中止する。 ステップ3 発行局装置500はそのデータベース507を調べて、
Dが登録されているかどうかを確認する。登録されてい
なければ、Dを登録し、その発行残高をyに設定する。
データベース507に登録されていれば、比較器508
を用いてそのDによる電子紙幣の発行残高がx以上残っ
ていることを確認する。電子紙幣の発行残高が足りなけ
れば、以降の処理を中止する。 ステップ4 発行局装置500は乱数発生器509を用いて乱数zを
発生し、x回h計算器511を用いて SB=hX (z) を計算する。
【0068】未使用のSISp,SIUq,SIBr
を、DB検索器512,513,514を用いてデータ
ベース501,502,503からそれぞれ取出し、こ
れらとSBをそれぞれh計算器515,516,517
に入力して S3=h(SIUq‖SB) S4=h(SIBr‖SB) S5=h(SISp‖SB) を計算し、利用者装置200にその結果S3,S4,S
5とp,q,r,SB,zを送る。 ステップ5 発行局装置500は、データベース507のDによる電
子紙幣の発行残高をx減らす。 ステップ6 利用者装置200は受信したqによりデータベース20
1から秘密共有情報SIUqを取出し、これとSBをh
計算器211に入力し、その演算結果と受信S3を比較
器212で比較し、 S3=h(SIUq‖SB) であることを検証する。またx回h計算器213にz,
xを入力し、比較器214を用いて、 SB=hx (z) が成立することを確認したのち、いずれも合格であれば
x,S3,S4,S5,p,q,r,SBを電子紙幣情
報Cとし、Cおよびzをメモリ203に格納する。 III .電子紙幣による支払 つぎに、利用者Uが発行局Iより発行された電子紙幣C
を用いて、小売店Sで額面x円の電子紙幣Cのうち、x
1円のみを支払う場合について説明する(図11参
照)。
【0069】ただしここで、電子紙幣Cの額面x円のう
ち、x2円はすでに使用済みであるものとする。 ステップ1 利用者装置200は、加減算器217およびx回h計算
器218を用いて SU=h(x-x1-x2) (z) を計算し、メモリ203から電子現金情報Cを読み出
し、S3,S4,S5,p,q,r,SB,SU,x
1,x2を小売店装置400に送る。 ステップ2 小売店装置400は、受信したSB,SU,x1,x2
と、加減算器402、x回h計算器403および比較器
404を用いて SB=h(SU) となっていることを検証し、この検証が不合格のとき
は、以降の処理を中止する。合格の時は小売店装置40
0は受信したことにより秘密共有情報SISpをデータ
ベース401より取出し、h計算器405および比較器
406に入力して、 S5=h(SISp‖SB) が成立するかによりS5を検証し、合格であればデータ
ベース401に使用済みの情報としてSISpおよびx
1+x2を保存する。データベース401中のSISp
がすでに使用済みの秘密情報だった場合は、データベー
ス401に登録されているSISpによる使用済み金額
がx2であることを確認する。S5が無効な場合や登録
されている使用済み金額が異なっていた場合には、その
電子紙幣による支払いを拒否する。 ステップ3 小売店装置400は、S3,S4,S5,p,q,r,
SB,SU,x3=x1+x2を電子紙幣情報としてメ
モリ407に格納する。 IV.決済 小売店Sと銀行Bの間の決済方法について説明する(図
12参照)。 ステップ1 小売店装置400は、メモリ407からS3,S4,S
5,p,q,r,SB,SU,x3を読み出し、銀行装
置300に送る。 ステップ2 銀行装置300は受信したx3,SUとx回h計算器3
03、比較器304を用いて受信したSBが有効である
かを次式により確認する。
【0070】SB=hx3(SU) この確認が不合格の時は以降の処理を中止する。合格で
あれば銀行装置300は受信したrから秘密共有情報S
IBrをデータベース301より取出し、これと受信し
たSBをh計算器305に入力し、比較器306を用い
て S4=h(SIBr‖SB) が成立つかを検証し、合格であればデータベース301
に使用済みの情報としてSIBrを保存する。SIBr
がすでに使用済の秘密情報だった場合やS4が無効な場
合には、その電子紙幣による決済を拒否する。全ての検
査に合格すれば、SIBrをデータベース301に記憶
しておくと共に小売店の口座に該当する金額x3を払い
込む。なお、x3中のx2については既に決済が終って
いる場合は未決済のx1も小売店装置400から銀行装
置300へ送る。実施例2 この実施例1では発行依頼書Dを確認するために、ブラ
インド署名を用いたが、1度発行された電子紙幣の利
用、つまり支払、決済にはデジタル署名を利用しない。
【0071】この発明の第2の方法では発行依頼書の発
行処理も含めて、デジタル署名を一斉用いない。この場
合も、発行局Iでの電子紙幣は発行依頼書の限度額まで
のものを一度に発行してもよく、限度額になるまで数回
に分けて発行してもよく、また電子紙幣の支払も、その
金額分を一度に行ってもよく、複数回に分割して行って
もよい。
【0072】認証に用いる一方向性ハッシュ関数hをあ
わせて定め公開しておく。また、あらかじめ発行局Iと
銀行Bの2者のみがn個の秘密情報SIBiを共有し、
発行局Iと小売店Sの2者のみがn個の秘密情報SIS
iを共有し、発行局Iと利用者Uの2者のみがn個の秘
密情報SIUiを共有し、この実施例では更に銀行Bと
利用者Uの2者のみがn個の秘密情報SBUiを共有し
ているものとする。ただし、iは1からnまでの整数。
銀行B、利用者U、小売店Sは複数存在してもよい。そ
の場合は、各銀行B、利用者U、小売店Sごとに異なる
秘密情報を発行局Iと共有しているものとする。ただ
し、発行局Iは利用者Uの実名を知らず、各利用者を仮
名FNと、秘密情報SIUiによって識別するものとす
る。
【0073】図13に各装置の保有秘密情報を図8と対
応する部分に同一符号を付けてある(以下も同様に各図
において対応する部分に同一符号を付けてある)。この
実施例2では利用者装置200には銀行Bとの共通秘密
鍵SBUiのデータベース221も設けられ、また銀行
装置300にも利用者Uとの共通秘密情報SBUiのデ
ータベース311も設けられる。鍵(dc,nc),
(ec,nc)は何れにも記憶されていない。 I.電子紙幣発行依頼書の発行処理 利用者Uは、電子紙幣発行局Iから電子紙幣を発行して
もらうために、銀行Bから電子紙幣発行依頼書を発行し
てもらう必要がある。利用者Uが銀行Bから電子紙幣発
行依頼書を発行してもらう手順は、以下の通りである
(図14参照)。 ステップ1 利用者装置200は発行依頼書の金額情報y(例えば1
万円)を銀行装置300に送信する。 ステップ2 銀行装置300は、DB検索器313を用いてデータベ
ース311中の秘密情報SBU1,SBU2,…,SB
Unのなかから未使用のSBUkを選び、h計算器31
4を用いて S0=h(SBUk‖y) を計算し、また、DB検索器315を用いて、データベ
ース301中の秘密情報SIB1,SIB2,…,SI
Bnのなかから未使用のSBUjを選び、h計算器31
6を用いて S1=h(SIBj‖y) を計算し、利用者装置200にS0,S1,kおよびj
を送信する。同時に、利用者Uの口座から該当する金額
yを引き落とすか、何らかの手段で利用者Uから該当す
る金額を受領する。 ステップ3 利用者装置200は秘密共有情報SBUkを受信したk
によりデータベースから取出してこれとyとをh計算器
223に入力してh(SIBk‖y)を演算し、この演
算結果と受信したS0とを比較器224で比較し、 S0=h(SIBk‖y) を満たしていることを検証する。またDB検索器225
を用いてデータベース201中の秘密情報SIU1,S
IU2,…,SIUnのうち未使用のSIUiを選び、
これとyとをh計算器226に入れて S2=h(SIUi‖y)を計算する。 ステップ4 利用者装置200はS1,S2,y,i,jを電子紙幣
発行依頼書としてメモリ203に保存する。 II.電子紙幣の発行処理 つぎに、利用者Uが電子紙幣発行局Iから電子紙幣Cを
発行してもらう手順を示す。利用者Uが銀行Bから電子
紙幣を発行してもらう手順は以下の通りである(図15
参照)。 ステップ1 利用者装置200は、メモリ203からS1,S2,
i,j,y,小売店名SN,仮名FN,発行してもらい
たい金額xを取り出し、発行局装置500に送る。 ステップ2 発行局装置500は受信したjにより銀行Bと発行局I
との秘密共有情報SIBjをデータベース503から取
出し、これと受信したyとをh計算器521に入力し、
その演算結果と、受信したS1とを比較器522を用い
て比較し、 S1=h(SIBj‖y) であることを検証する。さらに、受信した仮名FNに対
応する利用者Uと発行局Iとの秘密共有情報SIUiを
データベース502から取出し、これと、yとをh計算
器523に入力し、その演算結果と受信したS2比較器
524を用いて比較し、 S2=h(SIUi‖y) であることを検証する。いずれかの検証が不合格だった
場合には以降の処理を中断する。 ステップ3 発行局装置500は発行局装置のデータベース507を
調べて、S1が登録されているかどうかを確認する。登
録されていなければ、SIを登録し、発行残高をyに設
定する。データベース507に登録されていれば、S1
による電子紙幣の発行残高がx以上であることを、比較
器508を用いて検証する。電子紙幣の発行残高が足り
なければ、電子紙幣の発行処理を拒否する。 ステップ4 発行局装置500は乱数発生器509を用いて乱数zを
発生し、x回h計算器511を用いてSB=hx (z)
を計算する。更に未使用のSISp,SIUq,SIB
rをそれぞれDB検索器512,513,514を用い
て対応するデータベース501,502,503から取
出し、それぞれとSBとの連結のハッシュ演算をh計算
器515,516,517を用いて行い、 S3=h(SIUq‖SB) S4=h(SIBr‖SB) S5=h(SISp‖SB) S3,S4,S5を得、利用者装置200にS3,S
4,S5,p,q,r,SB,zを送る。 ステップ5 発行局装置500は、データベース507上のS1によ
る電子紙幣の発行残高をx減らす。 ステップ6 利用者装置200は受信したqによりデータベース20
1から秘密共有情報SIUqを取出し、これとSBをh
計算器231に入力し、その演算結果と受信したS3と
を比較機232を用いて比較し、 S3=h(SIUq‖SB) であることを検証し、またx回h計算器213及び比較
器14を用いて、SB=hx (z)であることを検証
し、両検証に合格すればx,S3,S4,S5,p,
q,r,SBを電子紙幣情報Cとしてメモリ203に格
納する。 III .電子紙幣による支払 これは実施例1のそれと同様である。 IV.決済 これも実施例1のそれと同様である。実施例3 上述では電子紙幣を分割使用したが、この発明の第3の
方法では、電子紙幣を分割利用できないが、電子紙幣の
発行時にのみデジタル署名を利用し、電子紙幣の支払、
決済にはデジタル署名を必要としない。つまり電子紙幣
の発行依頼の際、同一金額又は異なる金額の複数の電子
紙幣を発行してもらい、その複数の電子紙幣を利用者装
置に記憶しておき、必要に応じて1つづつ用いる。この
実施例を説明する。
【0074】この場合電子紙幣の発行は、発行依頼書の
限度額のものを1度に発行してもよいが、限度額になる
まで数回に分けて発行することもできる。実施例1の場
合と同様に銀行Bの署名アルコリズムをRSA方式と
し、その秘密鍵、公開鍵を(dc,nc),(ec,n
c)とし、銀行Bの署名は発行依頼書の正当性の検証に
使用する。銀行Bが発行できる発行依頼書の金額を複数
にしたい場合は、それに応じた複数の(dc,nc)及
び(ec,nc)の対を作成しておき、その金額と(e
b,nb)を共に公開しておく。認証に用いる一方向性
ハッシュ関数g,hをあわせて定め公開しておく。また
実施例1と同様に発行局Iと銀行Bの2者のみがn個の
秘密情報SIBiを共有し、発行局Iと小売店Sの2者
のみがn個の秘密情報SISiを共有し、発行局Iと利
用者Uの2者のみがn個の秘密情報SIUiを共有して
いるものとする。銀行B、利用者U、小売店Sは複数存
在してもよい。その場合は、各銀行B、利用者U、小売
店Sごとに異なる秘密情報を発行局Iと共有しているも
のとする。ただし、発行局Iは利用者Uの実名を知ら
ず、各利用者を仮名FNと、秘密情報SIUiによって
識別するものとすることも実施例1と同様である。 I.電子紙幣発行依頼書の発行処理 実施例1のそれと同様である。 II.電子紙幣の発行処理 この処理も、実施例1とステップ1乃至3までは同一で
あるがステップ4以降は以下に示すように実施例1とわ
ずか異なる。なおこの処理を図16に図10と対応する
部分に同一符号を付けて示す。 ステップ4 発行局装置500は未使用のSISp,SIUq,SI
BrをDB検索器512,513,514を用いてデー
タベース501,502,503からそれぞれ取出し、
これらとxをそれぞれh計算器515,516,517
に入力して、 S3=h(SIUq‖x) S4=h(SIBr‖x) S5=h(SISp‖x) を計算し、利用者装置200にその結果S3,S4,S
5とp,q,rを送る。 ステップ5 発行局装置500は、データベース500のDによる電
子紙幣の発行残高をx減らす。 ステップ6 利用者装置200は受信したqによりデータベース20
1から秘密共有情報SIUqを取出し、これとxをh計
算器211に入力し、その演算結果と受信S3を比較器
212で比較し、 S3=h(SIUq‖x) であることを検証し、合格であればx,S3,S4,S
5,p,q,rを電子紙幣情報Cとしてメモリ203に
格納する。つまり、図18には図12中の乱数発生器5
09、x回h計算器511が省略され、実施例1中のS
Bの代りにxが用いられる。 III .電子紙幣による支払 つぎに、利用者Uが発行局Iより発行された電子紙幣C
を用いて、小売店Sで支払う場合について説明する(図
17参照)。 ステップ1 利用者装置200はメモリ203から電子紙幣x,S
3,S4,S5,p,q,rを取り出し、小売店装置4
00に送る。 ステップ2 小売店装置400は受信したpによりデータベース40
1から秘密共有情報SISpを取出し、これが使用済情
報でない場合はこれと受信したxとをh計算器405に
入力し、その演算結果と受信したS5とを比較器406
を用いて比較してS5の検証を行い、合格ならば小売店
のデータベース401に使用済みの情報としてSISp
を保存する。S5が無効な場合やSISpがすでに使用
済みの秘密情報だった場合には、その電子紙幣による支
払いを拒否する。 ステップ3 小売店装置400はx,S3,S4,S5,p,q,r
を電子紙幣情報としてメモリ407に格納する。 IV.決済 小売店Sと銀行Bの間の決済方法について説明する(図
18参照)。 ステップ1 小売店装置400はx,S3,S4,S5,p,q,r
をメモリ407から読み出し、銀行装置300に送る。 ステップ2 銀行装置300は受信したrでデータベース301より
秘密共有情報SIBrを取出し、これと受信したxとを
h計算器305に入力し、比較器306を用いて S4=h(SIBr‖x) が成立つかを検証し、合格すればデータベース301に
使用済みの情報としてSIBrを保存する。SIBrが
すでに使用済みの秘密情報だった場合やS4が無効な場
合には、その電子紙幣による決済を拒否する。検証に合
格すれば、SIBrを記憶しておくと共に小売店の口座
に該当する金額xを払い込む。
【0075】以上のようにこの実施例3においても、同
時に複数の電子紙幣を発行してもらっておけばその各電
子紙幣の支払、決済にデジタル署名を必要とせず、高速
処理が可能となる。実施例4 この発明の第4の方法では電子紙幣を分割使用できない
が、発行依頼書及び電子紙幣の各発行にデジタル署名を
用いず、第2の方法と同様な手法で発行し、例えば電子
紙幣を限度内で複数回発行してもらうか、1度に複数の
電子紙幣を発行してもらうことにより、従来よりも高速
に電子紙幣の処理を可能とする。
【0076】以下この第4の方法の実施例(実施例4)
を説明する。各装置200,300,400,500が
所有する共有秘密情報は実施例2の図13に示すものと
同一である。 I.電子紙幣発行依頼書の発行処理 実施例2のそれと同一である。 II.電子紙幣の発行処理 ステップ1乃至3は実施例2の電子紙幣の発行処理のス
テップ1乃至3と同一である(図19参照)。 ステップ4 発行局装置500は未使用のSISp,SIUq,SI
BrをそれぞれDB検索器517,518,519を用
いて対応データベース501,502,503からそれ
ぞれ取出し、それぞれとxとの連結のハッシュ演算をh
計算器515,516,517を用いて行い、 S3=h(SIUq‖x) S4=h(SIBr‖x) S5=h(SISp‖x) 利用者装置200にS3,S4,S5,p,q,rを送
る。 ステップ5 発行局装置500は、データベース507上のS1によ
る電子紙幣の発行残高をxだけ減らす。 ステップ6 利用者装置200は受信したqによりデータベース20
1から秘密共有情報SIUqを取出し、これとxをh計
算器231に入力し、その演算結果と受信したS3とを
比較器232を用いて比較し、 S3=h(SIUq‖x) であることを検証し、これに合格すればx,S3,S
4,S5,p,q,rを電子紙幣情報Cとしてメモリ2
03に格納する。
【0077】以上の説明及び図19と図15との比較か
ら理解されるようにこの実施例では図15中の乱数発生
器509、x回計算器511,213が省略され、実施
例2中の電子紙幣発行処理においてSBの代りにxを用
いればよい。 III .電子紙幣による支払 実施例3のそれと同一である。 IV.決済 実施例3のそれと同一である。図10,図15,図16
の各電子紙幣発行処理において、利用者Uが本人である
ことを何らかの手段により確認し、例えばICカードを
利用した電子現金方法では、本人が発行局Iへ出掛け身
分証明書の提示により確認すればよく、また、直接、電
子現金を受取ることができるから、利用者装置200の
SIUデータベース201を省略し、発行局装置500
から受取った電子現金の正当性の検証のための、SIU
とSB又はxの連結に対するハッシュ演算と、その結果
と受取ったS3との比較とを省略してもよい。同様に発
行局装置500でh(SIUi‖y)とS2の比較演算
も省略できる。また同様の理由により、図14の発行依
頼書の発行処理において、利用者装置200で、h(y
‖SIUi)の演算、h(y‖SBUk)=S0の演
算、データベース201,221を省略することがで
き、銀行装置300でh(y‖SBUk)の演算、デー
タベース311を省略できる。
【0078】
【発明の効果】以上述べたようにこの発明によれば支
払、決済時にデジタル署名を用いず、ハッシュ関数のみ
によって二重使用や不正使用を防止しており、電子現金
の支払い、決済の各処理を高速化することができ、かつ
各装置の構成を簡易化することができる。
【0079】代表的なデジタル署名には、RSA法など
があり、代表的な一方向性ハッシュ関数(以下では単に
ハッシュと表記する)には、MD5などがある。一般に
ハッシュはデジタル署名より1,000倍から100,
000倍程度高速である。例えば、RSA署名の速度
は、SUN−SPARCII上で 1ブロック 署名 検証 512bit 0.16秒 0.02秒 768bit 0.52秒 0.07秒 1024bit 0.97秒 0.08秒 (Applied Cryptography 2nd Edition p. 470による) 一方、MD5の速度は、SUN−SPARC10上で 1ブロック ハッシュ値生成・検査 128bit 3.56×10-6秒 (1秒あたり37,000,000bit) (Network Working Group,Re
quest for Comments:1810,C
ategory:Informational,“Re
port on MD5 Performance”に
よる) このように高速処理できるため、第1、第2の方法によ
れば1つの電子現金により分割小額支払、決済を簡易に
何回も行うことができる。なお決済はまとめて行うこと
により一層処理を簡単にすることができる。第3、第4
の方法においても1度に小額の電子現金を多数発行して
もらい、これをメモリに保持し、その小額電子現金で支
払い、決済することにより、小額支払、決済を簡易に行
うことができる。
【0080】従来、プライバシを考慮し、ハードウェア
に安全性の根拠をおかない電子現金では、二重使用や不
正使用を検出するために、支払いのたびにデジタル署名
および署名検証の演算を行う必要があった。この発明
は、二重使用や不正使用を検出する手段は残しながら、
支払い時にデジタル署名を用いず、デジタル署名の1,
000倍から100,000倍程度高速なハッシュ関数
のみによって電子現金を提供することを可能としてい
る。
【図面の簡単な説明】
【図1】従来技術の構成要素を示すブロック図。
【図2】図1中の利用者装置と銀行装置間での利用許可
証発行処理を示すブロック図。
【図3】図1中の利用者装置と銀行装置間での電子紙幣
発行処理を示すブロック図。
【図4】図1中の利用者装置と小売店装置での電子紙幣
による支払い処理に関する利用者装置の処理を示すブロ
ック図。
【図5】図1中の利用者装置と小売店での電子紙幣によ
る支払い処理に関する小売店の処理を示すブロック図。
【図6】図1中の小売店装置と銀行装置間の決済処理を
示すブロック図。
【図7】Aは電子現金の全体の流れを示す図、Bはこの
発明の処理の流れを示す図である。
【図8】この発明の第1の方法を実施するための構成要
素を示すブロック図。
【図9】図8中の利用者装置と銀行装置間での電子紙幣
発行依頼書の発行処理を示すブロック図。
【図10】図8中の利用者装置と電子紙幣発行局装置間
での電子紙幣発行処理を示すブロック図。
【図11】図8中の利用者装置と小売店装置での電子紙
幣による支払い処理を示すブロック図。
【図12】図8中の小売店装置と銀行装置間の決済処理
を示すブロック図。
【図13】この発明の第2の方法を実施するための構成
要素を示すブロック図。
【図14】図13中の利用者装置と銀行装置間の発行依
頼書の発行処理を示すブロック図。
【図15】図13中の利用者装置と発行局装置間の電子
紙幣発行処理を示すブロック図。
【図16】この発明の第3の方法における利用者装置と
発行局装置間の電子紙幣発行処理を示すブロック図。
【図17】この発明の第3の方法における利用者装置と
小売店装置間の電子紙幣支払い処理を示すブロック図。
【図18】この発明の第3の方法における小売店装置と
銀行装置間の電子紙幣決済処理を示すブロック図。
【図19】この発明の第4の方法における利用者装置と
発行局装置間の電子紙幣発行処理を示すブロック図。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 岡本 龍明 東京都新宿区西新宿三丁目19番2号 日本 電信電話株式会社内

Claims (31)

    【特許請求の範囲】
  1. 【請求項1】 電子現金で支払を行うもの(以下利用者
    と記す)Uの装置(以下利用者装置と記す)と、電子現
    金を受領する機関(以下小売店と記す)Sの装置(以下
    小売店装置と記す)とで電子現金を実施する方法におい
    て、 乱数zに対し、額面金額xに相当する回数だけハッシュ
    演算した結果SBと、発行局Iと銀行Bに共有の秘密情
    報SIBと上記SBを含む情報に対しハッシュ演算をし
    た結果S4と、上記発行局Iと上記小売店Sに共有の秘
    密情報SISと上記SBを含む情報に対しハッシュ演算
    をした結果S5とよりなる電子現金Cと上記zを上記利
    用者装置に記憶してあり、 上記利用者Uが金額x1を上記小売店Sに支払うには、 上記利用者装置は上記電子現金Cを用いて既に支払を済
    ました金額x2とx1とを上記xから差引き、その残り
    の金額に相当する回数だけ上記zに対してハッシュ演算
    を行い、その演算結果SUと、上記電子現金Cと上記x
    1とx2を上記小売店装置へ送り、 上記小売店装置は上記秘密情報SISを保持し、受取っ
    た上記SUに対し、x1+x2に相当する回数ハッシュ
    演算を行い、その結果がSBと一致するかを検証し、上
    記SBと上記SISを含む情報に対しハッシュ演算を行
    い、その演算結果が上記S5と一致するかを検証し、両
    検証に合格すると上記電子現金Cによる金額x1の支払
    を認めることを特徴とする電子現金方法。
  2. 【請求項2】 上記電子現金を実施する方法は電子現金
    を決済する機関(以下銀行と記す)Bの装置(以下銀行
    装置と記す)を含み、 上記小売店Sが上記電子現金Cを決済するには、 上記小売店装置は上記電子現金Cと、SUと、x1とx
    2が共に未決済の場合はx1+x2=x3、x2が既決
    済の場合はx1及びx2あるいはx1及びx3と、を上
    記銀行装置へ送り、 上記銀行装置は秘密情報SIBを保持し、SUに対しx
    1+x2に相当する回数だけハッシュ演算を行い、その
    演算結果がSBと一致するかを検証し、上記SIBと上
    記SBを含む情報に対しハッシュ演算を行い、その演算
    結果が上記S4と一致するかを検証し、両検証に合格す
    ると、上記未決済の金額を上記小売店Sに対し決済する
    ことを特徴とする請求項1記載の電子現金方法。
  3. 【請求項3】 上記電子現金を実施する方法は、電子現
    金Cを発行する機関(以下発行局と記す)Iの装置(以
    下発行局装置と記す)を含み、 上記利用者Uが電子現金を発行してもらうには、 上記利用者装置はその利用者Uの情報と限度額yの情報
    とそれぞれ関連した情報を含む電子紙幣発行依頼書(以
    下発行依頼書と記す)Dと、上記額面金額xと、上記利
    用者Uの仮名FNと、上記小売店Sの識別情報SNとを
    上記発行局装置へ送って電子現金の発行を依頼し、 上記発行局装置は上記秘密情報SIB及びSISをそれ
    ぞれ保持し、上記発行依頼書の正当性を検証し、これに
    合格すると、上記数値zを乱数生成により得、上記zに
    対し、上記xと相当する回数のハッシュ演算を行って上
    記情報SBを得、そのSBと上記SIBを含む情報、ま
    た上記SBと上記SISを含む情報に対してそれぞれハ
    ッシュ演算を行って上記情報S4,S5を求め、上記S
    4,S5,SBを電子現金とし、これと上記zを上記利
    用者装置へ送り、 上記利用者装置は上記発行局装置へ送ったxに相当する
    回数のハッシュ演算を送られたzに対して行い、その演
    算結果が上記SBと一致するかを検証し、これに合格す
    ると、上記送られたS4,S5,SBを上記電子現金と
    して保持することを特徴とする請求項1又は2記載の電
    子現金方法。
  4. 【請求項4】 上記利用者装置及び発行局装置は利用者
    Uと発行局Iに共通の秘密情報SIUをそれぞれもち、 上記発行局装置は上記電子現金を発行する際に、SBと
    SIUを含む情報に対し、ハッシュ演算を行い、その演
    算結果S3も上記利用者装置へ送り、 上記利用者装置は保持しているSIUと受取ったSBを
    含む情報に対してハッシュ演算を行い、その演算結果
    が、受取ったS3と一致することも、受取った電子現金
    の正当性検証の条件とすることを特徴とする請求項3に
    記載の電子現金方法。
  5. 【請求項5】 上記発行局装置は各種のSIB、各種の
    SISをそれぞれ記憶したデータベースを備え、上記電
    子現金を発行する際に、上記SIBのデータベース、及
    び上記SISのデータベースからそれぞれ未使用のSI
    B、SISを取出し、これらを上記SIBとSBを含む
    情報、またSISとSBを含む情報のそれぞれに対する
    上記ハッシュ演算に用い、かつこの演算に用いたSI
    B、SISを識別するための情報r、pをも上記電子現
    金に含めることを特徴とする請求項3又は4に記載の電
    子現金方法。
  6. 【請求項6】 電子現金を発行してもらうもの(以下利
    用者と記す)Uの装置(以下利用者装置)と、電子現金
    を受領する機関(以下小売店と記す)Sの装置(以下小
    売店装置と記す)と、電子現金を発行する機関(以下発
    行局と記す)Iの装置とにより電子現金を実施する方法
    において、 上記発行局Iと上記小売店Sとの共有の秘密情報SIS
    を上記発行局装置及び上記小売店装置にそれぞれ保持
    し、 上記利用者が電子現金を発行してもらうには、 上記利用者装置はその利用者Uの情報と限度額yの情報
    とそれぞれ関連した情報を含む電子紙幣発行依頼書(以
    下発行依頼書)Dと、額面金額x(y>x)と、利用者
    Uの仮名FNと、上記小売店Sの識別情報SNとを上記
    発行局装置へ送って電子現金Cの発行を依頼し、 上記発行局装置は受取った発行依頼書Dの正当性を検証
    し、これに合格すれば保持している上記SIBと上記x
    を含む情報に対してハッシュ演算を行って情報S4を
    得、保持している上記SISと上記xを含む情報に対し
    てハッシュ演算を行って情報S5を得、これら情報S
    4,S5,xを上記電子現金Cとして上記利用者装置へ
    送り、 利用者Uが小売店Sに電子現金Cで支払うには、 上記利用者装置は受取った電子現金Cを上記小売店装置
    へ送り、 上記小売店装置は受取ったxと保持している上記SIS
    を含む情報に対しハッシュ演算を行い、その演算結果が
    受取ったS5と一致するかの検証を行い、それに合格す
    れば、その電子現金Cによる支払を認めることを特徴と
    する電子現金方法。
  7. 【請求項7】 上記電子現金方法は電子現金を決済する
    機関(以下銀行と記す)Bの装置(以下銀行装置と記
    す)を含み、上記発行局Iと上記銀行Bとの共有の秘密
    情報SIBを上記発行局装置及び上記銀行装置にそれぞ
    れ保持し、 上記小売店Sが上記電子現金Cを決済してもらうには、 上記小売店装置は受取った電子現金Cを上記銀行装置へ
    送り、 上記銀行装置は受取ったxと保持している上記SIBと
    を含む情報に対しハッシュ演算を行い、その演算結果が
    受取ったS4と一致しているかを検証し、これに合格す
    ればその電子現金Cに対する額面xの決済をすることを
    特徴とする請求項6記載の電子現金方法。
  8. 【請求項8】 上記利用者装置及び発行局装置は利用者
    Uと発行局Iに共通の秘密情報SIUをそれぞれもち、 上記発行局装置は上記電子現金を発行する際に、xとS
    IUを含む情報に対し、ハッシュ演算を行い、その演算
    結果S3も上記利用者装置へ送り、 上記利用者装置は保持しているSIUと受取ったxを含
    む情報に対してハッシュ演算を行い、その演算結果が、
    受取ったS3と一致することも、受取った電子現金の正
    当性検証の条件とすることを特徴とする請求項6又は7
    に記載の電子現金方法。
  9. 【請求項9】 上記発行局装置は各種のSIB、各種の
    SISをそれぞれ記憶したデータベースを備え、上記電
    子現金を発行する際に、上記SIBのデータベース、及
    び上記SISのデータベースからそれぞれ未使用のSI
    B、SISを取出し、これらを上記SIBとxを含む情
    報、また上記SISとxとを含む情報のそれぞれに対す
    る上記ハッシュ演算に用い、かつこの演算に用いたSI
    B、SISを識別するための情報r、pをも上記電子現
    金に含めることを特徴とする請求項6乃至8の何れかに
    記載の電子現金方法。
  10. 【請求項10】 上記発行局装置は電子紙幣発行残高デ
    ータベースを備え、上記電子現金Cの発行依頼を受ける
    と、その発行依頼書Dが上記データベースに登録してい
    るかを調べ、登録されていれば、その発行残高が受け取
    ったx以上であることも、上記電子現金の発行条件と
    し、登録されてなければ、受取ったDと残高として受取
    ったyを上記データベースに登録し、上記電子現金Cを
    上記利用者装置へ送ると共に上記データベース中の上記
    発行依頼書Dと対応する残高から上記xを差し引くこと
    を特徴とする請求項3乃至9の何れかに記載の電子現金
    方法。
  11. 【請求項11】 上記利用者Uが上記発行依頼書を発行
    してもらうには、 上記利用者装置にその利用者Uを示す情報に対し、上記
    限度額yと対応する公開鍵を用いてブラインドデジタル
    署名前処理を行って上記銀行装置へ上記yと共に送り、 上記銀行装置は上記公開鍵と対応する秘密鍵を用いて、
    利用者装置から受取ったものに対して仮署名を行って上
    記利用者装置へ送り、 上記利用者装置は送られた仮署名に対してブラインドデ
    ジタル署名後処理を行って上記発行依頼書を得、 上記発行局装置は上記発行依頼書の上記検証をブライン
    ドデジタル署名の正当性検証の手法により行うことを特
    徴とする請求項3乃至10の何れかに記載の電子現金方
    法。
  12. 【請求項12】 上記利用者Uが上記発行依頼書を発行
    してもらうには、利用者装置より上記限度額yを上記銀
    行装置へ送り、 上記銀行装置は上記yと上記SIBを含む情報に対しハ
    ッシュ演算を行い、その演算結果S1と上記yを上記発
    行依頼書Dとして上記利用者装置へ送り、 上記発行局装置は上記発行依頼書の検証を、受け取った
    yと、保持している上記SIBとを含む情報に対しハッ
    シュ演算を行い、その結果がS1と一致するかにより行
    うことを特徴とする請求項3乃至10の何れかに記載の
    電子現金方法。
  13. 【請求項13】 上記銀行Bと上記利用者Uとの共有の
    秘密情報SBUが上記銀行装置及び利用者装置にそれぞ
    れ保持され、上記銀行装置は上記発行依頼書Dを発行す
    る際に、yと上記SBUを含む情報に対しハッシュ演算
    を行い、その演算結果S0を上記S1と共に上記利用者
    装置へ送り、 上記利用者装置は保持しているSBUとyを含む情報に
    対しハッシュ演算を行い、その演算結果が受取ったS0
    と一致しているかを調べて、上記発行依頼書Dの正当性
    を検証することを特徴とする請求項12記載の電子現金
    方法。
  14. 【請求項14】 上記電子現金CにはS4,S5が何れ
    のSIB、SISにもとづくものであるかを示す情報
    r、pが含まれ、上記銀行装置は各種のSIBを記憶し
    たデータベースを備え、上記小売店装置は各種のSIS
    を記憶したデータベースを備え、上記小売店装置が上記
    電子現金の上記検証に用いるSISを受取った電子現金
    中のpによりSISのデータベースから取出し、上記銀
    行装置が上記電子現金の上記検証に用いるSIBを受取
    った電子現金中のrによりSIBのデータベースから取
    出すことを特徴とする請求項2乃至13の何れかに記載
    の電子現金方法。
  15. 【請求項15】 電子現金により支払を行うための装置
    であって、 電子現金Cと数値z、上記電子現金Cの額面x、上記電
    子現金Cにより既に支払った金額x2を記憶したメモリ
    と、 上記電子現金Cにより支払うべき金額x1と上記既に支
    払った金額x2を加算し、その加算結果に、上記メモリ
    中の既支払金額x2を更新する手段と、 上記数値zに対し、金額x−x−1−x2に相当する回
    数ハッシュ演算した結果SUを求める手段と、 上記電子現金Cと上記SU、上記x1及びx2を電子現
    金を受領する機関(以下小売店と記す)Sの装置へ送出
    する手段とを具備する電子現金用利用者装置。
  16. 【請求項16】 上記メモリには電子紙幣発行依頼書
    (以下発行依頼書と記す)Dと、その利用者装置の利用
    者Uの仮名FNも記憶され、 上記発行依頼書D、上記額面x、仮名FN及び上記小売
    店Sの識別情報SNを上記発行局Iの装置へ送出する手
    段と、 上記発行局Iの装置より数値zと電子現金Cを受取る手
    段と、 上記受取ったzに対し、上記メモリ中の額面xに相当す
    る回数ハッシュ演算を行い、その結果と上記受取った電
    子現金C中のSBとを比較し、一致すれば上記受取った
    電子現金Cを正当なものとして上記メモリに記憶する手
    段とを含むことを特徴とする請求項15記載の電子現金
    用利用者装置。
  17. 【請求項17】 上記利用者Uと上記発行局Iとの共有
    の秘密情報SIUを記憶する手段と、上記受取った電子
    現金C中のSBと上記SIUを含む情報に対しハッシュ
    演算を行い、その演算結果と、上記受取った電子現金C
    中のS3と比較し、上記二つの比較が共に一致すれば上
    記受取った電子現金Cを正当なものとする手段とを含む
    ことを特徴とする請求項16記載の電子現金用利用者装
    置。
  18. 【請求項18】 電子現金を受領する機関(以下小売店
    と記す)Sの装置であって、 電子現金を発行する機関(以下発行局と記す)Iと小売
    店Sとの共有の秘密情報SISを保持する手段と、 電子現金C,SU,x1,x2を利用者装置から受取る
    手段と、 上記受取ったSUに対し、上記受取ったx1とx2の和
    に相当する回数ハッシュ演算を行い、その演算結果と、
    上記受取った電子現金C中のSBとを比較する手段と、 上記SBと上記SISとを含む情報に対しハッシュ演算
    を行い、その演算結果と上記受取った電子現金C中のS
    5とを比較する手段と、 上記二つの比較が共に一致すると、上記受取った電子現
    金Cによる金額x1の支払を正当として、上記電子現金
    C、上記x1,x2を記憶するメモリと、 上記メモリ中の電子現金Cとx1,x2を、決済を行う
    機関装置へ送出する手段と、 を有する電子現金用の小売店装置。
  19. 【請求項19】 電子現金を決済する機関(以下銀行と
    記す)Bの装置であって、 発行局Iと銀行Bとの共有の秘密情報SIBを記憶する
    手段と、 電子現金と、情報SUと、決済要求額x3とを外部より
    受取る手段と、 上記受取ったSUに対し、上記x3に相当する回数ハッ
    シュ演算を行い、その演算結果と上記SBとを比較する
    手段と、 上記SBと上記記憶しているSIBとを含む情報に対し
    ハッシュ演算し、その演算結果と上記受取ったS4とを
    比較する手段と、 上記二つの比較手段が共に一致すると、上記電子現金に
    対し金額x3を決済する手段と、 を具備する電子現金用銀行装置。
  20. 【請求項20】 電子現金を発行してもらうもの(以下
    利用者と記す)Uから限度額yの電子紙幣発行依頼書
    (以下発行依頼書と記す)の発行依頼を外部より受ける
    手段と、 上記発行依頼を受けると、上記銀行B及び上記限度額y
    がかくされた上記発行依頼書を生成して、外部へ出力す
    る手段とを含むことを特徴とする請求項19記載の電子
    現金用銀行装置。
  21. 【請求項21】 上記発行依頼書の生成は、上記yに対
    応する秘密鍵でブラインドデジタル署名における仮署名
    がなされて行われることを特徴とする請求項20記載の
    電子現金用銀行装置。
  22. 【請求項22】 上記発行依頼書の生成は、上記yと上
    記SIBを含む情報に対しハッシュ演算して行われるこ
    とを特徴とする請求項20記載の電子現金用銀行装置。
  23. 【請求項23】 上記利用者Uと上記銀行Bの共有の秘
    密情報SBUを記憶する手段と、 上記発行依頼を受けると上記yと上記SBUを含む情報
    に対してハッシュ演算を行い、その演算結果を上記生成
    した発行依頼書と共に外部へ送出する手段とを含むこと
    を特徴とする請求項22記載の電子現金用銀行装置。
  24. 【請求項24】 電子現金を発行する機関(以下発行局
    と記す)Iの装置であって、 発行者Iと電子現金を決済する機関(以下銀行と記す)
    Bとの共有の秘密情報SIBを記憶する手段と、 発行局Iと電子現金を受領する機関(以下小売店と記
    す)Sとの共有の秘密情報SISを記憶する手段と、 乱数zを生成する手段と、 電子紙幣発行依頼書(以下発行依頼書と記す)Dと、限
    度額yと、額面xと、電子現金を発行してもらうもの
    (以下利用者と記す)Uの仮名FNと、上記小売店Sの
    識別情報SNとを受取って額面xの電子現金の発行要求
    を受付ける手段と、 上記発行依頼書Dの正当性を検証する手段と、 上記検証に合格すると、上記zに対し、上記xに相当す
    る回数だけハッシュ演算を行い、その演算結果SBを得
    る手段と、 上記SBと上記SIBを含む情報、また上記SBと上記
    SISを含む情報に対してそれぞれハッシュ演算を行っ
    てS4、S5を得る手段と、 上記S4、S5とSBを電子現金として外部へ送出する
    手段と、 を具備する電子現金用発行局装置。
  25. 【請求項25】 発行依頼書Dと残高の対応が記憶され
    る残高データベースと、 上記検証が合格すると、その発行依頼書を上記データベ
    ースから検索し、登録されていなければ、その発行依頼
    書とその残高としてyを上記データベースに登録し、登
    録されていれば、その残高が上記x以上であることを確
    認して、これに合格することをも上記電子現金の発行条
    件とする手段と、 上記電子現金を外部へ送出する場合は、上記データベー
    ス中の上記発行依頼書の残高からxを減額する手段と、
    を含むことを特徴とする請求項24記載の電子現金用発
    行局装置。
  26. 【請求項26】 上記検証手段はブラインドデジタル署
    名における署名検証手段であることを特徴とする請求項
    25記載の電子現金用発行局装置。
  27. 【請求項27】 上記検証手段は上記yと上記SIBを
    含む情報に対しハッシュ演算を行い、その演算結果と上
    記発行依頼書中の情報S1とを比較し、一致しているこ
    とを検証する手段であることを特徴とする請求項25記
    載の電子現金用発行局装置。
  28. 【請求項28】 電子現金を受取る機関(以下小売店と
    記す)Sの装置であって、 電子現金を発行する機関(以下発行局と記す)Iと小売
    店Sの共有の秘密情報SISを記憶する手段と、 電子現金と支払額xを外部から受取る手段と、 その受取ったxと上記SISを含む情報に対し、ハッシ
    ュ演算を行い、その演算結果と上記電子現金中の情報S
    5とを比較し、一致すると上記電子現金による金額xの
    支払いが正当であると判定する手段と、 を具備する電子現金用小売店装置。
  29. 【請求項29】 電子現金の決済を行う機関(以下銀行
    と記す)Bの装置であって、 電子現金を発行する機関(以下発行局と記す)Iと銀行
    Bの共有の秘密情報SIBを記憶する手段と、 電子現金と決済要求額xを外部から受取る手段と、 その受取ったxと上記SIBを含む情報に対し、ハッシ
    ュ演算を行い、その演算結果と上記電子現金中の情報S
    4とを比較し、一致すると上記電子現金に対する金額x
    の決済を行う手段とを具備する電子現金用銀行装置。
  30. 【請求項30】 限度額yの電子紙幣発行依頼書(以下
    発行依頼書と記す)の発行依頼を受付ける手段と、その
    発行依頼を受付けると、その依頼者の情報と上記yがか
    くされた発行依頼書を生成して外部へ送出する手段とを
    含むことを特徴とする請求項29記載の電子現金用銀行
    装置。
  31. 【請求項31】 電子現金を発行する機関(以下発行局
    と記す)Iの装置であって、 発行局Iと電子現金を決済する機関(以下銀行と記す)
    Bとの共有の秘密情報SIBを記憶する手段と、 発行局Iと電子現金を受領する機関(以下小売店と記
    す)Sと共有の秘密情報SISを記憶する手段と、 電子紙幣発行依頼書(以下発行依頼書と記す)Dと、限
    度額yと額面xと、電子現金を発行してもらうもの(以
    下利用者と記す)Uの仮名FNと、上記小売店Sの識別
    情報SNとを受取って額面xの電子現金の発行要求を受
    付ける手段と、 発行依頼書と残高の対応が記憶された残高データベース
    と、 上記発行依頼書Dの正当性を検証する手段と、 上記検証に合格すると、上記データベースを検索し、上
    記発行依頼書Dが登録されていなければDとその残高と
    してyを上記データベースに登録し、登録されてあれ
    ば、その残高がx以上であることを確認する手段と、 上記検証及び上記確認が共に合格であれば上記xと上記
    SIBを含む情報、また上記xと上記SISを含む情報
    に対してそれぞれハッシュ演算を行なってS4,S5を
    得る手段と、 上記S4,S5を電子現金として外部へ送出すると共
    に、上記データベース中の上記発行依頼書の残高をxだ
    け差し引く手段と、 を具備することを特徴とする電子現金用発行局装置。
JP33097996A 1996-12-11 1996-12-11 電子現金方法及びこれに用いる装置 Pending JPH10171903A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33097996A JPH10171903A (ja) 1996-12-11 1996-12-11 電子現金方法及びこれに用いる装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33097996A JPH10171903A (ja) 1996-12-11 1996-12-11 電子現金方法及びこれに用いる装置

Publications (1)

Publication Number Publication Date
JPH10171903A true JPH10171903A (ja) 1998-06-26

Family

ID=18238489

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33097996A Pending JPH10171903A (ja) 1996-12-11 1996-12-11 電子現金方法及びこれに用いる装置

Country Status (1)

Country Link
JP (1) JPH10171903A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999035786A1 (fr) * 1998-01-07 1999-07-15 Sony Corporation Systeme, dispositif et procede de traitement de donnees
JP2006121687A (ja) * 2004-10-19 2006-05-11 Samsung Electronics Co Ltd 使用者の匿名性を保証するデジタルチケットを利用した電子商取り引き方法及び装置
JP2007156726A (ja) * 2005-12-02 2007-06-21 Nec Corp 電子決済システム及び電子決済方法
JP2007533225A (ja) * 2004-04-14 2007-11-15 インターナショナル・ビジネス・マシーンズ・コーポレーション 認証に擬似ランダムビット列を採用するセキュア・クレジットカードおよびその認証方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999035786A1 (fr) * 1998-01-07 1999-07-15 Sony Corporation Systeme, dispositif et procede de traitement de donnees
JP2007533225A (ja) * 2004-04-14 2007-11-15 インターナショナル・ビジネス・マシーンズ・コーポレーション 認証に擬似ランダムビット列を採用するセキュア・クレジットカードおよびその認証方法
JP2006121687A (ja) * 2004-10-19 2006-05-11 Samsung Electronics Co Ltd 使用者の匿名性を保証するデジタルチケットを利用した電子商取り引き方法及び装置
JP2007156726A (ja) * 2005-12-02 2007-06-21 Nec Corp 電子決済システム及び電子決済方法

Similar Documents

Publication Publication Date Title
EP0755136B1 (en) Method and apparatus for implementing traceable electronic cash
US6299062B1 (en) Electronic cash system based on a blind certificate
Camenisch et al. An efficient fair payment system
US5224162A (en) Electronic cash system
EP0391261B1 (en) Method and apparatus for implementing electronic cash
RU2157001C2 (ru) Способ проведения платежей (варианты)
EP1205889A1 (en) Returning of change in an electronic payment system
JP2002517869A (ja) 安全トランザクションシステム
US6636969B1 (en) Digital signatures having revokable anonymity and improved traceability
Nakanishi et al. Unlinkable electronic coupon protocol with anonymity control
JP3102692B2 (ja) カードの真性を証明する方法
CN118154196A (zh) 一种基于区块链的支付验证方法及装置
JPH10171903A (ja) 電子現金方法及びこれに用いる装置
CN108090751A (zh) 电子现金系统
JPH0752460B2 (ja) 電子現金実施方法及びその装置
JP2879792B2 (ja) 電子現金の分割使用方法およびその装置
JP3171227B2 (ja) 信託機関付き電子紙幣実施方法
JP3599493B2 (ja) 発行機関分離型番号登録式電子現金方法および利用者装置
EP0886248A2 (en) Method and apparatus for registration of information with plural institutions and recording medium with registration program stored thereon
JPH1020781A (ja) 電子署名方法、その検証方法および装置
Franklin et al. The blinding of weak signatures
JP2631781B2 (ja) 電子現金実施方法
JP3435677B2 (ja) 追跡可能な電子現金実施方法及びその装置
JP3599492B2 (ja) 番号登録式電子現金方法および利用者装置
JP2631776B2 (ja) 電子現金実施方法