Re: [TLS] draft-ietf-tls-cached-info-14

Rob Stradling <rob.stradling@comodo.com> Mon, 08 April 2013 19:52 UTC

Return-Path: <rob.stradling@comodo.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 E19D321F972F for <tls@ietfa.amsl.com>; Mon, 8 Apr 2013 12:52:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.599
X-Spam-Level:
X-Spam-Status: No, score=-6.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xDmlPVHerfM5 for <tls@ietfa.amsl.com>; Mon, 8 Apr 2013 12:52:47 -0700 (PDT)
Received: from mmmail2.mcr.colo.comodoca.net (mdfw.comodoca.net [91.209.196.68]) by ietfa.amsl.com (Postfix) with ESMTP id 7D4AA21F8E63 for <tls@ietf.org>; Mon, 8 Apr 2013 12:52:47 -0700 (PDT)
Received: (qmail 23473 invoked from network); 8 Apr 2013 19:52:46 -0000
Received: from ian.brad.office.comodo.net (192.168.0.202) by mail.colo.comodoca.net with ESMTPS (DHE-RSA-AES256-SHA encrypted); 8 Apr 2013 19:52:46 -0000
Received: (qmail 16869 invoked by uid 1000); 8 Apr 2013 19:52:46 -0000
Received: from nigel.brad.office.comodo.net (HELO [192.168.0.58]) (192.168.0.58) (smtp-auth username rob, mechanism plain) by ian.brad.office.comodo.net (qpsmtpd/0.40) with (CAMELLIA256-SHA encrypted) ESMTPSA; Mon, 08 Apr 2013 20:52:46 +0100
Message-ID: <5163200D.2030300@comodo.com>
Date: Mon, 08 Apr 2013 20:52:45 +0100
From: Rob Stradling <rob.stradling@comodo.com>
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130328 Thunderbird/17.0.5
MIME-Version: 1.0
To: "Yngve N. Pettersen" <yngve@spec-work.net>
References: <2C078811-2A81-4B37-82F0-FAD94A7395BD@gmx.net> <51547C0C.20806@ieca.com> <A3EEC7FB-665B-4543-8D42-A997100506E5@gmx.net> <5154B4C9.1070405@comodo.com> <5096AB41-02FD-4E01-A78E-BEF272181F42@gmx.net> <5162C154.1010202@comodo.com> <op.wu76e6o73dfyax@killashandra.invalid.invalid>
In-Reply-To: <op.wu76e6o73dfyax@killashandra.invalid.invalid>
Content-Type: text/plain; charset="ISO-8859-15"; format="flowed"
Content-Transfer-Encoding: 7bit
Cc: tls@ietf.org
Subject: Re: [TLS] draft-ietf-tls-cached-info-14
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.12
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: <http://www.ietf.org/mail-archive/web/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: Mon, 08 Apr 2013 19:52:49 -0000

On 08/04/13 14:58, Yngve N. Pettersen wrote:
<snip>
> I am opposed to mixing in content sent by other servers,  because it
> could be a privacy violation since it would leak information about which
> CAs are used by the sites the user have visited. The information might
> change relatively often, but it could still leak information to the
> other sites.

Hi Yngve.  I need to clarify what I was proposing...

> Also, the number of entries in the list sent in the Client Hello could
> quickly become relatively large, since a client could easily encounter
> dozens of intermediate CAs in a session.

I didn't mean that the client would send CachedObjects for every 
Intermediate certificate that it has previously encountered.  Rather, I 
meant that the client would only send CachedObjects for Intermediate 
certificates that it has good reason to believe are "relevant" for this 
connection.

> The only way something like this would work without becoming a security
> problem is that the client would first know that the server is using the
> same intermediate CA as one or more other servers it have visited, which
> means that the server must send the entire response anyway, so there is
> no saving of bytes on the wire.

Agreed, but only for the client's first ever visit to a site.  My 
proposal attempts to save bytes on the wire for subsequent full 
handshakes to the same site (for as long as the same End-entity 
certificate is used).

> Optimizing storage on the client is a separate matter, best left to the
> implementers.
>
> IMO the Cached Info extension can *only* concern itself with information
> received from the current server, *never* what has been received by
> another server. It might be that this should be spelled out in the spec,
> perhaps in the security considerations, at least.

When the client sends the ClientHello for a full handshake, it has not 
yet authenticated that "the current server" is indeed the same server 
from which it previously retrieved certain information.  All the client 
has done so far is a (potentially insecure) DNS lookup.

And anyway, I was only envisaging that clients would send CachedObjects 
of OCSP Responses that have "been received by another server" in cases 
where it would be safe to do so.
Example:
   - Client visits https://www.google.com and https://mail.google.com, 
each for the first time ever, and caches the certificate chains and OCSP 
Responses for the End-entity and Intermediate certs.  Client observes 
that the same "Google Internet Authority" Intermediate is used in both 
cases.
   - A while later, client performs another full handshake to 
https://www.google.com and gets back a different OCSP Response (with a 
more recent thisUpdate value) for the same Intermediate cert.
   - A while later, client performs another full handshake to 
https://mail.google.com.  It sends the CachedObject for the Intermediate 
OCSP Response that https://www.google.com just returned, because it 
knows that this OCSP Response is relevant for the Intermediate cert that 
https://mail.google.com used last time the client connected to it, and 
because this OCSP Response is the freshest one that the client has 
available.

<snip>

-- 
Rob Stradling
Senior Research & Development Scientist
COMODO - Creating Trust Online