IPsec
いわゆるVPNの仕組み。いろいろな技術で構成されるのでかなり難しい。
ピア間でセキュアなSA(Secure Association)という単方向コネクションを確立する。
双方向通信のためには二本確立する。このコネクションを使って通信を行う。
主にIKE-ESPだけで構成したIPsec-VPNが主流。
大まかな流れ
ピアSがピアRに向けてIPsecで通信するには、以下の3ステップを踏む
SからRへSAを確立
SAを使ってパケットをSがRに暗号通信
Rがデータ受信。複合してパケットをわたす。
SAは定期的に鍵を変えることでよりセキュリティを高めている。
この自動的な定期的なrekeyについてはIKEの仕組みで行われる。 認証についてもIKEで実施
SA
SAは仮想的な暗号路。
ピアは自身のSPD(Security policy adatabase)を参照して該当パケットをipsecで暗号化するか、そのまま送るかなどを決定する。Ipsecで暗号化する場合はSAの確立に必要がデータが自身のSAD(security assosciation database)に存在するかを確認。データがあればSADから読み込んで暗号化する。
SADにデーターがない場合は、IKEプロトコルで対抗のピアとSAに必要な鍵交換を行う。
IKEの重要な問題としてIKE使うISAKMPではsrc,destともにUDP500と規定されている。これがNAPTをはさむと問題になる。
暗号通信
SAが確立した後は次のプロトコルで通信をする。だいたいESPを使う。
AH IPprotocol :51
ESP IPprotocol:50
AH,ESPはそれぞれ暗号、検証用のプロトコル。
暗号処理で利用する共通鍵はSAの確立の際、IKEで交換される。 ESP(Encapsulated Security Payload)
IPSecでペイロードを暗号化するためのプロトコル。
IPヘッダ含め暗号化するtranceport、またはIPペイロードのみを暗号化するトンネルモードの二つがある。
tranceport , tunnel mode
tranceport modeはIPペイロードのみを暗号化する。つまり宛先はパケットの元のIPヘッダがそのまま使われて転送される。おもにHost間のVPNで使われる。
tunnel modeはIPパケット全体を暗号化してIPでカプセル化を行う。宛先は新たに付与されたIPヘッダに基づいて転送される。おもに拠点間VPNで使われる。
ESPの例でいうとtrancport, tunnle modeでESPヘッダーを付ける位置も変わる。
要は暗号化したパケットの前後にESPヘッダー、トレーラーを付ける。
ESP トランスポートモード
https://gyazo.com/a4495bfb515fb74295289c83b965f3c3
ESP トンネルモード
https://gyazo.com/e29786693cd66a669f521f4a34023e04
なおトンネルの機構をl2tpで提供してipsec自体はtrancport modeで動かすことで拠点間VPNを構築するl2tp/ipsecも存在する。l2tp/ipsecだとトンネルモードと違いl2tpの中のパケットのIPヘッダーが見えるのでl2tpトンネルの終端側で最終的な宛先が見える。
IPsec troublshooting