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

Eric Rescorla <ekr@rtfm.com> Sat, 19 August 2017 16:28 UTC

Return-Path: <ekr@rtfm.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 D4760132377 for <curdle@ietfa.amsl.com>; Sat, 19 Aug 2017 09:28:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level:
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=rtfm-com.20150623.gappssmtp.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 QCNp45nD13Ho for <curdle@ietfa.amsl.com>; Sat, 19 Aug 2017 09:28:13 -0700 (PDT)
Received: from mail-yw0-x22e.google.com (mail-yw0-x22e.google.com [IPv6:2607:f8b0:4002:c05::22e]) (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 7633E1321C0 for <curdle@ietf.org>; Sat, 19 Aug 2017 09:28:13 -0700 (PDT)
Received: by mail-yw0-x22e.google.com with SMTP id h127so4831393ywf.0 for <curdle@ietf.org>; Sat, 19 Aug 2017 09:28:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rtfm-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=5ZZSE++7tyQv498CZzLvicPpFWxkzxdoUupLiFXwbBY=; b=USaU3PBGf3RqiRtSK+ntLpKa21/AnaELWsEu2fbb5E/s7R6KJn1d9FqoT2hVDrs5yP AIvRFvP98FN+weXaa9BE5kQtxe9TtPOSS1rgbcpzRsnlb7DtgAieb2jJhZ5xIZuUzVOG dYOjEsxaLr7rt2Cyk66prOuY377ZtDWYMja9/L1Y1sbQCIe3oVrpIHm+H+OkB7zbYsos uA9ovDwP1FvGVQfzTW+PDbX2FN1qYZmgp8ZbndqQrAUqRvIP+LlvmxhEF2EgmC6HnBT5 2PbgPxzgsf+QW5QEaV6KRAY2CjZqPj7A+Ew44DVbY//E9w4cABmlsKnyPgo75S8Ok9iW JXtA==
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=5ZZSE++7tyQv498CZzLvicPpFWxkzxdoUupLiFXwbBY=; b=tZOLv7hWrZL+ZK5R0UDdAfYpdHW6xkVvWsgk9GvX8BkxqYaQOsYi9oKYogGyZx6gqI hl2Wg9i2LCgTQQ6rmHLAFEtAPGeEnE5s0TD891hBxaxoiyulAnBJC46kyOVj4nrFQSSL DU41WctOfBAdT4XRKNV8NQf9e7cRD1bgwEkbWrnbAmluZYswMW8CS8cL9gB1R4+XakJz txMyFQRD5t0//Nwma9PGF2my3bMNMZjEEkbVHBe/fQjFgWpPvQ56LVKjkbx1RUrivrZm YAoKhl/rr/cxnuBrZhsm7g/ZtVH/6IucAW4sehxQ/omkSUuY90W/ZEEJdsBvS8EYngnU wmQA==
X-Gm-Message-State: AHYfb5izR5AlrkU8GuTl/mjllIM7fWYAN49Np6gImJUXXFN3J62v3lVK q0iSCxg2KXZNL4tGoh2FVuJ58QOmTB+4
X-Received: by 10.13.251.3 with SMTP id l3mr10635029ywf.71.1503160092808; Sat, 19 Aug 2017 09:28:12 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.13.218.130 with HTTP; Sat, 19 Aug 2017 09:27:32 -0700 (PDT)
In-Reply-To: <CABcZeBP93oaA0CiZ8N3Gzw7TyJHsX7_bHaHdhKN-WC5gaox+uQ@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>
From: Eric Rescorla <ekr@rtfm.com>
Date: Sat, 19 Aug 2017 09:27:32 -0700
Message-ID: <CABcZeBO3tafXhMg=-t98XaQswY_fbG_inQvTSe4p9Mi_H9eTyw@mail.gmail.com>
To: denis bider <denisbider.ietf@gmail.com>
Cc: curdle <curdle@ietf.org>
Content-Type: multipart/alternative; boundary="94eb2c07f0365f6dba05571dbbe3"
Archived-At: <https://mailarchive.ietf.org/arch/msg/curdle/bEQFQ55-3u58mj1n8useAsTLoVs>
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: Sat, 19 Aug 2017 16:28:16 -0000

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
>>>>>
>>>>>
>>>>
>>>
>>
>