Re: [Curdle] AD Review: draft-ietf-curdle-rsa-sha2-07.txt

denis bider <denisbider.ietf@gmail.com> Tue, 22 August 2017 20:29 UTC

Return-Path: <denisbider.ietf@gmail.com>
X-Original-To: curdle@ietfa.amsl.com
Delivered-To: curdle@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 61DCA132A30 for <curdle@ietfa.amsl.com>; Tue, 22 Aug 2017 13:29:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.698
X-Spam-Level:
X-Spam-Status: No, score=-2.698 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, 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 0Wcjq0-hVAcc for <curdle@ietfa.amsl.com>; Tue, 22 Aug 2017 13:29:06 -0700 (PDT)
Received: from mail-lf0-x22a.google.com (mail-lf0-x22a.google.com [IPv6:2a00:1450:4010:c07::22a]) (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 0E955132A28 for <curdle@ietf.org>; Tue, 22 Aug 2017 13:29:06 -0700 (PDT)
Received: by mail-lf0-x22a.google.com with SMTP id y15so84064665lfd.5 for <curdle@ietf.org>; Tue, 22 Aug 2017 13:29:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=oAU5cwQW0rvMytWkNwM+lBTbiogcipua6Gzl269++g8=; b=E+IydsIinWj8xeECVtZc43C9kSGPNR0BD0v15aEfEe/k/IsSLkjH+D23gBsdlFaieR 79NGaA4TvL1572ck/YnR4pl1by2EV7Wq8mX1mUULRfy7Oo0sP8g6FFxgiuEQF/4KtICf G56xfher7DdUZBhao2xsbBOVyDtd4TXSSdknqNKHFF7IY+d6Tp2V6y8KWwhzUzcbUKXa wH48qbmUxy4A50mAHcfs6MziiJD5t/ORRr1QVb9fM5L3kde0mPAXesubQuS+yV/F7B4Q XViAmSyo7K4GEIXkRMeEyyNJtxf0sfWGC1kAhqxB56kSyGIfhB+kZIKHZYO7cwHkutVn y2jg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=oAU5cwQW0rvMytWkNwM+lBTbiogcipua6Gzl269++g8=; b=likVncTV+olNGwqBzccOJPWnkmBGB+9Y7UPtY5wQoiVyXM/8vyfUh/2WSnyQcT5JNT yHktEldPMObXIR95Jh3935c+fjk6mhEN9LnINp6qI6L2yrV4Zx00KkOwDxanoqB4Y9Rc Yw0P6TCLb8tZJs40w09RleQb7+TxbRg+wbM/KWHHxuAhTgNosdGFsooICHqVzx5dQNFj pdHHgLOsZnvt+d7UtQTzSVhVb+NvSUFbj7d5fOwlS5JSTyoXuVoQM6UjDmkW21yeMDMN Zxl1PsZoQ6v0Tln7Xu88ttN+wpoD3hLu6ZXkjIOezwtN8+U8e+IomrULw+RVmoq/HX0D iZyg==
X-Gm-Message-State: AHYfb5h0kJPlm6s8AywddLuRNpDujDEplJ6kugQJP+gJAxwg6PZN8C4E ui+E16itHqaNLvdZy7z6Itie0AYkIA==
X-Received: by 10.46.21.84 with SMTP id 20mr136005ljv.72.1503433744342; Tue, 22 Aug 2017 13:29:04 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.179.27.209 with HTTP; Tue, 22 Aug 2017 13:29:03 -0700 (PDT)
In-Reply-To: <CABcZeBOmLme5ba5M17H45mqV+1g3Gs31ZNbJckYwp5g1NTfhXA@mail.gmail.com>
References: <CABcZeBNPQXbS2m6tk6DwB_8YqHD=MObiH+VeXpPZdn7atkfREw@mail.gmail.com> <CADPMZDDh4CiPurv-7aYXt7oT_27xX97ZK-qrdMVJi4uGf-K--Q@mail.gmail.com> <CABcZeBMSmrjaPwMGZofzbAikS2xCzjQMyJAtAHfHbejiOMQiRg@mail.gmail.com> <CADPMZDCPjGhp454NoutcPpWFuC-saf41VhvrVbffiGBY=1A6rw@mail.gmail.com> <CABcZeBP93oaA0CiZ8N3Gzw7TyJHsX7_bHaHdhKN-WC5gaox+uQ@mail.gmail.com> <CABcZeBO3tafXhMg=-t98XaQswY_fbG_inQvTSe4p9Mi_H9eTyw@mail.gmail.com> <CADPMZDC=Ms+jV4dvJ7H1e7Ww9m8fPk+4D_weLUCtbyQmN3qrtw@mail.gmail.com> <CABcZeBOmLme5ba5M17H45mqV+1g3Gs31ZNbJckYwp5g1NTfhXA@mail.gmail.com>
From: denis bider <denisbider.ietf@gmail.com>
Date: Tue, 22 Aug 2017 15:29:03 -0500
Message-ID: <CADPMZDAsVzZaDG3fN-E1FW5inEgk8iqedi8DkdooyimQ=fv=tQ@mail.gmail.com>
To: Eric Rescorla <ekr@rtfm.com>
Cc: curdle <curdle@ietf.org>
Content-Type: multipart/alternative; boundary="94eb2c1cda1e46630005575d7205"
Archived-At: <https://mailarchive.ietf.org/arch/msg/curdle/2CbDCsaMBfwSoL1nsnWyzI-Csfg>
Subject: Re: [Curdle] AD Review: draft-ietf-curdle-rsa-sha2-07.txt
X-BeenThere: curdle@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "List for discussion of potential new security area wg." <curdle.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/curdle>, <mailto:curdle-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/curdle/>
List-Post: <mailto:curdle@ietf.org>
List-Help: <mailto:curdle-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/curdle>, <mailto:curdle-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 22 Aug 2017 20:29:09 -0000

Done and submitted. :-)


