Comments
Description
Transcript
暗号理論とゲーム理論 ー オークションを題材として
2010年度 オープンキャンパス模擬授業 暗号理論とゲーム理論 ー オークションを題材として 情報セキュリティ大学院大学 有田正剛 はじめに • 暗号理論の世界観 – 対象はプロトコル 対象はプロトコル。 – 各パーティーは、100%正直か100%悪意か、のいずれか。 – 悪意あるパーティの振る舞いを統制する。他者統制。 • ゲーム理論の世界観 – 対象はゲーム。 対象はゲ ム – 各プレイヤーは、ただ自分の利得に合理的に振る舞う。(た だし、自分の利得は他者の振る舞いに依存。) – 合理的なプレイヤーたちの振る舞いを誘導する。自己誘導。 • モチベーション – 「社会的なメカニズム」をITによって効率的に実現するた めには 2つの世界観の協調が必要 めには、2つの世界観の協調が必要。 – オークションの場合。 オ クション オークション • 財を人々に割り当てるための社会的なメカニズム – 各入札者は、財の個人的な評価額をもつ。 – 勝者となった場合、利得 = 評価額 ‐ 支払額。 オ クションに望まれる性質 オークションに望まれる性質 • その価値を最も高く評価する人に財が渡ること。 その価値を最も高く評価する人に財が渡る と。 • 各自の評価額のプライバシーが守られること。 • 不正行為の影響にロバストであること。 第 価格秘密オ クション 第一価格秘密オークション • 各入札者は、他者の入札額を知らされずに入札する。 各入札者は 他者の入札額を知らされずに入札する • 最も高い入札額をつけた入札者が、その入札額で落札する。 仲介者のアルゴリズム 入力: 入札額 t1, t2, …, tN ti = Max {t Max {t1, t , t2, …, t , …, tN} return (“Win”, ti) to Player i return “Loose” to Player j with j ≠ i 第二価格秘密オ クション 第二価格秘密オークション • 各入札者は、他者の入札額を知らされずに入札する。 各入札者は 他者の入札額を知らされずに入札する • 最も高い入札額をつけた入札者が、二番目に高い入札額で 落札する。 仲介者のアルゴリズム 入力:入札額 t1, t2, …, tN ti = Max {t Max {t1, t , t2, …, t , …, tN} ti 2 = SecondMax {t1, t2, …, tN} return (“Win”, ti2) to Player i return “Loose” return Loose to Player j with j ≠ i to Player j with j ≠ i 第二価格秘密入札は誘因両立 • 第二価格秘密入札では、各入札者にとって、自分の評価額 をそのまま入札するのが、支配戦略。(正直が最善) • 各入札者にとって – 自分が勝者となった場合、支払額は自分の入札額ではなく、 二番目に高い入札額なので 自分の入札額を下げようとする 二番目に高い入札額なので、自分の入札額を下げようとする 誘因はない。 – 赤字を出しても意味がないので、評価額よりも入札額を高く する誘因はない。 入力: t1, t2, …, tN ti = Max {t1, t2, …, tN} ti2 = SecondMax {t1, t2, …, tN} return (“Win” ti2) to Player i return (“Win”, t ) to Player i return “Loose” to Player j with j ≠ i 第 価格秘密入札の均衡戦略 第一価格秘密入札の均衡戦略 • 支配戦略は一般には存在しない。 支配戦略は 般には存在しない。 • 評価額が 評価額が一様分布であるとき、自分の評価額の 様分布であるとき、自分の評価額の (N (N‐1)/N 1)/N 倍を入 倍を入 札するのが均衡戦略。(Nはプレイヤー数) 入力: t1, t2, …, tN i = Max {t1, t2, …, tN} return (“Win”, ti) to Player i return “Loose” to Player j with j ≠ i return “Loose” to Player j with j ≠ i 仲介者は信頼できるか? • オンラインオークションでは一層心配 – 仲介者にはすべての入札者の評価額がわかる。プライ バシーの問題。 – 仲介者が入札者と結託していたら? – 仲介者が売り手と結託していたら? とくに第二価格秘 密入札の場合。 • 仲介者をセキ 仲介者をセキュアプロトコルで実現したらどうか。 アプロト ルで実現したらどうか – お互いに他者の入札額を知らずに、オークションの自分 の結果だけ(自分が勝者か否か 勝者の場合の支払額)を の結果だけ(自分が勝者か否か、勝者の場合の支払額)を 計算できる。 – 財の利得だけでなく、情報の利得も設定する。 回路としての仲介者 • まず、仲介者の アルゴリズム を AND‐gate と XOR‐gate からな る 多項式サイズの回路にコンパイル。 (u,v) = f(x, y): /* x : player 1の入札値, y : player 2の入札値 */ x1 x2 ... xn y1 y2 ... yn | | | | | | ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ gates ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ | | | | | | | | | | | | ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ gates ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ | | | | | | u1 u2 ... un v1 v2 ... vn 仲介者のセキュアプロトコル P1 : x=(x : x=(x1,…,xxn) P ) P2 : y=(y : y=(y1,…,yyn) ) 各xiをaiとriに分割: 各yiをbiとsiに分割: y1=b1+s1, ...., yn=bn+sn x1 = a1+r1, ..., xn=an+rn r1,....,rrn s1,....,ssn 入力シェアの分配 a1 a2 an s1 s2 sn r1 r2 rn b1 b2 bn | | | | | | | | | | | | | | | | | | | | | | | | ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ gates gates ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ | | | | | | | | | | | | ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ gates gates ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ | | | | | | | | | | | | | | | | | | | | | | | | u1 u2 un v1 v2 vn w1 w2wn z1 z2 zn 出力シェアの分配 v1, ...., vvn Output u1+w1,...,un+wn ※ さらに 「回路に従 て さらに、「回路に従って 正直に計算している」こと を示すゼロ知識証明を 組み込む必要がある。 w1,....,w wn Output z1+v1,....,zn+vn 素朴な試みではNG • オークションの仲介者を先のようにストレートにセキュアプロ ク 仲介者を先 う キ トコルで実現しても、 • 出力シェアの分配を受けて、自分が敗者であることが判明し 出力シ アの分配を受けて、自分が敗者である とが判明し たら、それ以上プロトコルを実行し続ける誘因がない。 P1 出力シェアの分配 x P2 x P3 ‐ 安全だけど、最後まで実行する理由がない! ‐ 暗号技術の落とし穴。 暗号技術の落とし穴 MNTプロトコル P.B.Miltersen, J.B. Nielsen, Nikos Triandopoulos CRYPT ‘09 • 各参 各参加者にとって、自分が勝者か敗者か、最後までいかな 者 、自分 勝者 敗者 、最後 な いと判明しないよう工夫。 – 出力シェアの分配を、複数のエポックをかけて、実行する。(繰り返しゲーム) – 勝者には、e番目のエポックでは確率2‐eで「勝ち」の出力シェアを、残りの確率 で「不明」の出力シェアを分配する。 最後まで「不明」なら負け。 – 自分のシェアを一度でも提供しなかったパーティには、二度とシェアを与えな 自分 シ アを 度 も提供 な ティ 、 度 シ アを与 な い。(トリガー戦略) エポック1 ポ エポックE エポック2 P1 P1 P1 ・・・ P2 P3 P2 P3 P2 P3 MNTプロトコルによって、 • 第一価格秘密入札はプロトコルで実現可能! (ただし、財の利得が情報の利得より十分大きいと仮定。) • ところが、第二価格秘密入札では、「勝ち逃げ」が誘因をもっ ところが 第二価格秘密入札では 「勝ち逃げ」が誘因をもっ てしまう。 (プロトコルなので勝ち逃げは全く容易) – 勝者には第2位の入札額がわかる。その情報の利得が大きけ れば、それで満足。 • ラウンド数の問題。 – 1つのプロトコルの中で、ゲ 1つのプロトコルの中で ゲームを繰り返す必要があるか? ムを繰り返す必要があるか? おわりに • さまざまな、望ましい「社会的なメカニズム」をITによって効率 的に実現するためには、2つの世界観の協調が必要。 • 暗号理論(規範的な世界観)とゲ 暗号理論(規範的な世界観)とゲーム理論(自律的な世界観) ム理論(自律的な世界観) • 「重層的な」 情報セキュリティ 情報セキ リティ