[[ネットワーク用語]] > IKE

* IKE [#g23236a8]

IKE = Internet Key Exchange インターネット鍵交換

[[IKEとは【Internet Key Exchange】 - IT用語辞典>http://e-words.jp/w/IKE.html]]
>IKE 【Internet Key Exchange】
読み :アイク
 
[[IPsec>IPsec]]で暗号化通信を行うのに先立って、暗号鍵を交換するために利用される通信[[プロトコル]]。
その場限りの暗号化通信を行って、IPsecに必要な暗号化アルゴリズムの決定と暗号鍵の共有を行う。
 
IKEでは[[Diffie-Hellman]]鍵交換と呼ばれる手順によって暗号鍵を交換し、IKE限定の暗号化通信を行う。
その際にIPsecでの通信に必要な各種の情報の交換などの手続きが行われ、IPsecによる通信を開始する。
IKEの通信を盗み見られても、それ自体が暗号化されているため、IPsecの通信を解読される恐れはない。

[[IKEv1 - Wikipedia>http://ja.wikipedia.org/wiki/IPsec#IKEv1]]
>[[IKE]]v1は Internet Key Exchange protocol version 1 の意味であり、UDPポート番号500上で通信される&color(red){鍵交換プロトコル};である。
開発時には ISAKMP/Oakley と呼ばれた過去があり、これはISAKMP(Internet Security Association and Key Management Protocol)プロトコルの上でOakley鍵交換手順を実装したものという意味である。
すなわち、IKEv1はISAKMPと必ずしも同じものではない。

----

[[@IT:管理者のためのインターネットVPNの接続環境とその機>http://www.atmarkit.co.jp/fsecurity/special/41vpn/vpn01.html]]

** IPSec標準における接続先相手認証 [#d76fdc58]
[[IPsec]]では、実際にデータの暗号化通信の開始に先立ち、IKE(Internet Key Exchange)[[プロトコル]](暗号化方式の決定や鍵の交換や相互認証に使われるプロトコル)を使用した通信の中で接続先相手の認証を行う。

*** ●IKEプロトコルの目的 [#z3439b2c]

|BGCOLOR(orange):(1)VPN接続のエンドポイント間でプロポーサルを交換する。|
|BGCOLOR(yellow):自身のVPNゲートウェイが提供可能なパラメータ(暗号化アルゴリズムやハッシュアルゴリズムなど)を提案し、互いに接続先相手が使用可能なパラメータを認識、共有する。|
|BGCOLOR(orange):(2)鍵交換|
|BGCOLOR(yellow):エンドポイント間で以降のIKEプロトコルを使用した通信の暗号化に使用する鍵を交換し、共有する。|
|BGCOLOR(orange):(3)接続先相手認証|
|BGCOLOR(yellow):エンドポイント間でIDを交換することで接続先相手を認証する。|

上記の目的を実現するために、IKEプロトコルは2つの実行モードを用意している。
[[メイン・モード>メインモード]](Main Mode:フェーズ1メイン・モードなどと記述される)と[[アグレッシブ・モード>アグレッシブモード]](Aggressive Mode:フェーズ1アグレッシブ・モードなどと記述される)である。

CENTER:&ref(vpn2_1.gif);
>図2 メイン・モード

CENTER:&ref(vpn2_2.gif);
>図3 アグレッシブ・モード

*** ●接続先認証に使用するIDの暗号化 [#m4f3efb1]

 上図に示したように2つのモードの大きな違いは、&color(red){接続先認証に使用されるID情報に対するセキュリティ};である。
&color(red){メイン・モードではIDが暗号化};されて送信されるのに対して、&color(red){アグレッシブ・モードでは平文のまま};送信される。

 IDの暗号化を実現するために、メイン・モードではエンドポイント間でID交換をする前に接続先相手の[[事前秘密鍵>PSK]](Pre-Shared Secret Key)を知る必要がある。
しかし、図2にあるように、鍵交換フェーズではVPN[[ゲートウェイ]]は接続先相手のIDを知らないため、この時点では接続先相手の事前秘密鍵を特定することができない。
そのために、IKEプロトコルの実装では、IKEの通信中に送受信される&color(red){IPパケットの送信元アドレスをID};として事前秘密鍵の特定に使用している。

 この場合、メイン・モードでは、鍵交換の段階で接続先相手のエンドポイントのIPアドレスを持つオブジェクト(VPN製品に定義される要素)がVPNゲートウェイ上で定義されている必要がある(事前に接続先相手のIPアドレスが定義される。つまり、&color(red){接続先相手のIPアドレスが固定};されている必要がある)。

 一方、図3にあるように、アグレッシブ・モードでは鍵交換情報と同じ&color(red){メッセージの中で接続先相手のID};が送受信される。そのため、IDは暗号化されずに送受信される。

 ここで、2つのモードを実際のVPN接続環境に対応させてみる。
一般に、サイト間接続型VPNでは、互いのVPNゲートウェイのIPアドレスが固定されるため、メイン・モードを利用することが可能である(アグレッシブ・モードでも可能であるが、通常はIDが暗号化されるメイン・モードを利用する場合が多い)。
リモートアクセス型VPNでは、ダイヤルアップ接続などを使用してアクセスポイントに接続した後、VPNコネクションを確立する。VPNクライアントに割り当てられるIPアドレスは、アクセスポイントに接続するたびに変化するため、VPNゲートウェイ側ではVPNクライアントのIPアドレスを特定することができない。
そのため、リモートアクセス型VPNでは、メイン・モードは利用できず、アグレッシブ・モードを利用することになる。

*** ●接続先認証に使用するID [#b70a2fba]

 リモートアクセス型VPNの接続先相手の[[認証]]に使用するIDは、サイト間接続型VPNと異なる要件を持つ。
サイト間接続型VPNでは、IDとしてVPNゲートウェイのIPアドレスを使用する。
&color(red){リモートアクセス型VPNでは、認証に使用するIDとして利用者個人を認証できる情報を使用する};必要がある。
つまり、利用者が使用するクライアントのIPアドレスをIDとしても、実際に認証対象となるのはあくまでもクライアントである。
認証の対象にする必要があるのは、そのクライアントを利用している利用者である。
そのため実際には、IDとして、&color(red){利用者のユーザー名やメールアドレス};を使用する。

*** ●リモートアクセス型VPNとIPSec標準 [#e98aef66]

 前述したように、リモートアクセス型VPNでは利用者固有のIDを使用して接続先認証を実現する必要があるが、現在のIPSec標準(RFC)では、接続先相手の認証に利用者固有のIDを使用するフレームワークが含まれていない。
そのため、&color(red){IPSec標準のみを実装してもリモートアクセス型VPNが要求する技術要件には対応できない};のである。
そのため、リモートアクセス型VPNの場合にも、サイト間接続と同じように各クライアントのIPアドレスを固定にしたり、すべての利用者間で事前秘密鍵を同一にするなどして構築しなければならないVPN製品も見受けられる。
しかし、クライアントのIPアドレスの固定化や、事前秘密鍵の共有などは、実際のリモートアクセス環境が求める管理面とセキュリティ面の要件との隔たりが大きく現実的でない。

 これを解決するために、IETF(The Internet Engineering Task Force)では、IKEプロトコルを拡張することにより、ユーザー固有のIDによる相手認証のフレームワークをインターネットドラフトとして提案している。

 提案の1つに[[XAUTH]](Extended Authentication within ISAKMP/Oakley)がある。
&color(red){XAUTHは、IKEプロトコルを拡張することで、従来組織内で利用してきた[[ワンタイムパスワード]]や[[RADIUS]]などを使用した認証サービスを利用できる};ようにするものである。
実際に、XAUTHは多くのVPN製品で実装されているが、いまだにIPSec標準に組み込まれる予定はない。
なぜならば、IPSec標準を策定しているグループの基本ポリシーとして、IKEプロトコルを拡張すること自体を認めていないためである。

** リンク [#d5f8e330]
[[メインモード]]
[[アグレッシブモード]]
[[Diffie-Hellman]]
[[IPsec]]
[[VPN]]

[[ネゴシエーション]]
[[XAUTH]]
[[ワンタイムパスワード]]
[[RADIUS]]

IPsec - IKE:ISAKMPメッセージ
http://www.infraexpert.com/study/ipsec8.html

IPsec - IKE:IKEフェーズ1とIKEフェーズ2
http://www.infraexpert.com/study/ipsec9.html

技術解説:IT管理者のためのIPSec講座
http://www.atmarkit.co.jp/fpc/kaisetsu/ipsec/ipsec02.html
>鍵交換に使われるプロトコル「IKE」



#norelated

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS