draft-sheffer-ipsec-failover-03.txt 51 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401
  1. Network Working Group Y. Sheffer
  2. Internet-Draft Check Point
  3. Intended status: Experimental H. Tschofenig
  4. Expires: September 20, 2008 Nokia Siemens Networks
  5. L. Dondeti
  6. V. Narayanan
  7. QUALCOMM, Inc.
  8. March 19, 2008
  9. IPsec Gateway Failover Protocol
  10. draft-sheffer-ipsec-failover-03.txt
  11. Status of this Memo
  12. By submitting this Internet-Draft, each author represents that any
  13. applicable patent or other IPR claims of which he or she is aware
  14. have been or will be disclosed, and any of which he or she becomes
  15. aware will be disclosed, in accordance with Section 6 of BCP 79.
  16. Internet-Drafts are working documents of the Internet Engineering
  17. Task Force (IETF), its areas, and its working groups. Note that
  18. other groups may also distribute working documents as Internet-
  19. Drafts.
  20. Internet-Drafts are draft documents valid for a maximum of six months
  21. and may be updated, replaced, or obsoleted by other documents at any
  22. time. It is inappropriate to use Internet-Drafts as reference
  23. material or to cite them other than as "work in progress."
  24. The list of current Internet-Drafts can be accessed at
  25. http://www.ietf.org/ietf/1id-abstracts.txt.
  26. The list of Internet-Draft Shadow Directories can be accessed at
  27. http://www.ietf.org/shadow.html.
  28. This Internet-Draft will expire on September 20, 2008.
  29. Abstract
  30. The Internet Key Exchange version 2 (IKEv2) protocol has
  31. computational and communication overhead with respect to the number
  32. of round-trips required and cryptographic operations involved. In
  33. remote access situations, the Extensible Authentication Protocol is
  34. used for authentication, which adds several more round trips and
  35. therefore latency.
  36. To re-establish security associations (SA) upon a failure recovery
  37. Sheffer, et al. Expires September 20, 2008 [Page 1]
  38. Internet-Draft IPsec Gateway Failover Protocol March 2008
  39. condition is time consuming, especially when an IPsec peer, such as a
  40. VPN gateway, needs to re-establish a large number of SAs with various
  41. end points. A high number of concurrent sessions might cause
  42. additional problems for an IPsec peer during SA re-establishment.
  43. In many failure cases it would be useful to provide an efficient way
  44. to resume an interrupted IKE/IPsec session. This document proposes
  45. an extension to IKEv2 that allows a client to re-establish an IKE SA
  46. with a gateway in a highly efficient manner, utilizing a previously
  47. established IKE SA.
  48. A client can reconnect to a gateway from which it was disconnected,
  49. or alternatively migrate to another gateway that is associated with
  50. the previous one. The proposed approach conveys IKEv2 state
  51. information, in the form of an encrypted ticket, to a VPN client that
  52. is later presented to the VPN gateway for re-authentication. The
  53. encrypted ticket can only be decrypted by the VPN gateway in order to
  54. restore state for faster session setup.
  55. Sheffer, et al. Expires September 20, 2008 [Page 2]
  56. Internet-Draft IPsec Gateway Failover Protocol March 2008
  57. Table of Contents
  58. 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
  59. 1.1. Goals . . . . . . . . . . . . . . . . . . . . . . . . . . 4
  60. 1.2. Non-Goals . . . . . . . . . . . . . . . . . . . . . . . . 5
  61. 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5
  62. 3. Usage Scenarios . . . . . . . . . . . . . . . . . . . . . . . 6
  63. 3.1. Recovering from a Remote Access Gateway Failover . . . . . 6
  64. 3.2. Recovering from an Application Server Failover . . . . . . 8
  65. 4. Protocol Details . . . . . . . . . . . . . . . . . . . . . . . 9
  66. 4.1. Requesting a Ticket . . . . . . . . . . . . . . . . . . . 9
  67. 4.2. Presenting a Ticket . . . . . . . . . . . . . . . . . . . 10
  68. 4.2.1. Protection of the IKE_SESSION_RESUME Exchange . . . . 12
  69. 4.2.2. Presenting a Ticket: The DoS Case . . . . . . . . . . 12
  70. 4.2.3. Requesting a ticket during resumption . . . . . . . . 13
  71. 4.3. IKE Notifications . . . . . . . . . . . . . . . . . . . . 13
  72. 4.4. TICKET_OPAQUE Notify Payload . . . . . . . . . . . . . . . 14
  73. 4.5. TICKET_GATEWAY_LIST Notify Payload . . . . . . . . . . . . 14
  74. 4.6. Processing Guidelines for IKE SA Establishment . . . . . . 15
  75. 5. The IKE Ticket . . . . . . . . . . . . . . . . . . . . . . . . 16
  76. 5.1. Ticket Contents . . . . . . . . . . . . . . . . . . . . . 16
  77. 5.2. Ticket Format . . . . . . . . . . . . . . . . . . . . . . 17
  78. 5.3. Ticket Identity and Lifecycle . . . . . . . . . . . . . . 17
  79. 5.4. Exchange of Ticket-Protecting Keys . . . . . . . . . . . . 18
  80. 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18
  81. 7. Security Considerations . . . . . . . . . . . . . . . . . . . 18
  82. 7.1. Stolen Tickets . . . . . . . . . . . . . . . . . . . . . . 18
  83. 7.2. Forged Tickets . . . . . . . . . . . . . . . . . . . . . . 19
  84. 7.3. Denial of Service Attacks . . . . . . . . . . . . . . . . 19
  85. 7.4. Ticket Protection Key Management . . . . . . . . . . . . . 19
  86. 7.5. Ticket Lifetime . . . . . . . . . . . . . . . . . . . . . 19
  87. 7.6. Alternate Ticket Formats and Distribution Schemes . . . . 20
  88. 7.7. Identity Privacy, Anonymity, and Unlinkability . . . . . . 20
  89. 7.8. Replay Protection in the IKE_SESSION_RESUME Exchange . . . 20
  90. 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 21
  91. 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 21
  92. 9.1. Normative References . . . . . . . . . . . . . . . . . . . 21
  93. 9.2. Informative References . . . . . . . . . . . . . . . . . . 21
  94. Appendix A. Related Work . . . . . . . . . . . . . . . . . . . . 22
  95. Appendix B. Change Log . . . . . . . . . . . . . . . . . . . . . 22
  96. B.1. -03 . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
  97. B.2. -02 . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
  98. B.3. -01 . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
  99. B.4. -00 . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
  100. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 23
  101. Intellectual Property and Copyright Statements . . . . . . . . . . 25
  102. Sheffer, et al. Expires September 20, 2008 [Page 3]
  103. Internet-Draft IPsec Gateway Failover Protocol March 2008
  104. 1. Introduction
  105. The Internet Key Exchange version 2 (IKEv2) protocol has
  106. computational and communication overhead with respect to the number
  107. of round-trips required and cryptographic operations involved. In
  108. particular the Extensible Authentication Protocol is used for
  109. authentication in remote access cases, which increases latency.
  110. To re-establish security associations (SA) upon a failure recovery
  111. condition is time-consuming, especially when an IPsec peer, such as a
  112. VPN gateway, needs to re-establish a large number of SAs with various
  113. end points. A high number of concurrent sessions might cause
  114. additional problems for an IPsec peer.
  115. In many failure cases it would be useful to provide an efficient way
  116. to resume an interrupted IKE/IPsec session. This document proposes
  117. an extension to IKEv2 that allows a client to re-establish an IKE SA
  118. with a gateway in a highly efficient manner, utilizing a previously
  119. established IKE SA.
  120. A client can reconnect to a gateway from which it was disconnected,
  121. or alternatively migrate to another gateway that is associated with
  122. the previous one. This document proposes to maintain IKEv2 state in
  123. a "ticket", an opaque data structure created and used by a server and
  124. stored by a client, which the client cannot understand or tamper
  125. with. The IKEv2 protocol is extended to allow a client to request
  126. and present a ticket. When two gateways mutually trust each other,
  127. one can accept a ticket generated by the other.
  128. This approach is similar to the one taken by TLS session resumption
  129. [RFC4507] with the required adaptations for IKEv2, e.g., to
  130. accommodate the two-phase protocol structure. We have borrowed
  131. heavily from that specification.
  132. 1.1. Goals
  133. The high-level goal of this extension is to provide an IPsec failover
  134. solution, according to the requirements defined in
  135. [I-D.vidya-ipsec-failover-ps].
  136. Specifically, the proposed extension should allow IPsec sessions to
  137. be recovered from failures in remote access scenarios, in a more
  138. efficient manner than the basic IKE solution. This efficiency is
  139. primarily on the gateway side, since the gateway might have to deal
  140. with many thousands of concurrent requests. We should enable the
  141. following cases:
  142. Sheffer, et al. Expires September 20, 2008 [Page 4]
  143. Internet-Draft IPsec Gateway Failover Protocol March 2008
  144. o Failover from one gateway to another, where the two gateways do
  145. not share state but do have mutual trust. For example, the
  146. gateways may be operated by the same provider and share the same
  147. keying materials to access an encrypted ticket.
  148. o Recovery from an intermittent connectivity, where clients
  149. reconnect into the same gateway. In this case, the gateway would
  150. typically have detected the clients' absence and removed the state
  151. associated with them.
  152. o Recovery from a gateway restart, where clients reconnect into the
  153. same gateway.
  154. The proposed solution should additionally meet the following goals:
  155. o Using only symmetric cryptography to minimize CPU consumption.
  156. o Allowing a gateway to push state to clients.
  157. o Providing cryptographic agility.
  158. o Having no negative impact on IKEv2 security features.
  159. 1.2. Non-Goals
  160. The following are non-goals of this solution:
  161. o Providing load balancing among gateways.
  162. o Specifying how a client detects the need for a failover.
  163. 2. Terminology
  164. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
  165. "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
  166. document are to be interpreted as described in [RFC2119].
  167. This document uses terminology defined in [RFC4301], [RFC4306], and
  168. [RFC4555]. In addition, this document uses the following terms:
  169. Secure domain: A secure domain comprises a set of gateways that are
  170. able to resume an IKEv2 session that may have been established by
  171. any other gateway within the domain. All gateways in the secure
  172. domain are expected to share some secrets, so that they can
  173. generate an IKEv2 ticket, verify the validity of the ticket and
  174. extract the IKEv2 policy and session key material from the ticket.
  175. IKEv2 ticket: An IKEv2 ticket is a data structure that contains all
  176. the necessary information that allows any gateway within the same
  177. secure domain as the gateway that created the ticket to verify the
  178. validity of the ticket and extract IKEv2 policy and session keys
  179. to re-establish an IKEv2 session.
  180. Sheffer, et al. Expires September 20, 2008 [Page 5]
  181. Internet-Draft IPsec Gateway Failover Protocol March 2008
  182. Stateless failover: When the IKEv2 session state is stored at the
  183. client, the IKEv2 responder is "stateless" until the client
  184. restores the SA with one of the gateways within the secure domain;
  185. thus, we refer to SA resumption with SA storage at the client as
  186. stateless session resumption.
  187. Stateful failover: When the infrastructure maintains IKEv2 session
  188. state, we refer to the process of IKEv2 SA re-establishment as
  189. stateful session resumption.
  190. 3. Usage Scenarios
  191. This specification envisions two usage scenarios for efficient IKEv2
  192. and IPsec SA session re-establishment.
  193. The first is similar to the use case specified in Section 1.1.3 of
  194. the IKEv2 specification [RFC4306], where the IPsec tunnel mode is
  195. used to establish a secure channel between a remote access client and
  196. a gateway; the traffic flow may be between the client and entities
  197. beyond the gateway.
  198. The second use case focuses on the usage of transport (or tunnel)
  199. mode to secure the communicate between two end points (e.g., two
  200. servers). The two endpoints have a client-server relationship with
  201. respect to a protocol that runs using the protections afforded by the
  202. IPsec SA.
  203. 3.1. Recovering from a Remote Access Gateway Failover
  204. Sheffer, et al. Expires September 20, 2008 [Page 6]
  205. Internet-Draft IPsec Gateway Failover Protocol March 2008
  206. (a)
  207. +-+-+-+-+-+ +-+-+-+-+-+
  208. ! ! IKEv2/IKEv2-EAP ! ! Protected
  209. ! Remote !<------------------------>! Remote ! Subnet
  210. ! Access ! ! Access !<--- and/or
  211. ! Client !<------------------------>! Gateway ! Internet
  212. ! ! IPsec tunnel ! !
  213. +-+-+-+-+-+ +-+-+-+-+-+
  214. (b)
  215. +-+-+-+-+-+ +-+-+-+-+-+
  216. ! ! IKE_SESSION_RESUME ! !
  217. ! Remote !<------------------------>! New/Old !
  218. ! Access ! ! Gateway !
  219. ! Client !<------------------------>! !
  220. ! ! IPsec tunnel ! !
  221. +-+-+-+-+-+ +-+-+-+-+-+
  222. Figure 1: Remote Access Gateway Failure
  223. In this scenario, an end-host (an entity with a host implementation
  224. of IPsec [RFC4301] ) establishes a tunnel mode IPsec SA with a
  225. gateway in a remote network using IKEv2. The end-host in this
  226. scenario is sometimes referred to as a remote access client. When
  227. the remote gateway fails, all the clients associated with the gateway
  228. either need to re-establish IKEv2 sessions with another gateway
  229. within the same secure domain of the original gateway, or with the
  230. original gateway if the server is back online soon.
  231. The clients may choose to establish IPsec SAs using a full IKEv2
  232. exchange or the IKE_SESSION_RESUME exchange (shown in Figure 1).
  233. In this scenario, the client needs to get an IP address from the
  234. remote network so that traffic can be encapsulated by the remote
  235. access gateway before reaching the client. In the initial exchange,
  236. the gateway may acquire IP addresses from the address pool of a local
  237. DHCP server. The new gateway that a client gets associated may not
  238. receive addresses from the same address pool. Thus, the session
  239. resumption protocol needs to support the assignment of a new IP
  240. address.
  241. The protocol defined in this document supports the re-allocation of
  242. an IP address to the client, if this capability is provided by the
  243. Sheffer, et al. Expires September 20, 2008 [Page 7]
  244. Internet-Draft IPsec Gateway Failover Protocol March 2008
  245. network. For example, if routing tables are modified so that traffic
  246. is rerouted through the new gateway. This capability is implicit in
  247. the use of the IKE Config mechanism, which allows the client to
  248. present its existing IP address and receive the same address back, if
  249. allowed by the gateway.
  250. The protocol defined here supports both stateful and stateless
  251. scenarios. In other words, tickets can be stored wholly on the
  252. client, or the ticket can be stored on the gateway (or in a database
  253. shared between multiple gateways), with the client only presenting a
  254. handle that identifies a particular ticket. In fact these scenarios
  255. are transparent to the protocols, with the only change being the non-
  256. mandatory ticket format.
  257. 3.2. Recovering from an Application Server Failover
  258. (a)
  259. +-+-+-+-+-+ +-+-+-+-+-+
  260. ! App. ! IKEv2/IKEv2-EAP ! App. !
  261. ! Client !<------------------------>! Server !
  262. ! & ! ! & !
  263. ! IPsec !<------------------------>! IPsec !
  264. ! host ! IPsec transport/ ! host !
  265. +-+-+-+-+-+ tunnel mode SA +-+-+-+-+-+
  266. (b)
  267. +-+-+-+-+-+ +-+-+-+-+-+
  268. ! App. ! IKE_SESSION_RESUME ! New !
  269. ! Client !<------------------------>! Server !
  270. ! & ! ! & !
  271. ! IPsec !<------------------------>! IPsec !
  272. ! host ! IPsec transport/ ! host !
  273. +-+-+-+-+-+ tunnel mode SA +-+-+-+-+-+
  274. Figure 2: Application Server Failover
  275. The second usage scenario is as follows: two entities with IPsec host
  276. implementations establish an IPsec transport or tunnel mode SA
  277. between themselves; this is similar to the model described in Section
  278. 1.1.2. of [RFC4306]. At the application level, one of the entities
  279. is always the client and the other is a server. From that view
  280. point, the IKEv2 exchange is always initiated by the client. This
  281. allows the Initiator (the client) to authenticate itself using EAP,
  282. Sheffer, et al. Expires September 20, 2008 [Page 8]
  283. Internet-Draft IPsec Gateway Failover Protocol March 2008
  284. as long as the Responder (or the application server) allows it.
  285. If the application server fails, the client may find other servers
  286. within the same secure domain for service continuity. It may use a
  287. full IKEv2 exchange or the IKE_SESSION_RESUME exchange to re-
  288. establish the IPsec SAs for secure communication required by the
  289. application layer signaling.
  290. The client-server relationship at the application layer ensures that
  291. one of the entities in this usage scenario is unambiguously always
  292. the Initiator and the other the Responder. This role determination
  293. also allows the Initiator to request an address in the Responder's
  294. network using the Configuration Payload mechanism of the IKEv2
  295. protocol. If the client has thus received an address during the
  296. initial IKEv2 exchange, when it associates with a new server upon
  297. failure of the original server, it needs to request an address,
  298. specifying its assigned address. The server may allow the client to
  299. use the original address or if it is not permitted to use that
  300. address, assign a new address.
  301. 4. Protocol Details
  302. This section provides protocol details and contains the normative
  303. parts. This document defines two protocol exchanges, namely
  304. requesting a ticket and presenting a ticket. Section 4.1 describes
  305. the procedure to request a ticket and Section 4.2 illustrates how to
  306. present a ticket.
  307. 4.1. Requesting a Ticket
  308. A client MAY request a ticket in the following exchanges:
  309. o In an IKE_AUTH exchange, as shown in the example message exchange
  310. in Figure 3 below.
  311. o In a CREATE_CHILD_SA exchange, when an IKE SA is rekeyed.
  312. o In an Informational exchange, if the gateway previously replied
  313. with an N(TICKET_ACK) instead of providing a ticket.
  314. o In an Informational exchange, when the ticket lifetime is about to
  315. expire.
  316. o In an IKE_SESSION_RESUME exchange, see Section 4.2.3.
  317. Normally, a client requests a ticket in the third message of an IKEv2
  318. exchange (the first of IKE_AUTH). Figure 3 shows the message
  319. exchange for this typical case.
  320. Sheffer, et al. Expires September 20, 2008 [Page 9]
  321. Internet-Draft IPsec Gateway Failover Protocol March 2008
  322. Initiator Responder
  323. ----------- -----------
  324. HDR, SAi1, KEi, Ni -->
  325. <-- HDR, SAr1, KEr, Nr, [CERTREQ]
  326. HDR, SK {IDi, [CERT,] [CERTREQ,] [IDr,]
  327. AUTH, SAi2, TSi, TSr, N(TICKET_REQUEST)} -->
  328. Figure 3: Example Message Exchange for Requesting a Ticket
  329. The notification payloads are described in Section 4.3. The above is
  330. an example, and IKEv2 allows a number of variants on these messages.
  331. A complete description of IKEv2 can be found in [RFC4718].
  332. When an IKEv2 responder receives a request for a ticket using the
  333. N(TICKET_REQUEST) payload it MUST perform one of the following
  334. operations if it supports the extension defined in this document:
  335. o it creates a ticket and returns it with the N(TICKET_OPAQUE)
  336. payload in a subsequent message towards the IKEv2 initiator. This
  337. is shown in Figure 4.
  338. o it returns an N(TICKET_NACK) payload, if it refuses to grant a
  339. ticket for some reason.
  340. o it returns an N(TICKET_ACK), if it cannot grant a ticket
  341. immediately, e.g., due to packet size limitations. In this case
  342. the client MAY request a ticket later using an Informational
  343. exchange, at any time during the lifetime of the IKE SA.
  344. Provided the IKEv2 exchange was successful, the IKEv2 initiator can
  345. accept the requested ticket. The ticket may be used later with an
  346. IKEv2 responder which supports this extension. Figure 4 shows how
  347. the initiator receives the ticket.
  348. Initiator Responder
  349. ----------- -----------
  350. <-- HDR, SK {IDr, [CERT,] AUTH, SAr2, TSi,
  351. TSr, N(TICKET_OPAQUE) [,N(TICKET_GATEWAY_LIST)]}
  352. Figure 4: Receiving a Ticket
  353. 4.2. Presenting a Ticket
  354. Following a communication failure, a client re-initiates an IKE
  355. exchange to the same gateway or to a different one, and includes a
  356. ticket in the first message. A client MAY initiate a regular (non-
  357. Sheffer, et al. Expires September 20, 2008 [Page 10]
  358. Internet-Draft IPsec Gateway Failover Protocol March 2008
  359. ticket-based) IKEv2 exchange even if it is in possession of a valid
  360. ticket. A client MUST NOT present a ticket after the ticket's
  361. lifetime has expired.
  362. It is up to the client's local policy to decide when the
  363. communication with the IKEv2 responder is seen as interrupted and a
  364. new exchange needs to be initiated and the session resumption
  365. procedure to be initiated.
  366. Tickets are intended for one-time use: a client MUST NOT reuse a
  367. ticket, either with the same or with a different gateway. A gateway
  368. SHOULD reject a reused ticket. Note however that a gateway can elect
  369. not to retain a list of already-used tickets. Potential replay
  370. attacks on such gateways are mitigated by the cookie mechanism
  371. described in Section 4.2.2.
  372. This document specifies a new IKEv2 exchange type called
  373. IKE_SESSION_RESUME whose value is TBA by IANA. This exchange is
  374. somewhat similar to the IKE_AUTH exchange, and results in the
  375. creation of a Child SA. The client SHOULD NOT use this exchange type
  376. unless it knows that the gateway supports it, either through
  377. configuration, by out-of-band means or by using the Gateway List
  378. provision.
  379. Initiator Responder
  380. ----------- -----------
  381. HDR, Ni, N(TICKET_OPAQUE), [N+,]
  382. SK {IDi, [IDr,] SAi2, TSi, TSr [, CP(CFG_REQUEST)]} -->
  383. The exchange type in HDR is set to 'IKE_SESSION_RESUME'.
  384. See Section 4.2.1 for details on computing the protected (SK)
  385. payload.
  386. When the IKEv2 responder receives a ticket using the N(TICKET_OPAQUE)
  387. payload it MUST perform one of the following steps if it supports the
  388. extension defined in this document:
  389. o If it is willing to accept the ticket, it responds as shown in
  390. Figure 5.
  391. o It responds with an unprotected N(TICKET_NACK) notification, if it
  392. rejects the ticket for any reason. In that case, the initiator
  393. should re-initiate a regular IKE exchange. One such case is when
  394. the responder receives a ticket for an IKE SA that has previously
  395. been terminated on the responder itself, which may indicate
  396. inconsistent state between the IKEv2 initiator and the responder.
  397. However, a responder is not required to maintain the state for
  398. Sheffer, et al. Expires September 20, 2008 [Page 11]
  399. Internet-Draft IPsec Gateway Failover Protocol March 2008
  400. terminated sessions.
  401. o When the responder receives a ticket for an IKE SA that is still
  402. active and if the responder accepts it, then the old SAs SHOULD be
  403. silently deleted without sending a DELETE informational exchange.
  404. Initiator Responder
  405. ----------- -----------
  406. <-- HDR, SK {IDr, Nr, SAr2, [TSi, TSr],
  407. [CP(CFG_REPLY)]}
  408. Figure 5: IKEv2 Responder accepts the ticket
  409. Again, the exchange type in HDR is set to 'IKE_SESSION_RESUME'.
  410. The SK payload is protected using the cryptographic parameters
  411. derived from the ticket, see Section 4.2.1 below.
  412. At this point a new IKE SA is created by both parties, see
  413. Section 4.6. This is followed by normal derivation of a child SA,
  414. per Sec. 2.17 of [RFC4306].
  415. 4.2.1. Protection of the IKE_SESSION_RESUME Exchange
  416. The two messages of this exchange are protected by a "subset" IKE SA.
  417. The key material is derived from the ticket, as follows:
  418. {SK_d2 | SK_ai | SK_ar | SK_ei | SK_er} = prf+(SK_d_old, Ni)
  419. where SK_d_old is the SK_d value of the original IKE SA, as retrieved
  420. from the ticket. Ni guarantees freshness of the key material. SK_d2
  421. is used later to derive the new IKE SA, see Section 4.6.
  422. See [RFC4306] for the notation. "prf" is determined from the SA value
  423. in the ticket.
  424. 4.2.2. Presenting a Ticket: The DoS Case
  425. When receiving the first message of the IKE_SESSION_RESUME exchange,
  426. the gateway may decide that it is under a denial-of-service attack.
  427. In such a case, the gateway SHOULD defer the establishment of session
  428. state until it has verified the identity of the client. We use a
  429. variation of the IKEv2 Cookie mechanism, where the cookie is
  430. protected.
  431. In the two messages that follow, the gateway responds that it is
  432. Sheffer, et al. Expires September 20, 2008 [Page 12]
  433. Internet-Draft IPsec Gateway Failover Protocol March 2008
  434. unwilling to resume the session until the client is verified, and the
  435. client resubmits its first message, this time with the cookie:
  436. Initiator Responder
  437. ----------- -----------
  438. <-- HDR, SK{N(COOKIE)}
  439. HDR, Ni, N(TICKET_OPAQUE), [N+,]
  440. SK {N(COOKIE), IDi, [IDr,] SAi2, TSi, TSr [, CP(CFG_REQUEST)]} -->
  441. Assuming the cookie is correct, the gateway now replies normally.
  442. This now becomes a 4-message exchange. The entire exchange is
  443. protected as defined in Section 4.2.1.
  444. See Sec. 2.6 and Sec. 3.10.1 of [RFC4306] for more guidance regarding
  445. the usage and syntax of the cookie. Note that the cookie is
  446. completely independent of the IKEv2 ticket.
  447. 4.2.3. Requesting a ticket during resumption
  448. When resuming a session, a client will typically request a new ticket
  449. immediately, so it is able to resume the session again in the case of
  450. a second failure. Therefore, the N(TICKET_REQUEST), N(TICKET_OPAQUE)
  451. and N(TICKET_GATEWAY_LIST) notifications may be piggybacked as
  452. protected payloads to the IKE_SESSION_RESUME exchange.
  453. The returned ticket (if any) will correspond to the IKE SA created
  454. per the rules described in Section 4.6.
  455. 4.3. IKE Notifications
  456. This document defines a number of notifications. The notification
  457. numbers are TBA by IANA.
  458. +---------------------+--------+-----------------+
  459. | Notification Name | Number | Data |
  460. +---------------------+--------+-----------------+
  461. | TICKET_OPAQUE | TBA1 | See Section 4.4 |
  462. | TICKET_REQUEST | TBA2 | None |
  463. | TICKET_ACK | TBA3 | None |
  464. | TICKET_NACK | TBA4 | None |
  465. | TICKET_GATEWAY_LIST | TBA5 | See Section 4.5 |
  466. +---------------------+--------+-----------------+
  467. Sheffer, et al. Expires September 20, 2008 [Page 13]
  468. Internet-Draft IPsec Gateway Failover Protocol March 2008
  469. 4.4. TICKET_OPAQUE Notify Payload
  470. The data for the TICKET_OPAQUE Notify payload consists of the Notify
  471. message header, a lifetime field and the ticket itself. The four
  472. octet lifetime field contains the number of seconds until the ticket
  473. expires as an unsigned integer. Section 5.2 describes a possible
  474. ticket format, and Section 5.3 offers further guidelines regarding
  475. the ticket's lifetime.
  476. 0 1 2 3
  477. 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  478. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  479. ! Next Payload !C! Reserved ! Payload Length !
  480. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  481. ! Protocol ID ! SPI Size = 0 ! Notify Message Type !
  482. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  483. ! Lifetime !
  484. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  485. ! !
  486. ~ Ticket ~
  487. ! !
  488. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  489. Figure 6: TICKET_OPAQUE Notify Payload
  490. 4.5. TICKET_GATEWAY_LIST Notify Payload
  491. The TICKET_GATEWAY_LIST Notify payload contains the Notify payload
  492. header followed by a sequence of one or more gateway identifiers,
  493. each of the format depicted in Figure 8.
  494. 0 1 2 3
  495. 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  496. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  497. ! Next Payload !C! Reserved ! Payload Length !
  498. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  499. ! Protocol ID ! SPI Size = 0 ! Notify Message Type !
  500. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  501. ! !
  502. ~ Gateway Identifier List ~
  503. ! !
  504. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  505. Figure 7: TICKET_GATEWAY_LIST Notify Payload
  506. Sheffer, et al. Expires September 20, 2008 [Page 14]
  507. Internet-Draft IPsec Gateway Failover Protocol March 2008
  508. 0 1 2 3
  509. 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  510. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  511. ! ID Type ! Reserved ! Length !
  512. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  513. ! !
  514. ~ Identification Data ~
  515. ! !
  516. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  517. Figure 8: Gateway Identifier for One Gateway
  518. ID Type:
  519. The ID Type contains a restricted set of the IKEv2 ID payloads
  520. (see [RFC4306], Section 3.5). Allowed ID types are: ID_IPV4_ADDR,
  521. ID_IPV6_ADDR, ID_FQDN and the various reserved values.
  522. Reserved:
  523. This field must be sent as 0 and must be ignored when received.
  524. Length:
  525. The length field indicates the total size of the Identification
  526. data.
  527. Identification Data:
  528. The Identification Data field is of variable length and depends on
  529. the ID type. The length is not necessarily a multiple of 4.
  530. 4.6. Processing Guidelines for IKE SA Establishment
  531. When a ticket is presented, the gateway parses the ticket to retrieve
  532. the state of the old IKE SA, and the client retrieves this state from
  533. its local store. Both peers now create state for the new IKE SA as
  534. follows:
  535. o The SA value (transforms etc.) is taken directly from the ticket.
  536. o The sequence numbers are reset to 0.
  537. o The IDi value is obtained from the ticket.
  538. o The IDr value is obtained from the new exchange. The gateway MAY
  539. make policy decisions based on the IDr value encoded in the
  540. ticket.
  541. Sheffer, et al. Expires September 20, 2008 [Page 15]
  542. Internet-Draft IPsec Gateway Failover Protocol March 2008
  543. o The SPI values are created anew, similarly to a regular IKE
  544. exchange. SPI values from the ticket SHOULD NOT be reused. This
  545. restriction is to avoid problems caused by collisions with other
  546. SPI values used already by the initiator/responder. The SPI value
  547. should only be reused if collision avoidance can be ensured
  548. through other means.
  549. The cryptographic material is refreshed based on the ticket and the
  550. nonce values, Ni, and Nr, from the current exchange. A new SKEYSEED
  551. value is derived as follows:
  552. SKEYSEED = prf(SK_d2, Ni | Nr)
  553. where SK_d2 was computed earlier (Section 4.2.1).
  554. The keys are derived as follows, unchanged from IKEv2:
  555. {SK_d | SK_ai | SK_ar | SK_ei | SK_er | SK_pi | SK_pr} =
  556. prf+(SKEYSEED, Ni | Nr | SPIi | SPIr)
  557. where SPIi, SPIr are the SPI values created in the new IKE exchange.
  558. See [RFC4306] for the notation. "prf" is determined from the SA value
  559. in the ticket.
  560. 5. The IKE Ticket
  561. This section lists the required contents of the ticket, and
  562. recommends a non-normative format. This is followed by a discussion
  563. of the ticket's lifecycle.
  564. 5.1. Ticket Contents
  565. The ticket MUST encode at least the following state from an IKE SA.
  566. These values MUST be encrypted and authenticated.
  567. o IDi, IDr.
  568. o SPIi, SPIr.
  569. o SAr (the accepted proposal).
  570. o SK_d.
  571. In addition, the ticket MUST encode a protected ticket expiration
  572. value.
  573. Sheffer, et al. Expires September 20, 2008 [Page 16]
  574. Internet-Draft IPsec Gateway Failover Protocol March 2008
  575. 5.2. Ticket Format
  576. This document does not specify a mandatory-to-implement or a
  577. mandatory-to-use ticket format. The following format is RECOMMENDED,
  578. if interoperability between gateways is desired.
  579. struct {
  580. [authenticated] struct {
  581. octet format_version; // 1 for this version of the protocol
  582. octet reserved[3]; // sent as 0, ignored by receiver.
  583. octet key_id[8]; // arbitrary byte string
  584. opaque IV[0..255]; // actual length (possibly 0) depends
  585. // on the encryption algorithm
  586. [encrypted] struct {
  587. opaque IDi, IDr; // the full payloads
  588. octet SPIi[8], SPIr[8];
  589. opaque SA; // the full SAr payload
  590. octet SK_d[0..255]; // actual length depends on SA value
  591. int32 expiration; // an absolute time value, seconds
  592. // since Jan. 1, 1970
  593. } ikev2_state;
  594. } protected_part;
  595. opaque MAC[0..255]; // the length (possibly 0) depends
  596. // on the integrity algorithm
  597. } ticket;
  598. Note that the key defined by "key_id" determines the encryption and
  599. authentication algorithms used for this ticket. Those algorithms are
  600. unrelated to the transforms defined by the SA payload.
  601. The reader is referred to a recent draft
  602. [I-D.rescorla-stateless-tokens] that recommends a similar (but not
  603. identical) ticket format, and discusses related security
  604. considerations in depth.
  605. 5.3. Ticket Identity and Lifecycle
  606. Each ticket is associated with a single IKE SA. In particular, when
  607. an IKE SA is deleted, the client MUST delete its stored ticket.
  608. A ticket is therefore associated with the tuple (IDi, IDr). The
  609. client MAY however use a ticket to approach other gateways that are
  610. willing to accept it. How a client discovers such gateways is
  611. outside the scope of this document.
  612. The lifetime of the ticket carried in the N(TICKET_OPAQUE)
  613. Sheffer, et al. Expires September 20, 2008 [Page 17]
  614. Internet-Draft IPsec Gateway Failover Protocol March 2008
  615. notification should be the minimum of the IKE SA lifetime (per the
  616. gateway's local policy) and its re-authentication time, according to
  617. [RFC4478]. Even if neither of these are enforced by the gateway, a
  618. finite lifetime MUST be specified for the ticket.
  619. 5.4. Exchange of Ticket-Protecting Keys
  620. This document does not define an interoperable mechanism for the
  621. generation and distribution of the keys that protect IKE keys. Such
  622. a mechanism can be developed, based on the GDOI group key exchange
  623. protocol [RFC3547]. There is on-going work to enable the generation
  624. of non-IPsec keys by means of GDOI, e.g. to provide RSVP router
  625. groups with a single key [I-D.weis-gdoi-for-rsvp]. This work can be
  626. generalized for our purposes. We note that there are no significant
  627. performance requirements on such a protocol, as key rollover can be
  628. at a daily or even more leisurely rate.
  629. 6. IANA Considerations
  630. This document requires a number of IKEv2 notification status types in
  631. Section 4.3, to be registered by IANA. The corresponding registry
  632. was established by IANA.
  633. The document defines a new IKEv2 exchange in Section 4.2. The
  634. corresponding registry was established by IANA.
  635. 7. Security Considerations
  636. This section addresses security issues related to the usage of a
  637. ticket.
  638. 7.1. Stolen Tickets
  639. An eavesdropper or man-in-the-middle may try to obtain a ticket and
  640. use it to establish a session with the IKEv2 responder. This can
  641. happen in different ways: by eavesdropping on the initial
  642. communication and copying the ticket when it is granted and before it
  643. is used, or by listening in on a client's use of the ticket to resume
  644. a session. However, since the ticket's contents is encrypted and the
  645. attacker does not know the corresponding secret key (specifically,
  646. SK_d), a stolen ticket cannot be used by an attacker to resume a
  647. session. An IKEv2 responder MUST use strong encryption and integrity
  648. protection of the ticket to prevent an attacker from obtaining the
  649. ticket's contents, e.g., by using a brute force attack.
  650. Sheffer, et al. Expires September 20, 2008 [Page 18]
  651. Internet-Draft IPsec Gateway Failover Protocol March 2008
  652. 7.2. Forged Tickets
  653. A malicious user could forge or alter a ticket in order to resume a
  654. session, to extend its lifetime, to impersonate as another user, or
  655. to gain additional privileges. This attack is not possible if the
  656. ticket is protected using a strong integrity protection algorithm.
  657. 7.3. Denial of Service Attacks
  658. The key_id field defined in the recommended ticket format helps the
  659. server efficiently reject tickets that it did not issue. However, an
  660. adversary could generate and send a large number of tickets to a
  661. gateway for verification. To minimize the possibility of such denial
  662. of service, ticket verification should be lightweight (e.g., using
  663. efficient symmetric key cryptographic algorithms).
  664. 7.4. Ticket Protection Key Management
  665. A full description of the management of the keys used to protect the
  666. ticket is beyond the scope of this document. A list of RECOMMENDED
  667. practices is given below.
  668. o The keys should be generated securely following the randomness
  669. recommendations in [RFC4086].
  670. o The keys and cryptographic protection algorithms should be at
  671. least 128 bits in strength.
  672. o The keys should not be used for any other purpose than generating
  673. and verifying tickets.
  674. o The keys should be changed regularly.
  675. o The keys should be changed if the ticket format or cryptographic
  676. protection algorithms change.
  677. 7.5. Ticket Lifetime
  678. An IKEv2 responder controls the lifetime of a ticket, based on the
  679. operational and security requirements of the environment in which it
  680. is deployed. The responder provides information about the ticket
  681. lifetime to the IKEv2 initiator, allowing it to manage its tickets.
  682. An IKEv2 client may present a ticket in its possession to a gateway,
  683. even if the IKE SA associated with this ticket had previously been
  684. terminated by another gateway (the gateway that originally provided
  685. the ticket). Where such usage is against the local security policy,
  686. an Invalid Ticket List (ITL) may be used, see
  687. [I-D.rescorla-stateless-tokens]. Management of such lists is outside
  688. the scope of the current document. Note that a policy that requires
  689. tickets to have shorter lifetimes (e.g., 1 hour) significantly
  690. mitigates this risk.
  691. Sheffer, et al. Expires September 20, 2008 [Page 19]
  692. Internet-Draft IPsec Gateway Failover Protocol March 2008
  693. 7.6. Alternate Ticket Formats and Distribution Schemes
  694. If the ticket format or distribution scheme defined in this document
  695. is not used, then great care must be taken in analyzing the security
  696. of the solution. In particular, if confidential information, such as
  697. a secret key, is transferred to the client, it MUST be done using
  698. secure communication to prevent attackers from obtaining or modifying
  699. the key. Also, the ticket MUST have its integrity and
  700. confidentiality protected with strong cryptographic techniques to
  701. prevent a breach in the security of the system.
  702. 7.7. Identity Privacy, Anonymity, and Unlinkability
  703. This document mandates that the content of the ticket MUST be
  704. encrypted in order to avoid leakage of information, such as the
  705. identities of an IKEv2 initiator and a responder. Thus, it prevents
  706. the disclosure of potentially sensitive information carried within
  707. the ticket.
  708. When an IKEv2 initiator presents the ticket as part of the
  709. IKE_SESSION_RESUME exchange, confidentiality is not provided for the
  710. exchange. Although the ticket itself is encrypted there might still
  711. be a possibility for an on-path adversary to observe multiple
  712. exchange handshakes where the same ticket is used and therefore to
  713. conclude that they belong to the same communication end points.
  714. Administrators that use the ticket mechanism described in this
  715. document should be aware that unlinkability may not be provided by
  716. this mechanism. Note, however, that IKEv2 does not provide active
  717. user identity confidentiality for the IKEv2 initiator either.
  718. 7.8. Replay Protection in the IKE_SESSION_RESUME Exchange
  719. A major design goal of this protocol extension has been the two-
  720. message exchange for session resumption. There is a tradeoff between
  721. this abbreviated exchange and replay protection. It is RECOMMENDED
  722. that the gateway should cache tickets, and reject replayed ones.
  723. However some gateways may not do that in order to reduce state size.
  724. In addition, an adversary may replay a ticket last presented to
  725. gateway A, into gateway B. Our cookie-based mechanism (Section 4.2.2)
  726. mitigates both scenarios by ensuring that the client presenting the
  727. ticket is indeed its "owner": the client can be required by the
  728. gateway to prove that it knows the ticket's secret, before any state
  729. is committed on the gateway. Note that this is a stronger guarantee
  730. than the regular IKE cookie mechanism, which only proves IP return
  731. routability of the client. This is enabled by including the cookie
  732. in the protected portion of the message.
  733. For performance reasons, the cookie mechanism is optional, and
  734. Sheffer, et al. Expires September 20, 2008 [Page 20]
  735. Internet-Draft IPsec Gateway Failover Protocol March 2008
  736. invoked by the gateway only when it suspects that it is the subject
  737. of a denial-of-service attack.
  738. In any case, a ticket replayed by an adversary only causes partial
  739. IKE state to be created on the gateway. The IKE exchange cannot be
  740. completed and an IKE SA cannot be created unless the client knows the
  741. ticket's secret values.
  742. 8. Acknowledgements
  743. We would like to thank Paul Hoffman, Pasi Eronen, Florian Tegeler,
  744. Yoav Nir and Tero Kivinen for their many helpful comments.
  745. 9. References
  746. 9.1. Normative References
  747. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
  748. Requirement Levels", BCP 14, RFC 2119, March 1997.
  749. [RFC4306] Kaufman, C., "Internet Key Exchange (IKEv2) Protocol",
  750. RFC 4306, December 2005.
  751. 9.2. Informative References
  752. [I-D.friedman-ike-short-term-certs]
  753. Friedman, A., "Short-Term Certificates",
  754. draft-friedman-ike-short-term-certs-02 (work in progress),
  755. June 2007.
  756. [I-D.rescorla-stateless-tokens]
  757. Rescorla, E., "How to Implement Secure (Mostly) Stateless
  758. Tokens", draft-rescorla-stateless-tokens-01 (work in
  759. progress), March 2007.
  760. [I-D.vidya-ipsec-failover-ps]
  761. Narayanan, V., "IPsec Gateway Failover and Redundancy -
  762. Problem Statement and Goals",
  763. draft-vidya-ipsec-failover-ps-02 (work in progress),
  764. December 2007.
  765. [I-D.weis-gdoi-for-rsvp]
  766. Weis, B., "Group Domain of Interpretation (GDOI) support
  767. for RSVP", draft-weis-gdoi-for-rsvp-01 (work in progress),
  768. February 2008.
  769. Sheffer, et al. Expires September 20, 2008 [Page 21]
  770. Internet-Draft IPsec Gateway Failover Protocol March 2008
  771. [RFC3547] Baugher, M., Weis, B., Hardjono, T., and H. Harney, "The
  772. Group Domain of Interpretation", RFC 3547, July 2003.
  773. [RFC4086] Eastlake, D., Schiller, J., and S. Crocker, "Randomness
  774. Requirements for Security", BCP 106, RFC 4086, June 2005.
  775. [RFC4301] Kent, S. and K. Seo, "Security Architecture for the
  776. Internet Protocol", RFC 4301, December 2005.
  777. [RFC4478] Nir, Y., "Repeated Authentication in Internet Key Exchange
  778. (IKEv2) Protocol", RFC 4478, April 2006.
  779. [RFC4507] Salowey, J., Zhou, H., Eronen, P., and H. Tschofenig,
  780. "Transport Layer Security (TLS) Session Resumption without
  781. Server-Side State", RFC 4507, May 2006.
  782. [RFC4555] Eronen, P., "IKEv2 Mobility and Multihoming Protocol
  783. (MOBIKE)", RFC 4555, June 2006.
  784. [RFC4718] Eronen, P. and P. Hoffman, "IKEv2 Clarifications and
  785. Implementation Guidelines", RFC 4718, October 2006.
  786. Appendix A. Related Work
  787. [I-D.friedman-ike-short-term-certs] is on-going work that discusses
  788. the use of short-term certificates for client re-authentication. It
  789. is similar to the ticket approach described in this document in that
  790. they both require enhancements to IKEv2 to allow information request,
  791. e.g., for a certificate or a ticket. However, the changes required
  792. by the former are fewer since an obtained certificate is valid for
  793. any IKE responder that is able to verify them. On the other hand,
  794. short-term certificates, while eliminating the usability issues of
  795. user re-authentication, do not reduce the amount of effort performed
  796. by the gateway in failover situations.
  797. Appendix B. Change Log
  798. B.1. -03
  799. Removed counter mechanism. Added an optional anti-DoS mechanism,
  800. based on IKEv2 cookies (removed previous discussion of cookies).
  801. Clarified that gateways may support reallocation of same IP address,
  802. if provided by network. Proposed a solution outline to the problem
  803. of key exchange for the keys that protect tickets. Added fields to
  804. the ticket to enable interoperability. Removed incorrect MOBIKE
  805. notification.
  806. Sheffer, et al. Expires September 20, 2008 [Page 22]
  807. Internet-Draft IPsec Gateway Failover Protocol March 2008
  808. B.2. -02
  809. Clarifications on generation of SPI values, on the ticket's lifetime
  810. and on the integrity protection of the anti-replay counter.
  811. Eliminated redundant SPIs from the notification payloads.
  812. B.3. -01
  813. Editorial review. Removed 24-hour limitation on ticket lifetime,
  814. lifetime is up to local policy.
  815. B.4. -00
  816. Initial version. This draft is a selective merge of
  817. draft-sheffer-ike-session-resumption-00 and
  818. draft-dondeti-ipsec-failover-sol-00.
  819. Authors' Addresses
  820. Yaron Sheffer
  821. Check Point Software Technologies Ltd.
  822. 5 Hasolelim St.
  823. Tel Aviv 67897
  824. Israel
  825. Email: yaronf@checkpoint.com
  826. Hannes Tschofenig
  827. Nokia Siemens Networks
  828. Otto-Hahn-Ring 6
  829. Munich, Bavaria 81739
  830. Germany
  831. Email: Hannes.Tschofenig@nsn.com
  832. URI: http://www.tschofenig.priv.at
  833. Lakshminath Dondeti
  834. QUALCOMM, Inc.
  835. 5775 Morehouse Dr
  836. San Diego, CA
  837. USA
  838. Phone: +1 858-845-1267
  839. Email: ldondeti@qualcomm.com
  840. Sheffer, et al. Expires September 20, 2008 [Page 23]
  841. Internet-Draft IPsec Gateway Failover Protocol March 2008
  842. Vidya Narayanan
  843. QUALCOMM, Inc.
  844. 5775 Morehouse Dr
  845. San Diego, CA
  846. USA
  847. Phone: +1 858-845-2483
  848. Email: vidyan@qualcomm.com
  849. Sheffer, et al. Expires September 20, 2008 [Page 24]
  850. Internet-Draft IPsec Gateway Failover Protocol March 2008
  851. Full Copyright Statement
  852. Copyright (C) The IETF Trust (2008).
  853. This document is subject to the rights, licenses and restrictions
  854. contained in BCP 78, and except as set forth therein, the authors
  855. retain all their rights.
  856. This document and the information contained herein are provided on an
  857. "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
  858. OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
  859. THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
  860. OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
  861. THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
  862. WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
  863. Intellectual Property
  864. The IETF takes no position regarding the validity or scope of any
  865. Intellectual Property Rights or other rights that might be claimed to
  866. pertain to the implementation or use of the technology described in
  867. this document or the extent to which any license under such rights
  868. might or might not be available; nor does it represent that it has
  869. made any independent effort to identify any such rights. Information
  870. on the procedures with respect to rights in RFC documents can be
  871. found in BCP 78 and BCP 79.
  872. Copies of IPR disclosures made to the IETF Secretariat and any
  873. assurances of licenses to be made available, or the result of an
  874. attempt made to obtain a general license or permission for the use of
  875. such proprietary rights by implementers or users of this
  876. specification can be obtained from the IETF on-line IPR repository at
  877. http://www.ietf.org/ipr.
  878. The IETF invites any interested party to bring to its attention any
  879. copyrights, patents or patent applications, or other proprietary
  880. rights that may cover technology that may be required to implement
  881. this standard. Please address the information to the IETF at
  882. ietf-ipr@ietf.org.
  883. Sheffer, et al. Expires September 20, 2008 [Page 25]