JP3435677B2 - 追跡可能な電子現金実施方法及びその装置 - Google Patents

追跡可能な電子現金実施方法及びその装置

Info

Publication number
JP3435677B2
JP3435677B2 JP18754796A JP18754796A JP3435677B2 JP 3435677 B2 JP3435677 B2 JP 3435677B2 JP 18754796 A JP18754796 A JP 18754796A JP 18754796 A JP18754796 A JP 18754796A JP 3435677 B2 JP3435677 B2 JP 3435677B2
Authority
JP
Japan
Prior art keywords
user
information
electronic cash
side device
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.)
Expired - Fee Related
Application number
JP18754796A
Other languages
English (en)
Other versions
JPH09153103A (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 JP18754796A priority Critical patent/JP3435677B2/ja
Publication of JPH09153103A publication Critical patent/JPH09153103A/ja
Application granted granted Critical
Publication of JP3435677B2 publication Critical patent/JP3435677B2/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)
  • Cash Registers Or Receiving Machines (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、電気通信システ
ムを利用して電子的な現金を実施する方法及び装置に関
する。
【0002】
【従来の技術】電子現金はICカードを電子現金の財布
(電子財布)とするような形で広く使われるようにな
る。その際には、電子現金はいかなる物理媒体にも依存
しないで、情報そのものが電子現金となるような形で電
子財布に格納される形態が望ましい。
【0003】電子現金の一つの実現策は、物理的な手段
によって安全性を保証する方法である。例えば、テレホ
ンカード等の磁気カードによるプリペイドカードは、カ
ード上の磁気状態を他のカードに物理的にコピーするこ
とが困難であるということを安全性の要として成り立っ
ている。しかしながら、この安全性の前提は世の中の科
学技術の進歩にともない、必ずしも保証されなくなって
きている。さらに、この方式では、電子現金が常に物理
媒体(磁気カード等)と一体で実現されるため、情報の
形の電子現金のように通信回線で転送するようなことは
できない。
【0004】別の実現策は、クレジットカードのような
電子的IDカード(電子クレジットカードもしくは電子小
切手)を用いて、後日決済する方法である。電子クレジ
ットカードでは、手書きの署名の代わりにディジタル署
名を用いることにより、処理の完全電子化(情報化)を
実現でき、その決済用情報を通信回線で転送できる。し
かし、この方式の欠点は、利用者のプライバシを保証で
きない点である(これは、現行のクレジットカードや小
切手においても同様である)。つまり、クレジットカー
ドを発行・決済する機関は、自由に利用者の購買履歴を
入手できるのはもとより、また、小売店までも利用者の
クレジットカード番号や署名を知ることができる。
【0005】一方、ブラインド署名(詳細は後述する)
と支払い時でのオンラインチェック(小売店が、利用者
の提示した電子現金情報が二重/不正使用されていない
かを、管理センタにオンラインで問い合わせること)と
を組み合わせることにより、上述した電子現金の情報
化、安全性、プライバシの問題を解決できる。しかし、
各小売店が各利用者の購買時に必ずセンタにアクセスす
ることは、処理時間(利用者の待ち時間)、通信コス
ト、管理センタでのオンライン処理コスト及びデータベ
ース維持管理コスト等を考えると、現実的な解決方法と
は言えない。従って、現金支払い時の処理はオフライン
で処理できることが望ましい。
【0006】プライバシを重視し、オフライン処理可能
な電子現金方式としては、例えば、D.Chaum, A.Fiat an
d M.Naor,“Untraceable Electronic Cash,”Advances
inCryptology-Crypto'88, Lecture Notes in Computer
Science 403, pp.319-327,Springer-Verlag, Berlin(19
88)やT.Okamoto etal.“Disposable Zero-Knowledge Au
thentications and Their Applications to Untraceabl
e Electronic Cash,”Advances in Cryptology-Cryto'8
9, Lecture Notes in Computer Science 435, pp.481-4
96, Springer-Verlag, Berlin(1989)、日本国特許第20
27713号「電子現金実施方法及びその装置」などがあ
る。
【0007】まず、利用者のプライバシを保証するため
の基本技術であるブラインド署名について説明する。ブ
ラインド署名では、署名者に文書の内容を秘密にしたま
まで署名を付けてもらう。RSA法に基づいたブライン
ド署名方式が米国特許No.4,759,063及び文献 D.Chaum,
“Security without Identification: Transaction Sys
tems to Make Big Brother Obsolete," Comm. of the A
CM, 28, 10, pp.1030-1044(1985)で、ゼロ知識対話証明
に基づいたブラインド署名が文献T.Okamoto etal.“Div
ertible Zero-Knowledge Interactive Proofs and Comm
utative RandomSelf-Reducible," The Proc. of Eurocr
ypt'89(1989)で示されている。
【0008】ブラインド署名の要求者(利用者)は、ブ
ラインド署名前処理によって文書mを乱数rで攪乱して
ブラインドメッセージxを生成する。署名者は、秘密鍵
を用いてxに対応する仮の署名yを計算する。このと
き、mはrによって攪乱されているので、署名者は文書
mを知ることはできない。利用者は、ブラインド署名後
処理によってyから乱数rの影響を除去して、本来の文
書mに対する真の署名y'を求めて、mとy'の組を検証者
に送信する。検証者は、署名者の公開鍵を用いてy'がm
の署名であることを確認する。ここで、検証者はyとy'
の対応関係を知ることはできない。ブラインド署名の手順 Aを署名者、Uを署名要求者、eA を署名者Aの公開情
報とする。Fをブラインド署名前処理アルゴリズムを表
す関数、Dを多重ブラインド署名アルゴリズムを表す関
数、Gをブラインド署名後処理アルゴリズムを表す関数
とする。利用者Uが前処理関数FeAを使って作成した情
報に署名者Aが署名関数DeAを使って仮の署名Ω= DeA
(FeA(m1),…,FeA(mk)) を作成し、それに対し利用者U
はブラインド署名後処理GeAを施して、k個のメッセー
ジm1,…,mkに対するAの真の署名B= DeA(m1,…,mk)を
算出する。この手順は署名者Aと利用者USにより以下
の手順に従って実行され、多重ブラインド署名が作成さ
れる。
【0009】ステップ1:利用者USはブラインド署名
前処理FeAにより、k個のメッセージ{mi|i=1,2,…,k}
からk個のブラインドメッセージxi={FeA(mi)|i=1,2,
…,k}を生成して、署名者Aに送信する。ここで、それ
ぞれのブラインドメッセージxi=FeA(mi)は独立に計算
されており、関数FeAは乱数を使用してmi を秘匿化し
ている。
【0010】ステップ2:署名者Aは仮の署名Ω=D
eA(FeA(m1),…,FeA(mk))をk個のブラインドメッセージ
FeA(m1),…,FeA(mk)から生成して、利用者USに送信す
る。 ステップ3:利用者USは、関数GeAを用いたブライン
ド署名後処理により、メッセージm1,…,mkに対応した署
名者Aの真のディジタル署名B=DeA(m1,…,mk)を算出
する。
【0011】RSA法をブラインド署名に使用する場合
には、ri を攪乱用乱数とし、ブラインドメッセージ
(ブラインド署名前処理)xi 、仮の署名y、ブライン
ド署名後処理GeAをそれぞれ xi=FeA(mi)=reA×mi mod n、 y=Ω=DeA(x1,…,xk)=Π1<i<k(xi)dAmod n、 GeA(y)=Ω/(r1×…×rk)modn とおいて、署名yは y=B=Π1<i<k(mi)dAmod n となる。このとき、メッセージm1,…,mkに対する署名B
の検証VeA(m1,…,mk,B)は次式 {Π1<i<k(mi)}eA≡B(mod n) が満足するか否かによって判定され、満足すれば合格
(OK)を出力する。ここで、(eA,n)は署名者Aの使用
するRSA法の公開鍵であり、PとQをそれぞれ大きな
素数とすると次の式をみたす。
【0012】 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の倍数であることを表す。P,Q
が巨大な素数の場合、一般にnを素因数分解してP,Q
を求めることは非常に困難である。従って、nを公開し
てもP,Qの秘密を保持することができる。以降ではd
A を1/eAと表すこともある。以下の Chaum・Fiat・Naor
法ではk>1の場合を、後述するこの発明の実施例で
は、k=1の場合を想定する。
【0013】RSA暗号の構成例は、文献 Rivest, R.
L. et al.“A Method for ObtainingDigital Signature
s and Public-Key Cryptosystems," Communications of
theACM, Vol. 21, No.2, pp.120-126,(1978)に示され
ている。ブラインド署名の構成法は、例えば、Chaum,
D.“Blind Signature Systems,"US Patent No.:4,759,0
63 や Ohta, K. et al.“Authentication System and A
pparatus Therefor," US patent No.:4,969,189 に示さ
れている。
【0014】利用者のブライバシは、ブラインド署名を
用いることで、利用者だけの責任において保証できる。
即ち、攪乱用の乱数rの付加と除去を利用者が実行する
ので、rを秘密にする限りは、誰もがy=Ωとy'=Bの
対応関係を知ることはできない。しかし、文献S.von So
lms and D.Naccache,“On Blind Signature and Perfec
t Crimes," Computers and Security, 11, pp.581-583
(1992)にあるように、この方式は、お金の流れを完全に
追跡不能にできるので、逆にマネーロンダリングや誘拐
犯の完全犯罪に悪用されるおそれが指摘されている。
【0015】ここで、代表的な電子現金方式である Cha
um・Fiat・Naor法での、銀行と利用者間での電子現金の
発行処理、利用者の小売店での電子現金の支払い、小売
店と銀行間の決裁処理について述べる。電子現金の発行処理 利用者USが、銀行BKから電子現金Cを発行してもら
う手順を示す。ここで、IDは利用者USの識別情報、e
A は、利用者が指定する電子現金の金額(例えば1万
円)に対応する銀行のディジタル署名用の公開鍵とす
る。利用者が銀行から電子現金を発行してもらう手順
は、以下の通りである。
【0016】ステップ1:利用者USは、予め決めた乱
数ai (ただし、i=1,…,K)を生成して、公開された一
方向性関数gを用いて、 xi = g(ai) yi = g(ai(+)ID) を求める。(+) は排他的論理和を示す。
【0017】ステップ2:利用者USは、公開された一
方向性関数fとブラインド署名前処理関数FeAを用い
て、 Wi = FeA(f(xi,yi)) を計算して、銀行に提示する。 ステップ3:銀行BKは、1からKの中からランダムに
K/2個の部分集合H={ij}(ただしj=1,…,K/2及び1
ij K)を選び、それを開示要求として利用者に送
信する。以下では、表記を簡単にするために、H={K/2+
1,K/2+2,…,K}が開示要求として指定されたと仮定して
説明する。K個の中からランダムにK/2 個の部分集合の
開示を要求する手順をcut-and-choose(抜き打ち検査)
とよぶ。
【0018】ステップ4:利用者USは、銀行BKから
開示要求を受信すると、指定されたK/2 個のai とWi
を作成するために関数FeAの中で用いた乱数ai を銀行
BKに開示する。 ステップ5:銀行BKは、開示されたK/2組のすべて
について正当性の検証を行ない、いずれかの検査に不合
格のときには、以降の処理を中止する。すべての検査に
合格のときには、銀行BKは開示対象でないi(ここで
は、i=1,2,…,K/2)に対して、次の手順を行なう。
【0019】ステップ6:銀行BKは、 Ω= DeA(W1,…,WK/2) を計算して、利用者USに送信する。 ステップ7:利用者USは、銀行からの受信データΩか
ら電子現金Cを以下のように計算する。
【0020】 C=GeA(Ω)=DeA(f(x1,y1),…,f(xK/2,yK/2))電子現金による支払 つぎに、利用者USが銀行BKより発行された電子現金
Cを用いて小売店SHで支払をする場合について説明す
る。それぞれのi(ただしi=1,2,…,K/2)に対して、次
の処理を実行する。
【0021】ステップ1:利用者USは、電子現金Cを
小売店SHへ送信する。 ステップ2:小売店SHは乱数ビットei を生成して、
利用者USへ送信する。ステップ3:利用者USはei=1
のときai とyi を、ei=0のときxi とai(+)IDを小売
店SHへ送信する。
【0022】ステップ4:小売店SHは、銀行BKの公
開鍵eA を用いて、電子現金Cがメッセージf(x1,y1),
…,f(xK/2,yK/2)に対し正しい署名を有していることを
検査する。決済 最後に、小売店SHと銀行BKの間の決済方法について
説明する。小売店SHは、利用者との電子現金使用時の
交信履歴Hを銀行に提出する。銀行はHの正当性を検査
し、検査に合格すれば、Hを記憶しておくと共に小売店
の口座に該当する金額を払い込む。あるいは、何らかの
手段で該当する金額を小売店に支払う。銀行は、電子現
金の不正使用を見つけると、Hとすでに記憶している交
信履歴からCに対応して記憶しているai とai(+)ID を
探し出して、不正者の識別情報IDを確定する。
【0023】以上が Chaum・Fiat・Naor法であるが、利
用者は電子現金による支払時に発生した乱数ビットei=1
のときai を,ei=0のときai(+)ID を小売り店Vに送信
するため、利用者が不正にCを2回使用すると、1回目
と2回目のi番目の乱数ビットei が異なる場合には、
i とai(+)ID とが銀行に渡ることになり、銀行BKは
それらからai(+)(ai(+)ID)=IDを計算してIDを検出でき
る。銀行は、K/2 ビットを問い合わせるので、Cの二重
使用を検出できない確率は2-K/2となる。通常、K=2
0程度が推奨されている。
【0024】
【発明が解決しようとする課題】前述のブラインド署名
を用いた電子現金方式は、電子現金の流れを無条件に追
跡不能にできるので、電子現金の利用者のプライバシは
利用者だけの責任において保証される。即ち、攪乱用の
乱数rの付加と除去を利用者が実行するので、rを秘密
にする限りは誰もyとy'の対応関係を知ることはできな
い。しかし、このように無条件に匿名性を持つ方式は、
現金の流れを完全に追跡不能にできるので、その結果と
してマネーロンダリングや誘拐犯の完全犯罪に悪用され
てしまう恐れが文献S.von Solms and D. Naccache, "On
Blind Signature and Perfect Crimes," Computers an
d Security, 11, pp.581-583, 1992で指摘されている。
前述の米国特許No.4,977,595に示されている電子現金方
式も同様の問題がある。
【0025】この発明の目的は、マネーロンダリング等
の恐れがある場合には、信頼できる第三者(例えば、裁
判所等)の監督/許可のもとで、情報の流れの追跡を可
能にできるが、通常のケースでは従来どおりに情報の流
れを追跡できず利用者のプライバシを守れるような電子
現金実施方法及び装置を提供することにある。
【0026】
【課題を解決するための手段】この発明の第1の観点に
よる追跡可能な電子現金実施方法は、以下の処理ステッ
プを含む: (1) 電子現金を発行される者(以下、利用者という)が
有する装置(以下、利用者側装置という)は実名IDU
第1の秘密情報に対応した公開情報Nを、信頼できる機
関(以下、信託機関という)が有する装置(以下、信託
機関側装置という)に送信し、 (2) 上記信託機関側装置は、上記利用者の身元を確認し
たのちに、その利用者に対する仮名Iを生成し、上記仮
名I及び上記公開情報Nの少なくとも一方と上記実名ID
U の対応関係を秘密に管理し、 (3) 上記信託機関側装置は上記公開情報Nと仮名Iに対
して署名を施し、その署名と上記仮名Iを上記利用者
装置に送信し、 (4) 上記利用者側装置は、上記信託機関側装置からの上
記署名から利用許可証Bを得、その利用許可証Bを、上
記仮名Iと共に記憶し、 (5) 上記利用者側装置は、上記第1秘密情報を用いて上
記仮名Iと上記公開情報Nに対応した第2秘密情報Sを
計算して保持し、 (6) 上記利用者側装置は、電子現金を発行する機関(以
下、銀行という)が有する装置(以下、銀行側装置とい
う)に対して少なくとも乱数と上記利用許可証Bを含む
情報と金額Aを送信して電子現金の発行を要求し、 (7) 上記銀行側装置上記利用者側装置からの上記利用
許可証を含む情報に署名を与えて上記利用者側装置に電
子現金Cを含む情報として送信し、 (8) 上記利用者側装置は、上記利用許可証Bが上記公開
情報Nと上記仮名Iに対する署名になっていること、及
び上記電子現金Cが利用許可証Bのもとで使用可能なこ
とを検証した後に、上記乱数と上記の第2秘密情報Sを
用いて利用者より電子現金を受領する機関(以下、小売
店という)が有する装置(以下、小売店側装置という)
支払を行ない、 (9) 上記小売店側装置は上記電子現金Cに関する決済の
ため、上記利用者側装置との全ての交信情報を上記銀行
側装置に送信し、 (10)不正行為の可能性が生じた場合には、上記信託機関
側装置の管理する上記仮名Iと上記公開情報Nの上記少
なくとも一方と、上記実名IDU との対応関係を検索し、
上記仮名Iと上記公開情報Nを公開して不正行為を防止
可能とする。さらに、利用者の銀行に対する信頼感を向
上するために、銀行側装置の役割を複数の部分に分け
て、例えば、2つに分割し、利用者の身元を確認する部
分(以下、部局1というの装置(以下、部局1側装置
という)と、利用許可証を発行する部分(以下、部局2
というの装置(以下、部局2側装置という)に分担さ
せ、新たに部局1側装置と部局2側装置の間で引き継ぐ
情報として関連づけ情報αを導入して、部局1側装置
実名IDU と関連づけ情報αの対応を管理し、部局2側装
は関連づけ情報αと仮名Iの対応を管理するようにし
てもよい。これによって、2つの部局側装置が協力した
場合にのみ、関連づけ情報αをキーにして仮名と実名の
対応関係を得ることができる。
【0027】この発明の第2の観点による追跡可能な電
子現金実施方法は、以下の処理ステップを含む: (1) 利用者側装置は実名IDU と秘密情報に対応した公開
情報Nを信託機関側装置に送信し、 (2) 上記信託機関側装置は、上記利用者の身元を確認し
たのちに、その利用者に対する仮名Iを生成し、上記仮
名I及び上記公開情報Nの少なくとも一方と上記実名ID
U の対応関係を秘密に管理し、 (3) 上記信託機関側装置は上記公開情報Nと仮名Iに対
して署名を施し、その署名と上記仮名Iを上記利用者
装置に送信し、 (4) 上記利用者側装置は、上記信託機関側装置からの上
記署名から利用許可証Bを得、その利用許可証Bを、上
記仮名Iと共に記憶し、 (5) 上記利用者側装置は、銀行側装置に対して少なくと
も乱数bと上記利用許可証Bを含む情報と金額Aを送信
して電子現金の発行を要求し、 (6) 上記銀行側装置は上記利用者側装置からの上記利用
許可証を含む情報に署名を与えて上記利用者側装置に電
子現金Cを含む情報として送信し、 (7) 上記利用者側装置は、上記利用許可証Bが上記公開
情報Nと上記仮名Iに対する署名になっていること、及
び上記電子現金Cが利用許可証Bのもとで使用可能なこ
とを検証した後に、上記乱数bと上記秘密情報を用いて
小売店側装置へ支払を行ない、 (8) 上記小売店側装置は上記電子現金Cに関する決済の
ため、上記利用者側装置との全ての交信情報を上記銀行
側装置に送信し、 (9) 不正行為の可能性が生じた場合には、上記信託機関
側装置の管理する上記仮名Iと上記公開情報Nの上記少
なくとも一方と、上記実名IDU との対応関係を検索し、
上記仮名Iと上記公開情報Nを公開して不正行為を防止
可能する。
【0028】この発明の第3の観点による追跡可能な電
子現金を実施する装置は、利用許可証を発行し、電子現
金を発行する機関装置であり、以下を含む:利用者側装
から公開情報Nと、上記利用者の実名IDU を含む情報
を受信し、上記実名IDU に対応する仮名Iを生成する仮
名生成手段と、上記仮名Iと上記公開情報Nの少なくと
も一方と、上記実名IDU との対応関係を保持する対応関
係メモリ手段と、上記公開情報Nと上記仮名を含む情報
に対し利用許可証用秘密鍵を使って第1の署名用関数D
eBにより署名をして利用許可証Bを含む情報として上記
利用者側装置に送信する利用許可証用署名手段と、上記
利用者側装置から受信した上記利用許可証Bを含む情報
に対し第2の署名用関数DeCにより署名を行い、電子現
金情報として上記利用者側装置に送信する電子現金用署
名手段。
【0029】
【発明の実施の形態】以下では、この発明の一実施例に
ついて説明する。図1にこの発明の原理構成図を示し、
銀行側装置BK、利用者側装置US、および小売店側装
SHは例えば通信回線を介して接続されているが、情
報を記録できるICカード等を介しての接続であっても
よい。第1実施例 先ず、銀行側装置BKは、システム構築時に公開鍵例え
ばeB と秘密鍵例えばdB を生成し、公開鍵eB を公開
する。この公開鍵eB はそれぞれの利用者がこの電子現
金システムに加入する際の、利用許可証の作成/検証に
用いる。利用者は、信託機関側装置から電子現金利用の
ための許可証Bを発行してもらう。ただし、この実施例
は銀行側装置BKが利用許可証を発行する信託機関側装
をかねている場合を示している。
【0030】つぎに銀行側装置BKは電子現金の作成/
検証用に公開鍵例えばeC と秘密鍵例えばdC を生成す
る。これらの鍵の組(eC,dC) は電子現金の金額ごと例
えば、100円,500円,1000円,1万円などに
より異なっている。銀行側装置BKは署名生成アルゴリ
ズムDB とDC を保持し、これら署名法に対応する2つ
の公開鍵eB とeC を公開する。署名法としては、従来
のRSAディジタル署名法や他のブラインド署名法を使
うことができる。ここで、eB は銀行側装置BKの発行
する利用許可証の正当性の検査に使用し、eC は銀行
装置BKが発行する電子現金の正当性の検査に使用す
る。利用者側装置USは、口座番号等の識別情報IDU
用いる。利用許可証の発行処理 まず、利用者が銀行で口座を開設するとき等に、利用許
可証Bを銀行側装置BKから発行してもらう。正確に
は、利用許可証は{B,(I,N,L)} であるが、説明を簡単に
するために、Bを利用許可証とよぶ。利用者側装置が銀
行から利用許可証を発行してもらう手順は、以下の通り
である(図2参照)。この手順は、それぞれの利用者
が、口座の開設時に1度だけ行なう。
【0031】ステップ1:利用者側装置USは、素数生
成器210を用いて2つの大きな素数P,Qを生成し
て、乗算器211を用いて合成数N(N=P×Q)を計
算する。また利用者側装置USは、素数生成器210を
用いて素数Lを選んで固定する。P,Q,NとLをメモ
リ20Mに記憶する。 ステップ2:利用者側装置USは識別情報IDU をN、L
と共に銀行側装置BKに送信する。
【0032】ステップ3:銀行側装置BKは、識別情報
IDU に対応する利用者の身元を何らかの方法で確認をし
たのちに、合格のときには、仮名生成器110を用いて
仮名Iを生成して、識別情報(実名)IDU と仮名Iの対
応関係を対応表11Tを用いて秘密に管理する。 ステップ4:銀行側装置BKは、関数DeBで表される署
名生成アルゴリズムを実行するDeB計算器112を用い
て署名情報 Ψ=DeB(N,L,I)= g(N‖L‖I)dB mod nB …(1) を求めて、ΨとIを利用者側装置USに送信する。ここ
で、記号‖は連結を表す。
【0033】ステップ5:利用者側装置USは、銀行
装置BKから受信した署名情報Ψをこの例ではそのまま
利用許可証Bとして、仮名Iとともにメモリ20Mに記
憶する。 ステップ6:利用者側装置USは、メモリ20Mから読
みだした(I,P,Q,L) をべき乗根計算器212に与えて、
秘密情報S S=I1/L mod N …(2) を計算して、メモリ20Mに記憶する。
【0034】利用許可証の発行処理はこれで終了する。
ここでLは利用者側装置が固有の値を生成してもよい
し、電子現金システム全体で同一の値を使ってもよい。
後者の場合には、Lは図示してないROMに保持してお
ればよく、メモリ20Mの記憶対象とはならない。この
利用許可証発行のやりとりを通信回線で行なう場合に
は、暗号化処理を併用したほうがよい。また仮名生成器
110では、申請時刻、有効期限、通番等の情報を一方
向性関数に入力することで、仮名Iを生成したほうがよ
い。また、上述のステップ6における秘密情報Sは電子
現金の使用時に必要となる情報なので、ここで計算して
おく必要はなく、後述の電子現金による支払手順におい
て計算してもよい。電子現金の発行処理 つぎに、利用者側装置USが銀行側装置BKから電子現
金Cを発行してもらう手順を示す。ここで、eC は先に
述べたように利用者が指定する電子現金の金額(例えば
1万円)に対応する銀行側装置BKのディジタル署名用
の公開鍵である。正確には、電子現金は(C,X)であ
るが、説明を簡単にするために、Cを電子現金とよぶ。
利用者側装置USが銀行側装置BKから電子現金Cを発
行してもらう手順は、以下の通りである(図3参照)。
この場合、乱数Rにもとづく認証用情報Xを作成し、こ
れを利用許可証Bと連結した情報に対して銀行側装置
Kの署名を付けて電子現金を得るが、この署名は先に述
べたブラインド署名方法を用いる。
【0035】ステップ1:利用者側装置USは、乱数発
生器220を用いて乱数Rを生成して、メモリ20Mに
記憶し、一方、その乱数Rと利用許可証Bの成分(N,
L)より、べき乗計算器221において次式 X=RL mod N …(3) により認証用情報Xを計算する。更に、メモリ20Mか
ら読みだした利用許可証Bと認証用情報Xとから、FeC
計算器222を用いて Z=FeC(X,B) …(4) を計算し、即ちブラインド署名前処理をして、このZを
IDU (必要時のみ)及び電子現金の所望の金額情報(例
えば1万円)と共に銀行側装置BKに送信する。
【0036】ステップ2:銀行側装置BKは、電子現金
の金額に対応する秘密鍵dC を用いてDeC計算器120
を用いて Θ=DeC(Z) …(5) を求め、つまりZに対し仮署名をして利用者側装置US
に送信する。同時に、利用者の口座から該当する金額を
引き落とすか、何らかの手段で利用者から該当する金額
を受領する。なお、この実施例では、銀行側装置BKが
式(5)による仮署名をするのに先立って、従来行ったよ
うな抜き打ち検査を行わない。
【0037】ステップ3:利用者側装置USは、指定し
た金額の電子現金CをGeC計算器223を用いて C=GeC(Θ) …(6) で計算し、つまりブラインド署名後処理を行ってCを得
る。ここでは、図2における利用許可証を発行する銀行
側装置BKが図3で示すように電子現金も発行する場合
について説明したが、図3における電子現金を別の銀行
側装置又は信託機関側装置で発行することによりプライ
バシの保全及び電子現金の安全性をより高めることがで
きる。電子現金による支払 つぎに、利用者側装置USが銀行側装置BKより発行さ
れた電子現金Cを用いて、小売店側装置SHで支払うに
は次のステップを実行する(図4参照)。
【0038】ステップ1:利用者側装置USは、(N,L,
I,B,X,C)を小売店側装置SHへ送信する。 ステップ2:小売店側装置SHは利用許可証Bの(N,L,
I)に対する正当性を、VeB計算器310を用いて、Bが VeB((N,L,I),B)=OK 即ち BeB mod N =(N‖L‖I) …(7) を満たすこと、つまりBがN,L,Iに対する署名にな
っていることを確信し、更に、電子現金Cの(X,B)
に対する正当性を、VeC計算器311を用いて、Cが VeC((X,B),C)=OK 即ち CeC mod N=(X‖B) …(8) を満たすこと、つまりCがBのもとで使用可能となるこ
とをそれぞれ確認する。BとCが正当な場合には、小売
側装置SHは、質問生成器312を用いて質問E∈Z
L ={0,1,…,L-1}を生成して利用者側装置USへ送信
する。不合格の場合には、小売店側装置SHはこのプロ
トコルを停止する。
【0039】ステップ3:利用者側装置USは、小売店
側装置SHの質問に回答してメモリ20Mから秘密情報
Sと(N,R) を読みだしてべき乗剰余計算器231に引渡
し、べき乗剰余計算器231で回答Yを次のように計算
して、小売店側装置SHへ送信する。 Y=R・SE mod N …(9) ステップ4:小売店側装置SHは、べき乗剰余計算器3
13で X・IEmod N を演算し、べき乗剰余計算器314
でYL mod Nを演算し、これ等両演算結果を比較器31
5で比較する。つまり次式の関係を満たすかを検査す
る。
【0040】 YL ≡ X・IE(mod N) …(10) 式(9)で表される回答Y中のSは(2)式で与えられるか
ら、(10)式の関係を満せばこの電子現金は正しいもの
として小売店側装置SHは電子現金Cを1万円として受
理する。上述の電子現金支払手順において、利用者と小
売店の結託によって銀行側装置BKに対し決済時に不正
に金額を払い込ませることを防止するために、ステップ
2と3を次のように強化してもよい。即ちステップ2
で、小売店側装置SHは乱数dを生成し、Eを送信する
代わりに、小売店側装置SHの識別情報IDS 、時刻t、
およびdを利用者側装置USに送信すると共に、小売店
側装置SHは、E=f(IDS,t,d)でEを計算する。ここ
で、fは一方向性関数とする。ステップ3では、利用者
側装置USも同様にE=f(IDS,t,d)でEを計算する。決済 最後に、小売店側装置SHと銀行側装置BKの間の決済
方法について説明する(図5参照)。小売店側装置SH
は、利用者側装置との電子現金使用時の全ての交信履歴
H、つまり(N,L,I,B,X,C),E,Yを銀行側装置BKに
提出する。銀行側装置BKは、Hの正当性を検査し、つ
まり(7)式と(8)式が共に成立するかを検査し、この検
査に合格すれば、Hを記憶しておくと共に小売店の口座
に該当する金額を払い込む(もしくは、何らかの手段で
該当する金額を小売店に支払う)。銀行側装置BKは、
電子現金の不正使用を見つけると、仮名Iと識別情報ID
の対応関係から不正者の識別情報IDを確定する。
【0041】以上の利用許可証の発行を除く電子現金の
発行処理から決済までは米国特許No.4,977,595中の第2
実施例に記載した手法において、その利用者情報Vi
この発明の仮名Iとして処理した場合とほぼ一致してお
り、この点から、米国特許No.4,977,595中の第2実施例
に記載した、より信頼度を高めた手法もこの発明に同様
に適用できる。第2実施例 利用者の銀行に対する信頼感を向上するために、銀行
装置BKの電子現金に関わる複数の処理機能をそれぞれ
異なる部局が有する装置(以下、部局側装置という)
実行させる場合についての実施例を示す。ここでは、例
えば、利用者の身元を確認する部局側装置101、利用
許可証を発行する部局側装置102に分担した場合につ
いて図6に示す。新たに部局側装置101と部局側装置
102の間で引き継ぐ情報として関連づけ情報αを導入
する。部局側装置101は利用者の識別情報(以下では
実名とも呼ぶ)IDと関連づけ情報αとの対応を管理し、
部局側装置102は関連づけ情報αと仮名Iの対応を管
理する。これによって、2つの部局側装置101、10
2が協力した場合にのみ、関連づけ情報αをキーにして
仮名Iと実名IDの対応関係を得られるようになる。3つ
以上の部分に分割するには、同様にして新たに関連づけ
情報(α,β,γ,…)を追加すればよいのでここでは
省略する。
【0042】実施例1との実施上の相違は、利用許可証
の発行処理だけなので、以下では利用許可証発行処理に
関連する処理のみについて実施例を説明する。ただし、
パラメータLはシステム内で一意とする。銀行の部局側
装置102は署名生成アルゴリズムDB を保持する。銀
側装置BKは、この署名法に対応する公開鍵eB を公
開する。ここで、eB は銀行側装置BKの発行する利用
許可証の正当性の検査に使用する。利用者側装置US
は、口座番号等の識別情報IDU を用いる。部局側装置1
01と部局側装置102の間で引き継ぐ情報として関連
づけ情報αを用いる。利用許可証の発行処理 まず、利用者が行で口座を開設するとき等に、利用許
可証Bを銀行側装置BKから発行してもらう。正確に
は、利用許可証は(B,{I,N}) であるが、説明を簡単にす
るために、Bを利用許可証とよぶ。利用者側装置USが
銀行側装置BKから利用許可証Bを発行してもらう手順
は、以下の通りである(図6参照)。この手順は、それ
ぞれの利用者が、口座の開設時に1度だけ行なう。
【0043】ステップ1:利用者側装置USは、素数生
成器210を用いて2つの大きな素数P,Qを生成し
て、乗算器211を用いて合成数N(N=P×Q)を計
算する。P,Q,Nをメモリ20Mに記憶する。 ステップ2:利用者側装置USはFeB計算器213を用
いてN'=FeB(N)を計算し、IDU とN' を銀行側装置の部
局側装置101に送信する。
【0044】ステップ3:銀行側装置の部局側装置10
1は、利用者の身元を何らかの方法で確認をしたのち
に、合格のときには、関連情報生成器113を用いて関
連情報αを生成して、実名IDU と関連情報αの対応関係
を対応表11T1を用いて秘密に管理し、銀行側装置の部局
側装置102にαとN' を与える。 ステップ4:銀行側装置の部局側装置102は、仮名生
成器110を用いて仮名情報Iを生成して、関連情報α
と仮名Iの対応関係を対応表11T2を用いて秘密に管理す
る。
【0045】ステップ5:銀行側装置の部局側装置10
2は、DeB計算器112を用いて Ψ=DeB(N'×I) (11) を求めて、ΨとIを利用者側装置USに送信する。 ステップ6:利用者側装置USは、銀行側装置からの受
信データΨを、GeB計算器214に引き継ぎ、B=GeB
(Ψ)で利用許可証Bを計算して、仮名Iとともにメモリ
20Mに記憶する。
【0046】ステップ7:利用者側装置USは、メモリ
20Mから読みだした(I,P,Q) をべき乗根計算器212
に引きついで、秘密情報Sを S= I1/L mod N をみたすように計算して、メモリ20Mに記憶する。署
名BはVeB(N×I,B)=OKをみたすことに注意。
【0047】上記のやりとりを通信回線で行なう場合に
は、暗号化処理を併用したほうがよい。仮名生成110
では、例えば利用許可証の申請時刻、有効期限、通番等
の情報を一方向性関数に入力することで、仮名Iを生成
したほうがよい。また、第1及び第2実施例では、図2
の対応表11Tに利用者側装置の識別情報IDU と仮名を
対応させて保持させた場合を示したが、この発明の原理
はDeB計算器112による銀行側装置の署名の対象に利
用者側装置の識別情報IDU を含まないようにすると共
に、署名の対象と識別情報IDU との対応関係を対応表1
1Tに保持しておくことにある。従って、対応表11T
に保持する情報として、識別情報IDU と仮名Iの対応の
代わりに、識別情報IDU とNの対応を保持してもよい。第3実施例 図7に示す第3の実施例では電子現金として米国特許N
o.5,224,162に示されている分割利用可能な電子現金に
この発明を適用する場合を示す。この実施例も第1の実
施例と同じ原理を使っており、銀行側装置BKは、利用
側装置USの要求に従って識別情報IDU に対応する仮
名Iを生成し、その対応関係を対応表に秘密に保持する
と共に、仮名Iを使って利用許可証を発行する。その
後、銀行側装置BKは、利用者側装置USの要求に従
い、利用者側装置にある金額の電子現金を発行する。利
用者側装置は、その電子現金を額面金額になるまで何回
でも各種第三者、例えば小売店側装置SHの支払いに用
いることができる。最後に、各小売店側装置は、利用者
側装置の各支払い毎に銀行側装置で決済を行う。この実
施例においても対応表に保持する情報はIDU とIの対応
関係の代わりに、IDU とNの対応関係を保持してもよ
い。
【0048】銀行側装置BKは署名生成アルゴリズムD
B とDC を保持する。図7に示すように銀行側装置BK
は、この利用許可証発行時と電子現金発行時に使われる
署名手順において使用される2つの公開鍵eB とeC
公開する。この実施例では、ブラインド署名法として従
来のRSAディジタル署名法を使う場合について説明す
る。ここで、公開鍵eB は銀行側装置BKの発行する利
用許可証の正当性の検査に使用し、公開鍵eC は銀行
装置BKが発行する電子現金の正当性の検査に使用す
る。利用者側装置USは、例えば口座番号等の識別情報
IDU を用いる。
【0049】例えば、銀行側装置BKが利用許可証に対
応する情報として、RSAディジタル署名を用いる場合
には秘密鍵(dA,nA) 及び公開鍵(eA,nA) の対を作成して
おき、利用許可証の正当性の検査のために(eA,nA) を上
記の公開鍵eB として公開しておき、秘密鍵(dA,nA) を
上記秘密鍵dB として保持しておく。また、銀行側装置
BKが電子現金の金額に対応する情報として、RSAデ
ィジタル署名で用いる場合には秘密鍵(d'A,n'A) 及び公
開鍵(e'A,n'A) の対を作成しておき、電子現金の正当性
の検査のために(e'A,n'A) を上記の公開鍵eC としてそ
の金額と共に公開しておく。
【0050】以下の実施例では、利用許可証用の署名生
成アルゴリズムDB は DB(x)= xdAmod nA 電子現金用の署名生成アルゴリズムDC は DC(x)=xd'A mod n'A とする。また、ブラインド署名前処理関数Fe は x=Fe(m)=reA×m mod n ここでrは攪乱するための乱数、ブラインド署名後処理
e は Ge(Ψ)=Ψ/r mod n とする。
【0051】この実施例においては、分割利用可能性
(一回発行された電子現金を額面の金額になるまで何回
でも使うことが出来)を効率的に実現するために、前述
の米国特許No.5,224,162に示されている階層構成テーブ
ルと呼ばれる、木構造のテーブルを導入する。銀行側装
BKは、一方向性関数gと3つのランダム関数fΓ,
fΛ,fΩを定め公開しておく。これら3つの関数は、
階層構成テーブル(ΓテーブルとΛテーブル)の各ノー
ドの値を定めるために利用される。
【0052】この階層構成テーブルは、電子現金の金額
及びその使用最小単位(例えば、1円単位等)に対応し
て定められる。たとえば、25円単位で、100円の電
子現金を利用する場合の階層的構造テーブルを図8A及
び図8Bに示す。ここで、例えば、75円を使う場合、
ノード"00"(50円相当)とノード"010" (25円相
当)が該当するノードとなる。この該当ノードは、以下
のルールで定められる。
【0053】(a) あるノードの直下の子ノードの該当金
額の合計が、そのノードの該当金額となる。 (b) あるノードが一度使われた後は、そのノードと連結
するすべての親(先祖)ノードおよび子(子孫)ノード
は利用してはならない。 (c) 各ノードは、一回以上使用してはならない。
【0054】このルールに従うと、ノード"00"とノー
ド"010" が使用された後で、使用できるノードは、ノー
ド"011" (25円相当)のみである。つまり、上のルー
ルに従うことにより、使用できる合計金額は、額面通り
100円となると共に、25円単位でどのような使い方
でもできる。この階層的構造テーブルは、電子現金の額
面金額を大きくし、さらに利用単位金額を小さくすれ
ば、その階層が増えることになる。例えば、額面が10
0万円で、1円単位で利用できる電子現金の場合、その
階層は、およそ20となる(log2 1,000,000≒20)。
【0055】ここで、Γテーブルは、t以上の階層を持
っているものとし、利用者側装置USが小売店側装置
Hで支払う金額に対応するノードをΓj1 ・・ jt(及び、Λ
j1 ・・ jt)とする。ここで、j1,…,jt∈{0,1} である。通
常、支払い金額に対応するノードは複数あるが(例え
ば、上の例では、75円に対応するノードは、2つであ
った)、複数ノード時の支払処理は、単一ノード時の支
払い処理を単に並列に実行するだけで良いため、以下で
は、単一ノードに対する支払い処理のみを説明する。
【0056】なお、以下の手順で用いる記号の意味をこ
こでまとめて記しておく。
【0057】
【数20】 <z>QR= dz mod N では、d∈{±1,±2}であり、かつ dz mod Nが平方剰余
である。 <z>1= d'z mod N では、d'∈{1,2}であり、かつ(d'z/N)=1 である。 <z>-1= d"z mod N では、d"∈{1,2}であり、かつ (d"z/N)=-1 である。
【0058】なお、以上において、(a/b) はヤコビ記号
を意味する。ヤコビ記号の計算方法は、例えば、藤崎、
森田、山本著:「数論への出発(数学セミナ増刊号)」
(日本評論社)に記されている。利用許可証の発行処理 まず、利用者側装置USは利用許可証Bを銀行側装置
Kから発行してもらう。この手順は第1の実施例におけ
る図2に示す手順と原理的に同じであるが、ここでは素
数Lは使用していない。従って、利用許可証は{B,(I,
N)} であるが、説明を簡単にするために、Bを利用許可
証とよぶ。また、この実施例では電子現金の使用時に第
1の実施例で使用した利用者秘密情報Sを使用しない。
【0059】利用者側装置が銀行側装置から利用許可証
を発行してもらう手順は、以下の通りである(図9参
照)。この手順は、それぞれの利用者が、口座の開設時
に1度だけ行なう。 ステップ1:利用者側装置USは、素数生成器210を
用いてP≡ 3(mod 8)及びQ≡7(mod 8)をみたす2つの大
きな素数P,Qを生成して、乗算器211を用いてこれ
ら素数の合成数N(N=P×Q)を計算する。P,Q,
Nをメモリ20Mに記憶する。
【0060】ステップ2:利用者側装置USはその識別
情報IDU とNを銀行側装置BKに送信する。 ステップ3:銀行側装置BKは、利用者の身元を何らか
の方法で確認をしたのちに、合格のときには、仮名生成
器110を用いて仮名Iを生成して、識別情報(実名)
IDU と仮名I(又はN)の対応関係を対応表11Tに記
録して秘密に管理する。
【0061】ステップ4:銀行側装置BKは、DeB計算
器112を用いて下記の署名 Ψ=DeB(N,I)= g(N‖I)dBmod nB (12) を求めて、ΨとIを利用者側装置USに送信する。 ステップ5:利用者側装置USは、銀行側装置BKから
の受信データΨを利用許可証Bとして、仮名Iとともに
メモリ20Mに記憶する。
【0062】上記の利用者側装置USと銀行側装置BK
のやりとりを通信回線で行なう場合には、暗号化処理を
併用するのが好ましい。また、仮名生成器110では、
申請時刻、有効期限、通番等の情報を一方向性関数に入
力することで、仮名Iを生成したほうがよい。電子現金の発行処理 次に、利用者側装置USが銀行側装置BKから電子現金
Cを発行してもらう手順を示す。ここでeC は、利用者
側装置が指定する電子現金の金額(例えば1万円)に対
応する銀行側装置BKのディジタル署名用の公開鍵であ
る。正確には、電子現金は(C,b,B) であるが、説明を簡
単にするために、Cを電子現金とよぶ。利用者側装置
Sが銀行側装置BKから電子現金Cを発行してもらう手
順は以下の通りである(図10参照)。
【0063】ステップ1:利用者側装置USは、乱数発
生器220を用いて乱数bとrを生成して、bをメモリ
20Mに記憶し、一方、その乱数bとメモリ20Mから
読みだした利用許可証Bより、一方向性関数であるg計
算器221を用いてg(B‖b)を計算し、更に、FeC計算
器222を用いて Z=FeC(g(B‖b))=reCg(B‖b)mod nC (13) を計算し、ZをIDU (必要時のみ)、電子現金の金額情
報A(例えば1万円)と共に銀行側装置BKに送信す
る。
【0064】ステップ2:銀行側装置BKは、電子現金
の金額Aに対応する秘密鍵dC を用いてDeC計算器12
0により Θ=DeC(Z)=ZeCmod nC (14) を求め、利用者側装置USに送信する。同時に、利用
口座から該当する金額Aを引き落とすか、何らかの手
段で利用者から該当する金額Aを受領する。
【0065】ステップ3:利用者側装置USは、指定し
た金額Aの電子現金CをGeC計算器223を用いて C=GeC(Θ)=Θ/r mod nC (15) で計算する。電子現金による支払 つぎに、利用者側装置USが銀行側装置BKより発行さ
れた電子現金Cを用いて、小売店側装置SHで支払う場
合について説明する(図11及び12参照)。
【0066】ステップ1:利用者側装置USは、まず、
メモリ20Mから読みだしたC,N,P,Q からΓ計算器23
6を用いて、次式を演算し、つまりfΓ(C‖0‖N)を計
算し、かつこの値に対し、P,Qを用いて±1,±2の
何れかの補正を行ってN上での平方剰余Γ0 を求める。
【0067】
【数21】 次に、電子現金Cと利用金額に対応するノードj1…jq
とNをΩ計算器237に入力してΩj1 ・・ jq (q=1,…,t)
を生成する。
【0068】
【数22】 更に、Ωj1 ・・ jq(q=1,…,t)のjq+1べき乗をべき乗計算器
232で求め、この結果とΓ0 のN上での剰余乗算を剰
余乗算器233で求め、その乗算結果のmod N上での 1/
2t 根、つまり利用金額Aに対応するノードの値j1…jt
のべき乗根XをP,Qを用いてべき乗根計算器234で
計算する。
【0069】
【数23】 ステップ2:利用者側装置USは、メモリ20Mから読
みだしたI,N,X,B,b,Cと利用金額に対応するj1,…,jt
小売店側装置SHに送る。 ステップ3:小売店側装置SHは、(I,N) に対する署名
Bの正当性をVeB計算器310を用いて、Bが VeB((N,I),B)=OK 即ち BeB mod N= (N‖I) (19) を満たすことつまりBが(N,I) に対する署名になってい
ることを確認し、また署名Cの(B,b) に対する正当性
を、g計算器331とVeC計算器332を用いて、Cが VeC(g(B‖b),C)=OK 即ち CeC mod N=g(B‖b) (20) を満たすこと、つまりCがBのもとで使用可能なことを
確認する。この検査が不合格のときは以降の処理を中止
する ステップ4:小売店側装置SHは、ヤコビ記号計算器3
33および比較器334を用いて、Xが次の関係を満足
するかどうかを検証する。この検査が不合格のときは以
降の処理を中止する。
【0070】(X/N)=−1 次に、C,NからΓ計算器322を用いて、
【0071】
【数24】 を計算する。また、C,j1…jq,NからΩ計算器316
を用いて、Ωj1 ・・ jq(q=1,…,t)を計算する。
【0072】
【数25】 その計算結果のべき乗をべき乗計算器318で行い、Ω
2j j1 ・・ jq を得る。更に、Γ計算器322からのfΓ(C
‖0‖N)と、べき乗計算器318からのべき乗計算結果
との剰余乗算を乗算器319で行う。一方、Xの2t
をべき乗計算器317で行い、これを剰余乗算器319
の出力で剰余除算器320で除算し、その結果と±1,
±2の比較を比較器321で行い、Xが次の関係を満足
するかどうかを検証する。この検査が不合格のときは以
降の処理を中止する。
【0073】
【数26】 ここで、dは±1,±2のいずれかの値である。 ステップ5:小売店側装置SHは、この検査に合格すれ
ば、質問生成器312を用いて質問値をEi∈{0,1}(i=
1,…,K')を選び利用者側装置USに送る。 ステップ6:利用者側装置USは C,i,j1…jt,N,P,Q か
らΛ計算器235を用いて、次式によりΛi(i=1,…,
K') を計算する。つまりfΛ( )に対しP,Qを用いて
±1,±2の何れかの補正をしてN上での平方剰余Λi
を求める。
【0074】
【数27】 i=1,…,K' つぎに、べき乗根計算器231で、次式の演算をP,Q
を用いて行い、その結果Yi を小売店側装置SHに送信
する。
【0075】
【数28】 ステップ7:小売店側装置SHは、ヤコビ記号計算器3
23および比較器324を用いてYi が以下の関係をみ
たすかを検証する。この検査が不合格のときは以降の処
理を中止する。 (Yi/N)=(-1)Ei (25) 情報 C,i,j1…jt,N をΛ計算器325に入力し、Yi
べき乗計算器326でYi 2とし、そのYi 2をΛ計算器3
25の出力で剰余除算器327において剰余除算を行
い、その結果d'を比較器328を用いて±1,±2と比
較して以下の関係を満足するかどうかを検証する。
【0076】
【数29】 i=1,…,K' ここで、d'は±1,±2のいずれかの値である。この検
証に合格すれば、小売店側装置SHは、利用者側装置
Sのノードj1…jtに該当する金額の支払いを正当なもの
としてみなし、それを受けとる。
【0077】なお、上記の電子現金による支払いにおい
て、小売店側装置が利用者と結託して不正使用するのを
防ぐため、小売店側装置SHが質問生成器312から利
用者側装置USに送る質問Ei を以下のように強化して
もよい。小売店側装置SHは、乱数Ei' を生成し、それ
をEi の代わりとして小売店側装置SHの識別子IDS
び時刻印Tと共に利用者側装置USに送る。小売店側装
SH及び利用者側装置USは、それぞれ、Ei=h(IDS
‖T‖Ei')を計算する。ここで、hは一方向性関数とす
る。決済 最後に、小売店側装置SHと銀行側装置BKの間の決済
方法について説明する(図13参照)。小売店側装置
Hは、利用者側装置USとの電子現金使用時の全ての交
信履歴H={I,N,X,B,b,C,j1…jt,Ei,Yi(i=1,…,K')}を銀
側装置に提出する。銀行側装置は、Hの正当性を検査
し、検査に合格すれば、Hを記憶しておくと共に小売店
側装置SHの口座に該当する金額を払い込む(もしく
は、何らかの手段で該当する金額を小売店側装置に支払
う)。銀行側装置は、電子現金の不正使用を見つける
と、Hの情報よりI(又はN)を求めて、第三者(例え
ば裁判所)の許可のもとでI(又はN)に対応するIDを
知ることができ、不正者を特定できる。
【0078】上述において利用者側装置は階層構造テー
ブルのどのノードも2重使用できない。なぜならば、E
i が{0,1}(i=1,…,K') からランダムに選ばれることよ
り、もし、利用者側装置がいずれかのノードを2重使用
すると、銀行側装置は、Hから確率 1-(1/2)K'でNを素
因数分解することができ、それにより、利用者側装置
秘密情報P,Qを得ることが出来る。銀行側装置は、合
成数Nの素因数P,Qを不正利用の証拠とする。P,Q
を知っているのは利用者側装置USだけであることに注
意。従って、これを2重使用の証拠として何らかのペナ
ルティを利用者側装置に課すことができる。
【0079】次に、利用者側装置USは、階層構造テー
ブルのあるノードを利用した後では、そのいかなる上位
および下位のノードも使用できない。ここで、簡単のた
め、図8Bの階層構造テーブルの例で説明する。まず、
利用者側装置USがノード"00"を使うと、利用者側装置
USは、
【0080】
【数30】 を小売店側装置SHへ(最終的には銀行側装置BKへ)
送る。この後、その下位のノードである"000" を利用す
ると、利用者側装置USは、
【0081】
【数31】 を小売店側装置SHへ送らなければならない。このと
き、
【0082】
【数32】 であることにより、銀行側装置BKは、X00とX2 000 m
od Nの情報を用いて、Nを素因数分解でき、これより、
利用者側装置USの秘密情報P,Qを計算できる。同様
に、ノード"00"の利用後に、その上位ノード"0" や下位
ノード"001" を利用すると、やはり利用者側装置USの
秘密情報P,Qが銀行側装置BKにより得られることに
なる。
【0083】なお、上記の実施例では、実名と仮名の対
応関係を1つの銀行側装置BKとして実現する場合をの
べたが、図6で説明したと同様に、銀行側装置BKの機
能を複数の部局側装置に分割して、これらの部局側装置
が協力した場合にのみ、実名と仮名の対応関係を知るこ
とができるようにしてもよい。上述では署名Ψをそのま
ま利用許可証Bとしたが、署名Ψに対し何等かの処理を
施したものを利用許可証Bとしてもよい。第4実施例 上述の図7〜13で示した第3実施例において、利用者
が電子現金を使用する場合に、図11、12で示した利
用者側装置小売店側装置間で交信する情報量を削減す
るように改善した利用者側装置USと小売店側装置SH
の構成と、電子現金の支払手順を図15、16に示す。
【0084】ステップ1:利用者側装置USは、まず、
メモリ20Mから読みだしたC,N,P,Q からΓ計算器23
6を用いて、次式を演算し、つまりfΓ(C‖0‖N)を計
算し、かつこの値に対し、P,Qを用いて±1,±2の
何れかの補正を行ってN上での平方剰余Γ0 を前述の式
(16)で求める。次に、電子現金Cと利用金額に対応する
ノードj1…jq とNをΩ計算器237に入力して前述の
式(17)によりΩj1 ・・ jq (q=1,…,t) を生成する。更に、
Ωj1 ・・ jq(q=1,…,t)のjq+1べき乗をべき乗計算器232
で求め、この結果とΓ0 のN上での剰余乗算を剰余乗算
器233で求め、その乗算結果のmod N上での 1/2
t 根、つまり利用金額Aに対応するノードの値j1…jt
べき乗根XをP,Qを用いてべき乗根計算器234で前
述の式(18)により計算する。
【0085】ステップ2:利用者側装置USは、メモリ
20Mから読みだしたI,N,X,B,b,Cと利用金額に対応す
るj1,…,jtを小売店側装置SHに送る。 ステップ3:小売店側装置SHは、(I,N) に対する署名
Bの正当性をVeB計算器310を用いて、Bが前述の式
(19)を満たすことつまりBが(N,I) に対する署名になっ
ていることを確認し、また署名Cの(B,b) に対する正当
性を、g計算器331とVeC計算器332を用いて、C
が前述の式(20)を満たすこと、つまりCがBのもとで使
用可能なことを確認する。この検査が不合格のときは以
降の処理を中止する。
【0086】ステップ4:小売店側装置SHは、ヤコビ
記号計算器333および比較器334を用いて、Xが(X
/N)=-1の関係を満足するかどうかを検証する。この検査
が不合格のときは以降の処理を中止する。次に、C,N
からΓ計算器322を用いて、fΓ(C‖0‖N)を計算す
る。また、C,j1…jq,NからΩ計算器316を用い
て、Ωj1 ・・ jq(q=1,…,t) を前述の式(21)により計算す
る。
【0087】その計算結果のべき乗をべき乗計算器31
8で行い、Ω2j j1 ・・ jq を得る。更に、Γ計算器322
からのfΓ(C‖0‖N)と、べき乗計算器318からのべ
き乗計算結果との剰余乗算を乗算器319で行う。一
方、Xの2t 乗をべき乗計算器317で行い、これを剰
余乗算器319の出力で剰余除算器320で除算し、そ
の結果と±1,±2の比較を比較器321で行い、Xが
前述の式(22)の関係を満足するかどうかを検証する。こ
の検査が不合格のときは以降の処理を中止する。
【0088】ここまでの処理ステップ1〜4は、図1
1、12で説明した処理ステップ1〜4とまったく同じ
である。図14、15の変形実施例では、以降の処理ス
テップ5〜7において、利用者側装置USと小売店側装
SH間の交信情報量を削減するように改善されている
が、基本的な手順は図11、12の処理ステップ5〜7
と同様である。
【0089】ステップ5:小売店側装置SHは、ステッ
プ4で検査した利用許可証Bに対する銀行側装置BKの
署名の正当性と、電子現金Cの使用可能性が合格してい
れば、質問生成器312を用いて1つの質問値E∈Zu
={0,1,2,…,u-1} (uはセキュリティパラメータ)を
ランダムに選び利用者側装置USに送る。 ステップ6:利用者側装置USはメモリ20Mから読み
だした{C,j1,…,jt,N,P,Q}を使ってΛ計算器235によ
り、Λj1..jtを計算する。つまりfΛ( )に対し、±
1,±2の何れかの補正をP,Qを用いて行ってN上で
の剰余平方Λj1..jtを得る。
【0090】
【数33】 次に、剰余乗算器238とべき乗根計算器231を用い
て、N,P,Q,Λj1..jt及び小売店側装置SHからの質問E
から回答Yj1..jtを計算して、小売店側装置SHに送信
する。
【0091】
【数34】 ステップ7:小売店側装置SHは、ヤコビ記号計算器3
23および比較器324を用いてYj1..jtが以下の関係
をみたすかを検証する。この検査が不合格のときは以降
の処理を中止する。 (Yj1 ・・ jt/N)=1 (29) 利用者側装置USからの C,j1…jt,N をΛ計算器325
に入力し、さらにその出力とE,Nを剰余乗算器327
に入力し、Yj1..jt,Nをべき乗計算器326に入力
し、剰余除算器328によりべき乗計算器326の出力
を剰余乗算器327の出力で除算し、その結果を比較器
329を用いて±1,±2と比較して以下の関係を満足
するかどうかを検証する。
【0092】
【数35】 ここで、d'は±1,±2のいずれかの値である。この検
証に合格すれば、小売店側装置SHは、利用者側装置
Sのノードj1…jtに該当する金額の支払いを正当なもの
としてみなし、それを受けとる。なお、図11、12の
場合と同様に上記の電子現金による支払いにおいて、小
売店側装置が利用者と結託して不正使用するのを防ぐた
め、小売店側装置SHが質問生成器312から利用者
装置USに送る質問Eを以下のように強化してもよい。
小売店側装置SHは、乱数E′を生成し、それをEの代
わりとして小売店側装置SHの識別子IDS 及び時刻印T
と共に利用者側装置USに送る。小売店側装置SH及び
利用者側装置USは、それぞれ、E= h(IDS‖T‖E')を
計算する。ここで、hは一方向性関数とする。
【0093】図16に示す小売店側装置SHと銀行側装
BKの間の決済方法も図13と基本的に同じである。
小売店側装置SHは、利用者側装置USとの電子現金使
用時の交信履歴H={I,N,X,B,b,C,j1 ・・jt,E,Y}を銀行
装置に提出する。銀行側装置は、Hの正当性を検査し、
検査に合格すれば、Hを記憶しておくと共に小売店側装
の口座に該当する金額を払い込む(もしくは、何らか
の手段で該当する金額を小売店に支払う)。銀行側装置
は、電子現金の不正使用を見つけると、Hの情報よりI
(又はN)を求めて、第三者(例えば裁判所)の許可の
もとでI(又はN)に対応するIDを知ることができ、不
正者を特定できる。
【0094】図14、15、16の実施例においても利
用者側装置は階層構造テーブルのどのノードも2重使用
できない。なぜならば、EがZu={0,1,…,u-1} からラ
ンダムに選ばれることより、もし、利用者側装置がいず
れかのノードを2重使用すると、銀行側装置は、Hから
確率(1−1/u)でNを素因数分解することができ、それに
より、利用者側装置の秘密情報P,Qを得ることが出来
る。銀行側装置は、合成数Nの素因数P,Qを不正利用
の証拠とする(P,Qを知っているのは利用者側装置
Sだけである)。従って、これを2重使用の証拠として
何らかのペナルティを利用者に課すことができる。
【0095】前述の様に、図11、12の実施例では小
売店側装置SHのK' 個の質問E'に対し、利用者側装
USはK’個の回答Yi を生成して小売店側装置SH
に送る必要があった。これに対し、図14、15に示す
変形実施例では、小売店側装置SHは質問Eをランダム
に1つ選択して利用者側装置USに与え、利用者側装置
USはこれに応答して1つの回答Yj1 ・・ jtを生成して小
売店側装置SHに与えるだけでよいので、交信情報量を
削減できる。また、銀行側装置BKに送信する交信履歴
Hの情報量も削減され、かつ銀行側装置BKが交信履歴
の保存に必要なメモリの容量も少なくてすむ。
【0096】例えば、Chaum・Fiat・Naor 法では、二重
使用検出のために銀行側装置が記憶すべき交信履歴Hの
一部として、小売店側装置SHは次に示すK/2=10組の署
名データ (ai,yi) 又は (ai(+)ID,xi), i=1,…,K/2 を銀行側装置BKに渡さなければいけない。そのサイズ
は1280ビットである。一方、図14、15の実施例で
は、わずか1つの署名データYj1..jtを渡せばよい。銀
側装置が記憶すべき交信履歴Hの記憶情報量は 512ビ
ットであり、Chaum・Fiat・Naor 法の1/2以下に出来
る。
【0097】上述の第1〜4実施例において、利用者
装置USに利用許可証Bを発行する場合も、電子現金C
を発行する場合も、同じ銀行側装置BKがそれらの発行
を行う場合を示したが、利用許可証Bの発行は例えば銀
側装置とは別の信託機関側装置が行い、銀行側装置
Kは電子現金の発行と決済のみを行うようにしてもよ
い。例えば第1の実施例では図2に利用許可証Bを情報
Ψとして銀行側装置BKが発行しているが、これを図1
7に示すように、信託機関側装置40Tが実施する。利
用者側装置US及び信託機関側装置40T内の処理機能
構成は、図2に示す利用者側装置US及び銀行側装置
K内の構成とまったく同じなので対応表41T以外は図
17に示してない。同様に、図9に示す第3及び4実施
例の利用許可証Bの発行処理を信託機関側装置が行うよ
うにしてもよい。この様に利用許可証の発行を銀行側装
とは別の機関が行うことにより、銀行側装置内の不正
により利用者の実名(識別情報)IDU と公開情報N又は
Iとの対応関係が外部に漏れて悪用されたり、あるいは
外部からハッカーにより盗み出されたりすることを防ぐ
ことができる。
【0098】又、図6に示した第2実施例と同様に、図
17に示す信託機関側装置40Tの内部を図18に示す
ように複数の部局側装置401、402に分け、IDU
関連付情報αの間の対応と、関連付情報αとN,I との間
の対応をそれぞれ対応表41T1、41T2に保持するようにし
てもよい。更に、信託機関側装置40Tのこれらの部局
側装置401、402が図19に示すようにそれぞれ独
立した信託機関側装置であってもよいことは明かであ
る。図19の例では、利用許可証の発行は3つの信託機
側装置40T1、40T2、40T3を経由して行われ、それぞれ
の信託機関側装置は対応表40T1、40T2、40T3にそれぞれ
IDU 対α1、α1対α2、α2対N',I の対応関係を保持す
る。即ち、IDU とN,I の対応関係は3つの信託機関側装
が全体として保持している。裁判所の命令に従って、
全信託機関側装置40T1、40T2、40T3が協力してそれぞれ
有している対応関係を提出したときに初めてIDU とN,I
の対応関係が明らかになる。
【0099】
【発明の効果】この発明の効果は以下のとおりである。 (a) 犯罪に対する対策 信頼できる第三者(例えば裁判所)からの要請により、
銀行はIDと(I,N) の関係を公開する。これによって(I,
N) による取引は停止となる。あるいは、(I,N)による取
引を追跡することで犯人を逮捕できる。 (b) プライバシについて クレジットカードでは利用者の識別情報IDが直接小売店
に見えるので、プライバシを保証できない。この発明で
は、仮名Iだけしか小売店に見えないので、プライバシ
が高まる。Chaum ・Fiat・Naor法では、ブラインド署名
を用いるので、利用者側装置だけでプライバシを守れ
る。(しかし、そのことが犯罪の温床になることが指摘
されていることに注意。)第1実施例では銀行が利用者
のプライバシを侵すことは可能であるが、第2実施例で
は、複数の部署が結託しないかぎり、プライバシを侵す
ことは難しい。 (c) 通信量、記憶情報量について プライバシを保証できるChaum ・Fiat・Naor法とこの発
明を比較する。
【0100】Chaum ・Fiat・Naor法では、IDを電子現金
に埋め込むのが利用者側装置なので、利用者側装置が決
められたとおりに動作することを検査するために、「抜
き打ち検査技法」(K個の情報の提示とK/2個の開示
要求に答えること)が必要となり、使用許可証の発行処
理での通信量が大きくなる。また、二重使用検出のため
に銀行側装置が記憶すべき交信履歴Hの記憶情報量が大
きくなる問題もある。
【0101】従来技術では通常、K=20程度が推奨さ
れているのに対し、この発明(第1〜4実施例)では、
K=1とできるので、通信量と記憶情報量を1/20に
削減でき、これらの問題を解決できる。 (d) 2重使用について 利用者が電子現金Cを2回以上使用すると、銀行側装置
はCをキーにして、交信履歴ファイルを検索してこの事
実を検出できる。交信履歴情報には、Cと共にIが含ま
れているので、銀行は第三者(例えば裁判所)の許可の
もとで、Iに対応するIDを知ることができ、不正者を特
定できる。 (e) 二重使用について 第3及び第4実施例のいて、利用者が電子現金Cについ
て分割利用のためのノードルールに反した使用をする
と、銀行側装置はノードのべき乗根Xをキーにして、交
信履歴ファイルを検索してこの事実を検出できる。交信
履歴情報には、Cと共にI(又はN)が含まれているの
で、銀行は第三者(例えば裁判所)の許可のもとで、I
又はN)に対応するIDを知ることができ、不正者を特定
できる。 (f) その他 この発明は利用許可証を利用する既存の方式、例えばT.
Okamoto et al."Universal Electronic Cash," Advance
s in Cryptology-Crypto'91, Lecture Notes in Comput
er Science 576, pp.324-337, Springer-Verlag, Berli
n (1991), 及び米国特許No.5,224,162との整合性があ
り、Chaum・Fiat・Naor 法では実現できていない譲渡機
能や分割利用機能を実現できる。
【0102】この発明は利用許可証を利用する既存の方
式、例えば T.Okamoto etal.“Disposable Zero-Knowle
dge Authentications and Their Applications to Untr
aceable Electronic Cash,”Advances in Cryptology-C
rypto'89, Lecture Notes inComputer Science 435, p
p.481-496, Springer-Verlag, Berlin(1989)や、米国特
許No,4,977,595「電子現金実施方法及びその装置」との
整合性があり、Chaum・Fiat・Naor法では実現できてい
ない譲渡性や回数券的な使用を実現できる。
【0103】なお、第3、第4実施例において、二重使
用検出のために銀行側装置が記憶すべき交信履歴Hの記
憶情報量については、K'=10とする必要があるので、Ch
aum・Fiat・Naor 法でのK/2=10と同等である。
【図面の簡単な説明】
【図1】本発明の原理構成を示すブロック図。
【図2】利用者側装置と銀行側装置間での利用許可証発
行処理(基本形)を示すブロック図。
【図3】利用者側装置と銀行側装置間での電子現金発行
処理を示すブロック図。
【図4】利用者側装置と小売店側装置での電子現金によ
る支払処理を示すブロック図。
【図5】小売店側装置と銀行側装置間の決裁処理を示す
ブロック図。
【図6】利用者側装置と銀行側装置間での利用許可証発
行処理の他の例(機能分割形)を示すブロック図。
【図7】この発明による第3の実施例の原理構成を示す
ブロック図。
【図8】Aは電子現金の分割使用を規定する使用金額の
階層テーブルの構造図、Bは階層テーブルにおけるノー
ドの使用例を説明するための図。
【図9】図7中の利用者側装置と銀行側装置間での利用
許可証発行処理を示すブロック図。
【図10】図7中の利用者側装置と銀行側装置間での電
子現金発行処理を示すブロック図。
【図11】図7中の利用者側装置と小売店側装置での電
子現金による支払処理に関する利用者側装置の処理を示
すブロック図。
【図12】図7中の利用者側装置と小売店側装置での電
子現金による支払処理に関する小売店側装置の処理を示
すブロック図。
【図13】図7中の小売店側装置と銀行側装置間の決済
処理を示すブロック図。
【図14】図11、12の利用者側装置と小売店側装置
での電子現金による支払処理の変形例における利用者
装置の処理を示すブロック図。
【図15】図11、12の利用者側装置と小売店側装置
での電子現金による支払処理の変形例における小売店
装置の処理を示すブロック図。
【図16】図14、15の電子現金支払処理に対する小
売店側装置と銀行側装置間の決済処理を示すブロック
図。
【図17】利用許可証の発行を信託機関側装置が行う例
を示すブロック図。
【図18】図17において信託機関側装置内を複数の部
局側装置が関連付け情報αを介在させてIDとN,I の対応
を保持する例を示すブロック図。
【図19】図18において信託機関側装置の複数の部局
側装置を独立した信託機関側装置として構成した場合の
ブロック図。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 阿部 正幸 東京都千代田区内幸町1丁目1番6号 日本電信電話株式会社内 (56)参考文献 特開 平3−73065(JP,A) 特開 平4−367070(JP,A) 特開 平5−20344(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 17/60 420 G06F 17/60 410 G09C 1/00 660 JICSTファイル(JOIS)

Claims (12)

    (57)【特許請求の範囲】
  1. 【請求項1】 信頼できる機関(以下、信託機関とい
    う)が有する装置(以下、信託機関側装置という)と、
    電子現金を発行する機関(以下、銀行という)が有する
    装置(以下、銀行側装置という)と、電子現金を発行さ
    れる者(以下、利用者という)が有する装置(以下、利
    用者側装置という)と、利用者より電子現金を受領する
    機関(以下,小売店という)が有する装置(以下、小売
    店側装置という)とを備える追跡可能な電子現金実施方
    法であり、以下の処理ステップを含む: (1) 利用者側装置は実名IDU と第1秘密情報に対応した
    公開情報Nを信託機関側装置に送信し、 (2) 上記信託機関側装置は、上記利用者の身元を確認し
    たのちに、その利用者に対する仮名Iを生成し、上記仮
    名I及び上記公開情報Nの少なくとも一方と上記実名ID
    U の対応関係を秘密に管理し、 (3) 上記信託機関側装置は上記公開情報Nと仮名Iに対
    して署名を施し、その署名と上記仮名Iを上記利用者
    装置に送信し、 (4) 上記利用者側装置は、上記信託機関側装置からの上
    記署名から利用許可証Bを得、その利用許可証Bを、上
    記仮名Iと共に記憶し、 (5) 上記利用者側装置は、上記第1秘密情報を用いて上
    記仮名Iと上記公開情報Nに対応した第2秘密情報Sを
    計算して保持し、 (6) 上記利用者側装置は、銀行側装置に対して少なくと
    も乱数と上記利用許可証Bを含む情報と金額Aを送信し
    て電子現金の発行を要求し、 (7) 上記銀行側装置は上記利用者側装置からの上記利用
    許可証を含む情報に署名を与えて上記利用者側装置に電
    子現金Cを含む情報として送信し、 (8) 上記利用者側装置は、上記利用許可証Bが上記公開
    情報Nと上記仮名Iに対する署名になっていること、及
    び上記電子現金Cが利用許可証Bのもとで使用可能なこ
    とを検証した後に、上記乱数と上記の第2秘密情報Sを
    用いて小売店側装置へ支払を行ない、 (9) 上記小売店側装置は上記電子現金Cに関する決済の
    ため、上記利用者側装置との全ての交信情報を上記銀行
    側装置に送信し、 (10)不正行為の可能性が生じた場合には、上記信託機関
    側装置の管理する上記仮名Iと上記公開情報Nの上記少
    なくとも一方と、上記実名IDU との対応関係を検索し、
    上記仮名Iと上記公開情報Nを公開して不正行為を防止
    可能とする。
  2. 【請求項2】 請求項1の方法において、上記第1秘密
    情報はN=P×Qなる関係にある素数P,Qであり、 上記ステップ(5) において、上記第2秘密情報Sは、L
    を素数として S= 1/L mod N の計算により求め、 上記ステップ(6) において、上記利用者側装置は (6-1) 上記乱数Rを発生し、上記公開情報Nと上記素数
    Lと上記乱数Rから認証用情報Xを次式 X=RL mod N により計算し、 (6-2) 上記認証用情報Xと上記利用許可証Bに対し、関
    数FeCで表すブラインド署名前処理Z=FeC(X,B) を行
    い、その結果得られた情報Zを上記利用許可証Bを含む
    情報として電子現金Cの金額情報Aと共に上記銀行側装
    に送信し、 上記ステップ(7) において、上記銀行側装置は上記電子
    現金Cの金額Aに対応する秘密鍵を用いて上記情報Zに
    対して関数DeCで表すブラインド署名Θ=DeC(Z) を行
    い、その結果得られた情報Θを上記電子現金Cを含む情
    報として上記利用者側装置に送信し、 上記ステップ(8) において、上記利用者側装置は、上記
    署名Θに対し、関数GeCで表すブラインド署名後処理C
    =GeC(Θ)を行って上記電子現金Cを得、 上記小売店側装置は上記利用許可証Bの情報(N,I) に対
    する正当性と、上記電子現金Cの(X,B) に対する正当性
    を検証し、正当な場合には、上記小売店側装置は、質問
    E∈ZL={0,1,…,L-1} を上記利用者側装置へ送信し、 上記利用者側装置は、上記第2秘密情報Sと上記情報
    (N,R) と上記質問Eとから回答Y Y=R・SE mod N から計算し、この回答Yを上記小売店側装置へ送信し、 上記小売店側装置は、YL の演算と、X・IE(mod N)
    の演算とを行い、 YL ≡X・IE(mod N) を満たすかを検証し、この検証にパスすると、上記電子
    現金Cを上記金額情報Aの現金として受理する。
  3. 【請求項3】 信頼できる機関(以下、信託機関とい
    う)が有する装置(以下、信託機関側装置という)と、
    電子現金を発行する機関(以下、銀行という)が有する
    装置(以下、銀行側装置という)と、電子現金を発行さ
    れる者(以下、利用者という)が有する装置(以下、利
    用者側装置という)と、利用者より電子現金を受領する
    機関(以下,小売店という)が有する装置(以下、小売
    店側装置という)とを備える追跡可能な電子現金実施方
    法であり、以下の処理ステップを含む: (1) 利用者側装置は実名IDU と秘密情報に対応した公開
    情報Nを信託機関側装置に送信し、 (2) 上記信託機関側装置は、上記利用者の身元を確認し
    たのちに、その利用者に対する仮名Iを生成し、上記仮
    名I及び上記公開情報Nの少なくとも一方と上記実名ID
    U の対応関係を秘密に管理し、 (3) 上記信託機関側装置は上記公開情報Nと仮名Iに対
    して署名を施し、その署名と上記仮名Iを上記利用者
    装置に送信し、 (4) 上記利用者側装置は、上記信託機関側装置からの上
    記署名から利用許可証Bを得、その利用許可証Bを、上
    記仮名Iと共に記憶し、 (5) 上記利用者側装置は、銀行側装置に対して少なくと
    も乱数bと上記利用許可証Bを含む情報と金額Aを送信
    して電子現金の発行を要求し、 (6) 上記銀行側装置は上記利用者側装置からの上記利用
    許可証を含む情報に署名を与えて上記利用者側装置に電
    子現金Cを含む情報として送信し、 (7) 上記利用者側装置は、上記利用許可証Bが上記公開
    情報Nと上記仮名Iに対する署名になっていること、及
    び上記電子現金Cが利用許可証Bのもとで使用可能なこ
    とを検証した後に、上記乱数bと上記秘密情報を用いて
    小売店側装置へ支払を行ない、 (8) 上記小売店側装置は上記電子現金Cに関する決済の
    ため、上記利用者側装 との全ての交信情報を上記銀行
    側装置に送信し、 (9) 不正行為の可能性が生じた場合には、上記信託機関
    側装置の管理する上記仮名Iと上記公開情報Nの上記少
    なくとも一方と、上記実名IDU との対応関係を検索し、
    上記仮名Iと上記公開情報Nを公開して不正行為を防止
    可能する。
  4. 【請求項4】 請求項の方法において、上記秘密情報
    はN=P×Qなる関係にある素数P,Qであり、 上記ステップ(5) において、上記利用者側装置は、上記
    乱数bと上記利用許可証Bより、一方向性関数g(B‖b)
    を計算し、このg(B‖b)に対してブラインド署名前処理
    Z=FeC(g(B‖b))を計算し、その結果得られた情報Z
    を上記電子現金Cを含む情報として金額情報Aと共に上
    銀行側装置に送信し、 上記ステップ(6) において、上記銀行側装置は、その電
    子現金の上記金額Aに対応する秘密鍵を用いて上記情報
    Zに対する署名署名Θ=DeC(Z)を計算して上記利用者
    側装置に送信し、 上記ステップ(7) において、上記利用者側装置は、受信
    した上記署名Θに対しブラインド署名後処理C=G
    eC(Θ)を行って上記金額Aの上記電子現金Cを得、上記
    小売店側装置への支払のための処理は以下のステップを
    含む: (7-1) 上記利用者側装置は、上記情報C,N,P,Qか
    ら 【数1】 を計算し、また上記電子現金Cと利用金額に対応するノ
    ードj1…jqとNから 【数2】 を生成し、さらに、Γ0 ,Ωj1 ・・ jq(q=1,…,t),N,
    P,Qから利用金額に対応するノードの値のべき乗根 【数3】 を計算し、 (7-2) 上記利用者側装置は、I,N,Xj1 ・・ jt,B,
    b,C及びj1,…,jtを上記小売店側装置に送信し、 (7-3) 上記小売店側装置は、情報(I,N) に対する利用許
    可証Bの正当性を、Bが VeB((N,I),B)=OK を満たすことで確認し、上記電子現金Cの情報(B,b) に
    対する正当性を、Cが VeC(g(B‖b),C)=OK を満たすことで確認し、BとCが正当な場合には、(a/
    b) をヤコビ記号とすると (X/N)= -1 を満足するかどうかを検証し、次に、C,Nから、 【数4】 を計算し、C,j1…jq,Nから 【数5】 を計算し、さらに、fΓ(C‖0‖N),Ωj1..jq(q=1,…,
    t),Nから、Xが次の関係を満足するかどうかを検証
    し、ここで、dは±1,±2のいずれかの値であり、 【数6】 (7-4) これら全ての検査に合格すれば、上記小売店側装
    は、質問Ei∈{0,1},i=1,…,K'を生成して上記利用
    側装置へ送信し、 (7-5) 上記利用者側装置は電子現金C、利用金額に対応
    するノードの値(i,j1…jt),N,秘密情報P,Qから 【数7】 を計算し、さらにN,PとQ,Λi およびEi から 【数8】 を計算して、上記小売店側装置に送信し、 (7-6) 上記小売店側装置は、 (Yi/N)=(-1)Ei を満たすかを検証し、またC,i,j1…jt,N及びYi
    に対して、 【数9】 d'=±1or±2 であることを検証して、合格すれば上記小売店側装置
    上記ノードj1,…,jtに該当する金額として上記I,N,X,B,
    b,C,j1,…,jt,Ei,Yiを受理し、 ここで、記号の意味は以下のように定義される: <z>QR=dz mod N ではd∈{±1,±2}かつdz mod Nが平方剰余であ
    り、 [x1/2mod N]1=y' では y'2=xmod N,(y'/N)=1 かつ 0<y'< N/2,1≦t [x1/2mod N]-1=y" では y"2=xmod N,(y"/N)=-1 かつ 0<y"<N/2,1≦
    t。
  5. 【請求項5】 請求項の方法において、上記秘密情報
    はN=P×Qなる関係にある素数P,Qであり、 上記ステップ(5) において、上記利用者側装置は、上記
    乱数bと上記利用許可証Bより、一方向性関数g(B‖b)
    を計算し、このg(B‖b)に対してブラインド署名前処理
    Z=FeC(g(B‖b))を計算し、その結果得られた情報Z
    を上記電子現金Cを含む情報として金額情報Aと共に上
    銀行側装置に送信し、 上記ステップ(6) において、上記銀行側装置は、その電
    子現金の上記金額Aに対応する秘密鍵を用いて上記情報
    Zに対する署名Θ=DeC(Z) を計算して上記利用者側装
    に送信し、 上記ステップ(7) において、上記利用者側装置は、受信
    した上記署名Θに対しブラインド署名後処理C=G
    eC(Θ)を行って上記金額Aの上記電子現金Cを得、 上記小売店側装置への支払のための処理は以下のステッ
    プを含む: (7-1) 上記利用者側装置は、上記情報C,N,P,Qか
    ら 【数10】 を計算し、また上記電子現金Cと利用金額に対応するノ
    ードj1…jqとNから 【数11】 を生成し、さらに、Γ0 ,Ωj1 ・・ jq(q=1,…,t),N,
    P,Qから利用金額に対応するノードの値のべき乗根 【数12】 を計算し、 (7-2) 上記利用者側装置は、I,N,Xj1 ・・ jt,B,
    b,C及びj1,…,jtを上記小売店側装置に送信し、 (7-3) 上記小売店側装置は、情報(I,N) に対する利用許
    可証Bの正当性を、Bが VeB((N,I),B)=OK を満たすことで確認し、上記電子現金Cの情報(B,b) に
    対する正当性を、Cが VeC(g(B‖b),C)=OK を満たすことで確認し、BとCが正当な場合には、(a/
    b) をヤコビ記号とすると (X/N)= -1 を満足するかどうかを検証し、次に、C,Nから、 【数13】 を計算し、C,j1…jq,Nから 【数14】 を計算し、さらに、fΓ(C‖0‖N),Ωj1..jq(q=1,…,
    t),Nから、Xが次の関係を満足するかどうかを検証し
    (ここで、dは±1,±2のいずれかの値である)、 【数15】 (7-4) これら全ての検査に合格すれば、上記小売店側装
    は、質問E∈Zu={0,1,…,u-1} を生成して上記利用者
    側装置へ送信し、 (7-5) 上記利用者側装置は電子現金C、利用金額に対応
    するノードの値j1…jt,N,秘密情報P,Qから 【数16】 を計算し、さらにN,PとQ,Λj1..jt及びEから 【数17】 を計算して、上記小売店側装置に送信し、 (7-6) 上記小売店側装置は、 (Yj1..jt/N)=1 を満たすかを検証し、またC,j1…jt,N及びYji..
    jt に対して、 【数18】 d'=±1or±2 であることを検証して、合格すれば上記小売店側装置
    上記ノードj1,…,jtに該当する金額として上記I,N,X,B,
    b,C,j1,…,jt,E,Yj1..jtを受理し、 ここで、記号の意味は以下のように定義される: <z>QR=dz mod N ではd∈{±1,±2}かつdz mod Nが平方剰余であ
    り、 【数19】
  6. 【請求項6】 請求項又はの方法において、上記
    機関側装置が使用するRSA法の公開鍵を(eB,nB) と
    し、 nB=P×Q, eB×dB≡1(mod L), L=LCM{(P-1),(Q-1)} とすると、上記ステップ(3) における上記信託機関側装
    による上記情報(N,I)に対する署名を DeB(N,I)=(N,I)dBmod nB の計算で行い、上記ステップ(7-3) における上記利用許
    可証Bの上記情報(N,I)に対する正当性の確認を (N,I)≡BeB(mod nB) が満足するとき合格(OK)とする。
  7. 【請求項7】 請求項4又は5の方法において、上記銀
    行側装置が使用するRSA法の公開鍵を(eC,nC) とし、 nC=P×Q, eC×dC≡1(mod L), L=LCM{(P-1),(Q-1)} とし、上記ステップ(5) における上記利用者側装置によ
    る上記ブラインド署名前処理FeCの関数を、 Z=FeC(m)=reC×m mod nC とし、上記ステップ(6) における上記銀行側装置による
    上記署名DeCの関数を、 Θ=DeC(Z)=ZdC modnC とし、上記ステップ(7) における上記利用者側装置によ
    る上記ブラインド署名後処理GeCの関数を C=GeC(Θ)=Θ/r mod nC とし、上記ステップ(7-3) における上記小売店側装置側
    置による上記電子現金Cの上記情報(B,b) に対する正
    当性の確認を (B,b)≡CeC(mod nC) が成立するとき合格(OK)とする。
  8. 【請求項8】 請求項1又は3の方法において、上記信
    託機関と銀行とが統合され、信託機関側装置と銀行側装
    置が一装置として構成されている。
  9. 【請求項9】 請求項1又は3の方法において、上記信
    託機関内の複数の部局が有する装置(以下部局側装置と
    いう)が、順次互いに対応付けされたそれぞれ異なる対
    の関連付け情報αにより、上記利用者の実名ID U と、上
    記仮名I及び公開情報Nの少なくとも一方との間を順次
    対応付けさせて管理しており、上記複 数の部局側装置が
    協力した場合にのみ、上記仮名I及び公開情報Nの少な
    くとも一方と実名ID U の対応関係を、これら間の関連付
    け情報αを通して得られるようにされている。
  10. 【請求項10】 追跡可能な電子現金を実施する方法に
    従い、利用許可証を発行し、電子現金を発行する機関装
    置であり、以下を含む:電子現金を発行される者(以下、利用者という)が有す
    る装置(以下、利用者側装置という) から公開情報N
    と、上記利用者の実名IDU を含む情報を受信し、上記実
    名IDU に対応する仮名Iを生成する仮名生成手段と、 上記仮名Iと上記公開情報Nの少なくとも一方と、上記
    実名IDU との対応関係を保持する対応関係メモリ手段
    と、 上記公開情報Nと上記仮名を含む情報に対し利用許可証
    用秘密鍵を使って第1の署名用関数DeBにより署名をし
    て利用許可証Bを含む情報として上記利用者側装置に送
    信する利用許可証用署名手段と、 上記利用者側装置から受信した上記利用許可証Bを含む
    情報に対し第2の署名用関数DeCにより署名を行い、電
    子現金情報として上記利用者側装置に送信する電子現金
    用署名手段。
  11. 【請求項11】 請求項10の機関装置は、第1機関
    と第2機関装置を含み、上記第1機関装置は上記仮名
    生成手段と、上記対応関係メモリ手段と、上記利用許可
    証用署名手段とを含み、上記第2機関装置は上記電子現
    金用署名手段を含む。
  12. 【請求項12】 請求項11の機関装置において、上記
    第1機関装置は複数の部局装置を含み、上記複数の部局
    装置は、順次互いに対応付けされたそれぞれ異なる対の
    関連付け情報αにより、上記利用者の実名IDU と、上記
    仮名I及び公開情報Nの少なくとも一方との間を順次対
    応付けさせて管理する関連付けメモリを有しており、上
    記複数の部局が協力した場合にのみ、上記仮名I及び公
    開情報Nの少なくとも一方と実名IDU の対応関係を、こ
    れら間の関連付け情報αを通して得られるように構成
    れている。
JP18754796A 1995-07-17 1996-07-17 追跡可能な電子現金実施方法及びその装置 Expired - Fee Related JP3435677B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18754796A JP3435677B2 (ja) 1995-07-17 1996-07-17 追跡可能な電子現金実施方法及びその装置

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JP7-180281 1995-07-17
JP18028195 1995-07-17
JP24641595 1995-09-25
JP7-246415 1995-09-25
JP24641695 1995-09-25
JP7-246416 1995-09-25
JP18754796A JP3435677B2 (ja) 1995-07-17 1996-07-17 追跡可能な電子現金実施方法及びその装置

Publications (2)

Publication Number Publication Date
JPH09153103A JPH09153103A (ja) 1997-06-10
JP3435677B2 true JP3435677B2 (ja) 2003-08-11

Family

ID=27474926

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18754796A Expired - Fee Related JP3435677B2 (ja) 1995-07-17 1996-07-17 追跡可能な電子現金実施方法及びその装置

Country Status (1)

Country Link
JP (1) JP3435677B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2157001C2 (ru) * 1998-11-25 2000-09-27 Закрытое акционерное общество "Алкорсофт" Способ проведения платежей (варианты)
JP2002329096A (ja) * 2001-04-27 2002-11-15 Nippon Telegr & Teleph Corp <Ntt> 電子的価値交換装置
RU2512139C2 (ru) * 2008-10-14 2014-04-10 Конинклейке Филипс Электроникс Н.В. Способ и устройство для генерации и аутентификации псевдонима

Also Published As

Publication number Publication date
JPH09153103A (ja) 1997-06-10

Similar Documents

Publication Publication Date Title
US5889862A (en) Method and apparatus for implementing traceable electronic cash
Wang et al. A flexible payment scheme and its role-based access control
JP3329432B2 (ja) 階層型電子現金実施方法およびこれに用いられる装置
US7958057B2 (en) Virtual account based new digital cash protocols with combined blind digital signature and pseudonym authentication
US8442919B2 (en) Token based new digital cash protocols with combined blind digital signature and pseudonym authentication
CN113994357A (zh) 在终端与支付系统之间直接传输电子硬币数据记录的方法
Chida et al. Digital money–a survey
Wang et al. A consumer scalable anonymity payment scheme with role based access control
Hampiholi et al. Privacy-preserving webshopping with attributes
JP3435677B2 (ja) 追跡可能な電子現金実施方法及びその装置
JP2805493B2 (ja) 認証方法及びそれに用いる装置
JP3171227B2 (ja) 信託機関付き電子紙幣実施方法
Wang et al. Building a consumer scalable anonymity payment protocol for Internet purchases
JPH0752460B2 (ja) 電子現金実施方法及びその装置
JP2879792B2 (ja) 電子現金の分割使用方法およびその装置
EP4088237A1 (en) Systems and methods for compliance checks
JP2631781B2 (ja) 電子現金実施方法
Franklin et al. The blinding of weak signatures
JP3171228B2 (ja) 複数信託機関を利用した電子紙幣実施方法
JP3599493B2 (ja) 発行機関分離型番号登録式電子現金方法および利用者装置
Luo et al. An e-cash Scheme with Multiple Denominations and Transferability
Camp An atomicity-generating protocol for anonymous currencies
JP3435682B2 (ja) 電子現金預け入れ方法、その装置およびプログラム記録媒体
JP2805494B2 (ja) 認証方法及びそれに用いる装置
JP3599492B2 (ja) 番号登録式電子現金方法および利用者装置

Legal Events

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

Free format text: PAYMENT UNTIL: 20090606

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees