ローカル練習問題(IPsec(アイピーセック:IP Security Protocol)

←クリックください。
目標で見える作品を、実際に自身のコンピュータの中へ、ipsec.htmのファイル名で作成してみましょう。


なお 当サイトと同等の支援機能を持つテキスト編集ソフトを起動させるプログラムがあり、 それは ここよりダウンロードできます。


目標で使用している文章を以下に示します。

IPsec(アイピーセック:IP Security Protocol)
以下でVPN(Virtul Private Network)を簡単分類します。これは、個人専用のように使える仮想的なネットワークです。

専用サービス網を利用するVAN IP-VPN ネットワーク層でカプセル化 
広域Ethernet(またはL2-VPN) データリンク層でカプセル化 
インターネットを利用するVPN IPsec ネットワーク層、トランスポート層でカプセル化 
SSL-VPN セッション層でカプセル化 
PPTP(Point to Point Tunneling Protocol) PPTPゲートウェイ間でカプセル化 
L2TP(Layer 2 Tunneling Protocol) データリンク層でカプセル化 

以下で、上記のIPsecに付いて説明します。
もともとは、インターネット層に備わったいなかったセキュリティ機能を補うために作られました。

インターネットを使って、通信する2つの間が、あたかも専用の線であるかのように使うことができるものです。一般には上記のように、IPsec対応のルータまたはゲートウェイを介す手法が使われます。(暗号化、認証、カプセル化の機能で実現しています)

機能や用途に合わせて、次の2種類のデータフォーマットが使えます。 

AH (Authentication Header) 認証だけを行うためのフォーマット 
ESP(Encapsulating Security Payload) 認証と暗号を行うためのフォーマット 

また、次の2種類の伝送モードがあります。 

トランスポートモード ホスト同士が直接に通信するモードです。ホストで作られたIPパケットのヘッダーを使った伝送です。 
トンネルモード ホスト間で使うIPヘッダーはカプセル化され、インターネットの通信は新しいIPヘッダーを使ったトンネルを作って通信するモードです。つまり、ネットワーク層で実現されてます。  

上記の2つのデータフォーマットと伝送モードの組み合わせで、次の4通りの使い方が可能です。通常のIPパケットも示しますので比較してください。
 

IPsecは、認証や暗号化の枠組みを定めているが、どのアルゴリズムを使うかは決まっておらず、自由に選べるようになっています。
そしてこれら必要な認証や暗号など手法を選択して共有してから、実際のデータ通信に移行します。この共有状態の関係になることをSA「Security Association」と呼びます。
SAは複数存在できて、その一つ指定するのに SPI(Security Parameter Index)が使われます。これは、AH/ESPヘッダー内で32bitのフィールドに記憶されます。
なおセキュリティ的に一定時間を過ぎると、一旦 SAを無効にして、別の鍵に変更してから再びSAを確立します。


このSAを動的に確立する手段として、IKE(Internet Key Exchange)と呼ばれる鍵交換プロトコルが使われます。このIKEでSAを取り決める手順は、次の2つのフェーズで行われます。(交渉の開始側をイニシエータ、受ける側をレスポンダと呼びます。) 
フェーズ1は、ISAKMP(Internet Security Association and Key Management Protocol)と呼ばれる次ステップです。 
1.認証、暗号アルゴリズムの交渉
2.鍵情報の生成と交換(Diffie-Hellman)
3.認証に必要な情報の交換で、事前共有鍵認証、公開鍵認証、デジタル署名認証のいずれかで行われる
フェーズ2は「IPsec SA」と呼ばれ、フェーズ1で確立したIKE用のSAを介して、実際にIPsecのデータ通信で使う認証、暗号処理に必要な情報を交換する。つまり、ここがデータ通信に使う鍵の交換がこのフェーズで、それにも暗号化が可能というわけです。(SSL-VANでは、鍵交換フェーズに暗号化はなされていない)