WEBVTT

00:00.750 --> 00:09.570
これまで､ BGPを使用してメッセージを暗号化し､ 受信者だけがメッセージの内容を読み取れるようにする方法を学びました｡

00:09.960 --> 00:15.480
そのために､ この例では送信者であるDavidは受信者の公開鍵を使用します｡ 

00:15.480 --> 00:19.020
つまり､ 受信者はその名の通り､ 自分の公開鍵を公開するわけです｡ 

00:19.050 --> 00:23.810
公開鍵はメッセージの解読には使えないので､ それでいいんです｡ 

00:23.820 --> 00:26.630
メッセージの暗号化にのみ使用可能です｡ 

00:26.640 --> 00:31.710
そこで､ Davidは受信者のJohns公開鍵でメッセージを暗号化する｡ 

00:31.740 --> 00:40.860
メッセージを送信し､ それを受け取ったジョンは､ 誰にも教えない自分の秘密鍵を使ってメッセージを復号化する｡

00:41.250 --> 00:46.250
したがって､ DavidはJohnにどのような方法でメッセージを送ることもできる｡ 

00:46.260 --> 00:53.100
彼はそれをテキストメッセージとして､ インスタントメッセージとして､ あるいは安全でないサービスを使って送ることができます｡ 

00:53.340 --> 00:57.800
それでいいんです｡ 誰かがメッセージを読んだら､ ちんぷんかんぷんでしょうからね｡ 

00:57.810 --> 01:01.620
秘密鍵を持っていない限り､ コンテンツを見ることはできない｡ 

01:01.620 --> 01:06.180
そして､ Johnが秘密鍵を共有しない限り､ 秘密鍵を共有する必要はないのです｡ 

01:06.180 --> 01:10.110
そうすれば､ ジョン以外の誰もこのメッセージを読むことができなくなる｡ 

01:10.860 --> 01:12.720
だから､ 本当に､ いいんです｡ 

01:12.810 --> 01:23.100
ただ､ ここで問題なのは､ 受け取ったメッセージが本当にDavidから送られたものなのか､ Johnが確認する方法がないことです｡

01:23.880 --> 01:29.010
ですから､ 先ほども言ったように､ これを実現するためには､ ジョンが自分の公開鍵を公開する必要があるのです｡ 

01:29.010 --> 01:32.540
だから､ ジョンの公開鍵を手に入れるのは簡単だ｡ 

01:32.550 --> 01:36.270
したがって､ ジョンは自分の署名とメールにそれを入れることができた｡ 

01:36.270 --> 01:38.760
掲示板の署名に書いてもらってもいいそうです｡ 

01:38.760 --> 01:43.530
暗号化されたメッセージを送ってほしいから､ 公に共有しているのかもしれません｡ 

01:43.530 --> 01:47.370
ですから､ 公開鍵を公開しても何の問題もありません｡ 

01:47.820 --> 01:56.430
唯一の問題は､ 誰かが入ってきてDavidのふりをし､ Johnの公開鍵を使ってメッセージを暗号化し､ Johnに送ることができることです｡

01:56.490 --> 02:03.300
そうすれば､ このメッセージが本当にダビデから来たのかどうか､ ヨハネには知る由もない｡ 

02:04.320 --> 02:08.580
この問題を解決するために､ Davidはメッセージに署名する必要がある｡ 

02:08.610 --> 02:11.100
これは､ 実はPjpでも可能なんです｡ 

02:11.130 --> 02:14.640
では､ この例でどのように動作するかをお見せしましょう｡ 

02:15.300 --> 02:16.910
そこで再び､ Davidの登場です｡ 

02:16.920 --> 02:20.160
彼はジョンに秘密のメッセージを送りたいのだ｡ 

02:20.370 --> 02:29.180
そして､ 先ほど学んだように､ Davidが最初に行うことは､ Johnの公開鍵を使ってメッセージを暗号化することです｡

02:29.190 --> 02:31.650
メッセージが意味不明なものに変わります｡ 

02:31.740 --> 02:42.150
さて､ 前回の講義ではこの段階でメッセージを送信しましたが､ 今回はDavidが自分の秘密鍵でメッセージに署名することになります｡

02:42.300 --> 02:44.340
つまり､ 彼はまだ秘密鍵を送っていないのです｡ 

