IPsecとは

/ネットワーク

概要

IPsec(Security Architecture for Internet Protocol)とは、暗号化によってパケットの秘匿や改ざん検知を行うネットワーク層(第3層)のプロトコルで、インターネットVPN(Virtual Private Network)として広く利用されています。

IPsecは、IPv4、IPv6のどちらでも利用することができ、IPv6では実装が必須となっています。

主な機能

IPsecにより提供される主な機能は以下になります。

  • IPアドレス/ポート番号によるアクセス制御
  • MAC(メッセージ認証コード)による改ざん検知
  • MACによるデータ送信元の認証
  • 通信データの暗号化
    ※トランスポートモードはIPヘッダは暗号化しない
接続形態

IPsecには以下のような接続形態があります。

  • 各拠点に設置されたVPN装置を介して接続する拠点間接続
  • モバイル端末などからIPSを介して接続する端末対拠点間接続

暗号化モード

2つの暗号化モードは以下になります。

  • トランスポートモード
  • トンネルモード

トランスポートモード

トランスポートモードは、IPパケットのペイロードのみを暗号化し、IPヘッダは暗号化しません。このモードは、IPsecに対応した端末同士が直接エンドツーエンドの通信を行うことを前提としています。

トンネルモード

トンネルモードは、IPヘッダを含めたIPパケット全体を暗号化(カプセル化)します。このモードは、各端末の間にVPN装置が入り、その間で暗号化通信を行うことを想定しています。この場合、VPN装置で新しいIPヘッダ(IPアドレス)がパケットに付加されます。

認証プロトコル

2つの認証プロトコルは以下になります。

  • AH(Authentication Header:認証ヘッダ)
  • ESP(Encapsulated Security Payload:暗号化ペイロード)

AH

AHは通信データの認証のために使用されるプロトコルで、暗号化の機能はありません。AHでは、IPヘッダの後にAHヘッダが挿入されます。

MAC(メッセージ認証コード)を用いてIPヘッダを含めたパケット全体のICV(Integrity Check Value)を生成し、AHヘッダにセットします。ICVは、データの完全性をチェックするためのハッシュ値です。MACの種類は選択が可能です。

AHではパケット全体のICVを使用するため、完全性チェックの精度は高くなりますが、NAT(Network Address Translation)が使われている場合は、正常性が正しく行えないという問題があります。

ESP

ESPは通信データの認証と暗号化の両方の機能があります。ESPでは、IPヘッダの後にESPヘッダ、データ部の後にESPトレーラとESP認証データが挿入されます。

AHと同じくMACを使ってICVを生成しますが、IPアドレスを含めないため、NATを行ってもICVは影響を受けません。ICVはESP認証データに格納されます。

通信プロトコル

通信を開始する場合は、送信元と送信側が安全な接続を確立するための要件を決定し、鍵交換を行います。

SA

SA(Security Association)はIPsecにおける論理的コネクション(通信路)で、以下の順に作成されます。

  1. ISAKMP SA(制御用):IPsecゲートウェイ間で1つ作成(上り下り兼用)
  2. IPsec SA(データ通信用):通信の方向やプロトコル毎にホスト間で作成

IPsec SA を識別するための情報として、宛先IPアドレス、プロトコル種別(AH、ESP)、SPI(Security Parameter Index)が使用されます。SPIは、SAの識別のための32ビットの値です。

IKE

IKE(Internet Key Exchange)は、SAの作成や暗号化鍵の交換に使用されます。IKEは、SAと鍵管理の仕様を規定したISAKMP(Internet Security Association & Key Management Protocol)を実装したプロトコルです。IKEのパケット構成は以下になります。

IP
ヘッダ
UDP
ヘッダ
ISAKMP
ヘッダ
ISAKMP
ペイロード
ISAKMP
ペイロード
・・・

ISAKMPヘッダには、イニシエータクッキー、レスポンダクッキー、交換タイプ(メインモード/アグレッシブモード/クイックモード)などの情報が含まれます。ISAKMPペイロードにはいくつかの種類があり、通信毎に必要なものが随時セットされます。

ISAKMP SAの作成にはメインモードかアグレッシブモード、IPsec SAの作成にはクイックモードが使用されます。

メインモード

送信側(イニシエータ)と受信側(レスポンダ)が、次の3往復のパケット交換によりISAKMP SAを作成します。

  1. ネゴシエーション
    イニエータがISAKMPパラメタ(暗号化アルゴリズム・ハッシュアルゴリズム・認証方式など)を提案し、レスポンダがその中から対応可能なものを選択。
  2. 秘密対象鍵の生成・交換
    イニエータとレスポンダがDiffie-Hellman鍵交換アルゴリズムにより、秘密鍵(DH秘密鍵)を共有。
  3. 相手の認証
    IDと認証用ハッシュ値により相手を認証し、ISAKMP SAが確立。
アグレッシブモード

送信側と受信側が、次の1往復半のパケット交換によりISAKMP SAを作成します。

  1. イニシエータ→レスポンダ
    ISAKMPパラメタ、DH公開値、ID、認証用乱数を送信。メインモードと異なり、最初のパケットでIDを送るため、暗号化されていません。
  2. レスポンダ→イニシエータ
    受諾するISAKMPパラメタ、DH公開値、ID、認証用乱数、認証用ハッシュ値を送信。これによりイニシエータとレスポンダは、DH秘密鍵を共有することができます。
  3. イニシエータ→レスポンダ
    認証用ハッシュ値を送信。これによりレスポンダがイニシエータを認証し、ISAKMP SAが確立されます。
クイックモード

イニシエータとレスポンダが、次の1往復半のパケット交換によりIPsec SAを作成します。この通信はISAKMP SAを使って行われるため、パケットのデータ部分が暗号化されます。

  1. イニシエータ→レスポンダ
    IPsec SAパラメタ、認証用乱数、認証用ハッシュ値を送信。
  2. レスポンダ→イニシエータ
    受諾するIPsec SAパラメタ、認証用乱数、認証用ハッシュ値を送信します。イニシエータとレスポンダはIPsec SAで使用する秘密対象鍵を生成。
  3. イニシエータ→レスポンダ
    認証用のハッシュ値を送信。

 

 

IT
マネジメント、セキュリティ、ネットワーク、システム
散策路TOP
数学、応用数学、古典物理、量子力学、物性論、電子工学、IT、力学、電磁気学、熱・統計力学、連続体力学、解析学、代数学、幾何学、統計学、論理・基礎論、プラズマ物理、量子コンピュータ、情報・暗号、機械学習、金融・ゲーム理論

Wikipedia

 

タイトルとURLをコピーしました