情報セキュリティ
情報セキュリティ
第10回:2007年6月22日(金)
今後の予定
今後の予定
第10回:6月22日
暗号化ソフトウェア:SSL,SSH 第11回:6月29日
サーバセキュリティ 第12回:7月6日
理論:計算論,暗号プロトコル 第13回:7月13日
企業・組織のセキュリティ:ISMS,個人情報保護法 第14回:7月20日
質問に答えます,おさらい問題 第15回:7月??日(試験期間中)
試験本日学ぶこと
本日学ぶこと
Webの通信を暗号化:SSL (Secure Socket Layer)
リモートログインの暗号化:
SSH (Secure SHell)
https://はHTTP + (SSL/TLS)
SSL/TLS
SSL/TLS
HTTPなどより
下位の層に位置し,暗号通信の枠組を提供す
る
もの
SSL
と
TLS
(Transfer Layer Security)
大枠は同じ,TLSはSSLの後継
SSL/TLS
SSL/TLS
でできること
でできること
HTTPの暗号化(HTTPS)
http:// から https:// へ アプリケーション層の他のプロトコルの暗号化
メール(SMTP,POP3) ファイル転送(FTP)はFTPS(FTP Over SSL/TLS)SSL/TLS
HTTP
SMTP
POP3
FTP
…
(HTTPS)
(FTPS)
暗号スイート
暗号スイート
使用する暗号技術の「お勧めセット」
クライアント・サーバ間で暗号スイートが一致していなければ,
通信できない.
例
SSL_RSA_WITH_RC4_128_SHA SSL_RSA_WITH_RC4_128_MD5 SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA SSL_RSA_WITH_NULL_SHA TLS_RSA_WITH_RC4_128_SHA TLS_RSA_WITH_RC4_128_MD5 RC4は対称暗号アルゴリズム の一つ DES40は鍵長40ビットのDES NULLは暗号化しない証明書
証明書
PKIの公開鍵証明書
だれが発行し,ディジタル署名をつける?
ベリサイン社が最も有名 自分で作ることもできるが,信頼度が下がる 鍵をもらえば,どのコンピュータにつけてもいいの?
鍵は通常,ホスト名(FQDN)単位で発行される 「オレオレ証明書」に注意!
偽装サイトに誘導されるかもしれない 「通信が暗号化されるので安心です」に騙されないようにハンドシェイクプロトコル
ハンドシェイクプロトコル
SSL/TLS通信の確立をするため,クライアント-サーバ間で
交わされるプロトコル
暗号化はしない すること
以降の通信で使用する暗号スイートを取り決める 証明書の検証により,ホストの正当性を確認する 基本的にはサーバ証明書をクライアントが検証する クライアント証明書をサーバが検証することも(クライアント 認証) 以降の通信で暗号化に使用する鍵など(マスタシークレット)を 共有するその他のプロトコル
その他のプロトコル
レコードプロトコル
これ以外のプロトコルの基盤となる.対称暗号で暗号化される. 暗号仕様変更プロトコル
暗号スイートを切り替える. 警告プロトコル
エラーを通知する. アプリケーションデータプロトコル
ハンドシェイクプロトコルを終えてから,送りたい情報を(暗号化 して)やりとりする.SSL/TLS
SSL/TLS
が守らないもの
が守らないもの
個々の暗号技術は守らない
個々の暗号技術の一つが安全でないと分かったら, それを使用しない暗号スイートを選べばよい 通信前の情報は守らない
パスワード・カード番号を入力したら,ショルダーハッキングや キーロガーによって知られてしまうかも 通信後の情報は守らない
SMTPやPOP3の経路を暗号化しても,メールサーバ間のやり 取りは平文になる 情報漏えいの原因の多くは,サーバのデータ管理ミスSSH
SSH
リモートホストとの通信を安全に行うためのプロトコル
クライアントは,サーバ(リモートホスト)の認証をする サーバは,ユーザの認証をする telnet, rlogin, ftp などのコマンドを置き換える
SSH
SSH
でできること
でできること
リモートログイン
…ssh, slogin
ポートの転送(ポートフォワーディング) ファイルのコピー
…scp
FTPと似た方法でファイルをコピー…sftp
SSH
SSH
の種類
の種類
製品かフリーか
SSH Tectia…SSH社の製品 OpenSSH…フリー.Linuxでも広く使われている プロトコルバージョン
SSH1…安全性に問題があり,使われない SSH2…広く使われている 製品のバージョンとは別!準備
準備
リモートホスト
リモートホスト
で
SSHサーバを起動させておく
TCPのポート番号22にアクセスできるようにしておく 以下の説明で出るファイル名は,
Linux + OpenSSHでsshを
利用するときの標準的なもの
SSH2
SSH2
プロトコルの概要
プロトコルの概要
クライアント クライアント (ローカルホスト) (ローカルホスト) サーバ サーバ (リモートホスト) (リモートホスト) 接続要求 バージョン番号通知,ID交換 鍵交換,ホスト認証,暗号化情報の交換 セッション暗号化,ユーザ認証 データ通信SSH2
SSH2
で使用される暗号アルゴリズム
で使用される暗号アルゴリズム
公開鍵認証
RSAまたはDSAによるディジタル署名 鍵の共有
Diffie-Hellman鍵交換の修正版 認証後のデータ通信
AES / 3DES / Blowfish / Arcfour / CAST などから選ぶ
データ通信の暗号化は公開鍵暗号ではなく対称暗号
鍵の共有や公開鍵認証で乱数を使う
RC4 (本日のスライ ドp.6参照)互換の暗