Re: [TLS] Eric Rescorla's Discuss on draft-ietf-tls-ecdhe-psk-aead-04: (with DISCUSS and COMMENT)

Daniel Migault <daniel.migault@ericsson.com> Wed, 24 May 2017 02:28 UTC

Return-Path: <mglt.ietf@gmail.com>
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 A52BD1286AB; Tue, 23 May 2017 19:28:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.388
X-Spam-Level:
X-Spam-Status: No, score=-2.388 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.199, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, T_HTML_ATTACH=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 d5UDz4APBIz7; Tue, 23 May 2017 19:28:23 -0700 (PDT)
Received: from mail-lf0-x22d.google.com (mail-lf0-x22d.google.com [IPv6:2a00:1450:4010:c07::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C9442129421; Tue, 23 May 2017 19:28:19 -0700 (PDT)
Received: by mail-lf0-x22d.google.com with SMTP id m18so59604008lfj.0; Tue, 23 May 2017 19:28:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=55oL7xsTTNiQyWrvt4+Uw/+XV0yUi1hgzFP+qhC0ElE=; b=VboTdfb4p47I9xMdfjstTNT651VVTaOuag+UhAj5766Z4HpR2jo/OiAsl7mBz3sLbk 2vTZc/srODePnTz5PzkpWtkCk4pxLUYaCkmuUfntKJRk4SGEOLCbxqg8rfKa9S9ioDnI Y3qpoGAD6jAhOvIDwYuWFfTn5eJ1DY6OBSkXw2QRjY/KHTvkWcpo6S1SHRR0fWw9tv21 Smqsvd4El/bH7btfVtfgz9T0bhhJMNfvvwCAE01I6Wygixy8lJrSIcEoPvbj5D6LlSK0 3MDydfV68d7Jz/3Mhu22qaoheaxfe7xMVeNRx+pk7iI7lIhhY5Vr+bO9Yw9A4Up+Xplh dyOw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=55oL7xsTTNiQyWrvt4+Uw/+XV0yUi1hgzFP+qhC0ElE=; b=Zovh44g4vBCyh8qbk1TRwmzAj46b1dD9KkfEzzK71mCRwCybLJXABWdu+B7AxbsbzX H77Li5Z/BRmEpCOsQ/HZ2PQQbztVqCRHEB2KXpV3z/CC6JzL/+B1HBf2YGR0OOLnjdzB ZfREEBRFYhn+l1vUsOE2nsagVoexzDRvu7euF1rUI7gGbtJ8DDAvH8NWf7kWniAQjHeS mDDmZ1MDj5FPtBmQRW7yVFWoyamEbGr3hw7v+TrcSV1ZXOKSs4Q/d0Wpebo78zzTpe7c 7Ri0rCiwRNaSpnABHj8zFumTbDnsggTnVfB183lkTW/eT3QV1wG3FEE+AE7F8HBN09tL Mjyg==
X-Gm-Message-State: AODbwcCFaygumDnJY+ZV6CumtLPLJ8q2JtiHMfQuRwcxPTWj8hiaT9Nh iNhP+pThPP7ySdHtVfnkickZvJa7eQ==
X-Received: by 10.25.208.14 with SMTP id h14mr7217363lfg.174.1495592897992; Tue, 23 May 2017 19:28:17 -0700 (PDT)
MIME-Version: 1.0
Sender: mglt.ietf@gmail.com
Received: by 10.46.0.14 with HTTP; Tue, 23 May 2017 19:28:16 -0700 (PDT)
In-Reply-To: <CABcZeBM-4_xqBOum3vCd2Sb5327CYpU08kxadqYwW+qh0W3eJw@mail.gmail.com>
References: <149550551972.4974.3201248950751611020.idtracker@ietfa.amsl.com> <CADZyTknOk=skkKXFtrvVWuKVU_PLV3tecaeo9kdLe77a9YxkNQ@mail.gmail.com> <CABcZeBM-4_xqBOum3vCd2Sb5327CYpU08kxadqYwW+qh0W3eJw@mail.gmail.com>
From: Daniel Migault <daniel.migault@ericsson.com>
Date: Tue, 23 May 2017 21:28:16 -0500
X-Google-Sender-Auth: Dcp-CV-SR387m-2xLtb7OEexjes
Message-ID: <CADZyTknmXE6UW5e9SbSwwSUZWU-wHw_+9sTB_xnYUmo8KBOJxg@mail.gmail.com>
To: Eric Rescorla <ekr@rtfm.com>
Cc: The IESG <iesg@ietf.org>, draft-ietf-tls-ecdhe-psk-aead@ietf.org, Joseph Salowey <joe@salowey.net>, tls-chairs <tls-chairs@ietf.org>, tls <tls@ietf.org>
Content-Type: multipart/mixed; boundary="001a11412d3c6a2d4705503bdba6"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/he7JvU_5U65fLD6VLYRnQx54M3g>
X-Mailman-Approved-At: Wed, 24 May 2017 10:24:35 -0700
Subject: Re: [TLS] Eric Rescorla's Discuss on draft-ietf-tls-ecdhe-psk-aead-04: (with DISCUSS and COMMENT)
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.22
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: <https://mailarchive.ietf.org/arch/browse/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, 24 May 2017 02:28:28 -0000

Hi Eric,

Thank you for the feed backs. The version 05 contains all text changes you
agreed. In addition, the text explaining dictionary/brute force has been
removed and replace by a reference to 4279. The recommendation regarding to
all PSK ciphers has been limited to the one of the document.  Please see
inline for more details.

For some reasons I am not able to validate the submission of version 05. I
have attached the diff with version 04 as well as the locally generated
version 05.

Yours,
Daniel

On Tue, May 23, 2017 at 7:40 PM, Eric Rescorla <ekr@rtfm.com> wrote:

>
>
> On Wed, May 24, 2017 at 6:00 AM, Daniel Migault <
> daniel.migault@ericsson.com> wrote:
>
>> Hi Eric,
>>
>> Thank you for your reviews. Please see my responses inline. If you agree
>> with the text I will update the draft.
>>
>> Yours,
>> Daniel
>>
>> On Mon, May 22, 2017 at 10:11 PM, Eric Rescorla <ekr@rtfm.com> wrote:
>>
>>> Eric Rescorla has entered the following ballot position for
>>> draft-ietf-tls-ecdhe-psk-aead-04: Discuss
>>>
>>> When responding, please keep the subject line intact and reply to all
>>> email addresses included in the To and CC lines. (Feel free to cut this
>>> introductory paragraph, however.)
>>>
>>>
>>> Please refer to https://www.ietf.org/iesg/stat
>>> ement/discuss-criteria.html
>>> for more information about IESG DISCUSS and COMMENT positions.
>>>
>>>
>>> The document, along with other ballot positions, can be found here:
>>> https://datatracker.ietf.org/doc/draft-ietf-tls-ecdhe-psk-aead/
>>>
>>>
>>>
>>> ----------------------------------------------------------------------
>>> DISCUSS:
>>> ----------------------------------------------------------------------
>>>
>>> The following text appears to have been added in -04
>>>
>>>    A server receiving a ClientHello and a client_version indicating
>>>    (3,1) "TLS 1.0" or (3,2) "TLS 1.1" and any of the cipher suites from
>>>    this document in ClientHello.cipher_suites can safely assume that
>>> the
>>>    client supports TLS 1.2 and is willing to use it.  The server MUST
>>>    NOT negotiate these cipher suites with TLS protocol versions earlier
>>>    than TLS 1.2.  Not requiring clients to indicate their support for
>>>    TLS 1.2 cipher suites exclusively through ClientHello.client_hello
>>>    improves the interoperability in the installed base and use of TLS
>>>    1.2 AEAD cipher suites without upsetting the installed base of
>>>    version-intolerant TLS servers, results in more TLS handshakes
>>>    succeeding and obviates fallback mechanisms.
>>>
>>> This is a major technical change from -03, which, AFAIK, prohibited
>>> the server from negotiating these algorithms with TLS 1.1 and below
>>> and maintained the usual TLS version 1.2 negotiation rules.
>>>
>>> This is a very material technical change. I don't consider it wise,
>>> but in any case it would absolutely need WG consensus, which I
>>> don't believe that it has given the recent introduction.
>>>
>>
>> I agree that the text is a technical change, and that it may not be
>> appropriated to do so now. The reason I included it was that it was conform
>> to the previous text, but I agree that implicit assumption of version 1.2
>> may need some additional discussion especially regarding RFC5246 Appendix
>> E. Unless you prefer further discussion I assume the text below address
>> your concern.
>>
>> <t>The cipher suites defined in this document MUST NOT be negotiated for
>> any version of (D)TLS other than TLS 1.2. Clients MUST NOT offer one of
>> these cipher suites with a (D)TLS version that differs from TLS 1.2.
>> Servers MUST NOT select one of these cipher suites with a TLS version that
>> differs from TLS 1.2. A client MUST treat the selection of these cipher
>> suites in combination with a version of TLS as an error and generate a
>> fatal 'illegal_parameter' TLS alert. </t>
>>
>
> Yes, this seems fine
>
>
> The discussion of dictionary attacks here seems inferior to that
>>> in 4279. In particular, you only need to actively attack one
>>> connection to capture the data you need for a brute force attack
>>> despite the text there referring to trying "different keys".
>>> Please correct that.
>>>
>>> I believe the text below address your concern:
>>
>> OLD:
>> <t>Use of Pre-Shared Keys of limited entropy may allow an active
>> attacker attempts to connect to the server and try different keys.
>> For example, limited entropy may be provided by using a short PSK in which
>> case an attacker may perform a brute-force attack. Another example
>> includes the use of a PSK  chosen by a human which thus may be exposed to
>> dictionary attacks.</t>
>>
>> NEW:
>> <t>Pre-Shared Keys security relies on its associated entropy, and it is
>> RECOMMENDED to follow <xref target="4086"/> to ensure the PSK has enough
>> entropy. Possible reasons for low entropy includes PSK chosen by humans or
>> PSK of small length as well as using random generators with limited
>> entropy. </t>
>>
>> <t>PSK of limited entropy may allow an attacker to test different PSK
>> values against a valid output such as master secret or any output derived
>> from it. In this document, the master secret is generated using the PSK as
>> well as the ECDHE shared secret. The use of ECDHE limits the possibilities
>> of passive eavesdropping attackers, as the ECDHE shared secret is not
>> expected to be derived from the observed ECDH parameters. As a result,
>> passive eavesdropping is unlikely to happen, and the collection of all
>> necessary material relies on an active attack.
>> An active attacker may collect the necessary material by setting a TLS
>> session as a client with the legitimate server. One PSK is tested for each
>> session, and a match occurs when key exchange succeeds. On the other hand,
>> an active attacker may also consider gathering the necessary information
>> for offline computation. One way consists in getting a legitimate client to
>> establish a connection with the attacker. It is also assumed that the
>> client will accept the ECDH parameters authenticated by the attacker's
>> private key and finally returns the Finished message authenticating the
>> exchange. The attacker will be then in possession of all the necessary
>> information to perform a brute force attack.</t>
>>
>
> Is there a reason to not just point directly to the 4279 security
> considerations?
>

No, basically I tried to complete the previous text that missed the offline
use case. The current version just point to 4279, without having the above
text. If you think the text above is clarifying I can add it as well.

> -
>
>>
>>
>>>
>>> ----------------------------------------------------------------------
>>> COMMENT:
>>> ----------------------------------------------------------------------
>>>
>>> The citations to TLS 1.3 still seem pretty muddled. I think you
>>> should just stop referencing and discussing 1.3.
>>>
>>
>> My understanding of your comment is that mentioning TLS 1.3 to further
>> insisting that the code point are not valid for TLS 1.3 is confusing. I
>> propose to:
>>
>> Explicitly mention the TLS version in the title:
>>
>> OLD title:
>> ECDHE_PSK with AES-GCM and AES-CCM Cipher Suites for Transport Layer
>> Security (TLS)
>>
>> NEW title:
>> ECDHE_PSK with AES-GCM and AES-CCM Cipher Suites for Transport Layer
>> Security (TLS)
>>
>> OLD Introduction:
>>
>>     The cipher
>>    suites are defined for version 1.2 of the Transport Layer Security
>>    (TLS) [RFC5246 <https://tools.ietf.org/html/rfc5246>] protocol, version 1.2 of the Datagram Transport Layer
>>    Security (DTLS) protocol [RFC6347 <https://tools.ietf.org/html/rfc6347>], as well as version 1.3 of TLS
>>    [I-D.ietf-tls-tls13 <https://tools.ietf.org/html/draft-ietf-tls-ecdhe-psk-aead-04#ref-I-D.ietf-tls-tls13>].
>>
>> NEW introduction
>>
>> The cipher
>>    suites are defined for version 1.2 of the Transport Layer Security
>>    (TLS) [RFC5246 <https://tools.ietf.org/html/rfc5246>] protocol, version 1.2 of the Datagram Transport Layer
>>    Security (DTLS) protocol [RFC6347 <https://tools.ietf.org/html/rfc6347>].
>>
>>
>> I suggest to keep the following text of the introduction:
>>
>>
>> AEAD algorithms that combine encryption and integrity protection are
>>    strongly recommended for (D)TLS [RFC7525 <https://tools.ietf.org/html/rfc7525>] and non-AEAD algorithms are
>>    forbidden to use in TLS 1.3 [I-D.ietf-tls-tls13 <https://tools.ietf.org/html/draft-ietf-tls-ecdhe-psk-aead-04#ref-I-D.ietf-tls-tls13>].  The AEAD
>>    algorithms considered in this document are AES-GCM and AES-CCM.  The
>>    use of AES-GCM in TLS is defined in [RFC5288 <https://tools.ietf.org/html/rfc5288>] and the use of AES-CCM
>>    is defined in [RFC6655 <https://tools.ietf.org/html/rfc6655>].
>>
>>
> Yes, this seems fine.
>
>
>
>> I suggest to keep the following text of the Applicable versions sections,
>> as I believe the section discusses the cipher suites against all existing
>> TLS versions. In addition, it also justifies somewhat that we only defined
>> cipher suites that are compatible with TLS1.3.
>>
>>    TLS version 1.3 and later negotiate these features in a different
>>    manner.  Unlike TLS 1.2, TLS 1.3 separates authentication and cipher
>>    suite negotiation [I-D.ietf-tls-tls13 <https://tools.ietf.org/html/draft-ietf-tls-ecdhe-psk-aead-04#ref-I-D.ietf-tls-tls13>] Section 1.2 <https://tools.ietf.org/html/draft-ietf-tls-ecdhe-psk-aead-04#section-1.2>.  TLS 1.3 supports
>>    PSK with ECDHE key exchange and the cipher suites
>>    TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384,
>>    TLS_AES_128_CCM_8_SHA256 and TLS_AES_128_CCM_SHA256 are part of the
>>    specification.  As a result, TLS 1.3 and higher versions, negotiate
>>    and support these cipher suites in a different way.
>>
>>
> OK.
>
>
>> I suggest to remove the reference to TLS1.3 in the security considerations
>>
>> OLD
>>
>>  The security considerations in TLS 1.2 [RFC5246 <https://tools.ietf.org/html/rfc5246>], DTLS 1.2 [RFC6347 <https://tools.ietf.org/html/rfc6347>],
>>    TLS 1.3 [I-D.ietf-tls-tls13 <https://tools.ietf.org/html/draft-ietf-tls-ecdhe-psk-aead-04#ref-I-D.ietf-tls-tls13>], ECDHE_PSK [RFC5489 <https://tools.ietf.org/html/rfc5489>], AES-GCM [RFC5288 <https://tools.ietf.org/html/rfc5288>],
>>    and AES-CCM [RFC6655 <https://tools.ietf.org/html/rfc6655>] apply to this document as well.
>>
>> NEW
>>
>>  The security considerations in TLS 1.2 [RFC5246 <https://tools.ietf.org/html/rfc5246>], DTLS 1.2 [RFC6347 <https://tools.ietf.org/html/rfc6347>],
>>  ECDHE_PSK [RFC5489 <https://tools.ietf.org/html/rfc5489>], AES-GCM [RFC5288 <https://tools.ietf.org/html/rfc5288>],and AES-CCM [RFC6655 <https://tools.ietf.org/html/rfc6655>] apply
>>  to this document as well.
>>
>>
>>> S 2.
>>> I'm not sure that the discussion of the PRF is helpful here in
>>> mandating the non-use of these cipher suites with TLS 1.1 and
>>> below.
>>>
>>
>> I find the text useful as it gives an idea why even introducing AEAD in
>> TLS version lower than 1.2 is a bad idea, so I would prefer to keep it. The
>> text has been changed to
>>
>> OLD:
>> As such TLS 1.0 and TLS 1.1 should not be used with ECDHE_PSK.
>>
>> NEW:
>> As such,  all ECDHE_PSK
>> ciphers, including those defined outside this document, SHOULD NOT be
>> negotiated in TLS versions prior to 1.2.
>>
>
> I don't think you should be levying a new normative requirement like this
> for other ciphers
> i this document
>

Consideration for other ciphers has been removed. The requirement is
limited to the ciphers of the document. The new text is:

As such, all ECDHE_PSK ciphers, including those defined in this document,
SHOULD NOT be
negotiated in TLS versions prior to 1.2.

>
> -Ek
> r
>
>