[Seat] Regarding symbolic analysis of draft-fossati-seat-early-attestation-06

Nathanael Ritz <nathanritz@gmail.com> Sat, 08 August 2026 07:20 UTC

Return-Path: <nathanritz@gmail.com>
X-Original-To: seat@mail2.ietf.org
Delivered-To: seat@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 39A1E125FA73B for <seat@mail2.ietf.org>; Sat, 8 Aug 2026 00:20:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1786173630; bh=sZinHyrcVdBVv2kX241y4Gt2KkOLvZxr3ShNplpNYC8=; h=References:In-Reply-To:From:Date:Subject:To; b=bqkyETLuqs5+nq/fxWxZZsxCNdmHCO89EjshvktkrUX2tS108FiPjt7qPmOqenQhp pF32P3m+7KuDoEhFSr7lY8KxBOBcnSo/welknWhXD+KT6oyJnZ5TWTR1A4I0Mx+dQC H6c4H+QWYaxZtcCXJ20W8QdtN5vkRX1+OSfr5Z5M=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.088
X-Spam-Level:
X-Spam-Status: No, score=-2.088 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, T_KAM_HTML_FONT_INVALID=0.01] 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 675mlWydIIfD for <seat@mail2.ietf.org>; Sat, 8 Aug 2026 00:20:28 -0700 (PDT)
Received: from mail-pj1-x1030.google.com (mail-pj1-x1030.google.com [IPv6:2607:f8b0:4864:20::1030]) (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 960A2125FA733 for <seat@ietf.org>; Sat, 8 Aug 2026 00:20:28 -0700 (PDT)
Received: by mail-pj1-x1030.google.com with SMTP id 98e67ed59e1d1-38e69bdb0fcso249749a91.1 for <seat@ietf.org>; Sat, 08 Aug 2026 00:20:28 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1786173622; cv=none; d=google.com; s=arc-20260327; b=IR/3aMSEsZCs0HU/k7g9/R/EK1LDHCdwBXZtM5w+rMz8D2dE4QrIZ2Nzhw39KN60zq kfJ4Lrx49pVi3iZQ/Amd1hg94kGrG+gulQs3L0ylx4kpEJrEcxynzib3d/nno5B80n3S rS6NCKYf/MNA3LLv/I6ObqF1EU44XgfaXjb7FgluAJztDQYTfMfcbGeeLpy0/AVpygPG nE6qYM0PmHHATGYPYcKXvKhTgxePNXrlgD3qZGF2ysmWlDG1CVX9fiURlXQS36sX08Y+ m+r9aD7Wg38ZH5aCBlDlbiQT4EI6TXmZa1ddln0R/V9eauTMOaprAKgJX9nPXpPDYbEo LeyQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=Og0jzlnplxnTVAR+l0E46FY+dAMV6XjGyPq8lulb6hg=; fh=b1A3z6SXeP2LTIhwEU8XNQuQhSjvXxRO5W2vYHUtBv8=; b=ptndf/tlb/fz8SivfO8gM348u4m1WnvMEB6ZDwKjaZsJkRPHdcY7KTV+6Mzidwx5M4 3ITzue9cq6ieOWgkk0B3ZLpch6/1c87gBn8OeFDjXhxt9mnWIHp+U0402JCZGI/+J04Z B8JexOY2WIHcnfkdxuhO68LneM1EF1o8qkKyF76g771dP+Ey9FwWZ0wLNNeCULKVkS4g QVqN3i/zcrCc5I6onwCildySvS/dvsLsbFySKBPavQJ6csTZNnklPSzOBXR7GSa9p5nw buMSirpTpQhxL2elwLzEh8VMdWsa/TrsUo0H/ngHV/GDuTRTFwJe7cOSrvkZqlAN+3AF 0MrA==; 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=1786173622; x=1786778422; darn=ietf.org; h=content-type:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to :content-type; bh=Og0jzlnplxnTVAR+l0E46FY+dAMV6XjGyPq8lulb6hg=; b=e/iCUCUFatydJU15TGScDXylBgUYobqDhW0YN+rysiGegDEYcXrvQs5KjCNU9P81wr Nz4k0xyJiTR9GW/ftwqCkKcX9kWbBEMK5insWKUGczAoEvtjW3vqoomxqldZjrPM8SX1 dr4RhdTgFdmVh+dV4jKSNcCY75OFZ4dEKv9q5KGsArVW0BIowFvHcEbk4RZyv0RRsAaM fHGnYjkCpIscWGEIvvadL14nhhGofdaHRFch3S3HVjnkY4QavdeeDp9mYgtgArmzNwfK EHCsJ5PrUKkcsv9yAWO345o94G/CF6S0xZ/tOMZ5vXQ7QsHG1AgAexfY10T7PBjhnfl8 4aSA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786173622; x=1786778422; h=content-type:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Og0jzlnplxnTVAR+l0E46FY+dAMV6XjGyPq8lulb6hg=; b=SEmp6FZb1clofP7l52r1IIMCqtj+uncLBTKMy+yJ9OS2q1Y6DdqoiuBZx2JLL2v7qH 9sQrdTT2n6dnHuugZ5ontS0PeFjqLssFY0QZWRGr5URpdDvexYBdgOYkV5w1So4j2y3K 9Dh9pmGIT4ypAuQxk3v9hT377Cd5xnbIYuFMAA2THXx+NfO+buV3Bw6sUNBZc4kPbPak QJU7BdkdEGbj/j0MtmUe7TJu63s6PXD67J+TCOT9qBk5jXGyuej7XyselRgo1N9J6S65 paZxk9qI4bSm11X7uYbXZNYLQceXinHnlHTayofog/fd6r8NnOKK6TPYKGK4o6tzzk3X zruQ==
X-Gm-Message-State: AOJu0YzWf4Rtg5t5oh9AqXT0lVKYj9UhMmRoxzNRoZserJhnUVNUNnZq qTQNacDRR3f/KeNNpZ/b1CD9PazosEuXjgXXxV8Yv+6LaifMI1YpBUanH86x77M5Ck8/GTwlw3V 5pKugfyCIThl0K2nNVM3u2HPiMe1kTKL6bckbzOY=
X-Gm-Gg: AR+sD11od7tvulYRR579Bcu1mqOuTGF182W8GQ3g2kxRmaxUNBZFpsnemBuNLvCoQum 319s2AkZPSO9yrwcLPKxqNt+/cmyOv1l4PlT7pWTHfkvWZSb+V3twoFvGFNiEar7c20844PTtez CG1jGKvBHz+a2PD2IyERaMGmkjISozLwAI4ua4fzGnUCctBoN0ZBgUBvHAm0W0dDtZ86/OGo2fo TQL0bwQJFDpPHBhqGkna0vDFDt5tUP5/kwW0Br8Hwwwj4F4g+bu/qbgzed+1mxD+JxSainNzp1G C9YkQV3Oln/04FNQ49BzL8g7UvAm3X18jtg8JCMy5d8=
X-Received: by 2002:a17:90b:48c9:b0:38e:97f0:aa4b with SMTP id 98e67ed59e1d1-3903c58f06fmr29357027a91.13.1786173622186; Sat, 08 Aug 2026 00:20:22 -0700 (PDT)
MIME-Version: 1.0
References: <178592625332.1174.15715227575457159982@dt-datatracker-54dc84885d-8d5gh> <VI0PR07MB11371696F052D3CC97C2DBBB5ABD32@VI0PR07MB11371.eurprd07.prod.outlook.com> <CAFpG3gcTVg0DJWb28E25EnH1CjUxe_y8T2HrKFFaCp2ouAPHpQ@mail.gmail.com> <f477291c-970c-47be-9692-b217ee1c204e@tu-dresden.de> <CAFpG3gfR4RxVNrO655aU_eYDnbm00OFixFuGqSvUkgn1aBu-Yw@mail.gmail.com> <VI0PR08MB115658E2E506025EA0864F8D18AD22@VI0PR08MB11565.eurprd08.prod.outlook.com> <CAK08nYZKVXUrgQ+e_nGaMEGF05BJ7bXTkxV2jba-uw=zfXnNVw@mail.gmail.com> <CAHxYnaOE-97sw941TvQc=MO_ygqVsdOxmk3Si6QVby8RfWJRXg@mail.gmail.com>
In-Reply-To: <CAHxYnaOE-97sw941TvQc=MO_ygqVsdOxmk3Si6QVby8RfWJRXg@mail.gmail.com>
From: Nathanael Ritz <nathanritz@gmail.com>
Date: Sat, 08 Aug 2026 01:20:10 -0600
X-Gm-Features: AUfX_mzMpPJoDvsdLwzsFRUIOkaRzCj444HkMspeS3ytrEKe1QS9oiJ2dXUEhuk
Message-ID: <CAHxYnaNhHLG-1jkmqmtdjOeO5cx07AqyyesaD9PKdx1p8LYqJQ@mail.gmail.com>
To: "seat@ietf.org" <seat@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000041fafe065883f440"
Message-ID-Hash: KDZW5PBJST6VCHXSQNKKIZ77ZPHEBKOD
X-Message-ID-Hash: KDZW5PBJST6VCHXSQNKKIZ77ZPHEBKOD
X-MailFrom: nathanritz@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; 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: [Seat] Regarding symbolic analysis of draft-fossati-seat-early-attestation-06
List-Id: "Secure Evidence and Attestation Transport (SEAT) WG" <seat.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/seat/mAl-iD4M9RYA6jmx0KKym0VgnBY>
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>

## Early take-away:

Based on Usama's models and the draft's specifications in section 5.1.1,
ProVerif demonstrates comprehensive resilience against any compromising key
leak, indicates strong injective-agreement between honest parties and does
not provide any indication of an exploitable path for relay, replay or
divergent attacks. The binding mechanism proposed by
draft-fossati-seat-early-attestation-06 appears to be a success.

---

Hi everyone,

Apologies to anyone who might have otherwise been looking, but I neglected
to include the footnotes for my last message. I've included them below.

Incidentally, while reviewing the repository for the artifacts that Usama
has shared, I noticed that the README was updated to suggest that
draft-fossati-seat-early-attestation-06 is represented by what the page
labels as "binder 7" [*].

There appears to be some confusion here: as "binder 7" composes the Early
Exporter Secret (`exp0`), an attestation nonce from the client (`ar`), and
the public half of the server's ephemeral signing key (`pubEK`) -> `rdata =
(ar,exp0,pubEK)`. This is not what draft-fossati-seat-early-attestation-06
specifies, as the draft calls for the value gathered from the
ClientHello...ServerHello checkpoint in section 5.1.1.

Fortunately, on line 671 of the symbolic model for "binder 7", we can see a
variable assigned to the same checkpoint that
draft-fossati-seat-early-attestation-06 calls for.

The useful variable is labelled as "Log_SH" with an annotation that reads:
(* after this step, log_SH contains sent ClientHello || received
ServerHello *) [2]. That makes updating the binder value to represent the
correct specification dramatically easy -> `rdata = (Log_SH,pubEK)`.

---

Now, as it turns out, I learned we can get isomorphic results in this model
by updating the original construction in "binder 7" from "(ar,exp0,pubEK)"
-> "(sr,exp0,mode,pubEK)" -- maybe that's why the README was updated in
this way. Regardless, since we have two interesting binding mechanisms to
explore, I have saved them as unique copies.

In either case, the queries from 'other-props.pvl' indicate that the
attestation signing key provides "compound authentication". That means that
even if both the long term "LTK" or even the TEE-bound ephemeral "EK"
signing keys are completely compromised, the model still demonstrates that
the protocol's expected security properties still hold under AK.

Since the original queries did not anticipate such systematic success
across the various security properties, I have gone ahead and updated the
other-props.pvl to individually examine the security properties for each
key in isolation.

---

That being said, the most recent model has a couple of structural
discrepancies from what draft-fossati-seat-early-attestation-06 specifies.

1. Namely, the draft only calls for a single key and recommends that it be
authenticated by a trusted 3rd party such as with a webPKI mechanism
2. The symbolic models introduce a dual CertificateVerify message to the
state machine that has no parallel in the individual I-D
3. The model includes an unchecked parameter in the Certificate (CRT)
message called `selfsign` that introduces a modeling artifact.

While the unchecked `selfsign` parameter is generally harmless, it
introduces a modeling artifact that affects the so-called "G3 (level 3)"
binding property. As such, I have duplicated the first two models and
introduced a change that removes that parameter from the CRT message. To
some, this may be interpreted as a structural change, which is why the
models are saved separately.

Finally, the models are configured to generate the ephemeral TLS signing
keys before they can be asserted by a trusted 3rd party. This causes all
queries that check for the security properties of EK to fail. However,
under normal day-to-day operations, one might expect that the ephemeral
signing keys would have been attested at least once and could be retained
in an existing cached AR.

Because a cached AR is signed by the Verifier's Attestation Results signing
key (ARK), it acts as a trusted 3rd party root-of-trust, much like webPKI.
As such, I have yet another model saved which demonstrates the practical
use of ephemeral signing keys beyond initial provisioning.

---

To make it easy to diff on gh, the original has been saved to
'broken_orig', while the initial files alongside the readme reflect the
"(sr,exp0,mode,pubEK)" construction, duplicated also in its own folder. The
binder actually specified by the -06 revision is found in 'ch-sh/...'. Each
model has light variations, but they all run the same identical expanded
query file other-props.pvl, with consistent and expected results from each.

I have included a README.md in the "binder7/ folder which illustrates the
success of the protocol design based on the listed specifications within
the models [3]. Note that I am not endorsing the original model's structure
but merely using it as an avenue to evaluate the binder mechanism proposed
by draft-fossati-seat-early-attestation-06. I hope this information is
helpful, and happy to follow-up with any questions.

Cheers,
Nathanael


[*]
https://github.com/muhammad-usama-sardar/intra-handshake.fail/blob/819bb7f20ac458b27c9be2c91cce1e72b8b5f4f7/README.md?plain=1#L32

[0] Original academic framing:
https://github.com/muhammad-usama-sardar/intra-handshake.fail/blob/f8b14af70a021fcfef5ebca683185f89b9d8f27a/README.md?plain=1#L82

[1] Complexity talking point from -04 announcement:
https://mailarchive.ietf.org/arch/msg/seat/2HfF4JjZbJhw-HJo1GbVTkUmeVU/

[2] The useful variable:
https://github.com/muhammad-usama-sardar/intra-handshake.fail/blob/f8b14af70a021fcfef5ebca683185f89b9d8f27a/binder7/tls-lib-simple.pvl#L671

[3] Formal analysis of Early Attestation -06
https://github.com/nathanaelritz/intra-handshake-paper/tree/early-binder7-patch/binder7


---------- Forwarded message ---------
From: Nathanael Ritz <nathanritz@gmail.com>
Date: Fri, 7 Aug 2026 at 11:32
Subject: Re: [Seat] Re: FW: New Version Notification for
draft-fossati-seat-early-attestation-06.txt
To: seat@ietf.org <seat@ietf.org>


Hi, some comments are available inline with [NR]:

On Fri, 7 Aug 2026 at 02:46, Songbo Bu <bluedognull@gmail.com> wrote:

> Hello Nathanael,
>
> Ironically, the approach to keep working on the solution without knowing
> the property is ad-hoc approach. As clarified before, the constructive
> purpose is to judge whether the complexity of intra-handshake attestation
> is required to satisfy some property. If we do not know the goal we are
> trying to achieve, how can we ever achieve it? So property is critical to
> SEAT success and this is surely a technical approach. Several members have
> supported this approach.
>

[NR]: I'm afraid this idea and the question which Usama introduced back
from the -04 announcement [0] assumes the premise. We have yet to establish
a baseline for what complexity means relative to any other approach, so the
premise has not been established. Regardless, I do not think there is some
zero-sum game here between attestation timing windows.

[NR]:  For example, I see viable use cases for both approaches as long as
the appropriate session binding value is selected and the appropriate care
is taken in applying the Evidence and Attestation Results appraisal
policies. Personally, I have identified the same potential pitfalls if
binding is misconfigured or if you rely on the ephemeral signing key for
CertificateVerify without a trusted 3rd party root of trust.


>
> Formally, attestation binder in section 5.1.1 of the draft-06 does not
> introduce anything new that needs a new formal analysis.
> Intra-handshake.fail and CVE-2026-33697 apply as is.
>

[NR]: This assertion is not supported by the statement offered in the
camera ready repository for the paper which merely suggests "that it may
not be possible to achieve strong application-traffic (level 3) binding
using intra-handshake attestation alone" [1]. It may be helpful for the WG
to understand why such careful language is now being set aside if nothing
new has been released to explain the change in approach.


>
> The fundamental misunderstanding you are having is that the book by Boneh
> and Shoup does not talk about attestation at all. The threat model for
> attestation is different from traditional authentication mechanisms. Part
> of the server is untrusted in attestation, which is not the case in
> traditional authentication mechanisms and hence your citation of the book
> and protocol 'AKE4' is completely irrelevant to this technical discussion.
>

[NR]:  I do not believe we are trying to (nor would we need to) weild any
new crypto ideas here. Instead, we are applying standard cryptographic
assumptions established by well studied mechanisms found in authenticated
key exchange mechanisms such as those used by TLS and composing remote
attestation on top of it with channel binding. Of which, provides a
concrete set of well understood properties. If a concrete attack against
such well-understood mechanisms exists, I would hope to see the technical
details shared.


>
> Both papers ID-Crisis and intra-handshake.fail present concrete
> counter-examples with complete technical details with open-source code,
> which apply to this draft.
>

[NR]: Again, this statement is completely unestablished. There is no
demonstration of failed injective-agreement in the subsequent transfer of
application data in either of these drafts, nor any demonstration that
would show that an attacker may have access to the application traffic keys
by way of the mechanisms proposed in the Early Attestation draft.
Furthermore, any security considerations and caveats I would apply
(including the importance of validating the TLS signing key via a trusted
third party) apply the same way regardless of the attestation timing
window, based on my own studies.


> Would we like to design a protocol that breaks if any single machine in
> the whole world breaks?
>

[NR]:  It seems this is a non-sequitor.


> It is unclear what you are trying to achieve by raising these questions.
>

[NR]: I hope the above makes the earlier feedback more clear.

Cheers,
Nathanael

[0]
https://github.com/muhammad-usama-sardar/intra-handshake.fail/blob/f8b14af70a021fcfef5ebca683185f89b9d8f27a/README.md?plain=1#L82

[1] https://mailarchive.ietf.org/arch/msg/seat/2HfF4JjZbJhw-HJo1GbVTkUmeVU/


>
>
> Best,
> Songbo
>
> Ionut Mihalcea <Ionut.Mihalcea@arm.com> 于2026年8月6日周四 18:49写道:
>
>> Hi,
>>
>> Agree with Tiru, quoting from the CVE: "Because the attestation evidence
>> is bound to the ephemeral key *but not to the TLS channel*, possession of
>> that key is sufficient to relay or divert the attested TLS session"
>> (emphasis mine), and also from Tiru's initial email: "the resulting binder
>> is unique to the connection (two-sided uniqueness). Evidence generated in
>> one connection therefore cannot be replayed in another."
>>
>> I also continue to disagree with the assumption that binding to or
>> correlation with the application traffic secret is the only possible secure
>> construction.
>>
>> Thanks,
>> Ionut
>>
>> *From: *tirumal reddy <kondtir@gmail.com>
>> *Date: *Thursday, 6 August 2026 at 10:27
>> *To: *Muhammad Usama Sardar <muhammad_usama.sardar@tu-dresden.de>
>> *Cc: *seat@ietf.org <seat@ietf.org>
>> *Subject: *[Seat] Re: FW: New Version Notification for
>> draft-fossati-seat-early-attestation-06.txt
>>
>> Hi Usama,
>>
>> CVE-2026-33697 was not established against this draft. The binders
>> analyzed in your paper differ from the one specified in Section 5.1.1 of
>> this draft, and the models in your paper seem to add a dual
>> CertificateVerify that this draft does not specify. The CVE is therefore
>> not demonstrated against draft-fossati-seat-early-attestation.
>>
>> If you maintain that it applies, please demonstrate the relay attack
>> against the binder as specified in Section 5.1.1: the
>> ClientHello...ServerHello transcript checkpoint plus the hash of the public
>> key of the attester's end-entity certificate used for authentication with a
>> standard CertificateVerify specified in TLS 1.3.
>>
>> We will review any concrete demonstration.
>>
>> Best Regards,
>> -Tiru
>> _______________________________________________
>> Seat mailing list -- seat@ietf.org
>> To unsubscribe send an email to seat-leave@ietf.org
>>
> _______________________________________________
> Seat mailing list -- seat@ietf.org
> To unsubscribe send an email to seat-leave@ietf.org
>