rfc4806.txt 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619
  1. Network Working Group M. Myers
  2. Request for Comments: 4806 TraceRoute Security LLC
  3. Category: Standards Track H. Tschofenig
  4. Siemens Networks GmbH & Co KG
  5. February 2007
  6. Online Certificate Status Protocol (OCSP) Extensions to IKEv2
  7. Status of This Memo
  8. This document specifies an Internet standards track protocol for the
  9. Internet community, and requests discussion and suggestions for
  10. improvements. Please refer to the current edition of the "Internet
  11. Official Protocol Standards" (STD 1) for the standardization state
  12. and status of this protocol. Distribution of this memo is unlimited.
  13. Copyright Notice
  14. Copyright (C) The IETF Trust (2006).
  15. Abstract
  16. While the Internet Key Exchange Protocol version 2 (IKEv2) supports
  17. public key based authentication, the corresponding use of in-band
  18. Certificate Revocation Lists (CRL) is problematic due to unbounded
  19. CRL size. The size of an Online Certificate Status Protocol (OCSP)
  20. response is however well-bounded and small. This document defines
  21. the "OCSP Content" extension to IKEv2. A CERTREQ payload with "OCSP
  22. Content" identifies zero or more trusted OCSP responders and is a
  23. request for inclusion of an OCSP response in the IKEv2 handshake. A
  24. cooperative recipient of such a request responds with a CERT payload
  25. containing the appropriate OCSP response. This content is
  26. recognizable via the same "OCSP Content" identifier.
  27. When certificates are used with IKEv2, the communicating peers need a
  28. mechanism to determine the revocation status of the peer's
  29. certificate. OCSP is one such mechanism. This document applies when
  30. OCSP is desired and security policy prevents one of the IKEv2 peers
  31. from accessing the relevant OCSP responder directly. Firewalls are
  32. often deployed in a manner that prevents such access by IKEv2 peers
  33. outside of an enterprise network.
  34. Myers & Tschofenig Standards Track [Page 1]
  35. RFC 4806 OCSP Extensions to IKEv2 February 2007
  36. Table of Contents
  37. 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
  38. 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
  39. 3. Extension Definition . . . . . . . . . . . . . . . . . . . . . 4
  40. 3.1. OCSP Request . . . . . . . . . . . . . . . . . . . . . . . 4
  41. 3.2. OCSP Response . . . . . . . . . . . . . . . . . . . . . . 5
  42. 4. Extension Requirements . . . . . . . . . . . . . . . . . . . . 5
  43. 4.1. Request for OCSP Support . . . . . . . . . . . . . . . . . 5
  44. 4.2. Response to OCSP Support . . . . . . . . . . . . . . . . . 6
  45. 5. Examples and Discussion . . . . . . . . . . . . . . . . . . . 6
  46. 5.1. Peer to Peer . . . . . . . . . . . . . . . . . . . . . . . 6
  47. 5.2. Extended Authentication Protocol (EAP) . . . . . . . . . . 7
  48. 6. Security Considerations . . . . . . . . . . . . . . . . . . . 8
  49. 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
  50. 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 9
  51. 9. Normative References . . . . . . . . . . . . . . . . . . . . . 9
  52. 1. Introduction
  53. Version 2 of the Internet Key Exchange (IKE) protocol [IKEv2]
  54. supports a range of authentication mechanisms, including the use of
  55. public key based authentication. Confirmation of certificate
  56. reliability is essential in order to achieve the security assurances
  57. public key cryptography provides. One fundamental element of such
  58. confirmation is reference to certificate revocation status (see
  59. [RFC3280] for additional detail).
  60. The traditional means of determining certificate revocation status is
  61. through the use of Certificate Revocation Lists (CRLs). IKEv2 allows
  62. CRLs to be exchanged in-band via the CERT payload.
  63. However, CRLs can grow unbounded in size. Many real-world examples
  64. exist to demonstrate the impracticality of including a multi-megabyte
  65. file in an IKE exchange. This constraint is particularly acute in
  66. bandwidth-limited environments (e.g., mobile communications). The
  67. net effect is exclusion of in-band CRLs in favor of out-of-band (OOB)
  68. acquisition of these data, should they even be used at all.
  69. Reliance on OOB methods can be further complicated if access to
  70. revocation data requires use of IPsec (and therefore IKE) to
  71. establish secure and authorized access to the CRLs of an IKE
  72. participant. Such network access deadlock further contributes to a
  73. reduced reliance on the status of certificate revocations in favor of
  74. blind trust.
  75. Myers & Tschofenig Standards Track [Page 2]
  76. RFC 4806 OCSP Extensions to IKEv2 February 2007
  77. OCSP [RFC2560] offers a useful alternative. The size of an OCSP
  78. response is bounded and small and therefore suitable for in-band
  79. IKEv2 signaling of a certificate's revocation status.
  80. This document defines an extension to IKEv2 that enables the use of
  81. OCSP for in-band signaling of certificate revocation status. A new
  82. content encoding is defined for use in the CERTREQ and CERT payloads.
  83. A CERTREQ payload with "OCSP Content" identifies zero or more trusted
  84. OCSP responders and is a request for inclusion of an OCSP response in
  85. the IKEv2 handshake. A cooperative recipient of such a request
  86. responds with a CERT payload containing the appropriate OCSP
  87. response. This content is recognizable via the same "OCSP Content"
  88. identifier.
  89. 2. Terminology
  90. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
  91. "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
  92. document are to be interpreted as described in RFC 2119 [RFC2119].
  93. This document defines the following terms:
  94. OCSP request:
  95. An OCSP request refers to the CERTREQ payload that contains a new
  96. content encoding, referred to as OCSP Content, that conforms to
  97. the definition and behavior specified in Section 3.1.
  98. OCSP response:
  99. An OCSP response refers to the CERT payload that contains a new
  100. content encoding, referred to as OCSP Content, that conforms to
  101. the definition and behavior specified in Section 3.2.
  102. OCSP responder:
  103. The term OCSP responder refers to the entity that accepts requests
  104. from an OCSP client and returns responses as defined in [RFC2560].
  105. Note that the OCSP responder does not refer to the party that
  106. sends the CERT message.
  107. Myers & Tschofenig Standards Track [Page 3]
  108. RFC 4806 OCSP Extensions to IKEv2 February 2007
  109. 3. Extension Definition
  110. With reference to Section 3.6 of [IKEv2], the values for the Cert
  111. Encoding field of the CERT payload are extended as follows (see also
  112. the IANA Considerations section of this document):
  113. Certificate Encoding Value
  114. -------------------- -----
  115. OCSP Content 14
  116. 3.1. OCSP Request
  117. A value of OCSP Content (14) in the Cert Encoding field of a CERTREQ
  118. Payload indicates the presence of zero or more OCSP responder
  119. certificate hashes in the Certificate Authority field of the CERTREQ
  120. payload. Section 2.2 of [RFC2560] defines responses, which belong to
  121. one of the following three groups:
  122. (a) the CA who issued the certificate
  123. (b) a Trusted Responder whose public key is trusted by the requester
  124. (c) a CA Designated Responder (Authorized Responder) who holds a
  125. specially marked certificate issued directly by the CA,
  126. indicating that the responder may issue OCSP responses for that
  127. CA
  128. In case of (a), the use of hashes in the CERTREQ message is not
  129. needed since the OCSP response is signed by the CA who issued the
  130. certificate. In case of (c), the OCSP response is signed by the CA
  131. Designated Responder whereby the sender of the CERTREQ message does
  132. not know the public key in advance. The presence of OCSP Content in
  133. a CERTREQ message will identify one or more OCSP responders trusted
  134. by the sender in case of (b).
  135. The presence of OCSP Content (14) in a CERTREQ message:
  136. 1. identifies zero or more OCSP responders trusted by the sender;
  137. 2. notifies the recipient of sender's support for the OCSP extension
  138. to IKEv2; and
  139. 3. notifies the recipient of sender's desire to receive OCSP
  140. confirmation in a subsequent CERT payload.
  141. Myers & Tschofenig Standards Track [Page 4]
  142. RFC 4806 OCSP Extensions to IKEv2 February 2007
  143. 3.2. OCSP Response
  144. A value of OCSP Content (14) in the Cert Encoding field of a CERT
  145. Payload indicates the presence of an OCSP response in the Certificate
  146. Data field of the CERT payload.
  147. Correlation between an OCSP response CERT payload and a corresponding
  148. CERT payload carrying a certificate can be achieved by matching the
  149. OCSP response CertID field to the certificate. See [RFC2560] for the
  150. definition of OCSP response content.
  151. 4. Extension Requirements
  152. 4.1. Request for OCSP Support
  153. Section 3.7 of [IKEv2] allows for the concatenation of trust anchor
  154. hashes as the Certification Authority value of a single CERTREQ
  155. message. There is no means however to indicate which among those
  156. hashes, if present, relates to the certificate of a trusted OCSP
  157. responder.
  158. Therefore, an OCSP request, as defined in Section 3.1 above, is
  159. transmitted separate from any other CERTREQ payloads in an IKEv2
  160. exchange.
  161. Where it is useful to identify more than one trusted OCSP responder,
  162. each such identification SHALL be concatenated in a manner identical
  163. to the method documented in Section 3.7 of [IKEv2] regarding the
  164. assembly of multiple trust anchor hashes.
  165. The Certification Authority value in an OCSP request CERTREQ SHALL be
  166. computed and produced in a manner identical to that of trust anchor
  167. hashes as documented in Section 3.7 of [IKEv2].
  168. Upon receipt of an OCSP response CERT payload corresponding to a
  169. prior OCSP request CERTREQ, the CERTREQ sender SHALL incorporate the
  170. OCSP response into path validation logic defined by [RFC3280].
  171. Note that the lack of an OCSP response CERT payload after sending an
  172. OCSP request CERT payload might be an indication that this OCSP
  173. extension is not supported. As a result, it is recommended that
  174. nodes be configured to require a response only if it is known that
  175. all peers do in fact support this extension. Otherwise, it is
  176. recommended that the nodes be configured to try OCSP and, if there is
  177. no response, attempt to determine certificate revocation status by
  178. some other means.
  179. Myers & Tschofenig Standards Track [Page 5]
  180. RFC 4806 OCSP Extensions to IKEv2 February 2007
  181. 4.2. Response to OCSP Support
  182. Upon receipt of an OCSP request CERTREQ payload, the recipient SHOULD
  183. acquire the related OCSP-based assertion and produce and transmit an
  184. OCSP response CERT payload corresponding to the certificate needed to
  185. verify its signature on IKEv2 payloads.
  186. An OCSP response CERT payload is transmitted separate from any other
  187. CERT payload in an IKEv2 exchange.
  188. The means by which an OCSP response may be acquired for production of
  189. an OCSP response CERT payload is out of scope of this document.
  190. The Certificate Data field of an OCSP response CERT payload SHALL
  191. contain a DER-encoded OCSPResponse structure as defined in [RFC2560].
  192. 5. Examples and Discussion
  193. This section shows the standard IKEv2 message examples with both
  194. peers, the initiator and the responder, using public key based
  195. authentication, CERTREQ and CERT payloads. The first instance
  196. corresponds to Section 1.2 of [IKEv2], the illustrations of which are
  197. reproduced below for reference.
  198. 5.1. Peer to Peer
  199. Application of the IKEv2 extensions defined in this document to the
  200. peer-to-peer exchange defined in Section 1.2 of [IKEv2] is as
  201. follows. Messages are numbered for ease of reference.
  202. Initiator Responder
  203. ----------- -----------
  204. (1) HDR, SAi1, KEi, Ni -->
  205. (2) <-- HDR, SAr1, KEr, Nr,
  206. CERTREQ(OCSP Request)
  207. (3) HDR, SK {IDi, CERT(certificate),-->
  208. CERT(OCSP Response),
  209. CERTREQ(OCSP Request),
  210. [IDr,] AUTH, SAi2, TSi, TSr}
  211. (4) <-- HDR, SK {IDr,
  212. CERT(certificate),
  213. CERT(OCSP Response),
  214. AUTH, SAr2, TSi, TSr}
  215. OCSP Extensions to Baseline IKEv2
  216. Myers & Tschofenig Standards Track [Page 6]
  217. RFC 4806 OCSP Extensions to IKEv2 February 2007
  218. In (2), Responder sends an OCSP request CERTREQ payload identifying
  219. zero or more OCSP responders trusted by the Responder. In response,
  220. Initiator sends in (3) both a CERT payload carrying its certificate
  221. and an OCSP response CERT payload covering that certificate. In (3),
  222. Initiator also requests an OCSP response via the OCSP request CERTREQ
  223. payload. In (4), the Responder returns its certificate and a
  224. separate OCSP response CERT payload covering that certificate.
  225. It is important to note that in this scenario, the Responder in (2)
  226. does not yet possess the Initiator's certificate and therefore cannot
  227. form an OCSP request as defined in [RFC2560]. To bypass this
  228. problem, hashes are used as defined in Section 4.1. In such
  229. instances, OCSP Requests are simply index values into these data.
  230. Thus, it is easily inferred that OCSP responses can be produced in
  231. the absence of a corresponding request (provided that OCSP nonces are
  232. not used, see Section 6).
  233. It is also important in extending IKEv2 toward OCSP in this scenario
  234. that the Initiator has certain knowledge that the Responder is
  235. capable of and willing to participate in the extension. Yet the
  236. Responder will only trust one or more OCSP responder signatures.
  237. These factors motivate the definition of OCSP responder hash
  238. extension.
  239. 5.2. Extended Authentication Protocol (EAP)
  240. Another scenario of pressing interest is the use of EAP to
  241. accommodate multiple end users seeking enterprise access to an IPsec
  242. gateway. Note that OCSP is used for the certificate status check of
  243. the server side IKEv2 certificate and not for certificates that may
  244. be used within EAP methods (either by the EAP peer or the EAP
  245. server). As with the preceding section, the following illustration
  246. is extracted from [IKEv2]. In the event of a conflict between this
  247. document and [IKEv2] regarding these illustrations, [IKEv2] SHALL
  248. dominate.
  249. Myers & Tschofenig Standards Track [Page 7]
  250. RFC 4806 OCSP Extensions to IKEv2 February 2007
  251. Initiator Responder
  252. ----------- -----------
  253. (1) HDR, SAi1, KEi, Ni -->
  254. (2) <-- HDR, SAr1, KEr, Nr
  255. (3) HDR, SK {IDi, -->
  256. CERTREQ(OCSP Request),
  257. [IDr,] AUTH, SAi2, TSi, TSr}
  258. (4) <-- HDR, SK {IDr,
  259. CERT(certificate),
  260. CERT(OCSP Response),
  261. AUTH, EAP}
  262. (5) HDR, SK {EAP} -->
  263. (6) <-- HDR, SK {EAP (success)}
  264. (7) HDR, SK {AUTH} -->
  265. (8) <-- HDR, SK {AUTH, SAr2, TSi,
  266. TSr }
  267. OCSP Extensions to EAP in IKEv2
  268. In the EAP scenario, messages (5) through (8) are not relevant to
  269. this document.
  270. 6. Security Considerations
  271. For the reasons noted above, an OCSP request, as defined in Section
  272. 3.1, is used in place of an OCSP request syntax to trigger production
  273. and transmission of an OCSP response. OCSP, as defined in [RFC2560],
  274. may contain a nonce request extension to improve security against
  275. replay attacks (see Section 4.4.1 of [RFC2560] for further details).
  276. The OCSP request defined by this document cannot accommodate nonces.
  277. [RFC2560] deals with this aspect by allowing pre-produced responses.
  278. [RFC2560] points to this replay vulnerability and indicates: "The use
  279. of precomputed responses allows replay attacks in which an old (good)
  280. response is replayed prior to its expiration date but after the
  281. certificate has been revoked. Deployments of OCSP should carefully
  282. evaluate the benefit of precomputed responses against the probability
  283. of a replay attack and the costs associated with its successful
  284. execution." Nodes SHOULD make the required freshness of an OCSP
  285. response configurable.
  286. Myers & Tschofenig Standards Track [Page 8]
  287. RFC 4806 OCSP Extensions to IKEv2 February 2007
  288. 7. IANA Considerations
  289. This document defines one new field type for use in the IKEv2 Cert
  290. Encoding field of the Certificate Payload format. Official
  291. assignment of the "OCSP Content" extension to the Cert Encoding table
  292. of Section 3.6 of [IKEv2] has been acquired from IANA.
  293. Certificate Encoding Value
  294. -------------------- -----
  295. OCSP Content 14
  296. 8. Acknowledgements
  297. The authors would like to thank Russ Housley for his support.
  298. Additionally, we would like to thank Pasi Eronen, Nicolas Williams,
  299. Liqiang (Larry) Zhu, Lakshminath Dondeti, and Paul Hoffman for their
  300. review. Pasi gave us invaluable last-call comments. We would also
  301. like to thank Tom Taylor for his Gen-ART review. Jari Arkko gave us
  302. IESG review comments.
  303. 9. Normative References
  304. [IKEv2] Kaufman, C., "Internet Key Exchange (IKEv2) Protocol",
  305. RFC 4306, December 2005.
  306. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
  307. Requirement Levels", BCP 14, RFC 2119, March 1997.
  308. [RFC2560] Myers, M., Ankney, R., Malpani, A., Galperin, S., and C.
  309. Adams, "X.509 Internet Public Key Infrastructure Online
  310. Certificate Status Protocol - OCSP", RFC 2560, June 1999.
  311. [RFC3280] Housley, R., Polk, W., Ford, W., and D. Solo, "Internet
  312. X.509 Public Key Infrastructure Certificate and
  313. Certificate Revocation List (CRL) Profile", RFC 3280,
  314. April 2002.
  315. Myers & Tschofenig Standards Track [Page 9]
  316. RFC 4806 OCSP Extensions to IKEv2 February 2007
  317. Authors' Addresses
  318. Michael Myers
  319. TraceRoute Security LLC
  320. EMail: mmyers@fastq.com
  321. Hannes Tschofenig
  322. Siemens Networks GmbH & Co KG
  323. Otto-Hahn-Ring 6
  324. Munich, Bavaria 81739
  325. Germany
  326. EMail: Hannes.Tschofenig@siemens.com
  327. URI: http://www.tschofenig.com
  328. Myers & Tschofenig Standards Track [Page 10]
  329. RFC 4806 OCSP Extensions to IKEv2 February 2007
  330. Full Copyright Statement
  331. Copyright (C) The IETF Trust (2007).
  332. This document is subject to the rights, licenses and restrictions
  333. contained in BCP 78, and except as set forth therein, the authors
  334. retain all their rights.
  335. This document and the information contained herein are provided on an
  336. "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
  337. OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
  338. THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
  339. OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
  340. THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
  341. WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
  342. Intellectual Property
  343. The IETF takes no position regarding the validity or scope of any
  344. Intellectual Property Rights or other rights that might be claimed to
  345. pertain to the implementation or use of the technology described in
  346. this document or the extent to which any license under such rights
  347. might or might not be available; nor does it represent that it has
  348. made any independent effort to identify any such rights. Information
  349. on the procedures with respect to rights in RFC documents can be
  350. found in BCP 78 and BCP 79.
  351. Copies of IPR disclosures made to the IETF Secretariat and any
  352. assurances of licenses to be made available, or the result of an
  353. attempt made to obtain a general license or permission for the use of
  354. such proprietary rights by implementers or users of this
  355. specification can be obtained from the IETF on-line IPR repository at
  356. http://www.ietf.org/ipr.
  357. The IETF invites any interested party to bring to its attention any
  358. copyrights, patents or patent applications, or other proprietary
  359. rights that may cover technology that may be required to implement
  360. this standard. Please address the information to the IETF at
  361. ietf-ipr@ietf.org.
  362. Acknowledgement
  363. Funding for the RFC Editor function is currently provided by the
  364. Internet Society.
  365. Myers & Tschofenig Standards Track [Page 11]