Skip to content

Latest commit

 

History

History
445 lines (317 loc) · 25.6 KB

registries.mkd

File metadata and controls

445 lines (317 loc) · 25.6 KB

coding: utf-8

title: DRIP Entity Tags (DET) in the Domain Name System (DNS) abbrev: DET in DNS docname: draft-ietf-drip-registries-18 category: std

ipr: trust200902 area: Internet wg: drip Working Group kw: Internet-Draft cat: std

stand_alone: yes pi: [toc, sortrefs, symrefs, comments]

author:

  • role: editor ins: A. Wiethuechter name: Adam Wiethuechter org: AX Enterprize, LLC street: 4947 Commercial Drive city: Yorkville region: NY code: 13495 country: USA email: [email protected]
  • ins: J. Reid name: Jim Reid org: RTFM llp street: St Andrews House city: 382 Hillington Road, Glasgow Scotland code: G51 4BL country: UK email: [email protected]

normative: RFC9153: # drip-requirements RFC9374: # drip-det -- TODO(Editor): Informative? RFC9434: # drip-arch

informative: drip-dki: I-D.moskowitz-drip-dki uas-sn-dns: I-D.wiethuechter-drip-uas-sn-dns

RFC5730: # epp
RFC6841: # dnssec policy
RFC8126: # iana-guidelines
RFC8610: # cddl
RFC9082: # rdap-query-format
RFC9575: # drip-auth

# helpful DNS rfcs
RFC4033:
RFC5155:
RFC8945:
RFC4034:
RFC4035:
RFC3007:
RFC2182:
RFC7720:
RFC3912:
RFC4786:

F3411:
  title: Standard Specification for Remote ID and Tracking
  author:
    - 
      org: ASTM International
  target: https://www.astm.org/f3411-22a.html
  date: July 2022
  seriesinfo:
    ASTM: F3411-22A
    DOI: 10.1520/F3411-22A

ISO3166-1:
  title: Codes for the representation of names of countries and their subdivisions
  author:
    - 
      org: International Standards Organization (ISO)
  target: https://www.iso.org/iso-3166-country-codes.html
  date: August 2020
  seriesinfo:
    ISO: 3166-1:2020
    DOI:  # TODO(Editor): where do thou find?

--- abstract

This document describes the discovery and management of DRIP Entity Tags (DETs) in DNS. Authoritative Name Servers, with DRIP specific DNS structures and standard DNS methods, are the Public Information Registries for DETs and their related metadata.

--- middle

Introduction

Registries are fundamental to Unmanned Aircraft System (UAS) Remote Identification (RID). Only very limited operational information can be sent via Broadcast RID, but extended information is sometimes needed. The most essential element of information from RID is the UAS ID, the unique key for lookup of extended information in relevant registries (see Figure 4 of {{RFC9434}}).

When a DRIP Entity Tag (DET) {{RFC9374}} is used as the UAS ID in RID, extended information can be retrieved from a DRIP Identity Management Entity (DIME) which manages registration of and associated lookups from DETs. In this document we assume the DIME is a function of UAS Service Suppliers (USS) (Appendix A.2 of {{RFC9434}}) but a DIME can be independent or handled by another entity as well.

General Concept

DETs embedded a hierarchy scheme which is mapped onto DNS. DIME's enforce registration and information access of data associated with a DET while also providing the trust inherited from being a member of the hierarchy. Other identifiers and their methods are out of scope for this document.

Authoritative Name Servers of the Domain Name System (DNS) provide the Public Information such as the cryptographic keys, endorsements and certificates of DETs and pointers to Private Information resources. Cryptographic (public) keys are used to authenticate anything signed by a DET, such as in the Authentication defined {{RFC9575}} for Broadcast RID. Endorsements and certificates are used to endorse the claim of being part of the hierarchy.

Aspects of Private Information Registries to store and protect, through AAA mechanisms, Personally Identifiable Information (PII) are not described in this document.

Use of Existing DNS Models

DRIP relies on the DNS and as such roughly follows the registrant-registrar-registry model. In DRIP, the registrant would be the end user who owns/controls the Unmanned Aircraft. They are ultimately responsible for the DET and any other information that gets published in the DNS. Registrants use agents known as registrars to manage their interactions with the registry. Registrars typically provide optional additional services such as DNS hosting.

