Re: [Drip] Secdir early review of draft-ietf-drip-auth-05

Adam Wiethuechter <adam.wiethuechter@axenterprize.com> Wed, 23 March 2022 16:26 UTC

Return-Path: <adam.wiethuechter@axenterprize.com>
X-Original-To: tm-rid@ietfa.amsl.com
Delivered-To: tm-rid@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7F1593A17BF; Wed, 23 Mar 2022 09:26:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.909
X-Spam-Level:
X-Spam-Status: No, score=-6.909 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=axenterprize.onmicrosoft.com
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 CTF5h9PnRFrV; Wed, 23 Mar 2022 09:26:33 -0700 (PDT)
Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2070f.outbound.protection.outlook.com [IPv6:2a01:111:f400:7eaa::70f]) (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 6C1A53A17BE; Wed, 23 Mar 2022 09:26:33 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=f1iXhAKLbo2cTDwimOK78PqBYeHWXqJIiGeOfJE1lasvsjRVDSjX9551e0jiuhxalOABTd/Rwb/Uxj08ICyNV9krTrmhq648JYCj5R9Tiy6Mw1HOb4iE/arL6IRGsD9p2XyHfUvusf4I1DYoJStfvmjKXJCDdXnsPT2HF7saVOrC9tbt5CTplvWA+vzmy0t0F5FWwolvXi9/otSxCCa8713dBM+JE9ILVkO0MVbD2z/J4dkJsMXhLtMjvfn1eOl7GLDa/jR7ABlfcRxgiHob0m6VDaGCyg/fHc9DsOKcQF0L09S90Godw+tSb/n5jwWyD6YBC7cqTQzo5u0MlH0JPw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=+RjwTTkSOMy4er7cMxrzA8DCbTP1wwZjKG63efe/FB0=; b=OOyYspyBcyXKHeqPOLFY/k/UtGTNbPXlT0mQ378V/FhKP9ID610BAtxFl5rxWW+ctAu0l9w47JTP67b7fbF2qT70x/D32Rq7evsL+N3m7K5NDTsucSd+691djLhFpZ9481WsteQboZaJEr4CzfTlfVfRS5HCJUoBp/6YmmQzDeU4IdFJ7H9Hiiam8MH5fDnb8r8+iuyYsTUrW0ztpiC0BAET+QSk4wq62nZUty9ZmYJaKjFfymR1bz2XhOEaWrfJAMkEcQip9f1EoIyMRNsOVMo2ZY+Rhr1+7i7XQgRFM2LeRXP9jvkLkMKXKkjsoVd4zHEDlaF8A+56ozpd+tx8ZA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=axenterprize.com; dmarc=pass action=none header.from=axenterprize.com; dkim=pass header.d=axenterprize.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=axenterprize.onmicrosoft.com; s=selector1-axenterprize-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+RjwTTkSOMy4er7cMxrzA8DCbTP1wwZjKG63efe/FB0=; b=AFKBDHWiZEG/h/1igLuX5S670TdLtAy+cvf4IIpPXnM3vLNrYRv6FN5NXOyNrR4/dgEUSDX7hEaS19s5TihqJJiV7/0rOwag/UA/uhPfiBghq0cSCOuCmrwpDVeGbKOH6c51kP1DBTl1EfqUmhWyCct6hVCJdZIqMY12vBe2soc=
Received: from SN6PR13MB2446.namprd13.prod.outlook.com (2603:10b6:805:5f::26) by BN0PR13MB5215.namprd13.prod.outlook.com (2603:10b6:408:157::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5102.8; Wed, 23 Mar 2022 16:26:28 +0000
Received: from SN6PR13MB2446.namprd13.prod.outlook.com ([fe80::c8cd:531c:1d0e:e730]) by SN6PR13MB2446.namprd13.prod.outlook.com ([fe80::c8cd:531c:1d0e:e730%3]) with mapi id 15.20.5102.016; Wed, 23 Mar 2022 16:26:28 +0000
From: Adam Wiethuechter <adam.wiethuechter@axenterprize.com>
To: "secdir@ietf.org" <secdir@ietf.org>, Rich Salz <rsalz@akamai.com>
CC: "draft-ietf-drip-auth.all@ietf.org" <draft-ietf-drip-auth.all@ietf.org>, "tm-rid@ietf.org" <tm-rid@ietf.org>
Thread-Topic: Secdir early review of draft-ietf-drip-auth-05
Thread-Index: AQHYPgDie0PrqxPnRESVKZvME1b3pKzNGsnJ
Date: Wed, 23 Mar 2022 16:26:28 +0000
Message-ID: <SN6PR13MB2446482E06CA4A8AF282D77F88189@SN6PR13MB2446.namprd13.prod.outlook.com>
References: <164796264611.30352.8191375984632777321@ietfa.amsl.com>
In-Reply-To: <164796264611.30352.8191375984632777321@ietfa.amsl.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
suggested_attachment_session_id: 174f14e4-dcf2-0c76-65a8-6995eb2b172d
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=axenterprize.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 53a4f3a5-4393-4ea1-d484-08da0ce9e1d8
x-ms-traffictypediagnostic: BN0PR13MB5215:EE_
x-microsoft-antispam-prvs: <BN0PR13MB5215F23D8BE75F11A8E45B8788189@BN0PR13MB5215.namprd13.prod.outlook.com>
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: b2C//TSPa3eNDCrfT9Ll6Vq6tbOhkVgWMWXtfpvTiO+ZGJKz0VG9LDzR/KeKbB+jwOZyop+fca2paI/Swf95KCRyjFNMbbJcQKbia08WdUUUqcQ03sMPiR1LqHLPEi1txVi8tGaoEKGo9aJZRasiK39D9uRiJkjXn0zKzQq8OuTMCRtOxx0OwUXLTR4V9KDTxw/hGMH6wjeopupaNE0+diInKgXzClr2bi5k8TisClKyDvz7/AfC1ixKKyvGMIzFyE0AzMCT4XfcH/cAvt/W4w8E7yktM6JRqamea30OTxpxN736qFLeh09JuVAcZcZu+SGxN/QNVJXvg70VAjcdE93IysospvXmNND6gm+xN6kYSKCSSPR5kJe9BkpkLF53VNX79CDUPoP55kgBdFyCGmEi6225/+rGdRugzL7wCngJwjWbQaKz3IlApEpDVnEmcRmiJdLAkeSM8omIRpszhr5nap5kV3f6RQSRkTs9ih7PuvzyDZHhU01256/HiTSvnF96R9PjYrJWl9ZK3aQiZ3eikkI6nlUaH0yvz6d2+7IGA/2eITeJlq7zSu+a4ieDX3CA8u5yd2Kt92/qH5fKoXZE4hJrHbahd//DHHAPWy0cwvWnzJtrgxoea74xQaVM+y9IJiD9Dldz6civNuZuvz2YT8Do3T0Fsk4iA34MI+fWN3hPv9PqmhljlfqBZAqICuOWLY1Fu6InZhFQy9LaF/jcGJ0lHxUKFkMHewBj5zStba/hcBK7V9yJE0ADjASZ
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR13MB2446.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(396003)(366004)(39830400003)(376002)(346002)(136003)(38070700005)(83380400001)(38100700002)(110136005)(122000001)(33656002)(19627405001)(86362001)(91956017)(76116006)(66946007)(44832011)(316002)(54906003)(66556008)(66476007)(5660300002)(52536014)(66446008)(64756008)(4326008)(2906002)(8936002)(8676002)(9686003)(26005)(53546011)(55016003)(186003)(6506007)(66574015)(7696005)(71200400001)(508600001); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 22lJEVY1gOoGXjSA7w/pF3gpHxDbrY9psqfVdxGDDdNQF21NiXXnH18/hWRMzaq97VnL4iDBNFaUohw+L5c4wMKBv41v057vYnLT2TATHOO3hy0V/1ZrlZ0U8Zf0HDVbZtMRZdRcHvqvUGHpngKmxqhDHEgx5Wl4VpEbYSZIxCGQfTGmdTWBuKh2EkpvjXoe/vmIUQSStfl7DtaYHqcZ0NY51MDPPXy1FrebeCpJVRjTi6BXArYTdyqOyxofpW8SQZB/dg5GsZis5p4o9+PcoMooiugb6B1j1TLuQoNCLKdBZ5JipxVoCF1u/0FZSpZKQaSyEd15wvjlu4GN35/8LO0MRRzhUFPc87XJdVRPLfq9+ffp3e444T3CWZTayiMke++OmodKug7afONDngWPqluSLP4VmY/S5s7SfwJgoJZfIC74rvyVSXvRltlL5Rsu7DpmfwtiDxUGDI6vUkAc6fLZXWzIUjTE5t4TQm3q6VrxOj/xTBQ5i0dQNocK3D1Wjpn/sUV60V1Zc90YJpny7VbbpKwz1Gk8VihzFgQlPmG2V1Kf5yCjfRQQNhCrpBKxzRlf46548LMO9g7aR/8gljplwD1rkE+qCzAZRjlFnNXbaKdB9TeKnaQIu4hWljTj4R0eCa3a6VaZAOggiNRfGnSRzBxZ23SK6appfNPzNDl2Gouqi/jMFnG9Kh/NbPCF66EMjEYz53ylcTkD1cYc6iyYF6TRGMrMYpwf47SQo48PIPMw4ETr2+xF4Gi/dYet/9gIfslbYo6E4lY3xvjxoDZ4Lpg83RJKJ6A6S2NFKYK/i/O56pJ+Z6mxAhg9PRbD+MQAa8ajFltjKUIZ1YxfsZst2vkytwkUC5PaAlq6ehHIt9/aM79HScZOwidtwKmox8gE8On4IEtbzURyV6FUd/En5pBN41e5rIIRip7tmACLq+nboUmroxUmmaJ0BaAFy43m70iPY0AQrqL1WEmh/B3Cs3dkEsjmDVf4PGRs4GLnC+vDX6Np2AGDcYsIl/6hAi3iFqZKUreqqlqgQwfUDxM4Vev6HB/tKdNJemigEJ3wiV1BcrBvexpEqXtePsghJryxPdrSAYKlC9OT55/3a/SCby9kf/WTGYwFgzhBn571i7sJih0eOkPRj4t6C9yzwl/4hPR/S8vxw4j1nu2DyM6/0cLFtScqRRDpYYuo1rpZUyIz/wQJm0WfYUGxQO3+cR8h0ecCC7j4b3iORxXIZaQqSM8v+9FVRJlDA7j7ZSUndLyIu92v859zywuIfd1H4zYy3/+85x4b70Y40vFio/IHWcTo/BOEvCF3l+dxWPfaRsmgVEngayH9brLcP4HrOwg+My2NzpIhIBX+6o7WBlhkzbcxpZTgtw5K6OSa5O2c+xU27x56ItBaGH782gEMd6DVDSy6ElSPwefEyT58JMTzVeb7vmZmAEQQs4Sx6iWssSEWbbCxJx5r94nXLoDL6c2/2cI1cI7OU7RAL/nCRRDurNvtMpKbH/hHAXN2m0Q=
Content-Type: multipart/alternative; boundary="_000_SN6PR13MB2446482E06CA4A8AF282D77F88189SN6PR13MB2446namp_"
MIME-Version: 1.0
X-OriginatorOrg: axenterprize.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SN6PR13MB2446.namprd13.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 53a4f3a5-4393-4ea1-d484-08da0ce9e1d8
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Mar 2022 16:26:28.1249 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 00ad0178-ead0-441e-96ff-0c72baf3a6fa
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: lfjLjhIX2Ns66LPs1eoTcQno01z6hQ6Vq4BYT5RQs69FTfHLg4fwxf+uGC1x090idg7qgbeOavBrg093LXe1dnjRsRe/1OB6EjfIou0dAVFmJGaxJK31pp6HpYE2bp1Q
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0PR13MB5215
Archived-At: <https://mailarchive.ietf.org/arch/msg/tm-rid/jKk3N8MGWYJOEABXzDB85I7k1v4>
Subject: Re: [Drip] Secdir early review of draft-ietf-drip-auth-05
X-BeenThere: tm-rid@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Drone Remote Identification Protocol <tm-rid.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tm-rid>, <mailto:tm-rid-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tm-rid/>
List-Post: <mailto:tm-rid@ietf.org>
List-Help: <mailto:tm-rid-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tm-rid>, <mailto:tm-rid-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 23 Mar 2022 16:26:37 -0000

Rich,

Thanks for the first external review of the document! My comments are inline.

I should have a new version by end of next week.

--------
73,
Adam T. Wiethuechter
Software Engineer; AX Enterprize, LLC
________________________________
From: Rich Salz via Datatracker <noreply@ietf.org>
Sent: Tuesday, March 22, 2022 11:24 AM
To: secdir@ietf.org <secdir@ietf.org>
Cc: draft-ietf-drip-auth.all@ietf.org <draft-ietf-drip-auth.all@ietf.org>; tm-rid@ietf.org <tm-rid@ietf.org>
Subject: Secdir early review of draft-ietf-drip-auth-05

Reviewer: Rich Salz
Review result: Has Issues

I know nothing about DRIP. I skimmed RFC 9153 and the suggested draft.
Take thesze comments with appropriate skepticism.

<atw>
Will do - it is a fair bit to grok so understandable.
</atw>

ASTM needs to be expanded.

<atw>
I saw Stu responded to this for you.
</atw>

Are "pages" basically packets? A confirmation/explanation, perhaps in the
definitions section would help. The definitions points to drip-requirements
draft, but then documents "aircraft"?  Really? :)

<atw>
The Authentication Pages could be considered packets (especially on Bluetooth 4). They are part of a much larger Bluetooth framing structure that it is sent in a single shot.

The 'aircraft' definition is probably unnecessary at this point and I will make it an action item to remove it and fix any text that needs adjusting because of it. To be honest it was me being lazy and not wanting to comb the document to add "Unmanned" in front of every instance.
</atw>

There are far too many one-paragraph sections.  Come up with broader titles
and merge things a bit; I think it will read better. I know kthis is not a
trivial amount of work.

<atw>
This was a stylistic choice on my part so good to hear some feedback on it.

My intention was that specific fields that are later referenced in the document to explicitly state what nests into what would be easier with section headers for them rather than pointing to a general section and have to dig through some text in section to figure things out.

I will play with collapsing some of them and seeing how it flows.
</atw>

Sec 3.3.1: the bit numbering is opposite of what I'm used to (i.e., 31->0,
this is 0->31).  This holds for all other ascii-art protocol blocks.
Consider breaking up the top byte into two nibbles AH and PH Pad out AuthType
into

