JP3599492B2 - 番号登録式電子現金方法および利用者装置 - Google Patents
番号登録式電子現金方法および利用者装置 Download PDFInfo
- Publication number
- JP3599492B2 JP3599492B2 JP23925396A JP23925396A JP3599492B2 JP 3599492 B2 JP3599492 B2 JP 3599492B2 JP 23925396 A JP23925396 A JP 23925396A JP 23925396 A JP23925396 A JP 23925396A JP 3599492 B2 JP3599492 B2 JP 3599492B2
- Authority
- JP
- Japan
- Prior art keywords
- signature
- bank
- information
- user device
- exchange
- 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 - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 83
- 238000003860 storage Methods 0.000 claims description 44
- 238000012545 processing Methods 0.000 claims description 32
- 238000012795 verification Methods 0.000 claims description 30
- 238000007781 pre-processing Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000012805 post-processing Methods 0.000 claims description 5
- 238000012360 testing method Methods 0.000 claims description 5
- 238000012790 confirmation Methods 0.000 claims description 2
- 230000008520 organization Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 12
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Description
【発明の属する技術分野】
この発明は、電気通信システムやICカードを利用してディジタル情報の授受により電子的な現金を実現する電子現金方法に関する。
【0002】
【従来の技術】
電子現金はICカードを電子現金の財布(電子財布)とするような形で広く使われるようになる。その際には、電子現金はいかなる物理媒体にも依存しないで、情報そのものが電子現金となるような形で電子財布に格納される形態が望ましい。
【0003】
電子現金の一つの実現策は、物理的な手段によって安全性を保証する方法である。例えば、テレホンカード等の磁気カードによるプリペイドカードは、カード上の磁気状態を他のカードに物理的にコピーすることが困難であるということを安全性の要として成り立っている。しかしながら、この安全性の前提は世の中の製造技術レベルの推移により大きく変化する。さらに、この方式は、常に物理媒体(磁気カード等)と一体で実現されるため、情報の形の電子現金のように通信回線で転送するようなことはできない。
【0004】
別の実現策は、クレジットカードのような電子的IDカード(電子クレジットカードもしくは電子小切手)を用いて、後日決済する方法である。電子クレジットカードでは、手書きの署名の代わりにディジタル署名を用いることにより、処理の完全電子化(情報化)を実現でき、その決済用情報を通信回線で転送できる。しかし、この方式の欠点は、利用者のプライバシを保証できない点である(これは、現行のクレジットカードや小切手においても同様である)。つまり、クレジットカードを発行・決済する機関は、自由に利用者の購買履歴を入手できるのはもとより、また、小売店までも利用者のクレジットカード番号や署名を知ることができる。
【0005】
一方、ブラインド署名(詳細は後述する)と支払い時でのオンラインチェック(小売店が、利用者の提示した情報が二重/不正使用されていないかを、管理センタにオンラインで問い合わせること)を組み合わせることにより、上述した情報化、安全性、プライバシの問題を解決できる。しかし、各小売店が各利用者の購買時に必ずセンタにアクセスすることは、処理時間(利用者の待ち時間)、通信コスト、管理センタでのオンライン処理コスト及びデータベース維持管理コスト等を考えると、現実的な解とは言えない。従って、現金支払い時の処理はオフラインで処理できることが望ましい。
【0006】
プライバシを重視し、オフライン処理可能な電子現金方式としては、例えば、D.Chaum, A.Fiat and M.Naor, “Untraceable Electronic Cash,”Advances in Cryptology−Crypto’88, Lecture Notes in Computer Science 403, pp.319−327, Springer−Verlag, Berlin(1988)やT.Okamoto etal. “Disposable Zero−Knowledge Authentications and Their Applications to Untraceable Electronic Cash,”Advances in Cryptology−Cryto’89, Lecture Notes in Computer Science 435, pp.481−496, Springer−Verlag, Berlin(1989)、特願平2−88838号「電子現金実施方法及びその装置」などがある。
【0007】
まず、利用者のプライバシを保証するための基本技術であるブラインド署名について説明する。ブラインド署名では、署名者に文書の内容を秘密にしたままで署名を付けてもらう。RSA法に基づいた方式が文献 D.Chaum, “Security without Identification: Transaction Systems to Make Big Brother Obsolete,”Comm. of the ACM, 28, 10, pp.1030−1044(1985)で、ゼロ知識対話証明に基づいたブラインド署名が文献T.Okamoto etal. “Divertible Zero−Knowledge Interactive Proofs and Commutative Random Self−Reducible, ”The Proc. of Eurocrypt’89(1989) で示されている。
【0008】
署名の要求者は、ブラインド署名前処理によって文書(m)を乱数(r)で攪乱してブラインドメッセージ(x)を生成する。署名者は、秘密鍵を用いてxに対応する仮の署名(y)を計算する。このとき、mはrによって攪乱されているので、署名者は文書(m)を知ることはできない。要求者は、ブラインド署名後処理によってyから乱数(r)の影響を除去して、本来の文書(m)に対する真の署名(y′)を求めて、mとy′の組を検証者に送信する。検証者は、署名者の公開鍵を用いてy′がmの署名であることを確認する。ここで、検証者はyとy′の対応関係を知ることはできない。
ブラインド署名の手順
Aを署名者、Pを署名要求者、eA を署名者Aの公開情報とする。Fをブラインド署名前処理アルゴリズム、Dを多重ブラインド署名アルゴリズム、Gをブラインド署名後処理アルゴリズムとする。これらの関数の使用法は、FeAとDeAから作成した仮の署名Ω(=DeA(FeA(m1 ),…,FeA(mk ))) にGeAを施して、k個のメッセージm1 ,…,mk に対するAの真の署名B=DeA(m1 ,…,mk )を算出する。署名者Aと要求者Pは以下の手順に従って多重ブラインド署名を作成する。
【0009】
ステップ1:Pはブラインド署名前処理により、k個のメッセージ{mi |i=1,2,…,k}からk個のブラインドメッセージxi ={FeA(mi )|i=1,2,…,k}を生成して、Aに送信する。ここで、それぞれのxi =FeA(mi )は独立に計算されており、関数FeAは乱数を使用してmi を隠す。
ステップ2:Aは仮の署名Ω=DeA(FeA(m1 ),…,FeA(mk ))をk個のブラインドメッセージFeA(m1 ),…,FeA(mk )から生成して、Pに送信する。
【0010】
ステップ3:Pは、GeAを用いたブラインド署名後処理により、m1 ,…,mk に対応したAの真のディジタル署名B=DeA(m1 ,…,mk )を算出する。(ブラインド署名の手順終わり)
RSA法をブラインド署名に使用する場合には、ブラインドメッセージ(ブラインド署名前処理)を、xi =FeA(mi )=ri eA×mi mod n、ここでri は攪乱するための乱数、仮の署名を、
【0011】
【数1】
ブラインド署名後処理を、
【0012】
【数2】
とそれぞれおいて、署名は、
【0013】
【数3】
となる。このとき、検証式VeA(m1 ,…,mk ,B)は
【0014】
【数4】
のとき合格(OK)を出力する。ここで、(eA ,n)はAの使用するRSA法の公開鍵であり、次の式をみたす。
n=P×Q
eA ×dA ≡1(mod L)
ただしL=LCM{(P−1),(Q−1)}
ここで、L=LCM{a,b}はaとbの最小公倍数を、a≡b(mod n)は(a−b)がnの倍数であることを表す。以降ではdA を1/eA と表すこともある。以下の Chaum・Fiat・Naor法ではk>1の場合を、後述する実施例では、k=1の場合を想定する。
【0015】
RSA暗号の構成例は、文献 Rivest, R.L. etal. “A Method for Obtaining Digital Signatures and Public−Key Cryptosystems”,Communications of the ACM, Vol. 21, No.2, pp.120−126,(1978)に示されている。
ブラインド署名の構成法は、例えば、Chaum, D. “Blind Signature Systems ”,US Patent No.:4,759,063 や Ohta, K. etal. “Authentication System and Apparatus Therefor”,US patent No.:4,969,189 に示されている。
【0016】
ところで、利用者のブライバシーは、ブラインド署名を用いることで、利用者だけの責任において保証できる。すなわち、攪乱用の乱数rの付加と除去を利用者が実行するので、rを秘密にする限りは、誰もがy=Ωとy′=Bの対応関係を知ることはできないことに注意しよう。
ここで、代表的な電子現金方式である Chaum・Fiat・Naor法での、銀行と利用者間での電子現金の発行処理、利用者の小売店での電子現金の支払い、小売店と銀行間の決裁処理について述べる。
電子現金の発行処理
利用者Pが、銀行Aから電子現金Cを発行してもらう手順を示す。ここで、IDは利用者Pの識別情報、eA は、利用者が指定する電子現金の金額(例えば1万円)に対応する銀行のディジタル署名用の公開鍵とする。利用者が銀行から電子現金を発行してもらう手順は、以下の通りである。
【0017】
ステップ1:利用者Pは、乱数ai (ただし、i=1,…,K)を生成して、公開された一方向関数gを用いて、
xi =g(ai )
yi =g(ai (+)ID)
を求める。(+)は排他的論理和を示す。
【0018】
ステップ2:Pは、公開された一方向関数fとブラインド署名前処理関数FeAを用いて、
Wi =FeA(f(xi ,yi ))
を計算して、銀行に提示する。
ステップ3:銀行Aは、1からKの中からランダムにK/2個の部分集合U={ij }、(ただし1<j<K/2に対して1<ij <K)を選び、それを開示要求として利用者に送信する。(以下では、表記を簡単にするために、U={K/2+1,K/2+2,…,K)}が開示要求として指定されたと仮定して説明する。)K個の中からランダムにK/2個の部分集合の開示を要求する手順を「抜き打ち検査」とよぶ。
【0019】
ステップ4:利用者Pは、銀行Aから開示要求を受信すると、指定されたK/2個のai とWi を作成するために関数FeAの中で用いた乱数を銀行Aに開示する。
ステップ5:銀行Aは、開示されたK/2組のすべてについて正当性の検証を行ない、いずれかの検査に不合格のときには、以降の処理を中止する。すべての検査に合格のときには、銀行Aは開示対象でないi(ここでは、i=1,2,…,K/2)に対して、次の手順を行なう。
【0020】
ステップ6:銀行Aは、
Ω=DeA(W1 ,…,WK/2 )
を計算して、利用者Pに送信する。
ステップ7:利用者Pは、銀行からの受信データΩから電子現金Cを以下のように計算する。
【0021】
C=GeA(Ω)=DeA(f(x1 ,y1 ),…,f(xK/2,yK/2 ))
電子現金による支払
つぎに、利用者Pが銀行Aより発行された電子現金Cを用いて小売店Vで支払をする場合について説明する。それぞれのi(ただしi=1,2,…,K/2)に対して、次の処理を実行する。
【0022】
ステップ1:利用者Pは、電子現金(C)を小売店Vへ送信する。
ステップ2:小売店Vは乱数ビットei を生成して、利用者Pへ送信する。
ステップ3:利用者Pは、ei =1のときai とyi を、ei =0のときxi とai (+)IDを小売店Vへ送信する。
ステップ4:小売店Vは、銀行Aの公開鍵eA を用いて、Cがメッセージf(x1 ,y1 ),…,f(xK/2 ,yK/2 )の正しい署名であることを検査する。決済
最後に、小売店Vと銀行Aの間の決済方法について説明する。小売店Vは、利用者との電子現金使用時の交信履歴Hを銀行に提出する。銀行はHの正当性を検査し、検査に合格すれば、Hを記憶しておくと共に小売店の口座に該当する金額を払い込む(もしくは、何らかの手段で該当する金額を小売店に支払う)。銀行は、電子現金の不正使用を見つけると、Hとすでに記憶している交信履歴からCに対応して記憶しているai とai (+)IDを探し出して、不正者の識別情報IDを確定する。
【0023】
以上が Chaum・Fiat・Naor法であるが利用者が不正にCを2回使用すると、ei =1のときai ,ei =0のときai (+)IDが銀行に記憶されているので、1回目と2回目のei が異なる場合には、ai (+)(ai (+)ID)=IDが成り立つので、銀行はこれを計算してIDを検出できる。銀行は、K/2ビットを問い合わせるので、Cの二重使用を検出できない確率は2−K/2となる(通常、K=20程度が推奨されている)。
【0024】
【発明が解決しようとする課題】
従来の電子現金方法は、不正にコピーされた電子現金の使用者を特定する目的で、過去に使用された全ての電子現金の使用履歴を銀行が保持しなければならず、かつ決済時にはこれら全ての使用履歴を検索する必要があり、即時決済を行うには大容量かつ高速なデータベースが必要になるという問題がある。
【0025】
銀行が保持すべき電子コインの履歴を削減する基本的な方法は、電子コイン発行時にコイン番号を記憶しておき、決済終了後に使用済コインの番号情報を削除することである。しかしながら、電子コインの引き下ろし時にコインの番号を記憶することは、決済時にコインの使用者を特定できることになり、利用者のプライバシーを侵害する。
【0026】
コイン履歴を削減するもう一つの方法は、電子コインに有効期限を組み込み、有効期限を過ぎたものは使用できないようにすれば、有効期限の切れたコインの使用履歴は削除することができる。しかしながら、電子コイン発行時にブラインド署名を用いる場合、発行日時あるいは使用期限を示す情報がブラインド署名対象の中に正しく埋め込まれていることを銀行は確認することができない。このため、電子コインの使用期限は銀行の公開鍵を更新することで実施することになる。しかし、その場合には全利用者が保持する銀行の公開情報を更新する必要があり、公開情報を安全に入手する手間をユーザが負担することになると同時に、複数の銀行公開鍵をユーザが管理する必要が生じてしまう。
【0027】
この発明の目的は、利用者のプライバシーを保ちつつ、銀行が保持すべきデータを削減し、即時決済が容易であると共に、使用期限管理の容易な電子現金方法を提供することにある。
【0028】
【課題を解決するための手段】
この発明の一例によれば、まず、利用者Uは銀行署名SDのついた公開情報Dと引換番号Rcから署名対象Cを作成し、ブラインド署名を用いてこの署名対象Cに対する銀行署名SCを入手し、このSCは引換予定として記憶する。
その後、一定期間内に、利用者UはD,SD,RcおよびSCを銀行Aへ送付する。銀行Aは公開情報Dに基づき、SCが発行されてから一定期間内にあること、SDがDに対する銀行署名であること、引換番号Rcが記憶されていないことを確認する。更に、利用者Uと同じ手順でD,SD,RcよりCを計算し、SCがCに対する銀行署名であることを確認し、その後、コイン番号Rfを発行し、Rfに基づいて電子コインFを発行し、引換番号Rcおよびコイン番号Rfに関する情報を記憶装置へ記憶する。前記確認のいずれかを満たさなかった場合は電子コインの発行を中止する。
【0029】
支払に使用された電子コインFは決済時に銀行Aへ送信され、銀行Aはコイン番号Rfが記憶されていることを確認した後、Rfに関する情報を記憶装置から削除する。
また、公開情報Dの発行から一定期間の後、Dに基づくRcに関する情報を記憶装置から削除する。
【0030】
必要に応じて削除したRf,Rcに関する情報を外部記憶装置へ移動して保存する。
【0031】
【発明の実施の形態】
以下では、この発明の一実施例の形態について説明する。この発明の方法を実施するために、図1に示すように電子現金の発行決済を行う銀行Aの装置(以下銀行装置と記す)100と、電子コインを発行してもらったり、その電子コインによる支払いなどに利用する利用者Uの装置(以下利用者装置と記す)200と、電子コインによる支払いなど電子コインを受領する受領者Mの装置(以下受領者装置と記す)300とが用いられる。これら銀行装置100、利用者装置200、受領者装置300は通信回線で接続されたり、ICカードを介して接続され、またそれぞれの装置は専用のハードウエアで構成されてもよいし、電子計算機とソフトウエアとにより構成してもよい。
【0032】
この実施例ではまず、利用者Uの利用者装置200と銀行Aの銀行装置100との間で引換署名発行処理を行い、利用者装置200は銀行Aの公開情報Dおよび引換番号Rcに基づく銀行署名SCを得る。引換署名発行処理から一定の期間内に、利用者装置200と銀行装置100は引換処理を行い、利用者装置200は引換番号Rcの登録と引換に電子コインFを得る。
【0033】
支払時に利用者Uは利用者装置200により受領者Mの装置300に電子コインFを送信し、受領者装置300は電子コインFが正統なものであることを確認する。
決済時に、受領者Mは受領者装置300により銀行装置100に電子コインFを送信し、銀行装置100は電子コインFが正統なものであることおよび、登録済であることを確認した後、電子コインFのコイン番号Rfに関する記憶を消去する。
【0034】
また銀行装置100は公開情報Dの公開から一定期間後に、公開情報Dと関連して登録された引換番号Rcの記憶を消去する。
実施例1
準備
引換発行処理に必要な銀行装置100および利用者装置200の機能構成を図2に示す。
【0035】
まず、銀行装置100には署名アルゴリズムD1および、この署名アルゴリズムD1に対応する秘密情報S1および公開情報P1を記憶装置101に保持し、秘密情報S1を用いて公開情報、例えば本日の日付Dに対する署名SDを生成する。例えば、署名アルゴリズムD1がRSAの場合、秘密情報S1は2つの大きな素数p1,q1および整数d1であり、公開情報P1はe1およびN1であり、N1とp1,q1はN1=p1×q1の関係にあり、d1とe1はd1=1/e1 mod lcm(p1−1,q1−1)なる関係を満たす。 lcm(p1−1,q1−1)はp1−1とq1−1との最小公倍数を示す。また、署名SDはSD=Ddl mod N1を実行する署名生成器102によって生成し、検証式V1は
D=SDe1mod N1
が成立することを検証する署名検証器によって検証する。
【0036】
また、銀行装置100は電子コインの額面wi(i=1,…,n)毎に異なる公開情報Pwiと秘密情報Swiを保持し、金額対鍵対応表101aとして記憶しているものとする。ここで、秘密情報Swiは2つの大きな素数pwi、qwiおよび整数dwiであり、公開情報PwiはewiおよびNwiであり、Nwiとpwi,qwiはNwi=pwi×qwiの関係にあり、dwiとewiはdwi=1/ewi mod lcm(pwi−1,qwi−1)なる関係を満たす。
【0037】
さらに、銀行装置100は署名アルゴリズムD2および、この署名アルゴリズムに対応する秘密情報S2および公開情報P2を保持する。例えば、署名アルゴリズムD2がRSAの場合、秘密情報S2は2つの大きな素数p2,q2および整数d2であり、公開情報P2はe2およびN2であり、N2とp2,q2はN2=p2×q2の関係にあり、d2とe2はd2=1/e2 mod lcm(p2−1,q2−1)なる関係を満たす。また、署名アルゴリズムD2は署名対象Xに対してY=Xd2mod N2を計算する署名生成器によって実行し、検証式V2は
X=Ye2mod N2
が成立することを検証する署名検証器によって検証する。
【0038】
利用者装置200は、銀行装置100が公開した公開情報P1,P2および、金額対鍵対応表201aの額面wi対公開情報Pwiを記憶装置201に保持する。
引換署名発行処理
引換署名発行処理の利用者装置200の動作手順を図3に、銀行装置100の動作手順を図4に示し、これらと図2を参照して引換署名発行処理を説明する。
【0039】
利用者装置200は銀行装置100よりDおよびSDを入手する(S1)。
利用者装置200はD,SDおよび公開情報P1を署名検証器202へ入力する。署名検証器202は入力Dが本日の日付であることを確認した後、署名アルゴリズムD1に基づく検証式V1が成り立つことを検証する(S2)。
この検証が正しければ、引換番号生成器203を駆動して引換番号Rcを生成し、D,SD、および引換番号Rcをハッシュ演算器204へ入力する。ハッシュ演算器204はg()を一方向性関数として
C=g(D,SD,Rc)
を計算する。ハッシュ演算器204の出力を署名対象Cとする。続いて、乱数生成器205を駆動して乱数Rbを生成し、引き下ろし金額wiに対応する公開情報Pwiを記憶装置201内の金額対鍵対応表201aより読み出し、Pwi(ewiおよびNwi)、C、およびRbをブラインド署名前処理器206へ入力する。ブラインド署名前処理器206は
Z=C×Rbewi mod Nwi
を計算する(S3)。ブラインド署名前処理器206の出力をZとし、Zおよび引き下ろし金額情報wiを銀行装置100に送付する(S4)。
【0040】
銀行装置100は受信したwiに対応する秘密情報Swiを記憶装置101内の金額対鍵対応表101aより読み出し、Swi中のdwiおよびZを署名生成器102へ入力して
Q=Zdwi mod Nwi
を計算する(S5)。署名生成器102の出力をQとして、利用者装置200へQを返信する(S6)。
【0041】
利用者装置200はZ=Qewi mod Nwiを満すかによりQを検証し(S7)、正しければ、ブラインド署名後処理器207へRb、公開鍵情報Pwiおよび受信したQを入力し、
SC=Q/Rb mod Nwi
を計算する(S8)。ブラインド署名後処理器207の出力を引換署名SCとし、記憶装置201へ引換情報としてwi,D,SD,Rc,SCを記憶する(S9)。なお、銀行は引換署名SCを実行する際に、その利用者の預金引き下ろしなどの会計処理を行う。
引換処理
利用者は引換情報を用いて銀行から電子コインを得るが、その引換処理における銀行装置100の動作手順を図5に利用者装置200の動作手順を図6にそれぞれ示し、その場合に用いる銀行装置100および利用者装置200の機能構成を図7に示す。
【0042】
適当な時間の後、利用者は利用者装置200を用いて電子コインの引換のために、銀行装置100へ引換情報wi,D,SD,Rc,およびSCを送信する。銀行装置100は受信したD,SDおよび、記憶装置101内のD,SDを比較器103へ入力してD,SDが一致することを確認する(S10)。
D,SDが一致した場合は、Rcを検索器104へ入力して記憶装置101から引換履歴HCを読み出し、Rcが過去に使用されていないことを確認する(S11)。Rcが過去に使用されていない場合は、D,SD,Rc,SC,Pwi中のewiを署名検証器105へ入力して、
g(D,SD,Rc)=SCewi mod Nwi
を満たすことを確認する(S12)。この署名検証結果が正しければ、Rcを記憶装置101中の引換履歴HCに記憶(S13)すると共に、コイン番号生成器106を駆動してコイン番号Rfを生成し、wi,Rfを記憶装置101の発行履歴HFへ記憶する(S14)。
【0043】
その後、wi,RfおよびS2を署名生成器107へ入力して、アルゴリズムD2により、署名を生成する(S15)。署名生成器107の出力をFとして、FおよびRfを利用者装置200へ返送する(S16)。
利用者装置200は受信したF,Rfおよびwi,P2を署名検証器208へ入力し、アルゴリズムD2に基づく検証式V2が成り立つことを検証する(S17)。検証結果が正しければ、wi,F,Rfを電子コイン情報として記憶装置201へ格納する(S18)。
決済処理
支払時に利用者装置200より受領者装置300へF,wi,Rfが送付され、支払いが終了した状態では、受領者装置300の記憶装置301にF,wi,Rfが格納されているものとする。受領者Mが電子コイン情報F,wi,Rfを銀行Aで決済してもらうに必要な銀行装置100、受領者装置300の機能構成を図8に示す。
【0044】
受領者Mは決済時に受領者装置300より銀行装置100へF,wi,Rfを送付する。銀行装置100は記憶装置101から発行履歴HFを読み出し、Rfと共に検索器108へ入力してRfが記憶されていることを確認する。続いて署名検証器109へF,Rf,wiおよびP2を入力し、アルゴリズムD2に基づく検証式V2が成り立つことを検証する。検証が正しければ、発行履歴HFからRf,wiに関する情報を削除する、または、外部記憶装置110へ移動する。
引換履歴更新処理
銀行装置100は一定期間の後、以前の日付情報Dに基づいて発行した引換署名SCは期限切れになるものとし、これを図9に示すように検査し(S20)、D′,SD′を生成し、つまり署名SDをSD′へ更新する(S21)。期限切れになった日付情報Dと署名SDを記憶装置101から削除する。続いて、以前の日付情報Dに基づく引換履歴HC中の引換番号Rcを削除する、または、図10に示すように以前の日付情報Dにもとづく、Rc,Rf,wiを外部記憶装置110へ移動する。これ以降、引換処理において、以前の日付情報Dが利用者装置200から送付されてきた場合、対応する日付情報を記憶装置101から読み出せないため、比較器103での比較結果が不良となり、引換処理は中断される。
【0045】
利用者装置200中の引換番号生成器203の具体例を図11に示す。この例では乱数生成器209から生成した乱数と、その利用者装置200の利用者固有情報IdUとをハッシュ演算器210に入力して、その演算結果として引換番号Rcを得る。
また銀行装置100中のコイン番号生成器106は例えば図12に示すように、コイン番号初期値を記憶装置111に格納し、記憶装置111よりコイン番号Rfを出力すると共に、加算器112でRf=Rf+1を演算し、つまり出力しているコイン番号Rfを+1して記憶装置111に格納する。
【0046】
実施例2
ここでは、特願平7−287457「信託機関付き電子現金方法」に基づく、この発明の実施例を示す。図13にこの実施例の原理機能構成例を示す。
この実施例では、電子現金の利用者は、まず最初に、信託機関と呼ぶ機関により、利用許可証を発行してもらう。銀行(ここでは、電子現金の発行・決済者を銀行と呼ぶが、実際は、どのような機関でも良い)は、利用者の要求に従い、利用者にある金額の引換券を発行する。この引換券は、発行日を含み、利用者は一定期間内に、銀行へ引換券を送付して電子現金の発行を受ける。利用者は、その電子コインを額面金額になるまで何回でも各種小売店(受領者)の支払いに用いる。最後に、各小売店は、利用者の各支払い毎に銀行で決済を行う。
【0047】
この実施例では、信託機関の装置(以下信託機関装置と記す)400、銀行装置600、利用者装置500の各署名アルゴリズムは全てRSA方式とする。信託機関装置400は、秘密鍵dj,Njおよび、公開鍵ej,Njを保持し、利用者装置500は秘密鍵du,Nuと公開鍵eu,Nuを持つ。銀行装置600は、発行する電子コインの金額wiに対応する秘密鍵dwi及び公開鍵ewiの対と、金額に共通の法Nwを作成し、wiとewiの対応を公開する。また、法Nwに対し、登録用の秘密鍵d2と公開鍵e2をもつ。
利用許可証の発行処理
利用者は、利用許可証を信託機関装置400から発行してもらう。この手順は、それぞれの利用者が、匿名公開情報Nuの登録時に1度だけ行う。
【0048】
ステップ1 利用者装置500はNuを信託機関装置400に送信する。
ステップ2 信託機関装置400は、利用者装置500の利用者の身元を何らかの方法で確認をしたのちに、有効期限相当の情報Iを生成し、Nuおよび、Iに対する署名Bを生成する。この署名BとIを利用者装置500に送信する。
ステップ3 利用者装置500は、信託機関装置400からの受信データB、Iと匿名公開情報Nuとを利用許可証(B,I,Nu)として、記憶装置501に記憶する。
引換署名発行処理
つぎに、利用者装置500が銀行装置600から引換署名を発行してもらう手順を説明する(図14参照)。
【0049】
ステップ1 利用者装置500は、銀行装置600より、日付情報Dおよび署名SDを入手する。続いて、乱数発生器502を用いて乱数Rcを生成して、記憶装置501に記憶する。一方、その乱数Rcと記憶装置501から読みだしたBおよび、日付情報Dと署名SDより、ハッシュ演算器503を用いてg(B‖D‖SD‖Rc)を計算する。続いて乱数生成器502を駆動して乱数rを生成し、発行して欲しい利用限度額wi(金額情報:例えば1万円)と対応する公開鍵ewiおよび、金額共通の公開鍵Nwとともにブラインド署名前処理器504へ入力し、次式の処理を行う。
【0050】
Z=g(B‖D‖SD‖Rc)rewi mod Nw (1)
この処理結果Zを電子コインの金額情報wiと共に銀行装置600に送信する。
ステップ2 銀行装置600は、電子コインの金額wiに対応する秘密鍵dwiと公開鍵Nwを署名生成器602へ入力し、受信情報Zに対して次の処理を行う。
【0051】
Q=Zdwi mod Nw (2)
このQを利用者装置500に送信する。
ステップ3 利用者装置500は、乱数r、公開鍵Nwと受信情報Qとをブラインド署名後処理505へ入力し、次式の処理を行って指定した金額の引換署名SCを得る。
【0052】
SC=Q/rmod Nw (3)
ここで、SC=g(B‖D‖SD‖Rc)dwi mod Nwとなる。
引換処理
適当な時間の後、利用者は引換署名を電子コインに引き換える。以下では、この引換処理の手順を説明する(図15参照)。
【0053】
ステップ1 利用者装置500は、銀行装置600へwi,B,D,SD,RcおよびSCを送信する。
ステップ2 銀行装置600は受信したD,SDおよび、記憶装置601内のD,SDを比較器603へ入力して両D,SDが一致することを確認する。
D,SDが一致した場合は、Rcを検索器604へ入力してRcが引換履歴HCに記録されていないことを確認する。Rcが過去に使用されていない場合は、B,D,SD,Rc,SC,ewi,Nwを署名検証器605へ入力して、
g(B‖D‖SD‖Rc)=SCewi mod Nw
を満たすことを確認する。
【0054】
この署名検証結果が正しければ、Rcを引換履歴HCへ記憶し、更に、wi,Rcを発行履歴HFへ記憶する。その後、SCおよびd2を署名生成器606へ入力して、
F=SC d2 mod Nw
を計算する。署名生成器606の出力をFとして、Fを利用者装置500へ返送する。
【0055】
ステップ3 利用者装置500は受信したFおよび、wi,Rc,D,SDを電子コイン情報として記憶装置501へ格納する。
ここで、F=g(B‖D‖SD‖Rc)dwixd2mod Nwとなる。
電子コインによる支払
つぎに、利用者装置500が銀行装置600により発行された電子コインFを用いて、受領者装置700に支払いを行う場合について説明する(図16参照)。
【0056】
ステップ1 利用者装置500は、I,Nu,B,D,SD,Rc,F,wiを受領者装置700に送る。
ステップ2 受領者装置700は、受信したI,Nuおよび、記憶装置701から読み出したej,Njを署名検証器702へ入力し、I,Nuに対する署名Bの正当性を、次式を検証することにより確認する。
【0057】
Bej≡g(Nu‖I)mod Nj (4)
続いて、B,D,SD,Rcに対する署名Fの正当性、つまり電子コインFの正当性を検証するため、受信したB,D,SD,Rcおよび、記憶装置701から読み出したewi,Nw,e2を署名検証器703へ入力し、次式を満たすことを確認する。
【0058】
Fewixe2≡g(B‖D‖SD‖Rc)mod Nw (5)
この検査の何れかが不合格のときは以降の処理を中止する。
ステップ3 この両検査に合格する場合、受領者装置700は乱数生成器704を用いて乱数E′を生成し、それを受領者装置700の識別子IDv及び、タイマー705が出力する時刻印Tと共に利用者装置500に送る。
【0059】
ステップ4 利用者装置500は、電子コインFのうち金額xを使用することを決め、署名生成器506へxと受信情報T,E′,IDvを入力し、次式により署名を行う。
S=g(x‖h(IDv‖T‖E′))dumod Nu (6)
この署名S、公開鍵eu、およびxを受領者装置700に送る。
【0060】
ステップ5 受領者装置700は、署名検証器706へS,eu,Nu,T,E′,IDvを入力し、次式が成り立つことを検証する。
Seu≡g(x‖h(IDv‖T‖E′))mod N (7)
この検証に合格すれば、受領者装置700は、利用者装置500のxに該当する金額の支払いを正当なものとみなして受領する。
決済
受領者装置700と銀行装置600の間の決済方法について説明する(図17参照)。簡単のため、支払額Xと引き下ろし額wiは同じ値である、すなわち、一つの電子コインFが一度に使い切られる場合について説明する。
【0061】
ステップ1 受領者装置700は、利用者装置500との電子コイン使用時の交換履歴H、すなわちX,S,T,E′,IDv,eu,I,Nu,B,D,SD,Rc,F,wiを銀行装置600に提出する。
ステップ2 銀行装置600は、Hの正当性を検査し、電子コインによる支払時の検査と同様に、つまり、式(4),(5),(7)の各検証を行う。検証結果が異常ならば、Fを不正コインとみなし、処理を中断する。
【0062】
正常ならばRcを元に発行履歴HFを検索し、Rcに関する情報を削除する。引換履歴更新処理
日付情報Dの更新は実施例1と同様に行う。
利用許可証Bを利用する手法としては、実施例1において、署名対象Cの作成にg(B‖D‖SD‖Rc)とし、その他は実施例1の通りとしてもよい。実施例1において法Nwiは共通の法Nwとしてもよい。更に利用許可証Bを用いない場合は、実施例2で説明したように、Rc=Rfとし、かつ電子現金の支払いを乱数E、時刻印T、IDvなどを用い、金額xの分割払いを同様の手法で行うこともできる。
【0063】
以上の説明から理解されるように、この発明の利用者装置は例えば実施例1について見ると、図2,図7中の記憶装置201、署名検証器202,208、引換番号生成器203、ハッシュ演算器204、乱数生成器205、ブラインド署名前処理器206、ブラインド署名後処理器207を具備し、この利用者装置は当然受領もできるようにされるわけであるから、更に図8の受領者装置中の記憶装置301を備えることになる。
【0064】
【発明の効果】
電子コインFに関する情報がコインの使用以前に銀行に記憶されているため、決済時に、銀行はコインFに関する記憶を削除することができ、コイン検証のための公開情報P2の更新なしに、履歴情報が無制限に増大することを防ぐことができる。
【0065】
引き下ろし時に公開情報Dと署名SDを引換署名の対象に含め、一定期間毎にD,SDを更新することにより、公開情報P1を更新することなしに、引換期限を設定することができる。また、公開情報Dが日付の場合に、利用者はDが個人を特定することができない情報であることを確認することができるため、利用者のプライバシーを保ち、かつ公開情報P1を更新することなしに引換署名に引換期限を設定することができる。そのため、引換期限を過ぎた公開情報Dに基づく引換履歴は削除することができ、履歴情報が無制限に増大することを防止することができる。
【0066】
引換署名発行処理と引換処理は別々に行われ、公開情報Dはなんら利用者を特定する情報を含まないため、引換処理は匿名で実行でき、利用者のプライバシーを犯すことなく電子コインFに関する情報を銀行に記憶することができる。
決済時に、銀行は電子コインFに関する情報が記憶されていることを確認するが、この検索の対象は、未決済のコインに対してのみ行われ、従来法のように、決済の済んだすべてのコイン履歴を検索する必要はない。このため、コインの正当性検査を高速に実行することができる。
【0067】
削除した履歴情報を外部記憶装置へ移動する場合は、不正なコイン(即ち、記憶装置内にコイン番号が記憶されていないコイン)が使用された場合に、外部記憶装置へ移動したデータを参照することによって、これが銀行の記憶装置のデータ欠落あるいは銀行の不正によるものでないことを第三者へ証明することができる。
【図面の簡単な説明】
【図1】この発明の方法が適用されるシステムの原理構成を示すブロック図。
【図2】実施例一の利用者装置と銀行装置の引換署名発行処理における機能構成例を示すブロック図。
【図3】実施例一の引換署名発行処理における利用者装置の動作手順を示す流れ図。
【図4】実施例一の引換署名発行処理における銀行装置の動作手順を示す流れ図。
【図5】実施例一の引換処理における利用者装置の動作手順を示す流れ図。
【図6】実施例一の引換処理における銀行装置の動作手順を示す流れ図。
【図7】実施例一の利用者装置と銀行装置の引換処理における機能構成例を示すブロック図。
【図8】実施例一の受領者装置と銀行装置の決済処理における機能構成例を示すブロック図。
【図9】実施例一の銀行の引換履歴削除処理を示すフロー図。
【図10】実施例一の銀行装置の履歴情報更新処理における機能構成例を示すブロック図。
【図11】図2中の引換番号生成器203の構成例を示すブロック図。
【図12】図7中のコイン番号生成器106の構成例を示すブロック図。
【図13】実施例二が適用されるシステムの原理構成例を示すブロック図。
【図14】実施例二の引換署名の発行処理に必要な機能構成例を示すブロック図。
【図15】実施例二の引換処理に必要な機能構成例を示すブロック図。
【図16】実施例二の電子コインによる支払に必要な機能構成例を示すブロック図。
【図17】実施例二の決済に必要な機能構成例を示すブロック図。
Claims (8)
- 電子コインを発行する機関(以下、銀行と記す)の装置(以下、銀行装置と記す)と、電子コインを発行される者(以下、利用者と記す)の装置(以下、利用者装置と記す)とによる番号登録式電子現金方法において、
銀行装置は公開情報DおよびDに対する銀行署名SDを利用者装置に送信し、利用者装置は銀行署名SDを検証した後、公開情報D、銀行署名SDおよびランダムな引換番号Rcを用いて署名対象Cを計算し、署名対象Cを秘密情報Rbにより攪乱し、その攪乱された署名対象Zおよび引き下ろし額wiを銀行装置へ送付し、
銀行装置は攪乱された署名対象Zに対して引き下ろし額面wi相当の署名Qを付けて利用者装置へ返送し、
利用者装置は秘密情報Rbを用いて署名Qから署名対象Cに対する引換署名SCを計算し、wi,D,SD,Rc,SCを引換情報として記憶し、引換処理時に、wi,D,SD,Rc,SCを銀行装置へ送付し、
銀行装置はその引換署名SCが有効であることを確認し、引換番号Rcが既に引換履歴HCに記憶されていないことを確認した後、署名SDおよび署名SCを検証し、この署名検証結果が正しければ、引換番号Rcを引換履歴HCに記憶すると共にコイン番号Rfを生成し、このコイン番号Rfを発行履歴HFに記憶し、このコイン番号Rfに基づく電子コインFを生成し、これらの電子コインF及びコイン番号Rfを利用者装置に返送し、
決済時に、銀行装置はこれに入金された電子コインFが有効であることを確認した後、そのコイン番号Rfに関する記憶を発行履歴HFから削除することを特徴とする番号登録式電子現金方法。 - 請求項1記載の番号登録式電子現金方法において、
銀行装置は秘密情報S1,S2とそれぞれ対応した公開情報P1,P2を公開し、額面wi(i=1…n)に対する秘密情報Swiと対応する公開情報Pwiを公開し、SDは秘密情報S1による公開情報Dに対するディジタル署名とし、
上記利用者装置によるSDの検証を、上記公開情報P1を用いて行い、上記署名対象Cの計算をハッシュ演算により行い、上記攪乱された署名対象Zを、Rbで攪乱されたCをPwiでブラインド署名前処理を行って得、
上記引換署名SCを得る計算はブラインド署名後処理により行い、上記銀行装置の上記署名SDの検証は受信したD,SDと記憶していたD,SDとの比較により行い、上記署名SCの検証はブラインド署名における検証により行い、
上記電子コインFの発行はRfに対しwiを対として発行履歴HFに記憶し、wi,RfをS2により署名することにより行い上記電子コインFが有効であることの確認は電子コインFと共に送られて来たRfが発行履歴HFに記憶されていることと、電子コインFと共に送られて来たwiとF,RfをP2により署名検証して行うことを特徴とする番号登録式電子現金方法。 - 請求項2記載の番号登録式電子現金方法において、
銀行装置の秘密情報S1は2つの大きな素数p1,q1および整数d1であり、公開情報P1はe1およびN1であり、N1とp1,q1はN1=p1×q1の関係にあり、d1とe1はd1=1/elmod lcm(p1−1,q1−1)なる関係にあり、( lcm(a,b)はaとbとの最小公約数を示す)、秘密情報S2はp2,q2および整数d2であり、公開情報P2はe2およびN2であり、N2とp2,q2はN2=p2×q2の関係にあり、d2とe2はd2=1/e2mod lcm(p2−1,q2−1)なる関係にあり、秘密情報Swiはpwi,qwiおよび整数dwiであり、公開情報PwiはewiおよびNwiであり、Nwiとpwi,qwiはNwi=pwi×qwiの関係にあり、dwiとewiはdwi=1/ewi mod lcm(pwi−1,qwi−1)なる関係にあり、公開情報Dは日付であり、SDはSD=Dd1mod N1の関係を満たすDに対する署名であり、
上記利用者装置のSDに対する検証を
D=SDe1mod N1
が成り立つことかを確認することにより行い、上記署名対象Cを得るハッシュ演算をg()を一方向性関数としてC=g(D,SD,Rc)により行い、上記乱数Rbとして乱数を用い、上記ブラインド署名前処理を、
Z=C×Rbewi mod Nwi
の計算により行い、
銀行装置は上記署名QをZdwi mod Nwiの計算により求め、
利用者装置の上記ブラインド署名後処理を、
SC=Q/Rb mod Nwiの計算により行い、
銀行装置の上記ブラインド署名における検証は
g(D,SD,Rc)=SCewi mod Nwi
を満たすかにより行い、上記電子コインFの発行署名を、
F=g(wi,Rf)d2mod N2
の計算により行い、
上記決済時のP2による署名検証を、
g(wi,Rf)=Fe2mod N2
の計算を満すかにより行うことを特徴とする番号登録式電子現金方法。 - 番号登録式電子現金方法において、
信託機関装置が、秘密鍵dj,Njおよび、公開鍵ej,Njを保持し、利用者装置が秘密鍵du,Nuと公開鍵eu,Nuを持ち、
銀行装置が、発行する電子コインの金額wiに対応する秘密鍵d wi 及び公開鍵e wi の対と、金額に共通の法Nwを作成し、wiとe wi の対応を公開し、法Nwに対し、登録用の秘密鍵d2と公開鍵e2を保持し、
利用者装置が、匿名公開情報Nuを信託機関装置に送信し、
信託機関装置が、有効期限相当の情報Iを生成し、Nuおよび、Iに対する署名Bを生成し、この署名BとIを利用者装置に送信し、
利用者装置が、受信したB、Iと匿名公開情報Nuとを利用許可証(B,I,Nu)として記憶し、
利用者装置が、銀行装置より、日付情報Dおよび署名SDを入手し、秘密情報として乱数Rcを生成し、これを記憶し、その乱数Rcと読みだしたBおよび日付情報Dと署名SDよりg(B‖D‖SD‖Rc)を計算し、乱数rを生成し、発行を希望する額wiと対応する公開鍵e wi および、金額共通の公開鍵Nwとともにブラインド署名前処理器に入力して、
Z=g(B‖D‖SD‖Rc)r ewi mod Nw
の処理を行い、この処理結果Zを電子コインの金額wiと共に銀行装置に送信し、
銀行装置が、電子コインの金額wiに対応する秘密鍵d wi と公開鍵Nwを署名生成器へ入力し、受信情報Zに対して
Q=Z dwi mod Nw
の処理を行い、このQを利用者装置に送信し、
利用者装置が、乱数r、公開鍵Nwと受信情報Qとをブラインド署名後処理器に入力して
SC=Q/r mod Nw
の処理を行って指定した金額の引換署名SCを求め、
引換処理時、利用者装置が、銀行装置へwi,B,D,SD,RcおよびSCを送信し、
銀行装置が、受信したD,SDおよび、記憶装置内のD,SDを比較器へ入力して両D,SDが一致することを確認し、D,SDが一致した場合は、Rcを検索器へ入力してRcが引換履歴HCに記録されていないことを確認し、Rcが過去に使用されていない場合は、B,D,SD,Rc,SC,e wi ,Nwを署名検証器へ入力して、
g(B‖D‖SD‖Rc)=SC ewi mod Nw
を満たすことを確認し、この署名検証結果が正しければ、Rcを引換履歴HCへ記憶し、更に、wi,Rcを発行履歴HFへ記憶し、SCおよびd2を署名生成器へ入力して、
F=SC d2 mod Nw
を計算し、このFを利用者装置へ返送し、
利用者装置が、受信したFおよび、wi,Rc,D,SDを電子コイン情報として格納し、
電子コインによる支払い時、利用者装置が、I,Nu,B,D,SD,Rc,F,wiを受領者装置に送り、
受領者装置が、受信したI,Nuおよび、読み出したej,Njを署名検証器へ入力し、I,Nuに対する署名Bの正当性を、
B ej ≡g(Nu‖I) mod Nj
を検証することにより確認し、受信したB,D,SD,Rcおよび、読み出したe wi ,Nw,e2を署名検証器へ入力し、
F ewixe2 ≡g(B‖D‖SD‖Rc) mod Nw
を満たすことを確認し、これらの両検査に合格する場合、受領者装置は乱数E′を生成し、それを受領者装置の識別子IDv及び、時刻印Tと共に利用者装置に送り、
利用者装置が、署名生成器へ金額xと受信情報T,E′,IDvを入力し、
S=g(x‖h(IDv‖T‖E′)) du mod Nu
により署名Sを生成し、この署名S、公開鍵eu、およびxを受領者装置に送り、
受領者装置が、署名検証器へS,eu,Nu,T,E′,IDvを入力し、
S eu ≡g(x‖h(IDv‖T‖E′)) mod N
が成り立つことを検証し、この検証に合格すれば、受領者装置は、利用者装置のxに該当する金額の支払いを正当なものとみなして受領し、
決済時、受領者装置が、利用者装置との電子コイン使用時の交換履歴H、すなわちX,S,T,E′,IDv,eu,I,Nu,B,D,SD,Rc,F,wiを銀行装置に送信し、
銀行装置が、Hの正当性を検査し、
B ej ≡g(Nu‖I) mod Nj
F ewixe2 ≡g(B‖D‖SD‖Rc) mod Nw
S eu ≡g(x‖h(IDv‖T‖E′)) mod N
の各検証を行い、検証結果が正常ならばRcを元に発行履歴HFを検索し、Rcに関する情報を削除する、
ことを特徴とする番号登録式電子現金方法。 - 請求項1乃至3の何れかに記載の番号登録式電子現金方法において、
銀行装置は外部記憶装置を備え、
決済時に発行履歴HFから削除したRfに関する記憶を外部記憶装置へ記憶することを特徴とする番号登録式電子現金方法。 - 請求項1乃至5の何れかに記載の番号登録式電子現金方法において、
銀行装置は一定期間後に公開情報DをD′へ更新し、以前のDに関連して登録されたRcに関する情報を引換履歴HCから削除することを特徴とする番号登録式電子現金方法。 - 電子現金を発行する機関(以下、銀行と記す)の装置(以下銀行装置)と、電子現金を発行してもらうもの(以下、利用者と記す)と、信託機関の装置(以下、信託機関装置と記す)と、電子現金を受け取るもの(以下、受領者と記す)の装置(以下、受領者装置と記す)とよりなり、電子現金を実施する番号登録式電子現金方法において、
利用者装置は匿名公開情報Nuを信託機関装置へ送り、
信託機関装置はNuと利用者との対応を秘密に管理し、かつNuに対する信託機関の署名Bを生成して利用者装置へ送り、
銀行装置は公開情報D及びDに対する銀行署名SDを利用者装置へ送り、
利用者装置は署名SDを検証した後、B、D、SD、及びランダムな引換番号Rcを用いて署名対象Cを計算し、
署名対象Cを乱数rで攪乱し、攪乱された署名Z及び額面wiを銀行装置へ送り、
銀行装置はZに対し、額面wi相当の署名Qを付けて利用者装置へ送り、
利用者装置は乱数rを用いて署名Qから署名対象Cに対する署名SCを引換え証として計算し、wi、D、SD、Rc、SC、Bを保持し、
その後、利用者装置は引換情報を銀行装置へ送り、
銀行装置はD、SDが記憶されているものと一致することを確認し、かつRcが引換履歴HCにないことを確認し、署名対象Cを受信情報から計算し、署名SCを検証し、これらに合格すればRcを引換履歴HCに記憶し、かつ発行履歴HFにwi、Rcを記憶し、
SCに対する銀行署名Fを生成し、これを電子コインFとして利用者装置へ送り、
利用者装置はFとwiを保持し、
利用者装置はNu、B、D、SD、Rc、F、wiを受領者装置へ送り、
受領者装置は署名Bを検証し、かつ署名Fを検証し、共に合格の場合は、受領者の識別子IDv、時刻印T、乱数Eを利用者装置へ送り、
利用者装置は電子コインFの額面wi中の使用額xとT、E、IDvに対する署名Sを生成し、そのSとxを受領者装置へ送り、
受領者装置は署名Sを検証し、合格すれば利用者によるxの支払いを正当なものとして受領し、
受領者装置は利用者装置による電子現金支払い時に使用された交信履歴Hを銀行装置へ送り、
銀行装置はHの正当性を、前記受領者装置で行った各検証と同様のことを行って確認し、正しければRcに関する情報を発行履歴HFから削除し、かつ受領者へ金額xの支払いを行う、
ことを特徴とする番号登録式電子現金方法。 - 銀行装置の公開情報P1,P2、額面wi(i=1…n)に対応する銀行の公開情報Pwiと金額との対応表を記憶した記憶装置と、
銀行装置より受信した日付情報Dとその署名SDと上記P1を入力してDが所定の日付でありかつSDが正しい署名であることを検証する第1署名検証手段と、
ランダムな引換番号Rcを生成する引換番号生成手段と、
検証済みの上記D,SDとRcが入力され、署名対象Cを演算するハッシュ演算手段と、
乱数Rbを発生する乱数発生手段と、
額面wiと対応する公開情報Pwiと、上記Rb、Cが入力されてブラインド署名前処理を演算して結果Zを出力するブラインド署名前処理手段と、
銀行装置より受信した署名Qと上記RbとPwiが入力され、ブラインド署名後処理を演算して引換証SCを出力するブラインド署名後処理手段と、
銀行装置より受信した電子コインF、コイン番号Rfとwiを入力してF,Rfの署名検証を行う第2署名検証手段と、
上記ハッシュ演算手段に入力したRc,D,SD、これと対応するブラインド署名前処理に用いたPwiと対応するwi、また対応するSCを引換情報として、また第2署名検証手段で正当と認められたF,Rfおよびその検証に用いたwiをコイン情報として、支払により受信したコイン情報wi,F,Rfを記憶する手段と、
上記ブラインド署名前処理結果Zと対応するwi、上記引換情報、上記支払として受信したコイン情報wi,F,Rfを、それぞれ銀行装置へ送信する手段と、
支払のために上記コイン情報を受領者装置へ送付する手段と、
を具備する利用者装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23925396A JP3599492B2 (ja) | 1996-09-10 | 1996-09-10 | 番号登録式電子現金方法および利用者装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23925396A JP3599492B2 (ja) | 1996-09-10 | 1996-09-10 | 番号登録式電子現金方法および利用者装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1091696A JPH1091696A (ja) | 1998-04-10 |
JP3599492B2 true JP3599492B2 (ja) | 2004-12-08 |
Family
ID=17042019
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23925396A Expired - Lifetime JP3599492B2 (ja) | 1996-09-10 | 1996-09-10 | 番号登録式電子現金方法および利用者装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3599492B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2157001C2 (ru) * | 1998-11-25 | 2000-09-27 | Закрытое акционерное общество "Алкорсофт" | Способ проведения платежей (варианты) |
-
1996
- 1996-09-10 JP JP23925396A patent/JP3599492B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH1091696A (ja) | 1998-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6438691B1 (en) | Transmitting messages over a network | |
CA2182173C (en) | Efficient electronic money | |
US7571324B2 (en) | Method and device for anonymous signature with a shared private key | |
CN113994357A (zh) | 在终端与支付系统之间直接传输电子硬币数据记录的方法 | |
Traoré | Group signatures and their relevance to privacy-protecting offline electronic cash systems | |
EP1205889A1 (en) | Returning of change in an electronic payment system | |
Kutubi et al. | A simplified scheme for secure offline electronic payment systems | |
US7356842B2 (en) | Cryptographic revocation method using a chip card | |
CN108090751A (zh) | 电子现金系统 | |
Wang et al. | A consumer scalable anonymity payment scheme with role based access control | |
JP3388566B2 (ja) | 利用許可証付き電子小切手方法および装置 | |
JP3599492B2 (ja) | 番号登録式電子現金方法および利用者装置 | |
JP3599493B2 (ja) | 発行機関分離型番号登録式電子現金方法および利用者装置 | |
Wang et al. | Building a consumer scalable anonymity payment protocol for Internet purchases | |
JP3171227B2 (ja) | 信託機関付き電子紙幣実施方法 | |
JPH0752460B2 (ja) | 電子現金実施方法及びその装置 | |
Mao | Lightweight micro-cash for the Internet | |
JP3435682B2 (ja) | 電子現金預け入れ方法、その装置およびプログラム記録媒体 | |
JP2879792B2 (ja) | 電子現金の分割使用方法およびその装置 | |
JP3388485B2 (ja) | 匿名電子現金預け入れ方法、その装置およびプログラム記録媒体 | |
JP2631781B2 (ja) | 電子現金実施方法 | |
JPH10334164A (ja) | 電子小切手方法、その装置およびその実行プログラム記録媒体 | |
JP3435677B2 (ja) | 追跡可能な電子現金実施方法及びその装置 | |
JP3171228B2 (ja) | 複数信託機関を利用した電子紙幣実施方法 | |
Mu et al. | A new scheme of credit based payment for electronic commerce |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040601 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040730 |
|
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: 20040824 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040914 |
|
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: 20080924 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080924 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090924 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090924 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100924 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100924 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110924 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120924 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130924 Year of fee payment: 9 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |