2008/08/22

Re-direct Mechanism for IKEv2

IKEv2にはcomputational/communicationオーバヘッドがある
(cryptographic operationが必要かつ何度もメッセージのやり取りする)。
リモートアクセスの場合、EAPを認証に使ったときにはさらにラウンドトリップが増え、
遅延が発生する。

このためfailureリカバリにおいてSAを再確立する場合、時間がかかる。
特にIPsecピア(例、VPN GW)はさまざまなエンドポイントと再確立する必要がある。


多くのfailureケースでは中断したIKE/IPsecセッションをレジュームするための
効率的な方法を提供することは利用価値が高い。

この文書では、IKE SAをレジュームする方法を述べている。

クライアントが再接続もしくは他のGWから移行してくるときに以前のIKEv2 state情報を
運ぶ(暗号化されたチケットの中)。
暗号化されたチケットはVPN GWのみが復号可能。
このチケットはGWで作成され、クライアントでは復号できない。
この方法はTLSのsession resumption(RFC4507)から借りてきた。

他のGWへfailoverする場合にもつかえる。(互いに信頼してチケットの鍵を共有している場合)。

ゴール:
symmetric cryptoのみでCPUの負荷を最小に
GWがクライアントにステートをプッシュできる
IKEv2のセキュリティにネガティブインパクトを与えない。

ノンゴール:
ロードバランス
クライアントがfailoverのdetectする方法

ユースケース:
rfc4306 1.1.3 ipsec tunnel vpn gw/client
transport c/s

VPNシナリオ(tunnel)

VPN GW: fail
client recconect the GW or another GW

クライアントは通常のIKEv2 exchangeを実施するかIKE_SESSION_RESUME exchangeを実施。
再接続の場合のアドレス再割り当てはDHCP市か述べていないけど、IPV6の時も考えてる?

ステートフル・ステートレス
チケットはクライアントで保管
チケットはGW同士で保管


C/Sシナリオ(transport/tunnel)

クライアントは通常のIKEv2 exchangeを実施するかIKE_SESSION_RESUME exchangeを実施。
この場合は必ずinitiatorとresponderが固定していること。

クライアントは以下の時にチケットをリクエスト

IKE_AUTH exchange (N(TICKET_REQUEST))
CREATE_CHILD_SA exchange (rekey)
informational exchange (
- GW reply w/ N(TICKET_ACK)
- ticket lifetime is about to expire
IKE_SESSION_RESUME exchange


IKE_AUTH
...N(TICKET_REQUEXT) ->
<- ...N(TICKET_OPAQUE) create a ticket  
  or      ...N(TICKET_NACK) refuse  
  or      ...N(TICKET_ACK) cannot grant a ticket immediately   
  eg, packet size limitation   
  ticket will be sent lately by informational exchange   
  durint the lifetime of IKE SA 

チケットは一回のみ有効、クライアントはリユースしちゃだめ。
サーバは拒否すべきだけど、受け入れてもいい。
その場合はリプライアタックの危険性があるよ。 
IKE_SESSION_RESUMEは新しく導入。
IKE_AUTHとにてCHILD SAを作成。 
DoSを避けるためにクッキー。 
2度目のfailureに備えてpiggyback 
N(): TICKET_OPAQUE TICKET_REQUEST TICKET_ACK TICKET_NACK TICKET_GQTEWAY_LIST  
チケットのidentitiy (IDi, IDr) lifetimeはN(TICKET_OPAWUE)に記述
チケットの鍵には定義していない。

0 件のコメント: