[Rats] Review of draft-ietf-rats-eat-01

Carl Wallace <carl@redhoundsoftware.com> Mon, 15 July 2019 21:31 UTC

Return-Path: <carl@redhoundsoftware.com>
X-Original-To: rats@ietfa.amsl.com
Delivered-To: rats@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CE4D6120129 for <rats@ietfa.amsl.com>; Mon, 15 Jul 2019 14:31:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=redhoundsoftware.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 TAxvQFYHMIPD for <rats@ietfa.amsl.com>; Mon, 15 Jul 2019 14:31:19 -0700 (PDT)
Received: from mail-qt1-x829.google.com (mail-qt1-x829.google.com [IPv6:2607:f8b0:4864:20::829]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 22C4C12002E for <rats@ietf.org>; Mon, 15 Jul 2019 14:31:18 -0700 (PDT)
Received: by mail-qt1-x829.google.com with SMTP id n11so17283256qtl.5 for <rats@ietf.org>; Mon, 15 Jul 2019 14:31:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhoundsoftware.com; s=google; h=user-agent:date:subject:from:to:message-id:thread-topic :mime-version:content-transfer-encoding; bh=JO126JBJM8IYazX6kZK2O0xPyTZK9sqy8cLY2b2QArU=; b=pq3OJE7x8nffYJE/OUS2KklTzzYOukLSEogfCkuWrFIWnX9DVd0SIuytQ4sPzxRMcn JbBLUMJzb3v8OLS3s8L6You0YP+ji4OTW4NQDRFvC7+B7HboxdSs+3wdamPPWARY+NZN wVBqyAqIDK1lSK6MtR2FSw9tDrEmrMGKJ/hA8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:user-agent:date:subject:from:to:message-id :thread-topic:mime-version:content-transfer-encoding; bh=JO126JBJM8IYazX6kZK2O0xPyTZK9sqy8cLY2b2QArU=; b=MRf+HuFthdoywVYfQ47T/tlssvqNmZmXaunfovxQ7u11VF+iLVrFO29+Lle203BKdz yOnO+ixwuhhEyHwlpbyozHpXvnnAJH0dzlNBWDPNPoH9IOl5LMTeES4ZR91o2XiEkroi DCB/6T0rxqx8Bxp+ZmGiX+ly46gwoj7Y0Ye/GDfx2xypptHqgIYucaeOq8KijYbu8zrZ uj/XGQcLWAbiEJ2cU+STVC+5rTHvjmG/ttiSLfzwbgAhD1aivriU4/y84iZ+M8IFmYWr KQkdck/KnArOXIztYYDWUnJq8q8ao05xZe8CD2MHH66NMxAb2ukb8lUiIzIBQkPCe1id 6Ldg==
X-Gm-Message-State: APjAAAXe5VqL57xK/GzmqF5vXrUP3rQzKm+YVxsfgw7vYtnz2AYmzz24 vUhHOkDirCMndGpOctJw11yYliGI
X-Google-Smtp-Source: APXvYqyVP5n2Dmy3JhIlGny7swT+nAgxM5iC2ybBgFouPyEZlhWjK+g4eOjqD2yW5CE0tlu2afZu5Q==
X-Received: by 2002:aed:2063:: with SMTP id 90mr19729229qta.307.1563226277827; Mon, 15 Jul 2019 14:31:17 -0700 (PDT)
Received: from [192.168.0.44] (ec2-23-20-245-243.compute-1.amazonaws.com. [23.20.245.243]) by smtp.googlemail.com with ESMTPSA id w25sm6596823qto.87.2019.07.15.14.31.15 for <rats@ietf.org> (version=TLS1 cipher=AES128-SHA bits=128/128); Mon, 15 Jul 2019 14:31:16 -0700 (PDT)
User-Agent: Microsoft-MacOutlook/14.7.6.170621
Date: Mon, 15 Jul 2019 17:31:08 -0400
From: Carl Wallace <carl@redhoundsoftware.com>
To: "rats@ietf.org" <rats@ietf.org>
Message-ID: <D95268DC.E2D3B%carl@redhoundsoftware.com>
Thread-Topic: Review of draft-ietf-rats-eat-01
Mime-version: 1.0
Content-type: text/plain; charset="UTF-8"
Content-transfer-encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/rats/_OqhHWytbiKTmUbMIRsr13Gi7QY>
Subject: [Rats] Review of draft-ietf-rats-eat-01
X-BeenThere: rats@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Remote Attestation Procedures <rats.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rats>, <mailto:rats-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rats/>
List-Post: <mailto:rats@ietf.org>
List-Help: <mailto:rats-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rats>, <mailto:rats-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 15 Jul 2019 21:31:22 -0000

In section 1.2, it seems odd that the definition of the term "entity" is
limited to things that implement this draft. The last sentence of this
section and the definition of "The Entity" in section 1.3 bear this out.
Generally, 'entity' is used pretty loosely throughout the draft.

In section 1.2, why state "the attestation should be cryptographically
verifiable by the EAT consumer"? Is the intent that some EAT consumers
won't recognize the root of trust or that some EATs need not be
cryptographically verifiable at all? If the former, maybe change from
should to MUST and add qualifying words about root of trust for relying
parties. 

Section 1.4.2 claims to not standardize the "end-end process of
establishing signing attestation key material in the entity, signing the
EAT, and verifying it". However, the election of COSE, for example, does
standardize signing and verifying (see section 4.4 of RFC 8152). Also, the
language here needs to reflect expansion to include JWT.

Section 2 feels incomplete without a definition of claim (as in JWT and
CWT, which include similar definitions as here plus claim) and attestation
(given definition of Attestation Key Material). CWT Claims Set should
probably be renamed Claims Set given expansion to include JWT.

In 3.1, suggest re-phrasing "sent to the entity by any protocol" to
something simpler like "provided to entity".

Should 3.11 be 'nested EATs' or 'aggregated EATs'. In other words, are
these really nested (like signed then encrypted or signed then
countersigned) or are they aggregated into an array then signed? Should
these be wrapped as a bstr (at least for CBOR)?

In 4.4.1, suggest table presentation a la COSE spec.

In 4.4.2, are nested EATs allowed to make different encoding choices?

Throughout the draft, should and must are used in many places where SHOULD
or MUST is probably applicable. Examples include:

	- In section 3.1, the should should be SHOULD
	- In section 3.6, the must instances in bullets 3 and 4 could be MUSTs
	- In section 3.11, the must should be MUST
	- In section 4.3.2, the must instances in bullets 3 and 4 should be MUSTs
	- In section 4.4.2, the must in the last sentence of the second paragraph
should be a MUST (and it may be helpful to enumerate 'all' here)
	- Throughout 4.4.2, there are several instances of 'the server must'.
These must instances should probably be MUSTs and 'the server' should
probably the 'the relying party'.
	- In 5.1, the should should be SHOULD

	
The draft should probably include claims related to key attestation (I
think this was mentioned on the list as something that would be added).

Typos
- In the intro change "very small IoT device" to "very small IoT devices"
- In section 3 fix formatting of bullets