SPD

読み:えすぴーでぃー / 英語表記:Security Policy Database

IPsecで、どのパケットをどう扱うか(IPsecで保護する、そのまま通す、破棄する)の方針を登録したデータベース。保護する場合に使う暗号の鍵などのSAは、SAD(Security Association Database)に登録される。

イマシルちゃんの解説

IPsecのルータには、2つのノートがあるんだ。

1冊目(SPD)には、「この宛先のパケットは暗号化する」「これはそのまま通す」っていう、仕分けのルールが書いてある。
2冊目(SAD)には、「暗号化するときは、この鍵とこのやり方を使う」っていう、具体的な約束が書いてあるんだよ。
パケットが来たら、まず1冊目でルールを確かめて、暗号化するなら2冊目を見るんだ!

より深い解説

定義

データベース内容
SPD(Security Policy Database)パケットの扱いを決めるポリシーの集まり。パケットの送信元・宛先のアドレス、プロトコル、ポート番号などの条件(セレクタ)と、その処理(保護する、通過させる、破棄する)を対応付ける
SAD(Security Association Database)確立したSA(セキュリティアソシエーション)の集まり。SAごとに、SPI、使うプロトコル(ESP、AH)、暗号化と認証のアルゴリズム、鍵、有効期限、シーケンス番号などを持つ

パケットの処理の流れ(送信時)

  1. IPsecルータは、送ろうとするパケットを、SPDのセレクタと照合する
  2. 一致したポリシーが「保護する」なら、SADから対応するSAを探す
  3. SAがなければ、IKEで相手と交渉してSAを作り、SADに登録する
  4. SAの鍵とアルゴリズムで、パケットをESPなどで処理して送る

受信側は、受け取ったESPのパケットのSPIからSADのSAを見つけて復号し、さらにSPDで、そのパケットが保護されて届くべきものだったかを確かめる。

セレクタの例

項目例
宛先アドレス相手の拠点のネットワーク(例:G メーター管理サーバのアドレス)
送信元アドレス自分の拠点のネットワーク
プロトコル、ポート番号必要に応じて指定する

拠点間VPNでは、「相手の拠点のサーバ宛てのパケットを受信したら、SADのSAでIPsecの処理を行う」というように設定する。

IKEとの関係

IKE(IKEv2)は、SPDのポリシーに従って、相手と鍵やアルゴリズムを交渉し、SAを作ってSADに登録する役割を持つ。IKEv2では、最初の4つのメッセージ(IKE_SA_INIT と IKE_AUTH を2往復)で、IKE自身のSAと最初のIPsecのSAが確立される。

実際の試験ではここに出る!

↑