IPSec VPNとは?
インターネットを通じて安全に通信する技術。
⇒インターネットVPNの一種。
L3で動作するため、上位がTCP/UDPどちらでも動作可能。
使用するプロトコル
- AH
改ざん検知”のみ”行う。
⇒暗号化機能は持たないため、ESPと一緒に用いる。
- ESP
改ざん検知及び暗号化を行う。
主に、ESP+IKEの組み合わせを使用することが多い。
- IKE
暗号化に必要な鍵交換を行い、暗号化通信のためのSA(Security Association)を確立。
使用するアルゴリズムはDH(Diffie Hellman)。
IPSec用語
- ESPヘッダ
暗号化の設定(SPI:セキュリティパラメータインデックス)や、パケットの順番を管理し
暗号化と複合化を正しく行うための情報を格納する箇所
- ESPトレーラ
ペイロードの整合性をチェックするパディング情報と、上位プロトコルの情報を格納する箇所
- ESP認証データ
パケットの完全性と送信元認証を行い、改ざんや中間者攻撃を防ぐためのデータ格納箇所
- SA(Security Association)
暗号化通信のためのトンネルのこと。
SAは1方向のみ確立されるため、IKEの各フェーズで最低2本のSAが必要となる。
IPSecのモード
IPSecには2つのモードが存在する。
- トランスポートモード
暗号化範囲は、IPパケットのペイロード部分+ESPトレーラ
IPヘッダは暗号化されないため、IPアドレスを確認することができてしまう。
End-to-Endの通信で使用される。
- トンネルモード
暗号化範囲はIPパケット全体+ESPトレーラ
IPヘッダ部も暗号化されるため、送信元/宛先IPアドレスが秘匿される。
新IPヘッダの情報をもとに、ルーティングに従って対向拠点へ行く。
拠点間VPNなど、ルータ間の設定として使用。
以下がわかりやすい。
NATトラバーサル
NAPT環境下でIPSec使用する際に、IPSecを確立するための仕組み。
IKEで鍵交換をする際に、受信したIPアドレスとポート番号(UDP500)からなる
ハッシュ値が異なる場合、NAPT機器が途中にあると判断し、
送信元/宛先ポート番号をUDP4500に、通知する。
通知を受け取った際、NATトラバーサルが有効になり、新UDPヘッダを追加する。
鍵交換プロトコル
鍵交換プロトコルの種類
- IKEv1
ISAKMPと呼ばれる認証・鍵交換を定義するフレームワークをもとに実装したプロトコル。
2つのフェーズにより、ISAKMP SAとIPSec SAを確立する。
- PSKか証明書による認証により、ISAKMP SAを確立
-Main Mode :6つのメッセージを使用。IPアドレスの認証も行う。 ⇒セキュリティは高いが、固定IPが必須。 ⇒高コスト(固定アドレス取得のため)
-Aggressive Mode:3つのメッセージを使用。IPアドレスの認証は行わない。 ⇒動的IPでも使用可能。 - IPSec SA確立に必要なネゴシエーションを行う
-Quick Mode:3つのメッセージを使用し、IPSec SAを確立する。
- IKEv2
IKEv1を改良したプロトコルで、より効率的な鍵交換と認証を実現。
Main ModeとAggressive Modeを統合し4つのメッセージのみでIKE SAとIPSec SAを確立可能。
(最初の2つのやりとりで、IKE SAを確立⇒次の2つでIKE SAを使用し、IPSec SAを確立)
ネゴシエーションされる情報
- 暗号化方式
DES、AESなどといった暗号化の方式 - ハッシュ方式
MD5、SHAなどといったハッシュの方式 - ライフタイム
SAの有効期間 - 認証方式
PSKや証明書などの認証方式 - 鍵生成の素材
DH方式で行う、など