暗号の基礎

暗号の基礎
情報社会と情報倫理
12/18/08
暗号とは

何となく分かるだろう
 他人が見ても意味が分からない
 暗いイメージ
 推理小説

参照サイト
http://www.ipa.go.jp/security/pki/index.html
安全なネットサーフィン
本題に入る前に
https(1)

httpではなく,httpsとなっている場合がある
 どこかに鍵マークが表示されている
ブラウザにより
色が変わる場合がある
https(2)


この時,ブラウザとサーバの間の通信は暗号化
されている
 盗聴されても,通信内容は安全
SSL(Secure Sockets Layer)と呼ばれるものを
使っている
https(3)

鍵マークをクリックす
ると,サーバの証明
書
 自分がアクセスし
ている相手かどう
か分かる
 それを保証する
機関(認証局)
https(4)

このとき
 通信が暗号化される
 サーバが認証される
証明書のサイトを確認することにより,
自分がアクセスしているサイトが
どこであるか確認できる
https(5)

実現のために暗号システムを用いている
暗号の基礎
インターネットで商取引を行う場合の問題
(メールに関して)




盗聴
 送信したメールを第三者が読む
成り済まし
 当事者を装ってメールを送る
改ざん
 第三者がメールを書き換える
否認
 自分が送信したメールの内容を否定する
P K I

以上の問題を解決するインフラ
公開鍵基盤 PKI
Public Key Infrastructure
暗 号 (1)

PKIを支える重要な要素が暗号化技術である
暗 号 (2) - 用語

元のメッセージを平文(ひらぶん)

暗号化したメッセージを暗号文

暗号文を平文に戻すことを復号
 復号化と言わないことはない
 第三者が(盗聴した)暗号文を平文に戻すこと
は解読
共通鍵暗号方式
共 通 鍵 暗 号 (1)



シーザ暗号
英大文字だけを考える
例えば
と3文字ずつ後にずらして暗号化する
 HELLO → KHOOR
共 通 鍵 暗 号 (2)



復号するときは,3文字ずつ前にずらす
この “3” を(暗号の)“鍵(かぎ)”と呼ぶ
暗号化と復号に同じ鍵を使うものを共通鍵暗号
と呼ぶ
共 通 鍵 暗 号 (3)



暗号化してメッセージを送れば盗聴対策になる
相手ごとに別の鍵を用意しなければならない
 同じ鍵を使ったのでは,暗号化の意味がない
 たくさんの鍵が必要になる
鍵をどうやって安全に相手に渡すかが問題
 インターネットの商取引では,実際には会った
ことのない相手の場合もある
共 通 鍵 暗 号 (4)


共通鍵暗号の問題
 相手ごとに鍵を用意する
 どうやって相手に鍵を渡すか
この問題を解決したのが
公開鍵暗号
公開鍵暗号方式
公 開 鍵 暗 号 (1)



暗号化の鍵(key1)と復号の鍵(key2)が異なる
key1で暗号化した暗号文は,
key2で復号できるが,key1では復号できない
この他に


key2で復号できるものは,
key1でしか暗号化できない
key1からkey2を簡単に割り出せない
公 開 鍵 暗 号 (2)
key1では
復号不可
公 開 鍵 暗 号 (3)

A 暗号メッセージの受け手

B 暗号メッセージの送り手

Aが,
鍵のペアーkey1とkey2を用意し,
key1をBに伝える
公 開 鍵 暗 号 (4)

B が A に暗号化メッセージを送信
 key1とkey2は,Aが用意する
 key1をBに渡す
公 開 鍵 暗 号 (5)




key1を知っているCが,この暗号化メッセージを
入手したとする
key1では復号できない
key1しか知らないCには,秘密を保つことができ
る
盗聴対策
公 開 鍵 暗 号 (6)




