Re: [Cfrg] Formal request from TLS WG to CFRG for new elliptic curves

"Igoe, Kevin M." <kmigoe@nsa.gov> Fri, 18 July 2014 14:21 UTC

Return-Path: <kmigoe@nsa.gov>
X-Original-To: cfrg@ietfa.amsl.com
Delivered-To: cfrg@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 338AF1B2973 for <cfrg@ietfa.amsl.com>; Fri, 18 Jul 2014 07:21:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.3
X-Spam-Level:
X-Spam-Status: No, score=-6.3 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, J_CHICKENPOX_55=0.6, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.001] autolearn=ham
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 xN1cfLizRi1e for <cfrg@ietfa.amsl.com>; Fri, 18 Jul 2014 07:21:20 -0700 (PDT)
Received: from emvm-gh1-uea09.nsa.gov (emvm-gh1-uea09.nsa.gov [63.239.67.10]) by ietfa.amsl.com (Postfix) with ESMTP id D62B81A0B0B for <cfrg@irtf.org>; Fri, 18 Jul 2014 07:21:19 -0700 (PDT)
X-TM-IMSS-Message-ID: <8a308c4d000ff839@nsa.gov>
Received: from MSHT-GH1-UEA02.corp.nsa.gov ([10.215.227.181]) by nsa.gov ([63.239.67.10]) with ESMTP (TREND IMSS SMTP Service 7.1; TLSv1/SSLv3 AES128-SHA (128/128)) id 8a308c4d000ff839 ; Fri, 18 Jul 2014 10:22:15 -0400
Received: from MSMR-GH1-UEA03.corp.nsa.gov ([10.215.224.3]) by MSHT-GH1-UEA02.corp.nsa.gov ([10.215.227.181]) with mapi id 14.02.0347.000; Fri, 18 Jul 2014 10:21:17 -0400
From: "Igoe, Kevin M." <kmigoe@nsa.gov>
To: 'Benjamin Black' <b@b3k.us>, "Joseph Salowey (jsalowey)" <jsalowey@cisco.com>
Thread-Topic: [Cfrg] Formal request from TLS WG to CFRG for new elliptic curves
Thread-Index: AQHPn8nLah35npdzY0iSOxbQoXbUMpujGsOAgAKEmQCAAEZ2wA==
Date: Fri, 18 Jul 2014 14:21:16 +0000
Message-ID: <3C4AAD4B5304AB44A6BA85173B4675CABAAA4815@MSMR-GH1-UEA03.corp.nsa.gov>
References: <CFE9F2DE.26E5A%kenny.paterson@rhul.ac.uk> <CACsn0cnxswoPzS8VFRXTO=MD+L+ezckKmWwhi26-1bJqNw5YCQ@mail.gmail.com> <8303B8FE-DE35-4567-893F-A61606890DFF@cisco.com> <CA+Vbu7zHQf0LAdnwffaBJGV5emFLbz5BM=1ZX7dYuh4A1iPL8w@mail.gmail.com>
In-Reply-To: <CA+Vbu7zHQf0LAdnwffaBJGV5emFLbz5BM=1ZX7dYuh4A1iPL8w@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.215.225.46]
Content-Type: multipart/alternative; boundary="_000_3C4AAD4B5304AB44A6BA85173B4675CABAAA4815MSMRGH1UEA03cor_"
MIME-Version: 1.0
Archived-At: http://mailarchive.ietf.org/arch/msg/cfrg/r_-YfXWMG1dz4C9HJeXBZYDhOko
Cc: "cfrg@irtf.org" <cfrg@irtf.org>
Subject: Re: [Cfrg] Formal request from TLS WG to CFRG for new elliptic curves
X-BeenThere: cfrg@irtf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Crypto Forum Research Group <cfrg.irtf.org>
List-Unsubscribe: <http://www.irtf.org/mailman/options/cfrg>, <mailto:cfrg-request@irtf.org?subject=unsubscribe>
List-Archive: <http://www.irtf.org/mail-archive/web/cfrg/>
List-Post: <mailto:cfrg@irtf.org>
List-Help: <mailto:cfrg-request@irtf.org?subject=help>
List-Subscribe: <http://www.irtf.org/mailman/listinfo/cfrg>, <mailto:cfrg-request@irtf.org?subject=subscribe>
X-List-Received-Date: Fri, 18 Jul 2014 14:21:25 -0000

I can say a few words about the AES-256/P-384 security disparity, since it is largely
the fault of Suite B.  Suite B had wanted to use AES-192/P-384, but a survey of
available hardware implementations showed that many has skipped over AES-192
and gone to AES-256.  Hence AES-256 was put into Suite B rather than the preferred
AES-192.  But since 192-bits of security was the intended security goal, we kept P-384.

From: Cfrg [mailto:cfrg-bounces@irtf.org] On Behalf Of Benjamin Black
Sent: Friday, July 18, 2014 2:03 AM
To: Joseph Salowey (jsalowey)
Cc: cfrg@irtf.org
Subject: Re: [Cfrg] Formal request from TLS WG to CFRG for new elliptic curves

