IPsec

目次

IPsecとは何か

IPsec(アイピーセック)は、インターネットのような公開ネットワーク上でも安全に通信できるようにするための仕組みです。ネットワーク層で動作し、データを暗号化したり、改ざんされていないかを確認したりする役割を持ちます。これにより、外部から盗聴されたり、データを書き換えられたりするリスクを大きく減らすことができます。IPsecを利用したVPN(仮想プライベートネットワーク)は、企業ネットワークの拠点間通信やリモートアクセスに広く利用されています。

IPsecは単独のプロトコルではなく、AH(認証ヘッダ)、ESP(暗号化ペイロード)、IKE(鍵交換)といった複数のプロトコルを組み合わせて動作します。試験でも頻出する部分なので、ここは確実に押さえておきましょう。

IPsecが動作するレイヤー

IPsecはネットワーク層(IP層)で動作します。そのため、上位層で使う通信方式がTCPであってもUDPであっても問題なく利用できます。つまり、アプリケーションごとに特別な設定をしなくても、IP通信であればすべて保護できる仕組みです。

一方で、SSL(現在ではTLSと呼ばれることが多い)はセッション層で動作します。そのため、特定のアプリケーション(例:HTTPS)に限定されるのに対し、IPsecはもっと下のレイヤーで動くため幅広い通信を守れるのが特徴です。

ここは試験で「SSLとIPsecの違いはどのレイヤーで動作するか」という形で出題されやすいポイントです。

IPsecを構成するプロトコル

IPsecは複数の要素から成り立っています。それぞれの役割を整理すると理解しやすくなります。

プロトコル主な役割使用番号
AH(Authentication Header)パケットの改ざん防止(認証機能のみ)。暗号化は行わない。IPプロトコル番号 51
ESP(Encapsulating Security Payload)パケットの暗号化と改ざん防止(HMAC + 暗号化)。データ部分を守る。IPプロトコル番号 50
IKE(Internet Key Exchange)通信相手と安全に鍵を交換するための仕組み。ISAKMPとOakleyをベースに動作し、Diffie-Hellman鍵交換を利用する。UDPポート番号 500

ここで特に覚えておきたいのは、AHは暗号化できない、ESPは暗号化と認証の両方が可能という点です。現在の実装では、多くの場合「ESPとIKE」だけを利用する方式が主流です。

AHとESPの仕組み

AHとESPには、それぞれ専用のフィールドが用意されており、セキュリティを担保するために利用されます。

AHのフィールド

  • Next Header:後続のプロトコル(TCP/UDPなど)を示す
  • Payload Length:AHヘッダの長さ
  • SPI(Security Parameters Index):どのセキュリティ設定を使うかを識別
  • Sequence Number:リプレイ攻撃を防ぐための番号
  • Authentication Data:改ざん検出のための値(HMACによるICV)

ESPのフィールド

  • SPI:利用するセキュリティパラメータを識別
  • Sequence Number:リプレイ攻撃対策
  • Payload Data:暗号化されたデータ本体
  • Padding / Pad Length:暗号アルゴリズムに合わせるための調整データ
  • Next Header:次のプロトコルを示す
  • Authentication Data:データ改ざんを防ぐHMACの値

ここではSPI、Sequence Number、Authentication Dataが両方に共通している点を押さえておくと整理しやすいです。

IPsecを理解する全体像

IPsecは単なる枠組み(アーキテクチャ)であり、実際の通信では次のような選択を行う必要があります。

  • AHかESPか、その両方を使うか
  • どの暗号化方式を使うか(AES、3DESなど)
  • 認証方式に何を使うか(HMAC-SHAなど)
  • 鍵交換をどう行うか(IKEの利用)

このように複数の組み合わせでセキュアな通信を構築できるのがIPsecの特徴です。

試験では、「どのレイヤーで動作するのか」「どのプロトコルが何を担当しているのか」といった部分が問われやすいため、役割をしっかり整理して覚えておくと安心です。

IPsecの通信モード

IPsecには2つの通信モードがあり、それぞれどのような場面で使うかによって使い分けられます。モードを理解することで、VPNがどのようにデータを保護しているのかがイメージしやすくなります。

トランスポートモード

トランスポートモードでは、送信元パケットの元のIPヘッダはそのまま利用します。暗号化されるのは、IPヘッダ以降の上位層(トランスポート層以上)のデータ部分だけです。

  • 元のIPヘッダは暗号化しない
  • TCPやUDPなどのデータ部のみを暗号化する
  • AHやESPを利用することで認証範囲が変わる
  • 転送時は元のIPヘッダを使って宛先に届ける

この仕組みは、IPsecを直接実装したホスト同士の通信でよく利用されます。たとえばサーバとクライアントが直接IPsecを使って安全にやり取りするような場面です。

トンネルモード

