q q 情報セキュリティ 第10回:2006年6月23日(金) q q 今後の予定 第10回:6月23日 q 第11回:6月30日 q 企業・組織のセキュリティ:ISMS,個人情報保護法 第14回:7月21日 q 理論:計算論,暗号プロトコル 第13回:7月14日 q サーバセキュリティ 第12回:7月7日 q 暗号化ソフトウェア:SSL,SSH 質問に答えます,おさらい問題 第15回:7月??日(試験期間中) q 試験 2 本日学ぶこと Webの通信を暗号化:SSL (Secure Socket Layer) リモートログインの暗号化:SSH (Secure SHell) 3 本日の授業で学ぶ語句 SSL,TLS,HTTP,暗号スイート,暗号仕様変更 SSH,リモートログイン,ホスト認証 セッション,プロトコル,ハンドシェイク https://はHTTP + (SSL/TLS) sshはtelnet, rlogin, ftp などを置き換える 4 SSH リモートホストとの通信を安全に行うためのプロトコル q q クライアントは,サーバ(リモートホスト)の認証をする サーバは,ユーザの認証をする telnet, rlogin, ftp などのコマンドを置き換える SSL/TLSやVPN (Virtual Private Network)とは別物 ローカルホスト (SSHクライアント) リモートホスト (SSHサーバ) 5 SSHでできること リモートログイン…ssh, slogin q ポートの転送(ポートフォワーディング) ファイルのコピー…scp FTPと似た方法でファイルをコピー…sftp 6 SSHの種類 製品かフリーか q q SSH Tectia…SSH社の製品 OpenSSH…フリー.Linuxでも広く使われている プロトコルバージョン q q q SSH1…安全性に問題があり,使われない SSH2…広く使われている 製品のバージョンとは別! 7 準備 リモートホストでSSHサーバを起動させておく q TCPのポート番号22にアクセスできるようにしておく 以下の説明で出るファイル名は,Linux + OpenSSHでsshを 利用するときの標準的なもの 8 SSH2プロトコルの概要 クライアント (ローカルホスト) サーバ (リモートホスト) 接続要求 バージョン番号通知,ID交換 鍵交換,ホスト認証,暗号化情報の交換 セッション暗号化,ユーザ認証 データ通信 『情報セキュリティプロフェッショナル総合教科書』p.374より(一部改変) 9 SSH2で使用される暗号アルゴリズム 公開鍵認証 q 鍵の共有 q Diffie-Hellman鍵交換の修正版 認証後のデータ通信 q RSAまたはDSAによるディジタル署名 AES / 3DES / Blowfish / Arcfour / CAST などから選ぶ データ通信の暗号化は公開鍵暗号ではなく対称暗号 鍵の共有や公開鍵認証で乱数を使う 10 サーバ公開鍵について サーバ公開鍵(サーバのホスト公開鍵)は,SSHサーバが 最初に1回だけ生成する.(ユーザは生成しない.) サーバ公開鍵の送付時にMan-in-the-middle攻撃が可能! 最初に送付されるサーバ公開鍵は,ユーザの目で確認して, yes/noを選ばなければならない. q q q ホスト認証(利用者から見た サーバの認証)の注意点 確認方法…fingerprintの照合 自己責任で「yes」を選ぶこともある サーバ公開鍵を,何らかのメディアで転送してもよい. サーバ公開鍵は ~/.ssh/known_hosts に保存される. q q それ以降の同じサーバとの接続では,自動的に確認される. サーバが鍵を作り直したら,クライアント側は古い公開鍵情報を 削除しなければならない. 11 ユーザ認証の方法 パスワード認証 q q q ログインごとにパスワードを入力 従来のリモートログイン(telnet, ftpなど)を安全に行える 字数が少なく安全性にやや不安 公開鍵認証 q q q ユーザ認証(サーバから見た 利用者の認証)の注意点 ログインごとに,ログイン用パスワードとは異なるパスフレーズ (passphrase)を入力 エージェント(ssh-agentコマンド)の利用により,パスフレーズ入 力の省力化が可能 あらかじめローカルホストで鍵ペアを生成し, ~/.ssh/authorized_keys に公開鍵を登録しておく. どの認証方法を許可するかは,/etc/sshd/sshd_config に 記載する(編集にはroot権限が必要). 12 ポート転送 学外から「ssh -L 10110:POPサーバ:110 リモートホスト」を実 行すると q q リモートホストにログインし,コマンド実行などができる. ローカルホストでは,「POPサーバ:110」に代えて 「localhost:10110」でメール受信(POP)が安全にできる. リモートホスト-POPサーバ間は暗号化されていない ローカル ホスト リモート ホスト POP サーバ 「ssh -L ポート番号:localhost:ポート番号 リモートホスト」 が有用なことも 13 Windowsで利用可能なSSHクライアント Cygwinのsshコマンド q PuTTY q q UNIX上のコマンドとほぼ同じ動作 リモートログイン GUIで各種設定 WinSCP q GUIでファイル送受信 14 PGPとSSLとSSH 共通点 q q q セッション鍵を作り,対称暗号で暗号化して通信する. ユーザやホストの正当性はディジタル署名による. そのために公開鍵を持つ. 公開鍵(証明書)の正当性確認に人間が関わる. 相違点 q q q PGPはファイル(メール)を暗号化する.あるいはファイル(メー ル)に署名をつける. SSLはHTTPやSMTP,POPなど,クライアント/サーバモデル の通信を暗号化する. SSHはリモートログイン(ログアウトするまで)を暗号化する. ポート転送などの機能で,ついでに他の通信も暗号化できる. 15
© Copyright 2024 ExpyDoc