"TLS supports 256-bit symmetric key ciphers and we want to have recommended curves to match this key strength.  We leave it up to the CFRG to determine what ECC key strengths are appropriate above 128-bit symmetric key strength."

Can you clarify why this is the case? TLS already has suites with 256-bit symmetric ciphers and they are paired with 192-bit security level components, including curves [1]. I can see arguments in favor of either 192 or 256, but I don't see how this is now a CFRG decision.

"It is also not necessary that the recommendation for higher strength curves be delivered at the same time, it would be OK to deliver a recommendation for the 128-bit curves before the higher strength curves."

Can you clarify why this is the case? I'm not aware of any other standardization effort that has done this and see no reason for it.


Ben

[1] RFC5289

On Wed, Jul 16, 2014 at 8:35 AM, Joseph Salowey (jsalowey) <jsalowey@cisco.com<mailto:jsalowey@cisco.com>> wrote:

On Jul 14, 2014, at 6:11 PM, Watson Ladd <watsonbladd@gmail.com<mailto:watsonbladd@gmail.com>> wrote:
> On Jul 14, 2014 12:49 PM, "Paterson, Kenny" <Kenny.Paterson@rhul.ac.uk<mailto:Kenny.Paterson@rhul.ac.uk>> wrote:
>>
>> Dear CFRG,
>>
>> CFRG has received a formal request from the TLS Working Group for
>> recommendations for new elliptic curves. Specifically, the TLS WG would
>> like CFRG to recommend:
>>
>> - Curves suitable for both key establishment and digital signature
>>  (though the same curves need not be used for both purposes).
>>
>> - One proposed curve or set of curves at the following security
>>  levels: 128-bit (~256-bit curve) and 256-bit (~512 bit curve).
>>  192-bit security is optional.
>
> I would like these to be taken as minimums. There is no reason
> Curve4417 should not be used for 192 bit security
> or Goldilocks448 if performance is acceptable.
>
> I am not sure that 512 bits is needed: the NSA only uses P-384 for Top
> Secret data. Perhaps this is an area where the
> TLS WG can do some more thinking about what they want to see.
>
[Joe] We've received a few comments about this offline so I want to clarify on desired strengths. TLS supports 256-bit symmetric key ciphers and we want to have recommended curves to match this key strength.  We leave it up to the CFRG to determine what ECC key strengths are appropriate above 128-bit symmetric key strength.  It is also not necessary that the recommendation for higher strength curves be delivered at the same time, it would be OK to deliver a recommendation for the 128-bit curves before the higher strength curves.

