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

Forward-secure サーバー成りすまし不可能性

第 4 章 RFID システムの提案と安全性検証

4.6 人手による証明

4.6.4 Forward-secure サーバー成りすまし不可能性

Testクエリに対する振る舞い以外は,第4.6.2節のオラクルと同様の構成であるため,Aは,

S,F,Cのいずれかが生じない限り,各オラクルがシミュレートされたものだと識別できず,式 (4.15),(4.16),(4.17),(4.18)が同様に成り立つ.以上をまとめ,第4.6.2節と同様に評価する ことで,次の式が得られる.

Pr[Bwins]≥ Pr[Awins∧G∧ ¬S∧ ¬F∧ ¬C]

= 1 n ·

(

1− qH +1

|key| )2

· (

1− 2t! 2nt(2tn)!

)

·AdvAFT I.

攻撃者Bの成功確率が無視できるとすると,攻撃者Aの成功確率も無視できることが示 せた.

対して

S K2 = H2,A(S K1,ID) :=H2,B(S K1,ID), ...

S Ki1 = H2,A(S Ki2,ID) := H2,B(S Ki2,ID)

と設定する.また,H2,Bに問い合わせを行い,H2,Aに対して S Ki+2 = H2,A(S Ki+1,ID) := H2,B(S Ki+1,ID),

...

S Kn = H2,A(S Kn−1,ID) := H2,B(S Kn−1,ID) と設定する.

そして,Bは,IDをAに与え,Aを動作させる.

■ラ ン ダ ム オ ラ ク ル の シ ミ ュ レ ー ト 第 4.6.2 節 と 同 様 に ,特 に 断 り が な い 限 り , OH0,A,OH1,A,OH2,A へ の 問 い 合 わ せ は ,そ の ま ま OH0,B,OH1,B,OH2,B に 転 送 さ れ , OH0,B,OH1,B,OH2,Bからの出力をそのまま返す.

■SAのシミュレート 第4.6.2節と同様の手順で,シミュレートを行う.

j,i,i+1の場合:

– ()を受け取ったら,Xsid

← {R 0,1}t を選択して,Xsid を出力する.

– αsid, βsidを受け取ったら,

∗ βsid = H0,A(S Kj,ID,Xsid, αsid) が成立すれば,ZsidH1,A(S Kj,ID,Xsid, αsid) を計算し,Zsidを返す.

∗ βsid = H0,A(S Kj1,ID,Xsid, αsid)が成立すれば,ZsidH1,A(S Kj1,ID,Xsid, αsid) を計算し,Zsidを返す.

成立しなければ,Zsid

R h1 を返す.

j=iの場合:

– ()を受け取ったら,()をSBに送って,Xsid を受け取り,Xsidを出力する.

– αsid, βsidを受け取ったら,

∗ βsid = H0,A(S Ki1,ID,Xsid, αsid)が成立すれば,ZsidH1,A(S Ki1,ID,Xsid, αsid) を計算し,Zsidを返す.

成立しなければ,αsid, βsidをSBに送って,Zsid を受け取り,Zsidを返す.

j=i+1の場合:

– ()を受け取ったら,()をSBに送って,Xsid を受け取り,Xsidを出力する.

– αsid, βsidを受け取ったら,

∗ βsid = H0,A(S Ki+1,ID,Xsid, αsid)が成立すれば,ZsidH1,A(S Ki+1,ID,Xsid, αsid) を計算し,Zsidを返す.

∗ 成立しなければ,αsid, βsidをSBに送って,Zsid を受け取り,Zsidを返す.

■TA のシミュレート 第4.6.2節とほぼ同様にシミュレートを行うが,Testクエリに対する 振る舞いのみが異なる.

j,iの場合:

Xsid を受け取ったら,αsid

← {R 0,1}t を選択し,βsidH0,A(S Kj,ID,Xsid, αsid)を計 算し,(αsid, βsid)を出力する.

Zsidを受け取ったら()を出力する.

Reveal(sid)クエリ を受け取ったら,

j<iの場合,動作を停止する.

j>iの場合,S Kj を返す.

Testクエリ を受け取ったら,動作を停止する.

j=iの場合:

Xsidを受け取ったら,XsidをTBに送り,(αsid, βsid)を受け取り,(αsid, βsid)を返す.

Zsidを受け取ったら,Zsid をTBに送り,()を受け取り,()を返す.

Reveal(sid)クエリを受け取ったら,動作を停止する.

Test(X)クエリを受け取ったら,XChallengeオラクルに送り,(α, β)を受け 取り,(α, β)を返す.Test(Z)を受け取ったら,それをChallengeオラクルに送 り,動作を停止する.

Aが攻撃の対象とするセッション鍵のインデックスiの推測に成功し,Aが攻撃に成功する とき,Bも攻撃に成功することを示す.G,S,F,Cは,第4.6.2節と同じイベントとする.

セッション鍵のインデックスiの推測に成功した場合,すなわちG が生じたとき,Bは,

sid = i||ssid でTAsid Test クエリを受ける.その時,B は,問い合わされるTest(X) を,

Challengeオラクルに転送し,β = H0,B(SK1,ID,X, α)なる(α, β)を得る.そして,(α, β) をAに返し,AよりTest(Z)を得て,ChallengeオラクルにZを返す.Aが攻撃に成功する 場合,Z =H1,B(S Ki,ID,X, α)= H1,B(SK1,ID,X, α)を満たす.つまり,Challengeオラク ルは,Zacceptする.よって,Bは,ATestクエリを出力することで,攻撃に成功する ことが示せた.

上記のように,Challengeオラクルを用いると,SK1 に対応するTestクエリを構成できる ため,Aは,Testクエリに対する返り値がシミュレートされたものだと識別できない.また,

Testクエリに対する振る舞い以外は,第4.6.2節のオラクルと同様の構成であるため,Aは,

S,F,Cのいずれかが生じない限り,各オラクルがシミュレートされたものだと識別できず,式 (4.15),(4.16),(4.17),(4.18)が同様に成り立つ.以上をまとめ,第4.6.2節と同様に評価する ことで,次の式が得られる.

Pr[Bwins]≥ Pr[Awins∧G∧ ¬S∧ ¬F∧ ¬C]

≤ 1 n ·

(

1− qH +1

|key| )2

· (

1− 2t! 2nt(2tn)!

)

·AdvAFS I.

攻撃者Bの成功確率が無視できるとすると,攻撃者Aの成功確率も無視できることが示 せた.