[Seat] Re: A continuity-and-revocation layer above attested TLS, with running code

Serhii Nikolaichuk <nikolaichuk.s.f@gmail.com> Tue, 22 September 2026 16:17 UTC

Received: from mail-wm2-x11.google.com (mail-wm2-x11.google.com [IPv6:2a00:1450:4864:31::11]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by mx.ietf.org (Postfix) with ESMTPS id CB47730 for <seat@ietf.org>; Tue, 22 Sep 2026 16:17:20 +0000 (UTC)
Authentication-Results: mx.ietf.org; dkim=pass header.d=gmail.com header.s=20251104 header.b=BYwfC5nt; arc=pass ("google.com:s=arc-20260327:i=1"); dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx.ietf.org: domain of nikolaichuk.s.f@gmail.com designates 2a00:1450:4864:31::11 as permitted sender) smtp.mailfrom=nikolaichuk.s.f@gmail.com
Received: by mail-wm2-x11.google.com with SMTP id 5b1f17b1804b1-49cd38e0e5dso62009635e9.2 for <seat@ietf.org>; Tue, 22 Sep 2026 09:17:20 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1790093834; cv=none; d=google.com; s=arc-20260327; b=Qk0ANeoMY/uNq94E1BODY51RWTTi4B8O+yK+ycwf3KS25LvVXw5/qtnJc+Ta+8Li5E iiG8gi/3FjokDpcXfGp+xuzR7atCaMG4HCVTQQqf9B/EhC6YAD5DHnfJLqzQDtFBNbQt MctdsMIghp8YGxq2kWxBNVL6sT4u0sVJV3Bisk3CicsBkbrrK9X2+og0TtziwHkg8ha2 P42OgTy/+lLaWJHkZRyVbZZGEltfu+Zd+daCP9vxTX2M0HuK8fXFCL13ov1ezLxKEV+W otfbyc//xd2pasu+NQc/6IXI3ZqQLWejVffD4gdd5V6Vd9PnWH3LeOtq8tL2ScfU/dI0 NSwA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:mime-version:dkim-signature; bh=eLDKZSwYvqg91mT+k0mXEj63c9JuU9qKV8g9f6NKIbg=; fh=az4wCPSSRZNH9/Fdfgdg9kgBopcXCf3MFpA+F0EQCME=; b=eMvdBz+IRM97tJI804P7TgGs9/JIG7unlQhwwQe7jGKd1Q0jQvEJn+OUHkj8v6ZOyV Yb8y2ZW7lAaiQ1dxOJ7KnGmGYYa3146nWvaoY0UXPK1MgxHJDXerxsjpGanbD4NL3JJ/ MfqvkakuKALklvcKyPx/gTMPBXJTlMx6HwAjWOxR4ppcKTHfJr0vKTEDw/1VIVR2NJS+ 8nwbgZsLjzadyK3wtUOMsW/vcGTCGRuxTud4CKtsig0A5JLBp5Q1GQfKcW15l0JEkt5B Ziv7O7PoK56/JI1k9y998rOE/45djdLaqnKefpx+c/s1BWv96Sz5B38IcwxpDYKcGw6m hiJA==; 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=1790093834; x=1790698634; darn=ietf.org; h=content-type:cc:to:subject:message-id:date:from:mime-version:from :to:cc:subject:date:message-id:reply-to:content-type; bh=eLDKZSwYvqg91mT+k0mXEj63c9JuU9qKV8g9f6NKIbg=; b=BYwfC5ntU5A4/0ln9Mt1EL2xfxBFEkWEGcUbZN3oLxdUpme/QixFBXpN6u216dl1Tv Ag3m6jXb0aVzTLQE/NdHfAIg/DQrLdhGFJC2VH9Js3i/9oRrAsVZ9wAGB5HuZ835ppxW NmgHumAC6Nnb7ZRCAwn3ZlO7LbZWUd4TyVDwGZc94c/Cgg7pX2Kr9S2Gpy5hzSld93ik 87h85A5Bww1tFRXyUdBaoby05Ld0XTCA2XW1STyjhwrTknlT1ew1ahJdoCHGz7p3DHDR TtgvjtwGYsGH8Yg4uoc/VFRWeoJeO6lrYfecdNy9AUfg1K8FbCHXhKw2rvkK1WnCODEk ipbw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790093834; x=1790698634; h=content-type:cc:to:subject:message-id:date:from:mime-version :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to:content-type; bh=eLDKZSwYvqg91mT+k0mXEj63c9JuU9qKV8g9f6NKIbg=; b=sLIQyhDVsfUOk/eAZYKUOsYhktT3QZnohC2UpBDmXoEbH/bKDU+UysgvbjrCNgN39J BhWQ+Q1IGpRHEacqzZzUcAMhg9IT2rCHe1JDbOm9+er307RIJ50/cOdQVKHeKwg9SmXD YxvsR12Wgygl3qHVGnNsyhQB2W9JVw2JATSrR/dxxmg9YaEX258cIP7vSUYDsmCgjelB /5ohpiLJ7ISi0Nm9MxKh9Sya9W+G7B+hnRwGBRp1x0ESZ41RrGyeyaSSvr5eOAdiV61l js4tAXStwc5nJH9jjGeCGrXxijvDWd5VborQ3L8Umy+j81NebIM3iCwNl5D00RL/10sL wh6w==
X-Gm-Message-State: AFuF++lh9fIp7SUTXyUTc6M4/LjlwVOpfu9ZZfwInNnoVGOqv914AKDY h/EqXvHssdHgxDBGCfRUhOfhAjUvSI8YbSIxbRuob3O0iBJu2w/Q2jftBs5dvBNGHB7nzBkKnLG GALHrjZ+cQ2eu11YplR8J5c3Zy5XcnLJQqAY=
X-Gm-Gg: AYBFou05kcWJMecxyoSA61Q0T+BtgPVCR/Cnp2I0hyoAWhW0KGS6jmun1+JNVXDm6iF okya8XsCSGiAbxiOdrg9XknzEnXyx5Qlcm7Q6MWCVQy6qrc3F9x51i0Wk4/11S0dkO+KoGqEEIZ TFlxQJv78yNS+IwtemnEsL4shK0253ynJIBvTZDGvnGOMGyvF+yO7iL0/Y19tASa2nquCbZhmMz NDok5ImidbxP+SgGICr4S7Ga/KKuO/eamCclUlKbh2X2xDUv0bFADlEyA32EHnv713HmTK36ksY 1GgIO7QBhVe05OAcIe5VGm0LTLFWj6emEmr5s5THl1w2PRapcDKypr8/jj6zvTz5WqN7ikuub5W q/WT9h3aB55kgCHpOeeIr0rcUwqOc2WFlEY1kcHxiH5gy2f9BdV6xdQfzGRnd32aHBFZzdoqVXO 7sd3JiBNsYVBLdivWjLME=
X-Received: by 2002:a05:600c:a085:b0:49f:bd3c:bc23 with SMTP id 5b1f17b1804b1-49fc5747887mr226568685e9.30.1790093833301; Tue, 22 Sep 2026 09:17:13 -0700 (PDT)
Received: from 101988054943 named unknown by gmailapi.google.com with HTTPREST; Tue, 22 Sep 2026 09:17:11 -0700
Received: from 101988054943 named unknown by gmailapi.google.com with HTTPREST; Tue, 22 Sep 2026 09:17:11 -0700
MIME-Version: 1.0
From: Serhii Nikolaichuk <nikolaichuk.s.f@gmail.com>
Date: Tue, 22 Sep 2026 09:17:11 -0700
X-Gm-Features: AclHuK-P1LiCKomVu_2tqr1SrKUCifuVBsKOdf-bp8gMX5ixwuDkCh-eQC-WOzE
Message-ID: <CADj3X6vo+pRELNcW4wVP_zdoK10=ibtPdMLJhwNTSHB8kRPLwA@mail.gmail.com>
To: rats@ietf.org
Content-Type: multipart/alternative; boundary="0000000000000c723c065c14b339"
X-Spam-Level: *
X-Spamd-Bar: +
Message-ID-Hash: OEKCAQ3VC2LOL5IJWQA4GU62PVUJ3JSM
X-Message-ID-Hash: OEKCAQ3VC2LOL5IJWQA4GU62PVUJ3JSM
X-MailFrom: nikolaichuk.s.f@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-seat.ietf.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: seat@ietf.org
X-Mailman-Version: 3.3.10
Precedence: list
Subject: [Seat] Re: A continuity-and-revocation layer above attested TLS, with running code
List-Id: "Secure Evidence and Attestation Transport (SEAT) WG" <seat.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/seat/pE1j3aP-qvaUgT-Q88JextCIlcc>
List-Archive: <https://mailarchive.ietf.org/arch/browse/seat>
List-Help: <mailto:seat-request@ietf.org?subject=help>
List-Owner: <mailto:seat-owner@ietf.org>
List-Post: <mailto:seat@ietf.org>
List-Subscribe: <mailto:seat-join@ietf.org>
List-Unsubscribe: <mailto:seat-leave@ietf.org>

