Download presentation
Presentation is loading. Please wait.
1
q q 情報セキュリティ 第9回:2007年6月15日(金) q q
2
本日学ぶこと “信頼される第三者”を用いないセキュリティ
Diffie-Hellman鍵交換 PGP,GnuPG Diffie-Hellman鍵交換により,認証局なしに鍵となる値を共有できる.ただしman-in-the-middle攻撃に弱い. PGPでは,誰をどの程度信頼するかは各ユーザが設定する.
3
Diffie-Hellman鍵交換 Whitfield DiffieとMartin Hellmanが1976年に考案した, 二者間で秘密の数値を共有するプロトコル RSA暗号アルゴリズムの 発表(1978年)よりも早い 「鍵交換」と書かれるが,直接鍵を交換 してはいない.鍵の手掛かりとなる情報を交換することで,鍵(秘密の数値)を求める. 頭文字をとって「DH」,「DH方式」などとも呼ばれる. 一人で実行する手順はアルゴリズム 二人以上で実行する手順はプロトコル
4
Diffie-Hellman鍵交換の処理と通信
Alice Bob GA % P GB % P 公開値の 計算 公開値の 交換 公開値の 計算 乱数A 乱数B 共有鍵の 計算 共有鍵の 計算 GAB % P 共有する値 GAB % P 図の出典:『暗号技術入門―秘密の国のアリス』 p.281を改変
5
Diffie-Hellman鍵交換の数学的背景
公開情報:素数P,生成元G Aliceが秘密に持つ情報:A Bobが秘密に持つ情報:B Alice→Bob:GA % P Bob→Alice:GB % P Aliceの鍵生成:(GB % P)A % P = GAB % P Bobの鍵生成:(GA % P)B % P = GAB % P AliceとBobの処理は,乱数生成・べき剰余のみなので,高速 P,G,GA % P,GB % Pを盗聴しても,そこからAやBを得ることはできない(離散対数問題を解くことと等価)なので安全であると言える. GはPに依存する. Gは必ずしも素数ではない.
6
man-in-the-middle攻撃 (悪意ある) ウエイター 客 料理人 カレーライス ください ハヤシライス お願いします
どうぞ ハヤシライス できたよ
7
Diffie-Hellman鍵交換に man-in-the-middle攻撃を適用すると(1)
Alice Mallory Bob GA % P GM % P GB % P 公開値の 交換 公開値の 交換 公開値の 計算 公開値の 計算 公開値の 計算 乱数A 乱数M 乱数B 共有鍵の 計算 共有鍵の 計算 共有鍵の 計算 共有 GAM % P GAM % P GBM % P 共有 GBM % P
8
Diffie-Hellman鍵交換に Man-in-the-middle攻撃を適用すると(2)
公開情報:素数P,生成元G Alice,Bob,Malloryが秘密に持つ情報:A, B, M [Alice] → GA % P → [Mallory] → GM % P → [Bob] [Bob] → GB % P → [Mallory] → GM % P → [Alice] Aliceの鍵生成:(GM % P)A % P = GAM % P Bobの鍵生成:(GM % P)B % P = GBM % P Malloryの鍵生成1:(GA % P)M % P = GAM % P Malloryの鍵生成2:(GB % P)M % P = GBM % P
9
Diffie-Hellman鍵交換に man-in-the-middle攻撃を適用すると(3)
AliceとMalloryはGAM % Pを共有し, BobとMalloryはGBM % Pを共有する. AliceとBobの間では情報を共有していないが, Aliceは,BobとGAM % Pを共有していると思っている. Aliceが,GAM % Pを鍵として暗号文を作り,Bobに送ったら,Malloryはそれを受け取ってGAM % Pで復号し, GBM % Pで暗号化したものをBobに渡す. AliceとBobの間で秘密にしたい通信内容が,Malloryにも知れてしまう! α E(GBM%P,α) α E(GAM%P,α) Mallory Alice Bob α
10
Diffie-Hellman鍵交換の補足
実用化されている「Diffie-Hellman鍵交換に基づく情報共有法」では,man-in-the-middle攻撃の問題に対応している.
11
PGPとは Pretty Good Privacy(たいへんよいプライバシー)の略
Philip Zimmermannが開発した暗号化ソフトウェア できること メールやファイルの暗号化と復号 ハイブリッド暗号 対称暗号 メールやファイルのディジタル署名とその検証 公開鍵,プライベート鍵の管理 GnuPG (Gnu Privacy Guard)は,OpenPGPという仕様に基づいて作成されたフリーソフトウェア 通信の暗号化はできない ⇒SSH, SSL
12
PGPの鍵リング(key ring) 各利用者が鍵を管理 それぞれの鍵は,作成者も鍵長も暗号アルゴリズムも様々
GnuPGでは,~/.gnupg 以下のファイル
13
GnuPGで行う操作(1) 自分の鍵(公開鍵&プライベート鍵) 他人の鍵(公開鍵) 鍵ペア生成 破棄証明書の作成 公開鍵暗号による復号
署名(ファイル,他人の鍵) 他人の鍵(公開鍵) インポート 署名 信頼度設定 公開鍵暗号による暗号化 署名の検証
14
GnuPGで行う操作(2) 鍵リング その他 鍵の書き出し(テキスト化) 鍵のインポート・削除 鍵一覧・fingerprint
公開鍵サーバへ鍵を送受信 その他 公開鍵サーバで鍵の検索 対称暗号による暗号化と復号(鍵としてパスフレーズを与える)
15
PGPのインポート(import) 鍵を鍵リングに取り込むこと 鍵の入手方法は… インポートの後は? 主に他人の公開鍵
自分の鍵(公開鍵&プライベート鍵)は, 鍵ペア生成で自動的にインポートされる 破棄証明書をインポートすることも 鍵の入手方法は… 本人,または信頼できる人からファイルで インターネットで,公開鍵サーバ(keyserver)から インポートの後は? まず①正当性を確認,②自分の鍵で署名,③信頼度設定 そうすれば,暗号化や,署名の検証ができる.
16
公開鍵をインポートしたら 他人の公開鍵をインポートしただけでは
その鍵が正当なものかわからない. その鍵で暗号化・署名の検証などをしてはいけない. 正当性の確認:所有する鍵のfingerprint(指紋)を求め, 別に公開されているfingerprintと照合する. 「Takehiko Murakawa 3A423EBE)のfingerprintは 564B 8D8E C58A 0D F3E9 0D23 DE18 3A42 3EBE 自分のプライベート鍵で「鍵に署名」をつけると,自分はその鍵を信頼したことになる. 信頼度(所有者信頼)は,第三者がその鍵を信頼するための情報 信頼度情報を,公開鍵サーバに送ることができる.
17
鍵の破棄 鍵リングから鍵を削除するコマンドを実行する 自分の鍵は? 鍵ペア生成後すぐ,破棄証明書を作成しておく
不要になったほかに,漏洩(compromise)の疑惑があれば, 破棄証明書を鍵束にインポートしたのち, 公開鍵サーバに送信すればよい. (鍵リングからの削除はしないほうがよい.)
18
PGPの処理~鍵生成 暗号化方式,ビット長,鍵の有効期間,名前,メールアドレス,パスフレーズ(2回)を入力する.
鍵ペアと鍵IDは,乱数を用いて生成される. マウスを動かしていると,より良質の乱数ができる. gpg --gen-key
19
PGPの処理~公開鍵暗号で暗号化 ハイブリッド暗号(前回授業)を行う. メッセージを直接暗号化するための鍵(セッション鍵)を生成する.
メッセージは暗号化の前に圧縮する. メールで送る場合,最後にバイナリデータをテキスト化(Armor)する. gpg -e ファイル名 gpg -e -a ファイル名
20
PGPの処理~公開鍵暗号で復号 ハイブリッド暗号の逆順となる.
復号鍵は,計算機内では対称暗号で暗号化して保存されている.これを利用可能にするため,ユーザがパスフレーズを入力する. したがって,1回の復号の中に, 復号鍵を取り出すための復号(対称暗号) セッション鍵を取り出すための復号(公開鍵暗号) メッセージを取り出すための復号(対称暗号) が行われる. gpg ファイル名
21
PGPの処理~対称暗号で暗号化・復号 暗号化・復号したいファイル名を入力に与える. 実行中にパスフレーズを入力する.
暗号化では2回,復号では1回 鍵生成時や,公開鍵暗号での復号時に入力する値とは異なる.そもそも,鍵生成や鍵のインポートをしなくても,対称暗号は使用可能 暗号化は,gpg -c ファイル名 復号は,gpg ファイル名
22
PGPを手っ取り早く使いたいなら Windows Linux メールクライアント GnuPG Win32版 + WinPT gpgコマンド
Firefox + FireGPG + GMail Thunderbird + enigmail
23
PGPで暗号化メールを送ってみたい人へ メールを 「Takehiko Murakawa (ID: 3A423EBE)の鍵で暗号化して送ってかまいません. うまく復号できたら,その内容に返信します. 復号できなかったら,その旨返信します. ディジタル署名はつけないでください. 第2回レポートの答案を暗号化して送らないでください.
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.