draft-sheffer-ikev2-gtc-00.txt 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505
  1. Network Working Group Y. Sheffer
  2. Internet-Draft Check Point
  3. Intended status: Informational July 6, 2008
  4. Expires: January 7, 2009
  5. Using EAP-GTC for Simple User Authentication in IKEv2
  6. draft-sheffer-ikev2-gtc-00.txt
  7. Status of this Memo
  8. By submitting this Internet-Draft, each author represents that any
  9. applicable patent or other IPR claims of which he or she is aware
  10. have been or will be disclosed, and any of which he or she becomes
  11. aware will be disclosed, in accordance with Section 6 of BCP 79.
  12. Internet-Drafts are working documents of the Internet Engineering
  13. Task Force (IETF), its areas, and its working groups. Note that
  14. other groups may also distribute working documents as Internet-
  15. Drafts.
  16. Internet-Drafts are draft documents valid for a maximum of six months
  17. and may be updated, replaced, or obsoleted by other documents at any
  18. time. It is inappropriate to use Internet-Drafts as reference
  19. material or to cite them other than as "work in progress."
  20. The list of current Internet-Drafts can be accessed at
  21. http://www.ietf.org/ietf/1id-abstracts.txt.
  22. The list of Internet-Draft Shadow Directories can be accessed at
  23. http://www.ietf.org/shadow.html.
  24. This Internet-Draft will expire on January 7, 2009.
  25. Abstract
  26. Despite many years of effort, simple username-password authentication
  27. is still prevalent. In many cases a password is the only credential
  28. available to the end user. IKEv2 uses EAP as a sub-protocol for user
  29. authentication. This provides a well-specified and extensible
  30. architecture. To this day EAP does not provide a simple password-
  31. based authentication method. The only existing password
  32. authentication methods either require the peer to know the password
  33. in advance (EAP-MD5), or are needlessly complex when used within
  34. IKEv2 (e.g. PEAP). This document codifies the common practice of
  35. using EAP-GTC for this type of authentication, with the goal of
  36. achieving maximum interoperability. The various security issues are
  37. extensively analyzed.
  38. Sheffer Expires January 7, 2009 [Page 1]
  39. Internet-Draft EAP-GTC in IKEv2 July 2008
  40. Table of Contents
  41. 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
  42. 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 4
  43. 3. Alternatives to EAP-GTC in IKEv2 . . . . . . . . . . . . . . . 4
  44. 3.1. Non-password credentials . . . . . . . . . . . . . . . . . 4
  45. 3.2. Using the IKE preshared secret . . . . . . . . . . . . . . 4
  46. 3.3. EAP-MD5 , EAP-MSCHAPv2 and mutual authentication
  47. schemes . . . . . . . . . . . . . . . . . . . . . . . . . . 4
  48. 4. Using EAP-GTC in IKE: Details . . . . . . . . . . . . . . . . . 5
  49. 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6
  50. 6. Security Considerations . . . . . . . . . . . . . . . . . . . . 6
  51. 6.1. Key generation and MITM protection . . . . . . . . . . . . 6
  52. 6.2. Protection of credentials between the IKE gateway and
  53. the AAA server . . . . . . . . . . . . . . . . . . . . . . 6
  54. 6.3. Server authentication . . . . . . . . . . . . . . . . . . . 6
  55. 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 7
  56. 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7
  57. 8.1. Normative References . . . . . . . . . . . . . . . . . . . 7
  58. 8.2. Informative References . . . . . . . . . . . . . . . . . . 7
  59. Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . . 8
  60. A.1. -00 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
  61. Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 8
  62. Intellectual Property and Copyright Statements . . . . . . . . . . 9
  63. Sheffer Expires January 7, 2009 [Page 2]
  64. Internet-Draft EAP-GTC in IKEv2 July 2008
  65. 1. Introduction
  66. "Oh dear! It's possible that we have added EAP to IKE to support a
  67. case that EAP can't support." -- C. Kaufman.
  68. Despite many years of effort, simple username-password authentication
  69. is still prevalent. In many cases a password is the only credential
  70. available to the end user.
  71. IKEv2 [RFC4306] uses the Extensible Authentication Protocol (EAP) as
  72. a sub-protocol for user authentication. This provides a well-
  73. specified and extensible architecture and enables useful capabilities
  74. like SIM authentication. Unfortunately, for a number of reasons EAP
  75. still does not provide a simple password-based authentication method.
  76. The only existing password authentication methods either require the
  77. peer to know the password in advance (EAP-MD5), or are needlessly
  78. complex when used within IKEv2 (e.g. PEAP).
  79. Technically, the IKE preshared secret authentication mode can be used
  80. for password authentication. In fact even the IKEv2 RFC winks at
  81. this practice. But this use jeopardizes the protocol's security and
  82. should clearly be avoided (more details below).
  83. EAP is used in IKEv2 at a stage when the remote access gateway has
  84. already been authenticated. At this point the user has a high enough
  85. level of trust to send his or her password to the gateway. Such an
  86. exchange is enabled by the EAP Generic Token Card (GTC) method, which
  87. is a simple text transport between the two EAP peers. To quote
  88. [RFC3748]:
  89. The EAP GTC method is intended for use with the Token Cards
  90. supporting challenge/response authentication and MUST NOT be used
  91. to provide support for cleartext passwords in the absence of a
  92. protected tunnel with server authentication.
  93. IKEv2 does indeed provide "a protected tunnel with server
  94. authentication". The current document updates [RFC3748] by making an
  95. exception and allowing the use of GTC to carry secret credentials, in
  96. this specific situation. Section 6 further elaborates on the
  97. security properties of this solution.
  98. Other protocols provide a similar protected tunnel, for example TLS-
  99. EAP, described in [I-D.nir-tls-eap]. These protocols however are out
  100. of scope for this document.
  101. Sheffer Expires January 7, 2009 [Page 3]
  102. Internet-Draft EAP-GTC in IKEv2 July 2008
  103. 2. Terminology
  104. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
  105. "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
  106. document are to be interpreted as described in [RFC2119].
  107. 3. Alternatives to EAP-GTC in IKEv2
  108. This section presents a few of the alternatives to EAP-GTC, and
  109. explains why they are either insecure or impractical given today's
  110. common identity management infrastructure.
  111. 3.1. Non-password credentials
  112. Certificate-based authentication, especially when combined with
  113. hardware protection (e.g. a hardware token), can be deployed in a
  114. more secure manner than the form of password authentication which we
  115. discuss. However, due to a host of issues to do with cost,
  116. inconvenience and reliability this solution has not gained wide
  117. market acceptance over the last 10 years.
  118. 3.2. Using the IKE preshared secret
  119. Sec. 2.15 of RFC 4306 points out that the generation of the IKE
  120. preshared secret from a weak password is insecure. Such use is
  121. vulnerable to off line password guessing by an active attacker. All
  122. the attacker needs to do is respond correctly to the first IKE_INIT
  123. message, and then record the third IKE message. This is then
  124. followed by a dictionary attack to obtain the password.
  125. 3.3. EAP-MD5 , EAP-MSCHAPv2 and mutual authentication schemes
  126. Challenge-response schemes, like EAP-MD5 and EAP-MSCHAPv2, have a
  127. clear security advantage over sending the plaintext password to the
  128. gateway. Password-based mutual authentication schemes like SRP have
  129. a further advantage in that the gateway's authentication is much
  130. stronger than when using certificates alone, since the AAA server
  131. proves its knowledge of a per-client credential, and the gateway
  132. proves that it has been authorized by the AAA server for that
  133. particular client.
  134. Unfortunately all of these methods also suffer from a major drawback:
  135. the gateway must have a priori access to the plaintext password.
  136. While many RADIUS servers may indeed have such access, other very
  137. common deployments do not provide it. One typical example is when
  138. the gateway directly accesses an LDAP directory (or a Microsoft
  139. Active Directory) to authenticate the user. The usual way to do that
  140. Sheffer Expires January 7, 2009 [Page 4]
  141. Internet-Draft EAP-GTC in IKEv2 July 2008
  142. is by issuing an LDAP Bind operation into the directory, using the
  143. just-received plaintext password. Often in this case it is the IKE
  144. gateway that terminates the EAP protocol, and it needs a way to
  145. obtain the raw password.
  146. An additional issue with mutual authentication schemes is their heavy
  147. IP encumbrance, which has resulted in a scarcity of standards using
  148. them and a low rate of market adoption.
  149. 4. Using EAP-GTC in IKE: Details
  150. EAP-GTC is specified in [RFC3748], Sec. 5.6. This section is non-
  151. normative, and is merely an interpretation of this specification in
  152. the context of IKEv2.
  153. Simple authentication requires a non secret identity ("user name")
  154. and a secret credential ("password"). Both of these are arbitrary
  155. Unicode strings, although implementations may impose length
  156. constraints.
  157. In the case of EAP-GTC, the user name is conveyed in the IKE IDi
  158. payload. According to [RFC4718], Sec. 3.4, the user name can be
  159. encoded in one of two ways: as a simple user name, in which case the
  160. ID_KEY_ID identification type is used; or as a combination user name
  161. plus realm, in which case the format is a NAI [RFC4282] and the
  162. identification type is ID_RFC822_ADDR. In either case, the user name
  163. is a Unicode string encoded as UTF-8. Using the EAP Identity payload
  164. is redundant, and if it is used, it should be identical to the IDi
  165. payload.
  166. EAP-GTC consists of a simple 2-message exchange. The contents of the
  167. Type-Data field in the Request should not be interpreted in any way,
  168. and should be displayed to the user. This field contains a Unicode
  169. string, encoded as UTF-8.
  170. The password is sent in the EAP Response. The Type-Data field of the
  171. Response is also a Unicode string encoded as UTF-8. Note that none
  172. of the IDi payload, the EAP Request or the EAP Response is null-
  173. terminated.
  174. If either or both the user name and the password are non-ASCII, they
  175. should be normalized by the IKE client before the IKE/EAP message is
  176. constructed. The normalization method is SASLprep, [RFC4013].
  177. Sheffer Expires January 7, 2009 [Page 5]
  178. Internet-Draft EAP-GTC in IKEv2 July 2008
  179. 5. IANA Considerations
  180. This document does not require any action by IANA.
  181. 6. Security Considerations
  182. 6.1. Key generation and MITM protection
  183. Modern EAP methods generate a key shared between the two protocol
  184. peers. GTC does not (and cannot) generate such a key. RFC 4306
  185. mandates that:
  186. EAP methods that do not establish a shared key SHOULD NOT be used,
  187. as they are subject to a number of man-in-the-middle attacks
  188. [EAPMITM] if these EAP methods are used in other protocols that do
  189. not use a server-authenticated tunnel.
  190. However GTC must never be used in such a situation, since the client
  191. would be sending its credentials openly to an unauthenticated server.
  192. When using GTC with IKEv2, the implementation (or local
  193. administrators) MUST ensure that the same credentials are never used
  194. in such a manner.
  195. 6.2. Protection of credentials between the IKE gateway and the AAA
  196. server
  197. In the proposed solution, the raw credentials are sent from the IKE
  198. gateway to a AAA server, typically a RADIUS server. These
  199. credentials and the associated messaging MUST be strongly protected.
  200. Some of the existing options include:
  201. o An IPsec tunnel between the gateway and the AAA server.
  202. o RADIUS over TCP with TLS, [I-D.winter-radsec].
  203. o RADIUS over UDP with DTLS, [I-D.dekok-radext-dtls] (expired).
  204. The legacy RADIUS security mechanism (Sec. 5.2 of [RFC2865]) is
  205. considered weak and SHOULD NOT be used when better alternatives are
  206. available.
  207. 6.3. Server authentication
  208. The client may only send its cleartext credentials after it has
  209. positively authenticated the server. This authentication is
  210. specified, albeit rather vaguely, in [RFC4306] and is out of scope of
  211. the current document. Unauthenticated (BTNS) derivatives of IKE MUST
  212. NOT be used with EAP-GTC.
  213. Sheffer Expires January 7, 2009 [Page 6]
  214. Internet-Draft EAP-GTC in IKEv2 July 2008
  215. 7. Acknowledgments
  216. I would like to thank Yoav Nir and Charlie Kaufman for their helpful
  217. comments.
  218. 8. References
  219. 8.1. Normative References
  220. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
  221. Requirement Levels", BCP 14, RFC 2119, March 1997.
  222. [RFC3748] Aboba, B., Blunk, L., Vollbrecht, J., Carlson, J., and H.
  223. Levkowetz, "Extensible Authentication Protocol (EAP)",
  224. RFC 3748, June 2004.
  225. [RFC4013] Zeilenga, K., "SASLprep: Stringprep Profile for User Names
  226. and Passwords", RFC 4013, February 2005.
  227. [RFC4306] Kaufman, C., "Internet Key Exchange (IKEv2) Protocol",
  228. RFC 4306, December 2005.
  229. 8.2. Informative References
  230. [EAPMITM] Asokan, N., Niemi, V., and K. Nyberg, "Man-in-the-Middle
  231. in Tunneled Authentication Protocols", November 2002,
  232. <http://eprint.iacr.org/2002/163>.
  233. [I-D.dekok-radext-dtls]
  234. DeKok, A., "DTLS as a Transport Layer for RADIUS",
  235. draft-dekok-radext-dtls-00 (work in progress),
  236. February 2007.
  237. [I-D.nir-tls-eap]
  238. Nir, Y., Tschofenig, H., and P. Gutmann, "TLS using EAP
  239. Authentication", draft-nir-tls-eap-03 (work in progress),
  240. April 2008.
  241. [I-D.winter-radsec]
  242. Winter, S., McCauley, M., and S. Venaas, "RadSec Version 2
  243. - A Secure and Reliable Transport for the RADIUS
  244. Protocol", draft-winter-radsec-01 (work in progress),
  245. February 2008.
  246. [RFC2865] Rigney, C., Willens, S., Rubens, A., and W. Simpson,
  247. "Remote Authentication Dial In User Service (RADIUS)",
  248. RFC 2865, June 2000.
  249. Sheffer Expires January 7, 2009 [Page 7]
  250. Internet-Draft EAP-GTC in IKEv2 July 2008
  251. [RFC4282] Aboba, B., Beadles, M., Arkko, J., and P. Eronen, "The
  252. Network Access Identifier", RFC 4282, December 2005.
  253. [RFC4718] Eronen, P. and P. Hoffman, "IKEv2 Clarifications and
  254. Implementation Guidelines", RFC 4718, October 2006.
  255. Appendix A. Change Log
  256. A.1. -00
  257. Initial version.
  258. Author's Address
  259. Yaron Sheffer
  260. Check Point Software Technologies Ltd.
  261. 5 Hasolelim St.
  262. Tel Aviv 67897
  263. Israel
  264. Email: yaronf@checkpoint.com
  265. Sheffer Expires January 7, 2009 [Page 8]
  266. Internet-Draft EAP-GTC in IKEv2 July 2008
  267. Full Copyright Statement
  268. Copyright (C) The IETF Trust (2008).
  269. This document is subject to the rights, licenses and restrictions
  270. contained in BCP 78, and except as set forth therein, the authors
  271. retain all their rights.
  272. This document and the information contained herein are provided on an
  273. "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
  274. OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
  275. THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
  276. OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
  277. THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
  278. WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
  279. Intellectual Property
  280. The IETF takes no position regarding the validity or scope of any
  281. Intellectual Property Rights or other rights that might be claimed to
  282. pertain to the implementation or use of the technology described in
  283. this document or the extent to which any license under such rights
  284. might or might not be available; nor does it represent that it has
  285. made any independent effort to identify any such rights. Information
  286. on the procedures with respect to rights in RFC documents can be
  287. found in BCP 78 and BCP 79.
  288. Copies of IPR disclosures made to the IETF Secretariat and any
  289. assurances of licenses to be made available, or the result of an
  290. attempt made to obtain a general license or permission for the use of
  291. such proprietary rights by implementers or users of this
  292. specification can be obtained from the IETF on-line IPR repository at
  293. http://www.ietf.org/ipr.
  294. The IETF invites any interested party to bring to its attention any
  295. copyrights, patents or patent applications, or other proprietary
  296. rights that may cover technology that may be required to implement
  297. this standard. Please address the information to the IETF at
  298. ietf-ipr@ietf.org.
  299. Sheffer Expires January 7, 2009 [Page 9]