gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lsd0001] branch master updated: alphabetical ordering


From: gnunet
Subject: [lsd0001] branch master updated: alphabetical ordering
Date: Thu, 05 May 2022 15:52:59 +0200

This is an automated email from the git hooks/post-receive script.

martin-schanzenbach pushed a commit to branch master
in repository lsd0001.

The following commit(s) were added to refs/heads/master by this push:
     new d50b7a0  alphabetical ordering
d50b7a0 is described below

commit d50b7a0448378f4f58c1c7fd4c6c3afc45ad872c
Author: Martin Schanzenbach <schanzen@gnunet.org>
AuthorDate: Thu May 5 15:52:55 2022 +0200

    alphabetical ordering
---
 draft-schanzen-gns.xml | 129 +++++++++++++++++++++++++------------------------
 rs_review_202204.txt   |  69 ++++++++++++++++++++++++--
 2 files changed, 132 insertions(+), 66 deletions(-)

diff --git a/draft-schanzen-gns.xml b/draft-schanzen-gns.xml
index d47ae9c..e0b38de 100644
--- a/draft-schanzen-gns.xml
+++ b/draft-schanzen-gns.xml
@@ -187,23 +187,55 @@
    <section>
      <name>Terminology</name>
      <dl>
+       <dt>Apex Label</dt>
+       <dd>
+         This type of label is used to publish resource
+         records in a zone that can be resolved without providing a specific
+         label. It is the GNS method to provide what is the "zone apex" in DNS
+         <xref target="RFC4033"/>.
+         The apex label is represented using the character U+0040 ("@" without
+         the quotes).
+       </dd>
        <dt>Application</dt>
        <dd>
          A component which uses a GNS implementation
          to resolve names into records and processes its contents.
        </dd>
-       <dt>Resolver</dt>
+       <dt>Blinded Zone Key</dt>
        <dd>
-         The component of a GNS implementation which provides
-         the recursive name resolution logic defined in
-         <xref target="resolution"/>.
+         The key derived from a zone key and a label.
+         The zone key and the blinded zone key are unlinkable without 
knowledge of the label.
        </dd>
-       <dt>Zone Master</dt>
+
+       <dt>Extension Label</dt>
        <dd>
-         The component of a GNS implementation which provides
-         local zone management and publication as defined in
-         <xref target="publish"/>.
+         The primary use for the extension label is in redirections where the 
redirection
+         target is defined relative to the authoritative zone of the 
redirection
+         record (<xref target="gnsrecords_redirect"/>).
+         The extension label is represented using the character U+002B ("+"
+         without the quotes).
        </dd>
+       <dt>Label Separator</dt>
+       <dd>
+         Labels in a name are separated using the label separator U+002E
+         ("." without the quotes).
+         In GNS, with the exceptions of zone Top-Level Domains
+         (see below) and boxed records (see <xref target="gnsrecords_box"/>),
+         every separator label in a name delegates to another zone.
+       </dd>
+       <dt>Label</dt>
+       <dd>
+         A GNS label is a label as defined in <xref target="RFC8499"/>.
+         Labels are UTF-8 strings in Unicode
+         Normalization Form C (NFC) <xref target="Unicode-UAX15"/>.
+         The apex label, label separator and the extension label have
+         special purposes in the resolution protocol which are defined
+         in the rest of the document.
+         Zone administrators <bcp14>MAY</bcp14> disallow certain labels that
+         might be easily confused with other labels through registration 
policies
+         (see also <xref target="security_abuse"/>).
+       </dd>
+
        <dt>Name</dt>
        <dd>
          A name in GNS is a domain name as defined in  <xref target="RFC8499"/>
@@ -219,43 +251,28 @@
          specific user expectations, for example according to
          <xref target="Unicode-UTS46"/>.
        </dd>
-       <dt>Label</dt>
-       <dd>
-         A GNS label is a label as defined in <xref target="RFC8499"/>.
-         Labels are UTF-8 strings in Unicode
-         Normalization Form C (NFC) <xref target="Unicode-UAX15"/>.
-         The apex label, label separator and the extension label have
-         special purposes in the resolution protocol which are defined
-         in the rest of the document.
-         Zone administrators <bcp14>MAY</bcp14> disallow certain labels that
-         might be easily confused with other labels through registration 
policies
-         (see also <xref target="security_abuse"/>).
-       </dd>
-       <dt>Apex Label</dt>
+       <dt>Resolver</dt>
        <dd>
-         This type of label is used to publish resource
-         records in a zone that can be resolved without providing a specific
-         label. It is the GNS method to provide what is the "zone apex" in DNS
-         <xref target="RFC4033"/>.
-         The apex label is represented using the character U+0040 ("@" without
-         the quotes).
+         The component of a GNS implementation which provides
+         the recursive name resolution logic defined in
+         <xref target="resolution"/>.
        </dd>
-       <dt>Extension Label</dt>
+       <dt>Resource Record</dt>
        <dd>
-         The primary use for the extension label is in redirections where the 
redirection
-         target is defined relative to the authoritative zone of the 
redirection
-         record (<xref target="gnsrecords_redirect"/>).
-         The extension label is represented using the character U+002B ("+"
-         without the quotes).
+         A GNS resource record is the information associated with a label in a
+         GNS zone.
+         A GNS resource record contains information as defined by its
+         resource record type.
        </dd>
-       <dt>Label Separator</dt>
+       <dt>Start Zone</dt>
        <dd>
-         Labels in a name are separated using the label separator U+002E
-         ("." without the quotes).
-         In GNS, with the exceptions of zone Top-Level Domains
-         (see below) and boxed records (see <xref target="gnsrecords_box"/>),
-         every separator label in a name delegates to another zone.
+         In order to resolve any given GNS name an initial start zone must be
+         determined for this name.
+         The start zone can be explicitly defined through a zTLD.
+         Otherwise, it is determined through a local suffix-to-zone mapping
+         (see <xref target="governance"/>).
        </dd>
+
        <dt>Top-Level Domain</dt>
        <dd>
               The rightmost part of a GNS name is a GNS Top-Level Domain (TLD).
@@ -272,25 +289,22 @@
          A zone is uniquely identified by its zone key.  Unlike DNS zones,
          a GNS zone does not need to have a SOA record under the apex label.
        </dd>
-       <dt>Zone Type</dt>
-       <dd>
-         The type of a GNS zone determines the cipher system and binary 
encoding
-        format of the zone key, blinded zone keys, and signatures.
-       </dd>
        <dt>Zone Key</dt>
        <dd>
          A key which uniquely identifies a zone.
          It is usually a public key of an asymmetric key pair.
        </dd>
-       <dt>Blinded Zone Key</dt>
-       <dd>
-         The key derived from a zone key and a label.
-         The zone key and the blinded zone key are unlinkable without 
knowledge of the label.
-       </dd>
        <dt>Zone Key Derivation Function</dt>
        <dd>
          The zone key derivation function (ZKDF) blinds a zone key using a 
label.
        </dd>
+
+       <dt>Zone Master</dt>
+       <dd>
+         The component of a GNS implementation which provides
+         local zone management and publication as defined in
+         <xref target="publish"/>.
+       </dd>
        <dt>Zone Owner</dt>
        <dd>
          The holder of the secret (typically a private key)
@@ -306,20 +320,11 @@
         A zTLD label sequence can only be distinguished from ordinary TLD 
label sequences
         by attempting to decode the labels into a zone type and zone key.
        </dd>
-       <dt>Start Zone</dt>
-       <dd>
-         In order to resolve any given GNS name an initial start zone must be
-         determined for this name.
-         The start zone can be explicitly defined through a zTLD.
-         Otherwise, it is determined through a local suffix-to-zone mapping
-         (see <xref target="governance"/>).
-       </dd>
-       <dt>Resource Record</dt>
+
+       <dt>Zone Type</dt>
        <dd>
