rfc-8420

Using the Edwards-Curve Digital Signature Algorithm (EdDSA) in the Internet Key Exchange Protocol Version 2 (IKEv2)

Y. Nir
date2018-08 streamIETF areasec wgipsecme statusPROPOSED STANDARD pages5 canonicalhttps://www.rfc-editor.org/rfc/rfc8420 doi10.17487/RFC8420
This document describes the use of the Edwards-curve Digital Signature Algorithm (EdDSA) in the Internet Key Exchange Protocol Version 2 (IKEv2).

Extracted elements (12)

design-rationale §1

EdDSA (Ed25519 and Ed448) accepts messages of arbitrary size without prehashing, unlike most signature algorithms that either cannot sign messages larger than their key or truncate them. RFC 7427's SIGNATURE_HASH_ALGORITHMS notification assumes a hashing phase followed by a signing phase, which does not apply to EdDSA; hence the new "Identity" value is introduced to signal no hashing is needed.

ipsec, crypto

design-rationale §1

Prehashed variants of EdDSA (Ed25519ph, Ed448ph) are not recommended for IKEv2 because there is minimal burden in buffering the entire message to make two passes, as recommended in RFC 8032 Section 8.5. IKEv2 is an appropriate protocol for the non-prehashed forms.

ipsec, crypto

interoperability-note §1

RFC 7427 defines SIGNATURE_HASH_ALGORITHMS where each IKE peer lists supported hash algorithms, assuming all signature schemes involve a hashing phase. EdDSA does not fit this model; RFC 8420 extends that mechanism with the "Identity" identifier to accommodate hash-free signature algorithms.

ipsec, crypto

normative-requirement §2 MUST NOT

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.

ipsec, crypto

normative-requirement §3 MUST

Implementations MUST have the "Identity" value in the SIGNATURE_HASH_ALGORITHMS notification when EdDSA is supported and configured. The "Identity" value MUST NOT be used if none of the supported and configured algorithms accept arbitrary-size inputs.

ipsec, crypto, security

normative-requirement §3 SHOULD NOT

Implementations SHOULD NOT have other hash algorithms in the SIGNATURE_HASH_ALGORITHMS notification if all supported and configured signature algorithms have the property of accepting arbitrary-size inputs.

ipsec, crypto

normative-requirement §2 MUST NOT

The prehashed versions of Ed25519 and Ed448 (Ed25519ph and Ed448ph) MUST NOT be used in IKE.

ipsec, crypto

protocol-element §2

A new value called "Identity" (5) is defined in the "IKEv2 Hash Algorithms" registry for use in the SIGNATURE_HASH_ALGORITHMS notification. Inserting this value signals that the receiver supports at least one signature algorithm accepting messages of arbitrary size, such as Ed25519 and Ed448.

ipsec, crypto, registry

registry §4

IANA has assigned the value 5 with the name "Identity" in the "IKEv2 Hash Algorithms" registry, referencing RFC 8420.

registry, ipsec

security-consideration §3

The "Identity" hash value MUST NOT be used if none of the supported and configured algorithms accept arbitrary-size inputs, as it would provide no benefit and could create misleading capability signals. Conversely, when EdDSA is configured, "Identity" MUST appear in the notification to allow EdDSA to operate correctly.

security, ipsec, crypto

wire-format §A.1

The ASN.1 OID for Ed25519 is id-Ed25519 ::= { 1.3.101.112 }, with parameters absent, length 7 bytes, and binary encoding 3005 0603 2B65 70.

ipsec, crypto, pkix

wire-format §A.2

The ASN.1 OID for Ed448 is id-Ed448 ::= { 1.3.101.113 }, with parameters absent, length 7 bytes, and binary encoding 3005 0603 2B65 71.

ipsec, crypto, pkix