1
情報セキュリティ 第06回
大久保誠也 静岡県立大学経営情報学部
2/41
はじめに
はじめに
いままでの復習
RSA暗号の特徴
一方向関数とハッシュ値
演習:ハッシュ値
3/41
前回までの復習
4/41
復習:盗聴
Hello World
Hello World
Hello
World Bob
送信
Alice
Hello World
Hello World
Eve
盗聴
A:>
Hello World
覗き見して やろう
平文で送信した情 報は、基本的に 盗聴し放題!
Aliceから
データが来た。
送信
重要 重要 重要
重要な な な情報 な 情報 情報は 情報 は は は 送 送 送
送らない らない らない らない
or 暗号化暗号化 暗号化 暗号化
5/41
復習:暗号の目的
平文(送りたい文)を暗号化し、暗号文にする。
この際、鍵を使用する。
This is a pen.
(二進数表記)
5468697320697320612070656E2E0A
平文
鍵
test(二進数表記)
883BC0A17AA746D3DCADCE425C6A10AC
;zB¥j
暗号文
暗号化されていると、
元の文章がわからない。
6/41 6/63
復習:暗号と鍵
平文から暗号文を生成するとき、鍵を使用する。
復号するときも鍵を使用する。
適切な鍵を利用しないと、平文に戻せない。
平文 暗号文
平文 暗号文
鍵を利用して暗号化
正しい鍵で 復号
変な 暗号文 文
正しい鍵以外では
復号できない
7/41
復習: 2 種類の暗号方式
秘密鍵方式
暗号化も復号も、同じ鍵を使用する。
秘密鍵を使用する。鍵は秘匿しておく必要がある。
一般的に、処理が軽い。
公開鍵方式
暗号化と復号で、異なる鍵を使用する。
公開鍵と秘密鍵があり、秘密鍵は秘匿し、公開鍵 は公開しておく。
一般的に、処理が重い。
共共共 共
公 公 公 公 秘秘秘秘
8/41 ID
PASSWD
Alice
Bob
②
送信
あsdふぁsd Jlkjぇwkf
③
暗号文を「鍵」で 復号
ID PASSWD
あsdふぁsd Jlkjぇwkf
①
平文を「鍵」で 暗号化
盗聴しても、
復号できな い
……。
復習:暗号による通信
9/41 ID
PASSWD
Alice
Bob
②
送信
あsdふぁsd Jlkjぇwkf
③
「秘密鍵」で復号
ID PASSWD
あsdふぁsd Jlkjぇwkf
①
「秘密鍵」で 暗号化
盗聴しても、
復号できな い……。
共 共 共 共
共共共 共
秘密鍵暗号による通信
10/41 ID
PASSWD
Alice
Bob
③
送信
あsdふぁsd Jlkjぇwkf
④
「秘密鍵」で復号
ID PASSWD
あsdふぁsd Jlkjぇwkf
②
「公開鍵」で 暗号化
秘秘 秘秘 公
公 公 公
①
送信
公 公 公 公
公開鍵暗号による通信
盗聴しても、
復号できな い
……。
公公 公公
11/41 11/63
今回の内容
基礎技術:
秘密鍵暗号方式
暗号化
ブロック暗号とストリーム暗号
公開鍵暗号方式
暗号化と認証 認証 認証 認証
ハッシュ ハッシュ ハッシュ ハッシュ値 値 値と 値 と と と一方向関数 一方向関数 一方向関数 一方向関数
乱数
実際の実装:
RSA暗号の仕組み 12/41
RSA 暗号のもう一つの特徴
13/41
復習:公開鍵暗号の鍵 (1)
暗号化と復号では、異なる鍵を使用する。
公開鍵で暗号化し、秘密鍵で復号する。
秘密鍵は第三者に渡してはいけない。
処理が重いため、基本的に小さい平文を暗号化する。
公公
公公 秘秘秘秘
平文 暗号文 暗号文 平文
14/41
公開鍵暗号の鍵 (2)
提案されている実現方法は、秘密鍵で暗号化し、公 開鍵で復号できる公開鍵暗号方式が多い。
この性質は、「認証」を実現する際に利用されている。
前回のRSA暗号も、この性質を備えている。
秘秘秘
秘 公公公公
平文 暗号文 暗号文 平文
15/41
利用例:認証
「Aliceの公開鍵」で復号できる暗号文なら、その暗号 文は「Aliceの秘密鍵」で作成したに違いない。
「Aliceの秘密鍵」で暗号化できるのは、秘密鍵を持っ ているAliceだけ。
「Aliceの公開鍵」で復号できるものは、
Aliceのファイルに違いない!
16/41
直感的なイメージ (1)
Hello World
Hello World
Hello
World Bob
送信
Alice
Hello World
送信
このファイル、本当にAliceか ら送られてきたのかなぁ...
17/41 hogehoge
Alice
Bob
②
送信
あsdふぁsd Jlkjぇwkf
③
暗号文を「Aliceの公開鍵」で 復号
hogehoge
あsdふぁsd Jlkjぇwkf
①
平文を
「Aliceの秘密鍵」で 暗号化
直感的なイメージ (2)
Aliceの公開鍵で復号できた!
暗号文を作れるのはAliceだ けだから、このファイルはAlice
のだ!
18/41 hogehoge
Mallory
Bob
②
送信
Asdfasdfasdf adfasdf
③
暗号文を「Aliceの公開鍵」で 復号
sdlakfjl Hoaslkjlsalf;j;
Asdfasdfasdf adfasdf
①
平文を
「Malloryの秘密鍵」で 暗号化
直感的なイメージ (3)
Aliceの公開鍵で復号に失敗!
このファイルは、Aliceのもので はない!?
Aliceを語って
送信だ!
19/41
公開鍵暗号と認証
実際には、次にやるメッセージダイジェスト等と併せ て利用することにより、認証を行います。
認証の正確で詳細な手続き内容は、後日、講義で取 り扱う予定です。
httpsやGnuPGP等で利用されています。
20/41
一方向関数と メッセージダイジェスト
21/41
一方向関数とは
ある関数
f が、任意の
x が与えられたとき、f(x)の値を求めることは簡単、
任意の
yが与えられたとき、
y=f(x)となる
xを求 めることは難しい
とき、この関数は一方向関数であるという。
22/41
メッセージダイジェストとは
ファイルの中身に対応して生成した固定長のbit列を メッセージダイジェストという。フィンガープリント、ファ イルの指紋、ハッシュ値とも呼ばれる。
異なる中身の場合、同じメッセージダイジェストになる 可能性は低い(ゼロではない)。
一方向関数である。
暗号と違い、復号はできない。
eee0ca57643e4b59 815847fdd152cd5c This is a pen.
平文
フィンガープリント
639c7143c6937907 ef3bfbed7501d898This is a book.
23/41
メッセージダイジェストの利用 (1)
文章のテキストファイルから生成できるビット列 平文
フィンガープリント異なる平文が、同じ指紋を生成する確率は低い。
平文
Aフィンガー プリント
A
平文
Bフィンガー プリント
B
違う指紋に
平文と指紋を受け取り、比較することで、平文が正し いか否かを判定できる。
24/41
メッセージダイジェストの利用 (2)
Hello World
Hellow World
Bob
送信
Hellow World
ファイルをダウンロードしてき たけど、正しくダウンロードで
きたかなぁ
25/41
メッセージダイジェストの利用 (2)
Hello World
Bob
1)送信
メッセージ ダイジェスト
B Hellow
World
Hellow
World メッセージ
ダイジェスト A
メッセージ ダイジェスト
A メッセージ
ダイジェスト A
3)比較したら
違う値に!
失敗 している!
2)メッセージ
ダイジェストを 計算
26/41
メッセージダイジェストの利用 (3)
多くのサイトで、
ファイルの 検証用に
MD5値が置かれています。
27/41
メッセージダイジェストの利用 (4)
https
でも使用されています。
Firefox
では、
httpsでの通信 を行っているサイトで、
1.
上の青い部分を押す。
2.
詳細を表示を押す。
3.
証明書を表示を押す ことで確認できます。
28/41
メッセージダイジェストの利用 (5)
UNIXのパスワード認証は、実際にはパスワードは
保存されていません。
保存されているのは、パスワードのハッシュ値を保 存しています。
パスワードを入力すると、
1.
入力されたパスワードのハッシュ値を計算。
2.
保存してあるハッシュ値と一致するか検証。
3.
一致していたら認証を通過。
となります。
ようするに、ハッシュ値が同じになるパスワードなら、
パスワードが異なっていても、認証を通ります。
29/41
広く使われている メッセージダイジェスト
メッセージダイジェストの代表的なものとして、MD5や
SHA等があります。メッセージダイジェストは、いろいろなところで使用さ れています。
OpenOffice.org
のような、ファイルのダウンロード の検証のため。
Windows
や
UNIXにおけるパスワード認証。
https等の暗号化プロトコル。
メールの暗号化プロトコルである
PGP。メールの認証プロトコルである
apop。30/41
強衝突耐性と弱衝突耐性
弱衝突耐性:
x が与えられたとき、f(x) = f(y)なるy (
ただし
y≠x) を発見することは難しい。
強衝突耐性:
f(x) = f(y)
なる
xと
y (ただし
x≠
y)を発見すること は難しい。
MD5は強衝突耐性は無いことが知られている。
31/41
演習:一方向関数とハッシュ値
32/41
smax でのフィンガープリント
1.
smax にログインする。
2.
Solaris では digest コマンドで MD5 の値を求 めることができる。
digest –a md5 ファイル名
として、ファイルのMD5の値を出力してみまし ょう。
3.
digest –a sha1 ファイル名
とすることで、ファイルの sha1 の値を出力して みましょう。
33/41
Windows で行う MD5 :入手
ファイルをマイクロソフト
http://support.microsoft.com/default.aspx?scid=kb;en-us;841290
からダウンロードしてくる必要があります。
ダウンロードして、
デスクトップに保存
34/41
Windows で行う MD5 :展開
ダウンロードしてきたファイルをダブルクリックして、
ファイルを展開します。
ファイルを置く場所 を聞いてくるので、
デスクトップを指定
35/41
Windows で行う MD5 :実行 (1)
このツールはGUIがないので、コマンドプロンプトで実 行します。コマンドプロンプトを立ち上げます。
すべての プログラム
「アクセサリ」
の中の
「コマンドプロンプト」
36/41
Windows で行う MD5 :実行 (2)
実行ファイルのフルパスを、プロンプトに貼り付けま しょう。
Shiftを押しながら
右クリックして、
「パスとしてコピー」
を選択
左上のアイコンをクリックして、
「編集」→「貼り付け」を選択
37/41
Windows で行う MD5 :実行 (3)
同様にして、どこかのディレクトリを指定します。
実行すると、すべてのファイルの
MD5値が出ます。
スペースを一つ空けて、
ディレクトリを指定。
MD5値が表示される
38/41
Windows で行う MD5 :その他
オプションとして
bothや
sha1を指定すると、
MD5以 外のハッシュ値も計算できます。
39/41 39/63
使い方まとめ
ハッシュ値を求めるのに使用すつ
fcivというツールは、
以下のように使用します。
指定したフォルダにある全てのファイルのハッシュ値を 出力します。
オプションには、
-both –sha1 –md5 等があり、それぞれ出力するハッシュ値の種類が変わります。
fciv オプション フォルダ名 fciv オプション フォルダ名
40/41
課題の提出
ハッシュ値を求めた結果をMS-Wordもしくはテ キストファイルに貼り付け、経情グループウェア から提出しなさい。
ファイル名は学籍番号の末尾に d をつけたもの とする。
グループ名は『H24_情報セキュリティ』です。
いらない いらない いらない いらないファイル ファイル ファイル ファイルは は は は削除 削除 削除しておくこと 削除 しておくこと しておくこと しておくこと。 。 。 。
41/41
コマンドプロンプトからのコピー
①
左上を クリック
②
『編集』
を選択
③