q q 情報セキュリティ 第8回:2007年6月8日(金) q q 本日学ぶこと 鍵の利用と管理 q q q 鍵の生成,配送,認証,破棄 乱数 公開鍵基盤(PKI) 鍵は平文と同じ価値を持つ. 擬似乱数生成器には最初に種を与える. PKIではCAによる(連鎖した)証明書が,公開鍵の正当性を 保証する. レポート課題2は,PDFで掲示します. 2 鍵が重要 鍵は小さい q q q DES:56ビット AES:128, 192, 256ビット RSA:512~2048ビット 鍵は平文と同じ価値を持つ. q 鍵が知られる(compromised)と,過去の暗号文の中身も知られ る. 3 鍵をどう作る?使う? 鍵の生成 q 鍵の配送 q q 乱数で生成する. 鍵も暗号化して送る. ハイブリッド暗号 鍵の暗号化:CK = E1(K, r) メッセージの暗号化:CM = E2(r, M) E1は公開鍵暗号,E2は対称暗号,rは乱数を使うことが多 い. 鍵の認証 q q 「Aliceの鍵」が確かにAliceの鍵であると認識する方法は? 公開鍵基盤(PKI) 4 乱数の要件 無作為性 q q 予測不可能性…暗号学的に安全な乱数の要件 q でたらめに見える. 統計的検定により判定できる. 過去の乱数列を見ても,次の乱数が求められない. 再現不可能性…真の乱数の要件 q q ある乱数列と同じ数列を再現できない. 乱数列に周期がない. 5 乱数生成法 線形合同法 q q q Blum-Blum-Shub q q 古典的な擬似乱数生成アルゴリズム.randやrandom関数でも 利用 Xn+1 = (A*Xn + B) % M に基づく. 予測可能.周期が小さく,質が悪い Xn+1 = (Xn)2 % pq に基づく. 予測不可能,再現可能 /dev/random q q q UNIXの特殊ファイル.catやddといったコマンドで取り出す. 環境ノイズをもとに生成し,再現不可能 多ビット乱数を生成するには不向き 6 擬似乱数生成器 内部状態を初期化する際に与える値を「種」という. 内部状態は,一つ乱数を生成すると,変わる. しかし内部状態は有限サイズなので,周期をなくす(周期を∞ にする)ことはできない. 乱数の 初期化 種 内部状態 乱数 生成 乱数列 擬似乱数生成器 図の出典:『暗号技術入門―秘密の国のアリス』 p.303, p306を改変 7 乱数まとめ 「乱数」を使ってすること q q 鍵(公開鍵暗号の場合,鍵ペア)の生成 ノンスやソルトの生成 「乱数」の課題 q q 計算機上でセキュリティを実現するための乱数生成法として何 を選べばよいか? rand関数は不可 周期に注意 種の選び方 漏洩は,鍵の漏洩と同じ 推測されるので,「時刻」や,「時刻とプロセス番号の組み合 わせ」は使わない. 8 これまでの授業のおさらい 「対称暗号」ができること q q q 秘密通信:鍵を持つ者しか知ることのできないよう,メッセージ をやり取りすること. 機密性の保持:鍵を持たない者が,暗号化されたファイルを取 得しても,もとのメッセージは分からない. 高速な暗号化・復号処理 「対称暗号」の課題 q 鍵をどのように生成し,あらかじめ共有すればいいか? 9 これまでの授業のおさらい 「公開鍵暗号」ができること q q q 秘密通信:復号鍵を持つ者しか知ることのできないよう,メッ セージをやり取りすること. 機密性の保持:復号鍵を持たない者が,暗号化されたファイル を取得しても,もとのメッセージは分からない. 暗号化鍵の公開:だれでも暗号化ができる. 「公開鍵暗号」の課題 q q 鍵ペアをどのように生成すればいいか? 「Aliceの暗号化鍵」と言われて本当にAliceの鍵なのか?…改 ざん(man-in-the-middle攻撃)の可能性 10 これまでの授業のおさらい 「一方向ハッシュ関数」ができること q q ハッシュ値の生成 ハッシュ値は,メッセージに対して非常に小さい値である. メッセージが1ビットでも変われば,ハッシュ値も大きく変わる ので,メッセージの改ざんを検出できる. 第三者検証:関数が公開されていれば,メッセージとハッシュ値 のペアが適切かどうかだれでも確認できる. 「一方向ハッシュ関数」の課題 q メッセージとハッシュ値をともに改ざんしたときは? 11 これまでの授業のおさらい 「メッセージ認証コード」ができること q MAC値の生成とその検証:鍵を持つ者は,メッセージとMAC値 のペアが適切かどうかを確認できる. 「メッセージ認証コード」の課題 q q 第三者検証ができない. 否認(生成したが,後になって自分は生成していないと主張す ること)ができてしまう. 12 これまでの授業のおさらい 「ディジタル署名」ができること q q 署名文の作成:RSAでは,「Aliceの署名文」は,Aliceの復号鍵 を持つ者(通常はAlice)のみが生成できる. 第三者検証 署名文復元法では,署名文が適切かどうか,暗号化鍵(公 開鍵)を用いてだれでも確認できる. 認証子照合法では,メッセージと署名文のペアが適切かどう か,暗号化鍵(公開鍵)を用いてだれでも確認できる. 13 公開鍵基盤 Public Key Intrastructure, PKI 公開鍵を効果的に運用するために定められた規格・仕様の 総称 構成要素 q q q 利用者:PKIを利用する人・コンピュータ 認証局(Certification Authority, CA):証明書を発行する人・コ ンピュータ リポジトリ:証明書を保管するデータベース 14 証明書とは 公開鍵証明書,ディジタル証明書とも呼ばれる. 利用者の公開鍵と,それに対する認証局のディジタル署名 からなる情報のこと. フォーマットは,X.509 が最も有名. q 署名の対象となる情報(公開鍵),署名文のほかに,ディジタル 署名アルゴリズム,発行日時と有効期限,公開鍵の所有者,証 明書の作成者なども記載される. 証明書 Aliceの 公開鍵 CAの 署名 15 認証局とは 公開鍵証明書の発行や管理をする. 信頼される第三者(Trusted Third Party, TTP)である. 業務 q q q q 鍵ペアを生成する. 公開鍵登録において,本人確認をする. 公開鍵証明書を作成し発行する. 公開鍵証明書を破棄する.証明書破棄リスト(Certificate Revocation List, CRL)に,申請のあった鍵情報を登録する. 16 利用者がすること 自分の公開鍵を登録する. q q 自分の公開鍵を破棄する. q 鍵は,自分または認証局が生成する. プライベート鍵は,秘密に保管する. 以後使用しないというときや,復号鍵(プライベート鍵)が他者に 知られてしまった可能性があるときに. 暗号化したい人の公開鍵を含む証明書を取り寄せる. q q 暗号化,署名文の検証のいずれかに使用する. 証明書の検証も忘れずに. 適切な署名文である 証明書の有効期限が切れていない 証明書が破棄されていない(CRLを参照する) 17 証明書をどのように検証するか? 証明書には,認証局による署名がついているので,その認 証局の鍵を含む証明書を取り寄せればよい. q 認証局は階層化されている. q 「認証局の鍵を含む証明書」の検証は? …… 例:札幌支店の従業員Bob - 札幌支店認証局 - 北海道支社認 証局 - 東京本社認証局 最上位の認証局の証明書は,自分自身の鍵による署名(セ ルフ署名)がついている. 証明書 Bobの 公開鍵 証明書 CA1の 公開鍵 CA1の 署名 CA2の 署名 … 証明書 CAXの 公開鍵 CAXの 署名 18
© Copyright 2025 ExpyDoc