<atw>
I will double check but the document we work from (ASTM F3411) is 0->31 and not the IETF convention of 31->0. This threw me off too at first. I can easily flip it as it really doesn't matter either way I think.
</atw>

Sec 3.3.2 the constraints/requirements should be first.

<atw>
This is a hard section to find a place. A new reader with no context of the fields I reference could find the text puzzling to understand. This was why I place it at the end of section 3 rather than the beginning.

I will see if I can do some re-arrangements. I suppose forward references aren't the worst thing.
</atw>

Sec 4.1.2.1 Put spaces between the logical parts of the bytes:
        12 50098960bf8c0504200100100 0a00145aac6b00abba268b7
Is that correct?  Why only the last 23?  Maybe I am missing some
other checksum, or don't know enough about Reed-Solomon.

<atw>
The correct breakdown of the line you have is this:
12 50 098960bf8c05 042001001000a00145aac6b00abba268b7

The last 23-bytes are used as the first two bytes are well known to a receiver. The first byte being Protocol Version and Message Type - this won't change in the middle of a Authentication Message from a transmitter and it has other pages to reference to get the value. The second byte is the AuthType and Page Number - AuthType does not change in a message being reconstructed while Page Number is contextual. If there are 3 pages (0 indexed) and you only received Page 0 and Page 2 - then the missing one is Page 1. For these reasons there is no need to perform the Reed Solomon FEC operation over the bytes - there used to be more explicit text about this - perhaps it got lost?

