Re: [http-state] draft-salgueiro-secure-state-management

"Paul E. Jones" <paulej@packetizer.com> Tue, 06 July 2010 20:21 UTC

Return-Path: <paulej@packetizer.com>
X-Original-To: http-state@core3.amsl.com
Delivered-To: http-state@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B27F03A6816 for <http-state@core3.amsl.com>; Tue, 6 Jul 2010 13:21:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.001
X-Spam-Level:
X-Spam-Status: No, score=0.001 tagged_above=-999 required=5 tests=[BAYES_50=0.001]
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 8ba1kkhqxbwc for <http-state@core3.amsl.com>; Tue, 6 Jul 2010 13:21:51 -0700 (PDT)
Received: from dublin.packetizer.com (dublin.packetizer.com [75.101.130.125]) by core3.amsl.com (Postfix) with ESMTP id 21C193A68E7 for <http-state@ietf.org>; Tue, 6 Jul 2010 13:21:51 -0700 (PDT)
Received: from sydney (rrcs-98-101-146-183.midsouth.biz.rr.com [98.101.146.183]) (authenticated bits=0) by dublin.packetizer.com (8.14.2/8.14.2) with ESMTP id o66KLjhA025363 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Tue, 6 Jul 2010 16:21:50 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=packetizer.com; s=dublin; t=1278447711; bh=ZBVGHvFVpwWVhLYcIQZf83tl513VadfPT4rJRPLAXJg=; h=From:To:References:In-Reply-To:Subject:Date:Message-ID: MIME-Version:Content-Type:Content-Transfer-Encoding; b=S+/0PJN9UhoRkw5ZE4/rKHknhILh7vQ8+BRRY2+PtpnkZRfEet52vaBMD1isApdNq KRIernlRH3mnNVqLgPKYtXw/p0Tf/rHUO3jtAq4yW7EaWQenqTG+7u/NQzRl7CF3Mm DOhWnHWhpa/63F6gt+xfSq0LTN+JE4C6XQCGhJrc=
From: "Paul E. Jones" <paulej@packetizer.com>
To: <yngve@opera.com>, "'Gonzalo Salgueiro'" <gsalguei@cisco.com>, <http-state@ietf.org>
References: <E022D1C0-F0DF-4BF3-B309-317B38314788@cisco.com> <op.u9floursqrq7tp@acorna> <008401cac1b9$a7f767c0$f7e63740$@com> <op.u9gbuuzqqrq7tp@acorna> <005001cae689$ce603500$6b209f00$@com> <op.ve6bw9z3vqd7e2@killashandra.oslo.osa> <056f01cb199c$3831c710$a8955530$@packetizer.com> <op.ve7z98sdvqd7e2@killashandra.oslo.osa>
In-Reply-To: <op.ve7z98sdvqd7e2@killashandra.oslo.osa>
Date: Tue, 6 Jul 2010 16:21:40 -0400
Message-ID: <05d101cb1d48$db74b220$925e1660$@packetizer.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Outlook 14.0
thread-index: AQH9U7I5KrIwDik6w4twG+LLgT00QwGB8mTPAmmzQiQBZRwhxAL9FFU4Ala8+9YCrKa1UQIkIX2vkcQ9MeA=
Content-Language: en-us
Subject: Re: [http-state] draft-salgueiro-secure-state-management
X-BeenThere: http-state@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Discuss HTTP State Management Mechanism <http-state.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/http-state>, <mailto:http-state-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/http-state>
List-Post: <mailto:http-state@ietf.org>
List-Help: <mailto:http-state-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/http-state>, <mailto:http-state-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Jul 2010 20:21:52 -0000

Yngve,

I'll confess that I'm not an expert on how the key exporter function works.
So, if we want to use RFC 5705, I may need some help with the details.

That said, if it's not clear, DH is not used at all if TLS is used.  DH is
only there as an option when negotiating a key via HTTP.  When TLS is used,
the key is simply passed over the wire through the response to whatever HTTP
request is issued.  They key would be some random number of the server's
choosing.

Doing anything at the TLS level seems like it would make things a bit
complex.  I would easily create a script (Perl, Python, etc.) to implement
the secure cookie functionality as the draft is presently written.  However,
it's not clear to me how one could implement this on the server if we use
RFC 5705.

So, is there really an advantage?  And how would RFC 5705 be implemented in
practice in a typical web server like Apache?  Would this also introduce
hurdles for the browsers?  I assume not, since you work at Opera :-)  But,
what about tools like curl?  I'd like something that can be easily
implemented by all clients and servers.

