IPsec
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-戻る
--[[VPN]]
--[[Windowsネットワークの基礎知識、設定・トラブルシュート]]
* 目次 [#u69b2388]
#contents
*概要 [#afae0383]
-IPsec(Security Architecture for Internet Protocol、アイ...
-共有鍵暗号方式を用いることで、IP パケット単位で改ざん検...
--暗号化をサポートしていないトランスポート層やアプリケー...
--共有鍵暗号方式を用いるので鍵交換が必要。「完全性の確保...
-暗号化アルゴリズムなどをあえて特定せず、あらゆる暗号を利...
-もともとインターネットの標準化団体であるIETFが[[VPN]]の...
*機能 [#s39cd83f]
**アクセス制御 [#vd989288]
-プロトコル~
以下の何れかで可能
--[[ESP(Encapsulating Security Payload)>#kdc6e311]]
--[[AH(Authentication Header)>#d62f99c7]]
-F/Wと同様に、
--SRC、DSTアドレス
--DSTポート(プロトコル)
-以下を制御できる。
--IPSecを使用するか?
--使用する機能
---暗号化
---メッセージ認証
**送信元の認証 [#b47d2711]
-MACによる送信元の認証
-プロトコル~
以下の何れかで可能
--[[ESP(Encapsulating Security Payload)>#kdc6e311]]
--[[AH(Authentication Header)>#d62f99c7]]
**メッセージ認証 [#m1103410]
-MACによるメッセージ認証(改ざん検知)
-プロトコル~
以下の何れかで可能
--[[ESP(Encapsulating Security Payload)>#kdc6e311]]
--[[AH(Authentication Header)>#d62f99c7]]
**受信データ重複検知 [#z950bf6d]
-リプレイアタックの防止
-プロトコル~
以下の何れかで可能
--[[ESP(Encapsulating Security Payload)>#kdc6e311]]
--[[AH(Authentication Header)>#d62f99c7]]
**通信データの暗号化 [#tbc6612c]
-プロトコル~
[[ESP(Encapsulating Security Payload)>#kdc6e311]]
*構成 [#q965906a]
**ピア [#o89a3055]
-ピアは、ホストとセキュリティ・ゲートウェイの二種類に分類...
-IPsecは、原理的にはピアがどちらのタイプであるのかを問わ...
-が、ピアがどちらのタイプであるかによって推奨される通信モ...
-IPsecの各ピアは、2つのデータベースを管理する。
***SPD(Security Policy Database) [#m59440ff]
セキュリティポリシーのデータベース
-判定ポリシー
--IPアドレス
--プロトコル([[TCP/UDP>TCP, UDP]]/[[ICMP]]等)
--TCPポート
-アクション・ポリシー
--パケットを破棄(discard)
--IPsecを使わずに送信(bypass IPsec)
--IPsecを使って送信(apply IPsec)
***SAD(Security Association Database) [#x13f0c38]
各[[ピア>#o89a3055]]と[[SA>#o2043d34]]を確立する際に用い...
**コネクション [#wb4eb52b]
***SA(Security Association) [#o2043d34]
-一連のネゴシエーションの結果として、お互いの間で得られた...
-SAには、ISAKEMP SA(制御用)とIPsec SA(通信用)がある。
--ISAKEMP SA(制御用)~
--IPsec SA(通信用)
---単方向であるため、双方向通信を行う場合には、上りと下り...
---2つの単方向コネクションを確立することで、[[ピア>#o89a3...
***SPI(Security Pointer Index) [#gabb7fc5]
-[[SA>#o2043d34]]の確定と同時に、[[SA>#o2043d34]]と関連付...
-SPIは暗号化通信で各パケット中に挿入され、暗号化・復号(...
--暗号化アルゴリズム
--暗号鍵
-SPIを検索キーのように使って、パケット内の必要な情報を引...
--暗号化アルゴリズムや暗号鍵が推測できないように、暗号化...
--値の意味がネゴシエーションを行った当事者者同士以外には...
*プロトコル [#q5da25af]
**フロー [#dc209d0d]
[[ピア>#o89a3055]]Sが[[ピア>#o89a3055]]Rに向けてIPsecで通...
+SからRへの[[SA>#o2043d34]]を確立する。~
鍵共有プロトコルが実行される。
+[[SA>#o2043d34]]を使ってパケットをSがRに暗号通信する。~
共有された鍵を用いて、通信を暗号化する。
+Rがデータを受信し、復号などの必要処理を行う。~
共有された鍵を用いて、通信を復号(化)する。
**中核 [#ndab438d]
中核をなす以下の3つのプロトコルがある。
***[[鍵共有プロトコル>#ca8380ea]] [#ya8452c3]
-[[IKEv1(Internet Key Exchange protocol version 1)>#uc1...
-[[IKEv2(Internet Key Exchange protocol version 2)>#dce...
***[[暗号通信プロトコル>#qef20afc]] [#mda99925]
-[[ESP(Encapsulating Security Payload)>#kdc6e311]]
-[[AH(Authentication Header)>#d62f99c7]]
*鍵共有プロトコル [#ca8380ea]
IKE(Internet Key Exchange)という鍵交換プロトコルを使用...
-[[ISAKMP/Oakley>#hd03e081]]を元にして作られた。
-「[[Diffie-Hellman>暗号化アルゴリズム#w2cf2dea]]」方式が...
-それ自体で暗号化通信をサポートしている。
-UDPポート番号500上で通信される。
-[[IKEv1>#uc192a61]]と[[IKEv2>#dcef0a61]]があるが互換性は...
**ISAKMP/Oakley [#hd03e081]
-IPsecで利用される[[SA>#o2043d34]]確立のためのプロトコル
-今日では[[IKE(Internet Key Exchange)>#uc192a61]]に統合化...
-[[ISAKMP>#na5a38e4]]
-Oaklay
--[[Diffie-Hellman>暗号化アルゴリズム#w2cf2dea]]技術をベ...
--[[ピア>#o89a3055]]間での安全なセッションを構成可能にす...
**IKEv1 [#uc192a61]
Internet Key Exchange protocol version 1
***ISAKMP [#na5a38e4]
-Internet Security Association Key Management Protocol
-イニシエータとレスポンダのセッション確立のためのネゴシエ...
-ヘッダ
|>|>|>|>|0 ----------------------------------------------...
|>|>|>|>|イニシエータ・クッキー(64bit)|
|>|>|>|>|レスポンダ・クッキー(64bit)|
|次ペイロード|Major-Version|Minor-Version|交換タイプ|フラ...
|>|>|>|>|メッセージID|
|>|>|>|>|全メッセージ長|
--交換タイプ
---Mainモード
---Aggressiveモード
---Quickモード
-パケット
|>|>|ヘッダ|>|>|>|ペイロード|h
|IPヘッダ|UDPヘッダ|ISAKMPヘッダ|ISAKMPペイロード|ISAKMP...
--ISAKMPペイロードの種類
|番号|種類|h
|1|SA ペイロード|
|2|Proposal ペイロード|
|3|変換ペイロード|
|4|鍵交換ペイロード|
|5|ID ペイロード|
|6|証明書ペイロード|
|7|証明書要求ペイロード|
|8|ハッシュ・ペイロード|
|9|署名ペイロード|
|10|乱数(nonce)ペイロード|
|11|通知ペイロード|
|12|削除ペイロード|
|13|ベンダ ID ペイロード|
|14|データ属性ペイロード|
***フェーズ [#gaa424df]
-フェーズ1~
ISAKMP SAを確立
--[[ISAKMP SAパラメタのネゴシエーション>#q87c97ec]]
--[[メッセージの交換手順>#c1cb1467]]
--[[デバイスの認証方式>#u1938a73]]
-フェーズ2~
IPsec SAを確立
--フェーズ1で秘密対称鍵が共有できた後、
--[[IPsec SAパラメタのネゴシエーション>#hee7eadd]]
--暗号化通信が行えるようになる。
***ISAKMP SAパラメタのネゴシエーション [#q87c97ec]
-イニシエータがパラメタを提案
--暗号化アルゴリズム
--ハッシュ・アルゴリズム
--認証方式
--, etc.
-レスポンダが受諾可能なパラメタを選択・回答
***メッセージの交換手順 [#c1cb1467]
ISAKMP SAを確立するまでの、
>[[ISAKMP>#na5a38e4]]メッセージの交換手順
として2つの交換タイプがある。
-Mainモード~
3往復のパケット交換
--[[ISAKMP SAパラメタのネゴシエーション>#q87c97ec]]
--「[[Diffie-Hellman>暗号化アルゴリズム#w2cf2dea]]」方式...
次の4つの秘密対称鍵を生成する。
---SKEYID:他のカギを生成する元(事前共有鍵認証の場合、事...
---SKEYID_d:IPsec SAの秘密対称鍵を生成する元(SKEYIDやDH...
---SKEYID_a:ISAKMPメッセージ認証用(SKEYID、SKEYID_d、DH...
---SKEYID_e:IPsec SAの暗号化用(SKEYID、SKEYID_a、DH秘密...
--[[デバイスの認証方式>#u1938a73]]
-Aggressiveモード~
1.5往復のパケット交換
--イニシエータは、以下を同時に行う。
---[[ISAKMP SAパラメタのネゴシエーション>#q87c97ec]]
---「[[Diffie-Hellman>暗号化アルゴリズム#w2cf2dea]]」方式...
--レスポンダは、
---受諾可能なパラメタを選択・回答、
---同時に(、イニシエータ、レスポンダは)、秘密対称鍵が生...
--イニシエータは、
---[[デバイスの認証>#u1938a73]]を行う(レスポンスは受けな...
---IDにFQDNを使用することで、動的なIPアドレスでも対応でき...
***デバイスの認証方式 [#u1938a73]
通信相手(IPsec機器)との認証を行う認証方式
|#|認証方式|説明|h
|1|事前共有鍵認証(pre-shared key 認証)|事前に鍵交換する...
|2|ディジタル署名認証|[[証明書]]を使用して相互認証|
|3|公開鍵暗号認証|...|
|4|改良型公開鍵暗号認証|...|
これにより、ISAKMP SAが確立する。
※ 仕組み(シーケンスやペイロードなど)が不明。
***IPsec SAパラメタのネゴシエーション [#hee7eadd]
-IPsec SAを確立する[[ISAKMP>#na5a38e4]]メッセージの交換手順
--秘密対称鍵は、SKEYID_dによって生成される。
--通信は、SKEYID_eによって暗号化される。
-Quickモード~
1.5往復のパケット交換を行う
--イニシエータは、以下を同時に行う。
---IPsec SAパラメタのネゴシエーション
---認証情報の送信(認証用乱数、認証用ハッシュ)
--レスポンダは、
---受諾可能なパラメタを選択・回答、
---認証情報の送信(認証用乱数、認証用ハッシュ)
--イニシエータは、
---[[デバイスの認証>#u1938a73]]を行う(レスポンスは受けな...
---IPsec SAを確立し、以降IPsec通信が可能になる。
---SAは定期的に更新され、両ホスト間で再認証と鍵の更新が行...
**IKEv2 [#dcef0a61]
Internet Key Exchange protocol version 2
-混沌とした IKEv1 の標準化の仕切り直しを図っている。
-[[IKEv1>#uc192a61]]と同じUDPポート500だが互換性はない。
-動的IPアドレスに標準対応している。
-ユーザ認証にEAP (Extensible Authentication Protocol)を標...
***SA [#xe0a18e9]
-IKE_SA
--ISAKMP SAに相当する。
--上りと下りで2つ造られる。
-CHILD_SA
--IPsec SAに相当する。
--AHとESPの通信に用いられる。
***Exchange [#e5a7ba21]
イニシエータとレスポンダの通信
-IKE_SA_INT
--IKEv1のフェーズ1に相当
--(デバイス認証を含まない)
-IKE_AUTH
--IKEv1のフェーズ1に相当
--(デバイス認証とユーザ認証)
-CREATE_CHILD_SA~
IKEv1のフェーズ2に相当
--別のCHILD_SAの生成
--既存のCHILD_SAの定期更新
-INFORMATIONNAL~
SAの削除やエラー情報の通知など
-参考
--IKEv2 パケット交換とプロトコル レベルのデバッグ - Cisco~
https://www.cisco.com/c/ja_jp/support/docs/security-vpn/i...
*暗号通信プロトコル [#qef20afc]
**動作モード [#m33fba6f]
***[[トランスポート・モード>VPN#mc567dd3]] [#sbdbcc5e]
-ペイロード、TCPヘッダを暗号化(署名)
-パケットデータ部のみに、
--[[ESP(Encapsulating Security Payload)>#kdc6e311]]暗号化
--[[AH(Authentication Header)>#d62f99c7]]メッセージ認証
>処理を施す。
-主に2つのホスト間の通信で使われる。
***[[トンネル・モード>VPN#j72bb78c]] [#sa0ed6e7]
-ペイロード、TCPヘッダ、IPヘッダを暗号化(署名)
-ヘッダを含めたパケット全体に
--[[ESP(Encapsulating Security Payload)>#kdc6e311]]暗号化
--[[AH(Authentication Header)>#d62f99c7]]メッセージ認証
>処理を施し、新たなIPヘッダを付加する(カプセル化)。
-主に以下の通信で使われる。
--セキュリティ・ゲートウェイとセキュリティ・ゲートウェイ
--セキュリティ・ゲートウェイとホストの間
**暗号化、メッセージ認証 [#j3f3aa41]
[[SA>#o2043d34]]が確立された後、[[ピア>#o89a3055]]SとRは、
-以下の2つのうちいずれか、~
若しくは両方のプロトコル用いて、~
暗号化(メッセージ認証)通信を行う。
--平文の暗号化とメッセージ認証の両方を実行できる共通鍵暗...
--暗号処理に必要な共通鍵は、[[SA>#o2043d34]]の確立の際に...
***AH (Authentication Header) [#kdc6e311]
-IPプロトコル番号 51。
-「完全性の保証」と「認証」のための仕組み。
-IPパケットにメッセージ認証子(MAC)をつけ暗号化は行わない...
-MAC(SPI、シーケンス番号、認証データ)をパックしてIPへッ...
-ヘッダのレイアウト
|>|>|0 ----------------------------------------- 31|
|次ヘッダ|ペイロード長|予約|
|>|>|セキュリティ・パラメタ・インデックス(SPI)|
|>|>|シーケンス番号|
|>|>|認証データ(可変長):ICV(Integrity Check Value)|
-パケット構成
--通常時
|IPヘッダ|TCPヘッダ|データ|
--[[トランスポート・モード>#sbdbcc5e]]~
AHヘッダを挿入
|IPヘッダ|BGCOLOR(red):AHヘッダ|TCPヘッダ|データ|
|>|>|>|<--------------- 認証の範囲 --------------->|
--[[トンネル・モード>#sa0ed6e7]]~
AHヘッダとIPヘッダでカプセル化
|新IPヘッダ|BGCOLOR(red):AHヘッダ|IPヘッダ|TCPヘッダ|デー...
|>|>|>|>|<-------------------- 認証の範囲 ---------------...
***ESP (Encapsulated Security Payload) [#d62f99c7]
-IPプロトコル番号 50。
-IPパケットに認証暗号を施すため、パケットの秘匿性と改ざん...
-以下の3つの情報が
--暗号化された通信内容
--SPIとシーケンス番号フィールド
--そして認証データ
>付け加えられた構造になる。
-[[動作モード>#m33fba6f]]によって暗号化の範囲が異なる。
-パケット
--レイアウト
|>|>|0 ----------------------------------------- 31|
|>|>|セキュリティ・パラメタ・インデックス(SPI)|
|>|>|シーケンス番号|
|>|>|データ|
|>|>|パディング|
|||ESPトレーラ(パディング長、次ヘッダ)|
|>|>|認証データ(可変長):ICV(Integrity Check Value)|
--構成
---通常時
|IPヘッダ|TCPヘッダ|データ|
---[[トランスポート・モード>#sbdbcc5e]]~
ESPヘッダを挿入
|IPヘッダ|BGCOLOR(red):ESPヘッダ|TCPヘッダ|データ|BGCOLOR...
||>|>|>|<-------------------- 認証の範囲 ----------------...
|||>|>|<------------ 暗号化の範囲 ------------>||
---[[トンネル・モード>#sa0ed6e7]]~
ESPヘッダとIPヘッダでカプセル化
|新IPヘッダ|BGCOLOR(red):ESPヘッダ|IPヘッダ|TCPヘッダ|デ...
||>|>|>|>|<-------------------- 認証の範囲 --------------...
|||>|>|>|<------------ 暗号化の範囲 ------------>||
※ &color(red){ESP認証データは、認証&暗号化対象外。};
**復号化、メッセージ認証の検証 [#f09c3f50]
***フィルタリング [#o2f0b5d5]
-[[ピア>#o89a3055]]Rは、パケットを受け取り、
-[[SAD>#x13f0c38]]の記載に従って、パケットを破棄するか否...
***復号(化) [#y6496134]
-パケットがIPsecのものであれば、
--パケットを復号し(暗号化されている場合)
--メッセージ認証の検証を行った上で、上位レイヤーのプロト...
-パケットがIPsecではなく通常のIPのものである場合、
--復号などの処理を施さず、
--直接上位レイヤーのプロトコルにパケットを渡す。
*留意点と対策 [#p0d1f5c6]
**端末の不正使用 [#nb68b157]
-リモートアクセス環境では、
--デバイス認証だけでなく
--ユーザ認証が必要になる。
-XAUTH
--ISAKMP SAが確立する中でデバイスが認証が行われる。
--ユーザ認証
---デバイス認証後に、ユーザ認証が行われる。
---[[IPsec SAパラメタのネゴシエーション>#hee7eadd]]が暗号...
---認証はユーザIDとパスワードによる(方式はチャレンジ&レ...
**IPアドレスの動的割当 [#n7d9f72e]
-[[Point-to-Site VPN (P2S)>VPN Gateway#rbc785d4]]などでポ...
-これには、ISAKMP Configuration Methodが使用され、以下の2...
--イニシエータが要求した情報をレスポンダから受け取る。
--イニシエーから情報をレスポンダに送り、了解を得る。
**[[NAT / NAPT>ネットワーク機器一覧#x06ef648]]利用時の留...
***NAT [#kd4370eb]
IPの変換なので、IPヘッダにだけ影響する。
|プロトコル|動作モード|問題|h
|IKE|動作モードを問わない|特に問題は生じない。|
|AH|動作モードを問わない|IPヘッダ含めて認証データであるIC...
|ESP|[[トランスポート・モード>#sbdbcc5e]]|IPアドレスの変...
|~|[[トンネル・モード>#sa0ed6e7]]|トンネルモードでは、新I...
※ IKE + ESPで処理可能。
***NAPT [#x14df20b]
IPとポート番号の変換なので、IPヘッダとTCPヘッダに影響する。
|プロトコル|動作モード|問題|h
|IKE|動作モードを問わない|IKEパケットのポート番号は変換し...
|AH|動作モードを問わない|NATと同じ問題が発生する。|
|ESP|動作モードを問わない|ポート番号は暗号化されているの...
※ 処理不可能なので[[UDP encapsulation of IPSec ESP packet...
***UDP encapsulation of IPSec ESP packets [#cc713328]
-新IPヘッダとESPヘッダの間にヘッダを追加する。
-UDPヘッダ(UDPでカプセル化するため)
-non-IKEヘッダ(IKEパケットとの区別のため)
*参考 [#sa20ce66]
-IPsecとは~
http://www.infraexpert.com/study/study10.html
-技術解説:IT管理者のためのIPSec講座 (1/3) - @IT~
http://www.atmarkit.co.jp/ait/articles/0011/27/news001.html
-IPsec - Wikipedia~
https://ja.wikipedia.org/wiki/IPsec
--以下の理由から、現状は専門の技術者が管理するGateway間で...
---通信する二点間で全ての設定が一致していなければ通信が成...
---手動設定の場合は同じ鍵情報を長期間使い続けることになる...
----
Tags: [[:IT国際標準]], [[:インフラストラクチャ]], [[:セキ...
終了行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-戻る
--[[VPN]]
--[[Windowsネットワークの基礎知識、設定・トラブルシュート]]
* 目次 [#u69b2388]
#contents
*概要 [#afae0383]
-IPsec(Security Architecture for Internet Protocol、アイ...
-共有鍵暗号方式を用いることで、IP パケット単位で改ざん検...
--暗号化をサポートしていないトランスポート層やアプリケー...
--共有鍵暗号方式を用いるので鍵交換が必要。「完全性の確保...
-暗号化アルゴリズムなどをあえて特定せず、あらゆる暗号を利...
-もともとインターネットの標準化団体であるIETFが[[VPN]]の...
*機能 [#s39cd83f]
**アクセス制御 [#vd989288]
-プロトコル~
以下の何れかで可能
--[[ESP(Encapsulating Security Payload)>#kdc6e311]]
--[[AH(Authentication Header)>#d62f99c7]]
-F/Wと同様に、
--SRC、DSTアドレス
--DSTポート(プロトコル)
-以下を制御できる。
--IPSecを使用するか?
--使用する機能
---暗号化
---メッセージ認証
**送信元の認証 [#b47d2711]
-MACによる送信元の認証
-プロトコル~
以下の何れかで可能
--[[ESP(Encapsulating Security Payload)>#kdc6e311]]
--[[AH(Authentication Header)>#d62f99c7]]
**メッセージ認証 [#m1103410]
-MACによるメッセージ認証(改ざん検知)
-プロトコル~
以下の何れかで可能
--[[ESP(Encapsulating Security Payload)>#kdc6e311]]
--[[AH(Authentication Header)>#d62f99c7]]
**受信データ重複検知 [#z950bf6d]
-リプレイアタックの防止
-プロトコル~
以下の何れかで可能
--[[ESP(Encapsulating Security Payload)>#kdc6e311]]
--[[AH(Authentication Header)>#d62f99c7]]
**通信データの暗号化 [#tbc6612c]
-プロトコル~
[[ESP(Encapsulating Security Payload)>#kdc6e311]]
*構成 [#q965906a]
**ピア [#o89a3055]
-ピアは、ホストとセキュリティ・ゲートウェイの二種類に分類...
-IPsecは、原理的にはピアがどちらのタイプであるのかを問わ...
-が、ピアがどちらのタイプであるかによって推奨される通信モ...
-IPsecの各ピアは、2つのデータベースを管理する。
***SPD(Security Policy Database) [#m59440ff]
セキュリティポリシーのデータベース
-判定ポリシー
--IPアドレス
--プロトコル([[TCP/UDP>TCP, UDP]]/[[ICMP]]等)
--TCPポート
-アクション・ポリシー
--パケットを破棄(discard)
--IPsecを使わずに送信(bypass IPsec)
--IPsecを使って送信(apply IPsec)
***SAD(Security Association Database) [#x13f0c38]
各[[ピア>#o89a3055]]と[[SA>#o2043d34]]を確立する際に用い...
**コネクション [#wb4eb52b]
***SA(Security Association) [#o2043d34]
-一連のネゴシエーションの結果として、お互いの間で得られた...
-SAには、ISAKEMP SA(制御用)とIPsec SA(通信用)がある。
--ISAKEMP SA(制御用)~
--IPsec SA(通信用)
---単方向であるため、双方向通信を行う場合には、上りと下り...
---2つの単方向コネクションを確立することで、[[ピア>#o89a3...
***SPI(Security Pointer Index) [#gabb7fc5]
-[[SA>#o2043d34]]の確定と同時に、[[SA>#o2043d34]]と関連付...
-SPIは暗号化通信で各パケット中に挿入され、暗号化・復号(...
--暗号化アルゴリズム
--暗号鍵
-SPIを検索キーのように使って、パケット内の必要な情報を引...
--暗号化アルゴリズムや暗号鍵が推測できないように、暗号化...
--値の意味がネゴシエーションを行った当事者者同士以外には...
*プロトコル [#q5da25af]
**フロー [#dc209d0d]
[[ピア>#o89a3055]]Sが[[ピア>#o89a3055]]Rに向けてIPsecで通...
+SからRへの[[SA>#o2043d34]]を確立する。~
鍵共有プロトコルが実行される。
+[[SA>#o2043d34]]を使ってパケットをSがRに暗号通信する。~
共有された鍵を用いて、通信を暗号化する。
+Rがデータを受信し、復号などの必要処理を行う。~
共有された鍵を用いて、通信を復号(化)する。
**中核 [#ndab438d]
中核をなす以下の3つのプロトコルがある。
***[[鍵共有プロトコル>#ca8380ea]] [#ya8452c3]
-[[IKEv1(Internet Key Exchange protocol version 1)>#uc1...
-[[IKEv2(Internet Key Exchange protocol version 2)>#dce...
***[[暗号通信プロトコル>#qef20afc]] [#mda99925]
-[[ESP(Encapsulating Security Payload)>#kdc6e311]]
-[[AH(Authentication Header)>#d62f99c7]]
*鍵共有プロトコル [#ca8380ea]
IKE(Internet Key Exchange)という鍵交換プロトコルを使用...
-[[ISAKMP/Oakley>#hd03e081]]を元にして作られた。
-「[[Diffie-Hellman>暗号化アルゴリズム#w2cf2dea]]」方式が...
-それ自体で暗号化通信をサポートしている。
-UDPポート番号500上で通信される。
-[[IKEv1>#uc192a61]]と[[IKEv2>#dcef0a61]]があるが互換性は...
**ISAKMP/Oakley [#hd03e081]
-IPsecで利用される[[SA>#o2043d34]]確立のためのプロトコル
-今日では[[IKE(Internet Key Exchange)>#uc192a61]]に統合化...
-[[ISAKMP>#na5a38e4]]
-Oaklay
--[[Diffie-Hellman>暗号化アルゴリズム#w2cf2dea]]技術をベ...
--[[ピア>#o89a3055]]間での安全なセッションを構成可能にす...
**IKEv1 [#uc192a61]
Internet Key Exchange protocol version 1
***ISAKMP [#na5a38e4]
-Internet Security Association Key Management Protocol
-イニシエータとレスポンダのセッション確立のためのネゴシエ...
-ヘッダ
|>|>|>|>|0 ----------------------------------------------...
|>|>|>|>|イニシエータ・クッキー(64bit)|
|>|>|>|>|レスポンダ・クッキー(64bit)|
|次ペイロード|Major-Version|Minor-Version|交換タイプ|フラ...
|>|>|>|>|メッセージID|
|>|>|>|>|全メッセージ長|
--交換タイプ
---Mainモード
---Aggressiveモード
---Quickモード
-パケット
|>|>|ヘッダ|>|>|>|ペイロード|h
|IPヘッダ|UDPヘッダ|ISAKMPヘッダ|ISAKMPペイロード|ISAKMP...
--ISAKMPペイロードの種類
|番号|種類|h
|1|SA ペイロード|
|2|Proposal ペイロード|
|3|変換ペイロード|
|4|鍵交換ペイロード|
|5|ID ペイロード|
|6|証明書ペイロード|
|7|証明書要求ペイロード|
|8|ハッシュ・ペイロード|
|9|署名ペイロード|
|10|乱数(nonce)ペイロード|
|11|通知ペイロード|
|12|削除ペイロード|
|13|ベンダ ID ペイロード|
|14|データ属性ペイロード|
***フェーズ [#gaa424df]
-フェーズ1~
ISAKMP SAを確立
--[[ISAKMP SAパラメタのネゴシエーション>#q87c97ec]]
--[[メッセージの交換手順>#c1cb1467]]
--[[デバイスの認証方式>#u1938a73]]
-フェーズ2~
IPsec SAを確立
--フェーズ1で秘密対称鍵が共有できた後、
--[[IPsec SAパラメタのネゴシエーション>#hee7eadd]]
--暗号化通信が行えるようになる。
***ISAKMP SAパラメタのネゴシエーション [#q87c97ec]
-イニシエータがパラメタを提案
--暗号化アルゴリズム
--ハッシュ・アルゴリズム
--認証方式
--, etc.
-レスポンダが受諾可能なパラメタを選択・回答
***メッセージの交換手順 [#c1cb1467]
ISAKMP SAを確立するまでの、
>[[ISAKMP>#na5a38e4]]メッセージの交換手順
として2つの交換タイプがある。
-Mainモード~
3往復のパケット交換
--[[ISAKMP SAパラメタのネゴシエーション>#q87c97ec]]
--「[[Diffie-Hellman>暗号化アルゴリズム#w2cf2dea]]」方式...
次の4つの秘密対称鍵を生成する。
---SKEYID:他のカギを生成する元(事前共有鍵認証の場合、事...
---SKEYID_d:IPsec SAの秘密対称鍵を生成する元(SKEYIDやDH...
---SKEYID_a:ISAKMPメッセージ認証用(SKEYID、SKEYID_d、DH...
---SKEYID_e:IPsec SAの暗号化用(SKEYID、SKEYID_a、DH秘密...
--[[デバイスの認証方式>#u1938a73]]
-Aggressiveモード~
1.5往復のパケット交換
--イニシエータは、以下を同時に行う。
---[[ISAKMP SAパラメタのネゴシエーション>#q87c97ec]]
---「[[Diffie-Hellman>暗号化アルゴリズム#w2cf2dea]]」方式...
--レスポンダは、
---受諾可能なパラメタを選択・回答、
---同時に(、イニシエータ、レスポンダは)、秘密対称鍵が生...
--イニシエータは、
---[[デバイスの認証>#u1938a73]]を行う(レスポンスは受けな...
---IDにFQDNを使用することで、動的なIPアドレスでも対応でき...
***デバイスの認証方式 [#u1938a73]
通信相手(IPsec機器)との認証を行う認証方式
|#|認証方式|説明|h
|1|事前共有鍵認証(pre-shared key 認証)|事前に鍵交換する...
|2|ディジタル署名認証|[[証明書]]を使用して相互認証|
|3|公開鍵暗号認証|...|
|4|改良型公開鍵暗号認証|...|
これにより、ISAKMP SAが確立する。
※ 仕組み(シーケンスやペイロードなど)が不明。
***IPsec SAパラメタのネゴシエーション [#hee7eadd]
-IPsec SAを確立する[[ISAKMP>#na5a38e4]]メッセージの交換手順
--秘密対称鍵は、SKEYID_dによって生成される。
--通信は、SKEYID_eによって暗号化される。
-Quickモード~
1.5往復のパケット交換を行う
--イニシエータは、以下を同時に行う。
---IPsec SAパラメタのネゴシエーション
---認証情報の送信(認証用乱数、認証用ハッシュ)
--レスポンダは、
---受諾可能なパラメタを選択・回答、
---認証情報の送信(認証用乱数、認証用ハッシュ)
--イニシエータは、
---[[デバイスの認証>#u1938a73]]を行う(レスポンスは受けな...
---IPsec SAを確立し、以降IPsec通信が可能になる。
---SAは定期的に更新され、両ホスト間で再認証と鍵の更新が行...
**IKEv2 [#dcef0a61]
Internet Key Exchange protocol version 2
-混沌とした IKEv1 の標準化の仕切り直しを図っている。
-[[IKEv1>#uc192a61]]と同じUDPポート500だが互換性はない。
-動的IPアドレスに標準対応している。
-ユーザ認証にEAP (Extensible Authentication Protocol)を標...
***SA [#xe0a18e9]
-IKE_SA
--ISAKMP SAに相当する。
--上りと下りで2つ造られる。
-CHILD_SA
--IPsec SAに相当する。
--AHとESPの通信に用いられる。
***Exchange [#e5a7ba21]
イニシエータとレスポンダの通信
-IKE_SA_INT
--IKEv1のフェーズ1に相当
--(デバイス認証を含まない)
-IKE_AUTH
--IKEv1のフェーズ1に相当
--(デバイス認証とユーザ認証)
-CREATE_CHILD_SA~
IKEv1のフェーズ2に相当
--別のCHILD_SAの生成
--既存のCHILD_SAの定期更新
-INFORMATIONNAL~
SAの削除やエラー情報の通知など
-参考
--IKEv2 パケット交換とプロトコル レベルのデバッグ - Cisco~
https://www.cisco.com/c/ja_jp/support/docs/security-vpn/i...
*暗号通信プロトコル [#qef20afc]
**動作モード [#m33fba6f]
***[[トランスポート・モード>VPN#mc567dd3]] [#sbdbcc5e]
-ペイロード、TCPヘッダを暗号化(署名)
-パケットデータ部のみに、
--[[ESP(Encapsulating Security Payload)>#kdc6e311]]暗号化
--[[AH(Authentication Header)>#d62f99c7]]メッセージ認証
>処理を施す。
-主に2つのホスト間の通信で使われる。
***[[トンネル・モード>VPN#j72bb78c]] [#sa0ed6e7]
-ペイロード、TCPヘッダ、IPヘッダを暗号化(署名)
-ヘッダを含めたパケット全体に
--[[ESP(Encapsulating Security Payload)>#kdc6e311]]暗号化
--[[AH(Authentication Header)>#d62f99c7]]メッセージ認証
>処理を施し、新たなIPヘッダを付加する(カプセル化)。
-主に以下の通信で使われる。
--セキュリティ・ゲートウェイとセキュリティ・ゲートウェイ
--セキュリティ・ゲートウェイとホストの間
**暗号化、メッセージ認証 [#j3f3aa41]
[[SA>#o2043d34]]が確立された後、[[ピア>#o89a3055]]SとRは、
-以下の2つのうちいずれか、~
若しくは両方のプロトコル用いて、~
暗号化(メッセージ認証)通信を行う。
--平文の暗号化とメッセージ認証の両方を実行できる共通鍵暗...
--暗号処理に必要な共通鍵は、[[SA>#o2043d34]]の確立の際に...
***AH (Authentication Header) [#kdc6e311]
-IPプロトコル番号 51。
-「完全性の保証」と「認証」のための仕組み。
-IPパケットにメッセージ認証子(MAC)をつけ暗号化は行わない...
-MAC(SPI、シーケンス番号、認証データ)をパックしてIPへッ...
-ヘッダのレイアウト
|>|>|0 ----------------------------------------- 31|
|次ヘッダ|ペイロード長|予約|
|>|>|セキュリティ・パラメタ・インデックス(SPI)|
|>|>|シーケンス番号|
|>|>|認証データ(可変長):ICV(Integrity Check Value)|
-パケット構成
--通常時
|IPヘッダ|TCPヘッダ|データ|
--[[トランスポート・モード>#sbdbcc5e]]~
AHヘッダを挿入
|IPヘッダ|BGCOLOR(red):AHヘッダ|TCPヘッダ|データ|
|>|>|>|<--------------- 認証の範囲 --------------->|
--[[トンネル・モード>#sa0ed6e7]]~
AHヘッダとIPヘッダでカプセル化
|新IPヘッダ|BGCOLOR(red):AHヘッダ|IPヘッダ|TCPヘッダ|デー...
|>|>|>|>|<-------------------- 認証の範囲 ---------------...
***ESP (Encapsulated Security Payload) [#d62f99c7]
-IPプロトコル番号 50。
-IPパケットに認証暗号を施すため、パケットの秘匿性と改ざん...
-以下の3つの情報が
--暗号化された通信内容
--SPIとシーケンス番号フィールド
--そして認証データ
>付け加えられた構造になる。
-[[動作モード>#m33fba6f]]によって暗号化の範囲が異なる。
-パケット
--レイアウト
|>|>|0 ----------------------------------------- 31|
|>|>|セキュリティ・パラメタ・インデックス(SPI)|
|>|>|シーケンス番号|
|>|>|データ|
|>|>|パディング|
|||ESPトレーラ(パディング長、次ヘッダ)|
|>|>|認証データ(可変長):ICV(Integrity Check Value)|
--構成
---通常時
|IPヘッダ|TCPヘッダ|データ|
---[[トランスポート・モード>#sbdbcc5e]]~
ESPヘッダを挿入
|IPヘッダ|BGCOLOR(red):ESPヘッダ|TCPヘッダ|データ|BGCOLOR...
||>|>|>|<-------------------- 認証の範囲 ----------------...
|||>|>|<------------ 暗号化の範囲 ------------>||
---[[トンネル・モード>#sa0ed6e7]]~
ESPヘッダとIPヘッダでカプセル化
|新IPヘッダ|BGCOLOR(red):ESPヘッダ|IPヘッダ|TCPヘッダ|デ...
||>|>|>|>|<-------------------- 認証の範囲 --------------...
|||>|>|>|<------------ 暗号化の範囲 ------------>||
※ &color(red){ESP認証データは、認証&暗号化対象外。};
**復号化、メッセージ認証の検証 [#f09c3f50]
***フィルタリング [#o2f0b5d5]
-[[ピア>#o89a3055]]Rは、パケットを受け取り、
-[[SAD>#x13f0c38]]の記載に従って、パケットを破棄するか否...
***復号(化) [#y6496134]
-パケットがIPsecのものであれば、
--パケットを復号し(暗号化されている場合)
--メッセージ認証の検証を行った上で、上位レイヤーのプロト...
-パケットがIPsecではなく通常のIPのものである場合、
--復号などの処理を施さず、
--直接上位レイヤーのプロトコルにパケットを渡す。
*留意点と対策 [#p0d1f5c6]
**端末の不正使用 [#nb68b157]
-リモートアクセス環境では、
--デバイス認証だけでなく
--ユーザ認証が必要になる。
-XAUTH
--ISAKMP SAが確立する中でデバイスが認証が行われる。
--ユーザ認証
---デバイス認証後に、ユーザ認証が行われる。
---[[IPsec SAパラメタのネゴシエーション>#hee7eadd]]が暗号...
---認証はユーザIDとパスワードによる(方式はチャレンジ&レ...
**IPアドレスの動的割当 [#n7d9f72e]
-[[Point-to-Site VPN (P2S)>VPN Gateway#rbc785d4]]などでポ...
-これには、ISAKMP Configuration Methodが使用され、以下の2...
--イニシエータが要求した情報をレスポンダから受け取る。
--イニシエーから情報をレスポンダに送り、了解を得る。
**[[NAT / NAPT>ネットワーク機器一覧#x06ef648]]利用時の留...
***NAT [#kd4370eb]
IPの変換なので、IPヘッダにだけ影響する。
|プロトコル|動作モード|問題|h
|IKE|動作モードを問わない|特に問題は生じない。|
|AH|動作モードを問わない|IPヘッダ含めて認証データであるIC...
|ESP|[[トランスポート・モード>#sbdbcc5e]]|IPアドレスの変...
|~|[[トンネル・モード>#sa0ed6e7]]|トンネルモードでは、新I...
※ IKE + ESPで処理可能。
***NAPT [#x14df20b]
IPとポート番号の変換なので、IPヘッダとTCPヘッダに影響する。
|プロトコル|動作モード|問題|h
|IKE|動作モードを問わない|IKEパケットのポート番号は変換し...
|AH|動作モードを問わない|NATと同じ問題が発生する。|
|ESP|動作モードを問わない|ポート番号は暗号化されているの...
※ 処理不可能なので[[UDP encapsulation of IPSec ESP packet...
***UDP encapsulation of IPSec ESP packets [#cc713328]
-新IPヘッダとESPヘッダの間にヘッダを追加する。
-UDPヘッダ(UDPでカプセル化するため)
-non-IKEヘッダ(IKEパケットとの区別のため)
*参考 [#sa20ce66]
-IPsecとは~
http://www.infraexpert.com/study/study10.html
-技術解説:IT管理者のためのIPSec講座 (1/3) - @IT~
http://www.atmarkit.co.jp/ait/articles/0011/27/news001.html
-IPsec - Wikipedia~
https://ja.wikipedia.org/wiki/IPsec
--以下の理由から、現状は専門の技術者が管理するGateway間で...
---通信する二点間で全ての設定が一致していなければ通信が成...
---手動設定の場合は同じ鍵情報を長期間使い続けることになる...
----
Tags: [[:IT国際標準]], [[:インフラストラクチャ]], [[:セキ...
ページ名: