情報セキュリティ: 2006年6月23日

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