-         A GNS resource record is the information associated with a label in a
-         GNS zone.
-         A GNS resource record contains information as defined by its
-         resource record type.
+         The type of a GNS zone determines the cipher system and binary 
encoding
+        format of the zone key, blinded zone keys, and signatures.
        </dd>
      </dl>
    </section>
diff --git a/rs_review_202204.txt b/rs_review_202204.txt
index bd5c782..419dc0e 100644
--- a/rs_review_202204.txt
+++ b/rs_review_202204.txt
@@ -10,42 +10,91 @@ Overall, I think the use of 2119 language isn't right 
(e.g., there's no mandator
 
 Some people might be offended by "limiting" IANA registrations (e.g., Sec 
5.3.3's PROTO). Maybe you need to have story here and explain that is not the 
intent?  Or not.
 
+======= Clarified as fixed bit fields by IANA, where applicable.
+
 This seems incomplete, since an implementation needs to be able to talk to 
remote storage (i.e., the GET in sec 7ff), and that is not defined. Does the 
storage need to be globally consistent? What if two views diverge?  Suggest you 
discuss that. Somewhat addressed in section 9.5, should be joined with the 
other global storage sections in my view.  Okay if you disagree.
 
+======= TODO address this somehow?
+
 Some minor items, or nits, follow. None of them, in my view, are intended to 
block publication.
 
 Abstract, should it mention SDSI?
 
 Sec 1, the first two paragraphs are going to disturb some folks in the IETF 
DNS community.  Has anyone in DNS, in particular DNSSEC, looked at this? I 
think the "in practice it relies on" phrase is wrong.  The term "petname" 
should have a definition, even if something parenthetical like "petname (user's 
personal name for something)." The paragraph containing "In DNS terminology," 
is a *very nice* one.
 
-Sec 2, the  items seem in arbitrary order. Consider alphabetical or explaining 
the ordering.  Each definition might be more clear if the repetition of the 
term were omitted as in:
+Sec 2, the  items seem in arbitrary order. Consider alphabetical or explaining 
the ordering.
+
+====== Alphabetical ordering.
+
+Each definition might be more clear if the repetition of the term were omitted 
as in:
        Application    A component which uses a GNS implementation to ...
-In the "Name" definition, do you mean "applications MAY *require* that ... "?  
Using "Zone type" as the term for cipher and encoding seemed strange to me, why 
not "Zone Representation" or something shorter?  One or two examples before the 
terms, with text identifying the parts in the definition, would be helpful.
 
-Sec 3, "cryptographically secured zones" is redundant, aren't all zones 
cryptographically secured? Last sentence of first paragraph repeats the 
definition we just read.  Second para "A zone can be populated by its owner 
with ..." A clarification that the distributed storage isn't required by the 
protocol would be useful. The text introducing figure 2 makes me think it's 
going to show all the flows for a recursive resolution, and it is rather a 
high-level view.
+===== Updated wording.
+
+In the "Name" definition, do you mean "applications MAY *require* that ... "?
+
+===== I think we could also formulate it like that. But that would be a 
normative statement for the application
+as opposed to a normative statement what the GNS impl. should expect.
+
+Using "Zone type" as the term for cipher and encoding seemed strange to me, 
why not "Zone Representation" or something shorter?  One or two examples before 
the terms, with text identifying the parts in the definition, would be helpful.
+
+===== Unclear.
+
+Sec 3, "cryptographically secured zones" is redundant, aren't all zones 
cryptographically secured?
+
+===== Fixed
+
+Last sentence of first paragraph repeats the definition we just read.
+
+===== I don't think so.
+
+Second para "A zone can be populated by its owner with ..." A clarification 
that the distributed storage isn't required by the protocol would be useful.
+
+===== Remove "distributed". The storage is required.
 
-Sec 4, which user creates and manages zones?  The Zone admin? The end-user?  
The forward ref to Section 5.1 should be before the list of algorithms in my 
opinion.
+The text introducing figure 2 makes me think it's going to show all the flows 
for a recursive resolution, and it is rather a high-level view.
+
+===== That is what the figure description sais and I think  this is enough for 
an "Overview".
+
+Sec 4, which user creates and manages zones?  The Zone admin? The end-user?
+
+==== TODO
+
+The forward ref to Section 5.1 should be before the list of algorithms in my 
opinion.
+
+==== TODO. After first review I disagree as it refers to the functions which 
are  introduced above.
 
 Sec 4.1, maybe say "||" is the concatenation operator and that "[a..b]" is the 
semi-closed range from A to B-1
 
 Sec 4.2, "strictly monotonically increasing order" I think monotonically is 
wrong.
 
+====== I am 95% sure that monotonically is correct when we talk about a 
function. Not sure about order.
+
 Sec 5, nice to block of IANA numbers for interop. Are timestamps in GNS always 
64bit microsec since 1/1/1970? Maybe add a definition or something at the top?
 
+===== Subjectively I like to keep normative implementation details with the 
fields.
+
 Sec 5.1, period missing in last line.
 
+======= Fixed.
+
 Sec 5.1.1, the crypto heart starts to appear. ;)  This all looks okay to me, 