On Tue, Aug 22, 2017 at 2:04 PM, Eric Rescorla <ekr@rtfm.com> wrote:

>
>
> On Mon, Aug 21, 2017 at 10:36 AM, denis bider <denisbider.ietf@gmail.com>
> wrote:
>
>> Hey!
>>
>> Apologies, I am currently in the middle of moving to another country
>> again (for the third, and hopefully final time!). I can still make changes
>> as necessary to this draft, though.
>>
>> With respect to the below issue, I'm still not sure how to best phrase it
>> differently. Maybe we could just remove the paragraph about why we're not
>> doing DSA? At the time I wrote it, I thought it was a good idea to justify
>> the removal, but maybe we don't even really need to explain anything there.
>> Especially if the justification is simply "we don't wanna". :)
>>
>
> This seems like a fine resolution.
>
> -Ekr
>
>
>>
>> denis
>>
>>
>>
>> On Sat, Aug 19, 2017 at 11:27 AM, Eric Rescorla <ekr@rtfm.com> wrote:
>>
>>> Ping?
>>>
>>> -Ekr
>>>
>>>
>>> On Tue, Jun 20, 2017 at 3:55 PM, Eric Rescorla <ekr@rtfm.com> wrote:
>>>
>>>> Usually, I would say "we're getting rid of finite field" :)
>>>>
>>>> -Ekr
>>>>
>>>>
>>>> On Tue, Jun 20, 2017 at 7:14 AM, denis bider <denisbider.ietf@gmail.com
>>>> > wrote:
>>>>
>>>>> I agree, but there has to be a reason it's on its way out. :) This is
>>>>> the one reason I know how to phrase. If there's something else I can do
>>>>> instead, let me know.
>>>>>
>>>>> On Mon, Jun 19, 2017 at 11:11 AM, Eric Rescorla <ekr@rtfm.com> wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>> On Mon, Jun 19, 2017 at 8:28 AM, denis bider <
>>>>>> denisbider.ietf@gmail.com> wrote:
>>>>>>
>>>>>>> > Either you are using PKCS#1 v1.5 or you are using PSS.
>>>>>>> > In the former case, there is no mask function and salt.
>>>>>>>
>>>>>>> Yikes, thanks. :) This was left over from an early version that
>>>>>>> specified PSS. This was before PKCS#1 v1.5 was requested. (The change took
>>>>>>> place before any implementation was released, so all deployed
>>>>>>> implementations use PKCS#1 v1.5.)
>>>>>>>
>>>>>>>
>>>>>>> > You say in the intro that RSA was defined as 1024 bit
>>>>>>> > keys. Are these keys of arbitrary length? Is there an
>>>>>>> > upper or lower limit?
>>>>>>>
>>>>>>> I believe this may refer to the following sentence:
>>>>>>>
>>>>>>> "In [RFC4253], SSH originally defined the public key algorithms
>>>>>>> "ssh-rsa" for server and client authentication using RSA with SHA-1, and
>>>>>>> "ssh-dss" using 1024-bit DSA and SHA-1."
>>>>>>>
>>>>>>> Here, 1024-bit refers to DSA. RFC 4253 imposes no limits on RSA key
>>>>>>> sizes.
>>>>>>>
>>>>>>>
>>>>>>> > > Implementations SHOULD apply PKCS#1 v1.5 padding to the expected
>>>>>>> > > hash, THEN compare the encoded bytes with the output of [...]
>>>>>>>
>>>>>>> > Why "SHOULD?
>>>>>>>
>>>>>>> Fair point. Changed as follows:
>>>>>>>
>>>>>>> "Verifiers MUST instead apply PKCS#1 v1.5 padding to the expected
>>>>>>> hash, then compare the encoded bytes with the output of the RSA operation."
>>>>>>>
>>>>>>>
>>>>>>> > This is an odd argument given that ECDSA is often also
>>>>>>> > implemented with random k.
>>>>>>>
>>>>>>> I agree, but that is the main argument that was given by multiple
>>>>>>> people as the main reason to remove DSA from the original draft (which
>>>>>>> covered DSA in addition).
>>>>>>>
>>>>>>
>>>>>> How about just "DSA is on its way out" :)
>>>>>>
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> denis
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Sat, Jun 17, 2017 at 1:30 PM, Eric Rescorla <ekr@rtfm.com> wrote:
>>>>>>>
>>>>>>>> TECHNICAL
>>>>>>>> S 3.
>>>>>>>>   Signing and verifying using these algorithms is performed
>>>>>>>> according to
>>>>>>>>   the RSASSA-PKCS1-v1_5 scheme in [RFC8017] using SHA-2 [SHS] as
>>>>>>>> hash;
>>>>>>>>   MGF1 as mask function; and salt length equal to hash size.
>>>>>>>>
>>>>>>>> This seems incorrect. Either you are using PKCS#1 v1.5 or you are
>>>>>>>> using PSS. In the former case, there is no mask function and salt.
>>>>>>>> Appendix 5.3 suggests that you are not using PSS. In any case,
>>>>>>>> you need to fix the inconsistency.
>>>>>>>>
>>>>>>>> You say in the intro that RSA was defined as 1024 bit keys. Are
>>>>>>>> these keys of arbitrary length? Is there an upper or lower limit?
>>>>>>>>
>>>>>>>>
>>>>>>>> S 5.3.
>>>>>>>>   Implementations SHOULD apply PKCS#1 v1.5 padding to the expected
>>>>>>>> hash,
>>>>>>>>   THEN compare the encoded bytes with the output of the RSA
>>>>>>>> operation.
>>>>>>>>
>>>>>>>> Why "SHOULD?
>>>>>>>>
>>>>>>>>
>>>>>>>> S 6.
>>>>>>>>   A draft version of this memo also defined an algorithm name for
>>>>>>>> use of
>>>>>>>>   2048-bit and 3072-bit DSA keys with a 256-bit subgroup and SHA-2
>>>>>>>> 256
>>>>>>>>   hashing. It is possible to implement DSA securely by generating
>>>>>>>> "k"
>>>>>>>>   deterministically as per [RFC6979]. However, a plurality of
>>>>>>>> reviewers
>>>>>>>>   were concerned that implementers would continue to use libraries
>>>>>>>> that
>>>>>>>>   generate "k" randomly. This is vulnerable to biased "k"
>>>>>>>> generation,
>>>>>>>>   and extremely vulnerable to "k" reuse. This document therefore
>>>>>>>>   disrecommends DSA, in favor of RSA and elliptic curve
>>>>>>>> cryptography.
>>>>>>>>
>>>>>>>> This is an odd argument given that ECDSA is often also implemented
>>>>>>>> with random k. Not that I am in favor of adding DSA here.
>>>>>>>>
>>>>>>>> -Ekr
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Curdle mailing list
>>>>>>>> Curdle@ietf.org
>>>>>>>> https://www.ietf.org/mailman/listinfo/curdle
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>