[CFRG] Re: Stop Calling Them Provers: The Case for Calling ProVerif and Tamarin Symbolic Protocol Analyzers

Nathanael Ritz <nathanritz@gmail.com> Wed, 04 November 2026 10:23 UTC

Received: from mail-dl1-x122a.google.com (mail-dl1-x122a.google.com [IPv6:2607:f8b0:4864:20::122a]) (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 B215A46 for <cfrg@ietf.org>; Wed, 04 Nov 2026 10:23:52 +0000 (UTC)
Authentication-Results: mx.ietf.org; dkim=pass header.d=gmail.com header.s=20260707 header.b=ZdriSDJG; spf=pass (mx.ietf.org: domain of nathanritz@gmail.com designates 2607:f8b0:4864:20::122a as permitted sender) smtp.mailfrom=nathanritz@gmail.com; dmarc=pass (policy=none) header.from=gmail.com; arc=pass ("google.com:s=arc-20260327:i=1")
Received: by mail-dl1-x122a.google.com with SMTP id a92af1059eb24-1ae18eb9ad0so505486c88.1 for <cfrg@ietf.org>; Wed, 04 Nov 2026 02:23:52 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; t=1793787832; cv=none; d=google.com; s=arc-20260327; b=RVHmkyzmLWabsY4JygUmyBHAlVwDrVZIoYbTh0hmzJdH6m+i88HMpU20vgevqxtV1i jEnHnxW7JjTJ4u7Y5rYCMdIpPljKmp/zwbE4TgRiQP0oMHw5SlTNDyzWv3PFoYlTvvrd jklgJj2MvsknOhZXKaB0oEU/NfnEpLQGUuoPw5z+NdHPLq3t6E5bSVVPKe6Zhi2Qdhb5 PHZTOk1m/q7Y9mfrstQYfSJPKiSs/F1s7hHrlIyyhJ5qpOlA3mSQK5ooxa4xAmIwGK6y cZ5SXbDhB3BgVfDSd52OfTtfKwRaC9KyngY0AA6/I6SlsqsnLkodXZzwFzMd4mtl16aC JATw==
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:in-reply-to:references :mime-version:dkim-signature; bh=tp3JLm8epWmzqXU89Af7jGn6n5vTZjYVJJFGyyudu0s=; fh=0C+D3+3dMK3jpTVKoktRjvK+TuHvsl0Dhygmak3lwLw=; b=k/FoiXwmqGguoxnUXoTsvcNxjvldbatxBqI/pcWzfm6SRW+fOJFIPhnwR++Q9b7WHy 3wl1d8yNcbuR+2HdsmZZGNia/e6mDu48gz3yc4SOzj0+PQPXivDTfquOvdsS+aHLDaqU ytqV4ergs8uiQTEVCZVqlzrLk9cYUM3ZCojtAC0G6EXxVbIQC4Hr3mUV3jWz15EjVnPi d2W/qQEHRmT7kGM7+oGOTq/NyChhocStBqykigydn+wEwg9DYSk36Jfz5sb20+D/9DAE nnn3ULpheSSx7Fx2b6JY+mmxeInttquEC+dOTKnkXE9sKP7iPoWvy3FdbAg2VBaF+vsI JJ9A==; 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=20260707; t=1793787832; x=1794392632; darn=ietf.org; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:from:to:cc:subject:date:message-id:reply-to :content-type; bh=tp3JLm8epWmzqXU89Af7jGn6n5vTZjYVJJFGyyudu0s=; b=ZdriSDJGsqHdP6iliCY/owPJ1YCITghyRFetJAIE5eNfKJEObRMvmGBnMFtn56L05A mV/UEexne2Cuw258xyBvsX+JU3TTF6GorZ0aBRJ3lxzer/STatDKTy7RH5YN9VBDS4TG vRms47ySaMmBO1lsu/GWm0YhFANy6wcoqaf7l62/TksqnfM8NP5Xe7YzuP591th7RkEj 0XftpiwhuqqA5tcc7r7E/CMVEO2KPG1gpTrfiwLXhf1HjeFLRWhEImWMozfFLNY904Dy fNH1R3aye2DJDS1O/qZ7IXrmBRNu2uaO0GtyhiELldbbQ92E1so2oeF6dmkZnNILDxK1 vFbw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793787832; x=1794392632; h=content-type:cc: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=tp3JLm8epWmzqXU89Af7jGn6n5vTZjYVJJFGyyudu0s=; b=ZqOlZQkHtO546So5cn48T1C7JFvsn5Yzh+0TNNkxWKbgV+rhmRunocM7hGRdV7JmU5 b9SRDDWJEz+68hJr/pmyGjDwA1eMuG7hE73dsilVvMkAwilnGA88zMGdgAO6Y9vKpmiD JZ+9Z6Mictc3LvNIA5u6lQ/oWrD+h6JHf+eAxvS34m9/T4UjBikwn6QZSWWQgWzSN5Zu nuE6TXo8ksAY9zYg/3HBihCxb2JgYvEG1TtLmBO2NF5WpXpSGwwDGdpg/BKo1M4J0+MG 7wT9Rs+cyyw/J8ZF5CRQN1DkwyEt3UJMvT8k0HjEcfjyyqh3L979WIqiCgsU4/ZXqffO QgRQ==
X-Gm-Message-State: APuU4Z8EEFkk7wQAS/jJ9gVTlrznGxwnJj1mdeDmZL7KNj1Abb2GpYKJ 3jKq/MuS94v2fqUMmdlvX/8oesBixO91smNufdq0w6Oz/wTw44v6HeHA52QPyNEXQ3HdGTcCHS5 yJNCQJAaHjbIl+Dn/L6roGFr0H1MvEAA=
X-Gm-Gg: AYBFou0SJftJ7FIuYDmYNJSLemWoSzpVc9lT41l9bV0LufABGj+4SxX2ZQzUUVji5xa rcfBuCpfFJJov80K6XL2bgTg0M3SFIo1Mh8Uyv9ks7HC3SpsGmoOAZmBbQI8rVYgsfoem/VnrlC 36AcT+z7ni64cNvUM6rvP4J+66b1haFYruz8v24kh7BzbRmvD/X+iK4p8wiVl8QMeehqNehlts/ kBH6iAUlKn1fieCYUoJ0yyJf6Fd/6UX+sahBi99CNVDe5hy/bjkaEtKsWSUl8CghfD/xg/WND64 d4wI+olg/4za8P98jvyncR8ev5Cv29GCengLn+KNFA/h62HCyCAkjaP9D0MCVwbTdEsPlQMc3FB SL8/VPPZq3EESQgMVFZurzIDvCW1U8zXjMnMS
X-Received: by 2002:a05:7022:1587:b0:1ab:9266:f50 with SMTP id a92af1059eb24-1ac6088a626mr25520175c88.46.1793787831178; Wed, 04 Nov 2026 02:23:51 -0800 (PST)
MIME-Version: 1.0
References: <1A7A2227-C395-44C4-8FF3-6A70EAB70038@symbolic.software> <CAHxYnaOhyd4=6Dqjv_MU1Stk7oYeWS7FbyS7DWbrKTn=7mEj1g@mail.gmail.com> <CAK08nYYoZb338upWB2bQKtUmjS5C7dDDyj2jAnSEjWmmRFx+JQ@mail.gmail.com>
In-Reply-To: <CAK08nYYoZb338upWB2bQKtUmjS5C7dDDyj2jAnSEjWmmRFx+JQ@mail.gmail.com>
From: Nathanael Ritz <nathanritz@gmail.com>
Date: Wed, 04 Nov 2026 04:23:39 -0600
X-Gm-Features: AclHuK_m027OHsDpp0GfYIb_Pw2eOwuTsmYHctdL3IGiAOtw-V7ecqHorisuhXQ
Message-ID: <CAHxYnaMFhdET_MFAEpiMwxoV-ctQkvNhEPQDo_X-P=1biJpNOg@mail.gmail.com>
To: Songbo Bu <bluedognull@gmail.com>
Content-Type: multipart/alternative; boundary="0000000000007adc04065f70c6d5"
X-Spamd-Bar: ---------------------------
Message-ID-Hash: EZVVPGTDQSDFXCSU3VMWUD75CPQKABMT
X-Message-ID-Hash: EZVVPGTDQSDFXCSU3VMWUD75CPQKABMT
X-MailFrom: forwardingalgorithm@dmarc.ietf.org
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-cfrg.irtf.org-0; header-match-cfrg.irtf.org-1; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: cfrg@ietf.org
X-Mailman-Version: 3.3.10
Precedence: list
Subject: [CFRG] Re: Stop Calling Them Provers: The Case for Calling ProVerif and Tamarin Symbolic Protocol Analyzers
List-Id: Crypto Forum Research Group <cfrg.irtf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/cfrg/dAhuvnXmVoscqKxR4JmU7WERYcA>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cfrg>
List-Help: <mailto:cfrg-request@irtf.org?subject=help>
List-Owner: <mailto:cfrg-owner@irtf.org>
List-Post: <mailto:cfrg@irtf.org>
List-Subscribe: <mailto:cfrg-join@irtf.org>
List-Unsubscribe: <mailto:cfrg-leave@irtf.org>

Hi Songbo,

Changing the timing of remote attestation (i.e., from intra- to post-) does
not provide the required mitigations. The required mitigations are
available through strict fail-closed semantics, ensuring per-connection
freshness and binding the RATS Evidence to the TLS connection. This can be
done entirely without overhauling an existing implementation.

On Wed, 4 Nov 2026 at 03:19, Songbo Bu <bluedognull@gmail.com> wrote:

> Keys earlier than application traffic keys do not establish the
> cryptographic properties required for security
>

You seem to be conflating "keys" with RATS Evidence here. Setting formal
verification aside entirely, your claim appears to misunderstand standard
TLS 1.3 protocol architecture. Any difference in threat models does not
change this diagnostic, as the claim concerns the underlying protocol
mathematics. TLS 1.3 always authenticates earlier handshake states
retroactively.

To elaborate: ephemeral key-exchange parameters (such as DH shares g^x and
g^y, or KEM public keys and ciphertexts) are transmitted entirely
unauthenticated in ClientHello and ServerHello—long before application keys
exist. Yet the resulting shared secret (kem_ss / g^xy) and ephemeral keys
are understood to be secure because CertificateVerify retroactively signs
the cumulative transcript, and the Finished MACs authenticate it.

This is how it works with the intra-handshake (early) attestation protocol
under discussion:

1. Binder Derivation: The server computes the binder over the
`ClientHello...ServerHello` transcript checkpoint, binding it directly to
the hash of the server's public key.

2. Evidence Transmission: The Evidence containing this binder is conveyed
within the `remoteAttestation` extension of the Certificate message.

3. Cumulative Transcript Incorporation: The Certificate message (and the
Evidence payload within it) is an immutable input into the running
handshake transcript.

4. Transcript Sealing and Key Derivation: That cumulative transcript is
signed by CertificateVerify and authenticated by the Finished MAC. Because
the transcript is cumulative, that same Evidence commitment carries
directly into the transcript hash used to derive the application traffic
keys (`c_ap_traffic` / `s_ap_traffic`).

So while the Evidence is conveyed inside the Certificate message,
verification is anchored downstream, as always. Because the handshake
transcript is cumulative and collision-resistant, tampering with the
Evidence, key shares, or binder produces a divergent transcript hash. That
divergence causes CertificateVerify and the Finished MAC to fail,
immediately aborting the connection before application data can be
decrypted or sent. This assumes the absence of baseline TLS 1.3
implementation failures, of course.

That means Evidence generated on demand for the current TLS handshake will
be cryptographically sealed and bound to the application traffic keys by
the time those keys are instantiated, since the transcript containing the
Evidence serves as the context input in the key schedule. This is exactly
how application traffic keys and remote attestation Evidence are immutably
tied together to provide the required security you mentioned.

Cheers,
Nathanael

On Wed, 4 Nov 2026 at 03:19, Songbo Bu <bluedognull@gmail.com> wrote:

> Keys earlier than application traffic keys do not establish the
> cryptographic properties required for security.
>
> Section 15.4.2 of draft [1] offers a mitigation. Each paper cited in draft
> offers some mitigation. For example, see:
>
> Section 7.2 of Intra-handshake.fail [2] offers level-2 mitigation. Section
> 9 of ID-crisis [3] offers 6 solutions. Section 4 and 5 of
> EarlyAttestationBleed [4] offer mitigations. Section 7 of our new paper
> EarlyAttestationTschuss offers mitigations.
>
> All vendors, except one, have applied the mitigations.
>
> Best,
> Songbo
>
> [1]
> https://www.ietf.org/archive/id/draft-intra-handshake-fail-61.html#section-15.4.2
>
> [2]
> https://www.researchgate.net/publication/408219182_Intra-handshakefail_CVE-2026-33697_High-severity_CVE_in_Attested_TLS
>
> [3] https://dl.acm.org/doi/10.1145/3779208.3785387
> [4]
> https://www.researchgate.net/publication/414529199_EarlyAttestationBleed_Three_Critical-severity_Vulnerabilities_of_CVSS_90_in_Confidential_Computing
>
> Nathanael Ritz <nathanritz@gmail.com> 于2026年11月3日周二 15:21写道:
>
>> Hi,
>>
>> On Mon, 2 Nov 2026 at 06:01, Nadim Kobeissi <nadim@symbolic.software>
>> wrote:
>>
>>> <snip>
>>>
>>> [...] Calling these tools provers makes it such that "we ran
>>> Tamarin/ProVerif" starts standing in for "we proved it secure" in papers,
>>> audit reports and pitch decks. The authors of these tools have been
>>> curiously comfortable with this misleading practice, but it's time to put
>>> an end to it.
>>>
>>>
>> I can only imagine the framing behind "[...] starts standing in for 'we
>> proved it secure' [...]" is focused at intentional bad-faith marketing
>> attempts or naive interpretations of the tooling (aka in service to pitch
>> decks and the like). In which case, the premise sounds more than
>> plausible.
>>
>> And what about using the tooling to identify real gaps and then using the
>> same tooling to close those gaps? This is a rhetorical question, as the
>> answer seems self-evident to me. Using these tools to identify gaps and
>> then helping protocol designers produce future revisions that avoid the
>> identified pitfalls found through that analysis seems pretty much the
>> point, right?
>>
>> For example, I observed in your paper on formal analysis for
>> draft-ietf-acme-acme-03, from 2016, the paper begins by concluding: "As a
>> result of our disclosures to the ACME team, the latest ACME protocol
>> version (draft-4) has been designed to avoid the pitfalls that make these
>> attacks possible," before proceeding to later advocate to "the CA/Browser
>> forum to eventually mandate the use of ACME (or some other well-defined
>> domain validation protocol that can be formally analyzed)" [0].
>>
>> It makes me wonder how much constructive value could be unlocked for the
>> various relevant fora, if efforts like [1] approached the problem in a
>> similar way you and your collaborators took with ACME."
>>
>> Thanks for sharing your pre-print.
>>
>> Cheers,
>> Nathanael
>>
>> [0] "Formal Modeling and Verification for Domain Validation and ACME",
>> https://doi.org/10.1007/978-3-319-70972-7_32
>>
>> [1] https://datatracker.ietf.org/doc/draft-intra-handshake-fail/
>>
>> On Mon, 2 Nov 2026 at 12:16, Muhammad Usama Sardar <
>> muhammad_usama.sardar@tu-dresden.de> wrote:
>>
>>> <snip>
>>
>> Problem at our hands was early attestation within the TLS handshake.
>>>
>>> Nothing stopped us from creating a formal model from the implementation
>>> -- we did for several of those; see the 16 published CVEs against
>>> implementations of early attestation in TLS and 25+ more CVEs in process
>>> to come [1] -- most of those are in the critical- to high-severity zone.
>>>
>>> I am curious how cryptographers would have approached this problem.
>>> Maybe they would have started directly with something like CryptoVerif.
>>> Creating all these CVEs is a lot of fun but maybe I will wake up one day
>>> to find out that a cryptographer in this RG has proved the impossibility
>>> of security of early attestation in TLS.
>>>
>>> _______________________________________________
>> CFRG mailing list -- cfrg@irtf.org
>> To unsubscribe send an email to cfrg-leave@irtf.org
>>
>