• 検索結果がありません。

正直なユーザーの追跡不可能性

第 5 章 電子現金システムの安全性検証

5.4 安全性

5.4.2 正直なユーザーの追跡不可能性

もし,DDH問題が困難であるならば,ユーザーがある電子現金をただ1回のみ使っている 限り,そのユーザーは誰からも追跡を受けないことを示す.

定理6 ランダムオラクルモデルとDDH仮定の下では,銀行と商店が互いに結託したとして も,ユーザーが電子現金を1回のみ使うならば,その電子現金と支払プロトコルの取引履歴か らユーザーを無視できないアドバンテージで追跡する攻撃者は存在しない.

証明:

以下のような,確率的多項式時間対話型Turing機械({Bi},S,D)が存在するとする.識別者 Dは, ACMA & AIAのシナリオに従うとする.つまり,D は全ての銀行{Bi}i と商店S をcorruptすることができ,

• {Bi}iは,正直なユーザーU0とU1の双方に電子現金を発行する.VbB は,Ub と発行 プロトコルを行っている間に{Bi}i が得るviewの集合とする.

• U0 とU1 に発行された電子現金のうち,どちらか1つがS で使用される.VbS は,

Ub に発行された電子現金に関する支払プロトコルを行っている間に,S が得るview とする.

• D は,(V0B,V1B,VbS)が与えられ,bを出力する.

({Bi},S,D)は,

AdvD =|Pr[D(V0B,V1B,VbS)→b]−Pr[D(V0B,V1B,V(1b)S)→b]|=ϵ を満たすとする. ただし,ϵは無視できないとする.

このとき,({B},S,D)をオラクルとして使って,DDH問題を解くアルゴリズムDが構成 できることを示す.DH = {(p,g,ga,gb,gab)|a,b ∈ Zq}}R = {(p,g,ga,gb,gc)|a,b,c ∈ Zq} し,(p,A,B,C,D)はΠとする.ただし,A,B,C,D∈ ⟨Aである.XRYは,XをYからラ ンダムに選択して決定することを意味する.Dは,Π←R DH であるかΠ←R Rを見分ける ことが目的である.Dの構成は次のとおりである.

Step 1. Π =(p,A,B,C,D)が入力されると,Dは,システムパラメータ(p,q,g,h,z)を 次のように決定する.Dは,入力された pをそのままシステムパラメータにする.q

Aの位数で,gAとする.hは⟨g⟩からランダムに選択し, ランダムにκ ∈Zq を 選択してzgκ とする.そして,DはPKIをシミュレートし,{Bi}i と鍵生成プロトコ ルを実行する.

Step 2.Dは,bR{0,1}を選択する.そして,Dは,U0 とU1をシミュレートして,

{Bi}iS,Dで,発行プロトコルと支払プロトコルを実行する.

Step 3.U0 は,自身のID,Lmsg0,σU0B0に送り,発行プロトコルを実行する.

これをrun0 と呼ぶ. もし,B0 がランダムなビット列rndとσU0 をH1に問い合わせ,

かつb= 0ならば,Dは,z1 = H1(rnd∥ σU0)← Bκ として回答する.B0 がrndとσU0

をH1に問い合わせ,かつb=1ならば,Dは,z1 ∈ ⟨g⟩をランダムに回答する.

Step 4. U1 は,自身のIDと,run0 と同じリストLmsg1,σU1B0 に送り,発行プ ロトコルを実行する.これをrun1 と呼ぶ. もし,B0rnd とσU1 をH1 に問い合わ せ, かつb= 1ならば,Dは,z1 =H1(rnd ∥σU1)← Bκ として回答する.B0rnd とσU1 をH1に問い合わせ,かつb= 0ならば,Dは,z1 ∈ ⟨gをランダムに選択して 回答する.

Step 5. Dは,(ζ, ζ1)= (Cκ,Dκ)と設定し,ランダムにρ,{σ1,i, σ2,i, µi}i, ϵp, µp, ϵ ∈Zq を 選択する.さらに,D は,i, δi ∈ Zq|ϵ = ωii modq}i をランダムに選択する.H2

の出力は,

H2



ζ ∥ζ1gρyω1,00· ∏

j∈L\{0}

yω2,jj ∥⊎

i∈L

(gσ1,iζ1δihσ2,iζ2δizµiζδi)

zµpζϵp ∥ L