I think this indicates the text in this section still needs work and more detailed reviews from others.
</atw>

Sec 5, "UNIX timestamp offset by ..." you mean Unix-style timestamp
but with an epoch of ... right?  Is the "UA signature" defined
somewhere?  Same question about the signatures in Sec 6, etc.

<atw>
Yes a Unix-style timestamp. I will adjust the wording.

The structure in Section 5 is more formally defined in draft-ietf-drip-registries. This section is more of an abbreviated "copy-paste" of it so its inline in this document. It's just in this document I explicitly set certain field values that are different from the other document.
</atw>

Related question, where are the algorithms for the "Message Hash"
and other hashes within the doc defined?  Should be a forward reference.
Or worse, it's an external reference?

<atw>
The algorithm for the Message Hash is bound to the hash algorithm used to generate the DET. This is defined in draft-ietf-drip-uas-rid. So its an external reference that needs to be more well explained and called out.
</atw>

Sec 6.3.5.1 "multiplexing" seems out of place.

<atw>
Perhaps it is the wrong word here. Sub-type is probably the better term.
</atw>

General comment, putting all limitations, constraints, requirements, etc.,
should be up front.

<atw>
Understood. To me it seems a bit odd to have Section 7 near the top but perhaps forward referencing into the document is not the worst thing in this case if the implementation makes his choice from that section and just clicks the link to go to the relevant section to know implementation details.

