Internet DRAFT - draft-ietf-drip-dki
draft-ietf-drip-dki
INTAREA R. Moskowitz
Internet-Draft HTT Consulting
Intended status: Informational S. Card
Expires: 21 June 2024 AX Enterprize, LLC
19 December 2023
The DRIP DET public Key Infrastructure
draft-ietf-drip-dki-00
Abstract
The DRIP Entity Tag (DET) public Key Infrastructure (DKI) is a
specific variant of classic Public Key Infrastructures (PKI) where
the organization is around the DET, in place of X.520 Distinguished
Names. Further, the DKI uses DRIP Endorsements in place of X.509
certificates for establishing trust within the DKI.
There are two X.509 profiles for shadow PKI behind the DKI, with many
of their X.509 fields mirroring content in the DRIP Endorsements.
This PKI can at times be used where X.509 is expected and non-
constrained communication links are available that can handle their
larger size.
C509 (CBOR) encoding of all X.509 certificates are also provided as
an alternative for where there are gains in reduced object size.
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 https://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 21 June 2024.
Copyright Notice
Copyright (c) 2023 IETF Trust and the persons identified as the
document authors. All rights reserved.
Moskowitz & Card Expires 21 June 2024 [Page 1]
Internet-Draft DRIP DKI December 2023
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://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 Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. The DKI without an Apex Entity . . . . . . . . . . . . . 5
1.1.1. RAA Trust lists . . . . . . . . . . . . . . . . . . . 6
1.1.2. RAA Cross-endorsements . . . . . . . . . . . . . . . 6
1.1.3. Bridge RAA with cross-endorsements to RAAs . . . . . 6
1.2. The C509 encoding of X.505 Certificates . . . . . . . . . 7
2. Terms and Definitions . . . . . . . . . . . . . . . . . . . . 7
2.1. Requirements Terminology . . . . . . . . . . . . . . . . 7
2.2. Definitions . . . . . . . . . . . . . . . . . . . . . . . 8
3. The DET public Key Infrastructure (DKI) . . . . . . . . . . . 8
3.1. The DKI Levels . . . . . . . . . . . . . . . . . . . . . 8
3.1.1. The Apex . . . . . . . . . . . . . . . . . . . . . . 9
3.1.2. The RAAs . . . . . . . . . . . . . . . . . . . . . . 9
3.1.3. The HDAs . . . . . . . . . . . . . . . . . . . . . . 9
3.2. The Offline Requirement for Authentication DETs . . . . . 10
3.3. DNS view of DKI . . . . . . . . . . . . . . . . . . . . . 10
3.4. Managing DET Revocation . . . . . . . . . . . . . . . . . 11
3.5. The Offline cache of HDA Issuing Endorsements . . . . . . 11
3.5.1. HDA Offline Trust cache . . . . . . . . . . . . . . . 12
4. The DKI's Shadow PKI . . . . . . . . . . . . . . . . . . . . 12
4.1. Shadow Lite-PKI with minimal content Certificates . . . . 12
4.1.1. DRIP Lite X.509 certificate profile . . . . . . . . . 12
4.1.2. Serial Number . . . . . . . . . . . . . . . . . . . . 13
4.1.3. Subject . . . . . . . . . . . . . . . . . . . . . . . 13
4.1.4. Subject Alternative Name . . . . . . . . . . . . . . 14
4.1.5. Issuer . . . . . . . . . . . . . . . . . . . . . . . 14
4.1.6. The Lite test PKI . . . . . . . . . . . . . . . . . . 14
4.2. Shadow PKI with PKIX-like Certificates . . . . . . . . . 15
4.2.1. DRIP X.509 certificate profile . . . . . . . . . . . 15
4.2.2. Serial Number . . . . . . . . . . . . . . . . . . . . 15
4.2.3. Subject . . . . . . . . . . . . . . . . . . . . . . . 15
4.2.4. Subject Alternative Name . . . . . . . . . . . . . . 16
4.2.5. Issuer . . . . . . . . . . . . . . . . . . . . . . . 16
4.2.6. Subject Key Identifier . . . . . . . . . . . . . . . 16
4.2.7. Authority Key Identifier . . . . . . . . . . . . . . 16
4.2.8. The PKIX-like test PKI . . . . . . . . . . . . . . . 17
5. The DKI and the ICAO IAC PKI . . . . . . . . . . . . . . . . 17
Moskowitz & Card Expires 21 June 2024 [Page 2]
Internet-Draft DRIP DKI December 2023
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18
7. Security Considerations . . . . . . . . . . . . . . . . . . . 18
7.1. Protecting against DKI/PKI compromise . . . . . . . . . . 18
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 18
8.1. Normative References . . . . . . . . . . . . . . . . . . 18
8.2. Informative References . . . . . . . . . . . . . . . . . 19
Appendix A. Test DETs and Endorsements . . . . . . . . . . . . . 20
A.1. Test DNS . . . . . . . . . . . . . . . . . . . . . . . . 23
Appendix B. Test X.509 certificates . . . . . . . . . . . . . . 24
B.1. Test Lite X.509 certificates . . . . . . . . . . . . . . 24
B.1.1. openSSL Lite config file . . . . . . . . . . . . . . 30
B.2. Test PKIX-like X.509 certificates . . . . . . . . . . . . 32
B.2.1. openSSL config file . . . . . . . . . . . . . . . . . 38
B.3. Test PKIX-like C509 certificates . . . . . . . . . . . . 41
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 43
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 43
1. Introduction
A DRIP Entity Tag (DET, [RFC9374]) public Key Infrastructure (DKI) is
designed as a strict hierarchy, governed by the administrator of the
DET prefix [IPv6-SPECIAL] and having the authority to authorize RAAs.
RAAs in turn authorize HDAs within their domain. This authorization
is managed via a set of DETs whose sole use is to define the DKI.
The RAA Authorization DETs MUST reside in HID = RAA#|0 (Apex
Authorization DET in HID = 0|0).
There are three main classifications/types of DETs:
Authorization DETs
Used to assert the authorization of a DKI level.
Issuing DETs
Used to assert operations within DKI level.
Operational DETs
Used by operational entities within DKI level
All DETs exist in DET-Endorsements (Appendix B of [drip-registries]).
These DET-Endorsements provide the proof of registration and thus
trust. These DETs, through chained Endorsements define the DKI as
follows:
Moskowitz & Card Expires 21 June 2024 [Page 3]
Internet-Draft DRIP DKI December 2023
+----------+
| Auth |
+-o------o-+
| |
| +-o-----+
Apex | +--o----+|
| | Issue |+
| +---o---+
| |
| +-o-----+
| +--o----+|
| |CRL,Srv|+
| +-------+
|
******************|************************************
+-o--------+
+-o--------+|
| Auth |+
+--o-----o-+
| |
| +-o-----+
RAAs | +--o----+|
| | Issue |+
| +---o---+
| |
| +-o-----+
| +--o----+|
| |CRL,Srv|+
| +-------+
|
******************|************************************
+-o--------+
+-o--------+|
| Auth |+
+----o-----+
|
+-o-----+
HDAs +--o----+|
| Issue |+
+---o---+
|
+-o-------+
+--o------+|
| CRL,Srv ||
|UAS,Pilot|+
+---------+
*******************************************************
Moskowitz & Card Expires 21 June 2024 [Page 4]
Internet-Draft DRIP DKI December 2023
Figure 1: The DKI Endorsements
The Authorization DETs exist in a set of DET-Authorization-
Endorsements. The lifetime of these endorsements SHOULD be no less
than 1 year, recommended 5 years, and should not exceed 10 years.
Endorsements SHOULD be reissued prior to expiry (may be for a new
DET). DETs used to define this authorization are replaced per
undetermined policy (note these DETs do very little signing, see
Section 7.1).
This separation of DET type roles reduce the risk of private key loss
for the critical Authentication DETs by making them infrequently used
and only used in offline operations. It does make the chain of trust
for a HDA customers' Operational DETs to be 4 Endorsements.
1.1. The DKI without an Apex Entity
The hierarchical design of the DKI is the most efficient possible
with the least data transmission overhead. But it requires the
participation of an Entity, in the role of the Apex, trusted by all
the RAAs. The logical Entity for this role is the International
Civil Aviation Authority (ICAO), but the processes for ICAO to take
on this role are complex. Work is ongoing with the ICAO, but timing
is indeterminate and immediately implementable alternatives are
needed.
The DKI can work by the RAAs establishing mutual trust within a
geographic region. It is envisioned that the initial RAA assignments
will follow Section 4.1 of [drip-registries], Table 1. Without an
Apex, each RAA self-endorses its Authentication DET, acting as its
own apex. However, RAAs issued DETs (via their HDAs) will not exist
in the air by themselves (except perhaps for some small island
nations), thus a geographic regional consortium of RAAs will need to
deploy some mechanism for mutual trust for their End Entities to fly
together.
There are three reasonable approaches for RAAs to manage their mutual
trust and it is likely that all will occur:
1. RAA Trust lists
2. RAA Cross-endorsements
3. Bridge RAA with cross-endorsements to RAAs
It is recommended that the RAA Trust List be used during initial DKI
testing. The cross-endorsing options will need their own testing to
work out how best to deploy them.
Moskowitz & Card Expires 21 June 2024 [Page 5]
Internet-Draft DRIP DKI December 2023
1.1.1. RAA Trust lists
A consortium of RAAs MAY choose to maintain a list of RAAs they
trust. It is recommended that this list consist of the RAA's
Authentication DET and HI. Each RAA in the consortium SHOULD
maintain its own list, signed with its Authentication DET.
This Trust List MAY contain each RAA's Authentication DET self-
endorsement validity dates. If a trusted RAA has more than one self-
endorsement (most likely to support key rollover), including these
dates makes it easier to have an RAA duplicated in the list.
How the RAAs communicate between themselves to maintain these lists
is out of scope here. Each RAA SHOULD include validity dates in its
Trust List. Frequency of Trust List updates is also out of scope
here.
Trust Lists is the simplest method to implement, but may not be the
simplest to maintain over time.
1.1.2. RAA Cross-endorsements
A consortium of RAAs MAY choose to cross-endorse each's
Authentication DET. This is done by one RAA endorsing for its
community, an other's Authentication DET. This establishes one-way
trust; thus, in practice, each RAA needs to cross-endorse each RAA's
Authentication DET within the consortium.
RAA Cross-endorsements definitely has a scaling (n^2) problem. It
works for a starting point or for a very small group of RAAs.
How these RAA Cross-endorsements are discovered has not been defined
at this point. One potential is via a to-be-defined DNS HHIT RR
within the endorsing RAA's zone. This information would need to be
cached by any potential offline entity.
1.1.3. Bridge RAA with cross-endorsements to RAAs
A consortium of RAAs MAY select one RAA to function as a "Bridge"
between all members of the consortium. In this approach, the "Bridge
RAA" does not authorize any sub-HDAs. Its sole purpose is the cross-
endorse to member RAAs. The Bridge and each RAA cross endorse as in
Section 1.1.2.
Moskowitz & Card Expires 21 June 2024 [Page 6]
Internet-Draft DRIP DKI December 2023
Bridge RAA Cross-endorsementing reduces the scaling challenge to only
the number of RAAs in the consortium. Plus there is little need to
communicate any changes in the cross-endorsementing to the various
parties within the consortium. Thus this option scales the best out
of the three alternatives to DKI Apex hierarchy.
How these RAA Cross-endorsements are discovered has not been defined
at this point. The Bridge RAA will have to be known to all parties
within the consortium. One potential, as above, is via a to-be-
defined DNS DET RR (Section 8.1.1 of [drip-registries]) within the
endorsing RAA's zone. This information would need to be cached by
any potential offline entity.
1.2. The C509 encoding of X.505 Certificates
A price in object size is paid in the ASN.1 encoding of X.509
certificates. This is often a barrier for use over constrained links
and even storage demands on constrained processing platforms. The
[C509-Certificates] provides an alternative encoding in two different
manners:
1. An invertible CBOR re-encoding of DER encoded X.509
certificates [RFC5280], which can be reversed to obtain the
original DER encoded X.509 certificate.
2. Natively signed C509 certificates, where the signature is
calculated over the CBOR encoding instead of over the DER
encoding as in 1. This removes the need for ASN.1 and DER
parsing and the associated complexity but they are not
backwards compatible with implementations requiring DER
encoded X.509.
The invertible CBOR encoding is recommended for use here. This can
be readily implemented through libraries that do the translation, as
needed, between X.509 and c509.
2. Terms and Definitions
2.1. Requirements 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.
Moskowitz & Card Expires 21 June 2024 [Page 7]
Internet-Draft DRIP DKI December 2023
2.2. Definitions
This document uses the terms defined in Section 2.2 of Drip
Requirements and Terminology [RFC9153] and in Section 2 of Drip
Architecture [RFC9434]. The following new terms are used in the
document:
Authorization DETs
DETs whose use is to define a hierarchy level and endorse lower
hierarchy level Authorization DETs and finally Issuing DETs at
this hierarchy level. They the DETs in the Authentication
Endorsements and X.509 certificates.
DKI
A DRIP Entity Tag (DET) public Key Infrastructure. Similar to an
X.509 PKI, but built on the DRIP Endorsements.
International Aviation Trust Framework (IATF)
The ICAO IATF is comprised of a set of policies, requirements, and
best practices that will enable resilient and secured ground-
ground, air-ground, and air-air exchange of digital information,
and among both traditional and newly-emerging system stakeholders.
Issuing DETs
DETs whose use is to sign Endorsements and X.509 certificates for
Operational DETs that are at the same hierarchy level as the
Issuing DET.
Operational DETs
DETs used by various entities in DRIP protocols and as non-
routable IPv6 addresses. A partial list of such entities
includes: GCS, Infrastructure (e.g. wireless tower systems),
Pilots-in-command, Servers, UA.
System Wide Information Management (SWIM)
The ICAO SWIM consists of Standards, Infrastructure and Governance
enabling the management of Air Navigation Systems (ANS) related
information and its exchange between qualified parties via
interoperable services.
3. The DET public Key Infrastructure (DKI)
3.1. The DKI Levels
Moskowitz & Card Expires 21 June 2024 [Page 8]
Internet-Draft DRIP DKI December 2023
3.1.1. The Apex
The Apex Authorization DET is used to endorse RAA Authorization DETs
and its own Apex Issuing DETs; it has no other use. This is the case
for all Authorization DETs. Apex Issuing DETs are used to endorse
DETs, with HID= 0|0, used by Apex services.
The DET Apex may be only theoretical if no Entity steps forward to
provide this role.
3.1.2. The RAAs
Each RAA use its Authorization DET (HID = RAA#|0) to endorse its RAA
Issuing DET(s) (also HID = RAA#|0) and for signing its HDA
Authorization DETs (HID = RAA#|HDA#).
An RAA may have multiple Issuing DETs (HID = RAA#|0), each for a
different use (e.g. CRL signing, RAA server signing). It is
expected that, over time, an RAA will rollover its Issuing DETs, thus
at times there will be more than ONE Issuing DET per role in use.
These Issuing DETs, like those at the Apex level, constitute an
implicit HDA. There is no Authorization DET for this implicit HDA,
but other than only signing for entities like servers needed by the
RAA, it should be considered as an HDA in terms of policies.
The initial RAA range assignments are defined in Section 4.1 of
[drip-registries], Table 1. It is anticipated that DRIP usage will
expand to use into General/Civil Aviation. Thus at some point a
block of RAAs will be set aside much like for the CTA-2063A
[CTA2063A] range.
3.1.3. The HDAs
Each HDA use its Authorization DET to endorse its HDA Issuing DETs
(e.g. RAA=267, HDA=567).
An HDA Issuing DET is used to endorse Operational DETs; those used by
the HDA for its services (e.g. USS) and for Devices (e.g. UA, GCS,
ground infrastructure) partaking in the HDA's services.
If the Operational DET is a Manufacturer DET, the "valid not after"
date (vna) MUST be 99991231235959Z.
Moskowitz & Card Expires 21 June 2024 [Page 9]
Internet-Draft DRIP DKI December 2023
3.2. The Offline Requirement for Authentication DETs
The Authentication DETs private keys MUST NEVER be on a system with
any network connectivity. Also efforts MUST be taken to limit any
external digital media connections to these offline systems.
Compromise of an Authentication DET compromises its and all lower
hierarchy levels. Such a compromise could result in a major re-
signing effort with a new Authentication DET. Also, during the time
of compromise, fraudulent additions to the DKI could have occurred.
This means that the process whereby the Authentication DET is used to
sign the Endorsement/X.509 certificate of its level's Issuing DET(s)
and lower level Authentication DETs MUST be conducted in an offline
manner.
This offline process need not be onerous. For example, QR codes
could be used to pass CSR objects to the offline Authentication DET
system, and this system could produce QR codes containing the
Endorsements and X.509 certificates it signed.
A video conference between the parties could have one side show its
QR code and the other copy and print it to move between the video
conferencing system and the offline system. This is a simplification
of a larger signing operation, but shows how such a signing need not
require travel and expensive hand-off methodologies.
It should be noted that the endorsement of Issuing DETs follow the
same restriction, as it is done with the Authentication DET. It MUST
be conducted in an offline manner.
3.3. DNS view of DKI
The primary view of the DKI is within DNS. There are two main DNS
structures, one for DETs and one for DKI entities.
In the DET DNS structure, only the Apex and RAA levels MUST be DNSSEC
signed. The HDA level may be too dynamic for DNSSEC signing (e.g.
hundreds of new EE Operational DETs per hour); trust in the EE
Operational DETs within the HDA level comes through inclusion of the
HDA Endorsement of EE object. A slow-churn HDA MAY use DNSSEC. The
RAA and HDA levels MUST contain their Endorsement by higher object;
this provides the needed trust in the Endorsement of EE objects. The
Apex level Endorsement is self-signed, thus trust in it is only
possible via DNSSEC.
Endorsements are currently stored in DNS via the CERT RR using a
private OID of 1.3.6.1.4.1.6715.2 (an alternative OID may be
1.3.9.16.2) and further classified by the Endorsement Type. The CERT
Moskowitz & Card Expires 21 June 2024 [Page 10]
Internet-Draft DRIP DKI December 2023
RR is only a temporary RR for Endorsements, as it cannot support DET
revocation (Section 3.4). DNS DET RR (Section 8.1.1 of
[drip-registries]) will soon provide an alternative and specifically
designed RR for this purpose. Other RR within these levels will
vary. There also may be HIP, TLSA, and/or URI RR.
Each level needs FQDNs for its Authorization DET and Issuing DET(s)
(e.g. PTR to DETs?). FQDNs for services offered may also be
present, or a URI for the commercial FQDN for the DKI Entity. TLSA
RR of DET SPKI may be directly included here. Same with HIP RR. The
Authorization Endorsement SHOULD be present, as SHOULD be Issuing
Endorsements.
3.4. Managing DET Revocation
For Operational DETs, there is no direct concept of DET revocation.
Operational DETs are either discoverable via DNS or not valid despite
being in a non-expired Endorsement signed an Issuing DET. Thus if an
Issuing Entity needs to "revoke" an Operational DET it removes all
entries for it from DNS, so a short TTL on those records is
recommended.
Authorization and Issuing DETs are not so easily "revoked"; something
akin to an X.509 CRL mechanism is needed. This could best be dealt
with by Endorsements managed in the new DET RR that includes
revocation status. Thus Section 8.1.1 of [drip-registries] defines
the specific RR for Endorsements that will be used here. Minimally,
at least the revocation status and revocation date(s) need to be in
this RR. Until this RR is available, there is no mechanism, other
than removal for Authorization and Issuing DET revocations.
3.5. The Offline cache of HDA Issuing Endorsements
The Offline cache of HDA Issuing Endorsements, used to verify various
EE signed objects without needing DNS access, SHOULD consist of the
HDA Authentication DET Endorsements of the HDA Issuing DETs. Thus
the receiver has a trusted source of the HDA Issuing DET Public Key
(HI) in a DRIP standard object (136 bytes). If the DKI DNS tree
includes GEO location data and coverage, a receiver could query some
service for a trusted cache within some radius of its location. Such
as, please tell me of all HDAs within 100KM of...
This cache MAY contain the full chain up to the Apex. This could be
helpful in limited connectivity environments when encountering an HDA
Issuing DET under a unknown Authenticated HDA or RAA. The needed
trust chain could be shorter.
Moskowitz & Card Expires 21 June 2024 [Page 11]
Internet-Draft DRIP DKI December 2023
3.5.1. HDA Offline Trust cache
There are situations where a list of specific HDAs for an entity to
trust for some application is needed. This can best be met by
maintaining a cache as above but only of the trusted HDA Issuing
Endorsements. How a list of this limited trust is maintain and
distributed is out of scope of this document and is left to those
needing this specific feature.
4. The DKI's Shadow PKI
The following defines the components of a DKI's shadow PKI built from
X.509 certificates with content that mirrors that in the DKI
Endorsements. There are two profiles provided; both may be used, or
the community may select one for deployment. In both cases, the PKI
tree mirrors that of the DKI levels (Section 3.1).
At this point in defining the shadow PKIs, alternatives to a strict
hierarchy is still an open work item. This work will follow the
pattern set in Section 1.1.
4.1. Shadow Lite-PKI with minimal content Certificates
The Lite-PKI is designed to fully mirror the DKI in the smallest
reasonable X.509 certificates (e.g. 240 bytes for DER), but still
adhere to [RFC5280] MUST field usage.
4.1.1. DRIP Lite X.509 certificate profile
The following is the profile for the DRIP X.509 Lite certificates
Moskowitz & Card Expires 21 June 2024 [Page 12]
Internet-Draft DRIP DKI December 2023
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
Signature Algorithm: ED25519
Issuer: CN =
Validity
Not Before:
Not After :
Subject: {CN = or Empty}
Subject Public Key Info:
Public Key Algorithm: ED25519
ED25519 Public-Key:
pub:
X509v3 extensions: {Operation Certs ONLY}
X509v3 Subject Alternative Name: critical
IP Address:
Signature Algorithm: ED25519
Signature Value:
4.1.2. Serial Number
The Serial Number is a MUST field, but it has no usage in this Lite-
PKI. It is 1-byte in size and thus duplicates are guaranteed. To
drop this field could make many X.509 parsing libraries fail.
4.1.3. Subject
The Subject field is only used in Authentication and Issuing
Certificates. In this usage it will be the left 8 bytes of the DET
encoded in the commonName attribute. Thus CN=2001003000000005 is for
an Apex Authentication certificate for prefix 2001003/28 and SuiteID
5.
For Entity Certificates, the Subject is Empty and the DET will be in
Subject Alternative Name (SAN). In the SAN, the DET can be properly
encoded as an IPv6 address.
To distinguish the various Issuing DET certificates under an
Authentication DET certificate, they will have a digit appended to
the CN to identify their role. For consistency across the PKI, these
are defined in Section 8.1.1 of [drip-registries].
Issuing - 1 (note: this was changed from "I")
CRL signing - CRL
Moskowitz & Card Expires 21 June 2024 [Page 13]
Internet-Draft DRIP DKI December 2023
Author's Note: The change of DET Type from alpha to numeric has not
been fully implemented in this draft. There are still CN values with
the alpha codes.
4.1.4. Subject Alternative Name
Subject Alternative Name is only used in Operational (End Entity)
certificates. It is used to provide the DET as an IP address with an
Empty Subject (SAN MUST be flagged as Critical).
The Subject Alternative Name is also used in Manufacturer DET
certificates. These may contain the hardwareModuleName as described
in [IEEE 802.1AR] that references [RFC4108].
Per [RFC5280] and [IEEE 802.1AR], Manufacturer DET certificates with
hardwareModuleName MUST have the notAfter date as 99991231235959Z.
4.1.5. Issuer
The Issuer MUST be the higher level's Subject.
The Issuer for the Apex Authentication certificate MUST be the
Subject (indicating self-signed).
As the Subject field streams down to Issuer, it is very important for
walking the trust chain via the FQDNs derived from the CN. Note that
there may be multiple certificates with a CN, particularly during key
rollover. It is up to applications to select the proper signing
certificate for validation.
4.1.6. The Lite test PKI
The Lite test PKI, following the test DKI, was built with openSSL
using the "req" command to create a CSR and the "ca" command to sign
the CSR, making the certificate. It should be noted that these CSRs
have all the content, less the validityDates, for making a DRIP
Endorsement, such that a registrar may prefer to receive CSRs and use
it to make both structures. The registrar, per CA practices will
provide the validityDates per its policy.
The self-signed certificates created by "req -x509" does not allow
selection of the validity dates, only the number of days from NOW.
The hack used around this limitation is to create a throw-away self-
signed certificate as above with the Apex's DET. Then create a CSR
with that DET and sign it with the throw-away certificate, setting
the validity dates as desired. This now becomes the actual Apex
self-signed Authentication certificate and the throw-away certificate
can now be thrown away.
Moskowitz & Card Expires 21 June 2024 [Page 14]
Internet-Draft DRIP DKI December 2023
4.2. Shadow PKI with PKIX-like Certificates
The X.509 certificates are minimalistic (less than 400 bytes for
DER). Any DRIP specific OIDs should come from the ICAO arc (e.g.
1.3.27.16.2).
4.2.1. DRIP X.509 certificate profile
The following is the profile for the DRIP X.509 certificates
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
Signature Algorithm: ED25519
Issuer: CN =
Validity
Not Before:
Not After :
Subject: {CN = or Empty}
Subject Public Key Info:
Public Key Algorithm: ED25519
ED25519 Public-Key:
pub:
X509v3 extensions:
X509v3 Subject Alternative Name: critical {in EE}
IP Address:
X509v3 Subject Key Identifier: {not in EE}
X509v3 Authority Key Identifier:
X509v3 Basic Constraints: critical
X509v3 Key Usage: critical
Signature Algorithm: ED25519
Signature Value:
4.2.2. Serial Number
The certificates will contain a 8-byte randomly generated Serial
Number, compliant with CABForum recommendations. Serial Numbers are
included for CRL functionality.
4.2.3. Subject
The certificates Subject will be coded in the commonName attribute.
This will either be the DET or the left 8 bytes of the DET (for
Authentication and Issuing DET certificates). Thus
CN=2001003000000005 is for an Apex Authentication certificate for
prefix 2001003/28 and SuiteID 5.
Moskowitz & Card Expires 21 June 2024 [Page 15]
Internet-Draft DRIP DKI December 2023
For Entity Certificates, the Subject is Empty and the DET will be in
Subject Alternative Name (SAN). In the SAN, the DET can be properly
encoded as an IPv6 address.
To distinguish the various Issuing DET certificates for the
Authentication DET certificate, they will have a letter appended to
the CN to identify their role. For consistency across the PKI, these
should be in an IANA registry. Current thought is for at least:
Issuing - I
CRL signing - CRL
4.2.4. Subject Alternative Name
Subject Alternative Name is only used in Operational (End Entity)
certificates. It is used to provide the DET as an IP address with an
Empty Subject (SAN MUST be flagged as Critical).
The Subject Alternative Name is also used in Manufacturer DET
certificates. These may contain the hardwareModuleName as described
in [IEEE 802.1AR] that references [RFC4108].
Per [RFC5280] and [IEEE 802.1AR], Manufacturer DET certificates with
hardwareModuleName MUST have the notAfter date as 99991231235959Z.
4.2.5. Issuer
The Issuer MUST be the higher level's Subject.
The Issuer for the Apex Authentication certificate MUST be the
Subject (indicating self-signed).
4.2.6. Subject Key Identifier
The Subject Key Identifier MUST be the DET. This is a major
deviation from "standard" X.509 certificates that hash (normally with
SHA2) the Public Key to fill the Subject Key Identifier.
The Subject Key Identifier is NOT included in EE certificates.
4.2.7. Authority Key Identifier
The Authority Key Identifier MUST be the higher level's Subject Key
Identifier (i.e. DET). This partially follows standard practice to
chain up the Authority Key Identifier' from the Subject Key
Identifier, except for how the Subject Key Identifiers are populated.
Moskowitz & Card Expires 21 June 2024 [Page 16]
Internet-Draft DRIP DKI December 2023
The Authority Key Identifier for the Apex Authentication certificate
MUST be the Subject Key Identifier (indicating self-signed).
4.2.8. The PKIX-like test PKI
The PKIX-like test PKI, following the test DKI, was built with
openSSL using the "req" command to create a CSR and the "ca" command
to sign the CSR, making the certificate. It should be noted that
these CSRs have all the content, less the validityDates, for making a
DRIP Endorsement, such that a registrar may prefer to receive CSRs
and use it to make both structures. The registrar, per CA practices
will provide the validityDates per its policy.
The self-signed certificates created by "req -x509" does not allow
selection of the validity dates, only the number of days from NOW.
The hack used around this limitation is to create a throw-away self-
signed certificate as above with the Apex's DET. Then create a CSR
with that DET and sign it with the throw-away certificate, setting
the validity dates as desired. This now becomes the actual Apex
self-signed Authentication certificate and the throw-away certificate
can now be thrown away.
5. The DKI and the ICAO IAC PKI
The ICAO has defined an International Aviation Common PKI (IAC) PKI
in their ICAO Doc 10169 Aviation Common Certificate Policy (ACCP). A
test version of this PKI is rolling out for testing the Aviation
System Wide Information Management (SWIM) environment.
Currently, this PKI is using ECDSA P-256 in its certificates. This
is equivalent to DET SuiteID of "3". The subjectNames in use can
readily by mapped to RAAs (Section 4.1 of [drip-registries], Table 1)
and HDAs. Thus it is a potential straight-forward technical work
item to add DET support into the PKI.
The DETs can readily be stored in subjectAltName or more
interestingly in subjectKeyIdentifier (and thus
authorityKeyIdentifier).
There are a number of advantages in the IATF and SWIM to have DETs
and the matching DNS available. For example, the "cost" of adding
DETs to these certificates could result in moving much of their
content into DNS SRV RR and potentially reduce their size by 1/3rd.
DETs as the authorityKeyIdentifier would enable DNS for Trust Chain
discovery.
Another approach is direct inclusion in this PKI of the DET "Lite" EE
certificates for constrained A2A communications.
Moskowitz & Card Expires 21 June 2024 [Page 17]
Internet-Draft DRIP DKI December 2023
Discussions are ongoing with those involved with the IATF PKI and
this could open up DET usage into General/Civil Aviation.
6. IANA Considerations
TBD - may need a registry of Signing certificate types.
7. Security Considerations
Risks in the DKI are similar to those in any X.509 PKI. The
methodologies to mitigate risk in PKI management should be considered
and implemented as appropriate.
The DKI presents a tree-breath problem that is rarely seen in PKIs
and needs practical solutions to minimize cost of operations and not
introduce risks needlessly. Consider that there can be 16,384 RAAs.
Assume only 10,000 RAAs, each of which Authentication DET Endorsement
has a 10 year validity period. This means that, on average, 1,000
RAAs per year need to rekey their Authentication DET Endorsement, or
on average, 3 per day. Current witnessed key signing processes will
not scale to this volume. Some virtual method (like in Section 3.2)
is needed.
7.1. Protecting against DKI/PKI compromise
There is always a risk of key compromise that could be a major
setback to the operation of a PKI and likewise the DRIP DKI. To
mitigate this risk, the Authentication DETs MUST only be used in
offline signing operations. They MUST NEVER be used on connected
systems. The information needed to create the Endorsements and X.509
certificates are brought to them on media that cannot transfer code,
for example in a QR code. The objects that are created are then
transferred away from the offline system to be used where needed.
It should be noted that this offline process MUST be followed down
the DKI/PKI tree. That is, the Apex has offline operations that
include signing the RAA Authentication DET that will be used in the
RAA's set up.
8. References
8.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
Moskowitz & Card Expires 21 June 2024 [Page 18]
Internet-Draft DRIP DKI December 2023
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
8.2. Informative References
[C509-Certificates]
Mattsson, J. P., Selander, G., Raza, S., Höglund, J., and
M. Furuhed, "CBOR Encoded X.509 Certificates (C509
Certificates)", Work in Progress, Internet-Draft, draft-
ietf-cose-cbor-encoded-cert-07, 20 October 2023,
<https://datatracker.ietf.org/doc/html/draft-ietf-cose-
cbor-encoded-cert-07>.
[CTA2063A] ANSI/CTA, "ANSI/CTA 2063-A Small Unmanned Aerial Systems
Numbers", September 2019, <https://shop.cta.tech/products/
small-unmanned-aerial-systems-serial-numbers>.
[drip-registries]
Wiethuechter, A. and J. Reid, "DRIP Entity Tag (DET)
Identity Management Architecture", Work in Progress,
Internet-Draft, draft-ietf-drip-registries-14, 4 December
2023, <https://datatracker.ietf.org/doc/html/draft-ietf-
drip-registries-14>.
[drip_scripts]
"Python scripts to generate DETs and Endorsements", April
2023, <https://github.com/ietf-wg-drip/drip-scripts>.
[IEEE 802.1AR]
IEEE, "IEEE Standard for Local and Metropolitan Area
Networks - Secure Device Identity",
DOI 10.1109/ieeestd.2018.8423794, 31 July 2018,
<https://doi.org/10.1109/ieeestd.2018.8423794>.
[IPv6-SPECIAL]
IANA, "IANA IPv6 Special-Purpose Address Registry",
<https://www.iana.org/assignments/iana-ipv6-special-
registry/>.
[RFC4108] Housley, R., "Using Cryptographic Message Syntax (CMS) to
Protect Firmware Packages", RFC 4108,
DOI 10.17487/RFC4108, August 2005,
<https://www.rfc-editor.org/info/rfc4108>.
Moskowitz & Card Expires 21 June 2024 [Page 19]
Internet-Draft DRIP DKI December 2023
[RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S.,
Housley, R., and W. Polk, "Internet X.509 Public Key
Infrastructure Certificate and Certificate Revocation List
(CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008,
<https://www.rfc-editor.org/info/rfc5280>.
[RFC9153] Card, S., Ed., Wiethuechter, A., Moskowitz, R., and A.
Gurtov, "Drone Remote Identification Protocol (DRIP)
Requirements and Terminology", RFC 9153,
DOI 10.17487/RFC9153, February 2022,
<https://www.rfc-editor.org/info/rfc9153>.
[RFC9374] Moskowitz, R., Card, S., Wiethuechter, A., and A. Gurtov,
"DRIP Entity Tag (DET) for Unmanned Aircraft System Remote
ID (UAS RID)", RFC 9374, DOI 10.17487/RFC9374, March 2023,
<https://www.rfc-editor.org/info/rfc9374>.
[RFC9434] Card, S., Wiethuechter, A., Moskowitz, R., Zhao, S., Ed.,
and A. Gurtov, "Drone Remote Identification Protocol
(DRIP) Architecture", RFC 9434, DOI 10.17487/RFC9434, July
2023, <https://www.rfc-editor.org/info/rfc9434>.
Appendix A. Test DETs and Endorsements
The following are test DETs and Endorsements for the test DKI. This
testing environment is open to all. There are 4 RAAs available for
others to build out. HDAs under the 4 preset RAAs, or under any of
the 4, built out be others, are available. Finally the test HDAs are
available for setting up a handful of entities. Any tester wanting
more than a few DETs for entities should plan on doing that under
their own HDA.
The following are the test values and objects. They were generated
using the det-gen.py and endorse.py scripts available at
[drip_scripts].
Moskowitz & Card Expires 21 June 2024 [Page 20]
Internet-Draft DRIP DKI December 2023
Apex
Authorizing DET (HID=0|0)
DET: 20010030000000052aeb9adc1ce8b1ec
DET: 2001:0030:0000:0005:2aeb:9adc:1ce8:b1ec
Raw HI: d60268e6cf64ad693e5bb055d7c6e48c
7ed07013609e6ed02bb935b3d6acf53e
vnb="05/01/2023"
vna="06/01/2024"
DETofP=0x20010030000000052aeb9adc1ce8b1ec
Endorsement(136 bytes): 644f3940665a9cc020010030000000052a
eb9adc1ce8b1ecd60268e6cf64ad693e5bb055d7c6e48c7ed07013
609e6ed02bb935b3d6acf53e20010030000000052aeb9adc1ce8b1
ec17008ad1bc982c6cd8c955b1ef621ef80ee5c269aa3dbcfd34b5
85162b19d39dad7d7ba78aeb0e84bc4dd8efc2246dd30834b1e5d0
d220e7815af921a560fc0d
raa16376
Authorizing DET (HID=16376|0)
DET: 2001003ffe000005f970a4d7fd0e14a5
DET: 2001:003f:fe00:0005:f970:a4d7:fd0e:14a5
Raw HI: df7e64cc1bfdcb65835437b37b6110d5
6fedb81443f58d53df8094e0e2828d23
vnb="05/07/2023"
vna="05/21/2024"
DETofP=0x20010030000000052aeb9adc1ce8b1ec
Endorsement(136 bytes): 64572240664c1c402001003ffe000005f9
70a4d7fd0e14a5df7e64cc1bfdcb65835437b37b6110d56fedb814
43f58d53df8094e0e2828d2320010030000000052aeb9adc1ce8b1
ecea2cdf1933fb93842cb2c4e849fda3637493c9eedbfe08178fd5
c7293c1b46acbd9a6c0c740a297ffda903b53bb34e8779ee8397d4
9e6216b51ac7e87161200c
Issuing DET (HID=16376|0)
DET: 2001003ffe000005191f150daf98f382
DET: 2001:003f:fe00:0005:191f:150d:af98:f382
Raw HI: b81b0180631ce60c14d14ab80a69c214
7305836bf80b3b10284d36bae750265c
vnb="05/07/2023"
vna="05/21/2024"
DETofP=0x20010030003ff805d80a0a62d3062894
Endorsement(136 bytes): 64572240664c1c402001003ffe00000519
1f150daf98f382b81b0180631ce60c14d14ab80a69c2147305836b
f80b3b10284d36bae750265c20010030003ff805d80a0a62d30628
94c1d2d6c8e0165da6318a8130a6eb5149830c9717bbad98be4fde
abec31195df9d6c41319d477cafcebf19efaa2694abc05f4460cbb
aedfee617fb44646523807
Moskowitz & Card Expires 21 June 2024 [Page 21]
Internet-Draft DRIP DKI December 2023
hda16376-16376
Authorizing DET (HID=16376|16376)
DET: 2001003ffe3ff805e805a98f9df15e2d
DET: 2001:003f:fe3f:f805:e805:a98f:9df1:5e2d
Raw HI: b82b27f86b013468fe48d85b54f01bf6
5385f302ab2e136dc51a3b929c88ce5a
vnb="05/14/2023"
vna="05/14/2024"
DETofP=0x2001003ffe000005f970a4d7fd0e14a5
Endorsement(136 bytes): 64605cc06642e1c02001003ffe000005a1
43e69785df6f61e8f6d91f7d5351485471420a9c7d5df180c7a31d
b86cc937581ee8106f18e4eb2001003ffe000005f970a4d7fd0e14
a5a791e3e1f8fe3fcc4848232df472cb4f796a1b836b918b55d69e
fac9a8d35d0fda184b5915e467969a8c6352f1e8ff65a0e8d42c2c
08f1b22f800b1288512904
Issuing DET (HID=16376|16376)
DET: 2001003ffe3ff8059b0e2860eb0bacde
DET: 2001:003f:fe3f:f805:9b0e:2860:eb0b:acde
Raw HI: 65f26bc01b89398f787c4785e4e7f6e0
1f2993137759995d7baa72791a44ac5d
vnb="05/14/2023"
vna="05/14/2024"
DETofP=0x2001003ffe3ff805e805a98f9df15e2d
Endorsement(136 bytes): 64605cc06642e1c02001003ffe3ff8059b
0e2860eb0bacde65f26bc01b89398f787c4785e4e7f6e01f299313
7759995d7baa72791a44ac5d2001003ffe3ff805e805a98f9df15e
2d72e53262d8b49452bfd6324daf2193fce47bbbce37bce0391542
bde64a156ab0942fa1ad340ecabf1e49eecf3818b25322955ef71d
ffc7b786c5c48a6a84c003
UA DET in 16376.16376
DET: 2001003ffe3ff805a93e53b72709e0ba
DET: 2001:003f:fe3f:f805:a93e:53b7:2709:e0ba
Raw HI: bf0453a01120ed8e651ae9f6951a8278
3da820296a338effd54a0ba846a99875
vnb="05/14/2023"
vna="05/21/2023"
DETofP=0x2001003ffe3ff8059b0e2860eb0bacde
Endorsement(136 bytes): 64605cc0646997402001003ffe3ff805a9
3e53b72709e0babf0453a01120ed8e651ae9f6951a82783da82029
6a338effd54a0ba846a998752001003ffe3ff8059b0e2860eb0bac
de903ad90789c07f948737280159a071449caed275c91cb73d782d
904a20492d12e27eb0f40c6098e70c5e5e382a3b43d9cac4994b4a
e82758665d62346fd80d00
Moskowitz & Card Expires 21 June 2024 [Page 22]
Internet-Draft DRIP DKI December 2023
A.1. Test DNS
The DNS tree(s) for the above test data is still in limbo and will be
added in a later version of this draft. But some of the RR for these
DETs are available below:
Note: this needs to be updated with the proposed DET RR.
Apex
Authorizing DET (HID=0|0)
IN TLSA 3 1 0 ( 302a300506032b6570032100d60268e6cf64ad693e5b
b055d7c6e48c7ed07013609e6ed02bb935b3d6acf53e )
IN IN HIP ( 5 2001003ffe000005f970a4d7fd0e14a5
1gJo5s9krWk+W7BV18bkjH7QcBNgnm7QK7k1s9as9T4= )
IN CERT 254 0 0 ( DAYKKwYBBAG0OwIGBmRPOUBmWpzAIAEAMAAAAAUq65
rcHOix7NYCaObPZK1pPluwVdfG5Ix+0HATYJ5u0Cu5NbPWrPU+IAEAM
AAAAAUq65rcHOix7BcAitG8mCxs2MlVse9iHvgO5cJpqj28/TS1hR
YrGdOdrX17p4rrDoS8TdjvwiRt0wg0seXQ0iDngVr5IaVg/A0= )
raa16376
Authorizing DET (HID=16376|0)
IN TLSA 3 1 0 ( 302a300506032b6570032100efcd5ca4427d87d9642c
76ebf48776df567cf2a9e5e513cb50b966ce54162fa0 )
IN IN HIP ( 5 2001003ffe000005f970a4d7fd0e14a5
335kzBv9y2WDVDeze2EQ1W/tuBRD9Y1T34CU4OKCjSM= )
IN CERT 254 0 0 ( DAYKKwYBBAG0OwIGBmRXIkBmTBxAIAEAP/4AAAX5cK
TX/Q4Upd9+ZMwb/ctlg1Q3s3thENVv7bgUQ/WNU9+AlODigo0jIAEAM
AAAAAUq65rcHOix7Oos3xkz+5OELLLE6En9o2N0k8nu2/4IF4/Vxy
k8G0asvZpsDHQKKX/9qQO1O7NOh3nug5fUnmIWtRrH6HFhIAw= )
Issuing DET (HID=16376|0)
IN TLSA 3 1 0 ( 302a300506032b6570032100b81b0180631ce60c14d1
4ab80a69c2147305836bf80b3b10284d36bae750265c )
IN IN HIP ( 5 2001003ffe000005191f150daf98f382
uBsBgGMc5gwU0Uq4CmnCFHMFg2v4CzsQKE02uudQJlw= )
IN CERT 254 0 0 ( DAYKKwYBBAG0OwIGBmRXIkBmTBxAIAEAP/4AAAUZHx
UNr5jzgrgbAYBjHOYMFNFKuAppwhRzBYNr+As7EChNNrrnUCZcIAEAM
AA/+AXYCgpi0wYolMHS1sjgFl2mMYqBMKbrUUmDDJcXu62Yvk/eq+
wxGV351sQTGdR3yvzr8Z76omlKvAX0Rgy7rt/uYX+0RkZSOAc= )
hda16376-16376
Authorizing DET (HID=16376|16376)
IN TLSA 3 1 0 ( 302a300506032b6570032100b82b27f86b013468fe48
d85b54f01bf65385f302ab2e136dc51a3b929c88ce5a )
IN HIP ( 5 2001003ffe3ff805e805a98f9df15e2d
uCsn+GsBNGj+SNhbVPAb9lOF8wKrLhNtxRo7kpyIzlo= )
IN CERT 254 0 0 ( DAYKKwYBBAG0OwIGBmRgXMBmQuHAIAEAP/4/+AXoBa
mPnfFeLbgrJ/hrATRo/kjYW1TwG/ZThfMCqy4TbcUaO5KciM5aIA
Moskowitz & Card Expires 21 June 2024 [Page 23]
Internet-Draft DRIP DKI December 2023
EAP/4AAAX5cKTX/Q4UpYcZ8SaHQTV9yscZCjN/KwqfqJXc/h3M4R
Hz366TSNShUany3nQG3bF+FR1vRQqOEbXIYdTID/PcgZaUiGezJw
w= )
Issuing DET (HID=16376|16376)
IN TLSA 3 1 0 ( 302a300506032b657003210065f26bc01b89398f787c
4785e4e7f6e01f2993137759995d7baa72791a44ac5d )
IN HIP ( 5 2001003ffe3ff8059b0e2860eb0bacde
ZfJrwBuJOY94fEeF5Of24B8pkxN3WZlde6pyeRpErF0= )
IN CERT 254 0 0 ( DAYKKwYBBAG0OwIGBmRgXMBmQuHAIAEAP/4/+AWbDi
hg6wus3mXya8AbiTmPeHxHheTn9uAfKZMTd1mZXXuqcnkaRKxdIA
EAP/4/+AXoBamPnfFeLXLlMmLYtJRSv9YyTa8hk/zke7vON7zgOR
VCveZKFWqwlC+hrTQOyr8eSe7POBiyUyKVXvcd/8e3hsXEimqEwA
M= )
UA DET in 16376.16376
IN TLSA 3 1 0 ( 302a300506032b6570032100bf0453a01120ed8e651a
e9f6951a82783da820296a338effd54a0ba846a99875 )
IN HIP ( 5 2001003ffe3ff805a93e53b72709e0ba
vwRToBEg7Y5lGun2lRqCeD2oIClqM47/1UoLqEapmHU= )
IN CERT 254 0 0 ( DAYKKwYBBAG0OwIGBmRgXMBkaZdAIAEAP/4/+AWpPl
O3Jwngur8EU6ARIO2OZRrp9pUagng9qCApajOO/9VKC6hGqZh1IA
EAP/4/+AWbDihg6wus3pA62QeJwH+UhzcoAVmgcUScrtJ1yRy3PX
gtkEogSS0S4n6w9AxgmOcMXl44KjtD2crEmUtK6CdYZl1iNG/YDQ
A= )
Appendix B. Test X.509 certificates
B.1. Test Lite X.509 certificates
The following the test DRIP X.509 certificates that mirror the test
Endorsements.
Moskowitz & Card Expires 21 June 2024 [Page 24]
Internet-Draft DRIP DKI December 2023
apex.cert.pem (der is 233 bytes)
-----BEGIN CERTIFICATE-----
MIHmMIGZoAMCAQICAX0wBQYDK2VwMBsxGTAXBgNVBAMMEDIwMDEwMDMwMDAwMDAw
MDUwHhcNMjMwNTAxMDAwMDAwWhcNMjQwNjAxMDAwMDAwWjAbMRkwFwYDVQQDDBAy
MDAxMDAzMDAwMDAwMDA1MCowBQYDK2VwAyEA1gJo5s9krWk+W7BV18bkjH7QcBNg
nm7QK7k1s9as9T6jAjAAMAUGAytlcANBACPlOBP4moEXJ71aX5K/U73RL07f20Av
1XFK2Vsl3GKDVJ5AQPar68i+o3JGHXdvAUaI7WucxuMBy/akgicsrAA=
-----END CERTIFICATE-----
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 125 (0x7d)
Signature Algorithm: ED25519
Issuer: CN = 2001003000000005
Validity
Not Before: May 1 00:00:00 2023 GMT
Not After : Jun 1 00:00:00 2024 GMT
Subject: CN = 2001003000000005
Subject Public Key Info:
Public Key Algorithm: ED25519
ED25519 Public-Key:
pub:
d6:02:68:e6:cf:64:ad:69:3e:5b:b0:55:d7:c6:e4:
8c:7e:d0:70:13:60:9e:6e:d0:2b:b9:35:b3:d6:ac:
f5:3e
Signature Algorithm: ED25519
Signature Value:
23:e5:38:13:f8:9a:81:17:27:bd:5a:5f:92:bf:53:bd:d1:2f:
4e:df:db:40:2f:d5:71:4a:d9:5b:25:dc:62:83:54:9e:40:40:
f6:ab:eb:c8:be:a3:72:46:1d:77:6f:01:46:88:ed:6b:9c:c6:
e3:01:cb:f6:a4:82:27:2c:ac:00
Moskowitz & Card Expires 21 June 2024 [Page 25]
Internet-Draft DRIP DKI December 2023
raa16376.cert.pem (der is 233 bytes)
-----BEGIN CERTIFICATE-----
MIHmMIGZoAMCAQICAQowBQYDK2VwMBsxGTAXBgNVBAMMEDIwMDEwMDMwMDAwMDAw
MDUwHhcNMjMwNTE1MDAwMDAwWhcNMjQwNTI0MDAwMDAwWjAbMRkwFwYDVQQDDBAy
MDAxMDAzZmZlMDAwMDA1MCowBQYDK2VwAyEA335kzBv9y2WDVDeze2EQ1W/tuBRD
9Y1T34CU4OKCjSOjAjAAMAUGAytlcANBAP2wkuzxmUj18bodQCs2PyZf+zGYGTfq
QGp6bE85jKymT/w3Di94fDJwuEW03gaWM8fwbWTND2DjFfYru3Vd+w4=
-----END CERTIFICATE-----
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 10 (0xa)
Signature Algorithm: ED25519
Issuer: CN = 2001003000000005
Validity
Not Before: May 15 00:00:00 2023 GMT
Not After : May 24 00:00:00 2024 GMT
Subject: CN = 2001003ffe000005
Subject Public Key Info:
Public Key Algorithm: ED25519
ED25519 Public-Key:
pub:
df:7e:64:cc:1b:fd:cb:65:83:54:37:b3:7b:61:10:
d5:6f:ed:b8:14:43:f5:8d:53:df:80:94:e0:e2:82:
8d:23
Signature Algorithm: ED25519
Signature Value:
fd:b0:92:ec:f1:99:48:f5:f1:ba:1d:40:2b:36:3f:26:5f:fb:
31:98:19:37:ea:40:6a:7a:6c:4f:39:8c:ac:a6:4f:fc:37:0e:
2f:78:7c:32:70:b8:45:b4:de:06:96:33:c7:f0:6d:64:cd:0f:
60:e3:15:f6:2b:bb:75:5d:fb:0e
Moskowitz & Card Expires 21 June 2024 [Page 26]
Internet-Draft DRIP DKI December 2023
Authentication hda16376-16376.cert.pem (der is 234 bytes)
-----BEGIN CERTIFICATE-----
MIHnMIGaoAMCAQICAgDxMAUGAytlcDAbMRkwFwYDVQQDDBAyMDAxMDAzZmZlMDAw
MDA1MB4XDTIzMDUyMTAwMDAwMFoXDTI0MDUyMTAwMDAwMFowGzEZMBcGA1UEAwwQ
MjAwMTAwM2ZmZTNmZjgwNTAqMAUGAytlcAMhAOj22R99U1FIVHFCCpx9XfGAx6Md
uGzJN1ge6BBvGOTrowIwADAFBgMrZXADQQA1tx7/4AWWsW3NdmWgWVDiShJF96kn
pw7CVU2vsYuXnXuLE/qIAluUEW+lnjGFAE9HjIgGks1He/uZekxCD9kI
-----END CERTIFICATE-----
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 241 (0xf1)
Signature Algorithm: ED25519
Issuer: CN = 2001003ffe000005
Validity
Not Before: May 21 00:00:00 2023 GMT
Not After : May 21 00:00:00 2024 GMT
Subject: CN = 2001003ffe3ff805
Subject Public Key Info:
Public Key Algorithm: ED25519
ED25519 Public-Key:
pub:
e8:f6:d9:1f:7d:53:51:48:54:71:42:0a:9c:7d:5d:
f1:80:c7:a3:1d:b8:6c:c9:37:58:1e:e8:10:6f:18:
e4:eb
Signature Algorithm: ED25519
Signature Value:
35:b7:1e:ff:e0:05:96:b1:6d:cd:76:65:a0:59:50:e2:4a:12:
45:f7:a9:27:a7:0e:c2:55:4d:af:b1:8b:97:9d:7b:8b:13:fa:
88:02:5b:94:11:6f:a5:9e:31:85:00:4f:47:8c:88:06:92:cd:
47:7b:fb:99:7a:4c:42:0f:d9:08
Moskowitz & Card Expires 21 June 2024 [Page 27]
Internet-Draft DRIP DKI December 2023
Issuing hda16376-16376.cert.pem (der is 234 bytes)
-----BEGIN CERTIFICATE-----
MIHnMIGaoAMCAQICAWMwBQYDK2VwMBsxGTAXBgNVBAMMEDIwMDEwMDNmZmUzZmY4
MDUwHhcNMjMwNTE0MDAwMDAwWhcNMjQwNTE0MDAwMDAwWjAcMRowGAYDVQQDDBEy
MDAxMDAzZmZlM2ZmODA1STAqMAUGAytlcAMhAGXya8AbiTmPeHxHheTn9uAfKZMT
d1mZXXuqcnkaRKxdowIwADAFBgMrZXADQQC59+Elr3gZjarg2Gjf7DFgkMvvwrBR
y8j+1b5lm+V4GiWoPW24hWlO9oHmv5wMiyGuuE7w4Lmoka/AA2haQIEO
-----END CERTIFICATE-----
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 99 (0x63)
Signature Algorithm: ED25519
Issuer: CN = 2001003ffe3ff805
Validity
Not Before: May 14 00:00:00 2023 GMT
Not After : May 14 00:00:00 2024 GMT
Subject: CN = 2001003ffe3ff805I
Subject Public Key Info:
Public Key Algorithm: ED25519
ED25519 Public-Key:
pub:
65:f2:6b:c0:1b:89:39:8f:78:7c:47:85:e4:e7:f6:
e0:1f:29:93:13:77:59:99:5d:7b:aa:72:79:1a:44:
ac:5d
Signature Algorithm: ED25519
Signature Value:
b9:f7:e1:25:af:78:19:8d:aa:e0:d8:68:df:ec:31:60:90:cb:
ef:c2:b0:51:cb:c8:fe:d5:be:65:9b:e5:78:1a:25:a8:3d:6d:
b8:85:69:4e:f6:81:e6:bf:9c:0c:8b:21:ae:b8:4e:f0:e0:b9:
a8:91:af:c0:03:68:5a:40:81:0e
UA1-16376-16376 CSR
Data:
Version: 1 (0x0)
Subject:
Subject Public Key Info:
Public Key Algorithm: ED25519
ED25519 Public-Key:
pub:
bf:04:53:a0:11:20:ed:8e:65:1a:e9:f6:95:1a:82:
78:3d:a8:20:29:6a:33:8e:ff:d5:4a:0b:a8:46:a9:
98:75
Attributes:
Requested Extensions:
Moskowitz & Card Expires 21 June 2024 [Page 28]
Internet-Draft DRIP DKI December 2023
X509v3 Subject Alternative Name: critical
IP Address:2001:3F:FE3F:F805:A93E:53B7:2709:E0BA
Signature Algorithm: ED25519
Signature Value:
e5:36:03:fa:3c:7b:c7:a8:03:4e:6e:37:37:de:79:7d:c3:d4:
01:43:a4:62:4d:91:ec:e5:20:0e:7f:6e:2f:f2:44:02:3a:b8:
b8:3f:1f:60:a8:e9:02:40:cc:e0:73:70:1c:2c:c5:1a:12:21:
ff:a8:f8:d0:07:a8:47:29:fd:05
UA1-16376-16376.cert.pem (der is 240 bytes)
-----BEGIN CERTIFICATE-----
MIHtMIGgoAMCAQICAgCtMAUGAytlcDAcMRowGAYDVQQDDBEyMDAxMDAzZmZlM2Zm
ODA1STAeFw0yMzA1MjEwMDAwMDBaFw0yMzA1MjQwMDAwMDBaMAAwKjAFBgMrZXAD
IQC/BFOgESDtjmUa6faVGoJ4PaggKWozjv/VSguoRqmYdaMiMCAwHgYDVR0RAQH/
BBQwEocQIAEAP/4/+AWpPlO3JwngujAFBgMrZXADQQBK8rkblSDYvfLxsT34THDh
ZBJTyEvtahfsTA1fY1bkMai8obOW5Gsn3tAad+BF1kyZUxR0tRl0Mwb+ZXZlsC8C
-----END CERTIFICATE-----
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 173 (0xad)
Signature Algorithm: ED25519
Issuer: CN = 2001003ffe3ff805I
Validity
Not Before: May 21 00:00:00 2023 GMT
Not After : May 24 00:00:00 2023 GMT
Subject:
Subject Public Key Info:
Public Key Algorithm: ED25519
ED25519 Public-Key:
pub:
bf:04:53:a0:11:20:ed:8e:65:1a:e9:f6:95:1a:82:
78:3d:a8:20:29:6a:33:8e:ff:d5:4a:0b:a8:46:a9:
98:75
X509v3 extensions:
X509v3 Subject Alternative Name: critical
IP Address:2001:3F:FE3F:F805:A93E:53B7:2709:E0BA
Signature Algorithm: ED25519
Signature Value:
4a:f2:b9:1b:95:20:d8:bd:f2:f1:b1:3d:f8:4c:70:e1:64:12:
53:c8:4b:ed:6a:17:ec:4c:0d:5f:63:56:e4:31:a8:bc:a1:b3:
96:e4:6b:27:de:d0:1a:77:e0:45:d6:4c:99:53:14:74:b5:19:
74:33:06:fe:65:76:65:b0:2f:02
Moskowitz & Card Expires 21 June 2024 [Page 29]
Internet-Draft DRIP DKI December 2023
B.1.1. openSSL Lite config file
The following openssl-conf file was used to create the above Lite,
certificates. It is dependent on a number of environment variables
to make each unique certificate. The conf file is a bit of a hack of
multiple conf files and some sections are really not used. It is
included here as a guide.
# OpenSSL DRIP Lite X.509 configuration file.
# Copy to `$dir/openssl-lite.cnf`.
[ ca ]
# `man ca`
default_ca = CA_default
[ CA_default ]
# Directory and file locations.
dir = $ENV::dir
cadir = $ENV::cadir
format = $ENV::format
signcert = $ENV::signcert
certs = $dir/certs
crl_dir = $dir/crl
new_certs_dir = $dir/newcerts
database = $dir/index.txt
serial = $dir/serial
RANDFILE = $dir/private/.rand
# The signing key and signing certificate.
private_key = $cadir/private/$signcert.key.$format
certificate = $cadir/certs/$signcert.cert.$format
# SHA-1 is deprecated, so use SHA-2 instead.
default_md = sha256
name_opt = ca_default
cert_opt = ca_default
default_startdate = $ENV::startdate
default_enddate = $ENV::enddate
preserve = no
policy = policy_loose
copy_extensions = copy
[ policy_loose ]
# Allow the intermediate CA to sign a more
# diverse range of certificates.
# See the POLICY FORMAT section of the `ca` man page.
Moskowitz & Card Expires 21 June 2024 [Page 30]
Internet-Draft DRIP DKI December 2023
countryName = optional
stateOrProvinceName = optional
localityName = optional
organizationName = optional
organizationalUnitName = optional
commonName = optional
[ req ]
# Options for the `req` tool (`man req`).
distinguished_name = req_distinguished_name
string_mask = utf8only
req_extensions = req_ext
default_crl_days = 30
# SHA-1 is deprecated, so use SHA-2 instead.
default_md = sha256
# Extension to add when the -x509 option is used.
x509_extensions = v3_ca
[ req_distinguished_name ]
# See <https://en.wikipedia.org/wiki/Certificate_signing_request>.
#countryName = Country Name (2 letter code)
#stateOrProvinceName = State or Province Name
#localityName = Locality Name
#0.organizationName = Organization Name
#organizationalUnitName = Organizational Unit Name
commonName = Common Name
[ req_ext ]
#basicConstraints = $ENV::basicConstraints
[ v3_ca ]
# Extensions for a typical CA (`man x509v3_config`).
subjectKeyIdentifier = none
authorityKeyIdentifier = none
#basicConstraints = $ENV::basicConstraints
[ usr_cert ]
# Extensions for client certificates (`man x509v3_config`).
#basicConstraints = $ENV::basicConstraints
subjectKeyIdentifier = none
authorityKeyIdentifier = none
[ usr_req ]
# Extensions for client certificates (`man x509v3_config`).
subjectAltName = critical, $ENV::subjectAltName
Moskowitz & Card Expires 21 June 2024 [Page 31]
Internet-Draft DRIP DKI December 2023
B.2. Test PKIX-like X.509 certificates
The following the test DRIP X.509 certificates that mirror the test
Endorsements.
Moskowitz & Card Expires 21 June 2024 [Page 32]
Internet-Draft DRIP DKI December 2023
apex.cert.pem (der is 331 bytes)
-----BEGIN CERTIFICATE-----
MIIBRzCB+qADAgECAgkAgEv1rlaKZB4wBQYDK2VwMBsxGTAXBgNVBAMMEDIwMDEw
MDMwMDAwMDAwMDUwHhcNMjMwNTAxMDAwMDAwWhcNMjQwNjAxMDAwMDAwWjAbMRkw
FwYDVQQDDBAyMDAxMDAzMDAwMDAwMDA1MCowBQYDK2VwAyEA1gJo5s9krWk+W7BV
18bkjH7QcBNgnm7QK7k1s9as9T6jWzBZMBkGA1UdDgQSBBAgAQAwAAAABSrrmtwc
6LHsMBsGA1UdIwQUMBKAECABADAAAAAFKuua3BzosewwDwYDVR0TAQH/BAUwAwEB
/zAOBgNVHQ8BAf8EBAMCAgQwBQYDK2VwA0EAB8h4FSMV3tqbAfFsu8ntlY6RIF7X
7ikWzzKb2IoxEXjXLV9E1KpNG0WP572aK2aj1B1CCE5XGpuMm1s4pvpeCg==
-----END CERTIFICATE-----
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
80:4b:f5:ae:56:8a:64:1e
Signature Algorithm: ED25519
Issuer: CN = 2001003000000005
Validity
Not Before: May 1 00:00:00 2023 GMT
Not After : Jun 1 00:00:00 2024 GMT
Subject: CN = 2001003000000005
Subject Public Key Info:
Public Key Algorithm: ED25519
ED25519 Public-Key:
pub:
d6:02:68:e6:cf:64:ad:69:3e:5b:b0:55:d7:c6:e4:
8c:7e:d0:70:13:60:9e:6e:d0:2b:b9:35:b3:d6:ac:
f5:3e
X509v3 extensions:
X509v3 Subject Key Identifier:
20:01:00:30:00:00:00:05:2A:EB:9A:DC:1C:E8:B1:EC
X509v3 Authority Key Identifier:
20:01:00:30:00:00:00:05:2A:EB:9A:DC:1C:E8:B1:EC
X509v3 Basic Constraints: critical
CA:TRUE
X509v3 Key Usage: critical
Certificate Sign
Signature Algorithm: ED25519
Signature Value:
07:c8:78:15:23:15:de:da:9b:01:f1:6c:bb:c9:ed:95:8e:91:
20:5e:d7:ee:29:16:cf:32:9b:d8:8a:31:11:78:d7:2d:5f:44:
d4:aa:4d:1b:45:8f:e7:bd:9a:2b:66:a3:d4:1d:42:08:4e:57:
1a:9b:8c:9b:5b:38:a6:fa:5e:0a
Moskowitz & Card Expires 21 June 2024 [Page 33]
Internet-Draft DRIP DKI December 2023
raa16376.cert.pem (der is 331 bytes)
-----BEGIN CERTIFICATE-----
MIIBRzCB+qADAgECAgkAtub1kRGFxHgwBQYDK2VwMBsxGTAXBgNVBAMMEDIwMDEw
MDMwMDAwMDAwMDUwHhcNMjMwNTE1MDAwMDAwWhcNMjQwNTI0MDAwMDAwWjAbMRkw
FwYDVQQDDBAyMDAxMDAzZmZlMDAwMDA1MCowBQYDK2VwAyEA335kzBv9y2WDVDez
e2EQ1W/tuBRD9Y1T34CU4OKCjSOjWzBZMBkGA1UdDgQSBBAgAQA//gAABflwpNf9
DhSlMBsGA1UdIwQUMBKAECABADAAAAAFKuua3BzosewwDwYDVR0TAQH/BAUwAwEB
/zAOBgNVHQ8BAf8EBAMCAgQwBQYDK2VwA0EAqw9AheCVGyvi3/qp9QOdV+xQcKFM
7jRX1+3uWR7FUoVZez2QX/dueYELScLqbHE7bK1KfAgavrD1YZZE2gJRCw==
-----END CERTIFICATE-----
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
b6:e6:f5:91:11:85:c4:78
Signature Algorithm: ED25519
Issuer: CN = 2001003000000005
Validity
Not Before: May 15 00:00:00 2023 GMT
Not After : May 24 00:00:00 2024 GMT
Subject: CN = 2001003ffe000005
Subject Public Key Info:
Public Key Algorithm: ED25519
ED25519 Public-Key:
pub:
df:7e:64:cc:1b:fd:cb:65:83:54:37:b3:7b:61:10:
d5:6f:ed:b8:14:43:f5:8d:53:df:80:94:e0:e2:82:
8d:23
X509v3 extensions:
X509v3 Subject Key Identifier:
20:01:00:3F:FE:00:00:05:F9:70:A4:D7:FD:0E:14:A5
X509v3 Authority Key Identifier:
20:01:00:30:00:00:00:05:2A:EB:9A:DC:1C:E8:B1:EC
X509v3 Basic Constraints: critical
CA:TRUE
X509v3 Key Usage: critical
Certificate Sign
Signature Algorithm: ED25519
Signature Value:
ab:0f:40:85:e0:95:1b:2b:e2:df:fa:a9:f5:03:9d:57:ec:50:
70:a1:4c:ee:34:57:d7:ed:ee:59:1e:c5:52:85:59:7b:3d:90:
5f:f7:6e:79:81:0b:49:c2:ea:6c:71:3b:6c:ad:4a:7c:08:1a:
be:b0:f5:61:96:44:da:02:51:0b
Moskowitz & Card Expires 21 June 2024 [Page 34]
Internet-Draft DRIP DKI December 2023
Authentication hda16376-16376.cert.pem (der is 331 bytes)
-----BEGIN CERTIFICATE-----
MIIBRzCB+qADAgECAgkAvmZjQZW1SFcwBQYDK2VwMBsxGTAXBgNVBAMMEDIwMDEw
MDNmZmUwMDAwMDUwHhcNMjMwNTIxMDAwMDAwWhcNMjQwNTIxMDAwMDAwWjAbMRkw
FwYDVQQDDBAyMDAxMDAzZmZlM2ZmODA1MCowBQYDK2VwAyEA6PbZH31TUUhUcUIK
nH1d8YDHox24bMk3WB7oEG8Y5OujWzBZMBkGA1UdDgQSBBAgAQA//j/4BegFqY+d
8V4tMBsGA1UdIwQUMBKAECABAD/+AAAF+XCk1/0OFKUwDwYDVR0TAQH/BAUwAwEB
/zAOBgNVHQ8BAf8EBAMCAgQwBQYDK2VwA0EAGUPOy6K8XxT6QaguvdTVxhHba2Ws
MEzF/oeyi8V1DNaH5wrLDgQLng7RrQfXpkUbI9l7GBq8+nr4jKkqcIxvDA==
-----END CERTIFICATE-----
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
be:66:63:41:95:b5:48:57
Signature Algorithm: ED25519
Issuer: CN = 2001003ffe000005
Validity
Not Before: May 21 00:00:00 2023 GMT
Not After : May 21 00:00:00 2024 GMT
Subject: CN = 2001003ffe3ff805
Subject Public Key Info:
Public Key Algorithm: ED25519
ED25519 Public-Key:
pub:
e8:f6:d9:1f:7d:53:51:48:54:71:42:0a:9c:7d:5d:
f1:80:c7:a3:1d:b8:6c:c9:37:58:1e:e8:10:6f:18:
e4:eb
X509v3 extensions:
X509v3 Subject Key Identifier:
20:01:00:3F:FE:3F:F8:05:E8:05:A9:8F:9D:F1:5E:2D
X509v3 Authority Key Identifier:
20:01:00:3F:FE:00:00:05:F9:70:A4:D7:FD:0E:14:A5
X509v3 Basic Constraints: critical
CA:TRUE
X509v3 Key Usage: critical
Certificate Sign
Signature Algorithm: ED25519
Signature Value:
19:43:ce:cb:a2:bc:5f:14:fa:41:a8:2e:bd:d4:d5:c6:11:db:
6b:65:ac:30:4c:c5:fe:87:b2:8b:c5:75:0c:d6:87:e7:0a:cb:
0e:04:0b:9e:0e:d1:ad:07:d7:a6:45:1b:23:d9:7b:18:1a:bc:
fa:7a:f8:8c:a9:2a:70:8c:6f:0c
Moskowitz & Card Expires 21 June 2024 [Page 35]
Internet-Draft DRIP DKI December 2023
Issuing hda16376-16376.cert.pem (der is 332 bytes)
-----BEGIN CERTIFICATE-----
MIIBSDCB+6ADAgECAgkAtkOsgzdFgMwwBQYDK2VwMBsxGTAXBgNVBAMMEDIwMDEw
MDNmZmUzZmY4MDUwHhcNMjMwNTE0MDAwMDAwWhcNMjQwNTE0MDAwMDAwWjAcMRow
GAYDVQQDDBEyMDAxMDAzZmZlM2ZmODA1STAqMAUGAytlcAMhAGXya8AbiTmPeHxH
heTn9uAfKZMTd1mZXXuqcnkaRKxdo1swWTAZBgNVHQ4EEgQQIAEAP/4/+AWbDihg
6wus3jAbBgNVHSMEFDASgBAgAQA//j/4BegFqY+d8V4tMA8GA1UdEwEB/wQFMAMB
Af8wDgYDVR0PAQH/BAQDAgIEMAUGAytlcANBAJo6Va29k8nYIUvHqnQJlwGHHz0u
gXgvaQuAt6f66T4eTX5zqG/ARy2MzDVlO0H/ojzWi3qiyAHjATcYRxMqzw8=
-----END CERTIFICATE-----
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
b6:43:ac:83:37:45:80:cc
Signature Algorithm: ED25519
Issuer: CN = 2001003ffe3ff805
Validity
Not Before: May 14 00:00:00 2023 GMT
Not After : May 14 00:00:00 2024 GMT
Subject: CN = 2001003ffe3ff805I
Subject Public Key Info:
Public Key Algorithm: ED25519
ED25519 Public-Key:
pub:
65:f2:6b:c0:1b:89:39:8f:78:7c:47:85:e4:e7:f6:
e0:1f:29:93:13:77:59:99:5d:7b:aa:72:79:1a:44:
ac:5d
X509v3 extensions:
X509v3 Subject Key Identifier:
20:01:00:3F:FE:3F:F8:05:9B:0E:28:60:EB:0B:AC:DE
X509v3 Authority Key Identifier:
20:01:00:3F:FE:3F:F8:05:E8:05:A9:8F:9D:F1:5E:2D
X509v3 Basic Constraints: critical
CA:TRUE
X509v3 Key Usage: critical
Certificate Sign
Signature Algorithm: ED25519
Signature Value:
9a:3a:55:ad:bd:93:c9:d8:21:4b:c7:aa:74:09:97:01:87:1f:
3d:2e:81:78:2f:69:0b:80:b7:a7:fa:e9:3e:1e:4d:7e:73:a8:
6f:c0:47:2d:8c:cc:35:65:3b:41:ff:a2:3c:d6:8b:7a:a2:c8:
01:e3:01:37:18:47:13:2a:cf:0f
Moskowitz & Card Expires 21 June 2024 [Page 36]
Internet-Draft DRIP DKI December 2023
UA1-16376-16376 CSR
Data:
Version: 1 (0x0)
Subject:
Subject Public Key Info:
Public Key Algorithm: ED25519
ED25519 Public-Key:
pub:
bf:04:53:a0:11:20:ed:8e:65:1a:e9:f6:95:1a:82:
78:3d:a8:20:29:6a:33:8e:ff:d5:4a:0b:a8:46:a9:
98:75
Attributes:
Requested Extensions:
X509v3 Subject Alternative Name: critical
IP Address:2001:3F:FE3F:F805:A93E:53B7:2709:E0BA
Signature Algorithm: ED25519
Signature Value:
e5:36:03:fa:3c:7b:c7:a8:03:4e:6e:37:37:de:79:7d:c3:d4:
01:43:a4:62:4d:91:ec:e5:20:0e:7f:6e:2f:f2:44:02:3a:b8:
b8:3f:1f:60:a8:e9:02:40:cc:e0:73:70:1c:2c:c5:1a:12:21:
ff:a8:f8:d0:07:a8:47:29:fd:05
UA1-16376-16376.cert.pem (der is 335 bytes)
-----BEGIN CERTIFICATE-----
MIIBSzCB/qADAgECAgkAnwfIckSSf74wBQYDK2VwMBwxGjAYBgNVBAMMETIwMDEw
MDNmZmUzZmY4MDVJMB4XDTIzMDUyMTAwMDAwMFoXDTIzMDUyNDAwMDAwMFowADAq
MAUGAytlcAMhAL8EU6ARIO2OZRrp9pUagng9qCApajOO/9VKC6hGqZh1o3kwdzAJ
BgNVHRMEAjAAMA4GA1UdDwEB/wQEAwIDyDAdBgNVHSUEFjAUBggrBgEFBQcDAgYI
KwYBBQUHAwQwHgYDVR0RAQH/BBQwEocQIAEAP/4/+AWpPlO3JwngujAbBgNVHSME
FDASgBAgAQA//j/4BZsOKGDrC6zeMAUGAytlcANBAL0ztu4wCQZFH7V/gfKnK5fP
HqUXxYzA4stvb4k1DMEHgum8NesVnlOhZ3OPpUet6GrnjIKd8SksbADW1h+hcwI=
-----END CERTIFICATE-----
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
9f:07:c8:72:44:92:7f:be
Signature Algorithm: ED25519
Issuer: CN = 2001003ffe3ff805I
Validity
Not Before: May 21 00:00:00 2023 GMT
Not After : May 24 00:00:00 2023 GMT
Subject:
Subject Public Key Info:
Public Key Algorithm: ED25519
Moskowitz & Card Expires 21 June 2024 [Page 37]
Internet-Draft DRIP DKI December 2023
ED25519 Public-Key:
pub:
bf:04:53:a0:11:20:ed:8e:65:1a:e9:f6:95:1a:82:
78:3d:a8:20:29:6a:33:8e:ff:d5:4a:0b:a8:46:a9:
98:75
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
X509v3 Key Usage: critical
Digital Signature, Non Repudiation, Key Agreement
X509v3 Extended Key Usage:
TLS Web Client Authentication, E-mail Protection
X509v3 Subject Alternative Name: critical
IP Address:2001:3F:FE3F:F805:A93E:53B7:2709:E0BA
X509v3 Authority Key Identifier:
20:01:00:3F:FE:3F:F8:05:9B:0E:28:60:EB:0B:AC:DE
Signature Algorithm: ED25519
Signature Value:
bd:33:b6:ee:30:09:06:45:1f:b5:7f:81:f2:a7:2b:97:cf:1e:
a5:17:c5:8c:c0:e2:cb:6f:6f:89:35:0c:c1:07:82:e9:bc:35:
eb:15:9e:53:a1:67:73:8f:a5:47:ad:e8:6a:e7:8c:82:9d:f1:
29:2c:6c:00:d6:d6:1f:a1:73:02
B.2.1. openSSL config file
The following openssl-conf file was used to create the above
certificates. It is dependent on a number of environment variables
to make each unique certificate. The conf file is a bit of a hack of
multiple conf files and some sections are really not used. It is
included here as a guide.
# OpenSSL DRIP X.509 configuration file.
# Copy to `$dir/openssl-root.cnf`.
[ ca ]
# `man ca`
default_ca = CA_default
[ CA_default ]
# Directory and file locations.
dir = $ENV::dir
cadir = $ENV::cadir
format = $ENV::format
signcert = $ENV::signcert
certkeyusage = $ENV::certkeyusage
certextkeyusage = $ENV::certextkeyusage
basicConstraints = $ENV::basicConstraints
Moskowitz & Card Expires 21 June 2024 [Page 38]
Internet-Draft DRIP DKI December 2023
certs = $dir/certs
crl_dir = $dir/crl
new_certs_dir = $dir/newcerts
database = $dir/index.txt
serial = $dir/serial
RANDFILE = $dir/private/.rand
# The signing key and signing certificate.
private_key = $cadir/private/$signcert.key.$format
certificate = $cadir/certs/$signcert.cert.$format
# For certificate revocation lists.
crlnumber = $dir/crlnumber
crl = $dir/crl/ca.crl.pem
crl_extensions = crl_ext
default_crl_days = 30
# SHA-1 is deprecated, so use SHA-2 instead.
default_md = sha256
name_opt = ca_default
cert_opt = ca_default
default_startdate = $ENV::startdate
default_enddate = $ENV::enddate
preserve = no
policy = policy_loose
copy_extensions = copy
[ policy_loose ]
# Allow the intermediate CA to sign a more
# diverse range of certificates.
# See the POLICY FORMAT section of the `ca` man page.
countryName = optional
stateOrProvinceName = optional
localityName = optional
organizationName = optional
organizationalUnitName = optional
commonName = optional
[ req ]
# Options for the `req` tool (`man req`).
distinguished_name = req_distinguished_name
string_mask = utf8only
req_extensions = req_ext
default_crl_days = 30
# SHA-1 is deprecated, so use SHA-2 instead.
default_md = sha256
Moskowitz & Card Expires 21 June 2024 [Page 39]
Internet-Draft DRIP DKI December 2023
# Extension to add when the -x509 option is used.
x509_extensions = v3_ca
[ req_distinguished_name ]
# See <https://en.wikipedia.org/wiki/Certificate_signing_request>.
#countryName = Country Name (2 letter code)
#stateOrProvinceName = State or Province Name
#localityName = Locality Name
#0.organizationName = Organization Name
#organizationalUnitName = Organizational Unit Name
commonName = Common Name
[ req_ext ]
basicConstraints = $ENV::basicConstraints
keyUsage = $ENV::certkeyusage
[ v3_ca ]
# Extensions for a typical CA (`man x509v3_config`).
subjectKeyIdentifier = $ENV::DET
authorityKeyIdentifier = keyid:always
basicConstraints = critical, CA:true
keyUsage = $ENV::certkeyusage
[ usr_cert ]
# Extensions for client certificates (`man x509v3_config`).
basicConstraints = $ENV::basicConstraints
authorityKeyIdentifier = keyid:always
keyUsage = $ENV::certkeyusage
extendedKeyUsage = $ENV::certextkeyusage
# uncomment the following if the ENV variables set
# crlDistributionPoints = $ENV::crlDP
# authorityInfoAccess = $ENV::ocspIAI
[ usr_req ]
# Extensions for client certificates (`man x509v3_config`).
subjectAltName = critical, $ENV::subjectAltName
[ crl_ext ]
# Extension for CRLs (`man x509v3_config`).
authorityKeyIdentifier=keyid:always
[ ocsp ]
# Extension for OCSP signing certificates (`man ocsp`).
basicConstraints = CA:FALSE
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid,issuer
# keyUsage = critical, digitalSignature
keyUsage = $ENV::certkeyusage
Moskowitz & Card Expires 21 June 2024 [Page 40]
Internet-Draft DRIP DKI December 2023
# extendedKeyUsage = critical, OCSPSigning
extendedkeyUsage = $ENV::certextkeyusage
B.3. Test PKIX-like C509 certificates
The CBOR Encoded X.509 Certificates (C509 Certificates)
[C509-Certificates] provides a standards-based approach to reduce the
size of X.509 certificates both on-the-wire and in storage.
These C509 certificates MAY be stored in the DET RR, but are more
likely to by used in over-the-air protocols and exist only for
transmission, being converted from/to their source X.509
certificates.
Author's Note: This section is still a Work in Progress.
The following are examples of a C509 cert.
raa16376.cert CBOR diagnostic notation:
1,
h'b6e6f5911185c478',
h'002001003000000005',
1684108800,
1716508800,
h'002001003ffe000005',
10,
h'df7e64cc1bfdcb65835437b37b6110d56fedb81443f58d53df8094e0e2828d23',
[
1, h'2001003FFE000005F970A4D7FD0E14A5',
7, h'20010030000000052AEB9ADC1CE8B1EC',
-4, -1,
-2, 1
],
12,
h'ab0f4085e0951b2be2dffaa9f5039d57ec5070a14cee3457d7edee591ec5528559
7b3d905ff76e79810b49c2ea6c713b6cad4a7c081abeb0f5619644da02510b'
Plain hex (183 bytes):
0148B6E6F5911185C478490020010030000000051A646176001A664FD88049002001
003FFE0000050A5820DF7E64CC1BFDCB65835437B37B6110D56FEDB81443F58D53DF
8094E0E2828D238801502001003FFE000005F970A4D7FD0E14A50750200100300000
00052AEB9ADC1CE8B1EC232021010C5840AB0F4085E0951B2BE2DFFAA9F5039D57EC
5070A14CEE3457D7EDEE591EC55285597B3D905FF76E79810B49C2EA6C713B6CAD4A
7C081ABEB0F5619644DA02510B
Moskowitz & Card Expires 21 June 2024 [Page 41]
Internet-Draft DRIP DKI December 2023
CBOR diagnostic notation with annotation (manual):
1, / X.509 v3, signature on DER encoding/
h'b6e6f5911185c478', / certificateSerialNumber /
h'002001003000000005', / issuer /
1684108800, / notBefore /
1716508800, / notAfter /
h'002001003ffe000005', / subject /
10, / subjectPublicKeyAlgorithm = Ed25519 /
h'df7e64cc1bfdcb65835437b37b6110d56fedb81443f58d53df8094e0e2828d23',
[ / extensions /
1, h'2001003FFE000005F970A4D7FD0E14A5', / subjectKeyIdentifier /
7, h'20010030000000052AEB9ADC1CE8B1EC', / authorityKeyIdentifier /
-4, -1, / critical basicConstraints CA = True /
-2, 1 / critical keyUsage = digitalSignature /
],
12, / issuerSignatureAlgorithm = Ed25519 /
h'ab0f4085e0951b2be2dffaa9f5039d57ec5070a14cee3457d7edee591ec5528559
7b3d905ff76e79810b49c2ea6c713b6cad4a7c081abeb0f5619644da02510b'
Moskowitz & Card Expires 21 June 2024 [Page 42]
Internet-Draft DRIP DKI December 2023
CBOR diagnostic notation with annotation (manual):
1, / X.509 v3, signature on DER encoding/
h'9f07c87244927fbe', / certificateSerialNumber /
"2001003ffe3ff805I", / issuer /
1684627200, / notBefore /
1684886400, / notAfter /
"", / subject /
10, / subjectPublicKeyAlgorithm = Ed25519 /
h'bf0453a01120ed8e651ae9f6951a82783da820296a338effd54a0ba846a99875',
[ / extensions /
4, -2, / basicConstraints CA = True /
-2, 19, / critical keyUsage = digitalSignature,
nonRepudiation, keyAgreement /
8, [2, 4], / extKeyUsage: TLS Web Client
Authentication, E-mail Protection /
-3, [7, h'2001003FFE3FF805A93E53B72709E0BA'],
/ critical subjectAltName: iPAddress /
7, h'2001003FFE3FF8059B0E2860EB0BACDE'
/ authorityKeyIdentifier /
],
12, / issuerSignatureAlgorithm = Ed25519 /
h'bd33b6ee300906451fb57f81f2a72b97cf1ea517c58cc0e2cb6f6f89350cc10782
e9bc35eb159e53a167738fa547ade86ae78c829df1292c6c00d6d61fa17302'
Plain hex (183 bytes):
01489F07C87244927FBE7132303031303033666665336666383035491A64695F001A
646D5380600A5820BF0453A01120ED8E651AE9F6951A82783DA820296A338EFFD54A
0BA846A998758A0421211308820204228207502001003FFE3FF805A93E53B72709E0
BA07502001003FFE3FF8059B0E2860EB0BACDE0C5840BD33B6EE300906451FB57F81
F2A72B97CF1EA517C58CC0E2CB6F6F89350CC10782E9BC35EB159E53A167738FA547
ADE86AE78C829DF1292C6C00D6D61FA17302
Acknowledgments
Many people assisted in creating the python scripts for making DETs
and DRIP Endorsements. Any roughness in the scripts is all my doing.
The openssl-user mailing list provided needed help in getting openssl
command line to do what was needed to build the test PKI.
The COSE C509 authors are providing active help in creating the C509
equivalent objects.
Authors' Addresses
Moskowitz & Card Expires 21 June 2024 [Page 43]
Internet-Draft DRIP DKI December 2023
Robert Moskowitz
HTT Consulting
Oak Park, MI 48237
United States of America
Email: rgm@labs.htt-consult.com
Stuart W. Card
AX Enterprize, LLC
4947 Commercial Drive
Yorkville, NY 13495
United States of America
Email: stu.card@axenterprize.com
Moskowitz & Card Expires 21 June 2024 [Page 44]