Following up on my two notes of the 21st. The parts of this that belong to
the working
group's documents are now in their trackers rather than on the list, and
everything else
is in one tagged release with the raw hardware reports. Pointers, so the
list has them:

On draft-fossati-seat-early-attestation
(yaronf/draft-fossati-seat-early-attestation):

#74 With a HelloRetryRequest, "Hash(ClientHello...ServerHello)" in 5.1.1
has four
defensible readings, and they give four different binders in 200 of 200
handshakes;
Appendix C steers toward the wrong ones and 5.1.2 makes the disagreement a
fatal
attestation_failed. A one-sentence fix is proposed.
https://www.google.com/url?q=https://github.com/yaronf/draft-fossati-seat-early-attestation/issues/74&source=gmail&ust=1790180231627000&sa=E

#75 A resumed TLS 1.3 handshake carries no Certificate message, so the
extension of
4.1 has no carrier there; the only MUST about resumption is in the document
history
while 8.6 says a resumed connection inherits the appraisal.
https://www.google.com/url?q=https://github.com/yaronf/draft-fossati-seat-early-attestation/issues/75&source=gmail&ust=1790180231627000&sa=E

#60 Section 8.4 reproduced on a live SEV-SNP guest with the 5.1.1 binder
computed as
written from the real transcript: two genuine reports in one connection
carry
byte-identical REPORT_DATA and the stale one is accepted at reattestation.
ProVerif
finds that trace with a constant binder and proves order with a chained
one. Of the
5.4 options, Extended Key Update would give order for free; post-handshake
auth and
CertificateUpdate would not.
https://www.google.com/url?q=https://github.com/yaronf/draft-fossati-seat-early-attestation/issues/60%23issuecomment-5779862051&source=gmail&ust=1790180231627000&sa=E

