commit 0b4d0ea799b8fe5a444fca7eceb083a38e53977a Author: Christian Grothoff <christian@grothoff.org> Date: Wed, 21 Oct 2020 17:29:03 +0200 inital template Diffstat:
| A | Makefile | | | 7 | +++++++ |
| A | README.md | | | 1 | + |
| A | draft-summermatter-set-union.xml | | | 386 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
3 files changed, 394 insertions(+), 0 deletions(-)
diff --git a/Makefile b/Makefile @@ -0,0 +1,7 @@ +all: txt html + +html: + xml2rfc --html draft-summermatter-set-union.xml + +txt: + xml2rfc draft-summermatter-set-union.xml diff --git a/README.md b/README.md @@ -0,0 +1 @@ +# Set union spec diff --git a/draft-summermatter-set-union.xml b/draft-summermatter-set-union.xml @@ -0,0 +1,386 @@ +<?xml version='1.0' encoding='utf-8'?> +<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent" [ +<!ENTITY RFC1034 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1034.xml"> +<!ENTITY RFC1035 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1035.xml"> +<!ENTITY RFC2119 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"> +<!ENTITY RFC2782 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2782.xml"> +<!ENTITY RFC3629 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3629.xml"> +<!ENTITY RFC3686 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3686.xml"> +<!ENTITY RFC3826 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3826.xml"> +<!ENTITY RFC3912 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3912.xml"> +<!ENTITY RFC5869 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5869.xml"> +<!ENTITY RFC5890 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5890.xml"> +<!ENTITY RFC5891 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5891.xml"> +<!ENTITY RFC6781 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6781.xml"> +<!ENTITY RFC6895 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6895.xml"> +<!ENTITY RFC6979 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6979.xml"> +<!ENTITY RFC7748 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7748.xml"> +<!ENTITY RFC8032 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8032.xml"> +<!ENTITY RFC8126 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8126.xml"> +]> +<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?> +<?rfc strict="yes" ?> +<?rfc toc="yes" ?> +<?rfc symrefs="yes"?> +<?rfc sortrefs="yes" ?> +<?rfc compact="yes" ?> +<?rfc subcompact="no" ?> +<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="info" docName="draft-schanzen-gns-01" ipr="trust200902" obsoletes="" updates="" submissionType="IETF" xml:lang="en" version="3"> + <!-- xml2rfc v2v3 conversion 2.26.0 --> + <front> + <title abbrev="Set Union"> + Byzantine Fault Tolerant Set Reconciliation + </title> + <seriesInfo name="Internet-Draft" value="draft-summermatter-set-union-01"/> + <author fullname="Elias Summermatter" initials="E." surname="Summermatter"> + <organization>.</organization> + <address> + <postal> + <street></street> + <city></city> + <code></code> + <country>CH</country> + </postal> + <email>elias.summermatter@seccom.ch</email> + </address> + </author> + <author fullname="Christian Grothoff" initials="C." surname="Grothoff"> + <organization>Berner Fachhochschule</organization> + <address> + <postal> + <street>Hoeheweg 80</street> + <city>Biel/Bienne</city> + <code>2501</code> + <country>CH</country> + </postal> + <email>grothoff@gnunet.org</email> + </address> + </author> + + <!-- Meta-data Declarations --> + <area>General</area> + <workgroup>Independent Stream</workgroup> + <keyword>name systems</keyword> + <abstract> + <t>This document contains a protocol specification for Byzantine fault-tolerant + Set Reconciliation.</t> + </abstract> + </front> + <middle> + <section anchor="introduction" numbered="true" toc="default"> + <name>Introduction</name> + <t> + Blah. + </t> + <t> + This document defines the normative wire format of resource records, resolution processes, + cryptographic routines and security considerations for use by implementors. + SETU requires a bidirectional secure communication channel between the two parties. + Specification of the communication channel is out of scope of this document. + </t> + <t> + 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 <xref target="RFC2119"/>. + </t> + <t> + + </t> + </section> + <section anchor="zones" numbered="true" toc="default"> + <name>Zones</name> + <t> + Blah. + </t> + <figure anchor="figure_gnsrecord"> + <artwork name="" type="" align="left" alt=""><![CDATA[ +0 8 16 24 32 40 48 56 ++-----+-----+-----+-----+-----+-----+-----+-----+ +| EXPIRATION | ++-----+-----+-----+-----+-----+-----+-----+-----+ +| DATA SIZE | TYPE | ++-----+-----+-----+-----+-----+-----+-----+-----+ +| FLAGS | DATA / ++-----+-----+-----+-----+ / +/ / +/ / + ]]></artwork> + <!-- <postamble>which is a very simple example.</postamble>--> + </figure> + <t>where:</t> + <dl> + <dt>EXPIRATION</dt> + <dd> + denotes the absolute 64-bit expiration date of the record. + In microseconds since midnight (0 hour), January 1, 1970 in network + byte order. + </dd> + <dt>DATA SIZE</dt> + <dd> + denotes the 32-bit size of the DATA field in bytes and in network byte + order. + </dd> + <dt>TYPE</dt> + <dd> + is the 32-bit resource record type. This type can be one of the GNS resource + records as defined in <xref target="rrecords" /> or a DNS record + type as defined in <xref target="RFC1035" /> or any of the + complementary standardized DNS resource record types. This value must be + stored in network byte order. Note that values + below 2^16 are reserved for allocation via IANA (<xref target="RFC6895" />), + while values above 2^16 are allocated by the + GNUnet Assigned Numbers Authority <xref target="GANA" />. + </dd> + <dt>FLAGS</dt> + <dd> + is a 32-bit resource record flags field (see below). + </dd> + <dt>DATA</dt> + <dd> + the variable-length resource record data payload. The contents are defined + by the + respective type of the resource record. + </dd> + </dl> + <t> + Flags indicate metadata surrounding the resource record. A flag + value of 0 indicates that all flags are unset. The following + illustrates the flag distribution in the 32-bit flag value of a + resource record:</t> + <figure anchor="figure_flag"> + <artwork name="" type="" align="left" alt=""><![CDATA[ +... 5 4 3 2 1 0 +------+--------+--------+--------+--------+--------+ +/ ... | SHADOW | EXPREL | SUPPL | PRIVATE| / | +------+--------+--------+--------+--------+--------+ + ]]></artwork> + <!-- <postamble>which is a very simple example.</postamble>--> + </figure> + <t> + where: + </t> + <dl> + <dt>SHADOW</dt> + <dd> + If this flag is set, this record should be ignored by resolvers unless all (other) + records of the same record type have expired. Used to allow zone publishers to + facilitate good performance when records change by allowing them to put future + values of records into the DHT. This way, future values can propagate and may be + cached before the transition becomes active. + </dd> + <dt>EXPREL</dt> + <dd> + The expiration time value of the record is a relative time (still in microseconds) + and not an absolute time. This flag should never be encountered by a resolver + for records obtained from the DHT, but might be present when a resolver looks up + private records of a zone hosted locally. + </dd> + <dt> + SUPPL + </dt> + <dd> + This is a supplemental record. It is provided in addition to the + other records. This flag indicates that this record is not explicitly + managed alongside the other records under the respective name but + may be useful for the application. This flag should only be encountered + by a resolver for records obtained from the DHT. + </dd> + <dt>PRIVATE</dt> + <dd> + This is a private record of this peer and it should thus not be + published in the DHT. Thus, this flag should never be encountered by + a resolver for records obtained from the DHT. + Private records should still be considered just like + regular records when resolving labels in local zones. + </dd> + </dl> + </section> + + <section anchor="security" numbered="true" toc="default"> + <name>Security Considerations</name> + <section anchor="security_crypto" numbered="true" toc="default"> + <name>BLAH</name> + <t> + Bulub. + </t> + </section> + </section> + + <section anchor="gana" numbered="true" toc="default"> + <name>GANA Considerations</name> + <t> + GANA is requested to amend the "GNUnet Message Type" registry + as follows: + </t> + <figure anchor="figure_purposenums"> + <artwork name="" type="" align="left" alt=""><![CDATA[ +Type | Name | References | Description +--------+-----------------+------------+-------------------------- + 42 | SETU_IBF_BLAH | [This.I-D] | text here + ]]></artwork> + </figure> + </section> + <!-- gana --> + </middle> + <back> + <references> + <name>Normative References</name> + + &RFC1034; + &RFC1035; + &RFC2782; + &RFC2119; + &RFC3629; + &RFC3686; + &RFC3826; + &RFC3912; + &RFC5869; + &RFC5890; + &RFC5891; + &RFC6781; + &RFC6895; + &RFC6979; + &RFC7748; + &RFC8032; + &RFC8126; + + <reference anchor="GANA" target="https://gana.gnunet.org/"> + <front> + <title>GNUnet Assigned Numbers Authority (GANA)</title> + <author><organization>GNUnet e.V.</organization> + </author> + <date month="April" year="2020" /> + </front> + </reference> + + <reference anchor="GNS" target="https://doi.org/10.1007/978-3-319-12280-9_9"> + <front> + <title>A Censorship-Resistant, Privacy-Enhancing and Fully Decentralized Name System</title> + <author initials="M." surname="Wachs" fullname="Matthias Wachs"> + <organization>Technische Universität München</organization> + </author> + + <author initials="M." surname="Schanzenbach" fullname="Martin Schanzenbach"> + <organization>Technische Universität München</organization> + </author> + + <author initials="C." surname="Grothoff" + fullname="Christian Grothoff"> + <organization>Technische Universität München</organization> + </author> + <date year="2014"/> + </front> + </reference> + <reference anchor="R5N" target="https://doi.org/10.1109/ICNSS.2011.6060022"> + <front> + <title>R5N: Randomized recursive routing for restricted-route networks</title> + <author initials="N. S." surname="Evans" fullname="Nathan S. Evans"> + <organization>Technische Universität München</organization> + </author> + + <author initials="C." surname="Grothoff" + fullname="Christian Grothoff"> + <organization>Technische Universität München</organization> + </author> + <date year="2011"/> + </front> + </reference> + + + <reference anchor="Argon2" target="https://datatracker.ietf.org/doc/draft-irtf-cfrg-argon2/"> + <front> + <title>The memory-hard Argon2 password hash and proof-of-work function</title> + <author initials="A." surname="Biryukov" fullname="Alex Biryukov"> + <organization>University of Luxembourg</organization> + </author> + + <author initials="D." surname="Dinu" fullname="Daniel Dinu"> + <organization>University of Luxembourg</organization> + </author> + + <author initials="D." surname="Khovratovich" + fullname="Dmitry Khovratovich"> + <organization>ABDK Consulting</organization> + </author> + <author initials="S." surname="Josefsson" + fullname="Simon Josefsson"> + <organization>SJD AB</organization> + </author> + <date year="2020" month="March"/> + <abstract> + <t> + This document describes the Argon2 memory-hard function for + password hashing and proof-of-work applications. We provide an + implementer-oriented description with + test vectors. The purpose is to simplify adoption of Argon2 for + Internet protocols. This document is a product of the Crypto Forum Research Group (CFRG) + in the IRTF. + </t> + </abstract> + </front> + </reference> + <reference anchor="MODES" target="https://doi.org/10.6028/NIST.SP.800-38A"> + <front> + <title>Recommendation for Block Cipher Modes of Operation: Methods and Techniques</title> + <author initials="M." surname="Dworkin" fullname="Morris Dworkin"> + <organization>NIST</organization> + </author> + + <date year="2001" month="December"/> + <abstract> + <t> + This recommendation defines five confidentiality modes of operation for use with an underlying symmetric key block cipher algorithm: Electronic Codebook (ECB), Cipher Block Chaining (CBC), Cipher Feedback (CFB), Output Feedback (OFB), and Counter (CTR). Used with an underlying block cipher algorithm that is approved in a Federal Information Processing Standard (FIPS), these modes can provide cryptographic protection for sensitive, but unclassified, computer data. + </t> + </abstract> + </front> + </reference> + <reference anchor="ed25519" target="http://link.springer.com/chapter/10.1007/978-3-642-23951-9_9"> + <front> + <title>High-Speed High-Security Signatures</title> + <author initials="D." surname="Bernstein" fullname="Daniel Bernstein"> + <organization>University of Illinois at Chicago</organization> + </author> + + <author initials="N." surname="Duif" + fullname="Niels Duif"> + <organization>Technische Universiteit Eindhoven</organization> + + </author> + <author initials="T." surname="Lange" + fullname="Tanja Lange"> + <organization>Technische Universiteit Eindhoven</organization> + + </author> + <author initials="P." surname="Schwabe" + fullname="Peter Schwabe"> + <organization>National Taiwan University</organization> + + </author> + <author initials="B." surname="Yang" + fullname="Bo-Yin Yang"> + <organization>Academia Sinica</organization> + + </author> + <date year="2011"/> + </front> + </reference> + + <!-- <reference anchor="ISO20022"> + <front> + <title>ISO 20022 Financial Services - Universal financial industry message scheme</title> + <author> + <organization>International Organization for Standardization</organization> + <address> + <uri>http://www.iso.ch</uri> + </address> + </author> + <date month="May" year="2013"/> + </front> + </reference>--> + </references> + <!-- Change Log + v00 2017-07-23 MS Initial version + --> + </back> + </rfc>