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