<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<?rfc toc="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<?rfc iprnotified="no" ?>
<?rfc strict="no" ?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" docName="draft-wiethuechter-tmrid-identity-claims-00" 
	category="std" ipr="trust200902" obsoletes="" updates="" submissionType="IETF" 
	xml:lang="en" tocInclude="true" symRefs="true" sortRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 2.37.1 -->
<front>
	<title abbrev="Identity Claims">TMRID Identity Claims</title>
	<seriesInfo name="Internet-Draft" value="draft-wiethuechter-tmrid-identity-claims-00"/>
	<author fullname="Adam Wiethuechter" initials="A." surname="Wiethuechter">
	<organization>AX Enterprize</organization>
	<address>
	  <postal>
		<street>4947 Commercial Drive</street>
		<city>Yorkville</city>
		<region>NY</region>
		<code>13495</code>
		<country>USA</country>
	  </postal>
	  <email>adam.wiethuechter@axenterprize.com</email>
	</address>
	</author>
	<author fullname="Stuart W. Card" initials="S." surname="Card">
	<organization>AX Enterprize</organization>
	<address>
	  <postal>
		<street>4947 Commercial Drive</street>
		<city>Yorkville</city>
		<region>NY</region>
		<code>13495</code>
		<country>USA</country>
	  </postal>
	  <email>stu.card@axenterprize.com</email>
	</address>
	</author>
	<author fullname="Robert Moskowitz" initials="R" surname="Moskowitz">
	<organization>HTT Consulting</organization>
	<address>
	  <postal>
		<street/>
		<city>Oak Park</city>
		<region>MI</region>
		<code>48237</code>
		<country>USA</country>
	  </postal>
	  <email>rgm@labs.htt-consult.com</email>
	</address>
	</author>
    <date year="2020"/>
    <area>Internet</area>
    <workgroup>DRIP</workgroup>
    <keyword>RFC</keyword>
    <keyword>Request for Comments</keyword>
    <keyword>I-D</keyword>
    <keyword>Internet-Draft</keyword>
    <keyword>TMRID</keyword>
<abstract>
<t>
	This document describes 7 Identity Claims for use for Trusted 
	Multipurpose RemoteIDs.  These Identity Claims will be used in 
	various Drone RemoteID Protocols (DRIP).
</t>
</abstract>
</front>
<middle>
<section numbered="true" toc="default"> <name>Introduction</name>
<t>
	This document expands on <xref 
	target="I-D.moskowitz-hip-hhit-registries" 
	format="default">Hierarchical HIT Registries</xref>, defining 
	defining 7 Identity Claims that are created and distributed through 
	the Registry Provisioning process.
</t>
<t>
	These claims establish trust for <xref 
	target="I-D.moskowitz-hip-hierarchical-hit" 
	format="default">Hierarchical HITs</xref>.	They are then used in 
	various Drone RemoteID Protocols to establish the trustworthy 
	claims needed to safely use the data provided.
</t>
</section>
<section anchor="terms" numbered="true" toc="default"> <name>Terms and Definitions</name>
<section numbered="true" toc="default"> <name>Requirements Terminology</name>
<t>
		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 <xref target="RFC2119" format="default"/> <xref target="RFC8174" format="default"/> when, and only when, they appear in all 
		capitals, as shown here.
</t>
</section>
<section numbered="true" toc="default"> <name>Definitions</name>
<dl newline="false" spacing="normal">
	<dt>HDA (Hierarchical HIT Domain Authority):</dt>
	<dd>
		The 14 bit field identifying the HIT Domain Authority under a 
		RAA.
	</dd>
	<dt>HID (Hierarchy ID):</dt>
	<dd>
		The 32 bit field providing the HIT Hierarchy ID.
	</dd>
	<dt>RAA (Registered Assigning Authority):</dt>
	<dd>
		The 18 bit field identifying the Hierarchical HIT Assigning 
		Authority.
	</dd>
</dl>
</section>
</section>
<section anchor="HIC" numbered="true" toc="default"> <name>Host Identity Claims</name>
<t>
	Under TM-RID there are a total of 7 Identity Claims created during 
	the provisioning of the UA to enable trustworthiness. This section 
	specifies the Host Identity Claims forms in detail, the individual 
	Host Identity Claims created and their use in TM-RID.
</t>
<section numbered="true" toc="default"> <name>Why the term: Host Identity Claims</name>
<t>
	Host Identity Claims are a form of digital certificates, specially 
	crafted for the UAS/USS ecosystem.  The term "certificates" has 
	been avoided due to the significant technology and legal baggage 
	around X.509 certificates.
