情報の暗号化 -必要性とその原理- 江崎浩、中山雅哉 東京大学 情報基盤センター [email protected] 1 はじめに • セキュリティについて – システムセキュリティ対策 – ネットワークセキュリティ対策 • セキュリティ対策としての情報の暗号化 – いくつかの動作原理 – アプリケーションでの対応策の実際 2 What is “Security” ? • 研究社 新英和大辞典より – – – – – – – 安全、大丈夫、無事 (safety) 安心 (ease)、心丈夫 (confidence) 油断 (overconfidence) 防衛、防護 (defence)、保護 (protection) [法] 保証 (guarantee) 有価証券 (stocks and bonds) (公務員の信頼性や所属官庁などに対する) 秘密監 視団 3 What is “Security” ? • 研究社 新英和大辞典より – – – – – – – 安全、大丈夫、無事 (safety) 安心 (ease)、心丈夫 (confidence) 油断 (overconfidence) 防衛、防護 (defence)、保護 (protection) [法] 保証 (guarantee) 有価証券 (stocks and bonds) (公務員の信頼性や所属官庁などに対する) 秘密監 視団 4 セキュリティとは何か? • 「守るべきものを守ること」 ↓ • 「守るべきもの」について – 「計算機と計算機ネットワーク」に限定 • 「守ること」について – 何から保護するのか? – セキュリティ対策のためにどれだけの時間、 労力、予算を充てるか? 5 「守るべきもの」 (類別) • 計算機 – システムセキュリティ • 計算機ネットワーク – ネットワークセキュリティ 6 セキュリティ対策の必要性 • システムに対する脅威 – ユーザのデータが改竄される危険性がある • Webページの改竄, データの消去など – 計算機資源が不正利用される危険性がある • SPAM relay, DDoS 攻撃の一翼など • ネットワークに対する脅威 – 1つでもセキュリティ・レベルの低い計算機が あると、他の計算機も危険に晒される • 踏み台アタック, sniffer など 7 システムセキュリティ対策(1) • 不要な計算機の停止 • 不必要なサービスの停止 – OSインストール時から動くサービスの見直し • UNIX: Sendmail, rpc関連サービス, NIS等 • Windows: NetBEUI等 • Macintosh: AppleShare等 – システム起動時に動くサービスの見直し • /etc/rc等で起動されるサービス • /etc/inetd.conf 等で指定されるサービス – 計算機やサービスへのアクセス制限の実施 • Tcpwrapperなどの活用 8 システムセキュリティ対策(2) • OS等へのセキュリティ対策 – 日頃からセキュリティ対策情報を入手 • ベンダーからのセキュリティ関連情報 • CERT/CC, JPCERT 等のアドバイザリ – 稼動サービスに関するログ監視 • 不正アクセスなどに関する状況把握 – 定期的なバックアップ • 問題発生時の早急な復旧のために 9 システムセキュリティ対策(3) • 共用ホストでのアカウント管理 – 複数人で共有するアカウントを作らない – ユーザが管理できないアカウントの整理 • 利用者の行うアカウント管理 – 簡単に類推できるパスワードにしない – 定期的なパスワード変更 – パスワードを他人に知られない様に管理する 10 悪いパスワードとは • 6文字以下の短い文字列 • 自分、配偶者、両親、子ども、ペットの名前やあ だ名 • 友人、上司の名前やあだ名 • 自宅や会社の電話番号 • 誰かの誕生日 • 英語、日本語、外国語の辞書にある単語 • 地名、固有名詞 • 単純な文字列 (aaaaaaaa, 12345678 など) 11 良いパスワードとは • • • • 長い 憶えやすく、書き留める必要がない 素早く入力できる 大文字、小文字、数字、記号などを織り交 ぜている 12 システムセキュリティ対策(4) • クライアントホストにおける管理 – – – – OS等へのセキュリティー対策情報の入手 ファイル共有時のアクセス権限をチェック ウィルスチェックプログラムによる予防措置 定期的なバックアップ • 利用者が行う注意事項 – 不用意なソフトウェア導入を避ける – 電子メイルの添付ファイルにも注意を払う 13 システムセキュリティ対策のまとめ • どういう対策が必要かを調べる方法は? – セキュリティ診断サービス • 対策が済んだか確認する方法は? – 電子メイルの不正中継テスト • コンピュータウィルスへの予防方法は? – コンピュータウィルス対策ソフトウェアの配布 • セキュリティ関連情報を調べる方法は? – セキュリティ・リンク http://www.nc.u-tokyo.ac.jp/security/ 14 システムセキュリティ対策で万 全? • NO!! • ネットワークを流れる情報の危険性 – telnet, ftp, pop などの実例 15 簡単な通信モデル A 盗聴可 X R B 16 ネットワーク構成(1) Router HUB A HUB B X 17 ネットワーク構成(2) Router HUB S/W Hub A X S/W HUB B 研究室 18 システムセキュリティ対策で万 全? • NO!! • ネットワークを流れる情報の危険性 – telnet, ftp, pop などの実例 • 何が必要? • ネットワーク上の情報を守る方法 – パスワードの暗号化 → OTP、apop – 通信自身の暗号化 → ssh、SSL, (Ipsec) – 情報の正当性保証 → PGP等 19 ネットワークセキュリティ 実世界の“価値ある”情報がネットワーク上に存在し 交換されている。 → 情報の保護、利用者の認証、不正アクセスの防止 保護対象; (1) データ (a) 機密性(他人に知られたくない情報) (b) 保全性(他人に変更されたくない情報) (c) 可用性(管理を必要とする情報) (2) 資源 (CPU、メモリなど) (3) 評判 20 ネットワークセキュリティ 1. セキュリティーポリシーを決める 2. ユーザーの認証(パスワード管理) 3. ファイルの保護 4. Secureなホストへの アクセスの方法 5. アクセス制御(xinetd, TCP wrappers) 6. 暗号化 (IPsec) 7. Firewall (e.g., socks) 8. 電子メイルシステム 21 ネットワークセキュリティ 1. セキュリティーポリシーを決める 2. ユーザーの認証(パスワード管理) 3. ファイルの保護 4. Secureなホストへの アクセスの方法 5. アクセス制御(xinetd, TCP wrappers) 6. 暗号化 (IPsec) 7. Firewall (e.g., socks) 8. 電子メイルシステム 22 ユーザの認証(アカウント管理) 23 ユーザの認証(アカウント管理) 1. 想像しにくいパスワードの使用 -すべて小文字、すべて大文字とか、、、、 2. パスワードファイル(/etc/passwd)の保護 - Shadow Password File ; /etc/master.passwd 3. 使い捨てパスワード(OTP; One Time Password) - Challenge & Response 型 with 共有鍵 4. ssh ; Secure Shell - 暗号化された Remote Login with 公開鍵+秘密鍵 5. RADIUS (Remote Authentication Dial In User Services) - ダイアルアップユーザに対する認証処理 24 使い捨てパスワード ; OTP ・毎回異なるパスワードを利用する。 ・Challenge & Response 型の認証 ・同一の鍵をサーバーとクライアント間で共有する。 ・例えば、 ftp://ftp.nrl.navy.mil/pub/security/opie/opie-2.3.tar.gz ・Windows95 上でのクライアントソフトもある。 19462 19462 28472 f(19462,28472) = JOB ARTS WERE FEAT TITLE JOB ARTS WERE FEAT TITLE OK 25 使い捨てパスワード ; OTP 1. 共有鍵の生成 : 必ずコンソールから行うこと ! $ opiepasswd -c Using MD5 to compute response: Enter old secret pass phrase: 3J5Wd6PaWP Enter new secret pass phrase: 9WA11WSfW95/NT Again new secret pass phrase: 9WA11WSfW95/NT ID tyler OPIE key is 498 wi01309 CITE JAN GORY BELA GET ABED 2. OPIE Keyの生成 $ opiekey -n 5 495 wi01309 Enter secret pass phase: 9WA11WSfW95/NT 491: HOST VET FOWL SEEK IOWA YAP 492: JOB ARTS WERE FEAT TILE IBIS 26 使い捨てパスワード ; OTP 3. Login $ telnet sh.wide.ad.jp login: tyler otp-md5 492 wi01309 response or password: JOB ARTS WERE FEAT TILE IBIS OTPでできること: パスワード盗聴の防止 OTPでできないこと: login許可の後のデータは盗聴可能 27 電子メイルシステムでの セキュリティ技術 • 電子メイルシステムの概要 • メイル関連のセキュリティ的な問題・対策 – – – – – ファイルアクセス権 パスワード保護; APOP 不正使用; SMTPサーバ アクセス制御 メイル改竄; 暗号メイル、ヘッダチェック SPAMメイル 28 パスワード保護 - APOP - • POP3の問題点 – パスワード情報が定期的に平文で交換される – telnet(1キャラクタ/パケット)よりも危険 • 使い捨てパスワード(OTP)の利用 – パスワード= MD5(PROCESS_ID、TIME_STAMP、 HOSTNAME、APOP_PASSWORD) 29 パスワード保護 - APOP ; qpopper2.2- ・ APOPサーバ (1) ディレクトリー作成 # mkdir /usr/local/bin/etc/popper # chown pop.bin /usr/local/bin/etc/popper # chmod 700 /usr/local/etc/popper (2) APOPユーザDB作成 # /usr/local/bin/popauth -init → /usr/local/etc/popper/pop.auth.db 30 パスワード保護 - APOP ; qpopper2.2- ・ APOPサーバ (3) APOPユーザの登録 # /usr/local/bin/popauth -usr hiroshi Changing POP password for hiroshi New password: ******* Retype new password: ******** (4) APOPユーザの削除 # /usr/local/bin/popauth -delete hiroshi ・ APOPクライアント POP→APOP、 APOPパスワード設定 31 APOP; Authenticated POP IP address of esaki.nc.u-tokyo.ac.jp is 130.69.251.25 Socket 140 connection with port number 110 established S: +OK QPOP (version 2.2-krb-IV) at esaki.nc.u-tokyo.ac.jp starting. <[email protected]> C: APOP hiroshi dda5d5b82f4f6ac1d25adea125e170fa S: +OK hiroshi has 2 message(s) (4553 octets). C: LIST S: +OK 2 messages (4553 octets) S: 1 4553 S: . C: RETR 1 S: +OK 4553 octets Receiving #1... C: DELE 1 S: +OK Message 1 has been deleted. C: QUIT Remote host closed socket S: +OK Pop server at esaki.nc.u-tokyo.ac.jp signing off. Socket closed successfully 32 暗号化・認証アルゴリズム 33 暗号化・認証アルゴリズム [1] 平文の認証 (一般には、 N bits(入力) → m bits(出力), N>m) (1) メッセージダイジェスト(圧縮暗号化) - MD5 (Message Digest 5); RFC1321, RCC1828 → POP3などでの認証に利用されている。 (2) HMAC (Keyed-Hashing for Authentication); RFC2104 - RFC1826(AH)などでのメッセージ認証 [2] 平文の暗号化 (3) 暗号化 ① DES(Data Encryption Standard) ; 秘密鍵方式 ② RSA(Rivest, Shamir, Adleman) ; 公開鍵方式 34 秘密鍵暗号方式 ・ DES (56bit鍵) ・ トリプルDES (112bits鍵) ・ RC2, RC4 (1024bits以下鍵) ・ IDEA (128bits鍵) ; PGPで使用されている 出典: http://www.psn.or.jp/TROUBLE/security.html 35 公開鍵暗号方式 例; ssh (Secured Shelll) 出典: http://www.psn.or.jp/TROUBLE/security.html 36 安全なRemote Shell - ssh ; secure shell ・公開鍵暗号方式; 公開鍵+秘密鍵 ・フィンランド ヘルシンキ大学で開発 ・RSA、 IDEA、 DES 方式による暗号化 ・例えば; http://www.cs.hut.fi/ssh ・Windows95版クライアントもあります(Teraterm) ・sshd (secure shell daemon) ・ssh (rlogin)、scp (rcp)、ssh-keygen ・鍵情報ファイル .ssh/identity .ssh/identity.pub (client) => .ssh/authorized_keys (server) .ssh/ssh_known_hosts, /etc/ssh_known_hosts 37 安全なRemote Shell - ssh ; secure shell 1. 公開鍵(Public key)の交換とチェック /etc/ssh_known_hosts、 ..ssh/known_hosts 2. クライアントは秘密鍵を使って Session Keyを送る (*) Session keyは毎回変わる。 3. サーバは公開鍵を使って Session Key を平文化する 4. Session Keyを用いて暗号化・平文化 公開鍵A セッション鍵 with 公開鍵A サーバー 秘密鍵B 公開鍵A 公開鍵A f (セッション鍵,秘密鍵B) セッション鍵での暗号通信 クライアント38 安全なRemote Shell - ssh ; secure shell 1. 鍵ファイルの生成; ssh-keygen > ssh-keygen Initializing random number generator.... Generating p: ...............++(distance 616) Generating q: ........++(distance 244) Computing keys... Testing keys.... Key generation complete. Enter file in which to save the key ($home/.ssh/identity) Enter passphrase: Pdky&tiaj Enter the same passphrase again: Pdky&tiaj Your identification has been saved in $home/.ssh/identity. Your public key is: 1024 35 1589082636485498264829464945374846384739274 home@pecan Your public key has been saved in $home/.ssh/identity.pub 39 安全なRemote Shell - ssh ; secure shell [注意] ・ リモートからの root でのログインは禁止するべき。 ファイル /etc/sshd_config に PermitRootLogin no を付け加える。 40 電子メイルシステムでの セキュリティ技術 • 電子メイルシステムの概要 • メイル関連のセキュリティ的な問題・対策 – – – – – ファイルアクセス権 パスワード保護; APOP 不正使用; SMTPサーバ アクセス制御 メイル改竄; 暗号メイル、ヘッダチェック SPAMメイル 41 メイルの改竄への対策 • 暗号・署名メイル – PGP、S/MIME、PEM、MOSS、KPS – トランスポート(End-to-End)モード 、トンネル (GW)モード • メイルヘッダのチェック – Received: 行 – Message-Id: 行 42 電子署名方式 ・ MD5 (128 bits) ・ SHA (160 bits) 出典: http://www.psn.or.jp/TROUBLE/security.html 43 PGP署名メイル [ 署名したいメイル ] 7月30日午前10時に天満橋で会いましょう。 [ 署名されたメイル] -----BEGIN PGP SIGNED MESSAGE----- 7月30日午前10時に天満橋で会いましょう。 -----BEGIN PGP SIGNATURE----Version: 2.6.3ia Charset: noconv iQCVAwUBMey8R6UtC+xzFETZAQEnUAP+N30di02slY+rRYa2gBJ2u2ImWofjeyks 1AkvsN9errDk4N/VcFmc3d6F4heDkiy87u3XAVoulz2orb9xZ3qFveoEZp3QLLa6 Pkzs6/N1nmJZFZFlf1M8yUR5WZTbyaVHQmC1AuSZhJsM8+8S/+IbpXVPJJ68M4JE cDYBT86eekM= =UE6f -----END PGP SIGNATURE----出典: http://www.psn.or.jp/TROUBLE/security.html 44 PGP暗号化メイル 公開鍵暗号化方式(暗号化方式; RSA+IDEA) 出典: http://www.psn.or.jp/TROUBLE/security.html 45 PGP暗号化メイル [ 暗号化したいメイル ] 7月30日午前10時に天満橋で会いましょう。 [ 暗号化されたメイル ] -----BEGIN PGP MESSAGE----Version: 2.6.3ia hIwDpS0L7HMURNkBA/4qk4BDXaiLag9tOS8srdd09IP4Pbocw8ERnYZKc8BJZHRq bmePoSNRpv8QwRPttwB3pkUhPH9ET5BbGiyuw36hLvIet5z5ot3RS+XnfSz1Tyxw xkXT+nNDCE6Gntb6JqBUym2/FRowwMNOc1bnKD6eIqZfekDUWBuHKSRduH6BfqYA AAA3YBJcBDcrQtcIuA5R+bvivZ8gc8Fx3JCcUtW4yH+embVTTSUw+xTt0JSUoo93 u5+LHGrrzBESSg== =00WV -----END PGP MESSAGE----- 出典: http://www.psn.or.jp/TROUBLE/security.html 46 鍵の証明と配布 ・証明した人のリストをつける 例; PGP暗号化メール 出典: http://www.psn.or.jp/TROUBLE/security.html 47 鍵の証明と配布 ・証明を発行する機関・組織を利用 例; Netscape Webサーバ 暗号化情報交換 出典: http://www.psn.or.jp/TROUBLE/security.html 48 参考文献 [参照文献] ・ W. Stevens, “TCP/IP Illustrated”, Addison-Wesley, ISBN 0-201-63346-9, 1994. ・ 亀田 久和, “sendmail manual & reference”, 秀和システム, ISBN4-87966-796-X、1998年. ・ C.Hunt, “TCP/IP Network Administration”, O’Reilly, ISBN 1-56592-322-7, 1998年 ・ “インターネットRFC事典”, 笠野英松監修、 アスキー出版、ISBN4-7561-1888-7、 1998年 ・ http://www.psn.or.jp/TROUBLE/security.html 49 参考文献(続き) • UNIXセキュリティ – Sinmpson Garfinkel, Gene Spafford 著 – 山口英監訳、アスキー、1993年 • カッコウはコンピュータに卵を産む – Clifford Stoll 著 – 池央耿訳、草思社、1991年 • ころばぬ先のセキュリティ – 山本和彦、UNIX magazine、アスキー – 1994/5-1995/3 50 参考文献 (続き) • UNIXシステムセキュリティと管理 – クリストフ・ブラウン著 – 石橋、草刈、横川、松井訳、アジソンウェスレ イ、1996年 • Firewalls and Internet Security – William R. Cheswick, Steven M. Bellovin 著 – Addison-wesley, 1994年 51 参考文献(続き) • 公開鍵暗号系 – アルト・サロマー著 – 足立暁生訳、東京電機大学出版局、1992年 • インターネット世紀のコンピュータネットワーク暗 号システム – 菊池豊彦著、NECクリエイティブ、1995年 • 現代暗号 – 岡本龍明、山本博資著 – 産業図書、1997年 52 参考文献(続き) • PGP 暗号メールと電子署名 – Simson Garfinkel 著 – 山本和彦監訳、オライリージャパン、1996年 53 54 アクセス制御 1. セキュリティーポリシーを決める 2. ユーザーの認証(パスワード管理) 3. ファイルの保護 4. Secureなホストへの アクセスの方法 5. アクセス制御(xinetd,TCP wrappers) → 6. 暗号化 (IPsec) (1) 暗号メール (2) トランスポート層での暗号化 (3) IPsec 7. Firewall 55 暗号化・IPsec 1.暗号メール - PEM, MOSS - S/MIME - PGP (Pretty Good Privacy) 2. トランスポート層での暗号化 - SOCKS (http://www.socks.nec.com/) 3. IPsec - 認証ヘッダ(AH: Authentication Header) - 暗号ペイロード(Encapsulating Security Payload) - 鍵交換プロトコル(Internet Key Exchange) 56 IPsec 1. 認証ヘッダ(AH: Authentication Header) - 送信者の認証 - データの改竄の検出 → 一方向性ハッシュ関数の利用 (HMAC-MD5, HMAC-SHA-1) IP AH Payload Next Header Payload Len. Reserved Security Parameters Index (SPI) Sequence Number Authentication Data (ICV) 57 暗号化・IPsec 2. 暗号ペイロード(Encapsulating Security Payload) IPペイロードの暗号化 - DES-CBC、 (3DES-CBC)、 HMAC-MD5、 HMAC-SHA-1、NULL-Auth、 NULL-Enc IP ESP Security Parameters Index (SPI) Sequence Number Payload Data padding Pad Length Next Header Authentication Data (ICV) 58 暗号化・IPsec ・ AH、ESPに関する2つの動作運用形態 (1) トランスポートモード; End-to-End IP Payload IP ESP (2) トンネルモード; Gateway-to-Gateway IP1 IP2 Payload ESP 59 暗号化・IPsec - トランスポートモード Internet IP Payload IP Payload IP ESP IP ESP 60 暗号化・IPsec - トンネルポートモード Internet IPsec-GW IP1 IPsec-GW Payload IP2 IP1 IP1 ESP IP2 IP1 Payload ESP 61 暗号化・IPsec 3. 鍵交換プロトコル(Internet Key Exchange) IKE - 旧 ISAKMP/Oakley - 共有鍵の動的交換 - セキュリティーアソシエーションの更新 - Deffie-Hellman 鍵配送方式 62 ネットワークセキュリティ - IETFでの議論 RFC2196 : Site Security Handbook RFC2084 : WWW Transaction Security RFC1948 : TCP Sequence Number攻撃への対処 RFC1457 : Security Labelのフレームワーク RFC1335 : NISデータベース RFC1281 : 安全運用のガイドライン RFC1135 : 1998年11月2日のワーム対策 RFC1108 : IP Security Options 63 ネットワークセキュリティ - IETFでの議論 (1) Application/プロトコル単位での個別機能 (2) Applicationレベルでの共通機能 (3) IPレベルでの認証機能 - IPsec - AH(Authentication Header) ; RFC1826 - ESP(Encapsulating Security Payload); RFC1827 (4) IPデータグラムのカブセル化 - PPTP (Point-to-Point Tunneling Protocol) - L2F (Layer 2 Forwarding) 64
© Copyright 2024 ExpyDoc