Re: [TLS] Last Call: <draft-ietf-tls-downgrade-scsv-03.txt> (TLS Fallback Signaling Cipher Suite Value (SCSV) for Preventing Protocol Downgrade Attacks) to Proposed Standard

Michael Clark <michael@metaparadigm.com> Fri, 23 January 2015 02:40 UTC

Return-Path: <michael@metaparadigm.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5B7A61B2BAF for <tls@ietfa.amsl.com>; Thu, 22 Jan 2015 18:40:53 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.668
X-Spam-Level:
X-Spam-Status: No, score=-1.668 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, IP_NOT_FRIENDLY=0.334, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id czTyidfaix6w for <tls@ietfa.amsl.com>; Thu, 22 Jan 2015 18:40:52 -0800 (PST)
Received: from tlsx.org (tlsx.org [67.207.128.90]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3E3A51A8AF0 for <tls@ietf.org>; Thu, 22 Jan 2015 18:40:52 -0800 (PST)
Received: from monty.local (unknown.maxonline.com.sg [58.182.168.20] (may be forged)) (authenticated bits=0) by tlsx.org (8.14.4/8.14.4/Debian-4) with ESMTP id t0N32gUm015333 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Fri, 23 Jan 2015 03:02:46 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=metaparadigm.com; s=klaatu; t=1421982167; bh=xv0sJkcCR0EIGzmVmV71QXQtaCAb48KTL5zS/1lcOXg=; h=Date:From:To:Subject:References:In-Reply-To:From; b=Hxgsg76q+4LWrpWx5u2B+gKAGAqft4V2uo8Vk1aajNTGn7Ug9ZBsbsw2y7H7O3COS wO55LVRNU2ybpXdFYJ/Vw8wtbX3lXhCRIYqOMl5zX7BSaf4mMS3yeTpcNSrvCiTU0O li0SDHnv/wguCdUeysPJnG0Ba71UGuz5hSn1NuX8=
Message-ID: <54C1B4A7.2040205@metaparadigm.com>
Date: Fri, 23 Jan 2015 10:40:39 +0800
From: Michael Clark <michael@metaparadigm.com>
Organization: Metaparadigm
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: Bodo Moeller <bmoeller@acm.org>, "tls@ietf.org" <tls@ietf.org>
References: <40128f312378442fbd26459bf5d7593b@usma1ex-dag1mb2.msg.corp.akamai.com> <20150119192701.190C71B0FF@ld9781.wdf.sap.corp> <CAFewVt6LRafnJN_L=xVeiAxNcpSB+8vPYzquPfjXsduudyj+QQ@mail.gmail.com> <BAY180-W688DE2930CB7F231E60989FF480@phx.gbl> <04690E05-4905-4941-A60D-7BC5CDC93431@gmail.com> <BAY180-W1849690A1D8C42F1063DDBFF480@phx.gbl> <39B8BC24-D539-456F-970B-B11665B0E892@gmail.com> <54C0B783.2060604@metaparadigm.com> <CADMpkcJLidpZcQd-zmFAyd022xHB9Cj0xkhQyjBxQBsLk54SbA@mail.gmail.com> <54C1B2EC.2060507@metaparadigm.com>
In-Reply-To: <54C1B2EC.2060507@metaparadigm.com>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: clamav-milter 0.98.4 at klaatu.tlsx.org
X-Virus-Status: Clean
Archived-At: <http://mailarchive.ietf.org/arch/msg/tls/68TRgP4N9nrnb4pgNb_djETrjKk>
Subject: Re: [TLS] Last Call: <draft-ietf-tls-downgrade-scsv-03.txt> (TLS Fallback Signaling Cipher Suite Value (SCSV) for Preventing Protocol Downgrade Attacks) to Proposed Standard
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.15
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: Fri, 23 Jan 2015 02:40:54 -0000

On 23/1/15 10:33 am, Michael Clark wrote:
> --- a/draft-ietf-tls-tls13.md
> +++ b/draft-ietf-tls-tls13.md
> @@ -2674,7 +2674,7 @@ Structure of this message:
>  
>  
>  verify_data
> -:      PRF(hs_master_secret, finished_label, Hash(handshake_messages))
> +:      PRF(hs_master_secret, finished_label, Hash(handshake_records))
>               [0..verify_data_length-1];
>  
>  finished_label
> @@ -2691,7 +2691,7 @@ Finished computation.
>  > In previous versions of TLS, the verify_data was always 12 octets long. In
>  the current version of TLS, it depends on the cipher suite. Any cipher suite
>  which does not explicitly specify verify_data_length has a verify_data_length
> -equal to 12. This includes all existing cipher suites. Note that this
> +equal to 16. This includes all existing cipher suites. Note that this
>  representation has the same encoding as with previous versions. Future cipher
>  suites MAY specify other lengths but such length MUST be at least 12 bytes.

Extending verify_data obviously pushes on he lower bound of the
protection bits offered by the lowest asymmetric encryption or
pre-shared key size allowed in TLSv1.3 so that should probably be advised.

I'll leave it up to the experts to decide whether my patch is appropriate.

I made a mistake and missed a second occurrence of 12. Here is a re-spin
of the Hash verify_data patch.

--- a/draft-ietf-tls-tls13.md
+++ b/draft-ietf-tls-tls13.md
@@ -2674,7 +2674,7 @@ Structure of this message:
 
 
 verify_data
-:      PRF(hs_master_secret, finished_label, Hash(handshake_messages))
+:      PRF(hs_master_secret, finished_label, Hash(handshake_records))
              [0..verify_data_length-1];
 
 finished_label
@@ -2691,9 +2691,9 @@ Finished computation.
 > In previous versions of TLS, the verify_data was always 12 octets long. In
 the current version of TLS, it depends on the cipher suite. Any cipher suite
 which does not explicitly specify verify_data_length has a verify_data_length
-equal to 12. This includes all existing cipher suites. Note that this
+equal to 16. This includes all existing cipher suites. Note that this
 representation has the same encoding as with previous versions. Future cipher
-suites MAY specify other lengths but such length MUST be at least 12 bytes.
+suites MAY specify other lengths but such length MUST be at least 16 bytes.
 
 handshake_messages