IPsec
IKEv1 の規格上では New Group Mode という手順も定義されているが、実際には殆ど使われていない。
Oakley 鍵交換手順は公開鍵暗号を用いた鍵交換手順のアルゴリズムとパラメータのセットをいくつか定めたもので、アルゴリズムは大きく分けて Diffie-Hellman鍵共有 (DH-MODP) と楕円曲線暗号 (EC2N) の2種がある。鍵長は DH-MODP で768,1024,1536,2048,3072,4096,6144,8192bit、EC2N で155,188,163,283,409,571bit が定義されている。
IKE の通信を行うノードを IKE ピアと呼び、IKE 要求を発行する側をイニシエータ、受信した側をレスポンダと呼ぶ。Oakley のパラメータや IPsec SA の詳細はイニシエータ側が使用可能な組み合わせを提示し(これをプロポーザルと呼ぶ)、レスポンダ側が最も適切と判断したものを選択して合意を取るという手順を踏む。何をもって「適切」とみなすかは実装と設定に依存し、これを「ポリシー」と呼ぶ場合もあるが、狭義の意味における IPsec Security Policy とは必ずしも同じニュアンスではないので混同しないよう注意が必要である。用語の混同を避けるため、RFC 4301 においてはこれら「鍵交換時の挙動を定めるパラメータの一覧」を Peer Authorization Database (PAD) と呼んでいる。
Aggressive Mode はフェーズ1におけるプロポーザル手順の一部を削減し、パラメータの一部を決め打ちとすることで Main Mode にくらべパケット交換回数を減らし(3往復6パケット → 1.
1993年12月、ソフトウェアIP暗号化プロトコルen:swIPe (protocol)はコロンビア大学とAT&Tベル研究所でジョン・ヨアニディス他によって研究されていた。
クリントン政権がwhitehouse.govの電子メールをトラスディド・インフォメーション・システムズにホスティングした資金によって(1993年6月1日から1995年1月20日)、ウェイ・シューは1994年7月、IPセキュリティの研究に着手、IPプロトコルの機能を拡張し、BSDIプラットフォーム上にIPSecを開発、すぐにSunOS、HP-UX、その他UNIXシステムにも移植した。その成功にもとづいてウェイはDESとトリプルDESの計算速度改善にも取り組んだ。アセンブリ言語によるソフトウェア暗号化はIntel 80386アーキテクチャではT1の通信速度にさえ対応できなかった。ドイツからCryptoカードを輸出、ウェイはさらに今日プラグアンドプレイと呼ばれる、自動化されたデバイスドライバも開発し、ハードウェアのCryptoと統合した。T1を超えるスループットを実現した後、ウェイ・シューはついに実用に耐える商品を作成、著名なGauntletファイアーウォールの一部としてリリースした。1994年12月、米国の東海岸、西海岸にある遠隔拠点を結ぶ通信を暗号化するために初めて本番導入された。
一方、IPカプセル化セキュリティ・ペイロード (ESP) はDARPAの資金による研究プロジェクトの一部としてアメリカ海軍調査研究所で研究され、1993年12月、IETFのSIPP作業部会によってSIPPに対するセキュリティ拡張としてドラフトが公開された。
IKEv1は Internet Key Exchange protocol version 1 の意味であり、UDPポート番号500上で通信される鍵交換プロトコルである。開発時には ISAKMP/Oakley と呼ばれた過去があり、これはISAKMP(Internet Security Association and Key Management Protocol)プロトコルの上で Oakley 鍵交換手順を実装したものという意味である。すなわち、IKEv1 は ISAKMP と必ずしも同じものではない。
IKEv1 はフェーズ1、フェーズ2と呼ばれる二段階の手順で鍵交換を行う。まずフェーズ1で IKE プロトコル同士の認証と暗号交換を行い(これをISAKMP SA交換とも呼ぶ)、フェーズ2で IPsec の適用条件と鍵情報の交換を行う(IPsec SA 交換とも呼ぶ)。 フェーズ1には Main Mode,Aggressive Mode と呼ばれる2つの手順がある。前者は ISAKMP 仕様における Identity Protection Exchange 手順の呼び名であり、後者は ISAKMP 仕様における Aggressive Exchange 手順の呼び名である。(用語定義の錯綜と難解さも IKE の理解を難しくしている理由の一つである)。 フェーズ2の通信はフェーズ1において成立した共有鍵を用いて暗号化される。フェーズ2の手順は Quick Mode と呼ばれ、これは ISAKMP にはなく IKEv1 で新たに定義されたものである。
ピアSがピアRに向けてIPsecで通信するには、以下の3ステップを踏む。
SからRへのSAを確立する。
SAを使ってパケットをSがRに暗号通信する。
Rがデータを受信し、復号などの必要処理を行う。
第一ステップであるSAを確立する段階では、鍵共有プロトコルが実行される。このときに共有された鍵を用いて、第二ステップで通信を暗号化し、第三ステップで復号する。 以下では、この3つのステップの概略を述べる。