[Last-Call] Secdir last call review of draft-ietf-rats-architecture-21

Shawn Emery via Datatracker <noreply@ietf.org> Sat, 27 August 2022 06:01 UTC

Return-Path: <noreply@ietf.org>
X-Original-To: last-call@ietf.org
Delivered-To: last-call@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id D6BA8C14CF10; Fri, 26 Aug 2022 23:01:07 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
From: Shawn Emery via Datatracker <noreply@ietf.org>
To: secdir@ietf.org
Cc: draft-ietf-rats-architecture.all@ietf.org, last-call@ietf.org, rats@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 8.15.0
Auto-Submitted: auto-generated
Precedence: bulk
Message-ID: <166158006787.48736.8208932393462765621@ietfa.amsl.com>
Reply-To: Shawn Emery <shawn.emery@gmail.com>
Date: Fri, 26 Aug 2022 23:01:07 -0700
Archived-At: <https://mailarchive.ietf.org/arch/msg/last-call/0JpYvkgL-79nvmsrUpWKtMqtkhE>
Subject: [Last-Call] Secdir last call review of draft-ietf-rats-architecture-21
X-BeenThere: last-call@ietf.org
X-Mailman-Version: 2.1.39
List-Id: IETF Last Calls <last-call.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/last-call>, <mailto:last-call-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/last-call/>
List-Post: <mailto:last-call@ietf.org>
List-Help: <mailto:last-call-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/last-call>, <mailto:last-call-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 27 Aug 2022 06:01:07 -0000

Reviewer: Shawn Emery
Review result: Has Nits

I have reviewed this document as part of the security directorate's ongoing
effort to review all IETF documents being processed by the IESG.  These
comments were written primarily for the benefit of the security area directors.
 Document editors and WG chairs should treat these comments just like any other
last call comments.

This draft specifies architectures and terminology for Remote ATtestation
procedureS (RATS), which consists of, at a high-level overview, an Attester
(which forwards claimant information), Verifier (that analyzes the claims sent
from the Attester), and Relying Party (who receives the verification
information and determines if the Attester adheres to the relying party’s
policy before allowing access/operations to the targeted resource(s)).

The draft also has a privacy section that covers the areas of sensitive data
within the architecture; e.g. attestation results: which could consist of the
type of firmware/software used, PII, etc.  that the attester is claiming for. 
Confidentiality is recommended against these potential types of attacks.  Even
if confidentiality is provided, the section goes on to state that information
can still be inferred by contextual or timing of the attestor exchange.  The
draft doesn’t describe ways to mitigate against this type of attack but should
give some guidance.  The section closes out with mitigating against trust with
confidential information to the Verifier, in which the Attester can switch
roles to a Relying Party where it requests attestation results from the
Verifier or claimant information can be attested anonymously.  I believe that
the privacy aspects of the draft are comprehensive and mitigations prescribed,
except for the contextual and timing attacks, are reasonable.

The security considerations section exists and appropriately defers specific
mitigations as this draft is an architectural document devoid of the multitude
of use-cases that employ said architecture.  However, the section does provide
guidance on the various ways to attack the premise of the architecture: provide
a foundation that allows the Relying Party to trust the Attester and their
claims.  Areas that are covered in this regards are:

Protecting the attester (on or off device) and their key generation and
protection Protecting message confidentiality, integrity, availability,
authentication, authorization, auditing, trustworthiness, and thwarting replay.

I believe that this section, as well, is comprehensive and accurately describes
ways of mitigating against the corresponding attacks:

Replay: freshness (e.g. epoch IDs and its limitations against delay attacks
thereof (could you list ways of mitigating against delay attacks in section
12.3?)) Trustworthiness: root of trust, secured trust anchors, and sw/hw
compartmentalization CIA: End-to-end protection

which also in turn references relevant RFCs/NIST SP to do so.

General comments:

Thank you for the privacy considerations section.

Editorial comments:

s/comprise Evidence/comprise of Evidence/
s/Section Section 4/Section 4/
s/such caching/such as caching/
s/where the Verifier/whether the Verifier/
s/for ever/forever/