02:44.340 --> 02:46.350
メッセージは､ やはりDavidのほうにある｡ 

02:46.350 --> 02:51.140
そして､ このメッセージの署名を作成するのです｡ 

02:51.150 --> 02:53.880
この署名は､ このメッセージに対応する｡ 

02:53.880 --> 03:00.570
そして､ メッセージの中で何かが修正されると､ 一文字でも修正されると､ 署名が変わってしまいます｡

03:00.930 --> 03:10.140
したがって､ この署名は､ メッセージがDavidの秘密鍵で署名された後に変更されていないことを確認するために使用することができます｡

03:10.470 --> 03:13.710
さて､ Davidはまだ自分自身の秘密鍵を保持していることに留意してください｡ 

03:13.740 --> 03:17.400
通信手段で送ったわけではないそうです｡ 

03:18.030 --> 03:25.260
これで､ 暗号化された内容のメッセージと､ David Private Keyに対応する署名ができたことになります｡

03:25.830 --> 03:29.340
そして､ そのメッセージを任意の通信手段で送信する｡ 

03:29.340 --> 03:33.240
先ほども言ったように､ 安全でない通信手段を使うことも可能です｡ 

03:33.540 --> 03:41.130
Johnはメッセージと署名を受け取り､ 自分の秘密鍵でこのメッセージを復号する前に､

03:41.130 --> 03:50.550
Davidの公開鍵を使って署名を検証することにしています｡

03:51.000 --> 03:54.900
つまり､ 先ほど言ったように､ 署名はDavidの秘密鍵で作成されているのです｡ 

03:54.900 --> 04:02.100
そして､ JohnはDavidの秘密鍵を持っていませんが､ Davidの公開鍵を使って署名を検証することになります｡

04:02.730 --> 04:07.650
メッセージが変更されていない場合､ 検証は成功する｡ 

04:07.650 --> 04:15.390
こうすることで､ ジョンはこのメッセージが実際にDavidが送ったもので､ 誰にも修正されていないことを知ることができる｡ 

04:15.390 --> 04:23.130
なぜなら､ 先ほども言ったように､ 1文字でも修正されると､ 公開鍵､ つまりDavidの公開鍵は署名を検証できないからです｡

04:24.090 --> 04:29.670
そのため､ 署名が検証されれば､ Davidが実際にメッセージを送った人であり､ メッセージがインターネット上のテキストメッセージやその他の通信手段で送られたとしても､

04:29.670 --> 04:37.860
送信時に変更されていないことがわかるのです｡

04:37.920 --> 04:41.730
次のステップは､ 前回の講義で起こったことと非常によく似ています｡ 

04:41.730 --> 04:50.640
Johnは自分の秘密鍵を用いてメッセージを復号し､ その内容を読み取りますが､ それは単なる秘密のメッセージに過ぎません｡

04:51.380 --> 04:57.180
その結果､ 各自が自分の秘密鍵を保持したままであることがおわかりいただけると思います｡ 

04:57.200 --> 05:00.560
誰も自分の秘密鍵を相手に送っていない｡ 

05:00.740 --> 05:08.690
そこで､ 送信者は受信者の公開鍵でメッセージを暗号化し､ 自分の秘密鍵でメッセージに署名する｡

05:08.720 --> 05:10.010
メッセージが送信されます｡ 

05:10.040 --> 05:17.810
受信者は送信者の公開鍵で署名を検証し､ 自分の秘密鍵で復号化する｡

05:18.920 --> 05:23.240
こうすることで､ このメッセージが送信者から来たものであることを確認することができる｡ 

05:23.270 --> 05:27.590
彼は､ メッセージが送信される際に変更されていないことを確認することができます｡ 

05:27.590 --> 05:29.510
そして､ メッセージは暗号化されています｡ 

05:29.510 --> 05:37.700
そして､ それを読むことができるのは受信者だけです｡ なぜなら､ 受信者は自分の秘密鍵を秘密にしていて､ 誰とも共有されていないからです｡

05:38.980 --> 05:48.060
さて､ 次回の講義では､ メッセージを暗号化し､ 送信者として署名する方法を紹介しますので､ これらすべてが明らかになるはずです｡

05:48.070 --> 05:55.270
そして､ 受信者として署名を検証し､ メッセージを復号化する方法も紹介します｡ 
