定理(NetSec)の証明のアイデア

プロトコルNetSec(π,f)は、指定された2者間で、
  • 鍵共有プロトコルπを用いてセッション鍵κを共有し、
  • κを疑似ランダム関数Fのシードとして用いて、2つのストリングκe, κaを生成し、
  • 送信メッセージm = (m-id, m-pl)に対し、
    • メッセージ識別子 m-id について、κaを鍵とするメッセージ認証子t=fκa(m-id)を付加し、
    • ペイロード m-pl はκeを鍵として共通鍵暗号で暗号化する。

プロトコルNetSec(π,f)について、
  • 部品である鍵共有プロトコルπのSK安全性より、攻撃者にとってセッション鍵κは未知の乱数。
  • よって、κe=Fκ(0)もκa=Fκ(1)も未知の乱数。
  • κaを知らない攻撃者はメッセージ認証子を偽造できない。
    • よって、攻撃者はメッセージの改ざん・挿入はできない。
  • κeを知らない攻撃者は暗号文cをみてもペイロードm-plの情報は得られない。

定理(NetSec)の証明

  • 定理(安全な認証チャネル)より、NetSec(π, f)は認証つきチャネル。
  • プロトコルNetSec(π, f)が秘匿チャネルであることを示せばよい。
  • e, κa)はまとめてπによって直接生成されているとしてよい。※ Fは疑似ランダム関数

NetSec(π, f)に対する任意のUM攻撃者をUとする。
Uを用いて共通鍵暗号Encに対する選択平文攻撃者Bを構成する。

選択平文攻撃者B:
  • ※ 暗号化オラクルEncκ(・)を用いて、Encを選択平文攻撃したい。
  • Uを起動する。
  • セッション(Pi, Pj, s0)をランダムに選択する。
  • Uに対し、セッションs0以外のセッションについては、オネストにシミュレートする。
  • セッション(Pi, Pj, s0)について、
    • 以下を除いて、オネストにシミュレートする:
    • (Pi, Pj)間でオネストに鍵共有プロトコルπをシミュレートする。
    • (これによって生成されたセッション鍵を(κea)とおく。)
    • Uが実行要求(send, Pi, Pj, s0, m=(m-id,m-pl))を発したら、
      • m-plを自身の暗号化オラクルEncκ(・)に発し、cを受け取る。
      • t = f(κa, m-id, c)
      • Pj宛てメッセージ (Pi , s0, m'=(m-id,c,t))をUに渡す。
    • UがPj宛てメッセージ(Pi , s0, m'=(m-id', c', t'))を発したら、
      • m-id'のフレッシュネスとt' = f(κa, m-id', c') を確認する。
      • m-plをPjのローカル出力に書き込む。
      • ※ NetSec(π, f)は認証チャネルなのでUはcを書き換えられない
    • Uが(Pi, Pj, s0)をテストセッションに指定したら、
      • ※ s0以外をテストセッションに指定したらランダムビットb' を出力してアボート
      • Uより、m0 = (m-id*, m0-pl), m1 = (m-id*, m1-pl)を受け取り、
      • (m0-pl, m1-pl)を自身のチャレンジオラクルに発し、暗号文c*を受け取る。
      • κaを用いて(m-id*,c*)のタグt*を計算し、
      • メッセージ (Pi , s0, (m-id*,c*,t*)) のPjへの送信をシミュレートする。
    • Uがb' を出力として停止したら、b' を出力して停止する。

[攻撃者Bの解析]:
κ=κeの条件のもとで、 テストセッションのランダム推測が当たれば(確率1/l)
BのUに対するシミュレートは完ぺき。よって、
  • Pr[Bが識別に成功 | κ=κe] ≧ (1-1/l)・(1/2) + (1/l)・Pr[Uが識別に成功].
一方、πのSK安全性より、
  • Pr[Bが識別に成功] ≧ Pr[Bが識別に成功 | κ=κe] - (ネグリジブル)1
  • ※ 定理(認証つきチャネル)の証明と同様にして、Bを用いてπのSK安全性に対する攻撃者を構成できる

以上より、Uの識別利得をεとするとき、
  • Pr[Bが識別に成功]≧ (1-1/l)・(1/2) + (1/l)・Pr[Uが識別に成功] - (ネグリジブル)1.
仮定よりBは選択平文攻撃で安全なので、
  • Pr[Bが識別に成功] = 1/2 + (ネグリジブル)2 .
よって、
  • 1/2 + (ネグリジブル)2 ≧ (1-1/l)・(1/2) + (1/l)・(1/2 + ε) - (ネグリジブル)1
  • (ネグリジブル)1 + (ネグリジブル)2 ≧ ε/l.
よって、εもネグリジブル。
Q.E.D.

























最終更新:2009年12月16日 18:40