and follows current practice.
 
 Sec 5.1.2, "highest 32 bytes" maybe "top-most"?  Nit.  SignDerived is clever.  
Consider asking CFRG to review the crypto in Sec 5.
 
 Sec 5.2.1+5.2.2, have you thought of allowing multiple REDIRECT records to 
achieve some kind of load-balancing or other?
 
+======= Q: Maybe we want this? CNAME did not allow this, but it seems to be 
used in practice occasionally 
https://docstore.mik.ua/orelly/networking_2ndEd/dns/ch10_07.htm#dns4-CHP-10-SECT-7.1
+
 Sec 5.3.1, I would think TLS SNI value is also common for LEHO data.
 
 Sec 5.3.3, not unlike the new SVCB RR type?
 
 Sec 6, is this whole storage strictly necessary for interop?  You could split 
it off into a separate document. There's not enough here to implement the 
storage. What happens to resolution if the GET() fails? I assume that's 
discussed.
 
+======= FIXME: We may want to consider renaming Section 6 and/or move it into 
a subsection of Section 5 as we do not really define the storage here.
+======= Record Wire Format / Record Encoding
+
 Sec 7, the application filters record sets.  Oh, that is *VERY* interesting.  
And that picture is starting to look familiar. Third time?
 
 Sec 7.1+7.2+7.3 very nice, very clear, I could implement this (modulo the 
storage aspect).
@@ -54,10 +103,22 @@ Sec 9.3 seems very important.  Somewhere up near the front 
you should forward-li
 
 Sec 9.4, it's difficult because it requires law enforcement, etc., to get the 
private key?  Is that really so hard? https://xkcd.com/538/
 
+==== No, because of the user-centric design for delegations. TODO: Clarify 
again in text?
+Because in GNS a zone does not necessarily have a single/unique parent zone.
+The top-level domains are not enumerable.
+The as the root zone is defined locally it is not enumerable.
+
 Sec 9.5, "offline signing of records"  not quite sure, maybe a better word, 
but I cannot think of one.
 
 Sec 9.6, this belongs with Sec 6 I think.  Should the DHT be part of the zone 
type?
 
+==== That is an interesting question!
+==== Introduce STORAGE record which defined the storage type. "Default": 
GNUnet.
+==== Storage: Typenum (GANA) + Metadata e.g. 3294 (REST) + 
"https://example.com";. OR 0 => R5N/GNUnet w/o metadata
+==== Or rather not?
+
 Sec 9.7 is good.
 
 Sec 12, last sentence of paragraph 1. "given that they are built on top of the 
same underlying DHT storage." Does that mean *any* implementation should 
interoperate? Does an implementation *have to use* the DHT storage?
+
+===== Fixed. Only If.

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]