</t>
<t>
	X.509 certificates and Public Key Infrastructure invokes more legal 
	and public policy considerations than probably any other electronic 
	communication sector.  It emerged as a governmental platform for 
	trusted identity management and was pursued in intergovernmental 
	bodies with links into treaty instruments.
</t>
<t>
	Thus there is a common expectation whenever the term "Certificates" 
	are used, and the term "Host Identity Claims" to carefully separate 
	these objects from X.509 objects and to emphasize their role as 
	claims.
</t>
</section>
<section numbered="true" toc="default"> <name>Cxx Form</name>
<t>
	Cxx is a self-signed Host Identity Claim on entity 'x' with the 
	following format:
</t>
<artwork align="left" name="" type="" alt="">
<![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+---------------+---------------+---------------+
|                                                               |
|                          Hierarchical                         |
|                       Host Identity Tag                       |
|                                                               |
+---------------+---------------+---------------+---------------+
|                                                               |
|                                                               |
|                                                               |
|                              Host                             |
|                            Identity                           |
|                                                               |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+
|                     Expiration Timestamp                      |
+---------------+---------------+---------------+---------------+
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                            Signature                          |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+
]]>
</artwork>
<t>
	This Host Identity Claim form is used to stake an unverified claim 
	onto the specified HI/HHIT pairing, until an expiration time, to be 
	used in TM-RID for entity 'x'. All Host Identity Claims of this 
	form are 116 bytes in length.
</t>
<t>
	The Expiration Timestamp MUST be current UNIX time, at the time
	of signing, plus an offset into the future. This offset SHOULD
	be of significant length (possibly years).
</t>
<section numbered="true" toc="default"> <name>Cxx Claims</name>
<t>
	TM-RID uses this form to create three self-signed Host Identity 
	Claims, which are then nested into other Host Identity Claims. The 
	three Host Identity Claims created are:
</t>
<ul empty="true" spacing="normal">
	<li>
		Aircraft on Aircraft (Caa)
	</li>
	<li>    
		Operator on Operator (Coo)
	</li>
	<li>    
		Registry on Registry (Crr)
	</li>
</ul>
<t>
	These Host Identity Claims (and keypairs needed to create them) 
	SHOULD be created on the entities that own them. Crr on the 
	Registry, Coo on the Operator device and Caa on the Aircraft itself 
	(if able).
</t>
<t>
	These Host Identity Claims could also be stored in DNS under
	the CERT RR [RFC4398]. The value of doing so is currently 
	unknown.
</t>
</section>
</section> <!-- END CXX FORM -->
<section numbered="true" toc="default"> <name>Cxy Form</name>
<t>
	Cxy is a binding Host Identity Claim with the following format:
</t>
<artwork align="left" name="" type="" alt="">
<![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+---------------+---------------+---------------+
|                                                               |
.                                                               .
.                              Cxx                              .
.                                                               .
|                                                               |
+---------------+---------------+---------------+---------------+
|                                                               |
.                                                               .
.                              Cyy                              .
.                                                               .
|                                                               |
+---------------+---------------+---------------+---------------+
|                           Timestamp                           |
+---------------+---------------+---------------+---------------+
|                     Expiration Timestamp                      |
+---------------+---------------+---------------+---------------+
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                            Signature                          |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+
]]>
</artwork>
<t>
	In the Cxy form a binding is asserted between the entities of 'x' 
	and 'y'. The self-signed Host Identity Claims of Cxx and Cyy are 
	used in the new certificate. The new Host Identity Claims is signed 
	by the first party (in the example above owner of Cxx) using their 
	keypair.
</t>
<t>
	During Host Identity Claim creation Timestamp and Expiration 
	Timestamp MUST be UNIX time (with Expiration Timestamp being 
	created using an offset setting it into the future) and MUST be no 
	later than the Expiration Timestamps found in Cxx and Cyy.
</t>
<section numbered="true" toc="default"> <name>Cxy Claims</name>
<t>
	In TM-RID two Host Identity Claims are created in the Cxy way, and 
	third one which is a special nesting of the created Host Identity 
	Claims (but following the Cxy form). These Host Identity Claims are 
	as follows:
</t>
<ul empty="true" spacing="normal">
	<li>    
		Registry on Operator (Cro): Using Crr and Coo as Cxx and Cyy 
		respectively, this Host Identity Claims asserts the Registry's 
		Acceptance of the claims in Coo. This MUST be performed on the 
		Registry. It is 304 bytes in length.
	</li>
	<li>    
		Operator on Aircraft (Coa): Using Coo and Caa (Cxx and Cyy 
		respectively) this Host Identity Claim asserts a binding 
		between an Operator and Aircaft. This MUST be performed on the 
		Operator device. It is 304 bytes in length.
	</li>
	<li>    
		Registry on Operator on Aircraft (Croa): A special claim
		created, asserting the transitivity between Registry,
		Operator and Aircraft. It uses Cro as Cxx and Coa as Cyy.
		This MUST be performed on the Registry. It is 608 bytes 
		in length.
	</li>
</ul>
<t>
	The exact methods of transfering data between the entities are out
	of scope of this document. It MUST be secure, especially
	when the Registry sends back Croa. It is RECOMMENED that
	HIP be used if possible, considering that HHITs are being
	used already.
</t>
<t>
	Croa is special in that it is similiar to an issued automobile 
	registration.The Operator, once it recieves Croa via
	a secure channel from the Registry, should store it somewhere
	safe to be recalled if required. It SHOULD not be public
	availibe, as it can be classified as Personally Identifiable
	Information (PII).
</t>
<t>
	It is possible that Cro and/or Coa are stored in DNS and are
	public availible as a result. If so, the CERT RR [RFC3498]
	should be used to store them. It is unknown the value of
	storing them in DNS gives.
</t>
</section>
</section> <!-- END CXY FORM -->
<section numbered="true" toc="default"> <name>Claim Registry on Aircraft</name>
<t>
	The Registry on Aircraft claim is a special Host Identity Claim 
	defined as follows:
</t>
<artwork align="left" name="" type="" alt="">
<![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+---------------+---------------+---------------+
|                                                               |
|                          Hierarchical                         |
|                       Host Identity Tag                       |
|                                                               |
+---------------+---------------+---------------+---------------+
|                                                               |
.                                                               .
.                              Caa                              .
.                                                               .
|                                                               |
+---------------+---------------+---------------+---------------+
|                     Expiration Timestamp                      |
+---------------+---------------+---------------+---------------+
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                            Signature                          |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+
]]>
</artwork>
<t>
	This Host Identity Claim uses the HHIT of the Registry and Caa to
	form a short (200 byte) certificate to be used on the Aircraft
	in Broadcast Remote ID.
</t>
<t>
	During Host Identity Claim creation the Expiration Timestamp
	MUST be UNIX time (with an offset added to it, setting it
	into the future) and also MUST be no later than the 
	Expiration Timestamp found in Caa.
</t>
<t>
	The Registry HHIT is substitued for Crr to keep the Host Identity 
	Claim within the contraints of Broadcast RID payload size. This 
	optomization does allow for an attacker to attempt a hash collision 
	on the HHIT. This, the authors argue, would be incredible hard as 
	the attacker would need to corrupt DNS to go undetected. That is if 
	a collision on the HHIT is even found in time as it is expected 
	that standard operating procedure for UAS would be to use 
	"one-time" identifiers.
</t>
<t>
	Cra could also be stored in DNS using the CERT RR [RFC3498]. 
	If this is of any benefit has not been explored.
</t>
</section> <!-- END CRA -->
</section> <!-- END CERTIFICATES -->

<section numbered="true" toc="default"> <name>Provisioning</name>
<t>
	This section gives an overview of how an Operator then Aircraft 
	are provisioned under TM-RID.
</t>
<t>
	First keypairs are generates on the required devices. Due to 
	limitations in hardware and connectivity it is acceptable to 
	generate the Aircraft keypairs and Host Identity Claims on the 
	Operator device and later embed the data into the Aircraft at the 
	end of provisioning. The methods to securely perform the action of 
	handling the data and embedding it into the Aircraft hardware are 
	out of scope for this document. This section of the document 
	assumes that the Operator is acting on behalf of the Aircraft.
</t>
<section numbered="true" toc="default"> <name>HHIT Delegation</name>
<t>
	Under the FAA NPRM, it is expect that IDs for UAS are assigned by
	the UTM and are generally one-time use. The methods for this
	however is unspecified leaving two options.
</t>
<ul empty="true" spacing="normal">
	<li>
		The entity generates its own HHIT, discovering and using the
		RRA and HDA for the target Registry. The method for discovering 
		a Registry's RRA and HDA is out of scope here. This allows for 
		the device to generate an HHIT to send to the Registry to be 
		accepted (thus generating the required Host Identity Claim) or 
		denied.
	</li>
	<li>
		The entity sends to the Registry its HI for it to be hashed 
		and result in the HHIT. The Registry would then either
		accept (returning the HHIT to the device) or deny this pairing.
	</li>
