Re: [TLS] Quest for Unified Solution to TLS Renegotiation

Michael D'Errico <mike-list@pobox.com> Thu, 26 November 2009 18:05 UTC

Return-Path: <mike-list@pobox.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 C3C433A6861 for <tls@core3.amsl.com>; Thu, 26 Nov 2009 10:05:11 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.211
X-Spam-Level:
X-Spam-Status: No, score=-2.211 tagged_above=-999 required=5 tests=[AWL=-0.212, BAYES_00=-2.599, J_CHICKENPOX_33=0.6]
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 nACwOcsd+12k for <tls@core3.amsl.com>; Thu, 26 Nov 2009 10:05:10 -0800 (PST)
Received: from sasl.smtp.pobox.com (a-pb-sasl-sd.pobox.com [64.74.157.62]) by core3.amsl.com (Postfix) with ESMTP id 7E2793A67E4 for <tls@ietf.org>; Thu, 26 Nov 2009 10:05:07 -0800 (PST)
Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTP id B9223A1567 for <tls@ietf.org>; Thu, 26 Nov 2009 13:05:01 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=message-id :date:from:mime-version:to:subject:references:in-reply-to :content-type:content-transfer-encoding; s=sasl; bh=BEDzY8rFwmQc sLuxKST0gb9rhfA=; b=FLZnxGu54mkEKqn1rYmNVNZmw/8idMvV+YjflOJMLREu G8mb553x/TYfCU4bLuhXU7U1TiH7g9lxuPQ8lV/1HUMxb9UFrWeIU7KgonUh6ckG TE2BwYkwnoVkhMS1s4rT7NOribX8PTmhLFHSIzm3GBlrJO86SnzI28vrJ/pPZps=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=message-id:date :from:mime-version:to:subject:references:in-reply-to :content-type:content-transfer-encoding; q=dns; s=sasl; b=AM4QIF BP4FWcrwfCZsfvjMLZLgU4oRAMd3fZlHIl+0IGFRxidir4jDvW0qf548m6ZIvYEa u5FGsdbmatREbOKXUn1v+NgWPPoamreYGrJkg3lEe9R2ABe9LmKX/vhemRqqk/eg eROx1L6lkECpd3swdmCJ+XBSoVORemFLMHpA4=
Received: from a-pb-sasl-sd.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTP id 78F90A1566 for <tls@ietf.org>; Thu, 26 Nov 2009 13:05:01 -0500 (EST)
Received: from administrators-macbook-pro.local (unknown [24.234.114.35]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTPSA id 19511A1564 for <tls@ietf.org>; Thu, 26 Nov 2009 13:05:00 -0500 (EST)
Message-ID: <4B0EC393.6090202@pobox.com>
Date: Thu, 26 Nov 2009 10:06:11 -0800
From: Michael D'Errico <mike-list@pobox.com>
User-Agent: Thunderbird 2.0.0.23 (Macintosh/20090812)
MIME-Version: 1.0
To: tls@ietf.org
References: <C7341143.6C75%uri@ll.mit.edu> <4B0EB97A.6010106@jacaranda.org>
In-Reply-To: <4B0EB97A.6010106@jacaranda.org>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Pobox-Relay-ID: 374DDD5E-DAB6-11DE-A94A-EF34BBB5EC2E-38729857!a-pb-sasl-sd.pobox.com
Subject: Re: [TLS] Quest for Unified Solution to TLS Renegotiation
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, 26 Nov 2009 18:05:11 -0000

There are a couple problems with changing the PRF:

    1)  there is no PRF in SSLv3
    2)  CertificateVerify is just a signature over the handshake messages

The idea of XOR'ing the verify_data with the master_secret would work
in SSLv3 (1), but would not help with (2).

Is (2) really important since the entire handshake is verified upon the
exchange of Finished messages?

Mike



David-Sarah Hopwood wrote:
> Blumenthal, Uri - 0662 - MITLL wrote:
>> Yes, previous_verify_data MUST be a part of the input to the PRF. What Yoav
>> Nir said (XOR-ing it with the master_secret), should work (out of hand -
>> anybody sees a problem with it?).
> 
> The previous_verify_data is not necessarily secret, so this requires the
> PRF to be secure against related-key attack. The particular PRFs used in
> SSLv3 and TLS 1.0 to 1.2 should be secure in that sense, but (if we
> decide to use this approach) I still prefer what I suggested before:
> 
>     verify_data =
>       PRF(master_secret, finished_label, Hash(handshake_messages)
>                                          + previous_verify_data)
>         [0..verify_data_length-1];
> 
> which uses the PRF in a more conventional way.