Paul

> -----Original Message-----
> From: Yngve Nysaeter Pettersen [mailto:yngve@opera.com]
> Sent: Friday, July 02, 2010 10:38 AM
> To: 'Gonzalo Salgueiro'; http-state@ietf.org; Paul E. Jones
> Subject: Re: [http-state] draft-salgueiro-secure-state-management
> 
> 
> 
> Using the key extractor means that the key is clearly associated with the
> endpoint and its certificate.
> 
> IMO your design is exactly the kind of thing the extractor was intended
> for.
> 
> It also means that you do not have to use the HTTP headers for
> transferring the keydata (except perhaps some kind of nonce), does not
> have to establish a default DH key, and saves an extra roundtrip for
> establishing the key since both parties already have the necessary data,
> in the form of the master secret.
> 
> 
> On Fri, 02 Jul 2010 06:08:19 +0200, Paul E. Jones <paulej@packetizer.com>
> wrote:
> 
> > Yngve,
> >
> > I'll confess that we must have overlooked your proposal when putting
> > together this latest version.  The previous version of the document
> > just specified the use of DH over HTTP.  This most recent document
> > specifies the transmission of a random number in the HTTPS response,
> > which the server would generate to align with the encryption algorithm
> > used to encrypt the cookies.
> >
> > The reasons you cite for using this RFC are that it:
> > * Removes the overhead caused by establishing an independent key
> > agreement protocol
> > * Makes the key agreement independent of any specific algorithm
> >
> > In our draft, we actually do not specify the use of a key agreement
> > mechanism over TLS at all, but merely transmit the key from the server
> > to the client over the encrypted TLS connection.  Do you believe this
> > approach has negative security implications that this RFC will
> > address?  More generally, do you feel that we need to introduce a key
> > agreement mechanism where both the client and server play some role in
> > defining what the symmetric key shall be for encrypting cookies?
> >
> > As I said, we assumed it was acceptable for the server to specify that
> > key since the connection was already secured with TLS, but we're
> > certainly open to further dialog to improve the security.
> >
> > Paul
> >
> >> -----Original Message-----
> >> From: Yngve Nysaeter Pettersen [mailto:yngve@opera.com]
> >> Sent: Thursday, July 01, 2010 12:55 PM
> >> To: 'Gonzalo Salgueiro'; http-state@ietf.org; Paul E. Jones
> >> Subject: Re: [http-state] draft-salgueiro-secure-state-management
> >>
> >> Hi,
> >>
> >> As I indicated earlier, I would strongly suggest that you replace the
> >> current key agreement with the method described in RFC 5705 ("Keying
> >> Material Exporters for Transport Layer Security") which uses an
> >> already established TLS connection and master secret to agree on the
> >> encryption key, removing the overhead caused by establishing an
> >> independent key agreement protocol, and also makes the key agreement
> >> independent of any specific algorithm, instead relying on the TLS
> protocol's security.
> >>
> >> http://datatracker.ietf.org/doc/rfc5705/
> >>
> >>
> >> On Wed, 28 Apr 2010 06:18:07 +0200, Paul E. Jones
> >> <paulej@packetizer.com>
> >> wrote:
> >>
> >> > Yngve, et al.,
> >> >
> >> > We took everybody's comments into consideration and revised the
> >> > draft to add a means of exchanging the encryption key used to
> >> > encrypt the secure HTTP state management information using TLS.
> >> > So, the draft now provides a web server with both the option to use
> >> > HTTP (and Diffie
> >> > Hellman) to establish a secret key, or use TLS to exchange the key.
> >> >
> >> > We look forward to your comments on draft -03:
> >> > http://tools.ietf.org/html/draft-salgueiro-secure-state-management
> >> >
> >> > Paul
> >>
> >>
> >> --
> >> Sincerely,
> >> Yngve N. Pettersen
> >> ********************************************************************
> >> Senior Developer		     Email: yngve@opera.com
> >> Opera Software ASA                   http://www.opera.com/
> >> Phone:  +47 23 69 32 60              Fax:    +47 23 69 24 01
> >> ********************************************************************
> >
> 
> 
> --
> Sincerely,
> Yngve N. Pettersen
> ********************************************************************
> Senior Developer		     Email: yngve@opera.com
> Opera Software ASA                   http://www.opera.com/
> Phone:  +47 23 69 32 60              Fax:    +47 23 69 24 01
> ********************************************************************