Re: [TLS] TLS Proxy Server Extension

Matt McCutchen <matt@mattmccutchen.net> Wed, 27 July 2011 02:42 UTC

Return-Path: <matt@mattmccutchen.net>
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 01C5E11E80CB for <tls@ietfa.amsl.com>; Tue, 26 Jul 2011 19:42:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
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 b+ZXpR0CCOLf for <tls@ietfa.amsl.com>; Tue, 26 Jul 2011 19:42:34 -0700 (PDT)
Received: from homiemail-a37.g.dreamhost.com (caiajhbdcagg.dreamhost.com [208.97.132.66]) by ietfa.amsl.com (Postfix) with ESMTP id 7917211E80A5 for <tls@ietf.org>; Tue, 26 Jul 2011 19:42:34 -0700 (PDT)
Received: from homiemail-a37.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a37.g.dreamhost.com (Postfix) with ESMTP id 263D820806B; Tue, 26 Jul 2011 19:42:34 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; c=nofws; d=mattmccutchen.net; h=subject:from :to:cc:in-reply-to:references:content-type:date:message-id :mime-version:content-transfer-encoding; q=dns; s= mattmccutchen.net; b=X7/0tjCVhhvosw0agIQoh3+P6cofvN5E/lb5yREamTy fJh7JcDhBu/Q5dxTEDNji62ku0odr1VRbmh7pROQfqyHUBoYyNHXixqKdTpvCx7K tzFVTX4bsPaHk9zTjR+KW2KF6xMMhV+qV5HsbXnNXkjPr0umtcYLmVHZi7kPWMUo =
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=mattmccutchen.net; h= subject:from:to:cc:in-reply-to:references:content-type:date :message-id:mime-version:content-transfer-encoding; s= mattmccutchen.net; bh=8oyKKW4gFlEwrT981FZkBpLo4nM=; b=VLmpqB21pY oXRyqRs74in+w/v59DsRYlzxnjPbYpxdhfSEXNz9iQttUIREXuBUjnpfNuftSnf7 r+H+yNmOuwkQWlJc8rLXsaIDq2h3unYfc7uzEXkNyK1R7qQbNK73aC6EMNbAEOmJ OQGU2O9aXLOCohUPK2kg628vB/cd/iG0k=
Received: from [192.168.1.39] (pool-74-96-44-194.washdc.east.verizon.net [74.96.44.194]) (using SSLv3 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: matt@mattmccutchen.net) by homiemail-a37.g.dreamhost.com (Postfix) with ESMTPSA id 8969D208069; Tue, 26 Jul 2011 19:42:33 -0700 (PDT)
From: Matt McCutchen <matt@mattmccutchen.net>
To: David McGrew <mcgrew@cisco.com>
In-Reply-To: <E210EEE3-1855-4513-87E3-C315E611AB5E@cisco.com>
References: <E210EEE3-1855-4513-87E3-C315E611AB5E@cisco.com>
Content-Type: text/plain; charset="UTF-8"
Date: Tue, 26 Jul 2011 22:42:30 -0400
Message-ID: <1311734551.7071.72.camel@localhost>
Mime-Version: 1.0
X-Mailer: Evolution 2.32.3
Content-Transfer-Encoding: 7bit
Cc: Philip Gladstone <pgladstone@cisco.com>, tls@ietf.org
Subject: Re: [TLS] TLS Proxy Server Extension
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, 27 Jul 2011 02:42:35 -0000

On Tue, 2011-07-26 at 08:01 -0700, David McGrew wrote:
> I would like to request feedback on a new draft that Philip Gladstone  
> and I put together, which aims to solve some of the security problems  
> that happen when there is a (HTTP) proxy present and TLS is in use.

It doesn't seem that this work is in any way specific to HTTP.

Suggestions:

- If you're going to require support from the client, you might as well
do something to support client authentication on the server-side
connection, e.g., tunnel the PKCS#11 protocol back to the client.

- You could bundle the whole sequence of handshake messages from the
server-side connection in the ProxyInfo and let the client deal with it
rather than muck about with the ConnectionSecurityParameters here.  This
would include any further ProxyInfos without making a special case.

- It would be better design to put the whole certificate acceptance test
(trust anchor validation + server name check) on the client.  Schemes
such as DANE replace the certificate acceptance test as a whole.

- One approach would be to do a real escrowed TLS where the client
negotiates directly with the server but releases the confidentiality key
and optionally also the integrity key to the proxy.  This subsumes all
of the above concerns but doesn't allow the proxy to manipulate the
handshake in any finer way than blocking the connection if it doesn't
like the outcome.

-- 
Matt