Comments
Description
Transcript
情報処理基礎第3回「情報セキュリティ」
情報処理基礎 第 3 回 「情報セキュリティ」 小林 裕之 26-Apr-2007 セキュリティ 1 1.1 さまざまなセキュリティ問題 計算機の世界にはさまざまなセキュリティ問題がある。 • 迷惑メイル • コンピュータウィルス・スパイウェア • フィッシング (phishing)・詐欺 人間を騙すものは「ソーシャルエンジニアリング」と呼ばれる。フィッシングもソーシャルエンジニア リングの例。ソーシャルエンジニアリングは人間の問題なので、各自が注意すること。今回はもう少し 技術的な話題を取り上げる。 1.2 電子メイルにおけるセキュリティ問題 以下に主要な 3 つの問題を説明する。 1.2.1 盗聴 (snooping) 本来の受信者以外の (望まれない) 者が通信内容を傍受してしまうこと (図 1) 。 ないしょだね。 送信者 ないしょ だよ。 受信者 ないしょかよ。 p! oo sn 盗聴者 図 1: 盗聴 盗聴は通信を することで対応する。 1 1.2.2 改竄 (alternation) 本来のメッセージの内容を書き換えてしまうこと (図 2) 。 ないしょじゃないの? 送信者 ないしょ だよ。って のはウソ ぴょん。 受信者 al te rn at e! ないしょ だよ。 改竄者 図 2: 改竄 改竄はメッセージに をすることで対応する。 1.2.3 なりすまし (spoofing) 別の送信者になりすましてメッセージを送ること (図 3) 。 Mr. Aからメイルだ! Mr. A sp oo f! オッス! 受信者 from A なりすまし男 図 3: なりすまし なりすましも で対応できる。 2 電子メイルで使う暗号システム データの暗号化・電子署名に使う主要な暗号システム: • PGP, GPG • S/MIME 2 その中で使われている重要な技術: • 秘密鍵暗号 • 公開鍵暗号 • メッセージダイジェスト関数 (ハッシュ関数 2.1 の一種) PGP…Pretty Good Privacy • 汎用の暗号化・電子署名のしくみ (メイル専用というわけではない) • 1991 年に Philip Zimmermann が PGP を発表。 • 1999 年に OpenPGP という規格となる。 • 主な実装として、商用ソフトの “PGP”、フリーソフトの “GnuPG(GNU Privacy Guard; GPG とも)” がある。 2.2 S/MIME…Secure MIME • 電子メイル専用の暗号化・電子署名のしくみ • 認証局が公開鍵の妥当性を証明してくれる 2.3 暗号における重要な語句 暗号化 (encryption) オリジナルのデータ (平文) を他人に解読不能なデータ (暗号文) にすること。 平文 (plaintext) 暗号化する前の元のデータ (“文” といっても文章とは限らない。)。 暗号文 (ciphertext, cryptogram) 暗号化されたデータ。 復号 (decryption) 暗号文を平文に戻すこと。 鍵 (key) 暗号化したり復号したりする際に用いるデータ。 アルゴリズム (algorithm) 暗号化/復号する際の手順・計算方法。 2.4 秘密鍵暗号 (共通鍵暗号) • 昔からある暗号(今でも使われている)。 • 「秘密鍵 (共有鍵)」という一つの鍵を使う。 • 例: 換字式暗号 文字をある規則で置き換える。(例: シーザー暗号, エニグマ, 踊る人形) 最近のもの DES, 3DES, IDEA, ... 図 4: 踊る人形 問: 秘密鍵方式の暗号の決定的な問題点はなんだろう。 3 2.5 公開鍵暗号 • 「公開鍵 (public key)」と「秘密鍵 (private key; 私有鍵)」の二種類の鍵を使う。 • 公開鍵は秘密鍵から生成するのがふつう。 • 公開鍵で暗号化したら、秘密鍵でしか復号できない (図 5)。 • 秘密鍵で暗号化したら、公開鍵でしか復号できない。 • 基本的には素因数分解のように「一方向には簡単な計算」に基づいたアルゴリズム。 • 例: RSA(1977), DSA(1994) ENCRYPTION ONLY PUBLIC KEY SENDERS PLAINTEXT CIPHERTEXT ONE WAY PRIVATE KEY (SECRET) DECRYPTION ONLY RECEIVER 図 5: 公開鍵で暗号化したら秘密鍵でしか復号できない 2.6 メッセージダイジェスト メッセージダイジェスととは: • 任意のデータから作られる小さなデータ • メッセージダイジェストからオリジナルデータは復元できない • 同一のメッセージダイジェストをもつオリジナルデータを見つけるための計算量が非常に大きい (「衝突がない」という) 代表的なメッセージダイジェスト: • MD5 • SHA1 メッセージダイジェストは、複数の (大きな) データが同一のものかどうかを検証するときなどに用いら れる。表 1 はメッセージダイジェスとの一例。ほぼ同一のオリジナルデータにもかかわらず、メッセー ジダイジェストはひどく異なっていることから、「衝突がなさそう」な感じがする? 4 表 1: MD5 の例 オリジナルデータ 円周率 1000 桁 円周率 1001 桁 2.7 MD5 メッセージダイジェスト 4ce1aac59993fa076ba1bc395aec7a57 7a62f739621654e460443d7b1633c1c2 SHA1 メッセージダイジェスト 65e94af46204c04e9923c0e508384c98fa1f90bb fffb2d70fc23082513c00176d6f22ec13330fbe3 電子署名 電子署名は「改竄」と「なりすまし」の両方に対抗する技術。ペンで書く署名や印鑑と目的はいっしょ。 電子署名の特徴は次のとおり。 • 本文を一文字でも書き変えるとバレてしまう。 • 電子署名も一文字でも書き換えてもバレてしまう。 • 本人以外には署名できない。 問: サインや印鑑に比べてどこが優れているか考えよう。 2.8 電子署名の原理 非常に簡略化すると電子署名は次のような仕組みである (図 6 も参照)。ただし本当はもっと込み入っ ている (らしい)。 1. オリジナルメッセージ (M とする) のメッセージダイジェスト (D とする) を求める。 2. D を秘密鍵で暗号化する。これが電子署名 (S とする)。 3. M と S をセットで送る → M’ と S’ として届くとする (正しく送られていれば M=M’, S=S’) 4. 受信者は送信者の公開鍵を使って S’ を復号する (D’ とする)。S’=S であれば D’=D となるはずで ある。 5. 受信者は M’ のメッセージダイジェストを自分でも求めてみる (d’ とする)。M’=M であれば、d’=D となるはずである。 6. 上記 4. と 5. より D’=d’ であればデータは改竄されていないと考える。 電子署名を作成する際には、送信者しか知らない (はずの) 秘密鍵が必要なので「なりすまし」もでき ない。 オリジナル メッセージ M M’ d’ 比較 送信者 D S S’ メッセージ PRIVATE 電子署名 ダイジェスト D’ PUBLIC 図 6: 電子署名の基本概念 問: メッセージダイジェストを取る意味は? 5 受信者 2.9 2.9.1 実際の e-mail の例 電子メイルを公開鍵方式で暗号化する例 From: [email protected] To: [email protected] Subject: encryption --text follows this line-○△です。 暗号化メイルのテストをします。 図 7: 暗号化前の e-mail From: [email protected] To: [email protected] Subject: encryption --text follows this line------BEGIN PGP MESSAGE----Version: GnuPG v1.4.6 (GNU/Linux) Comment: Processed by Mailcrypt 3.5.8+ <http://mailcrypt.sourceforge.net/> hQIOAz8ViyFPU9K0EAf/X8YRL69fnWsBGPlpcNo+/hN8nXt3qncUhJhRA8d5kFPm z+kOcKUuBa7iBGCezm+TjBjPa9nAnAikD1SIFktKJj0w9RxJunBcz8rpPdnWHX/T (中略) rNSLE13OA43a/xecvtlonk+qP+kwj9qxntjSRSQiX1DBWK5LkgmLBBdgB9iVxnAY YVqPfw4zbANpOQ== =9+T+ -----END PGP MESSAGE----- 図 8: 暗号化後の e-mail 2.9.2 電子メイルに電子署名をつける例 From: KOBAYASHI Hiroyuki <[email protected]> To: [email protected] Subject: GPG signed mail -----BEGIN PGP SIGNED MESSAGE----Hash: SHA1 小林です。メイルに電子署名をつけてみました。 -----BEGIN PGP SIGNATURE----Version: GnuPG v1.4.6 (GNU/Linux) Comment: Processed by Mailcrypt 3.5.8+ <http://mailcrypt.sourceforge.net/> iD8DBQFGLudHFc/ORnKwOpQRAnGtAJ9bmoUfReNJFFTCEGFZog2DNwSg8wCgszIO kb149R0PiU7HVB0CSDcnONE= =bK0g -----END PGP SIGNATURE----- 図 9: 電子署名された e-mail の例 6 2.10 OSI 参照モデルとセキュリティ技術 (参考) S/MIME や PGP に限らず、計算機の世界にはさまざまなセキュリティ技術がある。これらセキュリ ティ技術は無意味にたくさんあるわけではない。役割分担がある。コンピュータネットワークにおける OSI 参照モデル (コンピュータシステム基礎の教科書 (黄色い本)215 ページ) と対比するとよくわかる (図 10)。 OSI参照モデル TCP/IPなどの例 アプリケーション層 プレゼンテーション層 各種のアプリケーション セッション層 トランスポート層 S/MIME, PGP SSL, TLS TCP, UDP ネットワーク層 IP データリンク層 Ethernet 物理層 代表的な セキュリティ技術 IPSec WEP, WPA ケーブル, 光ファイバ, 電波 図 10: OSI 参照モデルとセキュリティ技術の関係 暗号技術の将来 3 • 今までの暗号は「絶対解読できないわけではないが、その時代の技術水準では非現実的な計算量 が必要になるからまず無理」という前提で作られてきた。 • 量子コンピュータが実現すると、現代の暗号システムは根本的に無意味になってしまうかもしれ ない。 • 量子コンピュータを使えば、理論的に絶対に盗聴不可能な通信が実現するかも知れない。 最近の話題 4 4.1 無線 LAN の暗号技術のニュース 無線 LAN の暗号化技術のひとつ、WEP がいよいよ危険になりそう (図 11) 。 7 図 11: WEP の問題を伝えるニュース記事 4.2 NDS は危険…かも NDS は WEP しかサポートしていないためかなり危険そう (Apr/2007 現在)。 NDS PSP Vista 図 12: 無線セキュリティ設定画面の例 8