Re: [TLS] New Cached info draft

Adam Langley <agl@imperialviolet.org> Thu, 25 March 2010 23:21 UTC

Return-Path: <alangley@gmail.com>
X-Original-To: tls@core3.amsl.com
Delivered-To: tls@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 67D513A68D7 for <tls@core3.amsl.com>; Thu, 25 Mar 2010 16:21:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.642
X-Spam-Level:
X-Spam-Status: No, score=0.642 tagged_above=-999 required=5 tests=[BAYES_05=-1.11, DNS_FROM_OPENWHOIS=1.13, FM_FORGED_GMAIL=0.622]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QDnt8nGY32dB for <tls@core3.amsl.com>; Thu, 25 Mar 2010 16:21:47 -0700 (PDT)
Received: from mail-vw0-f44.google.com (mail-vw0-f44.google.com [209.85.212.44]) by core3.amsl.com (Postfix) with ESMTP id 5CE853A69BF for <tls@ietf.org>; Thu, 25 Mar 2010 16:21:42 -0700 (PDT)
Received: by vws12 with SMTP id 12so1617938vws.31 for <tls@ietf.org>; Thu, 25 Mar 2010 16:22:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:message-id:subject:from:to:cc :content-type; bh=qDz/uQIQMZL9UOGr1JfwVKbf6GBSHkghgaEjdqL8zOo=; b=FfwSA+pf/lrfZwlUiVZjG4aCOowZw+UlVEDSkGSNDyWa1q184dQ4w0viQj762BdAv1 PYy2OKxEpSGLHN1/sSacfLHqbZiMle4Qku7wk9t/3JSSQ/DQwX23emNhb86YJ0qzShpV zk8hS7PUB8ayh5r6skzT8znecPfAT0ZPTUHgc=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; b=tWEKjIo43ihq4u17Jqi16MEHQq1kjkBRoHZOPZBNumoP6Tacn4yTAM7YyeDPTDNDCE Rk4K1sc7imbhAQ9I6s1TMuvSF//oLMi2Gk7tsChZfNlE4dEBrGAG/O76w3ktv9SayPc6 UjkeUPEFeQwGDe32ujEGxc4yag0cNYyJ2L1IA=
MIME-Version: 1.0
Sender: alangley@gmail.com
Received: by 10.220.107.81 with SMTP id a17mr6114555vcp.129.1269559317130; Thu, 25 Mar 2010 16:21:57 -0700 (PDT)
In-Reply-To: <C7D0C779.9900%stefan@aaa-sec.com>
References: <C7D0C779.9900%stefan@aaa-sec.com>
Date: Thu, 25 Mar 2010 19:21:56 -0400
X-Google-Sender-Auth: 7b0b32490e40b778
Message-ID: <396556a21003251621q46c3966dr6442bc8abfc250ee@mail.gmail.com>
From: Adam Langley <agl@imperialviolet.org>
To: Stefan Santesson <stefan@aaa-sec.com>
Content-Type: text/plain; charset=UTF-8
Cc: "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] New Cached info draft
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.9
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/listinfo/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: Thu, 25 Mar 2010 23:21:49 -0000

On Thu, Mar 25, 2010 at 10:55 AM, Stefan Santesson <stefan@aaa-sec.com>; wrote:
> Major changes:
> - The 64 bit FNV-1 non-cryptographic hash is used to provide a digest over
> cached data. All use of hash algorithms has been removed, so also all
> elements of hash algorithm agility. The FNV-1 digest algorithm used in this
> specification is defined in Annex A.
>
> - It is now possible to query a server with an empty cached info extension
> to find out if, and to what extent the server supports caching before the
> client starts to cache data for that server.
>
> - The data substitution syntax has been explicitly defined for both defined
> object types

I knocked up patches for NSS (client and server) and for OpenSSL
(server only) for this. (Available on request if anyone cares although
the quality is currently "quick-hack").

One issue that I ran into: the representation of the FNV64 hash on the
wire is unspecified. I assumed big-endian but it should be in the
spec.

I think there's a typo in the first line of section 5.1 (it mentioned
trusted_cas when I think it should be certificate_chain)

There are two section 5s.

Also, does a "digest calculated over the certificate_list element of a
server side Certificate message" contain the three length bytes? I
assumed not. To be clear, a certificate_list is prefixed with three
length bytes and contains a series of certificate, each of which has
its own three length bytes. It seems clear the the length bytes of the
certificates should be included, but I omitted the initial three.


Cheers

AGL

-- 
Adam Langley agl@imperialviolet.org http://www.imperialviolet.org