| < draft-merkle-ikev2-ke-brainpool-03.txt | draft-merkle-ikev2-ke-brainpool-06.txt > | |||
|---|---|---|---|---|
| Network Working Group J. Merkle | Network Working Group J. Merkle | |||
| Internet-Draft secunet Security Networks | Internet-Draft secunet Security Networks | |||
| Intended status: Informational M. Lochter | Intended status: Informational M. Lochter | |||
| Expires: August 11, 2013 Bundesamt fuer Sicherheit in der | Expires: October 25, 2013 Bundesamt fuer Sicherheit in der | |||
| Informationstechnik (BSI) | Informationstechnik (BSI) | |||
| February 7, 2013 | April 23, 2013 | |||
| Using the ECC Brainpool Curves for IKEv2 Key Exchange | Using the ECC Brainpool Curves for IKEv2 Key Exchange | |||
| draft-merkle-ikev2-ke-brainpool-03 | draft-merkle-ikev2-ke-brainpool-06 | |||
| Abstract | Abstract | |||
| This document specifies the use of ECC Brainpool elliptic curve | This document specifies the use of ECC Brainpool elliptic curve | |||
| groups for key exchange in the Internet Key Exchange version 2 | groups for key exchange in the Internet Key Exchange version 2 | |||
| (IKEv2) protocol. | (IKEv2) protocol. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| skipping to change at page 1, line 34 ¶ | skipping to change at page 1, line 34 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on August 11, 2013. | This Internet-Draft will expire on October 25, 2013. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2013 IETF Trust and the persons identified as the | Copyright (c) 2013 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 2, line 15 ¶ | skipping to change at page 2, line 15 ¶ | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 | 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 | |||
| 2. IKEv2 Key Exchange using the ECC Brainpool Curves . . . . . . 4 | 2. IKEv2 Key Exchange using the ECC Brainpool Curves . . . . . . 4 | |||
| 2.1. Diffie-Hellman Group Transform IDs . . . . . . . . . . . . 4 | 2.1. Diffie-Hellman Group Transform IDs . . . . . . . . . . . . 4 | |||
| 2.2. Using the Twisted Brainpool Curves Internally . . . . . . 4 | 2.2. Using the Twisted Brainpool Curves Internally . . . . . . 4 | |||
| 2.3. Key Exchange Payload and Shared Secret . . . . . . . . . . 4 | 2.3. Key Exchange Payload and Shared Secret . . . . . . . . . . 4 | |||
| 3. Security Considerations . . . . . . . . . . . . . . . . . . . 6 | 3. Security Considerations . . . . . . . . . . . . . . . . . . . 6 | |||
| 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 5. Intellectual Property Rights . . . . . . . . . . . . . . . . . 8 | 5. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 6. References . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 5.1. Normative References . . . . . . . . . . . . . . . . . . . 8 | |||
| 6.1. Normative References . . . . . . . . . . . . . . . . . . . 9 | 5.2. Informative References . . . . . . . . . . . . . . . . . . 8 | |||
| 6.2. Informative References . . . . . . . . . . . . . . . . . . 9 | Appendix A. Test Vectors . . . . . . . . . . . . . . . . . . . . 10 | |||
| Appendix A. Test Vectors . . . . . . . . . . . . . . . . . . . . 11 | A.1. 224 Bit Curve . . . . . . . . . . . . . . . . . . . . . . 10 | |||
| A.1. 224 Bit Curve . . . . . . . . . . . . . . . . . . . . . . 11 | A.2. 256 Bit Curve . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| A.2. 256 Bit Curve . . . . . . . . . . . . . . . . . . . . . . 12 | A.3. 384 Bit Curve . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| A.3. 384 Bit Curve . . . . . . . . . . . . . . . . . . . . . . 12 | A.4. 512 Bit Curve . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| A.4. 512 Bit Curve . . . . . . . . . . . . . . . . . . . . . . 13 | ||||
| 1. Introduction | 1. Introduction | |||
| In [RFC5639], a new set of elliptic curve groups over finite prime | In [RFC5639], a new set of elliptic curve groups over finite prime | |||
| fields for use in cryptographic applications was specified. These | fields for use in cryptographic applications was specified. These | |||
| groups, denoted as ECC Brainpool curves, were generated in a | groups, denoted as ECC Brainpool curves, were generated in a | |||
| verifiably pseudo-random way and comply with the security | verifiably pseudo-random way and comply with the security | |||
| requirements of relevant standards from ISO [ISO1] [ISO2], ANSI | requirements of relevant standards from ISO [ISO1] [ISO2], ANSI | |||
| [ANSI1], NIST [FIPS], and SecG [SEC2]. | [ANSI1], NIST [FIPS], and SecG [SEC2]. | |||
| skipping to change at page 4, line 18 ¶ | skipping to change at page 4, line 18 ¶ | |||
| In order to use the ECC Brainpool curves for key exchange within | In order to use the ECC Brainpool curves for key exchange within | |||
| IKEv2, the Diffie-Hellman Group Transform IDs (Transform Type 4) | IKEv2, the Diffie-Hellman Group Transform IDs (Transform Type 4) | |||
| listed in the following table are to be registered with IANA | listed in the following table are to be registered with IANA | |||
| [IANA-IKE2]. The parameters associated with these curves are defined | [IANA-IKE2]. The parameters associated with these curves are defined | |||
| in RFC 5639 [RFC5639]. | in RFC 5639 [RFC5639]. | |||
| +-----------------+--------------+ | +-----------------+--------------+ | |||
| | Curve | Transform ID | | | Curve | Transform ID | | |||
| +-----------------+--------------+ | +-----------------+--------------+ | |||
| | brainpoolP224r1 | TBD1 | | | brainpoolP224r1 | 27 | | |||
| | | | | | | | | |||
| | brainpoolP256r1 | TBD2 | | | brainpoolP256r1 | 28 | | |||
| | | | | | | | | |||
| | brainpoolP384r1 | TBD3 | | | brainpoolP384r1 | 29 | | |||
| | | | | | | | | |||
| | brainpoolP512r1 | TBD4 | | | brainpoolP512r1 | 30 | | |||
| +-----------------+--------------+ | +-----------------+--------------+ | |||
| Table 1 | Table 1 | |||
| Test vectors for the groups defined by the ECC Brainpool curves are | Test vectors for the groups defined by the ECC Brainpool curves are | |||
| provided in Appendix A | provided in Appendix A | |||
| 2.2. Using the Twisted Brainpool Curves Internally | 2.2. Using the Twisted Brainpool Curves Internally | |||
| In [RFC5639] for each random curve, a "twisted curve" (defined by a | In [RFC5639] for each random curve, a "twisted curve" (defined by a | |||
| skipping to change at page 6, line 10 ¶ | skipping to change at page 6, line 10 ¶ | |||
| In particular, the shared secret value MUST be computed from the x | In particular, the shared secret value MUST be computed from the x | |||
| coordinate of the Diffie-Hellman common value using the FieldElement- | coordinate of the Diffie-Hellman common value using the FieldElement- | |||
| to-OctetString conversion method specified in [SEC1] and MUST have | to-OctetString conversion method specified in [SEC1] and MUST have | |||
| bit length as indicated in the Table 2. | bit length as indicated in the Table 2. | |||
| 3. Security Considerations | 3. Security Considerations | |||
| The security considerations of [RFC5996] apply accordingly. | The security considerations of [RFC5996] apply accordingly. | |||
| In order to thwart certain active attacks, the validity of the other | In order to thwart certain active attacks, the validity of the other | |||
| peer's public Diffie-Hellmann key recovered from the received key | peer's public Diffie-Hellmann value (x,y) recovered from the received | |||
| exchange payload needs to be verified. In particular, the | key exchange payload needs to be verified. In particular, it MUST be | |||
| recomendations and requirements of [IKE_DH_Req] MUST be observed. | verified that the coordinates x and y of the public value satisfy the | |||
| For the curves listed in Table 1, Section 2.3 of [IKE_DH_Req] | curve equation. For additional information we refer to [IKE_DH_Req]. | |||
| applies. | ||||
| The confidentiality, authenticity and integrity of a secure | The confidentiality, authenticity and integrity of a secure | |||
| communication based on IKEv2 is limited by the weakest cryptographic | communication based on IKEv2 is limited by the weakest cryptographic | |||
| primitive applied. In order to achieve a maximum security level when | primitive applied. In order to achieve a maximum security level when | |||
| using one of the elliptic curves from Table 1 for key exchange, the | using one of the elliptic curves from Table 1 for key exchange, the | |||
| key derivation function, the algorithms and key lengths of symmetric | key derivation function, the algorithms and key lengths of symmetric | |||
| encryption and message authentication as well as the algorithm, bit | encryption and message authentication as well as the algorithm, bit | |||
| length and hash function used for signature generation should be | length and hash function used for signature generation should be | |||
| chosen according to the recommendations of [NIST800-57] and | chosen according to the recommendations of [NIST800-57] and | |||
| [RFC5639]. Furthermore, the private Diffie-Hellman keys should be | [RFC5639]. Furthermore, the private Diffie-Hellman keys should be | |||
| selected with the same bit length as the order of the group generated | selected with the same bit length as the order of the group generated | |||
| by the base point G and with approximately maximum entropy. | by the base point G and with approximately maximum entropy. | |||
| Implementations of elliptic curve cryptography for IKEv2 may be | Implementations of elliptic curve cryptography for IKEv2 could be | |||
| susceptible to side-channel attacks. Particular care should be taken | susceptible to side-channel attacks. Particular care should be taken | |||
| for implementations that internally use the corresponding twisted | for implementations that internally use the corresponding twisted | |||
| curve to take advantage of an efficient arithmetic for the special | curve to take advantage of an efficient arithmetic for the special | |||
| parameters (A = -3): although the twisted curve itself offers the | parameters (A = -3): although the twisted curve itself offers the | |||
| same level of security as the corresponding random curve (through | same level of security as the corresponding random curve (through | |||
| mathematical equivalence), an arithmetic based on small curve | mathematical equivalence), an arithmetic based on small curve | |||
| parameters may be harder to protect against side-channel attacks. | parameters could be harder to protect against side-channel attacks. | |||
| General guidance on resistence of elliptic curve cryptography | General guidance on resistence of elliptic curve cryptography | |||
| implementations against side-channel-attacks is given in [BSI1] and | implementations against side-channel-attacks is given in [BSI1] and | |||
| [HMV]. | [HMV]. | |||
| 4. IANA Considerations | 4. IANA Considerations | |||
| Before this document can become an RFC, IANA is required to assign | IANA has updated its Transform Type 4 (Diffie-Hellman Group | |||
| Transform Type 4 (Diffie-Hellman Group Transform) IDs to the groups | Transform) registry in [IANA-IKE2] to include the groups listed in | |||
| specified in Table 1 for the Internet Key Exchange Version 2 (IKEv2) | Table 1. | |||
| Parameters registry [IANA-IKE2]. For the new entries in the table of | ||||
| the Transform Type 4 repository, a reference to Section 2.3 of | ||||
| [IKE_DH_Req] shall be included in the column named "Recipient Tests" | ||||
| indicating the required checks for the other peer's Diffie-Hellman | ||||
| public keys. | ||||
| Another I-D is being submitted for publication as RFC [BP_IKE] | ||||
| requesting assignment for the same groups in the corresponding | ||||
| registry for IKEv1; in order to keep the registries for IKEv1 and | ||||
| IKEv2 in accordance, IANA is requested to assign the same values in | ||||
| both registries. | ||||
| 5. Intellectual Property Rights | ||||
| Although, the authors have no knowledge about any intellectual | ||||
| property rights which cover the general usage of the ECP groups | ||||
| defined herein, implementations based on these domain parameters may | ||||
| require use of inventions covered by patent rights. In particular, | ||||
| techniques for an efficient arithmetic based on the special | ||||
| parameters of the twisted curves as explained in Section 2.1 may be | ||||
| covered by patents. | ||||
| 6. References | 5. References | |||
| 6.1. Normative References | 5.1. Normative References | |||
| [IANA-IKE2] Internet Assigned Numbers Authority, "Internet Key | [IANA-IKE2] Internet Assigned Numbers Authority, "Internet Key | |||
| Exchange Version 2 (IKEv2) Parameters", | Exchange Version 2 (IKEv2) Parameters", | |||
| <http://www.iana.org/assignments/ikev2-parameters>. | <http://www.iana.org/assignments/ikev2-parameters>. | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
| [RFC5996] Kaufman, C., Hoffman, P., Nir, Y., and P. Eronen, | [RFC5996] Kaufman, C., Hoffman, P., Nir, Y., and P. Eronen, | |||
| "Internet Key Exchange Protocol Version 2 (IKEv2)", | "Internet Key Exchange Protocol Version 2 (IKEv2)", | |||
| RFC 5996, September 2010. | RFC 5996, September 2010. | |||
| [RFC5639] Lochter, M. and J. Merkle, "Elliptic Curve Cryptography | [RFC5639] Lochter, M. and J. Merkle, "Elliptic Curve Cryptography | |||
| (ECC) Brainpool Standard Curves and Curve Generation", | (ECC) Brainpool Standard Curves and Curve Generation", | |||
| RFC 5639, March 2010. | RFC 5639, March 2010. | |||
| [IKE_DH_Req] Sheffer, Y. and S. Fluhrer, "Additional Diffie-Hellman | [SEC1] Certicom Research, "Elliptic Curve Cryptography", | |||
| Tests for IKEv2 (work in progress)", | Standards for Efficient Cryptography (SEC) 1, | |||
| draft-ietf-ipsecme-dh-checks-00 (work in progress), | September 2000. | |||
| January 2013. | ||||
| 6.2. Informative References | 5.2. Informative References | |||
| [ANSI1] American National Standards Institute, "Public Key | [ANSI1] American National Standards Institute, "Public Key | |||
| Cryptography For The Financial Services Industry: The | Cryptography For The Financial Services Industry: The | |||
| Elliptic Curve Digital Signature Algorithm (ECDSA)", | Elliptic Curve Digital Signature Algorithm (ECDSA)", | |||
| ANSI X9.62, 2005. | ANSI X9.62, 2005. | |||
| [BSI1] Bundesamt fuer Sicherheit in der Informationstechnik, | [BSI1] Bundesamt fuer Sicherheit in der Informationstechnik, | |||
| "Minimum Requirements for Evaluating Side-Channel | "Minimum Requirements for Evaluating Side-Channel | |||
| Attack Resistance of Elliptic Curve Implementations", | Attack Resistance of Elliptic Curve Implementations", | |||
| July 2011. | July 2011. | |||
| [FIPS] National Institute of Standards and Technology, | [FIPS] National Institute of Standards and Technology, | |||
| "Digital Signature Standard (DSS)", FIPS PUB 186-2, | "Digital Signature Standard (DSS)", FIPS PUB 186-2, | |||
| December 1998. | December 1998. | |||
| [BP_IKE] Harkins, D., "Brainpool Elliptic Curves for the IKE | ||||
| Group Description Registry (work in progress)", | ||||
| draft-harkins-brainpool-ike-groups-04 (work in | ||||
| progress), August 2012. | ||||
| [HMV] Hankerson, D., Menezes, A., and S. Vanstone, "Guide to | [HMV] Hankerson, D., Menezes, A., and S. Vanstone, "Guide to | |||
| Elliptic Curve Cryptography", Springer Verlag, 2004. | Elliptic Curve Cryptography", Springer Verlag, 2004. | |||
| [IKE_DH_Req] Sheffer, Y. and S. Fluhrer, "Additional Diffie-Hellman | ||||
| Tests for IKEv2 (work in progress)", | ||||
| draft-ietf-ipsecme-dh-checks-00 (work in progress), | ||||
| January 2013. | ||||
| [ISO1] International Organization for Standardization, | [ISO1] International Organization for Standardization, | |||
| "Information Technology - Security Techniques - Digital | "Information Technology - Security Techniques - Digital | |||
| Signatures with Appendix - Part 3: Discrete Logarithm | Signatures with Appendix - Part 3: Discrete Logarithm | |||
| Based Mechanisms", ISO/IEC 14888-3, 2006. | Based Mechanisms", ISO/IEC 14888-3, 2006. | |||
| [ISO2] International Organization for Standardization, | [ISO2] International Organization for Standardization, | |||
| "Information Technology - Security Techniques - | "Information Technology - Security Techniques - | |||
| Cryptographic Techniques Based on Elliptic Curves - | Cryptographic Techniques Based on Elliptic Curves - | |||
| Part 2: Digital signatures", ISO/IEC 15946-2, 2002. | Part 2: Digital signatures", ISO/IEC 15946-2, 2002. | |||
| skipping to change at page 10, line 28 ¶ | skipping to change at page 9, line 26 ¶ | |||
| March 2007. | March 2007. | |||
| [RFC5903] Fu, D. and J. Solinas, "Elliptic Curve Groups modulo a | [RFC5903] Fu, D. and J. Solinas, "Elliptic Curve Groups modulo a | |||
| Prime (ECP Groups) for IKE and IKEv2", RFC 5903, | Prime (ECP Groups) for IKE and IKEv2", RFC 5903, | |||
| June 2010. | June 2010. | |||
| [RFC6090] McGrew, D., Igoe, K., and M. Salter, "Fundamental | [RFC6090] McGrew, D., Igoe, K., and M. Salter, "Fundamental | |||
| Elliptic Curve Cryptography Algorithms", RFC 6090, | Elliptic Curve Cryptography Algorithms", RFC 6090, | |||
| February 2011. | February 2011. | |||
| [SEC1] Certicom Research, "Elliptic Curve Cryptography", | ||||
| Standards for Efficient Cryptography (SEC) 1, | ||||
| September 2000. | ||||
| [SEC2] Certicom Research, "Recommended Elliptic Curve Domain | [SEC2] Certicom Research, "Recommended Elliptic Curve Domain | |||
| Parameters", Standards for Efficient Cryptography | Parameters", Standards for Efficient Cryptography | |||
| (SEC) 2, September 2000. | (SEC) 2, September 2000. | |||
| Appendix A. Test Vectors | Appendix A. Test Vectors | |||
| This section provides some test vectors for example Diffie-Hellman | This section provides some test vectors for example Diffie-Hellman | |||
| key exchanges using each of the curves defined in Section 2 . In all | key exchanges using each of the curves defined in Section 2 . In all | |||
| of the following sections the following notation is used: | of the following sections the following notation is used: | |||
| End of changes. 20 change blocks. | ||||
| 64 lines changed or deleted | 36 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||