>>
>> Note that these curves are not intended to supplant current curves in
>> widespread use, but rather to supplement them. Full details of the request
>> can be found in the e-mail from the TLS WG chairs below.
>>
>> The CFRG chairs will coordinate a response to this request from the CFRG
>> readership. Ideally we will reach a rough consensus through discussion on
>> the
>> list and at the upcoming IETF 90 meeting in Toronto. While no deadline is
>> set for our response to the TLS WG, we should aim to have one ready within
>> 2 months.
>>
>> We regard this as a major work item for CFRG and one where CFRG can
>> provide real value to the TLS WG and the IETF more widely. So we encourage
>> (and indeed request) active participation from the widest set of
>> participants on this project.
>>
>> As a first step, we propose to discuss the requirements for new curves for
>> a period of 2 weeks. Using an agreed set of requirements, in a second
>> step, we will then evaluate different curve proposals (including extant
>> proposals and any emerging ones) for a period of 4 weeks. In a final
>> period of 2 weeks, we will produce a proposal for the TLS WG and seek
>> consensus on it.
>
> What should a proposal look like? A family of similar curves, one for
> each length?
> How much implementation should be done? Making very fast
> implementations can require a lot of coding,
> but I think we know about how fast prime shapes will be, and curve
> shape+prime shape gives you
> everything but the TLC factor.
>
>>
>>
>> The first step, running for 2 weeks, begins here.
>>
>> A starting point for requirements can be found in David McGrew's recent
>> CFRG post
>> (http://www.ietf.org/mail-archive/web/cfrg/current/msg04461.html) and
>> reproduced here:
>>
>> ----
>>
>> Simplicity
>>
>>   R1.  Desired: easy to understand and implement [1]
>>
>> Efficiency
>>
>>   R2.  Required: amenable to compact implementations and fast
>>   implementations, across both small and large processors [1]
>>
>>   R3.  Desired: re-use components between signatures and key exchange
>>   algorithms [3]
>
> How about code size for R3 to make it more amenable to argument?
>
>>
>> Intellectual Property
>>
>>   R4.  Required: available worldwide under reasonable and well
>>   understood licensing terms [1]
>>
>>   R5.  Desired: available worldwide under royalty-free licensing
>>   terms [1]
>
> I would make R5 a requirement. Royalties are a nonstarter for many users.
>
>>
>> Interoperability
>>
>>   R6.  Desired: can be used with current software implementations
>>   (using different curve parameters) of TLS, PKIX, SSH, and IKE [4]
>>
>>   R7.  Desired: can be used within current ECC standards of TLS,
>>   PKIX, SSH, and IKE [4]
>
> These desiderata are worthwhile, but implementors have signalled they
> are willing to make
> large changes for performance.
>
>>
>> Security
>>
>>   R8.  Required: amenable to constant-time implementations, to avoid
>>   side channel attacks [2]
>>
>>   R9.  Required: resist twist attacks [2]
>
> I don't like R9: twist attacks are only an issue with algorithms that
> work on the compressed form. It just feels different.
> Perhaps the requirement should be that implementations that miss
> checks avoid being completely insecure.
>>
>>   R10.  Required: curve parameters should have good provenance;
>>   random curves should be provably pseudorandom [5]
>>
>>   R11.  Desired for key exchange: resist invalid curve attacks [2];
>>   note that complete addition laws help and are thus desirable [2].
>>   (Note that the use of ephemeral keys also resist such attacks.)
>
> I feel this should be folded into an edited R9.
>>
>>   R12.  Required for PAKE: indistinguishability of curve points from
>>   random strings [2]
>
> Mike Hamburg will know better than I, but my vague recollection is
> that Elligator 2 worked for everything.
>>
>> Footnotes:
>>
>>   [1] Original criteria set out for the Advanced Encryption Standard,
>>       which is equally applicable to ECC.  National Institute of
>>       Standards and Technology (NIST) of the United States, 1998.
>>
>>   [2] Daniel J. Bernstein and Tanja Lange. SafeCurves: choosing safe
>>       curves for elliptic-curve cryptography.
>>       http://safecurves.cr.yp.to <http://safecurves.cr.yp.to/>
>> <http://safecurves.cr.yp.to/>, accessed
>> April 2014.
>>
>>   [3] Criteria identified by David McGrew, 2014.
>>
>>   [4] Criteria identified by Russ Housley, TLS WG meeting at IETF89.
>>
>>   [5] Criteria widely acknowledged on CFRG email list during 2014.
>>
>> ----
>>
>>
>> Our first request, then, is that you consider these requirements, and
>> provide your views on their appropriateness, completeness, and individual
>> classifications (required/desired). We will continue that discussion for 2
>> weeks, until the end of the IETF meeting in Toronto. The chairs will then
>> compile a consensus-based list of requirements of the above form, after
>> which we will move to the second step.
>>
>> We thank you in advance for your participation in this important task.
>>
>> Regards
>>
>> Alexei, Kenny and Kevin (CFRG co-chairs)
>>
>>
>>
>>
>> On 11/07/2014 05:44, "Joseph Salowey (jsalowey)" <jsalowey@cisco.com<mailto:jsalowey@cisco.com>>
>> wrote:
>>
>>> CFRG Chairs and Security ADs,
>>>
>>> TLS WG would like to formally request that the
>>> CFRG make a recommendation for new ECC group support for TLS
>>> and other similar applications. Specifically, we request that CFRG
>>> recommend the following:
>>>
>>> - Curves suitable for both key establishment and digital signature
>>> (though the same curves need not be used for both purposes).
>>>
>>> - One proposed curve or set of curves at the following security
>>> levels: 128-bit (~256-bit curvee) and 256-bit (~512 bit curve).
>>> 192-bit security is optional.
>>>
>>> If the same curves are used for key establishment and signature, this
>>> would be a recommendation for two curves.  If different curves are
>>> used, this would be a recommendation for four curves.
>>>
>>> In addition to a recommendation, we also request that the CFRG provide
>>> a technical rationale for their selection.
>>>
>>> If the CFRG does not feel comfortable making a single set of
>>> selections, we propose that they select a small number of potential
>>> choices with a detailed technical analysis of the advantages and
>>> disadvantages of each selection and that the Security ADs sponsor a
>>> process (perhaps via SAAG) to narrow it down to the specification
>>> above.
>>>
>>> For clarity, we are not currently requesting that CFRG replace or
>>> profile the existing curves in RFC4492 and RFC 7027, although we are
>>> also not ruling out such an effort in the future. The current request
>>> is for a new set of curves to complement the existing ones.
>>>
>>> Please reach out to us if this is unclear or further information is
>>> required.
>>>
>>> Thanks,
>>>
>>> TLS Chairs
>>>
>>>
>>
>>
>>
>> _______________________________________________
>> Cfrg mailing list
>> Cfrg@irtf.org<mailto:Cfrg@irtf.org>
>> http://www.irtf.org/mailman/listinfo/cfrg
>
> _______________________________________________
> Cfrg mailing list
> Cfrg@irtf.org<mailto:Cfrg@irtf.org>
> http://www.irtf.org/mailman/listinfo/cfrg

_______________________________________________
Cfrg mailing list
Cfrg@irtf.org<mailto:Cfrg@irtf.org>
http://www.irtf.org/mailman/listinfo/cfrg