...

講義スライド

by user

on
Category: Documents
15

views

Report

Comments

Transcript

講義スライド


情報セキュリティ
第8回
2016年6月3日(金)

1/20

本日学ぶこと

本日の授業を通じて



「鍵」の生成・配送・認証・破棄について,その必要性と方法を
理解します.
セキュリティを実現するために必要となる,「乱数」の性質と,
具体的な乱数生成アルゴリズムを学びます.
公開鍵暗号とディジタル署名を円滑に運用するための,「公開
鍵基盤(PKI)」について学びます.
2
鍵は重要

鍵は小さい




DES:56ビット
AES:128, 192, 256ビット
RSA:安全に運用するには,2048ビット以上
鍵は平文と同じ価値を持つ.

鍵が知られる(compromised)と,過去の暗号文の中身も
知られる.
3
鍵をどう作る?使う?

鍵の生成


鍵の配送



乱数で生成する.
鍵も暗号化して送る.
ハイブリッド暗号
 鍵の暗号化:CK = E1(K, r)
 メッセージの暗号化:CM = E2(r, M)
 E1は公開鍵暗号,E2は対称暗号,rは乱数を使うことが多い.
鍵の認証


「Aliceの鍵」が確かにAliceの鍵であると認識する方法は?
公開鍵暗号なら,公開鍵基盤(PKI)
4
乱数の要件

無作為性



予測不可能性…暗号論的に安全な乱数の要件


でたらめに見える.
統計的検定により判定できる.
過去の乱数列を見ても,次の乱数が求められない.
再現不可能性…真の乱数の要件


ある乱数列と同じ数列を再現できない.
乱数列に周期がない.
5
乱数生成法

線形合同法




Blum-Blum-Shub



古典的な擬似乱数生成アルゴリズム.randやrandom関数でも
利用
Xn+1 = (A*Xn + B) % M に基づく.
予測可能.周期が小さく,質が悪い
Xn+1 = (Xn)2 % pq に基づく乱数生成アルゴリズム
予測不可能,再現可能
/dev/random,/dev/urandom



UNIXの特殊ファイル.catやddといったコマンドで取り出す.
環境ノイズをもとに生成し,再現不可能
多ビット乱数を生成するには不向き
6
擬似乱数生成器



内部状態を初期化する際に与える値を「種」という.
内部状態は,一つ乱数を生成すると,変わる.
しかし内部状態の取り得る値は有限個なので,周期をなくす
(周期を∞にする)ことはできない.
乱数の
初期化
種
内部状態
乱数
生成
乱数列
擬似乱数生成器
図の出典:『暗号技術入門 第3版 秘密の国のアリス』 p.317を改変
7
乱数まとめ

「乱数」を使ってすること



鍵(公開鍵暗号の場合,鍵ペア)の生成
ノンスやソルトの生成
「乱数」の課題


計算機上でセキュリティを実現するための乱数生成法として
何を選べばよいか?
 rand関数は不適当
 無作為性と予測不可能性を満たし,再現不可能性に関して
は周期を大きくすることで対処する
種の選び方
 種の漏洩は,鍵の漏洩と同じ
 「時刻」や,「時刻とプロセス番号の組み合わせ」は,
推測されやすいので,使わない.
8
これまでの授業のおさらい(1)

「対称暗号(秘密鍵暗号)」ができること




秘密通信:鍵を持つ者しか知ることのできないよう,メッセージ
をやり取りすること.
機密性の保持:鍵を持たない者が,暗号化されたファイルを
取得しても,もとのメッセージは分からない.
高速な暗号化・復号処理
「対称暗号」の課題

鍵をどのように生成し,あらかじめ共有すればいいか?
9
これまでの授業のおさらい(2)

「公開鍵暗号」ができること




秘密通信:復号鍵を持つ者しか知ることのできないよう,
メッセージをやり取りすること.
機密性の保持:復号鍵を持たない者が,暗号化された
ファイルを取得しても,もとのメッセージは分からない.
暗号化鍵の公開:誰でも暗号化ができる.
「公開鍵暗号」の課題


鍵ペアをどのように生成すればいいか?
「Aliceの暗号化鍵」と言われて本当にAliceの鍵なのか?
…改ざん(中間者攻撃)の可能性
10
これまでの授業のおさらい(3)

「一方向ハッシュ関数」ができること



ハッシュ値の生成
 ハッシュ値は,メッセージに対して非常に小さい値である.
 メッセージが1ビットでも変われば,ハッシュ値は大きく
変わるので,メッセージの改ざんを検出できる.
第三者検証:関数が公開されていれば,メッセージとハッシュ値
のペアが適切かどうか誰でも確認できる.
「一方向ハッシュ関数」の課題