Guess I am old school and read the full document first and attempt to understand everything the author wrote and tried to convey rather than jump around sections. :-)
</atw>

Is Appendix A useful here?  I don't see how.

<atw>
ASTM F3411 Authentication has really only 3 states: None, Invalid or Valid. This is because under ASTM the idea is that Authentication is done by an external service hosted somewhere on the Internet so you will always get some sort of answer back. With DRIP this classification becomes more complex as we support "offline" scenarios where the receiver does not have Internet connectivity. Since we are using asymmetric keys this means the public key must somehow be obtained - DRIP Registries gets more into detail how these keys are stored on DNS and one reason for DRIP Authentication is to send the key over Broadcast RID.

There are two keys of interest: the PK of the UA and the PK of the HDA (or Registry). The draft gives a clear way to send the PK of the UA over the Broadcast RID messages - however the PK of the Registry is not. It can be using the same mechanism but is not required to do so due to potential operational constraints and implementation of a given UA transmitter. As such there are scenarios where you may have part of the key-chain but not all of it.

The intent of Appendix A is to give some kind of recommended way to classify these various states and convey it to the user through colors and state names/text.

I will add some introductory text in this area to better explain why it is included at all.
</atw>

The sample messages in C do not seem useful, as they seem to be repeating
just the packet layouts.  I do not understand what the "Hex" values in
C.3 mean and there seems to be no way to re-compute/verify them.

<atw>
They were added to give context for someone who may have a hard time grokking the packet layouts and the various nesting. The hex values were taken from a running implementation log of such messages to give an example of what would be seen over the air.
</atw>