Re: [TLS] Simplifying signature algorithm negotiation

Ilari Liusvaara <ilariliusvaara@welho.com> Mon, 29 February 2016 18:42 UTC

Return-Path: <ilariliusvaara@welho.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2C4771B39C7 for <tls@ietfa.amsl.com>; Mon, 29 Feb 2016 10:42:47 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.906
X-Spam-Level:
X-Spam-Status: No, score=-1.906 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.006] 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 ABHggRqlvhYS for <tls@ietfa.amsl.com>; Mon, 29 Feb 2016 10:42:44 -0800 (PST)
Received: from welho-filter4.welho.com (welho-filter4.welho.com [83.102.41.26]) by ietfa.amsl.com (Postfix) with ESMTP id B12541B39CA for <tls@ietf.org>; Mon, 29 Feb 2016 10:42:40 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by welho-filter4.welho.com (Postfix) with ESMTP id 290935F96; Mon, 29 Feb 2016 20:42:39 +0200 (EET)
X-Virus-Scanned: Debian amavisd-new at pp.htv.fi
Received: from welho-smtp3.welho.com ([IPv6:::ffff:83.102.41.86]) by localhost (welho-filter4.welho.com [::ffff:83.102.41.26]) (amavisd-new, port 10024) with ESMTP id 9ssBT8Q94fZg; Mon, 29 Feb 2016 20:42:37 +0200 (EET)
Received: from LK-Perkele-V2 (87-100-151-39.bb.dnainternet.fi [87.100.151.39]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by welho-smtp3.welho.com (Postfix) with ESMTPSA id E0E772310; Mon, 29 Feb 2016 20:42:37 +0200 (EET)
Date: Mon, 29 Feb 2016 20:42:32 +0200
From: Ilari Liusvaara <ilariliusvaara@welho.com>
To: David Benjamin <davidben@chromium.org>
Message-ID: <20160229184232.GA3057@LK-Perkele-V2.elisa-laajakaista.fi>
References: <CAF8qwaCpYqs7ELDcRzXveLLjpL+d-CmBczkxPweh6_RVE1aDeA@mail.gmail.com> <201601152007.12464.davemgarrett@gmail.com> <CAF8qwaBPsLz-vuOvXGZgxzMpaKHwtZixu7NXzfFN4V_R6WT8Tg@mail.gmail.com> <CABcZeBNipj4oLU=FrTp3+CqTg5bh5vBnd04DoNt56=8BRjqobw@mail.gmail.com> <CAF8qwaDUbLmvzibuC7aedOR5TP6Fv3rNz6ft_v3bKu=FHatYgg@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
In-Reply-To: <CAF8qwaDUbLmvzibuC7aedOR5TP6Fv3rNz6ft_v3bKu=FHatYgg@mail.gmail.com>
User-Agent: Mutt/1.5.24 (2015-08-30)
Sender: ilariliusvaara@welho.com
Archived-At: <http://mailarchive.ietf.org/arch/msg/tls/24U50KFOYbaDYHPlEIWKG4hFhDQ>
Cc: ekr <notifications@github.com>, "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] Simplifying signature algorithm negotiation
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.15
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: Mon, 29 Feb 2016 18:42:47 -0000

On Mon, Feb 29, 2016 at 05:16:44PM +0000, David Benjamin wrote:
> On Fri, Jan 15, 2016 at 8:23 PM Eric Rescorla <ekr@rtfm.com> wrote:
> >
> > I'm not sure. I agree that the CFRG thing seems to be a new development.
> > I'll
> > try to confirm my previous opinion or develop a new one over the weekend :)
> >
> 
> ekr, did you have confirmed or new thoughts on this change?
> 
> >From elsewhere in the thread, I put together a draft PR if you wanted
> something to look at in that form.
> https://github.com/tlswg/tls13-spec/pull/404
> It incorporated some of the suggestions in the thread (not mentioning the
> really legacy values, pairing NIST curves with hashes, etc.), but that's
> not the important part. The meat of the proposal is unifying signature
> algorithms under one number and a shared interface, which I think is a
> valuable simplification.

I think that changing the algorithm negotiation would make it both
simpler and more reliable.

Current TLS signature negotiation is not able to express real-world
constraints (matching of curve and hash[1]).


Also, I think the ranging should be as follows:
- 01xx:   Avoid (would be insecure)
- 02xx:   Avoid (would be insecure)
- 03xx:   Avoid (who uses this hash?)
- 04xx:   Schemes that sign SHA-256 hash
- 05xx:   Schemes that sign SHA-384 hash
- 06xx:   Schemes that sign SHA-512 hash
- xx00:   Avoid ("Anonymous" looks like a mistake)
- xx01:   Avoid (RSA-PKCS1-v1.5 is obsolete)
- xx02:   Avoid (DSA is obsolete)
- xx03:   ECDSA with new hashes
- Others: Other schemes

Which would allocate the new things as follows (from what I understand
RSA-PSS works):

- 0404: RSA-PSS/SHA256
- 0504: RSA-PSS/SHA384
- 0604: RSA-PSS/SHA512
- 0004: Ed25519
- 0005: Ed448 

Valid for TLS 1.2 and up.


[1] This isn't about algorithm strength matching, it is about
interop.


-Ilari