gnunet-svn
[Top][All Lists]
Advanced

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

[lsd0001] branch master updated: v19


From: gnunet
Subject: [lsd0001] branch master updated: v19
Date: Tue, 21 Jun 2022 09:53:23 +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 06eb394  v19
06eb394 is described below

commit 06eb3946165481af20f1c8b9f8c2acec88587cb3
Author: Martin Schanzenbach <schanzen@gnunet.org>
AuthorDate: Tue Jun 21 09:53:15 2022 +0200

    v19
---
 draft-schanzen-gns.xml | 259 +++++++++++++++++++++++++++----------------------
 1 file changed, 145 insertions(+), 114 deletions(-)

diff --git a/draft-schanzen-gns.xml b/draft-schanzen-gns.xml
index 9a58ceb..ed50901 100644
--- a/draft-schanzen-gns.xml
+++ b/draft-schanzen-gns.xml
@@ -37,13 +37,13 @@
 <?rfc sortrefs="yes" ?>
 <?rfc compact="yes" ?>
 <?rfc subcompact="no" ?>
-<rfc xmlns:xi="http://www.w3.org/2001/XInclude"; category="info" 
docName="draft-schanzen-gns-18" ipr="trust200902" obsoletes="" updates="" 
submissionType="IETF" xml:lang="en" version="3">
+<rfc xmlns:xi="http://www.w3.org/2001/XInclude"; category="info" 
docName="draft-schanzen-gns-19" ipr="trust200902" obsoletes="" updates="" 
submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 2.26.0 -->
  <front>
   <title abbrev="The GNU Name System">
    The GNU Name System
   </title>
-  <seriesInfo name="Internet-Draft" value="draft-schanzen-gns-18"/>
+  <seriesInfo name="Internet-Draft" value="draft-schanzen-gns-19"/>
   <author fullname="Martin Schanzenbach" initials="M." surname="Schanzenbach">
    <organization>Fraunhofer AISEC</organization>
    <address>
@@ -335,111 +335,142 @@
    </section>
    <section anchor="overview" numbered="true" toc="default">
      <name>Overview</name>