メッセージとハッシュ値をともに改ざんしたときは?
11
これまでの授業のおさらい(4)

「メッセージ認証コード」ができること


MAC値の生成とその検証:鍵を持つ者は,メッセージとMAC値
のペアが適切かどうかを確認できる.
「メッセージ認証コード」の課題


第三者検証ができない.
否認(生成したが,後になって自分は生成していないと主張す
ること)ができてしまう.
12
これまでの授業のおさらい(5)

「ディジタル署名」ができること


署名文の作成:RSAでは,「Aliceの署名文」は,Aliceの復号鍵
を持つ者のみが生成できる.
第三者検証
 署名文復元法では,署名文が適切かどうか,暗号化鍵
(公開鍵)を用いて誰でも確認できる.
 認証子照合法では,メッセージと署名文のペアが適切か
どうか,暗号化鍵(公開鍵)を用いて誰でも確認できる.
13
公開鍵基盤



Public Key Infrastructure, PKI
公開鍵を効果的に運用するために定められた規格・仕様の
総称
構成要素




利用者:PKIを利用する人・コンピュータ
認証局(Certification Authority, CA):証明書を発行する人・コ
ンピュータ
登録局(Registration Authority, RA):登録業務を行う機関.
申請者の本人確認をする.
リポジトリ:証明書を保管するデータベース
14
証明書とは



公開鍵証明書,ディジタル証明書とも呼ばれる.
利用者の公開鍵と,それに対する認証局のディジタル署名
からなる情報のこと.
フォーマットは,X.509 が最も有名.

署名の対象となる情報(公開鍵),署名文のほかに,ディジタル
署名アルゴリズム,発行日時と有効期限,公開鍵の所有者,
証明書の作成者なども記載される.
証明書
Aliceの
公開鍵
CAの
署名
15
認証局とは



公開鍵証明書の発行や管理をする.
信頼される第三者(Trusted Third Party, TTP)である.
業務



鍵ペアを生成する.
公開鍵証明書を作成し発行する.
公開鍵証明書を破棄する.証明書失効リスト(Certificate
Revocation List, CRL)に,申請のあった鍵情報を登録する.
 破棄 = 失効 = revocation (動詞形はrevoke) ≠ 削除
16
利用者がすること

自分の公開鍵を登録する.



自分の公開鍵を破棄する.


鍵は,自分または認証局が生成する.
プライベート鍵は,秘密に保管する.
以後使用しないというときや,復号鍵(プライベート鍵)が他者に
知られてしまった可能性があるときに実施
暗号化したい人の公開鍵を含む証明書を取り寄せる.


暗号化,署名文の検証のいずれかに使用する.
証明書の検証も忘れずに.
 適切な署名文である
 証明書の有効期限が切れていない
 証明書が失効されていない(CRLを参照する)
17
証明書をどのように検証するか?

証明書には,認証局による署名がついているので,
その認証局の鍵を含む証明書を取り寄せればよい.


認証局は階層化されている.


「認証局の鍵を含む証明書」の検証は? ……
例:札幌支店の従業員Bob - 札幌支店認証局 - 北海道支社認
証局 - 東京本社認証局
最上位の認証局の証明書は,自分自身の鍵による署名
(セルフ署名)がついている.
証明書
Bobの
公開鍵
証明書
CA1の
公開鍵
CA1の
署名
CA2の
署名
…
証明書
CAXの
公開鍵
CAXの
署名
18
PKIを運用するなら


RFC 5280をはじめとする技術仕様や,解説書を読む.
CP/CPSを策定し,公表する.



CP (Certificate Policy,証明書ポリシー):認証局が電子証明
書を発行する際の運用方針を示した文書のこと.
何を(What)ポリシーとするかを定める.
CPS (Certification Practice Statement,認証局運用規定):
CAのセキュリティポリシー,約款および外部との信頼関係など
に関する詳細を規定した文書のこと.
どのように(How)ポリシーを適用するのかの手順を記す.
オブジェクト識別子(OID)を取得し,CPに記載する.


日本なら,1.2.392.(6桁)
(RSAなどのアルゴリズムのOIDを,1.2.840.113549.1.1.1など
として指定することも)
19
情報を「埋め込む」技術

情報ハイディング(information hiding):あるものに本来とは
異なる別の情報を埋め込むこと


ステガノグラフィ(steganography):情報を秘密裏に埋め込み,
通信の事実すら秘密にしつつ情報を伝達
電子透かし(digital watermarking):文書・音声・静止画像・動
画像に情報を埋め込むことで,改ざん検知や著作権管理
(Digital Rights Management, DRM)に活用
事例:http://nukalumix.hateblo.jp/entry/ebina_tsutaya_pakuri
20 E
Fly UP