Algorithm Identifiers for Ed25519, Ed448, X25519, and X448 for Use in the Internet X.509 Public Key Infrastructure
draft-ietf-curdle-pkix-10
Revision differences
Document history
Date | Rev. | By | Action |
---|---|---|---|
2018-08-06
|
10 | (System) | RFC Editor state changed to AUTH48-DONE from AUTH48 |
2018-06-25
|
10 | (System) | RFC Editor state changed to AUTH48 from RFC-EDITOR |
2018-06-24
|
10 | (System) | RFC Editor state changed to RFC-EDITOR from EDIT |
2018-05-11
|
10 | (System) | IANA Action state changed to RFC-Ed-Ack from Waiting on RFC Editor |
2018-05-10
|
10 | (System) | IANA Action state changed to Waiting on RFC Editor from In Progress |
2018-05-10
|
10 | (System) | IANA Action state changed to In Progress from Waiting on Authors |
2018-05-10
|
10 | (System) | IANA Action state changed to Waiting on Authors from In Progress |
2018-05-09
|
10 | (System) | RFC Editor state changed to EDIT |
2018-05-09
|
10 | (System) | IESG state changed to RFC Ed Queue from Approved-announcement sent |
2018-05-09
|
10 | (System) | Announcement was received by RFC Editor |
2018-05-09
|
10 | (System) | IANA Action state changed to In Progress |
2018-05-09
|
10 | Amy Vezza | IESG state changed to Approved-announcement sent from Approved-announcement to be sent |
2018-05-09
|
10 | Amy Vezza | IESG has approved the document |
2018-05-09
|
10 | Amy Vezza | Closed "Approve" ballot |
2018-05-09
|
10 | Amy Vezza | Ballot approval text was generated |
2018-05-09
|
10 | Amy Vezza | Ballot writeup was changed |
2018-05-09
|
10 | Amy Vezza | Ballot writeup was changed |
2018-05-08
|
10 | Eric Rescorla | IESG state changed to Approved-announcement to be sent from Approved-announcement to be sent::AD Followup |
2018-05-08
|
10 | Jim Schaad | New version available: draft-ietf-curdle-pkix-10.txt |
2018-05-08
|
10 | (System) | New version approved |
2018-05-08
|
10 | (System) | Request for posting confirmation emailed to previous authors: Jim Schaad , Simon Josefsson |
2018-05-08
|
10 | Jim Schaad | Uploaded new revision |
2018-04-20
|
09 | (System) | Sub state has been changed to AD Followup from Revised ID Needed |
2018-04-20
|
09 | Jim Schaad | New version available: draft-ietf-curdle-pkix-09.txt |
2018-04-20
|
09 | (System) | New version approved |
2018-04-20
|
09 | (System) | Request for posting confirmation emailed to previous authors: Jim Schaad , Simon Josefsson |
2018-04-20
|
09 | Jim Schaad | Uploaded new revision |
2018-04-19
|
08 | Cindy Morgan | IESG state changed to Approved-announcement to be sent::Revised I-D Needed from IESG Evaluation |
2018-04-19
|
08 | (System) | IANA Review state changed to Version Changed - Review Needed from IANA OK - Actions Needed |
2018-04-19
|
08 | Jim Schaad | New version available: draft-ietf-curdle-pkix-08.txt |
2018-04-19
|
08 | (System) | New version approved |
2018-04-19
|
08 | (System) | Request for posting confirmation emailed to previous authors: Jim Schaad , Simon Josefsson |
2018-04-19
|
08 | Jim Schaad | Uploaded new revision |
2018-04-18
|
07 | Alissa Cooper | [Ballot comment] Please update Section 2 to reference BCP 14 rather than RFC 2119. |
2018-04-18
|
07 | Alissa Cooper | Ballot comment text updated for Alissa Cooper |
2018-04-18
|
07 | Alissa Cooper | [Ballot Position Update] New position, No Objection, has been recorded for Alissa Cooper |
2018-04-18
|
07 | Deborah Brungard | [Ballot Position Update] New position, No Objection, has been recorded for Deborah Brungard |
2018-04-18
|
07 | Martin Vigoureux | [Ballot Position Update] New position, No Objection, has been recorded for Martin Vigoureux |
2018-04-18
|
07 | Terry Manderson | [Ballot Position Update] New position, No Objection, has been recorded for Terry Manderson |
2018-04-17
|
07 | Suresh Krishnan | [Ballot Position Update] New position, No Objection, has been recorded for Suresh Krishnan |
2018-04-17
|
07 | Alvaro Retana | [Ballot Position Update] New position, No Objection, has been recorded for Alvaro Retana |
2018-04-17
|
07 | Ignas Bagdonas | [Ballot Position Update] New position, No Objection, has been recorded for Ignas Bagdonas |
2018-04-16
|
07 | Adam Roach | [Ballot comment] Thanks to everyone who contributed to this document. This is not as much a document comment as a flag for IANA -- the … [Ballot comment] Thanks to everyone who contributed to this document. This is not as much a document comment as a flag for IANA -- the OIDs 1.3.101.114 and 1.3.101.115 show as reserved by this document at https://www.ietf.org/assignments/smi-numbers/smi-numbers.xml#smi-numbers-1.3.101 but those codepoints no longer appear in this document. We should make sure they get released by IANA rather than finalized to point to the RFC this will become. --------------------------------------------------------------------------- §3: > For this reason, a small > number of implementations may still require the field to be > present. I'm surprised that there's no implementation guidance here. Presumably (based on the text about curve25519 and curve448), the parameter is present but NULL? Is it recommended to set this for maximum compatiblity? Or is this simply something that users should be allowed to configure when generating these? =========================================================================== Nits =========================================================================== §1: > o The EdDSA algorithms are the only IETF algorithms that currently > support the use of contexts, however there is a possibility that > there will be confusion between which algorithms need have > separate keys and which do not. This may result in a decrease of Nit: "...need to have..." --------------------------------------------------------------------------- §1: > o There are still on going discussions among the cryptographic Nit: "ongoing" --------------------------------------------------------------------------- §1: > o There needs to be discussions about the correct way to identify > when context strings are to be used. It is not clear if different > OIDs should be used for different contexts, or the OID should > merely not that a context string needs to be provided. Nit: "...merely note..." --------------------------------------------------------------------------- §2: Consider use of RFC 8174 boiler plate - the document uses non-normative, lowercase "should" in some locations. |
2018-04-16
|
07 | Adam Roach | [Ballot Position Update] New position, No Objection, has been recorded for Adam Roach |
2018-04-16
|
07 | Warren Kumari | [Ballot comment] I'd ballot Yes, but I'm not sufficiently schooled in the art to be able to back that up... Instead, I offer a nit … [Ballot comment] I'd ballot Yes, but I'm not sufficiently schooled in the art to be able to back that up... Instead, I offer a nit :-) : 1: "There are still on going discussions" -> ongoing. |
2018-04-16
|
07 | Warren Kumari | [Ballot Position Update] New position, No Objection, has been recorded for Warren Kumari |
2018-04-15
|
07 | Alexey Melnikov | [Ballot comment] Benjamin already spotted s/not/note. |
2018-04-15
|
07 | Alexey Melnikov | [Ballot Position Update] New position, Yes, has been recorded for Alexey Melnikov |
2018-04-13
|
07 | Ben Campbell | [Ballot Position Update] New position, Yes, has been recorded for Ben Campbell |
2018-04-13
|
07 | Benjamin Kaduk | [Ballot comment] It's good to see this being done. I found several nits (and second the genart reviewer's request for the RFC 8174 boilerplate). Section … [Ballot comment] It's good to see this being done. I found several nits (and second the genart reviewer's request for the RFC 8174 boilerplate). Section 1 [...] This RFC defines the ASN.1 Object Identifiers (OIDs) for the operations X25519 and X448 along with the parameters. "the parameters" is not scoped properly; "their parameters", maybe? [...] The convention used for identifying the algorithm/curve combinations are to use the Ed25519 and Ed448 for the PureEdDSA mode. [...] "the Ed25519" is an overzealous "the"; also singular/plural mismatch for convention/are. [...], or the OID should merely not that a context string needs to be provided. s/not/note/ Section 3 o algorithm identifies the cryptographic algorithm with an object identifier. This is one of the OIDs defined below. "is" may be too restrictive, since there are other possible uses of AlgorithmIdentifier. In this document we defined four new OIDs for identifying the different curve/algorithm pairs. The curves being curve25519 and curve448. The algorithms being ECDH and EdDSA in pure mode. s/defined/define/, and join the latter sentence fragments into the former sentence with commas/"and". Section 4 The public key example immediately follows text about how the key-exchange and EdDSA usages will produce different public key encodings for a given private key, but does not say which encoding it uses. It would be nice to have that clearly indicated in the text. Section 7 Asymmetric Key Packages [RFC5958] describes how encode a private key "how to encode" |
2018-04-13
|
07 | Benjamin Kaduk | [Ballot Position Update] New position, Yes, has been recorded for Benjamin Kaduk |
2018-04-13
|
07 | Mirja Kühlewind | [Ballot Position Update] New position, No Objection, has been recorded for Mirja Kühlewind |
2018-04-12
|
07 | Spencer Dawkins | [Ballot comment] Nit: o The EdDSA algorithms are the only IETF algorithms that currently support the use of contexts, however there … [Ballot comment] Nit: o The EdDSA algorithms are the only IETF algorithms that currently support the use of contexts, however there is a possibility that there will be confusion between which algorithms need have "need" or "need to have"? ^ separate keys and which do not. This may result in a decrease of security for those other algorithms. |
2018-04-12
|
07 | Spencer Dawkins | [Ballot Position Update] New position, No Objection, has been recorded for Spencer Dawkins |
2018-03-02
|
07 | (System) | IANA Review state changed to IANA OK - Actions Needed from Version Changed - Review Needed |
2018-02-24
|
07 | Eric Rescorla | Not sure why this showed Internet Standard |
2018-02-24
|
07 | Eric Rescorla | Intended Status changed to Proposed Standard from Internet Standard |
2018-02-24
|
07 | Eric Rescorla | IESG state changed to IESG Evaluation from Waiting for Writeup |
2018-02-24
|
07 | Eric Rescorla | Ballot has been issued |
2018-02-24
|
07 | Eric Rescorla | [Ballot Position Update] New position, Yes, has been recorded for Eric Rescorla |
2018-02-24
|
07 | Eric Rescorla | Created "Approve" ballot |
2018-02-24
|
07 | Eric Rescorla | Ballot writeup was changed |
2018-02-24
|
07 | Eric Rescorla | Placed on agenda for telechat - 2018-04-19 |
2018-01-05
|
07 | Daniel Migault | As required by RFC 4858, this is the current template for the Document Shepherd Write-Up. Changes are expected over time. This version is dated … As required by RFC 4858, this is the current template for the Document Shepherd Write-Up. 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: Technical Summary 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 or introduction. 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 rough? 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 present. """ Document Quality 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 implementation. 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 """ Personnel Who is the Document Shepherd? Who is the Responsible Area Director? 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 the IESG. 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 took place. 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 concerns here. 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 disclosures. (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.) No. (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 thorough. 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? Yes. (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? No (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. No (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. No. (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. |
2018-01-02
|
07 | Daniel Migault | As required by RFC 4858, this is the current template for the Document Shepherd Write-Up. Changes are expected over time. This version is dated … As required by RFC 4858, this is the current template for the Document Shepherd Write-Up. 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: Technical Summary 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 or introduction. 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 rough? 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 present. """ Document Quality 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? Jim has a partial implementation, but he is not aware of any other implementation. Given the the number of review we received, I suspect multiple vendors are willing to implement it, but so far I am not aware of any. Personnel Who is the Document Shepherd? Who is the Responsible Area Director? 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 the IESG. 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 took place. 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 concerns here. 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 disclosures. (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.) No. (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 thorough. 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? Yes. (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? No (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. No (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. No. (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. |
2017-11-14
|
07 | (System) | IANA Review state changed to Version Changed - Review Needed from IANA - Not OK |
2017-11-14
|
07 | Jim Schaad | New version available: draft-ietf-curdle-pkix-07.txt |
2017-11-14
|
07 | (System) | New version approved |
2017-11-14
|
07 | (System) | Request for posting confirmation emailed to previous authors: Jim Schaad , Simon Josefsson |
2017-11-14
|
07 | Jim Schaad | Uploaded new revision |
2017-11-12
|
06 | Eric Rescorla | Oops, I pushed the wrong button previously. This is waiting for me. |
2017-11-12
|
06 | Eric Rescorla | IESG state changed to Waiting for Writeup from Last Call Requested |
2017-11-12
|
06 | Eric Rescorla | Last call was requested |
2017-11-12
|
06 | Eric Rescorla | Please issue this last call next week. |
2017-11-12
|
06 | Eric Rescorla | IESG state changed to Last Call Requested from AD Evaluation |
2017-11-12
|
06 | Eric Rescorla | IESG state changed to AD Evaluation from Waiting for Writeup |
2017-10-23
|
06 | Gunter Van de Velde | Request for Last Call review by OPSDIR Completed: Ready. Reviewer: Scott Bradner. |
2017-10-19
|
06 | Tero Kivinen | Request for Last Call review by SECDIR Completed: Has Nits. Reviewer: Shawn Emery. |
2017-10-09
|
06 | Francis Dupont | Request for Last Call review by GENART Completed: Ready. Reviewer: Francis Dupont. |
2017-10-09
|
06 | (System) | IESG state changed to Waiting for Writeup from In Last Call |
2017-10-04
|
06 | (System) | IANA Review state changed to IANA - Not OK from IANA - Review Needed |
2017-10-04
|
06 | Sabrina Tanamal | (Via drafts-lastcall@iana.org): IESG/Authors/WG Chairs: The IANA Services Operator has completed its review of draft-ietf-curdle-pkix-06. If any part of this review is inaccurate, please let … (Via drafts-lastcall@iana.org): IESG/Authors/WG Chairs: The IANA Services Operator has completed its review of draft-ietf-curdle-pkix-06. If any part of this review is inaccurate, please let us know. The IANA Services Operator has a question about one of the actions requested in the IANA Considerations section of this document. The IANA Services Operator understands that, upon approval of this document, there is a single action which we must complete. In the SMI Security for PKIX Module Identifier registry located on the Structure of Management Information (SMI) Numbers (MIB Module Registrations) registry page located at: https://www.iana.org/assignments/smi-numbers/ a single, new registration will be made as follows: Decimal: [ TBD-at-registration ] Description: [ see question below ] Reference: [ RFC-to-be ] What is the Description to be used for this module OID? In the SMI Security for PKIX Module Identifier registry, the module OID Descriptions begin with "id-mod" or "id-pkix1" Because this registry requires Expert Review [RFC5226] for registration, we've contacted the IESG-designated expert in a separate ticket to request approval. Expert review should be completed before your document can be approved for publication as an RFC. The IANA Services Operator understands that this is the only action required to be completed upon approval of this document. Note: The actions requested in this document will not be completed until the document has been approved for publication as an RFC. This message is only to confirm what actions will be performed. Thank you, Sabrina Tanamal IANA Services Specialist |
2017-09-28
|
06 | Jean Mahoney | Request for Last Call review by GENART is assigned to Francis Dupont |
2017-09-28
|
06 | Jean Mahoney | Request for Last Call review by GENART is assigned to Francis Dupont |
2017-09-28
|
06 | Tero Kivinen | Request for Last Call review by SECDIR is assigned to Shawn Emery |
2017-09-28
|
06 | Tero Kivinen | Request for Last Call review by SECDIR is assigned to Shawn Emery |
2017-09-26
|
06 | Gunter Van de Velde | Request for Last Call review by OPSDIR is assigned to Scott Bradner |
2017-09-26
|
06 | Gunter Van de Velde | Request for Last Call review by OPSDIR is assigned to Scott Bradner |
2017-09-25
|
06 | Cindy Morgan | IANA Review state changed to IANA - Review Needed |
2017-09-25
|
06 | Cindy Morgan | The following Last Call announcement was sent out (ends 2017-10-09): From: The IESG To: IETF-Announce CC: ekr@rtfm.com, Daniel Migault , curdle-chairs@ietf.org, curdle@ietf.org, … The following Last Call announcement was sent out (ends 2017-10-09): From: The IESG To: IETF-Announce CC: ekr@rtfm.com, Daniel Migault , curdle-chairs@ietf.org, curdle@ietf.org, daniel.migault@ericsson.com, draft-ietf-curdle-pkix@ietf.org Reply-To: ietf@ietf.org Sender: Subject: Last Call: (Algorithm Identifiers for Ed25519, Ed448, X25519 and X448 for use in the Internet X.509 Public Key Infrastructure) to Internet Standard The IESG has received a request from the CURves, Deprecating and a Little more Encryption WG (curdle) to consider the following document: - 'Algorithm Identifiers for Ed25519, Ed448, X25519 and X448 for use in the Internet X.509 Public Key Infrastructure' as Internet Standard The IESG plans to make a decision in the next few weeks, and solicits final comments on this action. Please send substantive comments to the ietf@ietf.org mailing lists by 2017-10-09. Exceptionally, comments may be sent to iesg@ietf.org instead. In either case, please retain the beginning of the Subject line to allow automated sorting. 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 and Ed448. The key agreement algorithm covered are X25519 and X448. The encoding for Public Key, Private Key and EdDSA digital signature structures is provided. The file can be obtained via https://datatracker.ietf.org/doc/draft-ietf-curdle-pkix/ IESG discussion can be tracked via https://datatracker.ietf.org/doc/draft-ietf-curdle-pkix/ballot/ No IPR declarations have been submitted directly on this I-D. The document contains these normative downward references. See RFC 3967 for additional information: rfc5480: Elliptic Curve Cryptography Subject Public Key Information (Proposed Standard - IETF stream) |
2017-09-25
|
06 | Cindy Morgan | IESG state changed to In Last Call from Last Call Requested |
2017-09-25
|
06 | Cindy Morgan | Last call announcement was generated |
2017-09-23
|
06 | Eric Rescorla | Last call was requested |
2017-09-23
|
06 | Eric Rescorla | Last call announcement was generated |
2017-09-23
|
06 | Eric Rescorla | Ballot approval text was generated |
2017-09-23
|
06 | Eric Rescorla | Ballot writeup was generated |
2017-09-23
|
06 | Eric Rescorla | IESG state changed to Last Call Requested from AD Evaluation::AD Followup |
2017-09-12
|
06 | (System) | Sub state has been changed to AD Followup from Revised ID Needed |
2017-09-12
|
06 | Jim Schaad | New version available: draft-ietf-curdle-pkix-06.txt |
2017-09-12
|
06 | (System) | New version approved |
2017-09-12
|
06 | (System) | Request for posting confirmation emailed to previous authors: Jim Schaad , Simon Josefsson |
2017-09-12
|
06 | Jim Schaad | Uploaded new revision |
2017-09-03
|
05 | Eric Rescorla | IESG state changed to AD Evaluation::Revised I-D Needed from AD Evaluation |
2017-08-29
|
05 | Eric Rescorla | IESG state changed to AD Evaluation from AD is watching::External Party |
2017-07-03
|
05 | Jim Schaad | New version available: draft-ietf-curdle-pkix-05.txt |
2017-07-03
|
05 | (System) | New version approved |
2017-07-03
|
05 | (System) | Request for posting confirmation emailed to previous authors: Jim Schaad , Simon Josefsson |
2017-07-03
|
05 | Jim Schaad | Uploaded new revision |
2017-05-05
|
04 | Eric Rescorla | IESG state changed to AD is watching::External Party from AD Evaluation::External Party |
2017-05-05
|
04 | Eric Rescorla | IESG state changed to AD Evaluation::External Party from AD Evaluation |
2017-04-21
|
04 | Eric Rescorla | IESG state changed to AD Evaluation from Publication Requested |
2017-04-07
|
04 | Daniel Migault | As required by RFC 4858, this is the current template for the Document Shepherd Write-Up. Changes are expected over time. This version is dated … As required by RFC 4858, this is the current template for the Document Shepherd Write-Up. 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: Technical Summary 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 or introduction. 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 rough? 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 present. """ Document Quality 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? Personnel Who is the Document Shepherd? Who is the Responsible Area Director? 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 the IESG. 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 took place. 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 concerns here. 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 disclosures. (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.) No. (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 thorough. 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? Yes. (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? No (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. No (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. No. (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. |
2017-04-07
|
04 | Daniel Migault | Responsible AD changed to Eric Rescorla |
2017-04-07
|
04 | Daniel Migault | IETF WG state changed to Submitted to IESG for Publication from In WG Last Call |
2017-04-07
|
04 | Daniel Migault | IESG state changed to Publication Requested |
2017-04-07
|
04 | Daniel Migault | IESG process started in state Publication Requested |
2017-04-07
|
04 | Daniel Migault | Changed document writeup |
2017-03-30
|
04 | Daniel Migault | Changed document writeup |
2017-03-28
|
04 | Jim Schaad | New version available: draft-ietf-curdle-pkix-04.txt |
2017-03-28
|
04 | (System) | New version approved |
2017-03-28
|
04 | (System) | Request for posting confirmation emailed to previous authors: Jim Schaad , Simon Josefsson |
2017-03-28
|
04 | Jim Schaad | Uploaded new revision |
2016-11-23
|
03 | Jim Schaad | New version available: draft-ietf-curdle-pkix-03.txt |
2016-11-23
|
03 | (System) | New version approved |
2016-11-23
|
03 | (System) | Request for posting confirmation emailed to previous authors: "Simon Josefsson" , "Jim Schaad" |
2016-11-23
|
03 | Jim Schaad | Uploaded new revision |
2016-11-17
|
02 | Rich Salz | Has been in WGLC, just updating the tracker. |
2016-11-17
|
02 | Rich Salz | IETF WG state changed to In WG Last Call from WG Document |
2016-11-17
|
02 | Rich Salz | Changed consensus to Yes from Unknown |
2016-11-17
|
02 | Rich Salz | Intended Status changed to Internet Standard from None |
2016-11-17
|
02 | Daniel Migault | Notification list changed to "Daniel Migault" <daniel.migault@ericsson.com> |
2016-11-17
|
02 | Daniel Migault | Document shepherd changed to Daniel Migault |
2016-11-17
|
02 | Daniel Migault | Changed document writeup |
2016-10-31
|
02 | Jim Schaad | New version available: draft-ietf-curdle-pkix-02.txt |
2016-10-31
|
02 | (System) | New version approved |
2016-10-31
|
01 | (System) | Request for posting confirmation emailed to previous authors: "Simon Josefsson" , "Jim Schaad" |
2016-10-31
|
01 | Jim Schaad | Uploaded new revision |
2016-08-19
|
01 | Rich Salz | This document now replaces draft-ietf-curdle-pkix-newcurves, draft-ietf-curdle-pkix-eddsa instead of None |
2016-08-19
|
01 | Rich Salz | Delay Tolerant Networking Research M. Demmer Group … Delay Tolerant Networking Research M. Demmer Group UC Berkeley Internet-Draft J. Ott Intended status: Experimental Helsinki University of Expires: July 26, 2013 Technology S. Perreault Viagenie January 22, 2013 Delay Tolerant Networking TCP Convergence Layer Protocol draft-irtf-dtnrg-tcp-clayer-05.txt Abstract This document describes the protocol for the TCP-based Convergence Layer for Delay Tolerant Networking (DTN). Status of this Memo This Internet-Draft is submitted in full conformance with the 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 http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on July 26, 2013. Copyright Notice Copyright (c) 2013 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) 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 Demmer, et al. Expires July 26, 2013 [Page 1] Internet-Draft DTN TCP Convergence Layer January 2013 described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1. Definitions Relating to the Bundle Protocol . . . . . . . 4 2.2. Definitions specific to the TCPCL Protocol . . . . . . . . 5 3. General Protocol Description . . . . . . . . . . . . . . . . . 6 3.1. Bidirectional Use of TCP Connection . . . . . . . . . . . 7 3.2. Example message exchange . . . . . . . . . . . . . . . . . 7 4. Connection Establishment . . . . . . . . . . . . . . . . . . . 8 4.1. Contact Header . . . . . . . . . . . . . . . . . . . . . . 9 4.2. Validation and parameter negotiation . . . . . . . . . . . 11 5. Established Connection Operation . . . . . . . . . . . . . . . 12 5.1. Message Type Codes . . . . . . . . . . . . . . . . . . . . 12 5.2. Bundle Data Transmission . . . . . . . . . . . . . . . . . 13 5.3. Bundle Acknowledgments . . . . . . . . . . . . . . . . . . 14 5.4. Bundle Refusal . . . . . . . . . . . . . . . . . . . . . . 15 5.5. Bundle Length . . . . . . . . . . . . . . . . . . . . . . 16 5.6. Keepalive Messages . . . . . . . . . . . . . . . . . . . . 17 6. Connection Termination . . . . . . . . . . . . . . . . . . . . 18 6.1. Shutdown Message . . . . . . . . . . . . . . . . . . . . . 18 6.2. Idle Connection Shutdown . . . . . . . . . . . . . . . . . 19 7. Security Considerations . . . . . . . . . . . . . . . . . . . 20 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 8.1. Port Number . . . . . . . . . . . . . . . . . . . . . . . 20 8.2. Protocol Versions . . . . . . . . . . . . . . . . . . . . 21 8.3. Message Types . . . . . . . . . . . . . . . . . . . . . . 21 8.4. REFUSE Reason Codes . . . . . . . . . . . . . . . . . . . 21 8.5. SHUTDOWN Reason Codes . . . . . . . . . . . . . . . . . . 21 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 21 9.1. Normative References . . . . . . . . . . . . . . . . . . . 21 9.2. Informative References . . . . . . . . . . . . . . . . . . 22 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 22 Demmer, et al. Expires July 26, 2013 [Page 2] Internet-Draft DTN TCP Convergence Layer January 2013 1. Introduction This document describes the TCP-based convergence layer protocol for Delay Tolerant Networking (TCPCL). Delay Tolerant Networking is an end-to-end architecture providing communications in and/or through highly stressed environments, including those with intermittent connectivity, long and/or variable delays, and high bit error rates. More detailed descriptions of the rationale and capabilities of these networks can be found in the Delay-Tolerant Network Architecture [refs.dtnarch] RFC. An important goal of the DTN architecture is to accommodate a wide range of networking technologies and environments. The protocol used for DTN communications is the Bundling Protocol (BP) [refs.bundleproto], an application-layer protocol that is used to construct a store-and-forward overlay network. As described in the bundle protocol specification, it requires the services of a "convergence layer adapter" (CLA) to send and receive bundles using the service of some "native" link, network, or internet protocol. This document describes one such convergence layer adapter that uses the well-known Transmission Control Protocol (TCP). This convergence layer is referred to as TCPCL. The locations of the TCPCL and the BP in the Internet model protocol stack are shown in Figure 1. In particular, when BP is using TCP as its bearer with TCPCL as its convergence layer, both BP and TCPCL reside at the application layer of the Internet model. +-------------------------+ | DTN Application | -\ +-------------------------| | | Bundle Protocol (BP) | -> Application Layer +-------------------------+ | | TCP Conv. Layer (TCPCL) | -/ +-------------------------+ | TCP | ---> Transport Layer +-------------------------+ | IP | ---> Network Layer +-------------------------+ | Link-Layer Protocol | ---> Link Layer +-------------------------+ | Physical Medium | ---> Physical Layer +-------------------------+ Figure 1: The locations of the bundle protocol and the TCP convergence layer protocol in the Internet protocol stack This document describes the format of the protocol data units passed Demmer, et al. Expires July 26, 2013 [Page 3] Internet-Draft DTN TCP Convergence Layer January 2013 between entities participating in TCPCL communications. This document does not address: The format of protocol data units of the bundling protocol, as those are defined elsewhere [refs.bundleproto]. Mechanisms for locating or identifying other bundle nodes within an internet. Note that this document describes version 3 of the protocol. Versions 0, 1, and 2 were never specified in any Internet Draft, RFC, or any other public document. These prior versions of the protocol were, however, implemented in the DTN reference implementation [refs.dtnimpl], in prior releases, hence the current version number reflects the existence of those prior versions. 2. Definitions The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. 2.1. Definitions Relating to the Bundle Protocol The following set of definitions are abbreviated versions of those which appear in the Bundle Protocol Specification [refs.bundleproto]. To the extent in which terms appear in both documents, they are intended to have the same meaning. Bundle -- A bundle is a protocol data unit of the DTN bundle protocol. Bundle payload -- A bundle payload (or simply "payload") is the application data whose conveyance to the bundle's destination is the purpose for the transmission of a given bundle. Fragment -- A fragment is a bundle whose payload contains a contiguous subset of bytes from another bundle's payload. Bundle node -- A bundle node (or simply a "node") is any entity that can send and/or receive bundles. The particular instantiation of this entity is deliberately unconstrained, allowing for implementations in software libraries, long-running processes, or even hardware. One component of the bundle node is the implementation of a convergence layer adapter. Demmer, et al. Expires July 26, 2013 [Page 4] Internet-Draft DTN TCP Convergence Layer January 2013 Convergence layer adapter -- A convergence layer adapter (CLA) sends and receives bundles utilizing the services of some 'native' link, network, or internet protocol. This document describes the manner in which a CLA sends and receives bundles when using the TCP protocol for inter-node communication. Self Describing Numeric Value -- A self describing numeric value (SDNV) is a variable length encoding for integer values, defined in [refs.bundleproto] and further explained in [RFC6256]. 2.2. Definitions specific to the TCPCL Protocol This section contains definitions that are interpreted to be specific to the operation of the TCPCL protocol, as described below. TCP Connection -- A TCP connection refers to a transport connection using TCP as the transport protocol. TCPCL Connection -- A TCPCL connection (as opposed to a TCP connection) is a TCPCL communication relationship between two bundle nodes. The lifetime of a TCPCL connection is one-to-one with the lifetime of an underlying TCP connection. Therefore a TCPCL connection is initiated when a bundle node initiates a TCP connection to be established for the purposes of bundle communication. A TCPCL connection is terminated when the TCP connection ends, due either to one or both nodes actively terminating the TCP connection or due to network errors causing a failure of the TCP connection. For the remainder of this document, the term "connection" without the prefix "TCPCL" shall refer to a TCPCL connection. Connection parameters -- The connection parameters are a set of values used to affect the operation of the TCPCL for a given connection. The manner in which these parameters are conveyed to the bundle node and thereby to the TCPCL is implementation- dependent. However, the mechanism by which two bundle nodes exchange and negotiate the values to be used for a given session is described in Section Section 4.2. Transmission -- Transmission refers to the procedures and mechanisms (described below) for conveyance of a bundle from one node to another. Demmer, et al. Expires July 26, 2013 [Page 5] Internet-Draft DTN TCP Convergence Layer January 2013 3. General Protocol Description This protocol provides bundle conveyance over a TCP connection and specifies the encapsulation of bundles as well as procedures for TCP connection setup and teardown. The general operation of the protocol is as follows: First one node establishes a TCPCL connection to the other by initiating a TCP connection. After setup of the TCP connection is complete, an initial contact header is exchanged in both directions to set parameters of the TCPCL connection and exchange a singleton endpoint identifier for each node (not the singleton EID of any application running on the node), to denote the bundle-layer identity of each DTN node. This is used to assist in routing and forwarding messages, e.g., to prevent loops. Once the TCPCL connection is established and configured in this way, bundles can be transmitted in either direction. Each bundle is transmitted in one or more logical segments of formatted bundle data. Each logical data segment consists of a DATA_SEGMENT message header, an SDNV containing the length of the segment, and finally the byte range of the bundle data. The choice of the length to use for segments is an implementation matter. The first segment for a bundle must set the 'start' flag and the last one must set the 'end' flag in the DATA_SEGMENT message header. An optional feature of the protocol is for the receiving node to send acknowledgments as bundle data segments arrive (ACK_SEGMENT). The rationale behind these acknowledgments is to enable the sender node to determine how much of the bundle has been received, so that in case the connection is interrupted, it can perform reactive fragmentation to avoid re-sending the already transmitted part of the bundle. When acknowledgments are enabled, then for each data segment that is received, the receiving node sends an ACK_SEGMENT code followed by an SDNV containing the cumulative length of the bundle that has been received. Another optional feature is that a receiver may interrupt the transmission of a bundle at any point in time by replying with a REFUSE_BUNDLE message which causes the sender to stop transmission of the current bundle, after completing transmission of a partially sent data segment. Note: This enables a cross-layer optimization in that Demmer, et al. Expires July 26, 2013 [Page 6] Internet-Draft DTN TCP Convergence Layer January 2013 it allows a receiver that detects that it already has received a certain bundle to interrupt transmission as early as possible and thus save transmission capacity for other bundles. For connections that are idle, a KEEPALIVE message may optionally be sent at a negotiated interval. This is used to convey liveness information. Finally, before connections close, a SHUTDOWN message is sent on the channel. After sending a SHUTDOWN message, the sender of this message may send further acknowledgments (ACK_SEGMENT or REFUSE_BUNDLE) but no further data messages (DATA_SEGMENT). A SHUTDOWN message may also be used to refuse a connection setup by a peer. 3.1. Bidirectional Use of TCP Connection Since each message type used in the TCPCL protocol in association with sending a bundle is only sent in a specific direction (DATA_SEGMENT and LENGTH from bundle sender to receiver, ACK_SEGMENT and REFUSE_BUNDLE from receiver to sender) with the remaining messages (KEEPALIVE and SHUTDOWN) being associated with the connection rather than a particular bundle, a single TCP connection can be used bidirectionally to send bundles concurrently from either end to the other. Note that in the case of concurrent bidirectional transmission, ack segments may be interleaved with data segments. 3.2. Example message exchange The following figure visually depicts the protocol exchange for a simple session, showing the connection establishment, and the transmission of a single bundle split into three data segments (of lengths L1, L2, and L3) from Node A to Node B. Note that the sending node may transmit multiple DATA_SEGMENT messages without necessarily waiting for the corresponding ACK_SEGMENT responses. This enables pipelining of messages on a channel. Although this example only demonstrates a single bundle transmission, it is also possible to pipeline multiple DATA_SEGMENT messages for different bundles without necessarily waiting for ACK_SEGMENT messages to be returned for each one. However, interleaving data segments from different bundles is not allowed. No errors or rejections are shown in this example. Demmer, et al. Expires July 26, 2013 [Page 7] Internet-Draft DTN TCP Convergence Layer January 2013 Node A Node B ====== ====== +-------------------------+ +-------------------------+ | Contact Header | -> <- | Contact Header | +-------------------------+ +-------------------------+ +-------------------------+ | DATA_SEGMENT (start) | -> | SDNV length [L1] | -> | Bundle Data 0..L1 | -> +-------------------------+ +-------------------------+ +-------------------------+ | DATA_SEGMENT | -> <- | ACK_SEGMENT | | SDNV length [L2] | -> <- | SDNV length [L1] | | Bundle Data L1..L2 | -> +-------------------------+ +-------------------------+ +-------------------------+ +-------------------------+ | DATA_SEGMENT (end) | -> <- | ACK_SEGMENT | | SDNV length [L3] | -> <- | SDNV length [L1+L2] | | Bundle Data L2..L3 | -&Reviewed suggested replacement relationships: draft-ietf-curdle-pkix-newcurves, draft-ietf-curdle-pkix-eddsa |
2016-08-19
|
01 | (System) | Added suggested replacement relationships: draft-ietf-curdle-pkix-eddsa, draft-ietf-curdle-pkix-newcurves |
2016-08-19
|
01 | (System) | This document now replaces None instead of None |
2016-08-19
|
01 | Jim Schaad | New version available: draft-ietf-curdle-pkix-01.txt |
2016-07-22
|
00 | Russ Housley | Added to session: IETF-96: lamps Fri-1220 |
2016-04-08
|
00 | Simon Josefsson | New version available: draft-ietf-curdle-pkix-00.txt |