-     <t>
-       GNS exhibits the three properties of a petname system:
-     </t>
-     <ol>
-       <li>
-         It provides global names through the concept of zone top-level
-         domains (zTLDs). As zones can be uniquely identified by their zone key
-         and are statistically unqiue, GNS names with a zTLD suffix are also
-         globally unique.
-       </li>
-       <li>
-         It provides memorable or "human-readable" names by enabling users to
-         configure local mappings from nicknames to zones.
-         Zone owners can publish their mappings
-         in order to enable namespace delegation and facilitate resolution of
-         memorable names.
-       </li>
-       <li>
-         It provides secure mapping from names to records as zone contents
-         are signed using blinded private keys and encrypted using derived
-         secret keys.
-       </li>
-     </ol>
-     <t>
-       In GNS, any user can create and manage one or more zones
-       (<xref target="zones"/>) as part of a zone master implementation.
-       The zone type determines the respective set of cryptographic operations
-       and the wire formats for encrypted data, public keys and signatures.
-       A zone can be populated with mappings from labels to resource records by
-       its owner (<xref target="rrecords"/>).
-       A label can be mapped to a delegation record which results in the
-       corresponding subdomain being delegated to another zone. Circular
-       delegations are explicitly allowed, including delegating a subdomain
-       to its immediate parent zone.  In
-       order to support (legacy) applications as well as to facilitate the use
-       of petnames, GNS defines auxiliary record types in addition to
-       supporting existing DNS records.
-     </t>
-     <t>
-       Zone contents are encrypted and signed
-       before being published in a key-value storage (<xref target="publish"/>)
-       as illustrated in <xref target="figure_arch_publish"/>.
-       In this process, unique zone identification is hidden from the network
-       through the use of key blinding.
-       Key blinding allows the creation of signatures for zone contents
-       using a blinded public/private key pair.
-       This blinding is realized using a deterministic key
-       derivation from
-       the original zone key and corresponding private key using record label 
values
-       as blinding factors.
-       Specifically, the zone owner can derive blinded private keys for each 
record
-       set published under a label, and a
-       resolver can derive the corresponding blinded public keys.
-       It is expected that GNS implementations use distributed or decentralized
-       storages such as distributed hash tables (DHT) in order to facilitate
-       availability within a network without the need for dedicated 
infrastructure.
-       Specification of such a distributed or decentralized storage is out of
-       scope of this document, but possible existing implementations include 
those
-       based on <xref target="RFC7363" />, <xref target="Kademlia" /> or
-       <xref target="R5N" />.
-     </t>
-     <figure anchor="figure_arch_publish" title="An example diagram of two 
hosts publishing GNS zones.">
-       <artwork name="" type="" align="left" alt=""><![CDATA[
-        Local Host     |   Remote        |    Remote Host
-                       |   Storage       |
-                       |                 |
-                       |    +---------+  |
-                       |   /         /|  |
-              Publish  |  +---------+ |  |  Publish
-  +---------+ Records  |  |         | |  |  Records +---------+
-  |  Zone   |----------|->| Record  | |<-|----------|  Zone   |
-  | Master  |          |  | Storage | |  |          | Master  |
-  +---------+          |  |         |/   |          +---------+
-       A               |  +---------+    |               A
-       |               |                 |               |
-    +---------+        |                 |           +---------+
-   /   |     /|        |                 |          /    |    /|
-  +---------+ |        |                 |         +---------+ |
-  |         | |        |                 |         |         | |
-  |  Local  | |        |                 |         |  Local  | |
-  |  Zones  | |        |                 |         |  Zones  | |
-  |         |/         |                 |         |         |/
-  +---------+          |                 |         +---------+
-         ]]></artwork>
-     </figure>
-     <t>
-       Applications use the resolver to lookup GNS names.
-       Starting from a configurable start zone, names are resolved by 
following zone
-       delegations recursively as illustrated in <xref 
target="figure_arch_resolv"/>.
-       For each label in a name, the recursive GNS resolver
-       fetches the respective record from the storage layer (<xref 
target="resolution"/>).
-       Without knowledge of the label values and the zone keys, the
-       different derived keys are unlinkable both to the original zone key and 
to each
-       other.
-       This prevents zone enumeration (except via impractical online brute
-       force attacks) and requires knowledge
-       of both the zone key and the label to confirm affiliation of a
-       query or the corresponding encrypted record set with a
-       specific zone. At the same time, the blinded zone key provides
-       resolvers
-       with the ability to verify the integrity of the published information
-       without disclosing the originating zone.
-     </t>
-     <figure anchor="figure_arch_resolv" title="High-level view of the GNS 
resolution process.">
-       <artwork name="" type="" align="left" alt=""><![CDATA[
+       <t>
+         GNS exhibits the three properties that are commonly used to describe
+         a petname system:
+       </t>
+       <ol>
+         <li>
+           Global names through the concept of zone top-level
+           domains (zTLDs): As zones can be uniquely identified by their zone 
key
+           and are statistically unique, zTLDs are globally unique mappings to 
zones.
+           Consequently, GNS names with a zTLD suffix are also globally unique.
+           Global GNS names are not human-readable.
+         </li>
+         <li>
+           Memorable petnames for zones:
+           Users can configure local petnames for zones.
+           The petnames serve as zTLD monikers in order to support 
human-readable
+           names.
+           The petnames may also be published in order to delegate namespaces
+           of zones.
+         </li>
+         <li>
+           A secure mapping from names to records:
+           GNS allows zone owners to map petnames to resource records or to
+           delegate authority of the petname to other zones and publish this
+           information.
+           The mappings are signed and encrypted using keys derived from local
+           labels.
+           When names are resolved, resource records including delegations can
+           be verified by the implementation.
+         </li>
+       </ol>
+       <t>
+         It follows from the above that GNS does not support names which are
+         simultaneously global, secure and human-readable.
+         Instead, names are either global and not human-readable or not 
globally
+         unique and human-readable.
+         An example for a global name pointing to the record "example" in
+         a zone is:
+       </t>
+       <sourcecode>
+example.000G006K2TJNMD9VTCYRX7BRVV3HAEPS15E6NHDXKPJA1KAJJEG9AFF884
+       </sourcecode>
+       <t>
+         Now consider the petname "pet" for the example zone
+         of the name above.
+         The following name would point to the same record as the
+         globally unique name above but it is only valid locally:
+       </t>
+       <sourcecode>
+example.pet
+       </sourcecode>
+       <t>
+         The delegation of petnames and subsequent resolution of delegation
+         builds on ideas from the Simple Distributed Security Infrastructure
+         <xref target="SDSI" />.
+         In GNS, any user can create and manage one or more zones
+         (<xref target="zones"/>) as part of a zone master implementation.
+         The zone type determines the respective set of cryptographic 
operations
+         and the wire formats for encrypted data, public keys and signatures.
+         A zone can be populated with mappings from labels to resource records 
by
+         its owner (<xref target="rrecords"/>).
+         A label can be mapped to a delegation record which results in the
+         corresponding subdomain being delegated to another zone. Circular
+         delegations are explicitly allowed, including delegating a subdomain
+         to its immediate parent zone.  In
+         order to support (legacy) applications as well as to facilitate the 
use
+         of petnames, GNS defines auxiliary record types in addition to
+         supporting existing DNS records.
+       </t>
+       <t>
+         Zone contents are encrypted and signed
+         before being published in a key-value storage (<xref 
target="publish"/>)
+         as illustrated in <xref target="figure_arch_publish"/>.
+         In this process, unique zone identification is hidden from the network
+         through the use of key blinding.
+         Key blinding allows the creation of signatures for zone contents
+         using a blinded public/private key pair.
+         This blinding is realized using a deterministic key
+         derivation from
+         the original zone key and corresponding private key using record 
label values
+         as blinding factors.
+         Specifically, the zone owner can derive blinded private keys for each 
record
+         set published under a label, and a
+         resolver can derive the corresponding blinded public keys.
+         It is expected that GNS implementations use distributed or 
decentralized
+         storages such as distributed hash tables (DHT) in order to facilitate
+         availability within a network without the need for dedicated 
infrastructure.
+         Specification of such a distributed or decentralized storage is out of
+         scope of this document, but possible existing implementations include 
those
+         based on <xref target="RFC7363" />, <xref target="Kademlia" /> or
+         <xref target="R5N" />.
+       </t>
+       <figure anchor="figure_arch_publish" title="An example diagram of two 
hosts publishing GNS zones.">
+         <artwork name="" type="" align="left" alt=""><![CDATA[
+       Local Host     |   Remote        |    Remote Host
+                      |   Storage       |
+                      |                 |
+                      |    +---------+  |
+                      |   /         /|  |
+             Publish  |  +---------+ |  |  Publish
+ +---------+ Records  |  |         | |  |  Records +---------+
+ |  Zone   |----------|->| Record  | |<-|----------|  Zone   |
+ | Master  |          |  | Storage | |  |          | Master  |
+ +---------+          |  |         |/   |          +---------+
+      A               |  +---------+    |               A
+      |               |                 |               |
+   +---------+        |                 |           +---------+
+  /   |     /|        |                 |          /    |    /|
+ +---------+ |        |                 |         +---------+ |
+ |         | |        |                 |         |         | |
+ |  Local  | |        |                 |         |  Local  | |
+ |  Zones  | |        |                 |         |  Zones  | |
+ |         |/         |                 |         |         |/
+ +---------+          |                 |         +---------+
+           ]]></artwork>
+       </figure>
+       <t>
+         Applications use the resolver to lookup GNS names.
+         Starting from a configurable start zone, names are resolved by 
following zone
+         delegations recursively as illustrated in <xref 
target="figure_arch_resolv"/>.
+         For each label in a name, the recursive GNS resolver
+         fetches the respective record from the storage layer (<xref 
target="resolution"/>).
+         Without knowledge of the label values and the zone keys, the
+         different derived keys are unlinkable both to the original zone key 
and to each
+         other.
+         This prevents zone enumeration (except via impractical online brute
+         force attacks) and requires knowledge
+         of both the zone key and the label to confirm affiliation of a
+         query or the corresponding encrypted record set with a
+         specific zone. At the same time, the blinded zone key provides
+         resolvers
+         with the ability to verify the integrity of the published information
+         without disclosing the originating zone.
+       </t>
+       <figure anchor="figure_arch_resolv" title="High-level view of the GNS 
resolution process.">
+         <artwork name="" type="" align="left" alt=""><![CDATA[
                            Local Host           |   Remote
                                                 |   Storage
                                                 |
@@ -461,13 +492,13 @@
                      |  Zones  | |              |
                      |         |/               |
                      +---------+                |
-         ]]></artwork>
-     </figure>
-     <t>
-       In the remainder of this document, the "implementer" refers to the 
developer building
-       a GNS implementation including the resolver, zone master, and
-       supporting configuration such as start zones (<xref 
target="governance"/>).
-     </t>
+           ]]></artwork>
+       </figure>
+       <t>
+         In the remainder of this document, the "implementer" refers to the 
developer building
+         a GNS implementation including the resolver, zone master, and
+         supporting configuration such as start zones (<xref 
target="governance"/>).
+       </t>
    </section>
    <section anchor="zones" numbered="true" toc="default">
      <name>Zones</name>

-- 
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]