情報セキュリティ 第08回
大久保誠也 静岡県立大学経営情報学部
2/40
はじめに
はじめに
雑多なこと
復習
公開鍵暗号方式のもう一つの使い方
なりすましの防止と電子署名
演習
3/40
今までの復習
4/40
今までやってきた基礎技術
基礎技術:
秘密鍵暗号方式
公開鍵暗号方式
ハッシュ値と一方向関数
乱数
5/40
秘密鍵暗号
暗号化も復号も、同じ鍵を使用する。共
秘密鍵
秘密鍵は第三者に渡してはいけない。
処理が軽いため、大きい平文を暗号化できる。共 共
平文 暗号文 暗号文 平文
基礎技術:
秘密鍵暗号方式
公開鍵暗号方式
ハッシュ値と一方向関数
乱数
6/40
公開鍵暗号方式
暗号化と復号では、異なる鍵を使用する。公開鍵で暗号化し、秘密鍵で復号する。
秘密鍵は第三者に渡してはいけない。
処理が重いため、基本的に小さい平文を暗号化する。公 秘
平文 暗号文 暗号文 平文
基礎技術:
秘密鍵暗号方式
公開鍵暗号方式
ハッシュ値と一方向関数
乱数
7/40
ハッシュ値と 一方向関数
文章のテキストファイルから生成できるビット列 平文 フィンガープリント
異なる平文が、同じ指紋を生成する確率は低い。平文
A
フィンガー プリント
A
平文
B
フィンガー プリント
B
違う指紋に
平文と指紋を受け取り、比較することで、平文が正し いか否かを判定できる。 基礎技術:
秘密鍵暗号方式
公開鍵暗号方式
ハッシュ値と一方向関数
乱数
8/40
乱数
数列の中でも、過去の数列から、次の数が予想できな いものを、乱数列という。
つまり、
x
1, x
2, … , x
tから次のx
t+1が予想できない。 一般に、計算機が使用するのは疑似乱数。
単純な例
種 処理 値1 処理 値2 処理 値3 …
乱数値1 乱数値2 乱数値3
処理 処理 処理
… 次の値は
予想できない
基礎技術:
秘密鍵暗号方式
公開鍵暗号方式
ハッシュ値と一方向関数
乱数
9/40
RSA 暗号のもう一つの特徴
10/40
復習:公開鍵暗号の鍵(1)
暗号化と復号では、異なる鍵を使用する。公開鍵で暗号化し、秘密鍵で復号する。
秘密鍵は第三者に渡してはいけない。
処理が重いため、基本的に小さい平文を暗号化する。公 秘
平文 暗号文 暗号文 平文
11/40
公開鍵暗号の鍵 (2)
提案されている実現方法は、秘密鍵で暗号化し、公 開鍵で復号できる公開鍵暗号方式が多い。
この性質は、「認証」を実現する際に利用されている。
前回のRSA暗号も、この性質を備えている。秘 公
平文 暗号文 暗号文 平文
12/40
直感的なイメージ (1)
Hello World
Hello World Hello
World 送信
Bob
Alice
Hello World
送信
このファイル、本当にAliceか ら送られてきたのかなぁ...
13/40
公開鍵暗号方式と認証
「Aliceの公開鍵」で復号できる暗号文なら、その暗号 文は「Aliceの秘密鍵」で作成したに違いない。
「Alice
の秘密鍵」で暗号化できるのは、秘密鍵を持っている
Alice
だけ。「Aliceの公開鍵」で復号できるものは、
Aliceのファイルに違いない!
14/40 hogehoge
Alice
Bob
②
送信あsdふぁsd Jlkjぇwkf
③
暗号文を「Aliceの公開鍵」で 復号hogehoge
あsdふぁsd Jlkjぇwkf
①
平文を「
Alice
の秘密鍵」で 暗号化直感的なイメージ (2)
Aliceの公開鍵で復号できた!
暗号文を作れるのはAliceだ けだから、このファイルはAlice
のだ!
15/40 hogehoge
Mallory
Bob
②
送信Asdfasdfasdf adfasdf
③
暗号文を「Alice
の公開鍵」で 復号sdlakfjl Hoaslkjlsalf;j;
Asdfasdfasdf adfasdf
①
平文を「Malloryの秘密鍵」で 暗号化
直感的なイメージ(3)
Aliceの公開鍵で復号に失敗!
このファイルは、
Alice
のもので はない!?Aliceを語って
送信だ! 16/40
復習:RSA暗号の鍵
秘密鍵
素数p
素数q
(p 1)(q 1)と素かつ(p 1)(q 1)より小さい、
適当な正の整数
e
公開鍵 n=p q
ed mod (p 1)(q 1)= 1 となるような d
17/40
復習: RSA 暗号の暗号化と復号
平文
を暗号化して暗号文C
を作成する場合。 C=M
dmod n
ここで d
とn
は公開鍵であることに注意。
暗号文C
を復号する場合。 M=C
emod n
ここで e
は秘密鍵、nは公開鍵であることに注意。
公開鍵n
が因数分解できてp
とq
がわかると、p,q,d
から秘密鍵e
もばれてしまう!18/40
復習: RSA 暗号の理屈
C
emod n は本当に元の平文Mに戻るのか?
n C
emod
M
オイラーの定理よりp
とq
が素数ならばn M
(p1)(q1)1mod
ed
の決め方からn M
edmod
数式を展開
n n
M
dmod )
emod
(
Cの作り方より
19/40
認証の暗号化と復号
平文
を暗号化して暗号文C
を作成する場合。 C=M
emod n
ここでe
は秘密鍵、n
は公開鍵であることに注意。
暗号文Cを復号する場合。 M=C
dmod n
ここで d
とn
は公開鍵であることに注意。20/40
今回の場合
C
dmod n
は本当に元の平文M
に戻るのか?n C
dmod
M M
(p1)(q1)1mod n
ここから先は元と一緒n M
edmod
数式を展開
n n
M
emod )
dmod
(
C
の作り方より21/40
なりすましの防止と 電子署名
22/40
認証と秘密鍵
なりすましを防止するには、どうすればよいか?
→ ようするに、相手が本当に本人か確認したい!
認証・署名
実世界では、印鑑やサイン、パスワードで本人確認。
本人確認は、「本人しか持っていない情報を持ってい るか」で確認する。
秘密鍵は「本人しか持っていない情報」
23/40
なりすまし防止の アイディア (1)
公
Bob
AliceからBobにファイルを送るので、
BobはAliceからのファイルかを
検証したいAliceの
Alice
秘
平文
24/40
なりすまし防止の アイディア (2)
送信
公 Aliceの Aliceの
Bob
Alice
① Aliceの公開鍵を
事前に渡しておく 秘
平文
公 Aliceの
25/40
なりすまし防止の アイディア (3)
秘
平文
フィンガー プリント
公 Aliceの Aliceの
Bob
Alice
② ハッシュ値 を計算
① 公開鍵を
事前に渡しておく 26/40
なりすまし防止の アイディア (4)
秘
平文
フィンガー プリント
公 Aliceの Aliceの
Bob
Alice
② ハッシュ値 を計算
フィンガー プリント 公暗
③ 秘密鍵で 暗号化
① 公開鍵を 事前に渡しておく
27/40
なりすまし防止の アイディア(5)
秘
平文
フィンガー プリント
Aliceの Aliceの
Bob
Alice
② ハッシュ値 を計算
フィンガー プリント 公暗
③ 秘密鍵で 暗号化
① 公開鍵を 事前に渡しておく
送信
送信
平文
フィンガー プリント
公 公暗
④ 送信
④ 送信
28/40
なりすまし防止の アイディア(6)
秘
平文
フィンガー プリント
Aliceの Aliceの
Bob
Alice
② ハッシュ値 を計算
フィンガー プリント 公暗
③ 秘密鍵で 暗号化
① 公開鍵を 事前に渡しておく
送信
送信
平文
フィンガー プリント
公 公暗
④ 送信
④ 送信
フィンガー
プリント ⑤ 復号する Aliceからの
メールか 検証しよう……
29/40
なりすまし防止の アイディア (7)
秘
平文
フィンガー プリント
Aliceの Aliceの
Bob
Alice
② ハッシュ値 を計算
フィンガー プリント 公暗
③ 秘密鍵で 暗号化
① 公開鍵を 事前に渡しておく
送信
送信
平文
フィンガー プリント
公 公暗
④ 送信
④ 送信
フィンガー
プリント ⑤ 復号する フィンガー
プリント
⑥ ハッシュ値を計算 Aliceからの
メールか 検証しよう……
30/40
なりすまし防止の アイディア (8)
秘
平文
フィンガー プリント
Aliceの Aliceの
Bob
Alice
② ハッシュ値 を計算
フィンガー プリント 公暗
③ 秘密鍵で 暗号化
① 公開鍵を 事前に渡しておく
送信
送信
平文
フィンガー プリント
公 公暗
④ 送信
④ 送信
フィンガー
プリント ⑤ 復号する フィンガー
プリント
⑥ ハッシュ値を計算
⑦ 比較して同じなら
Aliceからの
メールだ!Aliceからの メールか 検証しよう……
31/40 フィンガー
プリント フィンガー プリント
なりすまされた場合 (1)
平文
暗
公 Eveの
Bob
Aliceからの メールか 検証しよう……
なりすまし
Eve
パス+フレーズ
① 公開鍵を 事前に渡しておく
EveがAliceの名前を騙って、
Bob
にファイルを送る。BobはAliceのファイルか検証したい
32/40 フィンガー
プリント
フィンガー プリント フィンガー
プリント フィンガー プリント
なりすまされた場合 (2)
平文
暗
送信
送信
平文
異なる 何か
暗 公
Aliceの Eveの
Bob
Aliceからの メールか 検証しよう……
Alice
の公開鍵で 元に戻せない!。Aliceからの
メールじゃない!なりすまし
Eve
33/40 フィンガー
プリント
フィンガー プリント フィンガー
プリント フィンガー プリント
なりすまされた場合(3)
平文
暗
送信
送信
平文
異なる 何か
暗 公
Aliceの Eveの
Bob
Aliceからの メールか 検証しよう……
Alice
の公開鍵で 元に戻せない!。Aliceからの
メールじゃない!なりすまし
Eve
Eveは Alice
の秘密鍵を知らないので、
Aliceの公開鍵で
復号できる 暗号化済み指紋を作れない。
34/40 フィンガー
プリント フィンガー プリント
改竄された場合(1)
平文
暗
送信
送信
公 Aliceの
Bob
Aliceからの メールか 検証しよう……
送信中に、
データが変わって しまった!
パス
+フレーズ 秘 Aliceの
Alice
35/40 異なる
フィンガー プリント
フィンガー プリント フィンガー
プリント フィンガー プリント
改竄された場合 (2)
平文
暗
送信
送信
異なる 平文
フィンガー プリント
暗 公
Aliceの
Bob
Aliceからの メールか 検証しよう……
Aliceの公開鍵で
元に戻せない!。正常に通信できて ない!
パス
+フレーズ 秘 Aliceの
Alice
36/40異なる フィンガー
プリント
フィンガー プリント フィンガー
プリント フィンガー プリント
改竄された場合 (3)
平文
暗
送信
送信
平文
フィンガー プリント
暗 公
Aliceの
Bob
Aliceからの メールか 検証しよう……
Alice
の公開鍵で 元に戻せない!。正常に通信でき ていない!
秘 Aliceの
Alice
指紋の値が異なるので、
正常に通信できていないことが わかる。
37/40
なりすまし防止の手順
以下のような流れで行われる。1.Aliceは平文のフィンガープリントを作成する。
2.AliceはAliceの秘密鍵とパスフレーズでフィンガープ
リントを暗号化3.Aliceは、平文と3で生成したものを、Bobにメール 4.Bobは、Aliceの公開鍵でAliceから送られた『暗号化
されたフィンガープリント』を復号する。
5.Bobは、『Aliceから送られてきた平文
』から作ったフィンガープリントと、4のフィンガープリントを比較する。
38/40
何が守れているのか
盗聴について:
対処されていない。
なりすましについて:
対処されている。
ただし、改竄と区別は付かない。
改竄について:
対処されている。
ただし、なりすましと区別は付かない。
さらに暗号技術等と組み合わせる必要がある
39/40
次のステップ
暗号技術で盗聴に、認証技術でなりすましや改竄を 防止することができる。
説明のあちこちにある「公開鍵を事前に渡しておく」
の具体的な方法が、今のところノータッチ。
偽物の公開鍵を掴まされたりしないか?
直に会えば確実だけど、相手が地球の裏側に居 たりするなら、どうするの?暗号技術と認証技術を組み合わせれば、
これらすべてに対処できる(はず)!
40/40
課題の提出
以下をレポートにまとめて提出。
電子署名、デジタル署名等で検索し、どういうところ がどのように利用しているか、発行しているかを書く。Amazon等で、曰く「セキュアなログイン」等を利用し
ているとき、“自分が、なぜ安全だと思って通信して
いるのか”
を書く。
調べ物の課題ではなく、“
今までの自分がどう 思っていたか”を書く。 ファイル名は学籍番号の末尾にiをつけたものとする。
グループ名は『H29_情報セキュリティ』です。