[Rats] Re: Adoption call for draft-richardson-rats-geographic-results

Serhii Nikolaichuk <nikolaichuk.s.f@gmail.com> Tue, 08 September 2026 14:34 UTC

Return-Path: <nikolaichuk.s.f@gmail.com>
X-Original-To: rats@mail2.ietf.org
Delivered-To: rats@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 03A2B1372164F for <rats@mail2.ietf.org>; Tue, 8 Sep 2026 07:34:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1788878090; bh=yGpLc66CJ5ochwxRksPcrs+0INF8hfkL4lMMHBU+RBE=; h=From:In-Reply-To:References:Date:Subject:To; b=iwY97N5nPUPlUiRB0itV2skJ4YxsD2qYMs4qnwii+QFX8MWLd/DezMLhr2dbnTHEm OQS2vYQI3V3hl45xGvHO0wCMEXB+xG26AuAsrGE+VWi5ZyXpnIr1/egI1p/1sbq+Mc XczvpT1y1cLyD4X28CEWxtuoFgdW8dxWQvRam64o=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5MqCkL4Hx5ud for <rats@mail2.ietf.org>; Tue, 8 Sep 2026 07:34:49 -0700 (PDT)
Received: from mail-wm2-x10.google.com (mail-wm2-x10.google.com [IPv6:2a00:1450:4864:31::10]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id F2C4213721620 for <rats@ietf.org>; Tue, 8 Sep 2026 07:34:48 -0700 (PDT)
Received: by mail-wm2-x10.google.com with SMTP id 5b1f17b1804b1-49ce364488dso4314945e9.0 for <rats@ietf.org>; Tue, 08 Sep 2026 07:34:48 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1788878088; cv=none; d=google.com; s=arc-20260327; b=H4pJWaHl9bb0kLfZWmrwJrWsfEpZUNRD7PQDg/e2IdTzp+VcEUHqYxPucxsoAa1kVJ 3/SZAqvLoMAMTxigbuWQF8/NbZQfAwxayvkpvwMNnt9yT7B07WDglG0eGE2pEZu5c6+0 gJMd/zLcke9aTt5f24Faals5O4jI0ZXCovH704bILTGTCwRGaBF9EQjtS+iMgjoCyjGm vzTKokKRA5XBY+9AWQ+yagceZHl2AMy2ATa9dy29L9n3dU1l8Fqt49+58Jd2AeBkC992 dC98qwlxZM1jOM/WFzdnvsI+c9DTv+qt2JP+pYd1aatIPVJG8YAME+vbBjkXPqQ0EzbI 7dMw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=to:subject:message-id:date:mime-version:references:in-reply-to:from :dkim-signature; bh=+L7SiGN993s9E6W7vWDIouhTHbhNXP+wWnOlpkHj8XI=; fh=QnncXh5Js8lSjNXKJeZij0rDGq8OM5k7dH31IzJ9QYw=; b=AhdAuXv/HOZzmpy3Z5i1fgvLFRBuQFGuwJ2BbJ2AoRAaBhC3D7bA5+R467AvcbCiqy +4FSux4gp9i7vVfSqk8wIa7N4nCB0ln0BdjRwtT3VHNZa9/dpbHruhDhVtxMKE9eIB9I gxZWFIKy7FPa7kDuJL8DVX7beuIDBH5OEO0C9RyCMUjKdZ2e0W7zkzsHAQMJBVRS/o0o NvM2U8rb9sseTRGydtutJYJQTAla1rXeAsJWRRrCbibgC7Eojb8HvbdqizWH1yzv0K0b nGZFURMqNOhtnln/kAKr+ItQw6vnNCa3t6guDlINr2AZivFYHvzvyTn1k4L6mRxkyDuW /cOQ==; darn=ietf.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788878088; x=1789482888; darn=ietf.org; h=content-type:to:subject:message-id:date:mime-version:references :in-reply-to:from:from:to:cc:subject:date:message-id:reply-to :content-type; bh=+L7SiGN993s9E6W7vWDIouhTHbhNXP+wWnOlpkHj8XI=; b=nZcLADM/IgEwgk2JLYC1ehC2WNJjguoYISqGAYbkUoTdxbHsmKt9Z7sNAeOwgv/L1V jzpr9NXuX01R0cgE3B95Fh/rlP5K8sVLCWyDY3RqxpgvwunNbfN/sKZyrq5PzWUUALec gvc2fGu5vzDuN7etoSlp5oODqV0npym89wYM2nsl584/Lt9E38GHR9h0SrgwshCj2UfO yNOHGQwlGRIHKycruswthHhmLbYf7TZ50AXFLmaUv7E0qgdOHQzuBdiiSYUqrps16Mmd blNRaIcc6jGA1iEgFX51rWobuM8Ow3EI1yzvbu031ELjbXftun9UNME5nPw29Bbyy+dE vJbw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788878088; x=1789482888; h=content-type:to:subject:message-id:date:mime-version:references :in-reply-to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=+L7SiGN993s9E6W7vWDIouhTHbhNXP+wWnOlpkHj8XI=; b=oEMej2llBvKqR7NLVVGXszeP6VwhNAowBGDoYKSnkn8Tm7/jeoRYekBXclQgtO6nPt zEXLS4ExEQzG2xHb312J3qaERXqVcYe+g9xdfJ2VrOtTrpGf/r/pQRoJxSA3Zvr/6PtI yzHXPL7OY6ExeQ6lbLOR6YRlxCVYKvTKakT6m7v0Y6rcdPVcIMvV+YUEyZQMHYpiIstF 67AYUhuX/05YF7Jd43By8ELnQGIpyRZ1ltm9704AeahS35FdEjhKZUxg5F/+Od7X+i4v 8nhpwuRxzjkAX6ONQkXzX1L0tkLBe8ZAvHg1C2iqnw2Uz/Kk9MuKF9iNzNU+U9lxa0br O8Pw==
X-Gm-Message-State: AFuF++kerEs5bRTVIUu/I+ZiVOnaymGAusThFTtn5W1anUXryG42Q1sw +wTsMkbIg2Uizrqn9ds/AAfoI20AjLpEqkDqdzyi2EmsKBnafrLkqAwwCo0VkgApSzq7gGhL1uX L/qkZAZbIsCfhUrIbzkJrtea5jksHRd+V
X-Gm-Gg: AYBFou0JrKCRwJ1UWDPqQOXunXe+58vIyTozc+c++034bYzZtt1ZDzRnkpKAyBi9dxX STwneBCaxLlpBqL8FWCg8bExnVlYF+/IuL05CJ1ifDxf7bsF/y/E/wvq5/hvFE4C9eOCmU5oNvu XCit0YzJTIjAMI6gXnmgLShXEuTOR7s6Y9jJtfztj+JC1FCD/ANK5CAfHpPKqC6fTYl//jfVNpi ZN+WCymhjkAWBCVX2W8AWAPQJU+YGmxhmUH3RG4opfIbGGNAsMKwIga4wMd5eDURYT2A6NjvrM2 GWxxHo86Yw4Pp1NkQlsR3D03Wef57bzPGFGw8XD+PvnijHSFt/LQHBVo95+KpZwy2oEu/1j254n XqZX81KwquFyL+o2lmxvY87OlwO1vnofQqtFcjI8m17EG8tlGy1vuPvirnrJqJch9hrGQvohIvr 431Q46JUmK
X-Received: by 2002:a05:600c:c4b8:b0:49b:8f5e:51fb with SMTP id 5b1f17b1804b1-49d17543be5mr80791235e9.3.1788878087602; Tue, 08 Sep 2026 07:34:47 -0700 (PDT)
Received: from 101988054943 named unknown by gmailapi.google.com with HTTPREST; Tue, 8 Sep 2026 07:34:46 -0700
Received: from 101988054943 named unknown by gmailapi.google.com with HTTPREST; Tue, 8 Sep 2026 07:34:46 -0700
From: Serhii Nikolaichuk <nikolaichuk.s.f@gmail.com>
In-Reply-To: <3686473.1788864296@dyas>
References: <3686473.1788864296@dyas>
MIME-Version: 1.0
Date: Tue, 08 Sep 2026 07:34:46 -0700
X-Gm-Features: AcwNN1X38uiC02bVNz8hW0RTF25JxfeCu9xtvdnyvJeDJbDlI0O6i9c-Emdy08I
Message-ID: <CADj3X6vkx1orPnC=1akzy4TjH=o5dZkqgptt_PpY9M1_eg+DXQ@mail.gmail.com>
To: rats@ietf.org
Content-Type: multipart/alternative; boundary="000000000000f54407065af9a29b"
Message-ID-Hash: KA6GRGDNKDOJLPPVFQ76IW6DPMSYWFPQ
X-Message-ID-Hash: KA6GRGDNKDOJLPPVFQ76IW6DPMSYWFPQ
X-MailFrom: nikolaichuk.s.f@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-rats.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Rats] Re: Adoption call for draft-richardson-rats-geographic-results
List-Id: Remote ATtestation procedureS <rats.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/rats/hKEJAlSNTdyOsMiAAZ2YN8N-lYs>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rats>
List-Help: <mailto:rats-request@ietf.org?subject=help>
List-Owner: <mailto:rats-owner@ietf.org>
List-Post: <mailto:rats@ietf.org>
List-Subscribe: <mailto:rats-join@ietf.org>
List-Unsubscribe: <mailto:rats-leave@ietf.org>

Michael,

Two orthogonal claims is exactly where I land as well, so rather than
describe them I put them in: PR #6 against main
(
https://www.google.com/url?q=https://github.com/mcr/geographicresult/pull/6&source=gmail&ust=1788964486324000&sa=E)
It carries grm.basis
with three values - evidence, endorsement, attestation-result, the
artifact classes of RFC 9334 Section 4.2, as a group-to-choice - and a
label for claim-uuid, which on main is referenced in the map but never
defined, so the CDDL block does not currently parse; the state-exclave
label has the same problem, and both are fixed in the PR. The registry
text from #4 is untouched and applies on top. And you are right that this
is per Result, not per Verifier - the moment XYZ has more than one method,
"trust XYZ" in the Appraisal Policy is not enough on its own.

I also re-ran the Verifier with the two claims in place. All 26
signatures verify as before; the Verifier now emits a geographic result
only where it has any locational input at all, 19 of the 26, and all 19
validate against the new CDDL, while a map carrying basis 3, basis as
text, or a 15-byte uuid is rejected. For the seven SEV-SNP reports that
carry nothing it emits no result, which I think is the only honest
answer when there is nothing to rest on. The two NL results are the
worked examples in the appendix - 25 and 36 bytes, same four bytes of
jurisdiction, different class.

The two-layer case you describe is, I think, the strongest argument for
keeping the class per hop rather than trying to flatten it. When a GAR is
consumed as an Endorsement by the Attester's normal Verifier, that
Verifier's own Result says basis = endorsement, and the GAR it consumed
carries its own basis one hop away. The claim-uuid is what joins the two
hops: a Relying Party that does not care stops at the first class, and an
auditor who does follows the uuid to the GAR and reads what that one rested
on. Nothing about the method travels on the wire unless someone asks. That
is the forensic breadcrumb in one field plus one link, and it is why I
would keep claim-uuid mandatory whenever the Result is meant to be
consumed by another Verifier.

GAR reads well to me - it is one letter from EAR, which is where these
claims live anyway.

Labels in the PR are 13 and 14 only because 0-12 are taken; I hold no
position on them and will save my 38 emails for the bikeshed.

Serhii

On Tue, Sep 08, 2026 05:45 AM, Michael Richardson <mcr+ietf@sandelman.ca>
wrote:

>
> Serhii Nikolaichuk <nikolaichuk.s.f@gmail.com> wrote:
>     > You asked whether a Relying Party should care what a geographic
> Result
>     > rests on. My answer is: not every one will, and that is exactly why
> the
>     > Result has to carry it.
>
> I agree that it's reasonable.
> However, I also think that a lot also depends upon how the geographic
> verifier comes to be trusted by the RP.   In the cases where the geographic
> attestation result (`GAR`?) is an _endorsement_ that the Attester provides
> to
> it's "normal" Verifier, then there can even be two layers of
> intermediation.
>
>     > RFC 9334 gives the Relying Party its own layer for this - the
> Appraisal
>     > Policy for Attestation Results, "a set of rules that direct how a
>     > Relying Party uses the Attestation Results". Whether to care is a
>
> yes, exactly.  Part of that has to be: "and trust XYZ for geographic
> results", and to first order, the human that wrote the Appraisal Policy
> looked up how XYZ works, but it's also possible that XYZ has multiple
> methods.
>
>     > point. An Azure token from westeurope and a SEV-SNP report from
>     > europe-west4 both yield jurisdiction-country "NL" - the encoded claim
>     > is the same four bytes, 00 62 4e 4c, in each. The first rests on a
>     > signed field, the MAA issuer. The second rests on nothing signed at
> all
>     > - the zone came from a text file next to the report - and because
> that
>     > file was more specific than the issuer host, it is the SEV-SNP Result
>     > that also carries a city. The Result with less behind it is the more
>     > detailed one. The Verifier did not get less trustworthy between the
>     > two. Its input did. Without a basis, the Relying Party cannot
> separate
>     > "I trust this Verifier" from "this Verifier had something to work
> with"
>     > - and those are different questions with different consequences when
> a
>     > regulator asks the second one.
>
> Yes, fair enough.
>
>     > On the privacy point you raised earlier, I think it runs the other
>     > way. A three-way class - Evidence, Endorsement, Attestation Result -
>     > says nothing about which receiver, which endorser, or which region
>     > string. It leaks less than the CN already in every Nitro
> certificate. A
>     > method registry, by contrast, names the technique. If leaking the
>     > underlying evidence is the concern, the coarse class is the safer of
>     > the two, not the more dangerous.
>
> So, your idea is that it's enough to say where the result entered, but not
> helpful to say how.  I understand better now, and I think you have a point.
> I was going to say that our claim field might either a method or an origin.
> but then you say:
>
>     > Which is also my answer to "if a verifier has evaluated evidence,
> then
>     > what kind? GNSS? NTP? TPM?" That is precisely what your registry is
>     > for, and the two compose rather than compete: the class says what
> kind
>     > of artifact the conclusion rests on, the registry entry says which
>     > method produced it when there is one to name. The class can always be
>     > populated. The registry entry cannot - for SEV-SNP today there is no
>     > method, only an unsigned input, and that case needs an honest way to
> be
>     > written down rather than omitted.
>
> And I think you are saying that actually we need to (orthogonal) claims.
>
>     > You wrote in the Introduction that the exact method "may be of
> interest
>     > only during forensic audits". I agree, and that is the case the class
>     > serves: it is the minimum breadcrumb that lets a forensic question be
>     > asked at all, without putting the answer on the wire up front.
>
> and that's another reason to have a claim-uuid, as the audit process can
> ask
> the creator of the GAR about that specific entity.
>
>     > On the field's name and encoding I have no position and will follow
>     > you.
>
> Queue WG for 38-email long bikeshed!
>
>
> --
> Michael Richardson <mcr+IETF@sandelman.ca>, Sandelman Software Works
>  -= IPv6 IoT consulting =-                      *I*LIKE*TRAINS*
>
>
>
>