1 / 27

情報セキュリティ

q. q. 情報セキュリティ. 第10回:2005年6月17日(金). q. q. 今後の予定. 第10回:6月17日 落ち穂拾い(1) 暗号化ソフトウェア: PGP と GnuPG , SSH 第11回:6月24日 サーバセキュリティ 第12回:7月1日 理論:計算論,暗号プロトコル 第13回:7月8日 企業・組織のセキュリティ:ISMS,個人情報保護法 第14回:7月15日 落ち穂拾い(2),おさらい問題 第15回:7月22日 試験. 落ち穂拾い:RSAの安全性(1). 素因数分解が効率よく行えるなら,RSAは安全でない. 略証:

Télécharger la présentation

情報セキュリティ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. q q 情報セキュリティ 第10回:2005年6月17日(金) q q

  2. 今後の予定 • 第10回:6月17日 • 落ち穂拾い(1) • 暗号化ソフトウェア:PGPとGnuPG,SSH • 第11回:6月24日 • サーバセキュリティ • 第12回:7月1日 • 理論:計算論,暗号プロトコル • 第13回:7月8日 • 企業・組織のセキュリティ:ISMS,個人情報保護法 • 第14回:7月15日 • 落ち穂拾い(2),おさらい問題 • 第15回:7月22日 • 試験

  3. 落ち穂拾い:RSAの安全性(1) • 素因数分解が効率よく行えるなら,RSAは安全でない. • 略証: • NとEを既知とし,(素因数分解により)Nの素因数pが知られているときに,Dを計算できればよい. • q=N/p,L=lcm(p-1,q-1) とし,aE+bL=1を満たす整数の組(a,b)を拡張ユークリッド法により求めれば,D = a mod L.

  4. 落ち穂拾い:RSAの安全性(2) • 離散対数問題を効率よく解けるなら,RSAは安全でない. • 略証: • NとEを既知とし,ここから「任意の整数値Mに対して(ME mod N)D mod N = M」となる整数Dを計算できればよい. • 整数n1を2≦n1<N の範囲で任意に選び,n2=n1E mod Nを計算してから,n2x mod N = n1を満たす整数xを求めると(離散対数問題),D=xかもしれない. • n1がNの生成元であれば,D=xとしてよい. • n1がNの生成元でなければ,複数の解があり得るが,n1をいくつか選んで計算すれば,Dを特定できる可能性が高くなる.

  5. 本日学ぶこと • 暗号化ソフトウェア • PGP (Pretty Good Privacy) とGnuPG (GNU Privacy Guard) …メールやファイルの暗号化 • SSH (Secure SHell) …通信の暗号化

  6. PGPの鍵リング(key ring) • 各利用者が鍵を管理 • それぞれの鍵は,作成者も鍵長も暗号アルゴリズムも様々 • takehiko@sys.wakayama-u.ac.jpの鍵は,だれでも生成可能 • GnuPGでは,~/.gnupg 以下のファイル

  7. GnuPGで行う操作(1) • 自分の鍵(公開鍵&プライベート鍵) • 鍵ペア生成 • 破棄証明書の作成 • 公開鍵暗号による復号 • 署名(ファイル,他人の鍵) • 他人の鍵(公開鍵) • インポート • 署名 • 信頼度設定 • 公開鍵暗号による暗号化 • 署名の検証

  8. GnuPGで行う操作(2) • 鍵リング • 鍵の書き出し(テキスト化) • 鍵のインポート・削除 • 鍵一覧・fingerprint • 公開鍵サーバへ鍵を送受信 • その他 • 公開鍵サーバで鍵の検索 • 対称暗号による暗号化と復号 • 使い方は,ここをブックマーク! • http://seorg.moo.jp/nateha/index.php?GnuPG

  9. PGPのインポート(import) • 鍵を鍵リングに取り込むこと • 主に他人の公開鍵 • 自分の鍵(公開鍵&プライベート鍵)は,鍵ペア生成で自動的にインポートされる • 破棄証明書をインポートすることも • 鍵の入手方法は… • 本人,または信頼できる人からファイルで • インターネットで,公開鍵サーバ(keyserver)から • インポートの後は? • まず①正当性を確認,②自分の鍵で署名,③信頼度設定 • そうすれば,暗号化や,署名の検証ができる.

  10. 公開鍵をインポートしたら • 他人の公開鍵をインポートしただけでは • その鍵が正当なものかわからない. • その鍵で暗号化・署名の検証などをしてはいけない. • 正当性の確認:所有する鍵のfingerprintを求め,別に公開されているfingerprintと照合する. • 「Takehiko Murakawa <takehiko@sys.wakayama-u.ac.jp>」(ID: 3A423EBE)のfingerprintは564B 8D8E C58A 0D78 8294 F3E9 0D23 DE18 3A42 3EBE • 自分のプライベート鍵で「鍵に署名」をつけると,自分はその鍵を信頼したことになる. • 信頼度(所有者信頼)は,第三者がその鍵を信頼するための情報 • 信頼度情報を,公開鍵サーバに送ることができる.

  11. 鍵の破棄 • 鍵リングから鍵を削除するコマンドを実行する • 自分の鍵は? • 鍵ペア生成後すぐ,破棄証明書を作成しておく • 不要になったほかに,漏洩(compromise)の疑惑があれば,破棄証明書を鍵リングにインポートしたのち,公開鍵サーバに送信すればよい.(鍵リングからの削除はしないほうがよい.)

  12. Windowsで利用可能なGnuPG • Cygwinのgpgコマンド • Windows Privacy Tools (WinPT)

  13. PGPで暗号化・復号のできるメールクライアントPGPで暗号化・復号のできるメールクライアント • Windows用 • Datula (シェアウェア) • Becky! (シェアウェア) • Thunderbird + enigmail など • Linux用 • Sylpheed (6階演習室ではできない) • Emacs + Mew

  14. PGPで暗号化メールを送ってみたい人へ • 第2回レポートを, 「Takehiko Murakawa <takehiko@sys.wakayama-u.ac.jp>」の鍵で暗号化してメールで送ってかまいません. • 期限は,Thu, 23 Jun 2005 12:00:00 +0900まで.それ以降のメールは平文で送ること. • 復号できたら,その旨返信するとともに,加点します. • 復号できなかったら,再送依頼のメールを送ります. • メールクライアントで暗号化するのでも,レポートのファイル(doc, pdf, txt)を暗号化して添付するのでもかまいません. • ディジタル署名はつけないでください.

  15. SSH • リモートホストとの通信を安全に行うためのプロトコル • クライアントは,サーバ(リモートホスト)の認証をする • サーバは,ユーザの認証をする • telnet, rlogin, ftp などのコマンドを置き換える • SSL/TLSやVPN (Virtual Private Network)とは別物 ローカルホスト (SSHクライアント) リモートホスト (SSHサーバ)

  16. SSHでできること • リモートログイン…ssh, slogin • ポートの転送(ポートフォワーディング) • ファイルのコピー…scp • FTPと似た方法でファイルをコピー…sftp

  17. SSHの種類 • 製品かフリーか • SSH Tectia…SSH社の製品 • OpenSSH…フリー.Linuxでも広く使われている • プロトコルバージョン • SSH1…安全性に問題があり,使われない • SSH2…広く使われている • 製品のバージョンとは別!

  18. 準備 • リモートホストでSSHサーバを起動させておく • TCPのポート番号22にアクセスできるようにしておく

  19. SSH2プロトコルの概要 クライアント サーバ 接続要求 バージョン番号通知,ID交換 鍵交換,ホスト認証,暗号化情報の交換 セッション暗号化,ユーザ認証 データ通信 『情報セキュリティプロフェッショナル総合教科書』p.374より(一部改変)

  20. SSH2で使用される暗号アルゴリズム • 公開鍵認証 • RSAまたはDSAによるディジタル署名 • 鍵の共有 • Diffie-Hellman鍵交換の修正版 • 認証後のデータ通信 • AES / 3DES / Blowfish / Arcfour / CAST などから選ぶ • データ通信の暗号化は公開鍵暗号ではなく対称暗号 • 鍵の共有や公開鍵認証で乱数を使うが,チャレンジ-レスポンス方式ではない(SSH1では使用する)

  21. サーバ公開鍵について ホスト認証(利用者から見たサーバの認証)の注意点 • サーバ公開鍵(サーバのホスト公開鍵)は,SSHサーバが最初に1回だけ生成する.(ユーザは生成しない.) • サーバ公開鍵の送付時にMan-in-the-middle攻撃が可能! • 最初に送付されるサーバ公開鍵は,ユーザの目で確認して,yes/noを選ばなければならない. • 確認方法…fingerprintの照合 • 自己責任で「yes」を選ぶこともある • サーバ公開鍵を,何らかのメディアで転送してもよい. • サーバ公開鍵は ~/.ssh/known_hostsに保存される. • それ以降の同じサーバとの接続では,自動的に確認される. • サーバが鍵を作り直したら,クライアント側は古い公開鍵情報を削除しなければならない.

  22. ユーザ認証の方法 ユーザ認証(サーバから見た利用者の認証)の注意点 • パスワード認証 • ログインごとにパスワードを入力 • 従来のリモートログイン(telnet, ftpなど)を安全に行える • 字数が少なく安全性にやや不安 • 公開鍵認証 • ログインごとに,ログイン用パスワードとは異なるパスフレーズ(passphrase)を入力 • エージェント(ssh-agentコマンド)の利用により,パスフレーズ入力の省力化が可能 • あらかじめローカルホストで鍵ペアを生成し,リモートホストの ~/.ssh/authorized_keysに公開鍵を登録しておく. • どの認証方法を許可するかは,/etc/sshd/sshd_configに記載する(編集にはroot権限が必要).

  23. ポート転送 • 学外から「ssh-L10110:POPサーバ:110 リモートホスト」を実行すると • リモートホストにログインし,コマンド実行などができる. • ローカルホストでは,「POPサーバ:25」に代えて「localhost:10110」でメール受信(POP)が安全にできる. • リモートホスト-POPサーバ間は暗号化されていない POP サーバ リモート ホスト ローカル ホスト • 「ssh-Lポート番号:localhost:ポート番号リモートホスト」 が有用なことも

  24. Windowsで利用可能なSSHクライアント • Cygwinのsshコマンド • UNIX上のコマンドとほぼ同じ動作 • PuTTY • リモートログイン • GUIで各種設定 • WinSCP • GUIでファイル送受信

  25. ファイル構成(Linuxの場合) • GnuPG • ~/.gnupg • gpg.conf • pubring.gpg • random_seed • secring.gpg • trustdb.gpg • SSH • ~/.ssh • config • known_hosts • authorized_keys • id_rsa.pub • id_rsa • いずれのディレクトリも,パーミッションは 700 (他のユーザからは読み書き実行できない)にする. • 各ファイルのパーミッションは 600 が望ましい. • 詳細は,man gpg と man ssh で

  26. 暗号化通信の実演 • 暗号化したいファイルを右クリックし,WinPTの機能で暗号化 • パスワードやパスフレーズは入力しない • CygwinのscpコマンドでLinux計算機にコピー • パスワード認証 • CygwinのsloginコマンドでLinux計算機にログイン • ここでも,パスワード認証 • リモートホストのシェル上で,gpgコマンドによりファイルを復号 • プライベート鍵を使うためのパスフレーズを入力 • 復号されたファイルが同じものかを,それぞれでmd5sumコマンドを実行して確認

  27. まとめ • PGPは,メールやファイルを暗号化するためのソフトウェア • SSHは,通信を暗号化するためのプロトコル • 最低1回は,人手による鍵の正当性確認が行われる.

More Related