情報セキュリティ 第08回
大久保誠也 静岡県立大学経営情報学部
2/53
はじめに
はじめに
鍵配送問題
認証局 HTTPS
演習3/53
復習と鍵配送問題
4/53
復習:
なりすまし防止のアイディア
秘
平文
フィンガー プリント
Aliceの Aliceの
Bob
Alice
② ハッシュ値 を計算
フィンガー プリント 公暗
③ 秘密鍵で 暗号化
① 公開鍵を 事前に渡しておく
送信
送信
平文
フィンガー プリント
公 公暗
④ 送信
④ 送信
フィンガー
プリント ⑤ 復号する フィンガー
プリント
⑥ ハッシュ値を計算
⑦ 比較して同じなら
Alice
からの メールだ!Aliceからの メールか 検証しよう……
5/53
復習:
ハイブリッド暗号 (1)
秘密鍵暗号は、事前に秘密鍵を受け渡ししておく必 要がある。どうやって、鍵を受け渡しておくのか?
公開鍵暗号は、処理が重い。どうやって、大量の平文を通信するのか?
秘密鍵暗号と公開鍵暗号を組み合わせて使う ハイブリッド暗号
1.
平文は秘密鍵暗号で暗号化する。2.
秘密鍵暗号の秘密鍵(共通鍵)を公開鍵暗号で暗号化する。 6/53
④ 公開鍵暗号で 共通鍵を 暗号化
復習:
ハイブリッド暗号 (2)
公
平文
秘暗
送信
平文
秘暗 秘
Bob
Alice
共 共
共 共
公暗 公暗
公
① Bobの公開鍵を 渡しておく
② 共通鍵を生成
③ 秘密鍵暗号で 平文を暗号化
平文 平文
⑤ 送信する
⑥ 公開鍵暗号で 共通鍵を復号
⑦ 秘密鍵 暗号で 復号 これは どうやって
やるの?
7/53
鍵配送問題とは
暗号化には、必ず「鍵」が必要。
秘密鍵暗号にしろ、公開鍵暗号にしろ、どちらにしても 何らかの「鍵」を相手に渡す必要がある!
秘密鍵は→ 盗聴されたら問題。なりすまされても問題。
公開鍵は→ 盗聴は大丈夫。なりすまされたら問題。
どうやったら安全に鍵を受け渡せるのか。
それが鍵配送問題。
8/53
今からの説明の流れ
鍵配送を扱う次の話では、 『認証局』が重要な役割を 果たします。
『認証局』の役割を理解するために、先に幾つかの例 を説明します。
次のスライドから、「認証する・判子を押す」という例え が出てきます。
これらは前回までにやった認証方式等で実現されて います。図では、次のように表現することとします。
共 判
9/53
鍵の受け渡し方 その 1 素直な方法
10/53
アイデア
通信でやり取りすると問題が出るなら、直に会って 鍵を受け渡そう!
一度受け渡しておけば、次からはこの鍵を利用して 通信すればよい。Bob Alice
公
①
直にあって受け渡す11/53
Alice
アイデアの実施手順 (1)
Bob
公
12/53
Alice
アイデアの実施手順 (2)
Bob
①
直に会って、事前に貰っておく公
13/53 ID
PASSWD
Alice
あsdふぁsd Jlkjぇwkf
ID PASSWD
あsdふぁsd Jlkjぇwkf
アイデアの実施手順 (3)
Bob
①
直に会って、事前に貰っておく 公公
②
ハイブリッド暗号で通信する14/53
色んな人と通 信したいなぁ
通信する人が大人数の場合
Alice
なんか、
大変だ
...
会う
公
公
公
公
会う 会う
会う
公
公
会う 会う
15/53
実現できたことと問題点
直に会えば、鍵の受け渡しは安全にできる!
一回会えば、次からはその鍵で暗号か通信。
でも、実用には多くの問題が
相手が沢山居るとき、その人たち全員に会うのは 手間。
相手が地球の裏側にいたら、裏側まで会いに行く の?16/53
鍵の受け渡し方 その 2 認証局を利用する方法 1
17/53
アイデア
皆がすごく信用できるTrentが登場。
皆の公開鍵を、あらかじめTrentに預けておこう!
通信したくなったら、Trentから公開鍵を貰おう。
その公開鍵が正しいかは、
Trent
の判子が押してあ るかで判断しよう!Bob Alice
Bob
の 公Aliceの公
Alice
Bobの
公判Bobの鍵が
欲しいなぁ18/53
判子の押し方と検証方法
「判子を押す」という例えは、実際には「なりすまし防 止」と同様にして実現する。Bob
公
Bobの
判
Bob
公の「判子を押す」動作は
「ハッシュ値を計算し、
Trentの
秘密鍵で暗号化する」に相当「判子を検証する」動作は
「Trentの公開鍵で復号して ハッシュ値を確かめる」に相当
19/53
Alice
Bob Trent
アイデアの実施手順 (1)
20/53
Alice
Bob Trent
アイデアの実施手順 (2)
公
①
事前に預けておく21/53
Alice
Bob Trent
アイデアの実施手順 (3)
①
事前に預けておく②
判子を押す公 公
判
22/53
Alice
Bob Trent
アイデアの実施手順 (4)
①
事前に預けておく②
判子を押す公 公
判
③
要求された ら渡す23/53
Alice
Bob Trent
アイデアの実施手順 (5)
①
事前に預けておく②
判子を押す公 公
判
③
要求された ら渡す④
判子を検証する公 判
24/53
Alice
Bob Trent
アイデアの実施手順 (6)
①
事前に預けておく②
判子を押す公 公
判
③
要求された ら渡す④
判子を検証する公 判
⑤
ハイブリッド暗号で通信する25/53
通信する人が大人数の場合
なんか、自分だけ、
すごく忙しく ない?
公 判
渡す
公 判
渡す
公 判
渡す
公 判
渡す
公 判
渡す
公 判
渡す
26/53
実現できたことと問題点
鍵を預けておいて、そこから貰う。
鍵の正当性は、判子があるか否かで判断。
事前にTrentから、判子を検証する鍵を貰っておけば、後は全部通信で安全にやり取り。
でも、実用には多くの問題が鍵の要求がすべてTrentに。
Trentが忙しすぎないか?
そもそも、Trentの信頼の根拠は何?
27/53
鍵の受け渡し方 その 3 認証局を利用する方法 2
28/53
アイデア
皆がすごく信用できるTrentが登場。
公開鍵に、あらかじめTrent
の判子を押して貰おう!
通信したくなったら、Bobから公開鍵を貰おう。その公開鍵が正しいかは、
Trent
の判子が押してあ るかで判断しよう!公
Bob
Alice
Bob
の 公判Bobの鍵が
欲しいなぁ公 判
Bob
29/53
Alice
Bob Trent
アイデアの実施手順 (1)
30/53
Alice
Bob Trent
アイデアの実施手順 (2)
公
①
事前に渡す31/53
Alice
Bob Trent
アイデアの実施手順 (3) ① 事前に渡す
公
公 判
②
判子を押し て返す32/53
Alice
Bob Trent
アイデアの実施手順 (4) ① 事前に渡す
公 公
判
②
判子を押し て返す公 判 公
③
要求があっ たら渡す33/53
Alice
Bob Trent
アイデアの実施手順 (5) ① 事前に渡す
公 公
判
②
判子を押し て返す公 判 公
③
要求があっ たら渡す④
判子を検証 する公 判
34/53
Alice
Bob Trent
アイデアの実施手順 (6) ① 事前に渡す
公 公
判
②
判子を押し て返す公 判 公
③
要求があっ たら渡す④
判子を検証 する公 判
⑤
ハイブリッド暗号で通信する35/53
実現できたことと問題点
皆が信用できるTrentに、判子を押して貰う。
鍵の正当性は、判子があるか否かで判断。
事前にTrentから、判子を検証する鍵を貰っておけば、後は全部通信で安全にやり取り。
前の手法と違って、Trentは忙しくならない。36/53
まだ残っている問題
事前に認証局(Trent)から、判子を検証する鍵を貰っ ておけば、後の通信は全部安全に。Trentって、本当に信用できるのか?
「事前に貰っておく」って、どうやって実現するの
か? 会いに行くの?技術ではなく、運用でカバー
37/53
HTTPS
38/53
HTTPS とは
HTTPによる通信を安全にするために使用されている。
ネットショッピング等で、IDやパスワード、クレジット
カード情報等、外部に漏れては問題がある情報をやり とりするときとかに使用される。
プロトコルとしては、HTTP over SSL/TLS。
認証局を利用した方式で、通信内容を暗号化できる。39/53
ブラウザで見るhttps(1)
ユニバーサルパスポート(Web学生支援システム)は、通信が暗号化されています。
大学のTOPページから、Web学生支援システムにアク
セスしてみましょう。40/53
ブラウザで見るhttps(2)
httpsで通信している時、(いくつかの)ブラウザのURL
バーは次のようになりますFirefox Chrome
Palemoon Seamonkey
鍵のマークをクリック してみましょう
URLバーに出ない
ブラウザもある41/53
ブラウザで見る https(3)
鍵のマークをクリックすると、詳細が見られます。42/53
ブラウザで見る https(4)
43/53
ブラウザで見る https(5)
ここに出てくる、『認証局』『発行者』
とは何でしょうか?
この部分が、
今日の話の 重要な点と なります
44/53
認証局 (1)
認証局は、この世の中に無数にあります。すべての認証局の鍵を、あらかじめユーザーが持って おくというのは、現実的でない。
認証局は証明書(判子を押した鍵)を発行している。Trent
Bobの
公
判 発行
Alice Bob
の公 判
Trentの
公
Trentの公開鍵で
判子を検証45/53
認証局(2)
認証局の鍵は信用できるのか?[他の認証局に証明書を発行して貰う]ことで担保。
つまり、証明書は連鎖構造になっている。
連鎖の一番最初にある証明書が「ルート証明書」。Trentの
公 判B
自分の鍵を 他の認証局に
認証して貰う
46/53
ルート証明書の表示(1)
この世の中では、多くの認証局が存在しています。 Firefoxに組み込まれている認証局証明書を表示して
みよう。
1. ALTキーを押し、[ツール]→[オプション]をクリック。
[
ツール]
[オプション]
47/53
ルート証明書の表示 (2)
2.
[詳細]→[証明書]
→[証明書を表示]
をクリック。
3.
[認証局証明書]をクリック。
[詳細]
[証明書]
[証明書を表示]
[認証局証明書]
48/53
HTTPS の認証局が 実現していること
認証局の発行している証明書は、確かに「その人(例 えばBob)」の鍵であることを証明している。
それにより、なりすまし防止や盗聴防止を実現。
では、「その人(例えばBob)」は本当に存在するの?
保証している証明書もあれば、保証していない証 明書もある。
きちんと審査してから発行している証明書もある。最近では、審査の基準を設けたEV証明書がある。
その一方で、相手の確認をあまりせずに発行して しまう認証局も存在する。49/53
再掲:
まだ残っていた問題
事前に認証局(Trent)から、判子を検証する鍵を貰っ ておけば、後の通信は全部安全に。Trentって、本当に信用できるのか?
「事前に貰っておく」って、どうやって実現するの か? 会いに行くの?技術ではなく、運用でカバー
50/53
我々は何を信用しているのか (1)
事前に認証局(例えばTrent)から、判子を検証する鍵 を貰っておけば、後の通信は全部安全に。「事前に貰っておく」って、どうやって実現するの
か? 会いに行くの? OSやブラウザに、あらかじめ付いている。
OSやブラウザの制作元を信用している。
それらの入手経路を信用している。
51/53
事前に認証局(例えばTrent)から、判子を検証する鍵 を貰っておけば、後の通信は全部安全に。
認証局(例えばTrent)って、本当に信用できるの?
基本的に、信用するしかない。
「OSやブラウザについているなら大丈夫」。認証局を信用している。
OSやブラウザの制作元を信用している。
我々は何を信用しているのか(2)
52/53
実際の認証局
認証局 信頼 で検索 DigiNotar
で検索。TURKTRUST で検索。
オレオレ証明書 日記 で検索。ルート。
証明書は
OS
とかに付属どっかが 切れてたら
ダメ こいつが
信用できないなら ダメ
53/53
演習:
認証局
54/53
課題と課題の提出
他のサイトが、どの認証局を利用しているのかを10個 ほど調べて、提出して下さい。 EV 証明書を使っているサイトを含めること。
EV証明書の場合、鍵マークをクリックしたときの表
示が通常と異なる表記になります。
ファイル名は学籍番号の末尾にjをつけたものとする。
グループ名は『R3_情報セキュリティ』です。発行先が 出ている