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

Serhii Nikolaichuk <nikolaichuk.s.f@gmail.com> Thu, 10 September 2026 04:46 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 529BF1381237F for <rats@mail2.ietf.org>; Wed, 9 Sep 2026 21:46:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1789015609; bh=4QqV+03NsengGrhd737i2BSNCUBOm5Gn1ei2m7VShW0=; h=From:In-Reply-To:References:Date:Subject:To:Cc; b=wOAnAz0FArrraU8ndsmMfD4nQHcRRqQrmdLVn+4DpwZC6fQXU8mWSJt5Cn+/B4b0n B64DaBao/eMUREcsY0MhvaJYmEfi0H+rmoOp8vRvmwuyKKhPtenhx5H1Wyqr/xGE/i MFprPePAbyhh7PT05mYSuaHbSMnw+57vcnSM23ps=
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 dOl6jXJjJixM for <rats@mail2.ietf.org>; Wed, 9 Sep 2026 21:46:48 -0700 (PDT)
Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com [IPv6:2a00:1450:4864:20::331]) (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 9079C13812378 for <rats@ietf.org>; Wed, 9 Sep 2026 21:46:48 -0700 (PDT)
Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-49d036e0e99so28317575e9.1 for <rats@ietf.org>; Wed, 09 Sep 2026 21:46:48 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1789015602; cv=none; d=google.com; s=arc-20260327; b=D9d+Ic31DJs6H1C0rxH9dqeFnaf50098O67rFfLO7Cp8Mp9gXzg7KhDKLY8q88+lmN RApx/UqYtFD8abyRJoyDJo+vDoGQTCOwqWxErGkiUapNtWXOyWddfnGE97AzAneYi3Fj q/mP83657VMMF0X7lfNHQ5YYDIUWafR8ojPV65PTlX7bSJf5hvZACI56Y5SyRh7/mwUy BD57+bx6Evy3Q/xL4UV6jLblvJI44Qqc11hTCExyXoMoBHYB/rGfiPvii6jUL+eUdgpX rkc4Oa84/oLq5ll1MpYZ5FY3IG4CbTbOw/7Eg0vtNBOJdAUsGfzoQaPcSMjc06XaQbwG LZ7A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:dkim-signature; bh=FIy5neG0yyVfe2pjRs325PE0j5tISIQTAwaPq0S55GA=; fh=1uYh2DA8oeEn2K6IFCg2ReYdXen3A5pfWksdGDrL1p8=; b=o/9lqY9I+aH1akTwtbVtMC25lEC8P2uJtm5OnHbbqy7e+IzOs9T9ceNZhOYja29FI4 U3jVxEtj7DXRkufIyM5/fpv5MMdQMf4Zx7PdM4LuP2Q6QVS1UQnon1JmLZUAMUIFNAOx LTfO27BsT4XqAqwiLvhx2Hxsv8zfkmx65XmmCZYEiaStaCQQNq/ifD8prQsQ8KUyL4xO 8h61RaP6L41ZdX/cDrs6xsSsP9ES9PW5XBEuwhiPPEps6HVvKUsDEsubheg5JR9wbYet ZSbgPGyD8lCioGAfM5cYq9POGDxzvWBEPLjv9mmc9XqPy/OuE+8OoC6EEng4F13tr247 pYYg==; 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=1789015602; x=1789620402; darn=ietf.org; h=content-type:cc:to:subject:message-id:date:mime-version:references :in-reply-to:from:from:to:cc:subject:date:message-id:reply-to :content-type; bh=FIy5neG0yyVfe2pjRs325PE0j5tISIQTAwaPq0S55GA=; b=CP0Yy2HS149FvN3iYPRA6z4TbE3kckxsfvtyIkvxWB7x/AdUzlzkLGqoGvHt9xxZ2D /YzJvbpwBDgZ2prD63bw2UfuQ8NPLvZpSqgbT/J9459mwik51f1aPDYfm3Gr5ZAMWsIJ mBFMWva+xiM/flzxGvAzPeZo9RyS8ZthhZ/pi73Sx7UCl9cXfvyb+9LpIePMgxPoGEQq JVpU7YjqUaDUUVYQCBKzIs/mOXeu7FVU2obWyZLAqbF3OgOxyR99JfaLEI9YkIiHz692 kmLYXYPmknnGfi6PMgCz4UJwJoNImWlSYr5DTBm7FgyUGpP98+gVQTVfYgxApPIY7Rdf xjKQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789015602; x=1789620402; h=content-type:cc: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=FIy5neG0yyVfe2pjRs325PE0j5tISIQTAwaPq0S55GA=; b=S2FMshrERSPabcsHq6WUTo7zhDLfJCfkVWKDuuZqLCnUZXvzVGMCnrccECG9ZtCfAq H6Lffl/xST8QVkKnw7J8/zwO6nwjVaKqk/QQ1Wad14wjP9QX6L4ouX79NBSAAFyDlyiz 9WRYKJiR9KO+ctNZ2y2tXdhMrgv2yRvyrlpEiWXBgAGRzxAN6OyGPH8fZbP+ObBSt0DV G74XggmwI2OXpoiWDqmTot8xXYZNsGgCx1mIf80xg9rzty/mVBgtZrUWEux6S5Fb8XBJ H93iF8QON+nvRQGcmLTAYujWyyXf6pEcKITa1akiLWOIQP9z26EebUFpUvWLQsjVKBel 6CWw==
X-Forwarded-Encrypted: i=1; AKwUvBw9/0Ux3EnJvLhsEFEnhnr4UsONBP4MmOSzF9z5ECWXZyj7iAyoq2DFjgaLh5s9ZFbuVPK2@ietf.org
X-Gm-Message-State: AFuF++nQZmblE8A4OnHrGTuCFWtpSg6Add3aCdivxuxnZYA4y713kYKu kqqndZNXmFNTAtpJCdZtD6IK7VN1LoRC3vJiMDCAkgPoyuOSwvwOqXKNBXYQKxXKDWbRSBDoI2Z XW/Rd1Il73Fl8j/Qz8kqjoi0yQXJY7Q==
X-Gm-Gg: AYBFou28NtJFmOsnZEygPKsnbQNRTCVzYnEj7fJJD5Ye7RWD/bq3xqj71xrg9GjwnKs zmKyxvlmrdtvka/OXAJ2ECB983FDZjhfdkCeZyJaDJvafb4XvIZInLiSZASbXsUeugcWvLi9o1n QUfg8n1PjGEBNxg6I/njkBmnGndKfTYlQKe8Y9iyee5M6f3KtA1nbrtYXe4fzJgQTopjyszcoRS BG2SQkosckpx4OcojZj5+WUK+aOy+V6v2swEJZLWJ/dY5gSBiUncSEysIsRwpoKrqPVN8Rjjefc wrBgvyBvYrkDfpeQwDcDlHzxwbchLSmk4kTQSPsIXc0NT/p+cinz13ff7lvlNO/xCNHN6DGmOGP 4XHRkfFAP07gmdlneraNBxFS3p1EOnmH63DOnH7OAK2UZZhuu+bQG1NVBRg79ipyImnpeXeKB/d 4g3ctRLvfga/9lqvr5uVaLlkQxQSgqwg==
X-Received: by 2002:a05:600c:3f0b:b0:49d:2a10:11f1 with SMTP id 5b1f17b1804b1-49d2a101318mr7497535e9.33.1789015602134; Wed, 09 Sep 2026 21:46:42 -0700 (PDT)
Received: from 101988054943 named unknown by gmailapi.google.com with HTTPREST; Wed, 9 Sep 2026 21:46:40 -0700
Received: from 101988054943 named unknown by gmailapi.google.com with HTTPREST; Wed, 9 Sep 2026 21:46:40 -0700
From: Serhii Nikolaichuk <nikolaichuk.s.f@gmail.com>
In-Reply-To: <71860.1789008159@dyas>
References: <71860.1789008159@dyas>
MIME-Version: 1.0
Date: Wed, 09 Sep 2026 21:46:40 -0700
X-Gm-Features: AcwNN1UF8Z0d0669d_uQIirbvcI6KHagQbT60na_N-8iyAXV97N0ghMs3EpxCFk
Message-ID: <CADj3X6v6b6n6QvoU+78pTTzoCp5fuY4G5_Livuxo2Ys8CN60ig@mail.gmail.com>
To: mcr+ietf@sandelman.ca
Content-Type: multipart/alternative; boundary="000000000000768383065b19a72b"
Message-ID-Hash: W7M36GRCOKXRSJ3RP3WFWA7ZMU6I3MIM
X-Message-ID-Hash: W7M36GRCOKXRSJ3RP3WFWA7ZMU6I3MIM
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
CC: cayerbe@gmail.com, rats@ietf.org
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/zeg2Q_au6EX2WaButbaIE1KO3LM>
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, Camilo,

Rather than answer the encoding question in prose I built the TRIP-shaped
case end to end and put it in PR #6 under examples/trip-synthetic, labelled
synthetic in every file. Camilo's set replaces the evidence file when it
arrives; nothing else changes.

The chain. Sixty-four breadcrumbs, each an H3 resolution-10 cell plus a
timestamp, 15 minutes apart, 15.75 hours end to end, each signed with the
device's Ed25519 key, the shape Camilo described. No coordinate is signed
or seen. Verifier A verifies all 64 signatures, requires each whole cell
to lie inside one country polygon, and emits the Result only when all 64
do. They do: 64/64 verify, 64/64 in NL, Result 25 bytes,
a3 00 62 4e 4c 0d 50 <uuid> 0e 00: jurisdiction-country, claim-uuid,
basis = 0. It validates against the CDDL in the PR. Verifier A then puts
it in an EAR signed with COSE_Sign1 (EdDSA), 228 bytes. Verifier B
consumes that EAR as an Attestation Result and emits its own, 236 bytes:
same country, its own claim-uuid, basis = 2, and a reference to A's
claim-uuid. Then a relying party verifies both signatures against its
trust anchors and applies an appraisal policy for results.

That last step is the answer to "should it care", in a table. Policy
"strict": trusted signer, EU country, basis evidence or endorsement, and
attestation-result only through a reference that bottoms out in one of
those. Policy "lenient": trusted signer and EU country.

R1 from A, basis evidence strict ACCEPT lenient ACCEPT
R2 from B, attestation-result with reference strict ACCEPT lenient ACCEPT
R2 without the reference strict REJECT lenient ACCEPT
forged EAR, kid A, untrusted key strict REJECT lenient REJECT
the SEV-SNP NL result of the 26-artifact run strict REJECT lenient ACCEPT
the Azure NL result, basis endorsement strict ACCEPT lenient ACCEPT

Same four bytes 00 62 4e 4c in every NL row. The only thing the strict
policy reads differently is the basis, and the lenient policy is free to
ignore it. That is the property I have been arguing for: the Result
carries it, the policy decides.

Michael's two questions, on that basis. "Could TRIP generate Evidence that
another Verifier could use?" Yes, and it is the artifact that matters. The
device-signed cells are Evidence; a Verifier that appraises them itself,
as the Criticality Engine does, emits basis = evidence. TRIP's own
certificate, exponents and a trust score, is an Attestation Result; a
Verifier that took it as input would emit basis = attestation-result with
a reference to it, the two-hop case you described on 8 September. Today
that hop cannot carry a country, because the certificate holds nothing
locational, which is Camilo's point and why the example's second hop is a
generic workload Verifier rather than TRIP. "Which claims could a TRIP
verifier set?" In this run, jurisdiction-country only. A resolution-10 cell
has 76 m edges, about 150 m corner to corner, so a country, and a
subdivision where the boundaries are good enough, are derivable; room,
hallway and a GNSS-grade position are not, and the example does not
pretend otherwise.

On "how would you like to encode the basis": as in PR #6, grm.basis at
label 14, a group-to-choice of evidence = 0, endorsement = 1,
attestation-result = 2, and grm.claim-uuid at label 13. One collision to
flag while we are counting: PR #4 also puts provence at 13. I hold no
position on numbers; the example puts provence at 15 so that a Result can
carry both, class and method, and shows that they compose.

Two things the chain needed that #6 does not have, offered as questions
with the text ready rather than as text: a reference to the result this
one rests on (label 16, a uuid), without which basis = attestation-result
is a dead end for an auditor; and, for longitudinal evidence, the interval
the conclusion covers (labels 17 and 18, time), because a trajectory
result is about a period, not an instant. They are in draft PR #7,
stacked on #6 so that it can be dropped as a unit, with the third worked
example in the appendix. With both, R2 is 57 bytes, and the signatures
verify with an independent COSE implementation as well as mine.

Camilo, send the set at the parameters you named and I will run it
through the same script and put the real bytes in place of the synthetic
ones.

Serhii Nikolaichuk
Austin, Texas

On Wed, Sep 09, 2026 09:42 PM, Michael Richardson <mcr+ietf@sandelman.ca>
wrote:

>
> camilo ayerbe <cayerbe@gmail.com> wrote:
>     > conclusion from Evidence it appraised itself, so this is basis =
> evidence
>     > and not the two-hop endorsement case Michael raised. TRIP is the
> document a
>     > registry entry would point at, once it's stable enough to cite.
>
>     > The caveat: TRIP's Attestation Result today doesn't carry a
>     > jurisdiction.
>
>     > The certificate emits statistical exponents and a trust score,
> deliberately
>     > nothing locational. The design goal is proof of embodied existence,
> that an
>     > identity moved in a way consistent with a living organism, not where
> it
>     > went. So the honest worked example isn't "TRIP outputs NL."
>
> Which claims from geographic result would a TRIP verifier be able to set?
>
>     > It's that a
>     > geographic Verifier working from the same signed H3 evidence could
> emit a
>     > coarse jurisdiction in your format, and that result would carry
> basis =
>     > evidence with TRIP as the method. The jurisdiction is derivable from
> the
>     > quantized cells, it just isn't in TRIP's current certificate.
>
> So, TRIP could generate Evidence that another Verifier could use?
>
>
> --
> Michael Richardson <mcr+IETF@sandelman.ca>, Sandelman Software Works
>  -= IPv6 IoT consulting =-                      *I*LIKE*TRAINS*
>
>
>
> _______________________________________________
> RATS mailing list -- rats@ietf.org
> To unsubscribe send an email to rats-leave@ietf.org
>