技術について調べるブログ

技術について調べるブログです

IPsecについて その3

おさらい

IPsecはセキュアな通信の為にコネクションを確立する技術。
送信側と受信側でパケットをセキュア化する為の同意されたパラメータを使って仮想的な通信路(SA)を確立し、その通信路を用いて通信を行う技術。
SA構築のためのパラメータはSADと呼ばれるデータベースに入っており、SADを検索することでパラメータを決定する。

パラメータの合意を行う方法

静的な方法

送信ホストと受信ホストで事前に手動で同じパラメータを設定しておく。
この方法をとった場合、

  • 暗号化・メッセージ認証で使用する鍵を変更する事ができない(厳密にはできるが、手動で行う必要がある)
  • リプレイアタックに対する防御が有効にならない

といった欠点がある。

動的な方法

IKE(Internet Key Exchange)を用いてパケット送信の際に設定を行う。
具体的にはSPDを検索した結果、PROTECTでかつSAD内にセレクタに対応するエントリがない場合、IKEを使って送信側と受信側で使用するパラメータを決定し、双方のSADに書き込む
といった形になる。

f:id:bonity:20180514235937p:plain
図が今ひとつなので時間がある時に修正します()

IKE

IKEの一種であるIKEについて説明する。IPsecでは、IKEは相手認証SAの交渉と管理の2つのことを行う。
また、500/udpポートを用いて

  • IKEのためのパラメータ交換 : IKE_SA_INIT
  • 相手認証 : IKE_AUTH
  • IPsecのためのパラメータ交換 : CREATE_CHILD_SA

の3つの交換を行う。
実際の使われ方は以下の図のようになる。 f:id:bonity:20180515222637p:plain