IPSec Working GroupS. Blake-Wilson and P. FahnJ. Solinas, NSA INTERNET-DRAFTCerticom Corp. Expires: September 14, 2001Expires October 2, 2005 March15, 200131, 2005 IKE Authentication Using ECDSA<draft-ietf-ipsec-ike-auth-ecdsa-02.txt><draft-ietf-ipsec-ike-auth-ecdsa-03.txt> Status of this MemoThis documentBy submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she isan Internet-Draftaware have been or will be disclosed, andisany of which he or she becomes aware will be disclosed, infull conformanceaccordance withall provisions ofSection106 ofRFC2026.BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed athttp://www.ietf.org/ietf/1id-abstracts.txthttp://www.ietf.org/1id-abstracts.html The list of Internet-Draft Shadow Directories can be accessed athttp://www.ietf.org/shadow.html.http://www.ietf.org/shadow.html Abstract This document describes how the Elliptic Curve Digital Signature Algorithm (ECDSA) may be used as the authentication method within the Internet Key Exchange (IKE) protocol. ECDSA may provide benefits including computational efficiency, small signature sizes, and minimalbandwidth,bandwidth compared to other available digital signature methods. This document adds ECDSA capability to IKE without introducing any changes to existing IKE operation.Table of Contents 1. Introduction ................................................. 2 2. ECDSA ........................................................ 2 3. Specifying ECDSA within IKE .................................. 3 4. Security Considerations ...................................... 4 5. Intellectual Property Rights ................................. 4 6. Acknowledgments .............................................. 4 7. References ................................................... 5 8. Authors' Addresses ........................................... 6 9. Full Copyright Statement ..................................... 61. Introduction The Internet Key Exchange, or IKE[RFC2409],[IKE], is a key agreement and security negotiation protocol; it is used for key establishment in IPSec. In Phase 1 of IKE, both parties must authenticate each other using a negotiated authentication method. One option for the authentication method is digital signatures using public key cryptography. Currently, there are two digital signature methods defined for use within Phase 1: RSA signatures and DSA (DSS) signatures. This document introduces ECDSA signatures as a third method. For any given level of security against the best attacks known, ECDSA signatures are smaller than RSA signatures and ECDSA keys require less bandwidth than DSA keys; there are also advantages of computational speed and efficiency in many settings. Additional efficiency may be gained by simultaneously using ECDSA for IKE authentication and using elliptic curve groups for the IKE key exchange. Implementers of IPSec and IKE may therefore find it desirable to use ECDSA as the Phase 1 authentication method. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. 2. ECDSA The Elliptic Curve Digital Signature Algorithm (ECDSA) is the elliptic curve analogue of the DSA(also called DSS)(DSS) signature method[FIPS186-2]. The Elliptic Curve Digital Signature Algorithm (ECDSA)[DSS]. It is defined in the ANSI X9.62 standard[ANSIX962];[X9.62]. Other compatible specifications include FIPS 186-2[FIPS186-2],[DSS], IEEE 1363 [IEEE-1363], IEEEP1363 [IEEEP1363],1363A [IEEE-1363A], andSEC 1SEC1 [SEC1].TheLike DSA, ECDSA incorporates the use of a hash function. [SHS] specifies hash functions that are appropriate for use with ECDSA. Implementations of IKE using ECDSAin X.509 certificates is described in IETF PKIX [PKIX-ALG].SHOULD use one of these hash functions. ECDSA signatures are smaller than RSA signatures of similar cryptographicstrength; see [KEYS] for a security analysis of key sizes across public key algorithms.strength. ECDSA public keys (and certificates) are smaller than similar strength DSA keys, resulting in improved communications efficiency. Furthermore, on many platforms ECDSA operations can be computedfastermore quickly than similar strength RSA or DSAoperations.operations (see [LV] for a security analysis of key sizes across public key algorithms). These advantages of signature size, bandwidth, and computational efficiency may make ECDSA an attractive choice for many IKEimplementions.implementations. Recommended elliptic curve domain parameters for use with ECDSA are given in FIPS 186-2[FIPS186-2][DSS], ANSI X9.62 [X9.62], and SEC 2 [SEC2]. Implementations of IKE using ECDSA MAY use one of these domain parameters. A subset of these parameters are recommended in[ECC-GR][IKE-ECP] for use in the IKE key exchange.Like DSA, ECDSA incorporates the use of a hash function; currently, the only hash function definedThese parameters MAY be used foruse withECDSAis the SHA-1 message digest algorithm [FIPS180-1].as well. 3. Specifying ECDSA within IKE The IKE key negotiation protocol consists of two phases, Phase 1 and Phase 2. Within Phase 1, the two negotiating parties authenticate each other, using either pre-shared keys, digital signatures, or public-key encryption. For digital signatures and public-key encryption methods, there are multiple options. Theauthentication method is specified as an attribute in the negotiated Phase 1 Security Association (SA). Until now, there have been a total of seven specific authentication methods in Phase 1. We now add an eighth option: ECDSA signatures, specified by attribute value 8 in the SA. The new list ofIANA-assigned attributenumbersnumber for Phase 1 authenticationis: - Authentication Method pre-shared key 1 DSS signatures 2 RSA signatures 3 Encryption with RSA 4 Revised encryption with RSA 5 Encryption with El-Gamal 6 Revised encryption with El-Gamal 7using ECDSAsignaturesis 8values 9-65000 are reserved to IANA. Values 65001-65535 are for private use among mutually consenting parties.(see [IANA]). Phase 1 can be either Main Mode orAgressiveAggressive Mode. The use and specification of ECDSA signatures as the authentication method applies to both modes. The sequence of Phase 1 message payloads is the same with ECDSA signatures as with DSS or RSA signatures. When ECDSA is used in IKE, the signature payloadshallSHALL contain an encoding of the computed signature, consisting of a pair of integers r and s, encoded as a byte string using the ASN.1 syntax "ECDSA-Sig-Value" with DER encoding rules as specified in ANSI X9.62[ANSIX962]. Note also that, like[X9.62]. As with the other digital signature methods, ECDSA authentication requires the parties to know and trust each other's public key. This can be done by exchanging certificates, possibly within the Phase 1 negotiation, if the public keys of the parties are not already known to each other. The use of Internet X.509 public key infrastructure certificates[PKIX-CERT][RFC-3280] is recommended; the representation of ECDSA keys in X.509 certificates is specified in[PKIX-ALG]. Since ECDSA requires the use of the SHA-1 hash function, implemententers[RFC-3279]. This representation SHOULD be used if X.509 certificates are used. Implemententers may find itconvenientconvenient, when using ECDSA as the authentication method, to specifySHA-1the hash used by ECDSA as the value of the hash algorithmattribute when using ECDSA as the authentication method.attribute. Implementers may also find it convenient to use ECDSA authentication in conjunction with an elliptic curve group for the IKE Diffie-Hellman key agreement; see[ECC-GR][IKE-ECP] for some specific curves for the key agreement. 4. Security Considerations Implementors should ensure that appropriate security measures are in place when they deploy ECDSA within IKE. In particular, the security of ECDSA requires the careful selection of both key sizes and elliptic curve domain parameters. Selection guidelines for these parameters and some specific recommended curves that are considered safe are provided in ANSI X9.62[ANSIX962],[X9.62], FIPS 186-2[FIPS186-2],[DSS], and SEC 2 [SEC2]. 5.Intellectual Property Rights The IETF has been notified of intellectual property rights claimed in regard to the specification contained in this document. For more information, consult the online list of claimed rights (http://www.ietf.org/ipr.html). The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in thisIANA Considerations This documentor the extent to which any license under such rights might or might not be available; neither does it represent that ithasmade any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards-related documentation can be found in BCP-11. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permissionno actions forthe use of such proprietary rights by implementors or users of this specification can be obtained from the IETF Secretariat.IANA. 6.AcknowledgmentsReferences 6.1 Normative [IKE] D. Harkins and D. Carrel, Theauthors would like to thank Paul LambertInternet Key Exchange, RFC 2409, November 1998. [RFC-3279] Bassham, L., Housley, R., and Polk, W., RFC 3279, Algorithms andPrakash PanjwaniIdentifiers fortheir commentsthe Internet X.509 Public Key Infrastructure Certificate andsuggestions. 7. References [ANSIX962] ANSI X9.62-1999, "PublicCertificate Revocation List (CRL) Profile, 2002. (http://www.ietf.org/rfc/rfc3279.txt) [RFC-3280] Housley, R., Polk, W., Ford, W. and D. Solo, RFC 3280, Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile, 2002. (http://www.ietf.org/rfc/rfc3279.txt) [X9.62] American National Standards Institute, ANS X9.62-1998: Public Key CryptographyFor Thefor the Financial Services Industry: The Elliptic Curve Digital SignatureAlgorithm (ECDSA)", Americal National Standards Institute, 1998. [ECC-GR] S. Blake-Wilson, M. Salter, and Y. Poeluev, "Additional ECC Groups for IKE", IPSEC Working Group Internet-Draft draft-ietf-ipsec-ike-ecc-groups-03.txt. SeptemberAlgorithm. January 1999.[FIPS180-1] FIPS 180-1, "Secure Hash Standard", National6.2 Informative [DSS] U.S. Department of Commerce/National Institute of Standards and Technology,1995. [FIPS186-2]Digital Signature Standard (DSS), FIPS PUB 186-2,"Digital Signature Standard", NationalJanuary 2000. (http://csrc.nist.gov/publications/fips/index.html) [IANA] Internet Assigned Numbers Authority, Internet Key Exchange (IKE) Attributes. (http://www.iana.org/assignments/ipsec-registry) [IEEE-1363] Institute ofStandardsElectrical andTechnology, 2000. [IEEEP1363]Electronics Engineers. IEEEP1363, "Standard Specifications1363-2000, Standard for Public KeyCryptography",Cryptography. (http://grouper.ieee.org/groups/1363/index.html) [IEEE-1363A] Institute of Electrical and ElectronicsEngineers, 2000. [KEYS]Engineers. IEEE 1363A-2004, Standard for Public Key Cryptography - Amendment 1: Additional Techniques. (http://grouper.ieee.org/groups/1363/index.html) [IKE-ECP] J. Solinas, ECP Groups For IKE, 2005. (draft-ietf-ipsec-ike-ecc-groups-05.txt) [LV] A. Lenstra and E. Verheul, "Selecting Cryptographic Key Sizes",October 1999. Presented at Public Key Cryptography Conference, Melbourne, Australia, January 2000. Available at <http://www.cryptosavvy.com/>. [PKIX-ALG] L. Bassham, R. Housley and W. Polk, "Algorithms and Identifiers for the Internet X.509 Public Key Infrastructure Certificate and CRL Profile", PKIX Working Group Internet-Draft, draft-ietf-pkix-ipki-pkalgs-02.txt, March 2001. [PKIX-CERT] W. Ford, R. Housley, W. Polk and D. Solo, "Internet X.509 Public Key Infrastructure Certificate and CRL Profile", PKIX Working Group Internet-Draft, draft-ietf-pkix-new-part1-05.txt, March 2001. [RFC2409] D. Harkins and D. Carrel, "The Internet Key Exchange", IETF RFC 2409, November 1998.Journal of Cryptology 14 (2001), pp. 255-293. [SEC1]SEC 1, "Elliptic Curve Cryptography",Standards for Efficient CryptographyGroup, 2000. [SEC2]Group. SEC2, "Recommended1 - Elliptic CurveDomain Parameters",Cryptography, v. 1.0, 2000. (http://www.secg.org) [SEC2] Standards for Efficient CryptographyGroup,Group. SEC 2 - Recommended Elliptic Curve Domain Parameters, v. 1.0, 2000.8.(http://www.secg.org) [SHS] FIPS 180-2, "Secure Hash Standard", National Institute of Standards and Technology, 2002. 7. Author's AddressSimon Blake-Wilson Certicom Corp. sblake-wilson@certicom.com Paul Fahn Certicom Corp. pfahn@certicom.com 9. Full Copyright StatementJerome A. Solinas National Security Agency jsolinas@orion.ncsc.mil Comments are solicited and should be addressed to the author. Copyright (C) The Internet Society(1999). All Rights Reserved.(2005). This documentand translations of it may be copied and furnishedis subject toothers, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided thattheabove copyright notice and this paragraph are included on all such copiesrights, licenses andderivative works. However, this document itself may not be modifiedrestrictions contained inany way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations,BCP 78, and except asneeded forset forth therein, thepurpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.authors retain all their rights. This document and the information contained hereinisare provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCEDISCLAIMSDISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Expires October 2, 2005