←ϵ でシミュレートする.そして,e-cash = (ζ, ζ1,{ρi, ωi, σ1,i, σ2,i, µi, δi}i,L)を電子現金と する.

Step 6.Dは,商店Sと支払プロトコルを実行し,その電子現金を使用する.もし,D

がランダムなビット列chaSから受け取ったら,Dは,

H3(zµpζϵpe-cashcha)←ϵp

と設定して,(ϵp, µp)をSに返す.

Step 7.Dは,(V0B,V1B,VbS)をDに入力してb を受け取る.

Step 8.もし,b=b ならばDtrueを出力し,b,b ならばfalseを出力する.

特に断りがない限り,ランダムオラクルは,リストに記録されている問い合わせに対しては対 応して記録されている回答を返し,そうでないものに対してはランダムに回答し,その問い合 わせと回答をリストに記録するとする.上記のように構成したDは,DDH問題を無視できな いアドバンテージで解くことが出来る.

もし,(p,A,B,C,D)∈ DH ならば, logzz1 = logAB= logCD = logζζ1 であるから,その電 子現金は, runb でのみ生成される.実際, ブラインドする成分t1,{t2,i,t3,i,t4,i,t5,i}i は,VbB

を step 5 で生成された e-cash に変形する.他方,run1b では,圧倒的確率 (1− negl1) で logzz1 ,logζζ1となるから,e-cashを生成することはできない.つまり,bは,Step 5で生成 したe-cashが,run0run1 のどちらに対応するかを決定している.よって,(V0B,V1B,VS) から正しいユーザーの追跡不可能性を破るDは,少なくとも確率(12 +ϵ)(1−negl1)で,正し いbを出力する.

一方, (p,A,B,C,D)∈ R\DHであるとき,run0,run1共に,logzz1 =logAB,logC D=logζζ1

が成り立つ.つまり,Step 5で生成されるe-cashには,確率(1−negl2)で,V0BV1Be-cash に変形できるようなブラインド要素 t1,{t2,i,t3,i,t4,i,t5,i}i が存在しない.よって, brun0,run1とは独立となり,b =bが成り立つ確率は,高々 12(1−negl2)である.

以上より,

Pr[D(Π)→true|Π∈ DH]≥ (1

2 +ϵ)(1−negl1), Pr[D(Π)→true|Π∈ R\DH]≥ 1

2(1−negl2)

が成り立つことを示した.次に,Dのアドバンテージϵ を評価する.

|Pr[D(Π)→true|Π←RDH]−Pr[D(Π)→true|Π←R R]|=ϵ (5.9) ΠRからランダムに選択されているとき,

Pr[Π∈ DH|Π←R R]= 1

q, (5.10)

Pr[Π∈ R\DH|Π←R R]= 1− 1

q (5.11)

が成り立つ.式(5.9)の左辺の第一項より,

Pr[D(Π)→true|Π←R DH]

=Pr[D(Π)→ true∧Π∈ DH|Π←RDH] +Pr[D(Π)→true∧Π∈ R\DH|Π←RDH]

=Pr[D(Π)→ true∧Π∈ DH ∧Π←R DH]/Pr[Π←R DH]

=Pr[D(Π)→ true|Π∈ DH ∧Π←RDH].

式(5.9)の左辺の第二項より,

Pr[D(Π)→true|Π←R R]

=Pr[D(Π)→ true∧Π∈ DH|Π←RR] +Pr[D(Π)→true∧Π∈ R\DH|Π←R R]

=Pr[D(Π)→ true|Π∈ DH ∧Π←RR]·Pr[Π∈ DH|Π←R R]

+Pr[D(Π)→true|Π∈ R\DH ∧Π←R R]·Pr[Π∈ R\DH|Π←RR]

= 1

qPr[D(Π)→ true|Π∈ DH ∧Π←R R] +(1− 1

q) Pr[D(Π)→true|Π∈ R\DH ∧Π←RR]. よって,

|Pr[D(Π)→true|Π←RDH]−Pr[D(Π)→true|Π←R R]| ≥(1− 1

q)(ϵ−negl1negl2) が示せた.以上で,少なくともアドバンテージ(1− 1q)(ϵ−negl1negl2)でDDH問題を解く アルゴリズムが構成できることを示した.もし,ϵ が無視できないとき,DDH仮定に矛盾す るため,DDH仮定の下では,無視できないϵを持つDは存在しないことが示せた.