Re: [TLS] Adoption call for draft-davidben-tls13-pkcs1

Hubert Kario <hkario@redhat.com> Thu, 12 December 2019 11:51 UTC

Return-Path: <hkario@redhat.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0537B1208E1 for <tls@ietfa.amsl.com>; Thu, 12 Dec 2019 03:51:34 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.3
X-Spam-Level:
X-Spam-Status: No, score=-4.3 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=redhat.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 1IlcrOD6X9C9 for <tls@ietfa.amsl.com>; Thu, 12 Dec 2019 03:51:33 -0800 (PST)
Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CB6C11208DE for <tls@ietf.org>; Thu, 12 Dec 2019 03:51:32 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1576151491; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=PaTu7ZDGCrDdKHhmaOgfnLW8ehxBhcnkS0m3pHN7tiI=; b=LwTpjB87vtBZTbd7HyK4QgB1emTFMMqgQ0xfjQvn/I33gqrJcoNBsm1pe/6oYtw9JZlzqm fGKNHURL3UWrEvQk4xc9+bou3bUO7fU/KNLzDrMPv86DmjMw1YVeo31LKUl9BK8Ccb26Cx MA+VoF+Pi5FLPI9JyAr+A3ySOeKj7GA=
Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-19-cQdwjwEHMEKgm8020XHV5w-1; Thu, 12 Dec 2019 06:51:28 -0500
Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id B09C5DB20 for <tls@ietf.org>; Thu, 12 Dec 2019 11:51:27 +0000 (UTC)
Received: from localhost (ovpn-200-54.brq.redhat.com [10.40.200.54]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3EBE860BC9 for <tls@ietf.org>; Thu, 12 Dec 2019 11:51:27 +0000 (UTC)
From: Hubert Kario <hkario@redhat.com>
To: tls@ietf.org
Date: Thu, 12 Dec 2019 12:51:24 +0100
MIME-Version: 1.0
Message-ID: <054bd0ed-6afe-4500-9339-16f414aa8840@redhat.com>
In-Reply-To: <CAF8qwaAHXGWwAswv8XfhjhN3fi7XtVSngLJY8sekYgX+u=wXVA@mail.gmail.com>
References: <843cc437-4c6d-43ce-b634-527a287c4e27@www.fastmail.com> <c4bab542-f1fd-4c80-89b8-1b7a3ef883a7@www.fastmail.com> <CAMfhd9W_+1i=Q48GKAxT=TtHm+fKxUKUepqCtfJ7xQ6LgM4h_w@mail.gmail.com> <CAEMoRCshwo1vsb+bYbJLpOCMWGcJ15sz8COXeXbxmX-KDbY8Mw@mail.gmail.com> <20191207102017.GA1754124@LK-Perkele-VII> <8f54acb3-61df-4617-b2c6-53b8c9021575@redhat.com> <20191211142155.GA1879660@LK-Perkele-VII> <CAF8qwaAHXGWwAswv8XfhjhN3fi7XtVSngLJY8sekYgX+u=wXVA@mail.gmail.com>
Organization: Red Hat
User-Agent: Trojita/0.7; Qt/5.12.5; xcb; Linux; Fedora release 30 (Thirty)
X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11
X-MC-Unique: cQdwjwEHMEKgm8020XHV5w-1
X-Mimecast-Spam-Score: 0
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/fDT-5UBgHQWnUOdaK4l0O8s-Phc>
Subject: Re: [TLS] Adoption call for draft-davidben-tls13-pkcs1
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.29
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: Thu, 12 Dec 2019 11:51:35 -0000

On Wednesday, 11 December 2019 18:06:19 CET, David Benjamin wrote:
> On Wed, Dec 11, 2019 at 9:22 AM Ilari Liusvaara <ilariliusvaara@welho.com>
> wrote:
>
>> On Wed, Dec 11, 2019 at 02:21:48PM +0100, Hubert Kario wrote:
>>> On Saturday, 7 December 2019 11:20:17 CET, Ilari Liusvaara wrote:
>>>> 
>>>> One test I just tried:
>>>> 
>>>> - Smartcard capable of raw RSA.
>>>> - OpenSC PKCS#11 drivers.
>>>> - Firefox ESR 68
>>>> - Server supports TLS 1.3 (Accept RSA PKCS#1v1.5 client signatures is
>>>>   enabled[2]).
>>>> 
>>>> Result: Failed. Client hits internal error code
>>>> SEC_ERROR_LIBRARY_FAILURE
>>>> [3].
>>> 
>>> That doesn't match my understanding of how NSS works – AFAIK, NSS (and as
>>> such, Firefox), will try both raw RSA and rsa-pss signatures with the
>>> token,
>>> depending on what kind of algorithms the token advertises.
>>> 
>>> I think the issue was the old version of OpenSC, new versions can do
>>> rsa-pss
>>> with rsa-raw:
>>> https://bugzilla.redhat.com/show_bug.cgi?id=1595626
>>> https://github.com/OpenSC/OpenSC/pull/1435
>> 
>> Ok, upgrading the OpenSC to git master (0.20.0-rc34-2-gee78b0b8) makes
>> client certificates in TLS 1.3 in Firefox work with that card (works even
>> if accept RSA PKCS#1v1.5 client signatures is disabled on server side).
>> 
>> There is apparently no release with the fix. One needs 0.20-rcX or recent
>> git master.
>> 
>
> Chrome likewise tries to polyfill PSS support out of raw RSA when the
> underlying keys support it, but PSS support is still a problem. In
> particular, I believe TPM 1.2 can neither do RSA-PSS nor polyfill it with
> raw padding. (Oddly, the spec does reference OAEP, but signing is only
> PKCS#1 v1.5.) TPM 2.0 can do PSS, but hardware lifecycles are long. Between
> the negotiation ordering and the client certificate privacy flaw fixed in
> TLS 1.3, simply saying "no TLS 1.3 for those keys" is problematic. Thus,
> the draft. It's true that it adds some transitionary codepoints to TLS 1.3,
> but the point of TLS 1.3 was not switching to PSS. That's a minor bonus on
> top of *much* more important changes.
>
> Most properties negotiated by TLS can be unilaterally updated by the
> TLS-related components of a system. This is great because it means we can
> deploy TLS 1.3's improvements. The long-term credentials are one of the big
> exceptions here and, indeed, we didn't just make TLS 1.3 mandate Ed25519.
> We wanted to maintain continuity with existing RSA keys, but since it was
> possible to switch them to RSA-PSS we went ahead and did that. Sadly, it
> appears that last point can be more true for server keys than client keys.
> :-(

If TLS 1.2 was looking insecure, I would be with you on this one. But given
that TLS 1.2 can be configured to be as secure as TLS 1.3, I think 
introducing
weak points to TLS 1.3, weak points we will have to live with for the next
decade, if not two, is counter-productive and will only delay deployemnt of 
RSA-PSS capable HSMs. Not allowing PKCS#1 v1.5 in TLS 1.3 puts actual 
pressure
to replace that obsolete hardware, without exposing users to unnecessary 
risk.
-- 
Regards,
Hubert Kario
Senior Quality Engineer, QE BaseOS Security team
Web: www.cz.redhat.com
Red Hat Czech s.r.o., Purkyňova 115, 612 00  Brno, Czech Republic