暗号の基礎

暗号の基礎
情報社会と情報倫理
第12回
暗号とは

何となく分かるだろう
 他人が見ても意味が分からない
 暗いイメージ
 推理小説

参照サイト
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)

このとき
 通信が暗号化される
 サーバが認証される
証明書のサイトを確認することにより,
自分がアクセスしているサイトが
どこであるか確認できる
フィッシング対策
https(5)

実現のために暗号システムを用いている

ただし,最近は
SSL証明書を使う詐欺サイトが急増、乗っ取り
サーバで運営(ITmedia)
暗号の基礎
インターネットで商取引を行う場合の問題
(メールに関して)




盗聴
 送信したメールを第三者が読む
成り済まし
 当事者を装ってメールを送る
改ざん
 第三者がメールを書き換える
否認
 自分が送信したメールの内容を否定する
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だけの秘密にしなければならない
CでもDでも誰でも
公 開 鍵 暗 号 (7)




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)

以降の話は,最初は理解できなくてもかまわない
key3 暗号化用鍵
key4 復号用鍵
デ ィ ジ タ ル 署 名(4)




Aが鍵のペアーを用意(key3・key4)
 key3で暗号化 → key4で復号
key3を保管し,key4を公開する
 key4をBに伝える
Aがメッセージをkey3で暗号化
 それをBに送る
Bがkey4で復号
 内容が分かる
デ ィ ジ タ ル 署 名(5)

key4で復号できる暗号化メッセージは,
key3で暗号化されたもの

key3はAしか知らないハズ


つまり,Bが受け取ったメッセージは
Aが送ったものであるとみなせる
 Aのサイン(署名)付き
デ ィ ジ タ ル 署 名(6)

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)



認証局は信用できる機関でなければならない
公開鍵が本物であることを,認証局に保証しても
らう(認証局がディジタル署名をする)
こうしてある人の公開鍵を信用することができる
ようになる
公 開 鍵 の 問 題 (6)


そもそも,ディジタル署名が有効であることの法
的な裏付けが必要
電子署名及び認証業務に関する法律(4/1/01施
行)
まとめと補足
二種類の方式

共通鍵暗号

公開鍵暗号
共通鍵暗号


暗号化と復号に同じ共通鍵
相手ごとに別の鍵
公 開 鍵 暗 号 (1)


公開鍵 key1 で暗号化,秘密鍵 key2 で復号
key1とkey2は異なる
key1では
復号不可
公 開 鍵 暗 号 (2)

メッセージの受け手が2つの鍵を用意
 公開鍵を相手に教える
 これは,秘密にする必要はない
 ただし,秘密鍵は手元に大事に保存
補 足(1)


暗号化の方式(アルゴリズム)は,いろいろある
暗号は鍵だけでなく,アルゴリズムも重要
 シーザ暗号では,“文字をずらす”がアルゴリ
ズム
補 足(2)




暗号の限界
鍵の長さは有限
すべてを試せば解読できる
 鍵はビット列
 つまり,時間をかければ解読できる
コンピュータのスピードは速くなる
 今10年かかっても,来年には…
複数のコンピュータを同時に使う
 スーパーコンピュータでなくてもかまわない
補 足(3)

暗号の限界
アルゴリズムに問題があって,解読できる場合も
ある
 データ(平文・暗号文)を解析
 たくさんデータがあれば,より容易
 暗号への攻撃
 長い間,使われていると解読方法が見つかる
可能性が大