draft-ietf-ipsecme-eddsa-04.txt   rfc8420.txt 
IPSecME Working Group Y. Nir Internet Engineering Task Force (IETF) Y. Nir
Internet-Draft Dell EMC Request for Comments: 8420 Dell EMC
Intended status: Standards Track October 26, 2017 Category: Standards Track August 2018
Expires: April 29, 2018 ISSN: 2070-1721
Using Edwards-curve Digital Signature Algorithm (EdDSA) in the Internet Using the Edwards-Curve Digital Signature Algorithm (EdDSA) in the
Key Exchange (IKEv2) Internet Key Exchange Protocol Version 2 (IKEv2)
draft-ietf-ipsecme-eddsa-04
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 (EdDSA) in the Internet Key Exchange Protocol
Version 2 (IKEv2).
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This is an Internet Standards Track document.
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
This Internet-Draft will expire on April 29, 2018. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc8420.
Copyright Notice Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the Copyright (c) 2018 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
(https://trustee.ietf.org/license-info) in effect on the date of (https://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 . . . . . . . . . . . . 3 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 .........................................4
A.1. ASN.1 Object for Ed25519 . . . . . . . . . . . . . . . . 5 A.1. ASN.1 Object for Ed25519 ...................................4
A.2. ASN.1 Object for Ed448 . . . . . . . . . . . . . . . . . 5 A.2. ASN.1 Object for Ed448 .....................................4
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 Version 2 [RFC7296] can use
signature algorithms as described in [RFC7427]. The latter RFC arbitrary signature algorithms as described in [RFC7427]. [RFC7427]
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 ([RFC8032]) defines signature methods that do not require pre- EdDSA [RFC8032] defines signature methods that do not require
hashing of the message. Unlike other methods, these accept prehashing of the message. Unlike other methods, these accept
arbitrary-sized messages, so no pre-hashing is required. These messages of arbitrary size, so no prehashing is required. These
methods are called Ed25519 and Ed448, which respectively use the methods are called Ed25519 and Ed448; they use the Edwards 25519 and
Edwards 25519 and the Edwards 448 ("Goldilocks") curves. Although the Edwards 448 ("Goldilocks") curves, respectively. Although that
that document also defines pre-hashed versions of these algorithm, document also defines prehashed versions of these algorithms, those
those versions are not recommended for protocols where the entire to- versions are not recommended for protocols where there is minimal
be-signed message is available at once. See section 8.5 or RFC 8032 burden in buffering the entire message so as to make it practical to
for that recommendation. make two passes over the message. This is true of IKEv2. See
Section 8.5 of [RFC8032] 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 of RFC 8032. [RFC8410] defines the object identifiers
object identifiers (OIDs) for these signature methods. For (OIDs) for these signature methods. For convenience, these OIDs are
convenience, these OIDs are repeated in Appendix A. 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 in the SIGNATURE_HASH_ALGORITHMS notification, one define a new value in the SIGNATURE_HASH_ALGORITHMS notification to
that indicates that no hashing is performed. indicate that no hashing is performed.
1.1. Conventions Used in This Document 1.1. Conventions Used in This Document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
document are to be interpreted as described in [RFC2119]. "OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
2. The "Identity" Hash Identifier 2. The "Identity" Hash Identifier
This document defines a new value called "Identity" (value is 5) in This document defines a new value called "Identity" (5) in the "IKEv2
the hash algorithm registry for use in the SIGNATURE_HASH_ALGORITHMS Hash Algorithms" registry for use in the SIGNATURE_HASH_ALGORITHMS
notification. Inserting this new value into the notification notification. Inserting this new value into the notification
indicates that the receiver supports at least one signature algorithm indicates that the receiver supports at least one signature algorithm
that accepts arbitrary-sized messages such as Ed25519 and Ed448. that accepts messages of arbitrary size such as Ed25519 and Ed448.
Ed25519 and Ed448 are only defined with the Identity hash, and MUST Ed25519 and Ed448 are only defined with the "Identity" hash and MUST
NOT be sent to a receiver that has not indicated support for the NOT be sent to a receiver that has not indicated support for the
"Identity" hash. "Identity" hash.
The pre-hashed versions of Ed25519 and Ed448 (Ed25519ph and Ed448ph The prehashed versions of Ed25519 and Ed448 (Ed25519ph and Ed448ph,
respectively) MUST NOT be used in IKE. respectively) MUST NOT be used in IKE.
3. Security Considerations 3. Security Considerations
The new "Identity" value is needed only for signature algorithms that The new "Identity" value is needed only for signature algorithms that
accept an arbitrary-sized input. It MUST NOT be used if none of the accept an input of arbitrary size. It MUST NOT be used if none of
supported and configured algorithms have this property. On the other the supported and configured algorithms have this property. On the
hand there is no good reason to pre-hash the inputs where the other hand, there is no good reason to prehash the inputs where the
signature algorithm has that property. For this reason signature algorithm has that property. For this reason,
implementations MUST have the "Identity" value in the implementations MUST have the "Identity" value in the
SIGNATURE_HASH_ALGORITHMS notification when EdDSA is supported and SIGNATURE_HASH_ALGORITHMS notification when EdDSA is supported and
configured. Implementations SHOULD NOT have other hash algorithms in configured. Implementations SHOULD NOT have other hash algorithms in
the notification if all supported and configured signature algorithms the notification if all supported and configured signature algorithms
have this property. have this property.
4. IANA Considerations 4. IANA Considerations
IANA has assigned the value 5 for the algorithm with the name IANA has assigned the value 5 for the algorithm with the name
"Identity" in the "IKEv2 Hash Algorithms" registry with this draft as "Identity" in the "IKEv2 Hash Algorithms" registry with this document
reference. as reference.
Upon publication of this document IANA is requested to update the
entry with this document as reference.
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,
<https://www.rfc-editor.org/info/rfc2119>. <https://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
skipping to change at page 4, line 25 skipping to change at page 4, line 20
[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,
<https://www.rfc-editor.org/info/rfc7427>. <https://www.rfc-editor.org/info/rfc7427>.
[RFC8032] Josefsson, S. and I. Liusvaara, "Edwards-Curve Digital [RFC8032] Josefsson, S. and I. Liusvaara, "Edwards-Curve Digital
Signature Algorithm (EdDSA)", RFC 8032, Signature Algorithm (EdDSA)", RFC 8032,
DOI 10.17487/RFC8032, January 2017, DOI 10.17487/RFC8032, January 2017,
<https://www.rfc-editor.org/info/rfc8032>. <https://www.rfc-editor.org/info/rfc8032>.
[I.D-curdle-pkix] [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
Josefsson, S. and J. Schaad, "Algorithm Identifiers for 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
Ed25519, Ed25519ph, Ed448, Ed448ph, X25519 and X448 for May 2017, <https://www.rfc-editor.org/info/rfc8174>.
use in the Internet X.509 Public Key Infrastructure",
September 2017, [RFC8410] Josefsson, S. and J. Schaad, "Algorithm Identifiers for
<https://tools.ietf.org/html/draft-ietf-curdle-pkix-06>. Ed25519, Ed448, X25519, and X448 for Use in the Internet
X.509 Public Key Infrastructure", RFC 8410,
DOI 10.17487/RFC8410, August 2018,
<https://www.rfc-editor.org/info/rfc8410>.
Appendix A. ASN.1 Objects Appendix A. ASN.1 Objects
The normative reference for the ASN.1 objects for Ed25519 and Ed448 [RFC8410] is the normative reference for the ASN.1 objects for
is in [I.D-curdle-pkix]. They are repeated below for convenience. Ed25519 and Ed448. 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 }
Parameters are absent. Length is 7 bytes. Parameters are absent. Length is 7 bytes.
Binary encoding: 3005 0603 2B65 70 Binary encoding: 3005 0603 2B65 70
A.2. ASN.1 Object for Ed448 A.2. ASN.1 Object for Ed448
skipping to change at page 5, line 34 skipping to change at page 5, line 13
Binary encoding: 3005 0603 2B65 71 Binary encoding: 3005 0603 2B65 71
Author's Address Author's Address
Yoav Nir Yoav Nir
Dell EMC Dell EMC
9 Andrei Sakharov St 9 Andrei Sakharov St
Haifa 3190500 Haifa 3190500
Israel Israel
EMail: ynir.ietf@gmail.com Email: ynir.ietf@gmail.com
 End of changes. 22 change blocks. 
72 lines changed or deleted 72 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/