Re: [COSE] draft-ietf-cose-rfc8152bis-algs and deterministic ECDSA recommendations

Michael Richardson <mcr+ietf@sandelman.ca> Tue, 16 February 2021 17:59 UTC

Return-Path: <mcr+ietf@sandelman.ca>
X-Original-To: cose@ietfa.amsl.com
Delivered-To: cose@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 41BF03A0D63 for <cose@ietfa.amsl.com>; Tue, 16 Feb 2021 09:59:07 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=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 3_HUrS3xqfP4 for <cose@ietfa.amsl.com>; Tue, 16 Feb 2021 09:59:04 -0800 (PST)
Received: from tuna.sandelman.ca (tuna.sandelman.ca [IPv6:2607:f0b0:f:3:216:3eff:fe7c:d1f3]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B4F403A0D50 for <cose@ietf.org>; Tue, 16 Feb 2021 09:59:04 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by tuna.sandelman.ca (Postfix) with ESMTP id E47D438983; Tue, 16 Feb 2021 13:02:43 -0500 (EST)
Received: from tuna.sandelman.ca ([127.0.0.1]) by localhost (localhost [127.0.0.1]) (amavisd-new, port 10024) with LMTP id blMh_Kl5QKN7; Tue, 16 Feb 2021 13:02:42 -0500 (EST)
Received: from sandelman.ca (obiwan.sandelman.ca [IPv6:2607:f0b0:f:2::247]) by tuna.sandelman.ca (Postfix) with ESMTP id 7B5063897F; Tue, 16 Feb 2021 13:02:42 -0500 (EST)
Received: from localhost (localhost [IPv6:::1]) by sandelman.ca (Postfix) with ESMTP id 16B3BA3; Tue, 16 Feb 2021 12:59:01 -0500 (EST)
From: Michael Richardson <mcr+ietf@sandelman.ca>
To: John Mattsson <john.mattsson=40ericsson.com@dmarc.ietf.org>
cc: "cose@ietf.org" <cose@ietf.org>
In-Reply-To: <6E2EBFD1-A226-455B-8E64-1DF735AE97C5@ericsson.com>
References: <6E2EBFD1-A226-455B-8E64-1DF735AE97C5@ericsson.com>
X-Mailer: MH-E 8.6+git; nmh 1.7+dev; GNU Emacs 26.1
X-Face: $\n1pF)h^`}$H>Hk{L"x@)JS7<%Az}5RyS@k9X%29-lHB$Ti.V>2bi.~ehC0; <'$9xN5Ub# z!G,p`nR&p7Fz@^UXIn156S8.~^@MJ*mMsD7=QFeq%AL4m<nPbLgmtKK-5dC@#:k
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg="pgp-sha512"; protocol="application/pgp-signature"
Date: Tue, 16 Feb 2021 12:59:01 -0500
Message-ID: <7351.1613498341@localhost>
Archived-At: <https://mailarchive.ietf.org/arch/msg/cose/zF2q_n79WcZlIiZv9-ZBnFkPXtU>
Subject: Re: [COSE] draft-ietf-cose-rfc8152bis-algs and deterministic ECDSA recommendations
X-BeenThere: cose@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: CBOR Object Signing and Encryption <cose.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/cose>, <mailto:cose-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cose/>
List-Post: <mailto:cose@ietf.org>
List-Help: <mailto:cose-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/cose>, <mailto:cose-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 16 Feb 2021 17:59:07 -0000

John Mattsson <john.mattsson=40ericsson.com@dmarc.ietf.org> wrote:
    > I don't think this is a good recommendation for IoT devices. In the
    > last 5 years, i.e. after work on RFC 8152 started, there has been a
    > large amount of academic papers showing that purely deterministic ECC
    > algorithms in accesable IoT devices suffers from side-channel and fault
    > injection attacks. For a list of papers see e.g. Seciton 1 of
    > https://tools.ietf.org/html/draft-mattsson-cfrg-det-sigs-with-noise-02

    > I would suggest changing the SHOULD to MAY, but I know the draft is
    > already in RFC editors que...

I will read your ID and think about it.
In my experience, the use of randmized ECDSA has two negative effects:

1) it's really hard to judge quality of randomness when writing a library
   or module, and so even clueful application builders can miss this.

2) unit test cases wind up as non-deterministic, so either the randomized
   input is made deterministic, or the randomized version is just not tested.
   Since unit test cases often serve as documentation, which is copy&pasted,
   the result is that the randomized version is used with a constant input.

We've seen this with DSA vs RSA back 20 years ago.
I was really annoyed with ECDSA until the deterministic version came to
light, and I really don't want to go back.

    > "Deterministic elliptic-curve signatures such as deterministic ECDSA
    > and EdDSA have gained popularity over randomized ECDSA as their
    > security do not depend on a source of high-quality randomness.  Recent
    > research has however found that implementations of these signature
    > algorithms may be vulnerable to certain side-channel and fault
    > injection attacks due to their determinism. See e.g. Section 1 of
    > [draft-mattsson-cfrg-det-sigs-with-noise] for a list of attack papers."

    > Recommending deterministic ECDSA for IoT devices without any security
    > considerations would not be good.

    > FYI, CFRG has discussed and agreed that this is a problem.


--
Michael Richardson <mcr+IETF@sandelman.ca>   . o O ( IPv6 IøT consulting )
           Sandelman Software Works Inc, Ottawa and Worldwide