Re: [TLS] Comments on the cached-info draft

"Joseph Salowey (jsalowey)" <jsalowey@cisco.com> Wed, 28 November 2012 05:19 UTC

Return-Path: <jsalowey@cisco.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 CB8AD21F85A4 for <tls@ietfa.amsl.com>; Tue, 27 Nov 2012 21:19:06 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -110.599
X-Spam-Level:
X-Spam-Status: No, score=-110.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hLCptls3BbqL for <tls@ietfa.amsl.com>; Tue, 27 Nov 2012 21:19:06 -0800 (PST)
Received: from rcdn-iport-6.cisco.com (rcdn-iport-6.cisco.com [173.37.86.77]) by ietfa.amsl.com (Postfix) with ESMTP id DD7DB21F859D for <tls@ietf.org>; Tue, 27 Nov 2012 21:19:05 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=3932; q=dns/txt; s=iport; t=1354079946; x=1355289546; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=H2rrs+A04UJqbdOSr8vwB5fKIjGkdHpQ9hJtKxgBW3E=; b=hAr45f222U+WW99hynA4rRteXQx6KqC4OoZ4m8VURp6Ck1ozavrjfFxK 1FhDQbePkZ/C8x6VbNOTX+o39T/04uSJa8Swg3gUNvMv/hEipxNCPIwp6 MF6q21YCm/iNrMhKmnLGM1Jo7hF4j4FNXBLOfXGKl0wUtaEvhybUZsHB1 I=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: Av8EALqdtVCtJV2b/2dsb2JhbABFwCMWc4IeAQEBAwEBAQE3NAsFCwIBCCIUECcLJQIEDgUIh38GDL8dBIw6FQGDSmEDpkWCcIFiAQYZHg
X-IronPort-AV: E=McAfee;i="5400,1158,6909"; a="146949165"
Received: from rcdn-core-4.cisco.com ([173.37.93.155]) by rcdn-iport-6.cisco.com with ESMTP; 28 Nov 2012 05:19:05 +0000
Received: from xhc-aln-x11.cisco.com (xhc-aln-x11.cisco.com [173.36.12.85]) by rcdn-core-4.cisco.com (8.14.5/8.14.5) with ESMTP id qAS5J55l002431 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Wed, 28 Nov 2012 05:19:05 GMT
Received: from xmb-rcd-x09.cisco.com ([169.254.9.22]) by xhc-aln-x11.cisco.com ([173.36.12.85]) with mapi id 14.02.0318.001; Tue, 27 Nov 2012 23:19:05 -0600
From: "Joseph Salowey (jsalowey)" <jsalowey@cisco.com>
To: Stefan Santesson <stefan@aaa-sec.com>
Thread-Topic: [TLS] Comments on the cached-info draft
Thread-Index: AQHNvQbiOxf7J2O3YEykXagetKXYEZf/Oi2A
Date: Wed, 28 Nov 2012 05:19:04 +0000
Message-ID: <A95B4818FD85874D8F16607F1AC7C6288B5784@xmb-rcd-x09.cisco.com>
References: <CCBFF439.533CB%stefan@aaa-sec.com>
In-Reply-To: <CCBFF439.533CB%stefan@aaa-sec.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.33.248.147]
Content-Type: text/plain; charset="us-ascii"
Content-ID: <6CFD9B4535CFC64E980B149A64D07793@cisco.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "<tls@ietf.org>" <tls@ietf.org>
Subject: Re: [TLS] Comments on the cached-info draft
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: Wed, 28 Nov 2012 05:19:06 -0000

Hi Stefan,

This new proposal of omitting the data sounds a bit simpler to me.   You say the new approach will limit the functionality in some way.  In what way is it limited?  

Do you think we could accommodate the case where the endpoint has intermediate CA certificates cached but not the end entity certificate? This would require parsing the certificate message, but the response could just omit the certs that were indicated in the cachedInfo.   The parsing of the cert message is a bit more complex, but it could satisfy some of the use cases discussed at the meeting.

Thanks,

Joe 



On Nov 7, 2012, at 7:42 AM, Stefan Santesson wrote:

> It was quite a while since I wrote the first version of this draft.
> Now that I bring it up to my attention I found a problem that I think
> should be fixed.
> 
> After a close examination I'm convinced that the current spec breaks TLS.
> 
> 
> The current approach is to exchange support for cached-info in client and
> server hellos.
> This includes hashes for cached objects (clients) and confirmation of
> cached objects (server).
> 
> In addition to this, this protocol allows the cached data in handshake
> messages to be swapped with cached object hashes.
> This is a violation of the syntax of these handshake messages.
> 
> Take the Certificate handshake message for example. The spec suggest here
> to replace the certificate_list vector to be replaced with a vector of
> CachedObejct structured data.
> This breaks the syntax of this handshake message. A strict processing of
> the certificate_list vector will expect an ASN.1 encoded binary containing
> a sequence of certificates, not a vector of data objects according to the
> CachedObject structure.
> 
> My first thought was that we actually need a new handshake message.
> However that is not helpful either.
> The TLS spec require the Certificate handshake message to be sent in case
> the chosen cipher suite demands it, so it MUST be sent.
> It can't be replaced by another handshake message.
> 
> My current belief is that we simply should omit the cached data, and that
> each cachedInfo type need to defined how to omit cached data.
> 
> In case of the certificate handshake message, the certificate list should
> be replaced with an empty sequence.
> 
> 
> There is actually no need to send the hash of the cached data in the
> handshake message. Not if the confirmation of the cached info is exchanged
> in the server hello. Sending the hash once more in the handshake message
> is then redundant.
> 
> 
> So I propose the following:
> 
> 1) Clients send hashes of cached objects in client hello.
> 2) Server responds with one or zero hashes per cachedInfo type, that a)
> matches a cached object sent by the client b) will be omitted by the
> server in the corresponding handshake message.
> 3) How information is omitted from the handshake message is defined per
> cached info type. For the current defined 2 types this is:
>  A) cached certificate cahins in Certificate: replace the sequence of
> certificates with an empty sequence.
>  B) certificate_authorities in Certificate Request: Send an empty list of
> DistinguishedName
> 4) Clients will act as if the cached objects (confirmed in server hello)
> were sent in the handshake messages.
> 5) Everything else according to the current spec
> 
> 
> The proposed approach will somewhat limit the functionality of the current
> spec, but it ads value in simplicity.
> I can't imagine a valid use case that would not be covered by this change,
> but I might overlook something.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> TLS mailing list
> TLS@ietf.org
> https://www.ietf.org/mailman/listinfo/tls