コンピュータ セットアップ(F10)ユーティリティ …...コンピュータ セットアップ(F10) ユーティリティ ガイド hpワークステーションxw4000
コンピュータ科学IItakeda.cs.tohoku-gakuin.ac.jp/ja/wp-content/uploads/2013/05/Comp… ·...
Transcript of コンピュータ科学IItakeda.cs.tohoku-gakuin.ac.jp/ja/wp-content/uploads/2013/05/Comp… ·...
コンピュータ科学II 担当:武田敦志 <[email protected]>
http://takeda.cs.tohoku-gakuin.ac.jp/
安全性に問題があるWebページ
page 2
こんなメッセージを見たことありませんか?
安全な通信
page 3
安全な通信とは?
『盗聴』されていないこと
『改竄』されていないこと
『なりすまし』されていないこと
盗聴:秘密のデータを盗み見る
改竄:データを不正に変更する
なりすまし:他人の名義でデータを作成する
『盗聴』『改竄』『なりすまし』が発生しない通信
安全な通信 =
page 4
インターネットの危険性(1)
インターネットのネットワーク構造
組織
組織
IX
組織
組織
組織
組織
組織
組織
組織
組織
IX
組織
組織
組織
NOC
ISP ISP
ISP
ISP ISP
page 5
インターネットの危険性(2)
コンピュータ間の通信
To : B Data
From : A To : B Data
to : x From : A To : B Data
to : y From : A
To : B Data
to : z From : A A
B
x y
z p
q
r
宛先Bのパケットは y に渡す
宛先Bのパケットは z に渡す
To : B From : A
Data
インターネットの危険性(3)
page 6
インターネットのセキュリティ(1)
To : B Data
From : A
A x y
To : B Data
From : A To : B Data
From : A
p q
r
z
To : B Data
From : A
B
To : B Data
From : A
パケットの中身を「盗聴」される可能性がある
盗聴
インターネットの危険性(4)
page 7
インターネットのセキュリティ(2)
To : B Data
From : A
A x y
To : B Data
From : A To : B Data
From : A
p q
r
z
To : B Data2
From : A
B
To : B Data2
From : A
パケットの内容を「改竄」される可能性がある
改竄 Data2
インターネットの危険性(5)
page 8
インターネットのセキュリティ(3)
A x y
To : B Data
From : A
p q
r
z
To : B Data
From : A
B
To : B Data
From : A
「なりすまし」されたパケットを受信する可能性がある
なりすまし
page 9
通信の安全を確保するために
情報の安全性を確保するためには
認証 : 本人性の確認
⇒ 盗聴・改竄を防ぐ
暗号化 : 通信データの暗号化
⇒ なりすましを防ぐ
共通鍵暗号を使う
公開鍵暗号を使う
公開鍵暗号を使う
暗号方式と安全性の根拠(1)
page 10
初歩的な暗号(共通鍵暗号・公開鍵暗号ではない)
換字式暗号(シーザー暗号)
転置式暗号
アルファベットをシフトさせる暗号方式
(例)3個後ろ側にシフトさせる
SENDAI → VHQGDL
文字の前後を交換する暗号方式 (例)「2×i+1」番目と「 n-2×i 」番目を交換 (iは0以上の整数・nは文字数)
SENDAI → IEDNAS
暗号方式と安全性の根拠(2)
page 11
多くの利用者が利用する環境には不向き
初歩的な暗号の安全性の根拠
「アルゴリズムが知られていない」ことが安全の根拠 ⇒ アルゴリズムが知られてしまえば安全は保証されない
換字式暗号の場合
転置式暗号の場合
文字の変換規則を知られてはならない
文字の交換規則を知られてはならない
暗号方式と安全性の根拠(3)
page 12
現在使われている暗号方式
共通鍵暗号
公開鍵暗号
(例)DES・AES アメリカ政府の標準暗号方式
暗号化と復号化で同じ鍵を使う暗号方式
暗号用の鍵と復号用の鍵が異なる暗号方式
(例)RSA 数学(オイラーの定理)に基づいた暗号方式
page 13
暗号方式と安全性の根拠(4)
共通鍵暗号方式
送信者 受信者
Data Data 暗号化 ∆ατα ∆ατα
共通鍵
復号化
共通鍵 同じ鍵
利点 : 単純な計算で暗号化できる
欠点 : 共通鍵の配布が困難
暗号方式と安全性の根拠(5)
page 14
⇒ 安全な鍵の交換方法が必要
共通鍵暗号の安全性の根拠
「鍵が知られていない」ことが安全の根拠 ⇒ 鍵の秘密さえ守れば暗号の安全性は保証される
(例)共通鍵暗号方式:AES
暗号化・復号化のアルゴリズムは公開されている
利用者ごとに異なる鍵を使うことで安全性を確保
ただし、あらかじめ鍵を交換する必要がある
page 15
暗号方式と安全性の根拠(6)
公開鍵暗号方式
送信者 受信者
Data Data 暗号化 ∆ατα ∆ατα
公開鍵
復号化
秘密鍵 異なる鍵
利点 : 公開鍵は無制限に配布することが可能
欠点 : 計算が複雑
暗号方式と安全性の根拠(7)
page 16
公開鍵暗号方式の特徴
「公開鍵」で暗号化したものは「秘密鍵」で復号化できる
「秘密鍵」で暗号化したものは「公開鍵」で復号化できる
Data Data 暗号化 ∆ατα ∆ατα
公開鍵
復号化
秘密鍵
Data Data 暗号化 ∆ατα ∆ατα
公開鍵
復号化
秘密鍵
暗号方式と安全性の根拠(8)
page 17
公開鍵暗号の安全性の根拠
「秘密鍵が知られていない」ことが安全の根拠 ⇒秘密鍵が漏洩しなければ暗号の安全は保証される
(例)公開鍵暗号方式:RSA
暗号化・復号化のアルゴリズムは公開されている
利用者は「公開鍵と秘密鍵」を作成し、 公開鍵を通信相手に渡す(秘密鍵は渡さない)
インターネットに適した暗号方式
page 18
公開鍵暗号方式(1)
公開鍵暗号方式を使った暗号化
送信者 受信者
Data Data 暗号化 ∆ατα ∆ατα
公開鍵
復号化
秘密鍵
公開鍵
公開鍵で暗号化する ⇒秘密鍵で復号化する
公開鍵で暗号化したデータは 対応する秘密鍵でしか復号化できない
公開鍵暗号方式(2)
page 19 送信者 受信者
Data Data 暗号化 ∆ατα
∆ατα 復号化
秘密鍵 公開鍵
Data
公開鍵暗号方式を使った電子署名
秘密鍵で暗号化する ⇒ 公開鍵で復号化する
公開鍵で復号化できれば、 対応する秘密鍵で暗号化されたものに違いない
電子署名
実際の公開鍵暗号方式(1)
page 20
公開鍵暗号方式の実際(RSA暗号)
aφ(N) = 1 (mod N) オイラーの定理
e×d = φ(N)×n + 1 となるような整数 e と d を作る
ae×d = (ae)d = a (mod N)
暗号化(m:平文, c:暗号文)
復号化(m:平文, c:暗号文)
c = me (mod N)
m = cd (mod N)
実際の公開鍵暗号方式(2)
page 21
暗号通信の実際 Transport Layer Security(TLS) Secure Sockets Layer (SSL)
サーバ クライアント
秘密鍵 公開鍵
公開鍵を送る
ランダム値を生成 生成したランダム値を 公開鍵で暗号化して送信
公開鍵
ランダム値を基に 共通鍵を生成
ランダム値を基に 共通鍵を生成
共通鍵 共通鍵 共通鍵を使って 暗号通信を行う
page 22
認証局と公開鍵証明書(1)
公開鍵と秘密鍵を用いた暗号方式
公開鍵は誰に知られてもかまわない
送信者 受信者
Data Data 暗号化 ∆ατα ∆ατα
公開鍵
復号化
秘密鍵
公開鍵
秘密鍵は他人に知られないようにしておく
page 23
認証局と公開鍵証明書(2)
公開鍵暗号方式の問題(中間者攻撃)
公開鍵で暗号化して、秘密鍵で復号化する
送信者 受信者
Data δΑΤΑ 暗号化 ∆ατα ∆ατα
公開鍵
復号化
秘密鍵
公開鍵 秘密鍵
公開鍵
Data 盗聴
⇒ 公開鍵は、受信者の鍵でなければならない
盗聴者の公開鍵を使えば、盗聴者が復号化できる!
認証局と公開鍵証明書(3)
page 24
公開鍵基盤 (PKI: Public Key Infrastructure)
送信者 受信者
Data δΑΤΑ 暗号化 ∆ατα ∆ατα
公開鍵
復号化
秘密鍵
公開鍵
送られてきた公開鍵を確認するための仕組み
認証局 秘密鍵 公開鍵
⇒ 認証局を介して、公開鍵の正しさを確認する
認証局と公開鍵証明書(4)
page 25
認証局
Webサーバなどを認証する組織
⇒ 正しく運営されているサーバに対して 電子署名付きの証明書を発行する
最も有名な認証局:VeriSign
安全な組織が運営する Webサーバなどに対してのみ 証明書を発行する
年間契約料:40,000円~
認証局と公開鍵証明書(5)
page 26
公開鍵基盤の仕組み あらかじめ、認証局の公開鍵を配布しておく
⇒ 通常、OSなどに組み込まれている
送信者 受信者
Data
秘密鍵
公開鍵
認証局 秘密鍵 公開鍵
公開鍵
認証局と公開鍵証明書(6)
page 27
公開鍵基盤の仕組み 受信者を認証し、公開鍵証明書を発行する
⇒ 公開鍵に対する電子署名を発行する
送信者 受信者
Data
秘密鍵
公開鍵
認証局 秘密鍵 公開鍵
公開鍵 公開鍵証明書 (電子署名)
認証局と公開鍵証明書(7)
page 28
公開鍵基盤の仕組み 受信者は、公開鍵と公開鍵証明書を送る
⇒ 認証局の公開鍵で、公開鍵の正しさを確認できる
送信者 受信者
Data
秘密鍵
公開鍵
認証局 秘密鍵 公開鍵
公開鍵 公開鍵 公開鍵と証明書を送る
確認
認証局と公開鍵証明書(8)
page 29
公開鍵基盤の仕組み 受信者は、公開鍵と公開鍵証明書を送る
⇒ 認証局の公開鍵で、公開鍵の正しさを確認できる
送信者 受信者
Data
秘密鍵
公開鍵
認証局 秘密鍵 公開鍵
公開鍵 公開鍵
暗号化 ∆ατα ∆ατα 復号化 Data
Webサーバの認証(1)
page 30
暗号化されているけど安全性に問題があるページ
Webサーバの認証(2)
page 31
暗号化されたWebページ
Webサーバの認証(3)
page 32
Webサーバを認証している認証局