The registry maintains a database of the registered domain names and their related metadata such as the contact details for domain name holder and the relevant registrar. The registry provides DNS service for the zone apex which contains delegation information for domain names. Registries generally provide services such as WHOIS or RDAP to publish metadata about the registered domain names and their registrants and registrars.

Registrants have contracts with registrars who in turn have contracts with registries. Payments follow this model too: the registrant buys services from a registrar who pays for services provided by the registry.

By definition, there can only be one registry for a domain name. Since that registry is a de facto monopoly, the scope of its activities are usually kept to a minimum to reduce the potential for market distortions or anti-competitive practices. A registry can have an arbitrary number of registrars who compete with each other on price, service and customer support.

It is not necessary, and in some case may not be desirable, for DRIP registrations to strictly follow this registrant-registrar-registry model. Prevailing circumstances and/or local policy may mean some combination of these roles could be combined. A DRIP registry might be operated by the CAA. Or it could be outsourced to a DNS registry provider. Registration policies - pricing, renewals, registrar and registrant agreements, etc. - will need to be developed. These considerations SHOULD be determined by the CAA, perhaps in consultation with local stakeholders. They are are out of scope for this document.

The specifics for the UAS RID use case are detailed in the rest of document.

Scope

The scope of this document is limited to the 2001:30::/28 IPv6 prefix and its associated reverse domain in DNS for DETs being used in UAS RID for participating parties (UA, Observer devices, DIMEs, etc.).

Other sectors may adopt this technology. It is RECOMMENDED that a global Apex (i.e. IPv6 prefix) and international Apex manager be designated for each sector.

