draft-ietf-ipsecme-eddsa-00.txt | draft-ietf-ipsecme-eddsa-01.txt | |||
---|---|---|---|---|
IPSecME Working Group Y. Nir | IPSecME Working Group Y. Nir | |||
Internet-Draft Check Point | Internet-Draft Check Point | |||
Intended status: Standards Track October 28, 2016 | Intended status: Standards Track March 12, 2017 | |||
Expires: May 1, 2017 | Expires: September 13, 2017 | |||
Using Edwards-curve Digital Signature Algorithm (EdDSA) in the Internet | Using Edwards-curve Digital Signature Algorithm (EdDSA) in the Internet | |||
Key Exchange (IKEv2) | Key Exchange (IKEv2) | |||
draft-ietf-ipsecme-eddsa-00 | draft-ietf-ipsecme-eddsa-01 | |||
Abstract | Abstract | |||
This document describes the use of the Edwards-curve digital | This document describes the use of the Edwards-curve digital | |||
signature algorithm in the IKEv2 protocol. | signature algorithm in the 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 | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
skipping to change at page 1, line 32 ¶ | skipping to change at page 1, line 32 ¶ | |||
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 May 1, 2017. | This Internet-Draft will expire on September 13, 2017. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2016 IETF Trust and the persons identified as the | Copyright (c) 2017 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 | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
1.1. Conventions Used in This Document . . . . . . . . . . . . 2 | 1.1. Conventions Used in This Document . . . . . . . . . . . . 3 | |||
2. The "Identity" Hash Identifier . . . . . . . . . . . . . . . 3 | 2. The "Identity" Hash Identifier . . . . . . . . . . . . . . . 3 | |||
3. Security Considerations . . . . . . . . . . . . . . . . . . . 3 | 3. Security Considerations . . . . . . . . . . . . . . . . . . . 3 | |||
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 3 | 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 3 | |||
5. Normative References . . . . . . . . . . . . . . . . . . . . 3 | 5. Normative References . . . . . . . . . . . . . . . . . . . . 3 | |||
Appendix A. ASN.1 Objects . . . . . . . . . . . . . . . . . . . 5 | Appendix A. ASN.1 Objects . . . . . . . . . . . . . . . . . . . 5 | |||
A.1. ASN.1 Object for Ed25519 . . . . . . . . . . . . . . . . 5 | A.1. ASN.1 Object for Ed25519 . . . . . . . . . . . . . . . . 5 | |||
A.2. ASN.1 Object for Ed448 . . . . . . . . . . . . . . . . . 5 | A.2. ASN.1 Object for Ed448 . . . . . . . . . . . . . . . . . 5 | |||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 5 | Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
1. Introduction | 1. Introduction | |||
The Internet Key Exchange protocol [RFC7296] can use arbitrary | The Internet Key Exchange protocol [RFC7296] can use arbitrary | |||
signature algorithms as described in [RFC7427]. The latter RFC | signature algorithms as described in [RFC7427]. The latter RFC | |||
defines the SIGNATURE_HASH_ALGORITHMS notification where each side of | defines the SIGNATURE_HASH_ALGORITHMS notification where each side of | |||
the IKE negotiation lists its supported hash algorithms. This | the IKE negotiation lists its supported hash algorithms. This | |||
assumes that all signature schemes involve a hashing phase followed | assumes that all signature schemes involve a hashing phase followed | |||
by a signature phase. This made sense because most signature | by a signature phase. This made sense because most signature | |||
algorithms either cannot sign messages bigger than their key or | algorithms either cannot sign messages bigger than their key or | |||
truncate messages bigger than their key. | truncate messages bigger than their key. | |||
EdDSA ([I.D-eddsa]) defines signature methods that do not require | EdDSA ([RFC8032]) defines signature methods that do not require pre- | |||
pre-hashing of the message. Unlike other methods, these accept | hashing of the message. Unlike other methods, these accept | |||
arbitrary-sized messages, so no pre-hashing is required. These | arbitrary-sized messages, so no pre-hashing is required. These | |||
methods are called Ed25519 and Ed448, which respectively use the | methods are called Ed25519 and Ed448, which respectively use the | |||
Edwards 25519 and the Edwards 448 ("Goldilocks") curves. Although | Edwards 25519 and the Edwards 448 ("Goldilocks") curves. Although | |||
that document also defines pre-hashed versions of these algorithm, | that document also defines pre-hashed versions of these algorithm, | |||
those versions are not recommended for protocols where the entire to- | those versions are not recommended for protocols where the entire to- | |||
be-signed message is available at once. | be-signed message is available at once. See section 8.5 or RFC 8032 | |||
for that recommendation. | ||||
EdDSA defines the binary format of the signatures that should be used | EdDSA defines the binary format of the signatures that should be used | |||
in the "Signature Value" field of the Authentication Data Format in | in the "Signature Value" field of the Authentication Data Format in | |||
section 3. The CURDLE PKIX document ([I.D-curdle-pkix]) defines the | section 3. The CURDLE PKIX document ([I.D-curdle-pkix]) defines the | |||
object identifiers (OIDs) for these signature methods. For | object identifiers (OIDs) for these signature methods. For | |||
convenience, these OIDs are repeated in Appendix A. | convenience, these OIDs are repeated in Appendix A. | |||
In order to signal within IKE that no hashing needs to be done, we | In order to signal within IKE that no hashing needs to be done, we | |||
define a new value has in the SIGNATURE_HASH_ALGORITHMS notification, | define a new value has in the SIGNATURE_HASH_ALGORITHMS notification, | |||
one that indicates that no hashing is performed. | one that indicates that no hashing is performed. | |||
skipping to change at page 3, line 37 ¶ | skipping to change at page 3, line 43 ¶ | |||
either does not require it or performs a hash internally. For this | either does not require it or performs a hash internally. For this | |||
reason implementations SHOULD have the "Identity" value in the | reason implementations SHOULD have the "Identity" value in the | |||
SIGNATURE_HASH_ALGORITHMS notification when they support EdDSA. | SIGNATURE_HASH_ALGORITHMS notification when they support EdDSA. | |||
Implementations SHOULD NOT have other hash algorithms in the | Implementations SHOULD NOT have other hash algorithms in the | |||
notification if all signature algorithms have this property. | notification if all signature algorithms have this property. | |||
4. IANA Considerations | 4. IANA Considerations | |||
IANA is requested to assign a new value from the "IKEv2 Hash | IANA is requested to assign a new value from the "IKEv2 Hash | |||
Algorithms" registry with name "Identity" and this document as | Algorithms" registry with name "Identity" and this document as | |||
reference. Since the value zero was reserved by RFC 7427 and this | reference. | |||
"Identity" hash is no hash at all, assigning the value zero to | ||||
Identity seems appropriate. | ||||
5. Normative References | 5. Normative References | |||
[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, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<http://www.rfc-editor.org/info/rfc2119>. | <http://www.rfc-editor.org/info/rfc2119>. | |||
[RFC7296] Kaufman, C., Hoffman, P., Nir, Y., Eronen, P., and T. | [RFC7296] Kaufman, C., Hoffman, P., Nir, Y., Eronen, P., and T. | |||
Kivinen, "Internet Key Exchange Protocol Version 2 | Kivinen, "Internet Key Exchange Protocol Version 2 | |||
(IKEv2)", STD 79, RFC 7296, DOI 10.17487/RFC7296, October | (IKEv2)", STD 79, RFC 7296, DOI 10.17487/RFC7296, October | |||
2014, <http://www.rfc-editor.org/info/rfc7296>. | 2014, <http://www.rfc-editor.org/info/rfc7296>. | |||
[RFC7427] Kivinen, T. and J. Snyder, "Signature Authentication in | [RFC7427] Kivinen, T. and J. Snyder, "Signature Authentication in | |||
the Internet Key Exchange Version 2 (IKEv2)", RFC 7427, | the Internet Key Exchange Version 2 (IKEv2)", RFC 7427, | |||
DOI 10.17487/RFC7427, January 2015, | DOI 10.17487/RFC7427, January 2015, | |||
<http://www.rfc-editor.org/info/rfc7427>. | <http://www.rfc-editor.org/info/rfc7427>. | |||
[I.D-eddsa] | [RFC8032] Josefsson, S. and I. Liusvaara, "Edwards-Curve Digital | |||
Josefsson, S. and I. Liusvaara, "Edwards-curve Digital | Signature Algorithm (EdDSA)", RFC 8032, | |||
Signature Algorithm (EdDSA)", August 2016, | DOI 10.17487/RFC8032, January 2017, | |||
<https://tools.ietf.org/html/draft-irtf-cfrg-eddsa- | <http://www.rfc-editor.org/info/rfc8032>. | |||
08.html>. | ||||
[I.D-curdle-pkix] | [I.D-curdle-pkix] | |||
Josefsson, S. and J. Schaad, "Algorithm Identifiers for | Josefsson, S. and J. Schaad, "Algorithm Identifiers for | |||
Ed25519, Ed25519ph, Ed448, Ed448ph, X25519 and X448 for | Ed25519, Ed25519ph, Ed448, Ed448ph, X25519 and X448 for | |||
use in the Internet X.509 Public Key Infrastructure", | use in the Internet X.509 Public Key Infrastructure", | |||
August 2016, <https://tools.ietf.org/html/draft-ietf- | November 2016, <https://tools.ietf.org/html/draft-ietf- | |||
curdle-pkix-01>. | curdle-pkix-03>. | |||
Appendix A. ASN.1 Objects | Appendix A. ASN.1 Objects | |||
The normative reference for the ASN.1 objects for Ed25519 and Ed448 | The normative reference for the ASN.1 objects for Ed25519 and Ed448 | |||
is in [I.D-curdle-pkix]. They are repeated below for convenience. | is in [I.D-curdle-pkix]. They are repeated below for convenience. | |||
A.1. ASN.1 Object for Ed25519 | A.1. ASN.1 Object for Ed25519 | |||
id-Ed25519 OBJECT IDENTIFIER ::= { 1.3.101.112 } | id-Ed25519 OBJECT IDENTIFIER ::= { 1.3.101.112 } | |||
End of changes. 10 change blocks. | ||||
19 lines changed or deleted | 17 lines changed or added | |||
This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |