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

Serhii Nikolaichuk <nikolaichuk.s.f@gmail.com> Fri, 11 September 2026 18:02 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 E4E9813922D6A for <rats@mail2.ietf.org>; Fri, 11 Sep 2026 11:02:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1789149731; bh=jxnf9WGc922wvlq1agLaDvK7JoP7g7g7lwjM8tLSUsA=; h=From:In-Reply-To:References:Date:Subject:To:Cc; b=rGqTtyhg40Vc7CQUMShVLyC/zCedlA1VpwVboB+s4TaHwFObH5OXEA+FtmTuFleqh Ju5l2ZKTotaOamm7xzJxAbLgUSdn8Ebfa53N+AuOT566aQhfrkRgSXYXVcTxkRJxcK yGKCdfCaIV6a7HVlmp4c1qQ0C9w+d5OXrRXafNs4=
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 gCP_MGAqK5EE for <rats@mail2.ietf.org>; Fri, 11 Sep 2026 11:02:10 -0700 (PDT)
Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com [IPv6:2a00:1450:4864:20::32d]) (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 A258013922D63 for <rats@ietf.org>; Fri, 11 Sep 2026 11:02:10 -0700 (PDT)
Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-49e6bad7b79so63575e9.1 for <rats@ietf.org>; Fri, 11 Sep 2026 11:02:10 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1789149730; cv=none; d=google.com; s=arc-20260327; b=Tf1A1HtlAvOuKFmi6hRGDTYeRuASeWsxmz/bhP4H4B+aCAI/ZR1EqjEtW0vD1mdAN8 zMxb5i+32YDWy7Zn2h5pUagBMoMZcbZnVdKAFpgs9Ix7x072+VOwVA/s7q34fLOabw9H FRIh7DmUrJlqMkOGdXCW9ik8OSzrQPsxjO4YZ2KGGSF7pG8hMTnfjbSGwZ0+3eoK2Zfh l9f4Pkdf4nWGktxRWpMtTRG28tlEUhd76/CFGQxSKz6AczWSvfzSQbFU5kbJHdgqy7pM YLMNnml9YEoWqfR6qkZ7h/r5uAsDPfb2F0p5EOoR2abrOwMa73rgseqdl/DIQyqEaO0i UQew==
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=vmCGV8V/Y+6sLrkmahcn+httmvsr9uEYEiKKc1IUWKg=; fh=HWQ/+Oim5WKFV8EKIUElnx1bR3GjaqIpFZP9lJD4hZM=; b=qzkGxVpPzfCBvkkDKrkltq2oEbsagygBr4j5AzIIUKhmdehQ1ERNEJNwUAeIoRS7LK mwDEBkf3BILpVAzftYIF5T5O/hU7E3fqKxCvOzs82X1IZiJcm0Jfu09o6J46hGI2Bdjn HLb2z9P47fIAw1+iKCrtutI6AuF9GstOHAOxTj+QyLDkcSYS7v1ud6qlU5T3lOTgR3nb A/khCcnZZRt36YdKqjiofPoOVfvIoVKFxqKaz/9wFSUKt50BmruxkgoZA81KYbGfu76H wLC7GIiP+2ywOT9yrSuWb5e/pSQJHWuWdANIOGkFRC5asOTEWVrfMEJNfReIV0raF/D8 wZHg==; 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=1789149730; x=1789754530; 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=vmCGV8V/Y+6sLrkmahcn+httmvsr9uEYEiKKc1IUWKg=; b=sWDk+qvQe8y170tOQ63kQpbnioMvjXTBijGTOyDmhJGqBB9HOAPm6yfHEUBzDjLS8s NpasLyR50giTGH66R5DDMrUtqFseBywh8/olFev5EMgdAqX1gTIP9j6WoySD6CYpMn7T 5/7lICWwnyX/DgOQp0cM2ygERtBnva5tGnjNVYVSQPOWVtqCm7uOjqqpLQFeCZ0RyDQ4 lbUGOzJBvI5/oxr4CBLGB4fc1FBE2ATbWjkkFfqST0x6/uWs9idleSPlrJNJXvEIF4VP 2zGokyKa49BJdb5L6i63Sbs9cy7r8ScI+7lBTqu9ps9YdKaC+BU8fli+myRwVYgwa4kb VbxA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789149730; x=1789754530; 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=vmCGV8V/Y+6sLrkmahcn+httmvsr9uEYEiKKc1IUWKg=; b=RQJSVvX+flaub96s1uh9PAXkPE13J1jPOJALhdAaK3LrQj2op08ixPOO+FvEMjp5a+ KmYmoHbtfZXY3XL9I4rFVzZROEEZVuD+JxxcFtXld5IuQbPljuvVmlFkc/3C/a6ZEn7d F/5pztQqEyl7IE0Pljg7A/b95RZ9LuYtpMH0MI0r1W/la1SEGOvRiBo0FJzCfOf4IR8K enfKdodxvi+mGceVZt9EboDzVbbMutEYgKnvdRRzho3py8atI52z4SaA6hRvQct0WLZ2 7ZUDCuT9BnxIM+U5vugh+Iz7jx8r3dJ94n1wtY6k5Mon6WOar+cNCFEyMGOA7zrP5c2h 3Z8Q==
X-Gm-Message-State: AFuF++mG4sbSHng6u/1qLJZ89k8g/fzZ9P2soE807gf/vATFsN1bCLb/ F38BDoxBB2jY3J8YP/tP8gwhkWwHdQEpTg2FLcLPOE24SOvLzeJeIdgHOhZPA2ZvAGspcxGMcG0 qatVMfcWMH7smvE6IXENqi5CpM2uXqw==
X-Gm-Gg: AYBFou1iJPJiWlTrkI61FimOaqVkfC5ye33CS9ix/6oinWvpvmBxuq9Y+YmYsP8itSa c1fkQ6azjgC0eVhDoAriMfo09hQlyF9FidXlNK0eZH3iraCUGaWlVUDI8cNhiEYzZmQP32Bz90c hZsFzF6c1DVcBNun1ZkoEzzcr1Y4YkDkmI1BwxzrJLhvudTBerC/xuYRSNFGbSGqfwgEUWUyaBt 6E5i22JVz5iwu8ugvHHY4h6bLVmMvrri6nD63m71YFzjObTdYxR4olINUFLfNbppTtzLVCYrkgg k3gfZQjXYrvee7F01F4OExeZwBAJs/3aZNTVIaj1IX88CNGR42rVNwYBxTwZvo3nQsKXPFrpYpm GwnwvZNk39XuEQ53xuM7eamBBNX/KvGxeojuxOEIM8p+cpGxXEZz6LyaUjLMaptFSSrHr8Zpmpj jDSqVulwc2FtN+0BqdP5c=
X-Received: by 2002:a05:600c:8a1a:10b0:49c:ee22:364c with SMTP id 5b1f17b1804b1-49e6198d0a6mr48583365e9.9.1789149729425; Fri, 11 Sep 2026 11:02:09 -0700 (PDT)
Received: from 101988054943 named unknown by gmailapi.google.com with HTTPREST; Fri, 11 Sep 2026 11:02:07 -0700
Received: from 101988054943 named unknown by gmailapi.google.com with HTTPREST; Fri, 11 Sep 2026 11:02:07 -0700
From: Serhii Nikolaichuk <nikolaichuk.s.f@gmail.com>
In-Reply-To: <dccf6131-4f76-465e-b24a-50ca6eef6dbf@tu-dresden.de>
References: <dccf6131-4f76-465e-b24a-50ca6eef6dbf@tu-dresden.de>
MIME-Version: 1.0
Date: Fri, 11 Sep 2026 11:02:07 -0700
X-Gm-Features: AcwNN1XLHF8dAoK8-bftHeMxL9lL4SJsLNxVRgTXniJwxHKCBWeKqbsOQMKiX0w
Message-ID: <CADj3X6scJBnL2PhHzx5GJG2gZwsE4Lx30PMH06ium7HGXgONoQ@mail.gmail.com>
To: muhammad_usama.sardar@tu-dresden.de, Giridhar.Mandyam@amd.com
Content-Type: multipart/alternative; boundary="000000000000128db8065b38e246"
Message-ID-Hash: P4SDUBZ3XIQPHLYA7FAA7HNEVDASNV4Z
X-Message-ID-Hash: P4SDUBZ3XIQPHLYA7FAA7HNEVDASNV4Z
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: 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/nfrdr1T9Pdp6D_kj2Et3XZk-hOY>
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>

Usama, Giri,

Thank you both; three things, then I stop taking the list's time.

Giri, on CHIP_ID: that settles it from the source, and the artifacts
agree: in every VCEK-signed report I hold (16 boots on 15 VMs, Google
and Azure) the KDS certificate fetched with the report's CHIP_ID as
hwID carries that value and verifies the signature; under AWS shared
tenancy the field is zeros and the VLEK certificate has no hwID at
all. Your last sentence is a draft item and I am taking it: a zeroed
CHIP_ID is an appraisal-policy input, not an error, and it means the
Result cannot rest on chip identity, so its basis is the provider's.

Usama, on the chained pair: agreed. The VLEK half is a provider key
domain, so the construction joins two identities, it does not take
the CSP out of the trust set; that is the draft's point, not an
exception to it.

On the binder: you are right and I had it too easy. What my runs
bound is a public key generated in the guest, and a key is not a
session. Rather than argue it I measured it this afternoon on one
Google SEV-SNP VM: a TLS 1.3 server in the guest takes the client's
nonce and requests two reports per session, REPORT_DATA = SHA-512(nonce
|| the session's RFC 9266 exporter value) and REPORT_DATA =
SHA-512(nonce || SPKI of its TLS key), and signs the nonce with that
key. The client derives its own exporter and checks both. Direct: both
accept. Through a relay on my machine that holds the guest's TLS key
(your leaked-key attacker) and terminates the client's session: the
key binder accepts, every check passes, peer key equals the attested
SPKI, signature valid, report genuine; the exporter binder rejects,
client exporter 72b395fe..., guest exporter 361367e7.... Same chip,
same REPORT_ID, equally genuine reports; only the shared-secret
binding sees the relay. Files under gcp-cvm/exporter/runs in [3],
write-up in PROTOCOLS.md.

The paragraph for Security Considerations now says exactly that:
bind the Evidence to a value derived from the session's shared secret,
the TLS exporter of RFC 9266, and a public key alone does not
correlate the Evidence with the session, citing [0]. Michael, the two
subsections (relayed Results; masked platform identities, with Giri's
point) are one small PR against main whenever you want them.

And thank you for the support and the suggestion about the author
block; the list was the better forum for the measurements, and I am
glad they were useful.

Serhii Nikolaichuk
Austin, Texas (basis = endorsement, signer = the author; the trust
anchor is available on request, one coffee in Austin)

[0]
https://www.google.com/url?q=https://doi.org/10.1145/3779208.3785387&source=gmail&ust=1789236126832000&sa=E
[3]
https://www.google.com/url?q=https://github.com/nikolaichuk7/geoar-verifier&source=gmail&ust=1789236126832000&sa=E

On Fri, Sep 11, 2026 12:18 PM, Muhammad Usama Sardar <
muhammad_usama.sardar@tu-dresden.de> wrote:

> Hi RATS,
>
> TL;DR: This draft will reduce the severity of the diversion attacks
> presented in ID-Crisis [0] from anywhere in the world to (at least) a
> specific region, so this draft must be adopted to protect the RATS
> ecosystem. Special thanks to Serhii and Giri for real-world experiments and
> incredibly useful information. They have convinced me that we are going in
> the right direction. Serhii has made important contributions -- I suggest
> that the adopted version already include him as co-author and the security
> considerations paragraph below.
>
> ===
>
> Hi Serhii,
> On 11.09.26 16:06, Serhii Nikolaichuk wrote:
>
> [...] So your understanding holds: on the three public platforms I can
> reach, one guest cannot obtain both signatures, and the wall is a
> per-guest launch flag set by the hypervisor, not a firmware limit.
>
> Thanks very much for the confirmation.
>
>
> What I tested as the way to have both. [...]
>
> Thanks, this is an interesting idea, but IIUC not quite confidential
> computing, because you need to trust the CSP.
>
> #1, REPORT_DATA. [...] No provider puts a location, or anything else, into
> this field.
>
> Thanks.
>
> #2 is for Giri; [...] For the
> location question I still think uniqueness is necessary but not
> decisive: a unique chip identity lets an operator's inventory map a
> chip to a rack, but the map is an operator statement, an Endorsement,
> and a collision would make the inventory ambiguous, not the class
> wrong.
>
> I agree operator has to be trusted. That's also our point in ID-Crisis [0]
> (cf. Sec. 1 in particular paragraph just before Sec. 1.1).
>
> Diversion. Agreed that a report proves nothing about the channel it
> arrived over; my probes bind a nonce, not a session, and say so. The
> remedy is the usual one and it is already in the same runs: a report
> with REPORT_DATA = SHA-512(nonce || SubjectPublicKeyInfo of an
> ephemeral Ed25519 key generated in the guest),
>
> I'm afraid it is much more subtle than that (cf. binder#6 in Table 2,
> corresponding result in Table 6 and Sec. 7.1 for the attack in [4]).
>
> a geographic Attestation Result states where the
> Attester's platform was found, not where the Relying Party's peer is;
> an Attester elsewhere can relay a genuine result obtained in the
> attested place; Relying Parties should therefore require the Evidence
> behind the result to be bound to the session in which the result is
> used, and Verifiers should carry that binding into the result.
>
> Good starting point, thanks a lot. Keep up the good work.
>
> Serhii Nikolaichuk
> Austin, Texas (basis = endorsement, signer = the author)
>
> Error 404: public part of signing key not found in my trust anchor store.
> This location is still a self-attestation for me. 🙂
>
> Best regards,
>
> -Usama
>
> [0] https://doi.org/10.1145/3779208.3785387
>>
>> [1] SEV Secure Nested Paging Firmware ABI Specification.  Rev. 1.59.
>> August 2026.  https://docs.amd.com/v/u/en-US/56860_PUB_SEV_SNP.
>>
>> [2] https://www.rfc-editor.org/info/rfc9711/#section-4.2.10.
>>
>> [3] The Confidential Computing Consortium.  “A Technical Analysis of
>> Confidential Computing”.  V. 1.3.  November 2022.
>> https://confidentialcomputing.io/wp-content/uploads/sites/10
>> /2023/03/CCC-A-Technical-Analysis-of-Confidential-Computing-
>> v1.3_unlocked.pdf.
>>
>> [4] https://www.researchgate.net/publication/398839141_
> Identity_Crisis_in_Confidential_Computing_Formal_Analysis_of_Attested_TLS
>