トンネルモードでは、送信元パケットの元のIPヘッダごと暗号化します。その上に、新しいIPヘッダを付け加えてパケットを送信します。

  • 元のIPヘッダも暗号化される
  • 上位層のデータも含め、パケット全体が保護される
  • 新しいIPヘッダを追加して転送される
  • AHやESPで認証範囲が変わる

このモードは、拠点間を結ぶVPNルータ同士の通信で利用されるのが一般的です。ユーザのPCはIPsecを意識せず、通常のLAN通信を行うだけで、ルータ間で安全なトンネルを通してデータが送られる仕組みになります。

試験では「ホスト間ならトランスポートモード、ルータ間ならトンネルモード」といった形で問われることが多いので、利用場面とあわせて整理しておきましょう。

トランスポートモードとトンネルモードにおけるAHパケット

AH(Authentication Header)はパケットの改ざんを防ぐ認証用のヘッダです。トランスポートモードでは元のIPヘッダを残したまま認証が行われ、トンネルモードでは新しいIPヘッダが加わり、その下にあるパケット全体が認証対象となります。IPv4環境ではAHはあまり使われない点も覚えておくとよいでしょう。

トランスポートモードとトンネルモードにおけるESPパケット

ESP(Encapsulating Security Payload)は暗号化と認証の両方を担うため、IPsecで最もよく利用される形式です。トランスポートモードではデータ部分を暗号化し、トンネルモードでは元のIPヘッダを含むパケット全体を暗号化できます。現在のVPNの実装では、このESPを利用した構成が主流となっています。

AHとESPを組み合わせたパケット形式

AHとESPを同時に利用する方法もあります。この場合、ESPが暗号化を担当し、AHがパケット全体の認証を行います。ESPの認証機能は不要となり、セキュリティ機能を分担させる形になります。ただし、ヘッダが増えるためパケットが大きくなる点には注意が必要です。

この組み合わせ方式は試験では「AHが全体の認証を担当する」「ESPは暗号化に専念する」という仕組みが問われやすい部分なので、整理して覚えておきましょう。

SA(Security Association)

IPsecでは、パケットを暗号化したり認証したりするためにSA(セキュリティアソシエーション)という仕組みを使います。これはVPNゲートウェイ同士が「どんな方法で通信するか」を取り決めるためのコネクションのようなものです。IPsecの通信は必ずこのSAを利用して行われます。

SAは一方向の通信に対して設定されるため、データの送信と受信にはそれぞれ別のSAが必要になります。つまり、双方向で通信を行うためには最低でも2つのSAが確立されることになります。さらに、もしAHとESPの両方を使って通信する場合には、送受信それぞれに対してSAが必要になるため、合計で4つのSAが必要になります。

SAの識別と管理

実際にIPsec通信が行われると、複数のSAが同時に存在することになります。その中で「どのSAを使って処理すべきか」を識別するために、SPI(Security Parameters Index)というフィールドが利用されます。AHやESPのパケットヘッダに含まれるSPIの値によって、そのパケットがどのSAに基づく通信なのかを判別できる仕組みになっています。

各VPNゲートウェイは有効なSAの情報をSAデータベース(SAD: Security Association Database)に保存しており、SPIをキーとして適切な処理を行います。

SAを構成する要素

SAは単なる「接続の概念」ではなく、実際にはIPsec通信を行うためのパラメータの集合体です。その内容には次のようなものが含まれます。

  • SPI(セキュリティパラメータインデックス)
  • 利用するプロトコル(AH または ESP)
  • 通信モード(トンネルモード または トランスポートモード)
  • 暗号化方式(DES、3DES、AESなど)
  • 暗号鍵
  • 認証方式(HMAC-MD5、HMAC-SHA1など)
  • 認証鍵
  • シーケンス番号カウンタ(リプレイ攻撃防止用)
  • DSCP値(サービス品質に関連)
  • Path MTU(最大転送単位の管理)
  • トンネルエンドポイントのIPアドレス
  • SAのライフタイム(有効期間)

試験では「SAは一方向のトンネルであり、送信と受信にそれぞれ必要になる」という点や「SPIによってSAが識別される」という点が狙われやすいので特に注意して覚えておくと良いです。

SPD(Security Policy Database)

SAと関連して、もう一つ重要なのがSPD(セキュリティポリシーデータベース)です。SPDは「どの通信をIPsecで処理するか」「どの通信はIPsecを通さないか」といったルールを定めたものです。Ciscoルータの設定では、このSPDはアクセスリスト(ACL)として表現され、対象となる通信を指定します。

つまり、SPDで通信対象を決定し、その後SADに保存されたSAの内容をもとに暗号化や認証が行われるという流れになります。ここは試験でも「SPDは何を決めるものか」といった形で問われることがあるので押さえておきましょう。

◆まとめスライド

目次