Comments
Description
Transcript
IPsec-VPNの仕組み
IPsec-VPNの の仕組み メインモードのISAKMP SA IKEフェーズ1 IKEフェーズ1 VPNゲートウェイ VPNクライアント 暗号と認証方式の 提案パラメタ IP ヘッダ UDP ヘッダ クライアント 側乱数 IP ヘッダ UDP ヘッダ クライアント ハッシュ値 ISAKMP ヘッダ IP ヘッダ 鍵交換パラメタ (DH公開値) ISAKMP ヘッダ 鍵交換パラメタ (DH公開値) クライアント ID ISAKMP ヘッダ UDP ヘッダ IP ヘッダ クライアント 側乱数 UDP ヘッダ IP ヘッダ 暗号化 IP ヘッダ UDP ヘッダ ISAKMP ヘッダ ゲートウェイ ヘッダ ①ネゴシエーション クライアントがISAKMPパラメタ(暗号化ア ルゴリズム、ハッシュアルゴリズム、認証 方式など)を提案、ゲートウェイが対応可 能なパラメタを選択。 対応可能な暗号と 認証方式 ISAKMP ヘッダ ISAKMP ヘッダ UDP ヘッダ ゲートウェイ ハッシュ値 ②秘密対称鍵生成・交換 双方がDiffie-Hellman鍵交換アルゴリズ ムによって秘密鍵を共有し、それらをもと に4個の秘密対称鍵を生成。 ③相手の認証 IDと認証用のハッシュ値で相手を認証し、 ISAKMP SAが確立。IDとハッシュ値は② で生成されたSKEYID_e鍵で暗号化され る。 ※IDにはIPアドレスしか使えない制約が あり、動的にアドレスが変わる環境では アグレッシブモードを用いる。 IPsec-VPNの の仕組み アグレッシブモードのISAKMP SA IKEフェーズ1 IKEフェーズ1 VPNゲートウェイ VPNクライアント ① ② ③ クライアント ID IP ヘッダ UDP ヘッダ クライアント 乱数 DH公開値 ISAKMP ヘッダ 対応可能な暗号 と認証方式 クライアント ハッシュ値 暗号化と認証方式 の提案パラメタ DH公開値 ISAKMP ヘッダ ISAKMP ヘッダ ゲートウェイ 乱数 UDP ヘッダ UDP ヘッダ ゲートウェイ ID IP ヘッダ ゲートウェイ ハッシュ値 IP ヘッダ 暗号化 ①クライアントが、ISAKMPパラメタ、DH公開値、ID、認証用乱数を送信 秘密対称鍵を生成する前に最初のパケットでIDを送るため、暗号化はされない。 ②ゲートウェイが、対応パラメタ、 DH公開値、ID、認証用乱数、認証用ハッシュ値を送信 クライアントとゲートウェイがDH秘密鍵を共有し、メインモードと同様に4個の秘密対称鍵を生成。 ③クライアントが、認証用のハッシュ値をゲートウェイに送信 相手を認証し、ISAKMP SAが確立。ハッシュ値は②で生成されたSKEYID_e鍵で暗号化される。 ※IDは暗号化されないが、FQDNなどを使用して事前共有鍵との対応付けを行う。それによりモバイルPC環境で利用可。 IPsec-VPNの の仕組み クイックモードによるIPsec SA IKEフェーズ2 IKEフェーズ2 VPNゲートウェイ VPNクライアント クライアント 乱数 ① 暗号化と認証方式 の提案パラメタ ハッシュ値 ISAKMP ヘッダ UDP ヘッダ IP ヘッダ ペイロード部分の暗号化 ② ③ IP ヘッダ UDP ヘッダ ISAKMP ヘッダ 対応可能な暗号 と認証方式 ハッシュ値 ISAKMP ヘッダ ハッシュ値 UDP ヘッダ ゲートウェイ 乱数 IP ヘッダ 暗号化 ①クライアントが、IPsec SAパラメタ、認証用乱数、認証用ハッシュ値を送信 前フェーズで生成したSKEYID_eによって暗号化される。 ②ゲートウェイが、対応パラメタ、 認証用乱数、認証用ハッシュ値を送信 双方がSKEYID_d、SPI、クライアント認証用乱数、ゲートウェイ認証用乱数などからIPsec SAで使用する秘密対称鍵を生成。 ③クライアントが、認証用のハッシュ値をゲートウェイに送信 相手を認証し、IPsec SAが確立。以降IPsec通信が可能となる。IPsec通信の開始後もSAが定期的に更新され、双方間で再認証 と秘密対称鍵の更新が行われる。 IPsec-VPNの の仕組み SA確立後のIPsec通信(トンネルモード) IPsecフェーズ IPsecフェーズ VPNゲートウェイ VPNクライアント ESP認証 データ ① ESP トレーラ TCP ヘッダ データ IP ヘッダ ESP ヘッダ IP ヘッダ 本来のIP 本来のIPヘッダから IPヘッダからESP ヘッダからESPトレーラまで暗号化 ESPトレーラまで暗号化 ② IP ヘッダ ESP ヘッダ IP ヘッダ TCP ヘッダ データ ESP トレーラ ESP認証 データ ①クライアントからゲートウェイへの通信用トンネル(上り) 本来のIPヘッダからESPトレーラまで暗号化され、クイックモードによって築いたトンネル(IPsec SA)を通って通信する。先頭に付 与されているのはトンネル通信用のIPヘッダである。通信前に暗号鍵で暗号化され、認証鍵で改ざんチェック用のハッシュ値(ESP 認証データ)を付ける。ゲートウェイが受け取った暗号化部分は、共有している暗号鍵で復号し、認証鍵でハッシュ値を検証する。 ②ゲートウェイからクライアントへの通信用トンネル(下り) ゲートウェイからも同様にクライアントへIPsecトンネル通信が行われるが、上りと下りのトンネルは異なる。トンネルごとに異なる 暗号鍵・認証鍵がある。それらの鍵はIKEフェーズの2、IPsec SAで生成される。 IPsec-VPNの の仕組み IPsecのNAPT対応(NAT Traversal) クライアントからゲートウェイ越しの社内LANへのアクセスは、NAPTを経由することが多い。 通常、NAPTによってパケットのヘッダ情報が変更されるが、ポート番号はペイロードの一部 として暗号化されており変換ができない。そのため、NAT Traversalなどの技術を用いてこの 問題に対応する。 VPNゲートウェイ VPNクライアント ① ESP認証 データ ESP トレーラ データ (ペイロード) TCP ヘッダ IP ヘッダ ESP ヘッダ 暗号化 Non-IKE ヘッダ UDP ヘッダ IP ヘッダ NAPT変換部分 NAPT変換部分 ①クライアントからゲートウェイへの通信用トンネル(上り) UDPヘッダを付与することでカプセル化し、 IKEと同じポートを使用することでファイアウォールの修正なしで通信を行う。本来の IKEパケットと区別するため、「Non-IKE」フラグをセットする。