[CFRG] Please review draft-ietf-drip-rid

Robert Moskowitz <rgm-sec@htt-consult.com> Tue, 14 September 2021 20:25 UTC

Return-Path: <rgm-sec@htt-consult.com>
X-Original-To: cfrg@ietfa.amsl.com
Delivered-To: cfrg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3B88A3A2D16 for <cfrg@ietfa.amsl.com>; Tue, 14 Sep 2021 13:25:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Nq0CDae45pH4 for <cfrg@ietfa.amsl.com>; Tue, 14 Sep 2021 13:25:38 -0700 (PDT)
Received: from z9m9z.htt-consult.com (z9m9z.htt-consult.com [23.123.122.147]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 907743A2D14 for <cfrg@ietf.org>; Tue, 14 Sep 2021 13:25:38 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by z9m9z.htt-consult.com (Postfix) with ESMTP id 82FF86250B for <cfrg@ietf.org>; Tue, 14 Sep 2021 16:24:37 -0400 (EDT)
X-Virus-Scanned: amavisd-new at htt-consult.com
Received: from z9m9z.htt-consult.com ([127.0.0.1]) by localhost (z9m9z.htt-consult.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id N4m1SH1F01Xz for <cfrg@ietf.org>; Tue, 14 Sep 2021 16:24:27 -0400 (EDT)
Received: from lx140e.htt-consult.com (unknown [192.168.160.29]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by z9m9z.htt-consult.com (Postfix) with ESMTPSA id 8954D62434 for <cfrg@ietf.org>; Tue, 14 Sep 2021 16:24:27 -0400 (EDT)
To: cfrg@ietf.org
From: Robert Moskowitz <rgm-sec@htt-consult.com>
Message-ID: <03b5ea0e-cf1a-8edf-d642-2fb4b2e458fd@htt-consult.com>
Date: Tue, 14 Sep 2021 16:25:10 -0400
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/cfrg/56XscYjs_GprhS0wxvVDWNincPg>
Subject: [CFRG] Please review draft-ietf-drip-rid
X-BeenThere: cfrg@irtf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Crypto Forum Research Group <cfrg.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/options/cfrg>, <mailto:cfrg-request@irtf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cfrg/>
List-Post: <mailto:cfrg@irtf.org>
List-Help: <mailto:cfrg-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/cfrg>, <mailto:cfrg-request@irtf.org?subject=subscribe>
X-List-Received-Date: Tue, 14 Sep 2021 20:25:41 -0000

Dear cfrg:

I am doing some interesting things with hashing in draft-ietf-drip-rid, 
and I have been instructed to get feedback from CFRGers.

A little background:

The various Civil Aviation Authorities (e.g. FAA) around the world are 
regulating the requirement that Unmanned Aircraft (AKA drones) broadcast 
their Identity (Remote Identification of Unmanned Aircraft) that can 
then be used to learn more about the UA.  ASTM International has 
published a specification, F3411-19, that is the reference document for 
UA manufacturers to meet these regulatory requirements.  Thing is what 
is in F3411-19 is a non-provable claim and open to misuse.

In IETF DRIP, we are defining a Trustable Device Entity Tag (DET) based 
on the Host Identity Tag in RFC 7401 by adding an entity hierarchical 
registry making a Hierarchical Host Identity Tag (HHIT).  This DET will 
be included as an option in the upcoming revision to F3411.  A 
manufacturer does not have to use a provable ID, but here is one way of 
doing it...

Remote IDs are broadcast over:  Bluetooth 4 or 5 or Wifi BEACONs or 
NAN.  The messages for WiFi and BT 5 are 250 bytes, but BT4 limits it to 
25 bytes!  The actual ID in F3411 is limited to 20 bytes.  In 
draft-ietf-drip-rid we define a Trustable Remote ID of 16 bytes which is 
a valid, non-routable IPv6 address.  In draft-ietf-drip-auth we define 
how to authenticate ownership of our DET within the 250 byte message 
limit or 9 chained BT4 messages (chaining of BT4 messages supported in 
F3411).

Here I am only asking for a review of draft-ietf-drip-rid.  We will get 
to draft-ietf-drip-auth later!  But looking at it will help fill in some 
whys.

Now on to the actual review request:

DETs are constructed by hashing a public ED25519 Host Identity with 
other information (see sec 3) using cSHAKE128.  A python script to 
create HHITs is available (see Informative Ref hhit-gen).

In most uses the actual hash size is 64 bytes.  Per Appendix C, the 
probablity of a collision is .01% in a population of 66M and 1% in a 
population of 663M.  We have a script that we will be making available 
that we ran to 1M HHITs and did not produce a collision. This script 
will be posted on github with its next version (right now it is 3 
separate scripts).

First level review is how I am creating this Cyptographically Generated 
Address.  Second is my math correct on the probablity of collisions.

It is expected that each DET registrar will protect against the 
registration of duplicate DETs (draft draft-wiethuechter-drip-registries 
is really drafty) so only one UA will be able to register a specific 
public ED25519 Host Identity and DET with that DET registrar.

Note that a UA may register a new DET for each "operation" (e.g. for 
each FEDEx delivery flight or 'only' one per day per UA), so a DET 
registrar could run through a LOT of DETs and could easily be rejecting 
a registration attempt as a duplicate.

The next concern is that of pre-image attacks against the hashing. I 
have not found any literature on this.  What is the risk?  How 'easy' is 
it to do with a hash of 64 bits.  I have text on this in the Security 
Considerations section.  This this adequate?  Is more information 
available that I can incude here?

I do not talk at all about the risk of multiple private keys for a 
public ED25519 key.  Do I need to include this?  I ASSuME that given the 
signature from draft-ietf-drip-auth and the public key, the receiver can 
trust the sender.

So that is pretty much it on request of CFRG to review 
draft-ietf-drip-rid.  DET privacy stuff (sec 8) I will take to SAAG.

I am looking forward to your responses.  I will be back to you on 
drip-auth when it is a little closer to done.  Though feel free to 
advise on it to.

Thank you

Robert Moskowitz