Re: [TLS] Certificate compression draft

Sankalp Bagaria <> Thu, 06 April 2017 09:46 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 774C71293FB for <>; Thu, 6 Apr 2017 02:46:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id G0ILz5Xy_WEA for <>; Thu, 6 Apr 2017 02:46:28 -0700 (PDT)
Received: from ( []) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 756FF127698 for <>; Thu, 6 Apr 2017 02:46:27 -0700 (PDT)
Received: from ( []) by (8.14.2/8.14.2) with ESMTP id v369eL9G012286 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Thu, 6 Apr 2017 15:10:23 +0530
Received: from ([]) by (8.14.4/8.14.4) with ESMTP id v369dPDn026572; Thu, 6 Apr 2017 15:09:26 +0530
Received: from ( []) by (8.14.2/8.13.8) with ESMTP id v369dKSo021282 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Thu, 6 Apr 2017 15:09:21 +0530
Date: Thu, 6 Apr 2017 15:09:16 +0530 (IST)
From: Sankalp Bagaria <>
Reply-To: Sankalp Bagaria <>
To: David Benjamin <>, Eric Rescorla <>
Cc: Ryan Sleevi <>, R Balaji <>, "Bagaria, Sankalp" <>, "" <>, Benjamin Kaduk <>
Message-ID: <>
In-Reply-To: <>
References: <> <> <> <> <> <> <>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_Part_1173_563313632.1491471556083"
X-Priority: 3
Importance: Medium
X-Mailer: Open-Xchange Mailer v6.20.7-Rev15
X-CDAC-PUNE-MailScanner-ID: v369dPDn026572
X-CDAC-PUNE-MailScanner: Found to be clean, Found to be clean
X-CDAC-PUNE-MailScanner-MCPCheck-IMS: MCP-Clean, MCP-Checker (score=0, required 1)
X-CDAC-PUNE-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=-2.899, required 6, autolearn=disabled, ALL_TRUSTED -1.00, BAYES_00 -1.90, HTML_MESSAGE 0.00, RP_MATCHES_RCVD -0.00, URIBL_BLOCKED 0.00), not spam, SpamAssassin (not cached, score=-2.539, required 6, autolearn=disabled, ALL_TRUSTED -1.80, BAYES_20 -0.74, HTML_MESSAGE 0.00)
X-CDAC-PUNE-MailScanner-Information: Please contact for more information
X-MailScanner-ID: v369eL9G012286
X-CDAC-MailScanner-Spam-Status: No
Archived-At: <>
Subject: Re: [TLS] Certificate compression draft
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 06 Apr 2017 09:46:30 -0000


I see your point regarding privacy and complexity arising in cache-info. Should
we use compression then instead of cache-info every time ? When should
we use cache-info and when should we use compression ?

Thanks and Regards,
Sankalp Bagaria.

On Wed, Apr 5, 2017 at 1:35 AM, Sankalp Bagaria <
<> > wrote:

>     Hello,
>     How is Certificate Compression advantageous over tls cached-info
> extension?
>     Only case I can think of is - when the certificate is being sent for the
> first time,
>     it can be compressed. Since the client doesn't have a copy of the
> certificate,
>     cached-info can't be used. Are there more cases where compression is
> useful?

Does cached-info not represent a privacy info-leak by disclosing past sessions
prior to authenticating the new session? Versus compression, which limits it to
thee session and thus reveals no new/additional information. That was certainly
true for TLS1.2

Is compression not a simpler implementation - given the 'two' hard problems of
computer science (caching, naming, off-by-one)? For example, you'd need to
maintain a per-host cache of certificate information to meaningfully make use of
it (... or else you end up with cross-origin state leakage, at least in the
context of a browser, which is a Bad Thing). You would either need to read that
information from stable storage prior to making the connection (so that you can
negotiate the cached info), or you'd need to do a lazy-path where you index the
cached entries and send those as available to the server, while in parallel
beginning to load those entries. If those entries are corrupted, but used in the
connection, the connection will fail. If those entries are removed during the
connection establishment, the connection will fail.

In short, cached-info represents a much greater degree of complexity and
questionable privacy (both cross-origin and same origin - again, something
relevant for browsers, but perhaps not relevant for others). Let's keep it
simple :)
[ C-DAC is on Social-Media too. Kindly follow us at:
Facebook: & Twitter: @cdacindia ]

This e-mail is for the sole use of the intended recipient(s) and may
contain confidential and privileged information. If you are not the
intended recipient, please contact the sender by reply e-mail and destroy
all copies and the original message. Any unauthorized review, use,
disclosure, dissemination, forwarding, printing or copying of this email
is strictly prohibited and appropriate legal action will be taken.