Network-security-layer
ネットワークセキュリティ-ネットワーク層
ネットワーク層のセキュリティ制御は、特にインターネットなどの共有ネットワーク上で、通信を保護するために頻繁に使用されています。これは、多くのアプリケーションを変更せずに一度に保護できるためです。
前の章では、多くのリアルタイムセキュリティプロトコルがネットワークセキュリティのために進化し、プライバシー、発信元認証、メッセージの整合性、否認防止などのセキュリティの基本的な原則を保証していることを説明しました。
これらのプロトコルのほとんどは、OSIプロトコルスタックの上位層に焦点を当てたままであり、標準のインターネットプロトコルに固有のセキュリティの欠如を補います。 これらのメソッドは価値がありますが、どのアプリケーションでも使用できるように簡単に一般化することはできません。 たとえば、SSLはHTTPやFTPなどのアプリケーションを保護するために特別に開発されています。 しかし、安全な通信を必要とする他のアプリケーションもいくつかあります。
このニーズにより、すべての上位層プロトコルがそれを利用できるように、IPレイヤーでセキュリティソリューションを開発する必要が生じました。 1992年、インターネット技術特別調査委員会(IETF)が標準の「IPsec」の定義を開始しました。
この章では、この非常に一般的なプロトコルIPsecのセットを使用して、ネットワーク層でセキュリティを実現する方法について説明します。
ネットワーク層のセキュリティ
ネットワークセキュリティを提供するために開発されたスキームは、次の図に示すように、プロトコルスタックの一部の層で実装する必要があります-
Layer | Communication Protocols | Security Protocols |
---|---|---|
Application Layer | HTTP FTP SMTP | PGP. S/MIME, HTTPS |
Transport Layer | TCP/UDP | SSL, TLS, SSH |
Network Layer | IP | IPsec |
ネットワーク層でセキュリティを確保するために開発された一般的なフレームワークは、インターネットプロトコルセキュリティ(IPsec)です。
IPsecの機能
- IPsecは、トランスポートプロトコルとしてTCPでのみ動作するように設計されていません。 UDPだけでなく、ICMP、OSPFなど、IPより上の他のプロトコルでも動作します。
- IPsecは、上位層ヘッダーを含むIP層に提示されるパケット全体を保護します。
- ポート番号を伝える上位層のヘッダーが隠されているため、トラフィック分析はより困難です。
- IPsecは、アプリケーションプロセス間ではなく、あるネットワークエンティティから別のネットワークエンティティに対して機能します。 したがって、個々のユーザーのコンピューター/アプリケーションを変更することなく、セキュリティを採用できます。
- IPsecはネットワークエンティティ間の安全な通信を提供するために広く使用されていますが、IPsecはホスト間セキュリティも提供できます。
- IPsecの最も一般的な使用法は、2つの場所(ゲートウェイ間)またはリモートユーザーとエンタープライズネットワーク(ホスト間)のいずれかに仮想プライベートネットワーク(VPN)を提供することです。
セキュリティ機能
IPsecによって提供される重要なセキュリティ機能は次のとおりです-
- 守秘義務
- 通信ノードがメッセージを暗号化できるようにします。
- 第三者による盗聴を防ぎます。
- オリジン認証とデータ整合性。
- 受信したパケットが、パケットヘッダーで送信元として識別されたパーティによって実際に送信されたことを保証します。
- パケットが変更されていないことを確認します。
- キー管理。
- キーの安全な交換を許可します。
- リプレイ攻撃など、特定の種類のセキュリティ攻撃に対する保護。
仮想プライベートネットワーク
理想的には、どの機関でも、セキュリティを確保するために、通信用に独自のプライベートネットワークが必要です。 ただし、地理的に分散したエリアでこのようなプライベートネットワークを確立および維持するには、非常にコストがかかる場合があります。 通信リンク、ルーター、DNSなどの複雑なインフラストラクチャを管理する必要があります。
IPsecは、そのような機関に仮想プライベートネットワーク(VPN)を実装するための簡単なメカニズムを提供します。 VPNテクノロジーにより、公共のインターネットに入る前にトラフィックを暗号化し、他のトラフィックから論理的に分離することにより、公共のインターネットを介して機関のオフィス間のトラフィックを送信できます。 VPNの簡略化された動作は、次の図に示されています-
IPsecの概要
IPsecは、IP層でセキュリティを提供するためのプロトコルのフレームワーク/スイートです。
原点
1990年代初頭、ほとんどの学術目的でインターネットが使用された機関はほとんどありませんでした。 しかし、数十年後、ネットワークの拡大と、通信やその他の目的でインターネットを使用するいくつかの組織により、インターネットの成長は急激になりました。
インターネットの大規模な成長に加えて、TCP/IPプロトコルの固有のセキュリティ上の弱点と相まって、インターネット上でネットワークセキュリティを提供できる技術の必要性が感じられました。 「インターネットアーキテクチャのセキュリティ」というタイトルのレポートは、1994年にインターネットアーキテクチャ委員会(IAB)によって発行されました。 セキュリティメカニズムの重要な領域を特定しました。
IABは、次世代IPであるIPv6に不可欠なセキュリティ機能として認証と暗号化を組み込みました。 幸いなことに、これらのセキュリティ機能は、現在のIPv4と未来のIPv6の両方で実装できるように定義されました。
セキュリティフレームワークであるIPsecは、いくつかの「コメントのリクエスト」(RFC)で定義されています。 プロトコルの一部を指定するRFCもあれば、ソリューション全体を扱うRFCもあります。
IPsec内の操作
IPsecスイートは、同時に実行された場合、2つの別個の操作を持ち、セキュリティサービスの完全なセットを提供すると見なすことができます。 これら2つの操作は、IPsec通信とインターネットキー交換です。
- IPsec通信
- 通常、標準のIPsec機能に関連付けられています。 IPデータグラムのカプセル化、暗号化、ハッシュ化、およびすべてのパケットプロセスの処理が含まれます。
- 通信パーティ間で確立された使用可能なセキュリティアソシエーション(SA)に従って通信を管理する責任があります。
- 認証ヘッダー(AH)やカプセル化されたSP(ESP)などのセキュリティプロトコルを使用します。
- IPsec通信は、キーの作成やその管理には関与しません。
- IPsec通信操作自体は、一般にIPsecと呼ばれます。
- インターネットキー交換(IKE)
- IKEは、IPsecに使用される自動キー管理プロトコルです。
- 技術的には、キー管理はIPsec通信に必須ではなく、キーは手動で管理できます。 ただし、大規模なネットワークでは手動のキー管理は望ましくありません。
- IKEは、IPsecのキーを作成し、キー確立プロセス中に認証を提供します。 IPsecは他のキー管理プロトコルに使用できますが、デフォルトではIKEが使用されます。
- IKEは、すでに定義されているキー管理フレームワークInternet Security Association Key Management Protocol(ISAKMP)で使用される2つのプロトコル(OakleyとSKEME)を定義しています。
- ISAKMPはIPsec固有ではありませんが、任意のプロトコルのSAを作成するためのフレームワークを提供します。
この章では、主に、セキュリティを実現するために使用されるIPsec通信と関連プロトコルについて説明します。
IPsec通信モード
IPsec通信には2つの機能モードがあります。トランスポートおよびトンネルモード。 これらのモードは、組み合わせて使用することも、希望する通信の種類に応じて個別に使用することもできます。
輸送モード
- IPsecは、上位層から受信したパケットをカプセル化しません。
- 元のIPヘッダーは維持され、データは上位層プロトコルによって設定された元の属性に基づいて転送されます。
- 次の図は、プロトコルスタックのデータフローを示しています。
- トランスポートモードの制限は、ゲートウェイサービスを提供できないことです。 次の図に示すように、ポイントツーポイント通信用に予約されています。
トンネルモード
- IPsecのこのモードは、他のセキュリティサービスとともにカプセル化サービスを提供します。
- トンネルモード操作では、セキュリティプロトコルを適用する前に、上位層からのパケット全体がカプセル化されます。 新しいIPヘッダーが追加されます。
- 次の図は、プロトコルスタックのデータフローを示しています。
- トンネルモードは通常、ゲートウェイアクティビティに関連付けられています。 カプセル化により、単一のゲートウェイを介して複数のセッションを送信できます。
- 一般的なトンネルモード通信は、次の図に示すとおりです。
- エンドポイントに関する限り、エンドポイントには直接トランスポート層接続があります。 ゲートウェイに転送された1つのシステムからのデータグラムはカプセル化されてから、リモートゲートウェイに転送されます。 リモート関連ゲートウェイは、データのカプセル化を解除し、内部ネットワーク上の宛先エンドポイントに転送します。
- IPsecを使用すると、ゲートウェイと個々のエンドシステム間でもトンネリングモードを確立できます。
IPsecプロトコル
IPsecは、セキュリティプロトコルを使用して、必要なセキュリティサービスを提供します。 これらのプロトコルはIPsec操作の中心であり、他のすべてはIPsecでこれらのプロトコルをサポートするように設計されています。
通信エンティティ間のセキュリティアソシエーションは、使用されるセキュリティプロトコルによって確立および維持されます。
IPsecで定義されている2つのセキュリティプロトコル—認証ヘッダー(AH)とカプセル化セキュリティペイロード(ESP)があります。
認証ヘッダー
AHプロトコルは、データの整合性とオリジン認証のサービスを提供します。 必要に応じて、メッセージの再生抵抗に対応します。 ただし、いかなる形式の機密性も提供しません。
AHは、ヘッダーの追加によりデータグラムのコンテンツのすべてまたは一部の認証を提供するプロトコルです。 ヘッダーは、データグラムの値に基づいて計算されます。 データグラムのどの部分が計算に使用され、ヘッダーを配置する場所は、モード協力(トンネルまたはトランスポート)に依存します。
AHプロトコルの操作は驚くほど簡単です。 これは、チェックサムの計算またはエラー検出のためのCRCチェックの実行に使用されるアルゴリズムと同様と見なすことができます。
AHの背後にある概念は同じです。ただし、AHは、単純なアルゴリズムを使用する代わりに、特別なハッシュアルゴリズムと通信側のみが知っている秘密キーを使用します。 これらの詳細を指定する2つのデバイス間のセキュリティアソシエーションがセットアップされます。
AHのプロセスは、次のフェーズを通過します。
- IPパケットが上位プロトコルスタックから受信されると、IPsecはパケット内の利用可能な情報から関連するセキュリティアソシエーション(SA)を決定します。たとえば、IPアドレス(送信元と宛先)。
- SAから、セキュリティプロトコルがAHであることが識別されると、AHヘッダーのパラメーターが計算されます。 AHヘッダーは次のパラメータで構成されています-
- ヘッダーフィールドは、AHヘッダーに続くパケットのプロトコルを指定します。 シーケンスパラメータインデックス(SPI)は、通信するパーティ間に存在するSAから取得されます。
- シーケンス番号が計算されて挿入されます。 これらの数値は、AHにリプレイ攻撃に抵抗するオプション機能を提供します。
- 認証データは、通信モードによって異なる方法で計算されます。
- トランスポートモードでは、認証データの計算と送信用の最終IPパケットの組み立てを次の図に示します。 元のIPヘッダーでは、AHの指定されたアプリケーションに対して51のプロトコル番号のみが変更されます。
- トンネルモードでは、次の図に示すように、上記のプロセスが実行されます。
カプセル化セキュリティプロトコル(ESP)
ESPは、機密性、整合性、発信元認証、オプションのリプレイ耐性などのセキュリティサービスを提供します。 提供されるサービスのセットは、セキュリティアソシエーション(SA)の確立時に選択されたオプションによって異なります。
ESPでは、暗号化および認証システムの生成に使用されるアルゴリズムは、SAの作成に使用される属性によって決定されます。
ESPのプロセスは次のとおりです。 最初の2つのステップは、上記のAHのプロセスに似ています。
- ESPが関与していると判断されると、ESPパケットのフィールドが計算されます。 ESPフィールドの配置を次の図に示します。
- トランスポートモードでの暗号化および認証プロセスを次の図に示します。
- トンネルモードの場合、暗号化および認証プロセスは次の図に示すとおりです。
認証と機密性はESPが提供する主要なサービスですが、どちらもオプションです。 技術的には、認証なしでNULL暗号化を使用できます。 ただし、実際には、ESPを効果的に使用するには、2つのうち1つを実装する必要があります。
基本的な概念は、認証と暗号化が必要な場合はESPを使用し、暗号化なしの拡張認証が必要な場合はAHを使用することです。
IPsecのセキュリティアソシエーション
Security Association(SA)はIPsec通信の基盤です。 SAの機能は次のとおりです-
- データを送信する前に、「Security Association(SA)」と呼ばれる仮想エンティティが送信エンティティと受信エンティティの間に確立されます。
- IPsecは、ネットワークの暗号化と認証を実行するための多くのオプションを提供します。 各IPsec接続は、暗号化、整合性、信頼性、または3つのサービスすべてを提供できます。 セキュリティサービスが決定されると、2つのIPsecピアエンティティが使用するアルゴリズムを正確に決定する必要があります(たとえば、暗号化にはDESまたは3DES、整合性にはMD5またはSHA-1)。 アルゴリズムを決定した後、2つのデバイスはセッションキーを共有する必要があります。
- SAは、IPsecセッションを構築するために2つ以上のシステム間の関係を提供する上記の通信パラメーターのセットです。
- SAは本質的に単純であるため、双方向通信には2つのSAが必要です。
- SAは、セキュリティプロトコルヘッダーに存在するセキュリティパラメータインデックス(SPI)番号によって識別されます。
- 送信エンティティと受信エンティティの両方が、SAに関する状態情報を保持します。 状態情報も保持するTCPエンドポイントに似ています。 IPsecはTCPのような接続指向です。
SAのパラメーター
すべてのSAは、次の3つのパラメータによって一意に識別されます-
- セキュリティパラメータインデックス(SPI)。
- これは、SAに割り当てられた32ビット値です。 同じ宛先で終端し、同じIPsecプロトコルを使用する異なるSAを区別するために使用されます。
- IPsecのすべてのパケットには、SPIフィールドを含むヘッダーが含まれています。 SPIは、着信パケットをSAにマップするために提供されています。
- SPIは、送信者が受信者に対してSAを識別するために生成する乱数です。
- 宛先IPアドレス-エンドルータのIPアドレスにすることができます。
- セキュリティプロトコル識別子-アソシエーションがAHまたはESP SAであるかどうかを示します。
IPsec通信に関係する2つのルーター間のSAの例を次の図に示します。
セキュリティ管理データベース
IPsecには、IPsecデータグラムの処理を制御する2つのデータベースがあります。 1つはセキュリティアソシエーションデータベース(SAD)で、もう1つはセキュリティポリシーデータベース(SPD)です。 IPsecを使用する各通信エンドポイントには、論理的に別個のSADとSPDが必要です。
セキュリティ協会データベース
IPsec通信では、エンドポイントはSA状態をSecurity Association Database(SAD)に保持します。 SADデータベースの各SAエントリには、次の表に示す9つのパラメータが含まれています-
Sr.No. | Parameters & Description |
---|---|
1 |
Sequence Number Counter アウトバウンド通信用。 これは、AHまたはESPヘッダーで提供される32ビットのシーケンス番号です。 |
2 |
Sequence Number Overflow Counter オプションフラグを設定して、特定のSAを利用したさらなる通信を防止します。 |
3 |
32-bit anti-replay window インバウンドAHまたはESPパケットがリプレイであるかどうかを判断するために使用されます |
4 |
Lifetime of the SA SAがアクティブのままになるまでの時間 |
5 |
Algorithm - AH AHおよび関連するキーで使用されます |
6 |
Algorithm - ESP Auth ESPヘッダーの認証部分で使用されます |
7 |
Algorithm - ESP Encryption ESPおよびその関連キー情報の暗号化に使用されます |
8 |
IPsec mode of operation トランスポートモードまたはトンネルモード |
9 |
Path MTU(PMTU) 観測されたパスの最大伝送単位(フラグメンテーションを回避するため) |
SADのすべてのSAエントリは、宛先IPアドレス、セキュリティプロトコル識別子、およびSPIの3つのSAパラメータによってインデックス付けされます。
セキュリティポリシーデータベース
SPDは、発信パケットの処理に使用されます。 使用するSADエントリの決定に役立ちます。 SADエントリが存在しない場合、SPDを使用して新しいエントリが作成されます。
SPDエントリには次のものが含まれます-
- SADで保持されているアクティブなSAへのポインター。
- セレクタフィールド-IPsecの適用を決定するために使用される上位層からの着信パケットのフィールド。 セレクタには、送信元アドレスと宛先アドレス、関連する場合はポート番号、アプリケーションID、プロトコルなどを含めることができます。
発信IPデータグラムはSPDエントリから特定のSAに送られ、エンコードパラメーターを取得します。 着信IPsecデータグラムは、SPI/DEST IP/Protocol Tripleを使用して正しいSAに直接到達し、そこから関連するSADエントリを抽出します。
SPDは、IPsecをバイパスするトラフィックを指定することもできます。 SPDは、SAプロセスのアクティブ化が決定されたアクションであるパケットフィルターと見なすことができます。
概要
IPsecは、ネットワーク接続を保護するためのプロトコルスイートです。 特定の暗号化アルゴリズムと認証機能の単純な定義を提供する代わりに、両方の通信端が同意するものを実装できるフレームワークを提供するため、かなり複雑なメカニズムです。
認証ヘッダー(AH)とカプセル化セキュリティペイロード(ESP)は、IPsecで使用される2つの主要な通信プロトコルです。 AHは認証のみを行いますが、ESPは接続を介して送信されるデータを暗号化および認証できます。
トランスポートモードは、IPヘッダーを変更せずに2つのエンドポイント間の安全な接続を提供します。 トンネルモードは、ペイロードIPパケット全体をカプセル化します。 新しいIPヘッダーが追加されます。 後者は、信頼できないインターネット上に仮想の安全なトンネルを提供するため、従来のVPNの形成に使用されます。
IPsec接続のセットアップには、あらゆる種類の暗号の選択が含まれます。 認証は通常、MD5やSHA-1などの暗号化ハッシュの上に構築されます。 暗号化アルゴリズムは、DES、3DES、Blowfish、およびAESが一般的です。 他のアルゴリズムも可能です。
通信するエンドポイントは両方とも、ハッシュまたは暗号化で使用される秘密の値を知る必要があります。 手動キーは、おそらく何らかの帯域外メカニズムによって伝えられる両端の秘密値の手動入力を必要とし、IKE(インターネットキーエクスチェンジ)はこれをオンラインで行うための洗練されたメカニズムです。