As required by RFC 4858, this is the current template for the Document
Changes are expected over time. This version is dated 24 February 2012.
(1) What type of RFC is being requested (BCP, Proposed Standard,
Internet Standard, Informational, Experimental, or Historic)? Why
is this the proper type of RFC? Is this type of RFC indicated in the
title page header?
The request type for draft-ietf-curdle-pkix is Standard Track. This is the appropriated type as it defined IODs for using Ed25519, Ed448, X25519 and X448 for X509 with PKI. It is indicated in the header page.
(2) The IESG approval announcement includes a Document Announcement
Write-Up. Please provide such a Document Announcement Write-Up. Recent
examples can be found in the "Action" announcements for approved
documents. The approval announcement contains the following sections:
Relevant content can frequently be found in the abstract
and/or introduction of the document. If not, this may be
an indication that there are deficiencies in the abstract
This document specifies algorithm identifiers and ASN.1 encoding
formats for Elliptic Curve constructs using the Curve25519 and
Curve448 curves. The signature algorithms covered are Ed25519,
Ed448. The key agreement algorithm covered
are X25519 and X448. The Encoding for Public Key, Private Key and
EdDSA digital signature structures is provided.
Working Group Summary
Was there anything in WG process that is worth noting? For
example, was there controversy about particular points or
were there decisions where the consensus was particularly
Main discussions that happened regarding the draft were:
- the use of a context or not. The current agreement was not to use any specific context as this would lead to encourage people to use the same key for different usages. The same discussion appears in IPsec, with the DNSKEY.
- Names and designation for IOD format. We met in the IETF in Berlin (Benjamin, Jim, Russ as well as Rich and Daniel) and the next version reflected the discussion, and were adopted by the WG.
- Use of prehash or pure variant was raised in version 03 that mentioned "CAs MUST NOT use the pre-hash versions". The main argument for enabling the prehash variant was to be able to sign large amount of data such as CRLs. However this can be addressed by combining CRL distribution points, combined with segmenting the certificates. For the care of simplicity, the consensus was that a single variant should be considered only and the choice was to follow the FCRG recommendations and chose the pure variant. As a result the draft has removed any mention of the purehash variant and stated clearly that only the pure variant is addressed by the draft.
- OID identifier parameter MUST be absent and a parameter set to NULL MUST NOT be accepted. Java implementation cannot be currently compatible with this. However, the working group consensus was to have a straight enforcement of the update specification of AlgorithmIdentifier. This is clearly mentioned in the draft so implementation can understand the motivation as well as becoming compliant with the updated spec.
When the 1997
syntax for AlgorithmIdentifier was initially defined, it omitted
the OPTIONAL key word. The optionality of the parameters field
was later recovered via a defect report, but by then many people
thought that the field was mandatory. For this reason, a small
number of implementations may still require the field to be
Are there existing implementations of the protocol? Have a
significant number of vendors indicated their plan to
implement the specification? Are there any reviewers that
merit special mention as having done a thorough review,
e.g., one that resulted in important changes or a
conclusion that the document had no substantive issues? If
there was a MIB Doctor, Media Type or other expert review,
what was its course (briefly)? In the case of a Media Type
review, on what date was the request posted?
Given the the number of review we received, I suspect multiple vendors
are willing to implement it, but so far I am only aware of partial implementations.
Jim has a partial implementation, but he is not aware of any other
Ilari also mentioned a partial implementation in the context of TLS.
The information provided on the mailing list are copied here.
I do not have/know full implementation, however I do have a partial implementation in context of TLS:
- Ed25519/Ed448 PKIX public keys in certificates.
- (Ed25519/Ed448 TLS exchange signatures -- covered by TLS docs)
- Ed25519/Ed448 PKIX certificate signatures.
And GnuTLS 3.6.1 supports at least:
- Ed25519 PKIX private keys (at least v1)
- Ed25519 PKIX public keys in certificates
- (Ed25519 TLS exchange signatures -- covered by TLS docs)
- Ed25519 PKIX certificate signatures.
My implementation interoperates with GnuTLS 3.6.1 on TLS handshake with both Ed25519 server signature and certificate signature.
- Server: My implementation, all settings at defaults.
- Client: GnuTLS 3.6, all settings at defaults except trustpile
replaced with custom one.
- Certificate 0: EE, Ed25519 key, Ed25519 signature.
- Certificate 1: CA, Ed25519 key, RSA-PSS-SHA256 signature.
- Certificate 2: CA, RSAEncryption key, RSA-PKCS1-SHA256 signature.
- Certificate 3: CA, RSAEncryption key, self-signed. [Not sent].
- Negotiated TLS versionn: TLS 1.2 + RENEGO + EMS.
(The key exchange used is ECDHE_ECDSA for technical reasons, however, there are no actual ECDSA used anywhere).
Client status at end of handshake:
- Description: (TLS1.2)-(ECDHE-X25519)-(EdDSA-Ed25519)-(CHACHA20-POLY1305)
- Session ID: (empty)
- Ephemeral EC Diffie-Hellman parameters
- Using curve: X25519
- Curve size: 256 bits
- Version: TLS1.2
- Key Exchange: ECDHE-ECDSA
- Server Signature: EdDSA-Ed25519
- Cipher: CHACHA20-POLY1305
- MAC: AEAD
- Options: extended master secret, safe renegotiation,
- Handshake was completed
Server status at end of handshake:
Handshake complete, crypto parameters:
- TLS version: 1.2
- Encryption: Chacha20-Poly1305
- PRF: SHA-256
- Key Exchange: X25519
- Server Signature: Ed25519
- Triple Handshake attack: Fixed
- OCSP stapling: No
- Certificate Transparency: No
Who is the Document Shepherd? Who is the Responsible Area
Daniel Migault is the document shepherd.
Eric Rescola is the AD.
(3) Briefly describe the review of this document that was performed by
the Document Shepherd. If this version of the document is not ready
for publication, please explain why the document is being forwarded to
I review the document, and think it is ready.
(4) Does the document Shepherd have any concerns about the depth or
breadth of the reviews that have been performed?
I believe the document has been deeply reviewed, discussed, and we have multiple implementations.
(5) Do portions of the document need review from a particular or from
broader perspective, e.g., security, operational complexity, AAA, DNS,
DHCP, XML, or internationalization? If so, describe the review that
The draft concerns PKI and the people involved in the topic have either authored or reviewed the draft.
(6) Describe any specific concerns or issues that the Document Shepherd
has with this document that the Responsible Area Director and/or the
IESG should be aware of? For example, perhaps he or she is uncomfortable
with certain parts of the document, or has concerns whether there really
is a need for it. In any event, if the WG has discussed those issues and
has indicated that it still wishes to advance the document, detail those
Chairs added Jim Schaad to co-author the draft as an insurance for the draft to meet requirements and expectation from the X509 community.
(7) Has each author confirmed that any and all appropriate IPR
disclosures required for full conformance with the provisions of BCP 78
and BCP 79 have already been filed. If not, explain why.
Jim Schaad and Simon Josefsson mention they are not aware of any IPR raised from the draft itself. They have no statement to make on the IPR for the algorithm itself.
(8) Has an IPR disclosure been filed that references this document?
If so, summarize any WG discussion and conclusion regarding the IPR
(9) How solid is the WG consensus behind this document? Does it
represent the strong concurrence of a few individuals, with others
being silent, or does the WG as a whole understand and agree with it?
The draft has been discussed by co-authors, co chairs and more than 5 participants. Comments are based on multiple implementation.
(10) Has anyone threatened an appeal or otherwise indicated extreme
discontent? If so, please summarise the areas of conflict in separate
email messages to the Responsible Area Director. (It should be in a
separate email because this questionnaire is publicly available.)
(11) Identify any ID nits the Document Shepherd has found in this
document. (See https://www.ietf.org/tools/idnits/ and the Internet-Drafts
Checklist). Boilerplate checks are not enough; this check needs to be
Running the nits provides:
Checking references for intended status: Proposed Standard
** Downref: Normative reference to an Informational RFC: RFC 7748
** Downref: Normative reference to an Informational RFC: RFC 8032
RFC8032 describes the elliptic curve signature scheme
Edwards-curve Digital Signature Algorithm (EdDSA). The algorithm is
instantiated with recommended parameters for the edwards25519 and edwards448 curves.
RFC 7748 specifies two elliptic curves over prime fields that offer
a high level of practical security in cryptographic applications: Curve25519 and Curve448.
RFC 8032 is from the IRTF which does not define standards. The current document describes the use of this algorithm. The draft is in the RFC Editor Queue and has been approved by the IESG.
The Downref is justified by RFC3967 as it falls into the following case:
o A standards track document may need to refer to a protocol or
algorithm developed by an external body but modified, adapted, or
profiled by an IETF informational RFC.
(12) Describe how the document meets any required formal review
criteria, such as the MIB Doctor, media type, and URI type reviews.
(13) Have all references within this document been identified as
either normative or informative?
(14) Are there normative references to documents that are not ready for
advancement or are otherwise in an unclear state? If such normative
references exist, what is the plan for their completion?
(15) Are there downward normative references references (see RFC 3967)?
If so, list these downward references to support the Area Director in
the Last Call procedure.
(16) Will publication of this document change the status of any
existing RFCs? Are those RFCs listed on the title page header, listed
in the abstract, and discussed in the introduction? If the RFCs are not
listed in the Abstract and Introduction, explain why, and point to the
part of the document where the relationship of this document to the
other RFCs is discussed. If this information is not in the document,
explain why the WG considers it unnecessary.
(17) Describe the Document Shepherd's review of the IANA considerations
section, especially with regard to its consistency with the body of the
document. Confirm that all protocol extensions that the document makes
are associated with the appropriate reservations in IANA registries.
Confirm that any referenced IANA registries have been clearly
identified. Confirm that newly created IANA registries include a
detailed specification of the initial contents for the registry, that
allocations procedures for future registrations are defined, and a
reasonable name for the new registry has been suggested (see RFC 5226).
I reviewed the draft and the document seems ready.
(18) List any new IANA registries that require Expert Review for future
allocations. Provide any public guidance that the IESG would find
useful in selecting the IANA Experts for these new registries.
There are no IANA considerations.
(19) Describe reviews and automated checks performed by the Document
Shepherd to validate sections of the document written in a formal
language, such as XML code, BNF rules, MIB definitions, etc.
ASN1 has not been reviewed by anyone except by Jim and maybe Russ Hussley.