On draft-ietf-seat-use-cases (ietf-wg-seat/draft-ietf-seat-use-cases):

#8 What "the identifier provided to the machine" actually is, read at the
ABI offsets
across 87 SEV-SNP reports from two clouds and two TDX guests: VCEK names
the chip,
VLEK the region, REPORT_ID the instance; CHIP_ID is all-zero on AWS while
the
report's MASK_CHIP_KEY flag reads 0; on TDX only the host-supplied MROWNER
differs,
unless the guest extends an RTMR, which I measured on two TDs.
https://www.google.com/url?q=https://github.com/ietf-wg-seat/draft-ietf-seat-use-cases/issues/8%23issuecomment-5779863014&source=gmail&ust=1790180231627000&sa=E

#60 On key migration between trusted environments: the firmware ABI marks
ReportID as
migrating with the guest, and an owner-authorised transfer, honoured only
toward an
instance the relying party has itself seen attest, measured on live SEV-SNP.
https://www.google.com/url?q=https://github.com/ietf-wg-seat/draft-ietf-seat-use-cases/issues/60%23issuecomment-5779864103&source=gmail&ust=1790180231627000&sa=E

Section 4 of the use-cases draft asks proposals to state which of its goals
they meet and
how. That statement, goal by goal, with three goals not met and said so, is
here:
https://www.google.com/url?q=https://github.com/nikolaichuk7/hatls/blob/v0.3.0/docs/SEAT-GOALS.md&source=gmail&ust=1790180231627000&sa=E

Two corrections of my own from the same pass: the guest probe in my
repository had been
unable to answer a connection since v0.2.0 (recorded results predate the
defect; the
"clone it and run it" invitation did not), and a "7.96 ms beacon" I had
quoted as a rate
was one report's latency while my own file held a 10 s maximum: the host
throttles a
guest to about ten SEV-SNP reports per ten seconds. Both are fixed and
written up.

Release, with every measurement reproducible from a clone:
https://www.google.com/url?q=https://github.com/nikolaichuk7/hatls/releases/tag/v0.3.0&source=gmail&ust=1790180231627000&sa=E

I will keep further detail on the issues rather than here.

Serhii Nikolaichuk
The Capital Index, Austin, Texas