q q 情報セキュリティ 第11回:2004年6月18日(金) q q
本日学ぶこと・考えてほしいこと 暗号プロトコル(cryptographic protocol) 暗号アルゴリズムが安全でも,その使い道がよくないとシステムは安全でなくなる? 暗号プロトコル(をはじめとする,暗号を用いたシステム)が安全であるとは?
設計・実装・運用 設計段階の欠陥は,実装に反映される. 要件 Requirement 実装段階の欠陥は,運用に反映される. 設計段階で欠陥がないものを使ってもらおう! 要件 Requirement (ラフな)要求, 要求仕様など 暗号プロトコルの仕様,フローチャート, 仕様書など 設計 Design 実装 Implement ソースコード, 専用ハードウェアなど 運用 Operation 実行プロセス, 実運用システムなど
実行環境 k(a) k(b) k(m) Trent Bob Alice Mallory
プロトコル1 Trent Alice Bob (1) a, b, e(k(a),r) (2) e(k(b),r) (3) e(k(b),r), e(r,c)
プロトコル1に対する攻撃 Trent Mallory Alice Bob (i) a, m, e(k(a),r) (ii) e(k(m),r) (1) a, b, e(k(a),r) (2) e(k(b),r) Alice Bob (3) e(k(b),r), e(r,c)
プロトコル1に対する攻撃(別記法) Alice Trent Bob Mallory (1) a, b, e(k(a),r) (2) e(k(b),r) (3) e(k(b),r), e(r,c) Mallory (i) a, m, e(k(a),r) 時間経過 (ii) e(k(m),r)
プロトコル2 Trent (1) a, b (2) e(k(a),r) (3) e(k(b),r) Alice Bob (4) e(r,c)
プロトコル2に対する攻撃 Trent M M Alice Bob M (vi) m, b (ii) m, a (vii) e(k(m),r2) M (iii) e(k(m),r1) (iv) e(k(a),r1) M (i) a, b (viii) e(k(b),r2) (v) e(k(a),r1) Alice Bob (ix) e(r1,c) M (x) e(r2,c)
プロトコル3 Trent Alice Bob (1) a, e(k(a),a+b) (2) e(k(a),r) (3) e(k(b),r) (4) e(r,c)
プロトコル3に対する攻撃(1) Trent M M Alice Bob M (vi) m, e(k(m),m+b) (ii) a, e(k(a),a+m) (vii) e(k(m),r2) M (iii) e(k(a),r1) (iv) e(k(m),r1) M (i) a, e(k(a),a+b) (viii) e(k(b),r2) (v) e(k(a),r1) Alice Bob (ix) e(r1,c) M (x) e(r2,c)
プロトコル3に対する攻撃(2) Trent M M Alice Bob M (vi) m, e(k(m),m+b) (ii) m, e(k(m),m+a) (vii) e(k(m),r2) M (iii) e(k(m),r1) (iv) e(k(a),r1) M (i) a, e(k(a),a+b) (viii) e(k(b),r2) (v) e(k(a),r1) Alice Bob (ix) e(r1,c) M (x) e(r2,c)
攻撃方法いろいろ 盗聴 なりすまし通信 man-in-the-middle攻撃 リプレイ攻撃 遮断(インターセプト):正当なユーザ間のメッセージを受け止め,送らない 結託:他のユーザと情報を共有する 暗号文の解読:鍵を持たずに,暗号文から平文を取り出す 鍵の窃盗:秘密に管理している(はずの)鍵を獲得する
目標の例: Malloryが Alice-Bob間の秘密のメッセージを獲得する Bobになりすまして,Aliceとセッション鍵を共有する
プロトコル4-1 Trent Alice Bob (1) a, e(k(a),ta+b+r) (2) e(k(b),tb+a+r) (3) e(r,c)
プロトコル4-2 Trent Alice Bob (1) a, e(k(a),ta+b+r) (2) e(k(b),ta+a+r) (3) e(r,c)
プロトコル4-1に対する攻撃(ヒント) Trent Alice Bob M (1) a, e(k(a),ta+b+r) 時刻はta<ta' タイムスタンプが更新できる! (2) e(k(b),tb+a+r) (ii) e(k(a), ta'+b+r) (i) b, e(k(b), tb+a+r) Alice Bob M Trentが生成
「より安全」とは 条件(実行環境,敵の目標など) α β γ … 1 ○ ○ × ○ ○ ○ ○ ○ … 2 × ○ ○ × ○ × ○ × ○…攻撃失敗(狭義安全) ×…攻撃成立(狭義安全でない) 条件(実行環境,敵の目標など) α β γ … 1 ○ ○ × ○ ○ ○ ○ ○ … 2 × ○ ○ × ○ × ○ × … 暗号プロトコル 3 × × × × ○ × × × … … x 条件βに対して「xはyより安全」 広義にも「xはyより安全」と推測できる ○ ○ × ○ ○ ○ × ○ … y ○ × × ○ ○ ○ × ○ … …
安全な暗号プロトコルの設計法 要件 Sを作成 安全? Sを改訂 No Yes Sを出力
(配布資料とは別の)まとめ 対象を,「日本語」「数式」「図」で表現でき,相互変換できる能力を身につけよう 情報セキュリティはシステム工学の一部であり, 情報セキュリティを学ぶことはシステム工学を学ぶことの 始まりである