Terminology {#terminology}

Required Terminology

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 {{!RFC2119}} {{!RFC8174}} when, and only when, they appear in all capitals, as shown here.

Additional Definitions

This document makes use of the terms (PII, USS, etc.) defined in {{RFC9153}}. Other terms (DIME, Endorsement, etc.) are from {{RFC9434}}, while others (RAA, HDA, etc.) are from {{RFC9374}}.

DET Hierarchy in DNS

{{RFC9374}} defines the Hierarchical Host Identity Tag (HHIT) and further specifies an instance of them used for UAS RID called DETs. The HHIT is a 128-bit value that is as an IPv6 address intended primarily as an identifier rather than locator. It's format is in {{hhit-fig}} and further information is in {{RFC9374}}.

{:fig: artwork-align="center"}

+-------------+--------------+---------------+-------------+
| IPv6 Prefix | Hierarchy ID | HHIT Suite ID | ORCHID Hash |
| (28-bits)   | (28-bits)    | (8-bits)      | (64-bits)   |
+-------------+--------------+---------------+-------------+
             /                \
            /                  \
           /                    \-----------------------------\
          /                                                    \
         /                                                      \
        +--------------------------------+-----------------------+
        | Registered Assigning Authority | HHIT Domain Authority |
        | (14-bits)                      | (14-bits)             |
        +--------------------------------+-----------------------+

{:fig #hhit-fig title="DRIP Entity Tag Breakdown"}

The IPv6 Prefix, assigned by IANA for DETs is 2001:30::/28. The corresponding domain (nibble reversed as 3.0.0.1.0.0.2.ip6.arpa) is owned by the IAB.

Due to the nature of the hierarchy split and its relationship to nibble reversing of the IPv6 address, the upper level of hierarchy (i.e. RAAs) "borrows" the upper two bits of their respective HDA space for DNS delegation. As such the IPv6 prefix of RAAs are 2001:3x:xxx::/44 and HDAs are 2001:3x:xxxx:xx::/56 with respective nibble reverse domains of x.x.x.x.3.0.0.1.0.0.2.ip6.arpa and y.y.y.x.x.x.x.3.0.0.1.0.0.2.ip6.arpa.

Preallocations have been made based on the ISO 3166-1 Numeric Nation Code {{ISO3166-1}}. This is to support the initial use case of DETs in UAS RID on an international level. See {{iana-raa}} for the RAA allocations.

The HDA values of 0, 4096, 8192 and 12288 are reserved for operational use of an RAA (a by-product of the above mentioned borrowing of bits), specifically when to register with the Apex and endorse delegations of HDAs in their namespace.

The administration, management and policy for operation a DIME at any level in the hierarchy (Apex, RAA or HDA), be it external or from a parent level, is out of scope for this document. In some cases, such as the RAAs and HDAs of a nation, these are National Matters which are to be dealt with by those parties accordingly.

Public Information Registry {#dns}

Per {{RFC9434}} all information classified, by all parties involved, as public is stored in the DNS, specifically Authoritative Name Servers, to satisfy REG-1 from {{RFC9153}}.

Authoritative Name Servers use domain names as handles and data is stored in Resource Records (RR) with associated RRTypes. This document defines two new RRTypes, one for HHIT metadata (HHIT, {{hhit-rr}}) and another for UAS Broadcast RID information (BRID, {{bcast-rr}}). The former RRType is particularly important as it contains a URI (as part of the certificate) that point to Private Information resources.

DETs, being IPv6 addresses, are to be under ip6.arpa (nibble reversed per convention) with at minimum an HHIT RRType. Depending on local circumstances or additional use cases other RRTypes MAY be present. For UAS RID the BRID RRType MUST be present to provide the Broadcast Endorsements defined in {{RFC9575}}.

DNSSEC is strongly RECOMMENDED (especially for RAA-level and higher zones). When a DIME decides to use DNSSEC they SHOULD define a framework for cryptographic algorithms and key management {{RFC6841}}. This may be influenced by frequency of updates, size of the zone, and policies.

UAS specific information, such as physical characteristics, MAY also be stored in DNS but is out of scope for this document. This specification information is currently drafted in {{uas-sn-dns}}.

An example, from Apex to client, of the DNS zones in available in {{zone-examples}}.

Lookups of the above RRTypes are performed with the standard DNS methodology using the nibble reversed DET as the query name affixed to the ip6.arpa domain apex and asking for the specific RRType. The HHIT RRType provides the public key for signature verification and URIs via the certificate. The BRID RRType provides static Broadcast RID information such as the Broadcast Endorsements sent following {{RFC9575}}.

Canonical Public Registration Certificate {#canonical-cert}

The following is a canonical public registration certificate, generated upon successful registration and placed into {{hhit-rr}}. It is defined here as X.509 and MAY be encoded as a C.509. Other X.509 or C.509 MAY exist for specific use cases and MUST placed in CERT RRTypes.

-----BEGIN CERTIFICATE-----
MIIBCTCBvKADAgECAhQsKjO1bWo9IQm4g6DnIDJmnQqRrDAFBgMrZXAwGTEXMBUG
A1UEAwwOMjAwMTAwM2ZmZTAwMDEwHhcNMjQwOTI1MjA0MTQ1WhcNMjQwOTI2MjA0
MTQ1WjAAMCowBQYDK2VwAyEAe9/qfhAvPzw/rWb5n4wmVfKZcUezxygo7qFDIO7z
TVejLzAtMB4GA1UdEQEB/wQUMBKHECABAD/+AAEFu+Gv+JeyXlowCwYDVR0PBAQD
AgeAMAUGAytlcANBACB7NmtdXksQDzkzVpJtl29H8g9EioEB75tNHQSSvlpjyFyO
uxKnOYUhN+fIuLhk4Inn79qbFhddGyVqFvcsfQk=
-----END CERTIFICATE-----

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            2c:2a:33:b5:6d:6a:3d:21:09:b8:83:a0:e7:20:32:66:9d:0a:91:ac
        Signature Algorithm: ED25519
        Issuer: CN = 2001003ffe0001
        Validity
            Not Before: Sep 25 20:41:45 2024 GMT
            Not After : Sep 26 20:41:45 2024 GMT
        Subject: 
        Subject Public Key Info:
            Public Key Algorithm: ED25519
                ED25519 Public-Key:
                pub:
                    7b:df:ea:7e:10:2f:3f:3c:3f:ad:66:f9:9f:8c:26:
                    55:f2:99:71:47:b3:c7:28:28:ee:a1:43:20:ee:f3:
                    4d:57
        X509v3 extensions:
            X509v3 Subject Alternative Name: critical
                IP Address:2001:3F:FE00:105:BBE1:AFF8:97B2:5E5A
            X509v3 Key Usage: 
                Digital Signature
    Signature Algorithm: ED25519
         20:7b:36:6b:5d:5e:4b:10:0f:39:33:56:92:6d:97:6f:47:f2:
         0f:44:8a:81:01:ef:9b:4d:1d:04:92:be:5a:63:c8:5c:8e:bb:
         12:a7:39:85:21:37:e7:c8:b8:b8:64:e0:89:e7:ef:da:9b:16:
         17:5d:1b:25:6a:16:f7:2c:7d:09

{: title="Example UA Canonical Registration Certificate"}

Private Information Registry URI

The Public Information Registry MUST contain a pointer to a Private Information Registry to obtain additional information associated with an HHIT. The information available following a pointer MUST be protected with a AAA mechanism, per REG-2 of {{RFC9153}}. The definition of the AAA mechanism is out of scope for this document.

For DRIP, a URI extension in the X.509 ({{canonical-cert}}) is the selected way to provide this information in DNS. A base URI, to perform lookups, for a DIME MUST be included in their Canonical Registration Certificate. A DIME MAY include a fully qualified URI in an registering entities X.509 as needed.

These URI SHOULD use the path segment of Section 3.1.3 (domain/<domain name>) of {{RFC9082}}. The base URI is out of scope for this document. The use of the RDAP bootstrap process is OPTIONAL.

Additional URIs MAY be present in the X.509 for other use cases.

IANA Considerations

DRIP Prefix Delegation

This document requests that the IANA delegate the 3.0.0.1.0.0.2.ip6.arpa domain following instructions to be provided by the IAB. Names within this zone are to be further delegated to the appropriated RAA's described by this document.

IANA DRIP Registry

DRIP RAA Allocations {#iana-raa}

This document requests a new registry for RAA Allocations under the DRIP registry group to be managed by IANA.

RAA Allocations:

: a 14-bit value used to represent RAAs. Future additions to this registry are to be made through Expert Review (Section 4.5 of {{RFC8126}}). The following values/ranges are defined:

RAA Value(s) Status Allocation Reference
0 - 3 Reserved N/A N/A
4 - 3999 Allocated ISO 3166-1 Countries This RFC
4000 - 16375 Reserved N/A N/A
16376 - 16383 Allocated DRIP WG (Experimental Use) This RFC

To support DNS delegation in ip6.arpa a single RAA is given 4 delegations by borrowing the upper two bits of HDA space. This enables a clean nibble boundary in DNS to delegate from (i.e. the prefix 2001:3x:xxx0::/44). These HDAs (0, 4096, 8192 and 12288) are reserved for the RAA.

The mapping between ISO 3166-1 Numeric Numbers and RAAs can be found as a CSV file on GitHub. Each Nation is assigned four RAAs that are left to the national authority for their purpose. For RAAs under this range a shorter prefix of 2001:3x:xx00::/40 MAY be delegated to each CAA, which covers all 4 RAAs (and reserved HDAs) assigned to them.

HHIT Entity Type {#iana-hhit-type}

This document requests a new registry for HHIT Entity Type under the DRIP registry group.

HHIT Entity Type:

: numeric, 16-bit, field of the HHIT RRType to encode the HHIT Entity Type. Future additions to this registry are to be made through Expert Review (Section 4.5 of {{RFC8126}}). The following values are defined:

Value Type Reference
0 Not Defined This RFC
1 DRIP Identity Management Entity (DIME) This RFC
2 DIME: Authentication CA {{drip-dki}}
3 DIME: Issuing CA {{drip-dki}}
4 Reserved This RFC
5 Apex This RFC
6 Apex: Authentication CA {{drip-dki}}
7 Apex: Issuing CA {{drip-dki}}
8 Reserved This RFC
9 Registered Assigning Authority (RAA) This RFC
10 RAA: Authentication CA {{drip-dki}}
11 RAA: Issuing CA {{drip-dki}}
12 Reserved This RFC
13 HHIT Domain Authority (HDA) This RFC
14 HDA: Authentication CA {{drip-dki}}
15 HDA: Issuing CA {{drip-dki}}
16 Uncrewed Aircraft (UA) This RFC
17 Ground Control Station (GCS) This RFC
18 Uncrewed Aircraft System (UAS) This RFC
19 Remote Identification (RID) Module This RFC
20 Pilot This RFC
21 Operator This RFC
22 Discovery & Synchronization Service (DSS) This RFC
23 UAS Service Supplier (USS) This RFC
24 Network RID Service Provider (SP) This RFC
25 Network RID Display Provider (DP) This RFC
26 Supplemental Data Service Provider (SDSP) This RFC
27 - 65535 Reserved N/A

Future additions to this registry MUST NOT be allowed if they can be covered under an existing registration.

Security Considerations

DNS Operational Considerations

The Registrar and Registry are commonly used concepts in the DNS. These components interface the DIME into the DNS hierarchy and thus operation SHOULD follow best common practices, specifically in security (such as running DNSSEC) as appropriate. The following RFC provide suitable guidance: {{RFC7720}}, {{RFC4033}}, {{RFC4034}}, {{RFC4035}}, {{RFC5155}}, {{RFC8945}}, {{RFC2182}}, {{RFC4786}}, {{RFC3007}}.

If DNSSEC is used, a DNSSEC Practice Statement (DPS) SHOULD be developed and published. It SHOULD explain how DNSSEC has been deployed and what security measures are in place. {{RFC6841}} documents a Framework for DNSSEC Policies and DNSSEC Practice Statements.

The interfaces and protocol specifications for registry-registrar interactions are intentionally not specified in this document. These will depend on nationally defined policy and prevailing local circumstances. It is expected registry-registrar activity will use the Extensible Provisioning Protocol (EPP) {{RFC5730}}. The registry SHOULD provide a lookup service such as WHOIS {{RFC3912}} or RDAP {{RFC9082}} to provide public information about registered domain names.

Decisions about DNS or registry best practices and other operational matters SHOULD be made by the CAA, ideally in consultation with local stakeholders. This document RECOMMENDS that DNSSEC SHOULD be used by both Apex (to control RAA levels) and RAA (to control HDA level) zones.

Public Key Exposure

DETs are built upon asymmetric keys. As such the public key must be revealed to enable clients to perform signature verifications. {{RFC9374}} security considerations cover various attacks on such keys.

While unlikely the forging of a corresponding private key is possible if given enough time (and computational power). As such it is RECOMMENDED that the public key for any DET not be exposed in DNS (under any RRType) until it is required.

Optimally this requires the UAS somehow signal the DIME that a flight using a Specific Session ID will soon be underway or complete. It may also be facilitated under UTM if the USS (which may or may not be a DIME) signals when a given operation using a Session ID goes active.

Contributors

Thanks to Stuart Card (AX Enterprize, LLC) and Bob Moskowitz (HTT Consulting, LLC) for their early work on the DRIP registries concept. Their early contributions laid the foundations for the content and processes of this architecture and document. Bob Moskowitz is also instrumental in the PKIX work defined in this document with his parallel work in ICAO.

--- back

HHIT Resource Record {#hhit-rr}

This appendix is normative.

The HHIT Resource Record is a metadata record for various bits of HHIT specific information that isn't available in the pre-existing HIP RRType. It is encoded as a CBOR array.

Wire Format {#hhit-rr-wire}

The wire format for the HHIT RRType MUST be encoded in CBOR. The CDDL of the RRType is provided in {{hhit-wire-cddl}}.

{::include cddl/hhit-rr.cddl}

{: #hhit-wire-cddl title="HHIT Wire Format CDDL"}

Presentation Format {#hhit-rr-presentation}

The presentation format of the HHIT RRType MUST be in Extended Diagnostic Notation as defined in Appendix G of {{RFC8610}}. {{hhit-text}} provides an example of a HHIT RRType in this form. It is RECOMMENDED to have all byte strings, except for IPv6 addresses, be displayed as base64.

{::include examples/hhit-rr.txt}

{: #hhit-text title="HHIT Presentation Format"}

Field Descriptions {#hhit-rr-fields}

HHIT Entity Type:

: This field is two octets with values defined in {{iana-hhit-type}}. It is envisioned that there may be many types of HHITs in use. In some cases it may be helpful to understand the HHITs role in the ecosystem like described in {{drip-dki}}. This field provides such context.

HID Abbreviation:

: This field is meant to provide an abbreviation to the HID structure for display devices. The specific contents of this field are not defined here.

Canonical Registration Certificate:

: This field is the canonical registration certificate as described in {{canonical-cert}} for the HHIT in either X.509 DER or C.509 form.

UAS Broadcast RID Resource Record {#bcast-rr}

This appendix is normative.

The UAS Broadcast RID Resource Record type (BRID) is a format to hold public information typically sent of the UAS Broadcast RID that is static. It can act as a data source if information is not received over Broadcast RID or for cross validation.

Wire Format {#bcast-rr-wire}

The wire format for the BRID RRType MUST be encoded in CBOR. The CDDL of the RRType is provided in {{bcast-wire-cddl}}.

{::include cddl/bcast-rr.cddl}

{: #bcast-wire-cddl title="BRID Wire Format CDDL"}

Presentation Format {#bcast-rr-presentation}

The presentation format of the BRID RRType MUST be in Extended Diagnostic Notation as defined in Appendix G of {{RFC8610}}. {{bcast-text}} provides an example of a BRID RRType in this form. All byte strings longer than 20 SHOULD be displayed as base64 when possible.

{::include examples/bcast-rr.txt}

{: #bcast-text title="BRID Presentation Format"}

Field Descriptions {#bcast-rr-fields}

The field names and their general typing are borrowed from the ASTM {{F3411}} data dictionary. See that document for additional information on fields semantics and units.

DET DNS Zone Examples {#zone-examples}

This appendix is informative, showing an example of the DNS zone setup/content from Apex to a client.

For this example the following DETs are shown:

  • Apex = 2001:0030:0000:0005:fad8:7fea:e0f6:90ad
  • RAA = 2001:003f:fe00:0005:618a:cd8e:76d3:b790
  • HDA = 2001:003f:fe00:0105:ad79:a278:1c10:5443
  • Client = 2001:003f:fe00:0105:6a26:21d4:ef57:2ef5

The RAA allocation of 16376 and an HDA of 1 have been selected.

$ORIGIN 3.0.0.1.0.0.2.ip6.arpa.
0.e.f.f IN NS ns1.raa-16376.example.com
1.e.f.f IN NS ns1.raa-16376.example.com
2.e.f.f IN NS ns1.raa-16376.example.com
3.e.f.f IN NS ns1.raa-16376.example.com

$ORIGIN 5.0.0.0.0.0.0.0.0.3.0.0.1.0.0.2.ip6.arpa.
d.a.0.9.6.f.0.e.a.e.f.7.8.d.a.f IN BRID ( a368..770a )
d.a.0.9.6.f.0.e.a.e.f.7.8.d.a.f IN HHIT ( 0 APEX 5901..b80a )

{: title="Apex Zones"}

$ORIGIN 0.e.f.f.3.0.0.1.0.0.2.ip6.arpa.
1.0.0 IN NS ns1.hda-1.example.com

$ORIGIN 5.0.0.0.0.0.e.f.f.3.0.0.1.0.0.2.ip6.arpa.
0.9.7.b.3.d.6.7.e.8.d.c.a.8.1.6 IN BRID ( a368..5a0b )
0.9.7.b.3.d.6.7.e.8.d.c.a.8.1.6 IN HHIT ( 0 RAA 5901..0d0c )

{: title="RAA Zones"}

$ORIGIN 0.1.0.0.0.e.f.f.3.0.0.1.0.0.2.ip6.arpa.
3.4.4.5.0.1.c.1.8.7.2.a.9.7.d.a.5.0 IN BRID ( a368..340c )
3.4.4.5.0.1.c.1.8.7.2.a.9.7.d.a.5.0 IN HHIT ( 0 HDA 5901..ac0a )
5.f.e.2.7.5.f.e.4.d.1.2.6.2.a.6.5.0 IN BRID ( a368..ee00 )
5.f.e.2.7.5.f.e.4.d.1.2.6.2.a.6.5.0 IN HHIT ( 0 CHILD 5901..0306 )

{: title="HDA Zone"}