Aに暗号化メッセージを送りたい人は誰でも,key1
により暗号化すればよい
つまり,key1は秘密にする必要はない(積極的に
公開する?)
一方,key2はAだけの秘密にしなければならない
key1をAの公開鍵(暗号鍵)
key2をAの秘密鍵(復号鍵,個人鍵)
デ ジ タ ル 署 名(1)



誰が用意した文書か?
紙の文書では,署名捺印
 実印 印鑑証明書
デジタル文書ではどうするか?
デ ジ タ ル 署 名(2)


公開鍵暗号の応用で実現
例 電子メールの差出人が誰であるか分かる
 「三井住友銀行」名義のメールに電子署名、
国内の大手行では初めて
http://internet.watch.impress.co.jp/cda/news
/2006/04/13/11642.html
デ ジ タ ル 署 名(3)




Aが鍵のペアーを用意(key3・key4)
 key3で暗号化 → key4で復号
key3を保管し,key4を公にする
 key4をBに伝える
Aがメッセージをkey3で暗号化
 それをBに送る
Bがkey4で復号
 内容が分かる
デ ジ タ ル 署 名(4)

key4で復号できる暗号化メッセージは,
key3で暗号化されたもの

key3はAしか知らない


つまり,Bが受け取ったメッセージは
Aが送ったものであるとみなせる
 Aのサイン(署名)付き
デ ジ タ ル 署 名(5)

key4は公にされているので,秘密のメッセージを
送ることはできない

key3を署名鍵,key4を検証鍵

実際には,もっと複雑
公開鍵暗号

このように公開鍵暗号では

暗号化による秘密保持

デジタル署名による相手の確認など
公 開 鍵 の 問 題 (1)



Bの持っているAの公開鍵key1は本物か?
直接,渡されたものならば信用してもよいかも知
れない
インターネットの世界では,直接渡せない場合の
方が多いだろう
公 開 鍵 の 問 題 (2)

Cを,Bが信用している人で,Aの公開鍵を持って
いる

Bは,CからAの公開鍵をもらう

“友達の輪”方式
公 開 鍵 の 問 題 (2)



日本では重要な契約書には実印で捺印する
実印は,市役所などで印鑑登録を行い,印鑑証
明書が発行される
 市役所が印鑑が本物であることを証明する
市役所は皆が信用しているので,その証明書も
信用する
公 開 鍵 の 問 題 (3)


同様に,公開鍵の登録を行い,それが本物であ
ることを証明する機関があると便利
認証局
公 開 鍵 の 問 題 (4)

Aは自分の公開鍵key1を認証局で登録し,証明
書を発行してもらう
 証明書には,Aに関する情報(key1など)が含
まれていて,認証局がデジタル署名をする
必要な情報がブラウザに
 Aは,その証明書をBに送る
あらかじめ用意されている

Bは,証明書の認証局の署名を確認して,Aの公
開鍵を入手する
公 開 鍵 の 問 題 (5)



認証局は信用できる機関でなければならない
そもそも,デジタル署名が有効であることの法的
な裏付けが必要
電子署名及び認証業務に関する法律(4/1/01施
行)
住民基本台帳カード



議論が沸騰した住民基本台帳ネットワーク
希望者個人にカードが発行される
http://www.soumu.go.jp/cgyousei/daityo/juki_card.html
そのカードに,その人の秘密鍵が保管されてい
る
補 足(1)


暗号化の方式(アルゴリズム)は,いろいろある
暗号は鍵だけでなく,アルゴリズムも重要
 シーザ暗号では,“文字をずらす”がアルゴリ
ズム
補 足(2)




暗号の限界
鍵の長さは有限
すべてを試せば解読できる
 つまり,時間をかければ解読できる
コンピュータのスピードは速くなる
 今,10年かかっても、来年には…
複数のコンピュータを同時に使う
 スーパーコンピュータでなくてもかまわない
補 足(3)

暗号の限界
アルゴリズムに問題があって,解読できる場合も
ある
 データ(平文・暗号文)を解析
 たくさんデータがあれば,より容易
 暗号への攻撃