Subject: [Drip] Using Hierarchical HITs for a permanent Manufacturer Serial Number

From: Robert Moskowitz <[email-masked]>
Date: Fri, 28 Aug 2020 09:15:21 -0400

I am writing this up for ICAO DIWG and TRON...

A HHIT is a 16 byte number that can be represented in Hex in 32 
characters.  If you use a base32 representation, it is 16? bytes ( 0 - 
9, A - V) [been a long time since I played with other bases to see how 
this works out].  Either can be engraved on some label.

Consider some organization running an RAA that assigns HDAs to 
manufacturers or pretty much any org that says they are making UAs (2^16 
= 65,536 manufacturers).  Each such creates an HHIT for its devices and 
maintains its own register for such.  Thus they can make 63M UAs before 
a .01% collision rate at 633M before .1%.  They can have a process to 
manage collisions and get another HDA if needed.

If they implement 802.1AR, they can use the HHIT as the IDevID.  Or just 
as altSubjectName in an X.509 cert if desired (or required by 
regulations).  And use the keypair that created the HHIT for the cert 
key.  Thus the keyinfo in the cert == HI.

This Manufacturer HHIT MAY be used as a HHIT Remote ID, or the device 
can create and register with a USS an operational/owner HHIT.

This will be in a new section in the upcoming

draft-ietf-uas-rid-00

BTW, can we have an official call for adoption on the list?  Per the 
discuss on the Interim session?

---

From: Michael Richardson <[email-masked]>
Date: Fri, 28 Aug 2020 16:31:18 -0400

Robert Moskowitz <[email-masked]> wrote:
    > A HHIT is a 16 byte number that can be represented in Hex in 32 characters. 
    > If you use a base32 representation, it is 16? bytes ( 0 -
    > 9, A - V) [been a long time since I played with other bases to see how this
    > works out].  Either can be engraved on some label.

Base32 represents 5-bits per character. (while hex is 4-bits per character)
So 128 / 5 = 25.6, or 26 chracters rather than 32.
The A-V version is base32hex according to rfc4648.
Usually isn't A-V, but rather avoiding 0/O and I/1 confusion.
I guess it's useful for human presentation to know this.

    > If they implement 802.1AR, they can use the HHIT as the IDevID.  Or just as
    > altSubjectName in an X.509 cert if desired (or required by regulations).  And
    > use the keypair that created the HHIT for the cert key.  Thus the keyinfo in
    > the cert == HI.

So, would you use base32 in a UTF8String SAN (otherName?), or would you just
use iPAddress?

    > BTW, can we have an official call for adoption on the list?  Per the discuss
    > on the Interim session?

I'd like to do that.

--
Michael Richardson <[email-masked]>, Sandelman Software Works
 -= IPv6 IoT consulting =-

---

From: Robert Moskowitz <[email-masked]>
Date: Fri, 28 Aug 2020 16:37:51 -0400

> I guess it's useful for human presentation to know this.

Thanks.  I realized after I sent this that I had it wrong, and had it 
'right' in a GRAIN paper I did a couple months ago.  And thanks for the 
RFC to reference.

> So, would you use base32 in a UTF8String SAN (otherName?), or would you just

Don't know yet.  Throw it all on the wall and see what sticks. Since the 
base32 is a direct mapping from the integer IPaddress, why put that 
overhead into the cert?   The base32 is for "human readable" labels.  Argh.

>      > BTW, can we have an official call for adoption on the list?  Per the discuss

I have requested the chairs to start the official call for adoption.

I can push out the current content as drip-uas-rid-00 at any time (other 
than Shabbos!).  I am pulling together the first set of improvements, 
but first I need to finish some more ICAO docs for early next week.

---

From: "Stuart W. Card" <[email-masked]>
Date: Fri, 28 Aug 2020 17:17:17 -0400

RFC4648 uses A-Z plus 2-7, leaving out 0-1 to avoid ambiguity, to get 32
codes encoding 5 bits.

ANSI/CTA-2063-A uses A-H, J-N, P-Z plus 0-9, leaving out I (eye) and O
(oh) to avoid ambiguity, for UAS manufacturer serial number physically
printed characters.

I further assume that many human readers may not know the rules, so
might still suffer ambiguity with either scheme, so I proposed using
A-H, J-N, P-Z plus 2-9 to get 32 printing characters encoding 5 bits.

This enables encoding the 64 low bits of a HHIT, plus 4 bit HIT Suite /
OGA ID, plus last 4 bits of the IANA prefix, in the max 15 characters
allowed by ANSI/CTA-2063-A. I have shown how to get the 64 high bits
from the manufacturer ID etc. This allows a 2-way lookup between printed
manufacturer serial number and binary HHIT.

See attached.

-- 
-----------------------------------------
Stuart W. Card, PhD, Principal Engineer
AX Enterprize, LLC  www.axenterprize.com
4947 Commercial Drive, Yorkville NY 13495