Re: [TLS] draft-ietf-tls-cert-abridge Update

"Kampanakis, Panos" <kpanos@amazon.com> Tue, 05 March 2024 04:14 UTC

Return-Path: <prvs=787f2254f=kpanos@amazon.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6F953C157927 for <tls@ietfa.amsl.com>; Mon, 4 Mar 2024 20:14:41 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.102
X-Spam-Level:
X-Spam-Status: No, score=-7.102 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, UNPARSEABLE_RELAY=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=amazon.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Wq81wcsrbvxv for <tls@ietfa.amsl.com>; Mon, 4 Mar 2024 20:14:37 -0800 (PST)
Received: from smtp-fw-33001.amazon.com (smtp-fw-33001.amazon.com [207.171.190.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CBE09C157938 for <tls@ietf.org>; Mon, 4 Mar 2024 20:14:37 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1709612077; x=1741148077; h=from:to:date:message-id:references:in-reply-to: mime-version:subject; bh=1zEcY/9lEbpqUtl0OZBSPRhvBSFeyn4lmR2ZSMAXpZ8=; b=mMdYlk5rV3rMlFTm99g+rkdBs4ls8OARLz6jwF0oqltpUuARoRUAERG8 wkiq0NLVX0G32HbuhwSntJze/C7mpO1Z34O/tI6WCHr9vr0fRPB5FQBOC /s0RioDOrhuTCSdN0JxyuICjaW0zhfglQD1ySvLWDtiktC1HYGiQj3Z/l s=;
X-IronPort-AV: E=Sophos;i="6.06,205,1705363200"; d="scan'208,217";a="330829206"
Thread-Topic: [TLS] draft-ietf-tls-cert-abridge Update
Received: from iad12-co-svc-p1-lb1-vlan3.amazon.com (HELO smtpout.prod.us-west-2.prod.farcaster.email.amazon.dev) ([10.43.8.6]) by smtp-border-fw-33001.sea14.amazon.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Mar 2024 04:14:30 +0000
Received: from EX19MTAUWB001.ant.amazon.com [10.0.21.151:36591] by smtpin.naws.us-west-2.prod.farcaster.email.amazon.dev [10.0.44.165:2525] with esmtp (Farcaster) id adf515b9-83d6-4de9-9252-b327e4bf95a1; Tue, 5 Mar 2024 04:14:29 +0000 (UTC)
X-Farcaster-Flow-ID: adf515b9-83d6-4de9-9252-b327e4bf95a1
Received: from EX19D001ANA004.ant.amazon.com (10.37.240.187) by EX19MTAUWB001.ant.amazon.com (10.250.64.248) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.28; Tue, 5 Mar 2024 04:14:29 +0000
Received: from EX19D001ANA001.ant.amazon.com (10.37.240.156) by EX19D001ANA004.ant.amazon.com (10.37.240.187) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.2.1258.28; Tue, 5 Mar 2024 04:14:28 +0000
Received: from EX19D001ANA001.ant.amazon.com ([fe80::4f78:75cd:3117:8055]) by EX19D001ANA001.ant.amazon.com ([fe80::4f78:75cd:3117:8055%5]) with mapi id 15.02.1258.028; Tue, 5 Mar 2024 04:14:28 +0000
From: "Kampanakis, Panos" <kpanos@amazon.com>
To: Dennis Jackson <ietf=40dennis-jackson.uk@dmarc.ietf.org>, TLS List <tls@ietf.org>
Thread-Index: AQHaa9kE6w2Ud2lB7UWyzVgqw+f9Y7Ej1kbwgAPocYCAAMtZYA==
Date: Tue, 05 Mar 2024 04:14:27 +0000
Message-ID: <ca149a141fe341f69aa354efbf4394bb@amazon.com>
References: <b022bf36-d26f-4d0d-8ebe-155382ba9dfd@dennis-jackson.uk> <933f2fdb3f8a4fd48b61c07652e189b5@amazon.com> <96ab0812-0777-4106-b031-234dacd4435c@dennis-jackson.uk>
In-Reply-To: <96ab0812-0777-4106-b031-234dacd4435c@dennis-jackson.uk>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.37.240.172]
Content-Type: multipart/alternative; boundary="_000_ca149a141fe341f69aa354efbf4394bbamazoncom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/31NtD7Pely2sNjiqOPMQ3GnNk58>
Subject: Re: [TLS] draft-ietf-tls-cert-abridge Update
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tls/>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 05 Mar 2024 04:14:41 -0000

Hi Dennis,

> I can see two different ways to handle it. Either as you suggest, we have it be a runtime decision and we just prefix the compressed form with a byte to indicate whether pass 2 has been used. Alternatively, we can define two codepoints, (pass 1 + pass 2, pass 1).
> I'd like to experiment with both operations and measure what the real world difference is first, then we can make a decision on how to proceed. There's also been more interest in the non-webpki use case than I expected, so that needs to factor in to whichever option we pick.

Maybe these will not matter for the scenario I am considering. Let’s say the client advertised support for draft-ietf-tls-cert-abridge. And the server sent back
- CompressedCertificate which includes the 2 identifiers for the ICA and RootCA from Pass 1.
- uncompressed, traditional CertificateEnty of the end-entity certificate

Or it sent back

- uncompressed, traditional CertificateEnties for the  ICA and RootCA certs
- CompressedCertificate which includes the ZStandard compressed (based on the Pass2 dictionary) end-entity cert

My point is that nothing should prevent the client from being able to handle these two scenarios and normative language should point that out. Any software that can parse certs in compressed form, ought to be able to parse them in regular form if the server did not support Pass1 (CA cers were not available for some reason) or Pass2 (eg. if CT Logs were not available for some reason).

Am I overseeing something?


From: Dennis Jackson <ietf=40dennis-jackson.uk@dmarc.ietf.org>
Sent: Monday, March 4, 2024 10:47 AM
To: Kampanakis, Panos <kpanos@amazon.com>; TLS List <tls@ietf.org>
Subject: RE: [EXTERNAL] [TLS] draft-ietf-tls-cert-abridge Update


CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe.



Hi Panos,

On 02/03/2024 04:09, Kampanakis, Panos wrote:
Hi Dennis,

I created a git issue https://github.com/tlswg/draft-ietf-tls-cert-abridge/issues/23 but I am pasting it here for the sake of the discussion:

What does the client do if the server only does Pass 1 and compresses / omits the chain certs but does not compress the end-entity certs (Pass 2)?

The client should be fine with that. It should be able to reconstruct the chain and used the uncompressed end-entity cert. It should not fail the handshake. I suggest the Implementation Complexity Section to say something like

I can see two different ways to handle it. Either as you suggest, we have it be a runtime decision and we just prefix the compressed form with a byte to indicate whether pass 2 has been used. Alternatively, we can define two codepoints, (pass 1 + pass 2, pass 1).

I'd like to experiment with both operations and measure what the real world difference is first, then we can make a decision on how to proceed. There's also been more interest in the non-webpki use case than I expected, so that needs to factor in to whichever option we pick.

Best,
Dennis

> Servers MAY chose to compress just the cert chain or the end-certificate depending on their ability to perform Pass 1 or 2 respectively. Client MUST be able to process a compressed chain or an end-entity certificate independently.

Thanks,
Panos


From: TLS <tls-bounces@ietf.org><mailto:tls-bounces@ietf.org> On Behalf Of Dennis Jackson
Sent: Friday, March 1, 2024 8:03 AM
To: TLS List <tls@ietf.org><mailto:tls@ietf.org>
Subject: [EXTERNAL] [TLS] draft-ietf-tls-cert-abridge Update


CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe.



Hi all,

I wanted to give a quick update on the draft.

On the implementation side, we have now landed support for TLS Certificate Compression in Firefox Nightly which was a prerequisite for experimenting with this scheme (thank you to Anna Weine). We're working on a rust crate implementing the current draft and expect to start experimenting with abridged certs in Firefox (with a server-side partner) ahead of IETF 120.

On the editorial side, I've addressed the comments on presentation and clarification made since IETF 117 which are now in the editors copy - there's an overall diff here [1] and atomic changes here [2] . There are two small PRs I've opened addressing minor comments by Ben Schwarz on fingerprinting considerations [3] and Jared Crawford on the ordering of certificates [4]. Feedback is welcome via mail or on the PRs directly.

Best,
Dennis

[1] https://author-tools.ietf.org/api/iddiff?doc_1=draft-ietf-tls-cert-abridge&url_2=https://tlswg.github.io/draft-ietf-tls-cert-abridge/draft-ietf-tls-cert-abridge.txt

[2] https://github.com/tlswg/draft-ietf-tls-cert-abridge/commits/main/

[3] https://github.com/tlswg/draft-ietf-tls-cert-abridge/pull/21/files

[4] https://github.com/tlswg/draft-ietf-tls-cert-abridge/pull/19/files