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

Serhii Nikolaichuk <nikolaichuk.s.f@gmail.com> Fri, 11 September 2026 20:32 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 47A5813930CB8 for <rats@mail2.ietf.org>; Fri, 11 Sep 2026 13:32:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1789158747; bh=udJrCriss6qhMjT7xfTAL4+wHjc0ZchNO1A2iqQWAaY=; h=From:In-Reply-To:References:Date:Subject:To:Cc; b=RfBP8wPHEDv+Ed9UWqCXWx5Cb3dFrjoeDgoFQIVqNlAN1O01pdCpfmjzrP8soyoPd ms7CTJZWtZ1twsFAGTrsCOGW5opPpkoeU8SiTfW3OhLvVWl4T8I12cPpqVuF32U3ia uLZyrHfca2/ZzCJP8Th6VRbpIl3Kwz7ushJ91S70=
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 LrpU__OaCVvV for <rats@mail2.ietf.org>; Fri, 11 Sep 2026 13:32:26 -0700 (PDT)
Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com [IPv6:2a00:1450:4864:20::334]) (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 49F4813930CB1 for <rats@ietf.org>; Fri, 11 Sep 2026 13:32:26 -0700 (PDT)
Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-49b965570d7so16603685e9.0 for <rats@ietf.org>; Fri, 11 Sep 2026 13:32:26 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1789158739; cv=none; d=google.com; s=arc-20260327; b=lMnIyTIOTroFHCqSAzEfOpqlbkk6NJJ0Ek5ix6BfL1F+A1KaCYODP15iw/B0WF9LxU VYvxa5QdFKTWB4k8sXndQM1Ihrs8q3EKBVkKy7BlRRgueu1o5Zd4LxhQ9oSaHJcyHPyb zHiCc49j0HQ5Sh8CwF56MGSxBaj6anmCMWJNJ448G+VUZ3KWEeQGpFTMT5NHeT8KzqQW LL7Ig1RPHsU/ddP7CPPwDE1jC+Xppvfa9N7z0AGQXHtbADx904DiLmqsdSQ4HLrR14xV h0tdtkgNocFFUJdISKMauFTY+zzfhOs7ABcxKDVspb8Pm8HcJItSlcUJUrz/TKA/Mqm3 2fSA==
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=pla1uIsyvj1d+6HuvMTcOsHOuYBpnBj9cD605oppJ3I=; fh=FmdP2vI2JabKKz4/fwbsL4Q3MOdewF+DnbItC+NCNP0=; b=AKsiN5cjnzcoNm6P3/4GMkRUKb5u17AyPgIpF5qAYU4vBD4h35h0Pe94n8YPWt1Vj6 +j42VIPm0ougD5COZDLI+sg977AkkJaInti8kpTzcoOSs+v8h5HLrTbbMlLv6cX0K+JV mXrESCNffaEsWnKAFjplIb9MSeXf3RM7P4QOR6s49RzfFpRriq1eVvO7Z+wfnhwsBbq2 rFrhMyYdHj8OS2Xu2XieLR5dUu2kzyPyTvAn4JALzHcBp5cPpt1VqyUOY1y9cNV7w7kO /hTEXT/8BIJ0l71YlT3VUmgxp9LOVjBuc7vYfHWhgAEihwr/znuf6aUK+takx1t58sc9 5eOg==; 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=1789158739; x=1789763539; 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=pla1uIsyvj1d+6HuvMTcOsHOuYBpnBj9cD605oppJ3I=; b=QzKmaT3yRfoVZhBu5tCZ43vFsJXhbKw7YXAYhJMRSxT0/2tPApz5wTzzoMdyISFDmO GFYfx0th5K9SgTrmwLrSaPykcGLNzKJfGG2M1bvZrPc8g7M2axVHI9l1+Z0+Ah2sOAkI LMpwKiW/w0xyK2C1Ufi46M5mhPml2Esq9b1OoO/Wghlr/8Yhi86SmiXS9rJHldlDRzH1 77lKZAAeO6jifOioYB+pykEDk8BmRGwRg1Ua8mmlLsTgxZRS0HFeOcWyh0NcUCKT/DgM +64l+E6w/iGnSQZW9O81xZscYuibmVsXuP5I6uVyZVQeaII4ahO5AI2iU4ymeoEMoLxq if4w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789158739; x=1789763539; 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=pla1uIsyvj1d+6HuvMTcOsHOuYBpnBj9cD605oppJ3I=; b=lZZrsG9vq2DKrNfqckWxAWE+YlP6gfA9UwNMaFUBHLf4cEr29LiQ2gu9NcJleCKxaN 1txTREWgvzafR3Dj2N42qqOO4MtMK5rWyDwrg+01E/R3r4xUvv3QHwia6dzfOyhR5Reu Zyam4CM9c/il7c3btgsFTKgyjuch2kBmtZpt5TcI5EYyHpkp2iLbXqnz7d0cpLLqA2r3 gowDLfb4t6XFBQtNIf1NOZy158Aj3iwt/qZXXudCuk4ka7eM5/b2yk4tdArVMDRHwLqw efjoTV50jIs4CQDmu+/Cg2HHzrlPzsJupr69tWMqwatf/C+tKR27e7tdCSGdiAe1aMJu 1uEQ==
X-Forwarded-Encrypted: i=1; AKwUvBzldvalUAZEND8eSh4Z3sOVXZdqR2qBhUbgOECnaRylnkXxY8a9VfImRwj1/GzJRcLvGQJi@ietf.org
X-Gm-Message-State: AFuF++k/8GkijKW6oVvmD4qgRED8WgQF9trdzUb+WwYJjHSfzWdP23Hl MbGMjDSEzPFUOsfj3XQfSFuuh+8Q1c5Ub/wy8CeiKVgkxtcnJFfFJN8tcI66BasS6c0OHRc/08+ DbeNkmyyETihVVU5ZEaVD5vSD1WoxsA==
X-Gm-Gg: AYBFou1xqq/7xgy7/lmMsbKWCZnTq3AqyrJGxXJ7QiRfEDGsR8beD0Boc9J7EvryhMX 4vNN8mC6LF/5QjfMAryf5pGw2hyGPcBO4VKNNw0pN+8uNai5AlEfpaBVA0VVZtt9vxultruwlbM sNW97XStdFk4OQI5rZ7bRquMpdzc2yTEV4Cwj7je6ah/oR4uDTbN3auHQAuVjTzbW79sj1FnGNu CBGI6fjJY0h/82kNCGH81WY0BSUwcxqmHnEFO1xsbzVjUwwGJjg8DyOBXKQgXFkTyPLDhWhiKT/ +jL6Fu4TdtcGF1OA75m2nuBTdX7dxS1BPEWjZwrVAFRSXRf+iLZDD/p5UnIXPjEyxKK3wyfmQBc DNXwUZ4mz7Bq75bH+DvG8tPzXMQzCB8LXZZAsK3c31/YZpbLYGUM98K6GnhD5vZK4LWfJ6KpQ3r RByIIfCfy2yYLJkagL9yY=
X-Received: by 2002:a05:600c:46d3:b0:49c:cfbe:5a76 with SMTP id 5b1f17b1804b1-49e6197fd2bmr69496275e9.2.1789158739178; Fri, 11 Sep 2026 13:32:19 -0700 (PDT)
Received: from 101988054943 named unknown by gmailapi.google.com with HTTPREST; Fri, 11 Sep 2026 13:32:18 -0700
Received: from 101988054943 named unknown by gmailapi.google.com with HTTPREST; Fri, 11 Sep 2026 13:32:18 -0700
From: Serhii Nikolaichuk <nikolaichuk.s.f@gmail.com>
In-Reply-To: <482e287b-2cd1-4c1b-bc7a-04e12cc8eca9@tu-dresden.de>
References: <482e287b-2cd1-4c1b-bc7a-04e12cc8eca9@tu-dresden.de>
MIME-Version: 1.0
Date: Fri, 11 Sep 2026 13:32:18 -0700
X-Gm-Features: AcwNN1UiSBdtsuw5YA1LB5wtsEyPIDUO0f_TxfmvMSnhbVIMaPijAx2YIjR4vPQ
Message-ID: <CADj3X6txRMK4VM=w=rJ5+oHtLHyeoJb7LuWAbgyA78EEGhNzjw@mail.gmail.com>
To: muhammad_usama.sardar@tu-dresden.de
Content-Type: multipart/alternative; boundary="000000000000187a18065b3afb42"
Message-ID-Hash: GSSPQPC2LUGZQC7Q2V2JVTJHZQJOFOO7
X-Message-ID-Hash: GSSPQPC2LUGZQC7Q2V2JVTJHZQJOFOO7
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: Giridhar.Mandyam@amd.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/gMMvtP1IXsXFfb0X5nMhRTaLLok>
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,

One more, because it is a measurement rather than an argument; the rest
went into the PR.

On the CCC threat model: agreed on what it says; the distinction is what
it says it about. Section 5.1 of [3] states the goal as reducing "the
ability for the owner/operator/pwner of a platform to access data and
code inside TEEs", the conclusion says Confidential Computing "allows
for the protection of data against adversarial owners", and Section 5
leaves the trust model "with relation to the host, its owner, its
operator" to each deployment. That is a claim about data and code in
use. It is not a claim that the operator is outside the trust set for
where the platform is; your Section 1 says the operator has to be
trusted for that, and I agree. So this afternoon I measured how much of
that question the operator holds.

I rented a bare-metal EPYC Genoa for the afternoon (my own BIOS
settings, my own hypervisor) and set the host-side switches one at a
time, reading the guest's report after each:

- baseline: KEY_SEL 0 and 1 return a VCEK-signed report, KEY_SEL 2 is
refused (no VLEK loaded); the guest's CHIP_ID is byte-identical to the
host's SEV_GET_ID2, and KDS verifies all five reports with hwID equal
to it;
- guest launched with VCEK_DIS, no VLEK on the host: every key
selection is refused with INVALID_KEY (0x27); that is the AWS refusal
of KEY_SEL 1 reproduced with one launch flag (AWS also has a VLEK
loaded, which is why its KEY_SEL 0 and 2 succeed);
- SNP_CONFIG with MASK_CHIP_ID: still VCEK-signed, still verifies,
CHIP_ID all zeros, MASK_CHIP_KEY still 0; the guest cannot fetch its
own certificate, there is nothing to ask KDS with, while I, as the
operator, fetch it with the host's id and verify the same report;
- both: refused, the ABI's three INVALID_KEY conditions exactly.

Two consequences. The key domain and the chip's visibility are
independent operator choices, and the report shows neither except by
its effect; a zero CHIP_ID can accompany the per-chip key, so an
appraisal policy reads SIGNING_KEY and CHIP_ID separately. And to your
FAQ4, "no public cloud provider ... provides a list of legitimate
machines that it owns; a basement machine is thus indistinguishable":
the VLEK is that list, held by AMD rather than by the provider. Per the
ABI, Section 3.7, "each Cloud Service Provider (CSP) that enrolls with
AMD has dedicated VLEK seeds", the KDS derives the hashstick "for a
given TCB and machine identified by CHIP_ID" and wraps it "with a
transport key derived from a chip-unique secret". My basement Genoa
answers KEY_SEL 2 with INVALID_KEY, and since I am not an enrolled CSP
it stays that way. A VLEK-signed report therefore distinguishes a
machine AMD enrolled for that provider from a basement machine, and
does not distinguish machines within the provider's fleet; the VCEK
does the reverse. That was the point of the chained pair: both
distinctions in one Evidence. It does not add the CSP to the trust set
for location, because the CSP is already in it under every key
selection, holding both switches; for data in use nothing changes,
which is the CCC's claim.

On the binder: taken. My relay held a leaked key, and per your Section
7.1.4 the same holds for any other holder of privEK, runtime
provisioning included. The exporter binder does not depend on how the
relay came by the key; it rejects because the relay's session with the
client has a different handshake secret. PR #10 against main now cites
Intra-handshake.fail for the binder analysis (mechanisms 4 and 6),
keeps ID-Crisis for the diversion attack, and says the public key may
accompany the shared-secret-derived value so that the binding holds
while either is secret (your Section 7.2). The bare-metal runs are in
[6], baremetal/RESULTS.md.

Trust anchor attested: for one afternoon the signer was a Genoa in
Chicago, CHIP_ID unmasked and KDS-verified; the owner's location
remains an Endorsement. Dinner in Dresden accepted as appraisal policy.

Serhii

[3] Confidential Computing Consortium, A Technical Analysis of
Confidential Computing, v1.3, Sections 5, 5.1 and 7.
[6]
https://www.google.com/url?q=https://github.com/nikolaichuk7/geoar-verifier&source=gmail&ust=1789245138301000&sa=E

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

> Hi Serhii,
>
> On 11.09.26 20:02, Serhii Nikolaichuk wrote:
>
> three things, then I stop taking the list's time.
>
> I found it constructive and insightful exchange.
>
> 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.
>
> My point was that it conflicts the confidential computing threat model by
> the Confidential Computing Consortium (CCC), where CSP is claimed to be out
> of TCB.
>
> 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)
>
> Per [4], leakage itself -- per se -- is just one option but not the only
> option. Please see FAQ1 in [5].
>
> 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 [6],
> write-up in PROTOCOLS.md.
>
> [Changed your reference to [6] because they are conflicting with my
> references]
>
> Great demonstration, that matches our formal analysis.
>
> 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].
>
> Rather than [0], perhaps the most relevant citation for binding is [4],
> which makes formal arguments about public key alone (binder#4) and with
> nonce (binder#6).
>
> Serhii Nikolaichuk
> Austin, Texas (basis = endorsement, signer = the author; the trust
> anchor is available on request, one coffee in Austin)
>
> Fatal error: Owner and location of trust anchor unknown. GDPR violation is
> suspected. Attestation of trust anchor is requested. Dinner in Dresden 🙂
>
> 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/408219182_Intra-
> handshakefail_CVE-2026-33697_High-severity_CVE_in_Attested_TLS
>
> [5] https://github.com/muhammad-usama-sardar/intra-handshake.fail#faqs
>
> [6] https://github.com/nikolaichuk7/geoar-verifier
>