暗号の基礎 情報社会と情報倫理 7/12/07 暗号とは 何となく分かるだろう 他人が見ても意味が分からなくしたもの 暗いイメージ 推理小説 参照サイト http://www.ipa.go.jp/security/pki/index.html 安全なネットサーフィン 本題に入る前に https(1) httpではなく,httpsとなっている場合がある どこかに鍵マークが表示されている(例 IE) 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) 2つの鍵key1とkey2を用いる どちらの鍵でも暗号化できるが, key1で暗号化した暗号文は,key2で復号でき るが,key1では復号できない key2で暗号化した暗号文は,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の秘密鍵 公 開 鍵 暗 号 (7) デジタル署名 Aが秘密鍵key2であるメッセージを暗号化し, それをBに送る 受け取ったBは,Aの公開鍵key1で復号 ただし,key1を知っているCでも可能 AがBに秘密のメッセージを送ることは不可 公 開 鍵 暗 号 (8) デジタル署名 Aの公開鍵key1で復号できる暗号化メッセージは 誰が用意したものか?! そのメッセージは,秘密鍵key2で暗号化したもの key2を知っているのは誰か? 公 開 鍵 暗 号 (9) デジタル署名 key2はAだけが知っているハズ 途中で,誰かがメッセージを書き 換えていないことが保証される。 Bが受け取ったメッセージは,Aが送ったものであ なぜか?! るとみなすことができる 成り済まし対策・改ざん対策・否認対策 デジタル署名・電子署名 実際には,もうちょっと複雑 メッセージそのものを 暗号化するのではなく, メッセージダイジェストを 用意し,それを暗号化 したものを付ける 公 開 鍵 暗 号 (10) このように公開鍵暗号では 暗号化による秘密保持 デジタル署名による相手の確認など 公 開 鍵 の 問 題 (1) Bの持っているAの公開鍵key1は本物か? 直接,渡されたものならば信用してもよいかも知 れない インターネットの世界では,直接渡せない場合の 方が多いだろう 公 開 鍵 の 問 題 (2) Cを,Bが信用している人で,Aの公開鍵を持って いる Bは,CからAの公開鍵をもらう “友達の輪”方式 公 開 鍵 の 問 題 (2) 日本では重要な契約書には実印で捺印する 実印は,市役所などで印鑑登録を行い,印鑑証 明書が発行される 市役所が印鑑が本物であることを証明する 市役所は皆が信用しているので,その証明書も 信用する 公 開 鍵 の 問 題 (3) 同様に,公開鍵の登録を行い,それが本物であ ることを証明する機関があると便利 認証局 公 開 鍵 の 問 題 (4) Aは自分の公開鍵key1を認証局で登録し,証明 書を発行してもらう 大雑把に言うと,key1を認証局の秘密鍵で暗 号化したものが証明書 Aは,その証明書をBに送る Bは,証明書を認証局の公開鍵で復号して,Aの 公開鍵を入手する デ ジ タ ル 署 名の 問 題 (1) 認証局は信用できる機関でなければならない そもそも,デジタル署名が有効であることの法的 な裏付けが必要 電子署名及び認証業務に関する法律(4/1/01施 行) デ ジ タ ル 署 名の 問 題 (2) 認証局の公開鍵の入手方法が問題 実はブラウザの中にあらかじめ入っている(例 FireFox) デ ジ タ ル 署 名の 問 題 (3) 秘密鍵が漏えいしたら,とんでもないことになる 住民基本台帳カード 議論が沸騰した住民基本台帳ネットワーク 希望者個人にカードが発行される http://www.soumu.go.jp/cgyousei/daityo/juki_card.html そのカードに,その人の秘密鍵が保管され,電 子的な身分証明書となる 補足 暗号化の方式(アルゴリズム)は,いろいろある 暗号は鍵だけでなく,アルゴリズムも重要 シーザ暗号では,“文字をずらす”がアルゴリ ズム 暗 号 の 限 界 (1) 鍵の長さは有限 すべてを試せば解読できる つまり,時間をかければ解読できる コンピュータのスピードは速くなる 今,10年かかっても、来年には… 複数のコンピュータを同時に使う スーパーコンピュータでなくてもかまわない 暗 号 の 限 界 (2) アルゴリズムに問題があって,解読できる場合も ある データ(平文・暗号文)を解析 たくさんデータがあれば,より容易 暗号への攻撃 公開鍵・秘密鍵の使い方 再 AとBの関係は, 前の例とは同じではない! 復 習(1) 誰のどちらの鍵か,区別すること! AとBが公開鍵暗号により,通信を行う それぞれが,鍵を用意する Aの公開鍵(A-公開),秘密鍵(A-秘密) Bの公開鍵(B-公開),秘密鍵(B-秘密) 自分の公開鍵を相手に教える (悪意をもつ)第三者Cに 知られてもかまわない! 復 習(2) この暗号化メッセージをCが入手 AがBに秘密のメッセージを送る Cは,B-公開を知っているが, Aは,B-公開で暗号化 B-秘密は知らない 送信 Cは,復号できない! Bは,B-秘密で復号 復 習(3) Aが自分のメッセージであることを保証したい Aは,A-秘密で暗号化 送信 Bは,A-公開で復号 復 習(4) 前の2つを合わせたもの AがBに秘密のメッセージを送る そのメッセージは,Aのものであることを保証した い 復 習(5) デジタル署名 メッセージの秘匿 Aが行う 送信 Bが行う Aが送信したものであることが分かる Bだけ読むことができる
© Copyright 2024 ExpyDoc