1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277
|
<pre>Internet Engineering Task Force (IETF) Y. Nir
Request for Comments: 8420 Dell EMC
Category: Standards Track August 2018
ISSN: 2070-1721
<span class="h1">Using the Edwards-Curve Digital Signature Algorithm (EdDSA) in the</span>
<span class="h1">Internet Key Exchange Protocol Version 2 (IKEv2)</span>
Abstract
This document describes the use of the Edwards-curve Digital
Signature Algorithm (EdDSA) in the Internet Key Exchange Protocol
Version 2 (IKEv2).
Status of This Memo
This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in <a href="./rfc7841#section-2">Section 2 of RFC 7841</a>.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
<a href="https://www.rfc-editor.org/info/rfc8420">https://www.rfc-editor.org/info/rfc8420</a>.
Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a> and the IETF Trust's Legal
Provisions Relating to IETF Documents
(<a href="https://trustee.ietf.org/license-info">https://trustee.ietf.org/license-info</a>) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
<span class="grey">Nir Standards Track [Page 1]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-2" ></span>
<span class="grey"><a href="./rfc8420">RFC 8420</a> EdDSA in IKEv2 August 2018</span>
Table of Contents
<a href="#section-1">1</a>. Introduction ....................................................<a href="#page-2">2</a>
<a href="#section-1.1">1.1</a>. Conventions Used in This Document ..........................<a href="#page-3">3</a>
<a href="#section-2">2</a>. The "Identity" Hash Identifier ..................................<a href="#page-3">3</a>
<a href="#section-3">3</a>. Security Considerations .........................................<a href="#page-3">3</a>
<a href="#section-4">4</a>. IANA Considerations .............................................<a href="#page-3">3</a>
<a href="#section-5">5</a>. Normative References ............................................<a href="#page-3">3</a>
<a href="#appendix-A">Appendix A</a>. ASN.1 Objects .........................................<a href="#page-4">4</a>
<a href="#appendix-A.1">A.1</a>. ASN.1 Object for Ed25519 ...................................<a href="#page-4">4</a>
<a href="#appendix-A.2">A.2</a>. ASN.1 Object for Ed448 .....................................<a href="#page-4">4</a>
Author's Address ...................................................<a href="#page-5">5</a>
<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>. Introduction</span>
The Internet Key Exchange Protocol Version 2 [<a href="./rfc7296" title=""Internet Key Exchange Protocol Version 2 (IKEv2)"">RFC7296</a>] can use
arbitrary signature algorithms as described in [<a href="./rfc7427" title=""Signature Authentication in the Internet Key Exchange Version 2 (IKEv2)"">RFC7427</a>]. [<a href="./rfc7427" title=""Signature Authentication in the Internet Key Exchange Version 2 (IKEv2)"">RFC7427</a>]
defines the SIGNATURE_HASH_ALGORITHMS notification where each side of
the IKE negotiation lists its supported hash algorithms. This
assumes that all signature schemes involve a hashing phase followed
by a signature phase. This made sense because most signature
algorithms either cannot sign messages bigger than their key or
truncate messages bigger than their key.
EdDSA [<a href="./rfc8032" title=""Edwards-Curve Digital Signature Algorithm (EdDSA)"">RFC8032</a>] defines signature methods that do not require
prehashing of the message. Unlike other methods, these accept
messages of arbitrary size, so no prehashing is required. These
methods are called Ed25519 and Ed448; they use the Edwards 25519 and
the Edwards 448 ("Goldilocks") curves, respectively. Although that
document also defines prehashed versions of these algorithms, those
versions are not recommended for protocols where there is minimal
burden in buffering the entire message so as to make it practical to
make two passes over the message. This is true of IKEv2. See
<a href="./rfc8032#section-8.5">Section 8.5 of [RFC8032]</a> for that recommendation.
EdDSA defines the binary format of the signatures that should be used
in the "Signature Value" field of the Authentication Data Format in
<a href="./rfc8032#section-3">Section 3 of RFC 8032</a>. [<a href="./rfc8410" title=""Algorithm Identifiers for Ed25519, Ed448, X25519, and X448 for Use in the Internet X.509 Public Key Infrastructure"">RFC8410</a>] defines the object identifiers
(OIDs) for these signature methods. For convenience, these OIDs are
repeated in <a href="#appendix-A">Appendix A</a>.
In order to signal within IKE that no hashing needs to be done, we
define a new value in the SIGNATURE_HASH_ALGORITHMS notification to
indicate that no hashing is performed.
<span class="grey">Nir Standards Track [Page 2]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-3" ></span>
<span class="grey"><a href="./rfc8420">RFC 8420</a> EdDSA in IKEv2 August 2018</span>
<span class="h3"><a class="selflink" id="section-1.1" href="#section-1.1">1.1</a>. Conventions Used in This Document</span>
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
<a href="https://www.rfc-editor.org/bcp/bcp14">BCP 14</a> [<a href="./rfc2119" title=""Key words for use in RFCs to Indicate Requirement Levels"">RFC2119</a>] [<a href="./rfc8174" title=""Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words"">RFC8174</a>] when, and only when, they appear in all
capitals, as shown here.
<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>. The "Identity" Hash Identifier</span>
This document defines a new value called "Identity" (5) in the "IKEv2
Hash Algorithms" registry for use in the SIGNATURE_HASH_ALGORITHMS
notification. Inserting this new value into the notification
indicates that the receiver supports at least one signature algorithm
that accepts messages of arbitrary size such as Ed25519 and Ed448.
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
"Identity" hash.
The prehashed versions of Ed25519 and Ed448 (Ed25519ph and Ed448ph,
respectively) MUST NOT be used in IKE.
<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>. Security Considerations</span>
The new "Identity" value is needed only for signature algorithms that
accept an input of arbitrary size. It MUST NOT be used if none of
the supported and configured algorithms have this property. On the
other hand, there is no good reason to prehash the inputs where the
signature algorithm has that property. For this reason,
implementations MUST have the "Identity" value in the
SIGNATURE_HASH_ALGORITHMS notification when EdDSA is supported and
configured. Implementations SHOULD NOT have other hash algorithms in
the notification if all supported and configured signature algorithms
have this property.
<span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a>. IANA Considerations</span>
IANA has assigned the value 5 for the algorithm with the name
"Identity" in the "IKEv2 Hash Algorithms" registry with this document
as reference.
<span class="h2"><a class="selflink" id="section-5" href="#section-5">5</a>. Normative References</span>
[<a id="ref-RFC2119">RFC2119</a>] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", <a href="https://www.rfc-editor.org/bcp/bcp14">BCP 14</a>, <a href="./rfc2119">RFC 2119</a>,
DOI 10.17487/RFC2119, March 1997,
<<a href="https://www.rfc-editor.org/info/rfc2119">https://www.rfc-editor.org/info/rfc2119</a>>.
<span class="grey">Nir Standards Track [Page 3]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-4" ></span>
<span class="grey"><a href="./rfc8420">RFC 8420</a> EdDSA in IKEv2 August 2018</span>
[<a id="ref-RFC7296">RFC7296</a>] Kaufman, C., Hoffman, P., Nir, Y., Eronen, P., and T.
Kivinen, "Internet Key Exchange Protocol Version 2
(IKEv2)", STD 79, <a href="./rfc7296">RFC 7296</a>, DOI 10.17487/RFC7296, October
2014, <<a href="https://www.rfc-editor.org/info/rfc7296">https://www.rfc-editor.org/info/rfc7296</a>>.
[<a id="ref-RFC7427">RFC7427</a>] Kivinen, T. and J. Snyder, "Signature Authentication in
the Internet Key Exchange Version 2 (IKEv2)", <a href="./rfc7427">RFC 7427</a>,
DOI 10.17487/RFC7427, January 2015,
<<a href="https://www.rfc-editor.org/info/rfc7427">https://www.rfc-editor.org/info/rfc7427</a>>.
[<a id="ref-RFC8032">RFC8032</a>] Josefsson, S. and I. Liusvaara, "Edwards-Curve Digital
Signature Algorithm (EdDSA)", <a href="./rfc8032">RFC 8032</a>,
DOI 10.17487/RFC8032, January 2017,
<<a href="https://www.rfc-editor.org/info/rfc8032">https://www.rfc-editor.org/info/rfc8032</a>>.
[<a id="ref-RFC8174">RFC8174</a>] Leiba, B., "Ambiguity of Uppercase vs Lowercase in <a href="./rfc2119">RFC</a>
<a href="./rfc2119">2119</a> Key Words", <a href="https://www.rfc-editor.org/bcp/bcp14">BCP 14</a>, <a href="./rfc8174">RFC 8174</a>, DOI 10.17487/RFC8174,
May 2017, <<a href="https://www.rfc-editor.org/info/rfc8174">https://www.rfc-editor.org/info/rfc8174</a>>.
[<a id="ref-RFC8410">RFC8410</a>] Josefsson, S. and J. Schaad, "Algorithm Identifiers for
Ed25519, Ed448, X25519, and X448 for Use in the Internet
X.509 Public Key Infrastructure", <a href="./rfc8410">RFC 8410</a>,
DOI 10.17487/RFC8410, August 2018,
<<a href="https://www.rfc-editor.org/info/rfc8410">https://www.rfc-editor.org/info/rfc8410</a>>.
<span class="h2"><a class="selflink" id="appendix-A" href="#appendix-A">Appendix A</a>. ASN.1 Objects</span>
[<a id="ref-RFC8410">RFC8410</a>] is the normative reference for the ASN.1 objects for
Ed25519 and Ed448. They are repeated below for convenience.
<span class="h3"><a class="selflink" id="appendix-A.1" href="#appendix-A.1">A.1</a>. ASN.1 Object for Ed25519</span>
id-Ed25519 OBJECT IDENTIFIER ::= { 1.3.101.112 }
Parameters are absent. Length is 7 bytes.
Binary encoding: 3005 0603 2B65 70
<span class="h3"><a class="selflink" id="appendix-A.2" href="#appendix-A.2">A.2</a>. ASN.1 Object for Ed448</span>
id-Ed448 OBJECT IDENTIFIER ::= { 1.3.101.113 }
Parameters are absent. Length is 7 bytes.
Binary encoding: 3005 0603 2B65 71
<span class="grey">Nir Standards Track [Page 4]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-5" ></span>
<span class="grey"><a href="./rfc8420">RFC 8420</a> EdDSA in IKEv2 August 2018</span>
Author's Address
Yoav Nir
Dell EMC
9 Andrei Sakharov St
Haifa 3190500
Israel
Email: ynir.ietf@gmail.com
Nir Standards Track [Page 5]
</pre>
|