</ul>
<t>
	In either case the Registry must make a decision on if the HI/HHIT
	pairing is valid. This in its simplest form is checking the
	current Registry for a collision on the HHIT.
</t>
<t>
	Upon accepting a HI/HHIT pair the Registry MUST populate the 
	requried the DNS serving the HDA with the HIP RR and other relevant 
	RR types (such as TXT and CERT). The Registry MUST also generate 
	the appropriate Host Identity Claim for the given operation.
</t>
<t>
	If the Registry denied the HI/HHIT pair, because their was a HHIT 
	collision or any other reason, the Registry MUST signal back to the 
	device being provisioned that a new HI needs to be generated.
</t>
<t>
	The subsequent sections follow that the device is generating its 
	own HHIT.
</t>
</section>
<section numbered="true" toc="default"> <name>Operator</name>
<artwork align="left" name="" type="" alt="">
<![CDATA[
            +----------+            +---------+
            | Registry | ---------> | HDA DNS |
            +----------+   HIP RR   +---------+
               ^    |
               |    |
               |    |
         Coo   |    |   Cro 
               |    |
               |    v
            +----------+
            | Operator |
            +----------+
]]>
</artwork>
<t>
	The Operator generates his HHIT then Coo and sends Coo (along with 
	other relevant information if required) to the desired Registry.
</t>
<t>
	The Registry performs Operator registration, by confirming that no
	HHIT collisions occur. Coo undergoes a signature verification. 
	If everything passes the Registry adds the HIP RR and optionally
	CERT RRs and TXT RRs into the HDA DNS, generates Cro and transmits 
	it back to the Operator.
</t>
<t>
	Upon recieving Cro the Operator is now registered in the Registry
	and can proceed to provision any Aircraft. Further verification
	of Cro can be done, if desired.
</t>
</section>
<section numbered="true" toc="default"> <name>Aircraft</name>
<artwork align="left" name="" type="" alt="">
<![CDATA[
            +----------+            +---------+
            | Registry | ---------> | HDA DNS |
            +----------+   HIP RR   +---------+
               ^    |
               |    |
               |    |
    Caa, Coa   |    |   Croa, Cra
               |    |
               |    v
            +----------+                        +----------+
            | Operator | ---------------------> | Aircraft |
            +----------+   Aircraft Keypair,    +----------+
                           Aircraft HHIT, 
                           Caa, Cra
]]>
</artwork>
<t>
	The Operator generates the HHIT for the Aircraft along with Caa and 
	Coa, sending them to the Registry.
</t>
<t>
	The Registry confirms that the Operator is valid user and then 
	begins Aircraft registration. The HHIT is checked to see if there 
	is a collision in the current Registry. Caa and Coa undergo a 
	signature check. Once complete and all passes, then the Registry 
	adds the HIP RR (and other RRs) to the HDA DNS. The Registry then 
	generates two Host Identity Claims: Croa and Cra. Both are sent 
	back to the Operator to signal successful completion of Aircraft 
	registration.
</t>
<t>
	Upon recieving Croa the Operator stores it for safe keeping. After 
	any additional verification and signature checking Cra, the 
	Aircraft HHIT and the Aircraft keypair and embedded onto the 
	Aircaft.
</t>
</section>
<section numbered="true" toc="default"> <name>Registry</name>
<t>
	It should be noted that the Registry can undergo a similar process
	as Operator/Aircraft to provision them to an RRA (as a Registry is
	most likely the HDA). This is currently not specified here for
	berevity of the document.
</t>
</section>
</section> <!-- PROVISIONING -->
<section anchor="IANA" numbered="true" toc="default"> <name>IANA Considerations</name>
<t>
	TBD
</t>
</section>
<section numbered="true" toc="default"> <name>Security Considerations</name>
<t>
	TBD
</t>
</section>
<section numbered="true" toc="default"> <name>Acknowledgments</name>
<t>
	TBD
</t>
</section>
</middle>
<back>
<displayreference target="I-D.moskowitz-hip-hierarchical-hit" to="hierarchical-hit"/>
<displayreference target="I-D.moskowitz-hip-hhit-registries" to="hhit-registries"/>
<references> <name>References</name>
<references> <name>Normative References</name>
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
</references>
<references> <name>Informative References</name>
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.moskowitz-hip-hhit-registries.xml"/>
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.moskowitz-hip-hierarchical-hit.xml"/>
</references>
</references>
</back>
</rfc>
