1
MOBIKE プロトコルの設計 に関する検討
渡邊研究室
063432019
束 長俊2006/05/11
本資料について
本資料は下記文献を基にして作成されたものです。
この文書の内容の正確さは保障できないため、正 確な知識や情報を求める方は原文を参照してくださ い
著者:
T. Kivinen
,H. Tschofenig
文献名:
Design of the MOBIKE Protocol
<draft-ietf-mobike-design-02.txt>
種類:
Internet Draft
発表日:
March 3, 2006
3
流れ
z はじめに
z シナリオ
z
MOBIKE
の範囲z プロトコル設計に関する考慮事項
z アドレスの選択
z
NAT Traversal
z
SA
変化の範囲z ゼロアドレスセットの機能
z 往復経路検査
z プロトコルの細部
z セキュリティに関する考慮事項
はじめに(1)
MOBKIE とは
z
MOBIKE(IKEv2 Mobility
とMultihoming)
:インター ネット鍵交換プロトコルバージョン2(IKEv2)
の拡張z
IKEv2
を拡張することにより,1端末が複数IP
アドレ スを持ち,移動やマルチホーム時においてIP
アドレ スの変更が伴うリンク切替えが起こる場合に,暗号 化鍵や認証鍵の再配布(リキー)や再認証を行うこ となくSecurity Association
(SA
)を継続して利用す ることが可能な技術5
はじめに( 2 )
Mobile IPv6 と異なるところ
z
Mobile IPv6
技術は両方のエンドポイントの移動 を許容するz
MOBIKE
技術は片方のエンドポイントだけが移 動するケースで利用される技術となるz 例: 遠隔地からの固定したゲートウェイへリモートア クセスするようなケースで
MOBIKE
技術が適用される用語
z
Peer
z
Available address
z
Locally operational address
z
Operational address pair
z
Path
z
Current path
z
Preferred address
z
Peer address set
z
Bidirectional address pair
z
Unidirectional address pair
7
シナリオ
z
MOBIKE
プロトコルのために3
つの典型的な 使用シナリオz モビリティ シナリオ
Mobility Scenario
z マルチホーミング シナリオ
Multihoming Scenario
z マルチホーム ラップトップ シナリオ
Multihomed Laptop Scenario
モビリティ シナリオ
z このシナリオで
MOBIKE
の目標はMNとGW
が、既存の
SAs
を使用し続けて、新しいIKE SA
を セットアップするのを避けるのを可能にするz
break-before-make
シナリオにおいて、古いIP
アドレス に到着することができなかったあと 、MN
が新しいIP
ア ドレスを得るz
make-before-break
シナリオでは、MN
は特定の期間 の間、古いIP
アドレスと新しいIP
アドレス両方で届くz
MOBIKE
は、上記のシナリオの両方ともで働かなければならない
9
モビリティ シナリオの図
MN (mobile node)
OAR ("old" access router) NAR (new access router)
Figure 1: Mobility Scenario
マルチホーミング シナリオ
z
MOBIKE
ペアは、複数のインターフェース(複数のIP
アドレス)を備えている。ペア
A
は2つのIP
アドレス、IP_A1
とIP_A2
で2
枚のインターフェースカードを持っている。そして、ペアB
は2つのIP
アドレス、IP_B1
とIP_B2
を持つz 各々のペアは、その
IP
アドレスのうちの1
つをpreferred address
として選ぶ。z いろいろな理由(例えばハードウェアまたはネットワークリン ク失敗)は、
1
つのインターフェースからもう一つまで変わるこ とをペアに要求するかもしれないz
MOBIKE
が複数のIP
アドレスの間のロードバランス(
load balancing
)を支持しない。 即ち、各々のペアは所 定の時間でavailable address pairs
のうちのひとつだけ を使用する11
マルチホーミング シナリオの図
Figure 2: Multihoming Scenario
マルチホーム ラップトップ シナリオ
z ラップトップは、複数のインタフェースカードを持っていて、
ネットワークに接続する方法がいくつか持っている。
z 例えば、固定イーサネットカード、WLANインタフェース、GPRS アダプター、ブルートゥースインタフェースまたはUSBハードウェ ア
z どのインターフェースがネットワークに接続するかについて決定 するポリシーはMOBIKEプロトコルの範囲外である
z しかしながら、ラップトップがネットワークへの接続のポ イントが変わるのに従って、 ラップトップにアクセスされ ることできる
IP
アドレスセットはまた変わる13
共通点
z 三つのシナリオの全てに、
IP
アドレスがインタフェースの切り換えや移動のために変わるとして も、
IKE
v2の中のペイロード設定で得られたIP
ア ドレスは影響を受けないままで残っているz
IKEv2
ペイロード設定を通して得られたIP
アドレ スはIPsec
トンネルの内側のIP
アドレスの設定を 許すz このように、アプリケーションはどんな変化でも 見つけないかもしれない
MOBIKE
の範囲(1)z モビリティとマルチホームを実現するのは、多く の異なるコンポーネントが一緒に動くことを要求 する
z 例えば、異なる層、異なるモビリティメカニズムと
IPsec/IKE
の間で調和して動く ことz それらの面の大部分は
MOBIKE
の範囲を超えているz
MOBIKE
は、2つのペアが相互接続に必要なIKEv2
レベルで同意するために必要とすることだけに集中する
z トンネルモードに集中する
15
MOBIKE
の範囲(2)z
MOBIKE
プロトコルは以下の操作ができるz 片方のペアに
peer address set
を知らせるz 片方のペアに
preferred address
を知らせるz 接続性をテストして、停止期間状況を検出 する
z
preferred address
を変えるz
peer address set
を変えるz
NAT
デバイスに対処するMOBIKE の例
Initialize
Node A
Node B
z
Node A and Node B have two interfaces.
z
Local configuration at the MOBIKE daemon
indicates that both addresses may be used (=peer
address set)
17
Starting the exchange
Node A
Node B Initiator
Responder IKEv2 Exchange
z
Node A discovers node B somehow.
z
Initial message exchange with IKEv2 already performs connectivity test.
z
Node B returns message where it came from!
Node A switches interface
Node A
Node B Initiator
Responder
Peer Address Set (A1) Preferred Address (A2)
z
MOBIKE messages should use A2 instead of A1 as preferred address.
z
Node A needs to tell Node B that the preferred
address has changed.
19
Interface goes down (A2) Node A detects it
Node A
Node B Initiator
Responder
Peer Address Set (A1) Preferred Address (A2)
B1 A1
z
MOBIKE messages should use A1 instead of A2 as preferred address
z
Break-before-make scenario
Interface goes down (B1) Node B detects it
Node A
Node B
z
Node A should address MOBIKE messages to B2 instead of B1
Initiator
Responder
preferred address to B2 Peer Address Set (B1)
B2 A1
B1
21
プロトコル設計に関する考慮事項 アドレスの選択
z MOBIKEプロトコルのコアの一つはIPsecパケットを送るためのアドレスの選 択
z 接続性
z MOBIKEは、双方向性アドレスペアだけに対処する
z IPv4とIPv6アドレスを同じIPヘッダに入れるのは働いていない
z 接続性検査
z MOBIKEペアが返事を受けるならば、働く(双方向性の)アドレスペアの存在が確 かである。
z MOBIKEペアが複数の転送の後に返事を見ないならば、テストされたアドレスペ アが壊れていると仮定するかもしれない
z 接続失敗が混雑で引き起こされるかもしれないので、接続性テストは、混雑問題 を考慮しなければならない
z 意思決定
z MOBIKEプロトコルを設計することにおける主な問題の1つは、失敗が検出される とき、誰がどのように状況を修理するかという決定すること。
z 意思決定における対称 vs. 非対称
Connectivity Tests
Node A
Node B Initiator
Responder
Continued connectivity test
Still ok!
NAT
z
Purpose of connectivity test:
z
Determine whether a given address pair offers bi- directional connectivity
z
IKEv2 provides support via the Dead Peer
23
NAT Traversal (1) --- 背景と制約
z NAT TraversalはNATを越えて端末間 P2P 接続を実現する技術
z MOBIKEのもう一つのコアは、異なるNATsとNAPTsの処理
z IKEv2では、IKEv2ペイロードの中にトンネルヘッダーIPアドレスを送 りない、このように、片側がセルフでアドレス修理する必要はない
z IKEパケットの外側のIPヘッダーからトンネルヘッダーIPアドレスを取 る、その結果、NATは既にそれらを処理する
z NAT検出ペイロードは、IPヘッダーのアドレスが経路に沿ったNATによっ て変更されたかどうか決定するのに使用される。
z NATを検出するのは、IPsec ESPパケットのUDPカプセル化に要求 する
z MOBIKEプロトコルは、MOBIKEとNAT-Tがどのように一緒に使用される かを定義する必要がある
z NAT-Tサポートはオプションである
NAT Traversal (2) --- 基本的な制限
z
MOBIKE
の中で実行することができない若干の ケースがあるz 例えば:対称形の
NAT
の外のパーティーはそのアドレ スをもう片方のペアが知りない何かに変更する(
古い アドレスは働くのを中止した)
z NATの後ろのパーティーが新しいIPアドレスを知らないの で、NAT状態を造ることができない
z
IKEv2
の外のランデブーメカニズムを使って解決が可能
25
NAT Traversal (3)
Moving to behind a NAT and back
z
MOBIKE
は最初にNAT
の後ろにいないペアがNAT
の後ろに移ることができるメカニズムを提供するz 同様に、
MOBIKE
はNATed
経路が非NATed経路 に変わるかを検出するためにメカニズムを提供するz
NAT-T
を可能にすると、いくつかのものを含む:z
1
つは、ESP パケットのUDP
カプセル化を可能に することz もう一つは、
IKE SA
ポートを500
から4500
まで変 えることNAT Traversal (4) ---NAT Prevention
z
MOBIKE
によって造られた1
つの新機能がNAT
防止z すなわち、ペアの間の
NAT
を検出するなら、私たちは そのアドレスペアが使用されるのを許さないz ノード(例えば、IPv6やsite-to-siteの固定VPN)の間に NATがない場合におけるIPアドレスを保護するに用いら れることができる
z ヘッダーのアドレスを変更する経路上の攻撃者のどんな 可能性でも避ける
27
SA 変化の範囲(1)
z
preferred address
を変えると、IPsec SA
データベース のエントリーは影響されるz 基本的な問題は、新しいアドレスペア
(MOBIKE
signaling traffic
と同じアドレスペア)
を使用するためにど のようにIPsec SAs
を変えるかということz 1つのオプションは、IKE SAアドレスを変えるとき、それと共に すべての関連するIPsec SAsを自動的に新しいアドレスペアに 移動する
z もう一つのオプションは、別々にIPsec SAsを移動するために 別々の交換をする
SA 変化の範囲(2)
z
IPsec S
As
が別々に更新されるならば、帯域幅 を保持するためにNotify
ペイロードより効率的な フォーマットを必要とするz 他方、私たちが
IKE SA
アップデートをIPsec SA
アップデートに結ぶとしても、このシナリオのため に別々のIKE SAs
を作成することができるz ワーキンググループは、
IKE SA
アドレスペアが 変化するとき、すべてのIPsec SAs
を移動すると 決めた29
ゼロアドレスセットの機能
z 役に立つ特徴のうちの
1
つは、接続を断つと発表 することz 例えば、ラップトップはスタンバイモードになる場合
z この場合、それはzero new addressでアドレス通知を送 ることができる (有効なアドレスもうないことを意味する)
z 技術的な観点から、これは次の
2
つの特徴を提 供するz
IPsec
データトラフィックを伝える必要がないz
MOBIKE
シグナルメッセージは無視される往復経路検査(1)
Return Routability Check
z
Preferred address
を変えて、次のコミュニケーションに それを使用するのは認可決定に関連している---
ペアは このアドレスを使用することができるか?
z
2
つのメカニズムが提案された:z ペアが使用しているアドレスは証明書の一部である
z リモートペアはそのペアのSAD(Security Association
Database)でアドレスを更新する前に往復経路確認を実行す る
z 認可決定を取らないで、悪意のペアは第三者かブラック ホールにトラフィックをリダイレクトすることができる
z 往復経路確認の目標
:
第三者の爆撃攻撃から守る31
往復経路検査(2)
z 往復経路検査の基本形式はDPD(
dead-peer detection
)検出と類似z
IKEv2 NAT-T
メカニズムは往復経路検査を実 行しないz テストされるアドレスが
MOBIKE
ペイロードの中 に運ばれるならば、敵はパケットを送り届けるこ とができない。このように、第三者爆破は防がれ る往復経路検査失敗
往復経路
検査が失敗するならz 往復経路検査を送るために
IKEv2
INFORMATIONAL
交換を使用するならば、我々は
IKE SA
を取りこわす必要がある。z 他方、攻撃がもう一方の端までにあるならば、
往 復経路
検査は永久に失敗することだけである、このように、
IKE SA
を取りこわすことはその場合 適当な行動である33
プロトコルの細部(1)
MOBIKE 向けサポートを示す
z
MOBIKE
が機能するために、両方のペアはIKEv2
のMOBIKE
拡張子を実行しなければなら ない。z ペアがメッセージがもう片方のペアに理解される かどうかに関してフィードバックの受領を確保す る三つの方法
z
IKEv2
メッセージ発信を使用するz 初期の
IKEv2
交換の間に交換されるVendor ID
ペイ ロードを使用するz
Notify
ペイロードを使用するプロトコルの細部(2)
経路テストとウインドーサイズ
z
IKEv2
には送信されるメッセージのウインドウが あって、送付者がそのウインドウに違反すること ができないz 即ち、ウインドウがいっぱいならば 、次に送付者はパ ケットを送ることができない
z
IKEv2
には、1
のウインドサイズがある=
新しい 交換を始める前に、進行中の交換を終える必要 がある35
プロトコルの細部(3)
アドレスセットの更新
z
Initiator
は応答者に使用されたすべてのアドレスを知る ことが必要であるz 応答者は
initiator
に知られなかったアドレス更新を通知 するのが必要であるz
Working group
は両端が通信相手に彼らのアドレスの 完全なリストを送るプロトコルフォーマットを使うことに決 めたz
NAT-T
を支持するために、受けられたパケットのIP-
アド レスはペアの1
つのアドレスであるとみなされるセキュリティに関する考慮事項
z すべてのパケットが
IKEv2
によって既に認証され るとき、どんな攻撃者もパケットのコンテンツを変 更するだろうというリスクが全くないz 攻撃者はアドレスが働いていないペアを混乱さ せるための努力における
ICMP
エラーメッセージ をだますことができる。最悪の場合で、これは サービス妨害やnon-preferred address
の使用 を引き起こすz
MOBIKE
プロトコルで注意される必要がある1
種 類の攻撃は、爆破攻撃タイプである。37