IKE
Internet Key Exchangeの略。verison1,2があり現在はv2が主流になっている。ただ古い機器はv1しか対応してないの・・・
IPsecで使われる暗号用のパラメータを暗号化して通信するためのプロトコルである。最終的な目的はこのプロトコルを通じて実際の通信で使うSAを構築することである。 SAは暗号アルゴリズム、ハッシュアルゴリズムなどの暗号用パラメータの集まり。
IKEはフェーズ1,フェーズ2の二段階構成になっている。
以下はIKEv1
フェーズ1
ISAKMP SAを確立するフェーズ。これはipsecで必要となる暗号路(SA)を確立するための暗号路(IKE用のSA)を確立している。
具体的にはISAKMPメッセージと呼ばれるものをやりとりしてから暗号用共通鍵交換をする。
実際の鍵交換についてはDH(Diffie-Hellman key exchange)で交換する。
なお鍵交換をする際に相手の認証に事前に証明書または共通鍵を利用する。
ISAKMPメッセージはsrc,dst が共にUDP:500のパケットで交換される。
なおNAT トラバーサルする場合はdst UDP:4500になる
https://gyazo.com/f824747deb66e0cd6a90ece0b22609bf
https://gyazo.com/13cac2c6700d3ba6376faa9e87ae24b3
なおISAKMPメッセージの交換モードは二つある。
Main : ISAKMP SAパラメータ,鍵交換,ピア認証でメッセージを計6回のやりとり。
Aggressive: いろいろ省略して計3回のメッセージ交換でおわる。quickと呼ばれることも
https://gyazo.com/028e2c597a9c61c99c6220ed118f10b9
フェーズ1認証
フェーズ1での対抗ピアの認証にはpre-sharedkeyがしばしば使われる。
ただほかにもデジタル署名、RSA鍵などもある。実装次第だがpre-sharedkeyしか使えない機器もおおい。
フェーズ2
フェーズ1で構築した ISAKMP SAを使って実際のipsecで使うSAのためのもろもろのパラメータをやりとりする。具体的には暗号化アルゴリズム、認証アルゴリズム、SAのライフタイム、カプセル化モード、セキュリティプロトコル(AH or ESP)等。これらの情報のやりとはISAKMP SAでのやりとりなので外部には漏洩しない。
https://gyazo.com/83d49a7d9626606d811404cb5ff4323d
IKEv1 IKEv2 diff
IKEv2
実質的には次の二つのフェーズのみで構成
IKE_SA_INIT 交換
最初の暗号用トンネルの作成フェーズ
ここで暗号通信路確立、後の通信はすべてこの暗号炉でやりとり
DOS耐性のために未完了セッションの特定のしきい値に達するとクッキーを使ったりする
IKE_AUTH 交換
接続してきたリモートピアの認証
認証方式
事前共有鍵(PSK
RSA 証明書(RSA-SIG)
楕円曲線デジタル署名アルゴリズム証明書(ECDSA-SIG)
EAP
NATトラバーサル