Re: [TLS] Better TLS Client Authentication

"Blumenthal, Uri - 0553 - MITLL" <uri@ll.mit.edu> Thu, 26 May 2022 12:38 UTC

Return-Path: <prvs=3145fabca4=uri@ll.mit.edu>
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 3543BC183FBD for <tls@ietfa.amsl.com>; Thu, 26 May 2022 05:38:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.796
X-Spam-Level:
X-Spam-Status: No, score=-1.796 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, MIME_QP_LONG_LINE=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id iCTTUyCTkUhr for <tls@ietfa.amsl.com>; Thu, 26 May 2022 05:38:18 -0700 (PDT)
Received: from MX3.LL.MIT.EDU (mx3.ll.mit.edu [129.55.12.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E41FEC183FBB for <tls@ietf.org>; Thu, 26 May 2022 05:38:17 -0700 (PDT)
Received: from LLEX2019-3.mitll.ad.local (llex2019-3.llan.ll.mit.edu [172.25.4.125]) by MX3.LL.MIT.EDU (8.16.1.2/8.16.1.2) with ESMTPS id 24QCcErJ441194 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Thu, 26 May 2022 08:38:14 -0400
ARC-Seal: i=1; a=rsa-sha256; s=arcselector5401; d=microsoft.com; cv=none; b=ZLyi+Dzk8CWRLOdDkwFL9LWWho9rlVvZRDtbBlodneA3T99NUgs+XnXv/oqMQmvFPiDcNEJe4JnN2Y8pKh2rn6eNNEVy5FUneCOLsabQN7X1/tRNRasHkOI8L01efI9bEh4A/RtwLHLblAz8hvjEbkMU4tmff+n8DX2VAqyqrq+0jCMQhLHGluRzd3E6Pv1CzyBoE7LJEhslh2gXnHrrmGSrFR1LNHNKAR2wDgqy+/O/JGiT1Kq19NVIC7ADNvEUYHRjkr5kfCl8ys9bgpFGGowuYvhkDylBWSyx6R4dMJOd9VvQlBTZDwaP+mFB7Qvg5f7ni0FgLrmrlOaKcPyC6w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector5401; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=PY9/lsTj1q2vKTol/L7hTT0R2/0+aysYt4L8ikCe5Hs=; b=RavXWlR0c+/vZp0IVEnl7iNMmpRHI0bIdFiXTa+9WXJuULYPYwW0iq6T/Tug8TEOwaQgLx6c+w/nyQYXW5liEN47QKnEQm/iF4ED5sL8gnbQyc2eC1/qZl4qSXnxr0mFZ0rYBBk/iCIa/KnkSdsJyExFlI/fI4riUtMGEvyZkffHzmk1xgLC7Qo2Z5pZzR7eTCp8KUePibWrz09g8V3qHn/nZ500ebT+DIHOsHFCNWk5rhl7JqbVU3JW+5WGrSRldlIuotX46VfaMVbG8ybDp2c9fuD862nIFrqzXv2NdV7XJrYVkB3x3J7f8wRnjeB7cC5jc+teSKTNIaP1Lr4DCw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ll.mit.edu; dmarc=pass action=none header.from=ll.mit.edu; dkim=pass header.d=ll.mit.edu; arc=none
From: "Blumenthal, Uri - 0553 - MITLL" <uri@ll.mit.edu>
To: Phillip Hallam-Baker <phill@hallambaker.com>, Tim Cappalli <Tim.Cappalli@microsoft.com>
CC: "tls@ietf.org" <tls@ietf.org>
Thread-Topic: [TLS] Better TLS Client Authentication
Thread-Index: AQHYbiLs2vZLwJZpzEuoxSiB++3Ydq0tfSGAgALefYCAAH/4AA==
Date: Thu, 26 May 2022 12:38:11 +0000
Message-ID: <FA9EB75A-6B95-46E2-936A-0D6CD34772FD@ll.mit.edu>
References: <CAMm+LwiWnpZ7R3X_FvZijwK=WEcSnTZNEEkX19GdKvkmXwt0NA@mail.gmail.com> <MN2PR00MB0478B4440612CD370100E39A95D79@MN2PR00MB0478.namprd00.prod.outlook.com> <CAMm+LwjAbn2P3aHC4bsD0cZfGNru8WXiVYKYY_rm9WLy3k13gg@mail.gmail.com>
In-Reply-To: <CAMm+LwjAbn2P3aHC4bsD0cZfGNru8WXiVYKYY_rm9WLy3k13gg@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.61.22050700
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: e0270ec0-f29e-4b8f-7e49-08da3f14985b
x-ms-traffictypediagnostic: BN0P110MB1643:EE_
x-microsoft-antispam-prvs: <BN0P110MB1643E9B85EEA432E550C548C90D99@BN0P110MB1643.NAMP110.PROD.OUTLOOK.COM>
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: ybD+dVo6cRb/o3rgiorEZKTH2Ngp2GZUY/H9j1t+ULSlr7FG4Rc5d+4uPJmizLt0WYjIAKHF/wFwyGoj66dQROiJLbwEX9fpjjy8S6qS3SgLSurjkDXTy7R4x30dqIuYpF01baZMF2/h5H1y5vd5l+ApkjvjNVCHIuturro+UClCANxjTp9PBBsJRL2SCuBA/0FNkYm/ctVufWQ8UY683/pUWGY7wT1hOpsf4fCrbe9HEJeX4+Wz/r9skDS1Te7IuZ1mgFm3BNHuU8HPGwjcpj5t2DFSWC64GFjcgkVVWFwHYveGOpal3gNHj5A4WMhlX2gGnF0VC1Zqum5nWt7u4hlWKyOHXBLk4lIJBKj0ntkKcs2yrPzaAwHEpU5XUW9x5twNni9pi00yiGm9f1IViSd1af+rVsVAxYla/wM/I7wyAeEYrr3dY2NsrLy1DrZjx3uEkaMWXpnRyD0XYkK0bihi7Wvc9oYjUWJoyg5fB5sUR01wOXugRc++WCFlcJXCMoOjyOmIQw5JfdgUAlxBslL+AFMc/2JTlWHRsecfzNVmQdL3Xcm8I/1PxyBxULNw3xzD461j5CFux5H3FnpBZJQ+E4hgJYa7WJ60T/d4ZO4VJcdUbOw8VQZ7+dtIVJ3eFf7w/pAONeumkAENonH4qcshVyprD8s6LsfzMFvTBbJhKJb69xd93hwryrle3CQogSqkp3tsPHtSUzDwc1xMBeJPKuwtXqFoYj1vUnQ210gG0uo+FLIDukwdKkDIYFaliZ/mx26+bZ8IJUGAJBH6nw==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN0P110MB1419.NAMP110.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230001)(366004)(45080400002)(86362001)(6486002)(33656002)(26005)(2616005)(71200400001)(966005)(75432002)(508600001)(6506007)(83380400001)(186003)(66574015)(53546011)(6512007)(2906002)(99936003)(122000001)(76116006)(66946007)(166002)(38070700005)(38100700002)(110136005)(8676002)(4326008)(66556008)(66476007)(5660300002)(316002)(64756008)(66446008)(8936002)(41600400003)(45980500001); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: EUgTd5r57O+1xMvhgxQiHAJSAFurR8Gbfm0jYtqHdsBXMC3p0DzpFqv1MRTNAyk0cEWWdSwkF6gB1i+DIWx91d9h7KjqV3etP2ZHQNfpGRXKyQrNRP6e9pAGYdiS0X5de/4VpWP1dlqeEpIsEZ/kmerTF7isVvzT38rg0jsq3eQd4qNEzF778yIg8kXiUDPBtBsCVAVG8ede5jUFfyABPIJcPxW+9vUewHRy3btfx4NbP1ET3ea7kVM1FCT4osht4zbba3O/lbT3UybJsGkjJaLCacxW5RLPXhNHhtRbcSRHnvZc29ARqew1gA5lWuJv1wa3b//th9//iE/5eSdXwmscGoINLaT3GoCks822W5BkmoyYbfnLGIFp5tQE3N9A9yNMjPZEIkhx352vxisDWNQiUoPi4cBVdOEwl5bI7Co=
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha256"; boundary="B_3736399091_2727991234"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN0P110MB1419.NAMP110.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: e0270ec0-f29e-4b8f-7e49-08da3f14985b
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 May 2022 12:38:11.4219 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 83d1efe3-698e-4819-911b-0a8fbe79d01c
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0P110MB1643
X-Proofpoint-ORIG-GUID: iH7OQ44XKt3Ofm_srU1ofwTH8pzmWB9N
X-Proofpoint-GUID: iH7OQ44XKt3Ofm_srU1ofwTH8pzmWB9N
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.486, 18.0.874 definitions=2022-05-26_05:2022-05-25, 2022-05-26 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 spamscore=0 mlxscore=0 malwarescore=0 mlxlogscore=999 adultscore=0 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2204290000 definitions=main-2205260061
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/UgxTzFQbgwjDQswAU1oEcXPOnKQ>
Subject: Re: [TLS] Better TLS Client Authentication
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.34
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, 26 May 2022 12:38:19 -0000

This is not about what was there earlier, nor what has been in wider use so far (in which case, password clearly wins ;). 

 

Rather – what is the best (from security and usability point of view) mechanism now. I say – FIDO (or U2F, whatever) is the closest contender, if not the outright winner.

 

Thanks

-- 

V/R,

Uri

 

 

From: TLS <tls-bounces@ietf.org> on behalf of Phillip Hallam-Baker <phill@hallambaker.com>
Date: Wednesday, May 25, 2022 at 21:01
To: Tim Cappalli <Tim.Cappalli@microsoft.com>
Cc: "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] Better TLS Client Authentication

 

If we are looking at installed footprint, then TLS Client Auth wins. Don't accuse me of re-inventing the wheel because TLS Client Auth predates FIDO by decades.

 

It is a completely different application though. FIDO was designed to enable use of physical authenticator tokens. As far as I can see, soft tokens are an afterthought, they don't have a strategy for provisioning multiple devices with a private key bound to the same account.

 

My starting point here was that I was looking at how to make use of the Mesh to support FIDO auth without the need for a physical token. That is the route I expected to take. It was only when I looked into it that I suddenly realized that I don't need any of that, I can do everything I need with legacy browsers and legacy servers. The only thing that changes is a client enrollment app on the client side and an authorization module in the server.

 

No protocol changes, just a certificate profile.

 

At this point FIDO has far less deployed base than TLS Client Auth, I am happy to support FIDO as well but why wouldn't we want both?

I really don't think I am the person suffering from Not Invented Here.

 

 

I can provide the same key mobility capabilities in WebAuthn so that users can register for a Web site with their phone browser and then log in from their laptop without requiring an additional registration while maintaining the End-to-End security of the private keys. But that would require some significant extensions to FIDO and be more of a FIDO3.

 

The security properties of WebAuthn and TLS Client Auth are very different.TLS Client Auth is not limited to Web for a start. We could use it to secure IMAP, POP3 and SUBMIT client auth.

 

 

 

On Tue, May 24, 2022 at 1:11 AM Tim Cappalli <Tim.Cappalli@microsoft.com> wrote:

You mentioned FIDO, but I didn't see a reason why you don't want to use it. The industry has largely accepted the mature FIDO standards stack (WebAuthn & CTAP) as the strong authentication method that replaces passwords in a privacy preserving and phishing resistant manner.

 

Why create something new, especially using technologies that are not very user friendly?

 

tim

 

From: TLS <tls-bounces@ietf.org> on behalf of Phillip Hallam-Baker <phill@hallambaker.com>
Date: Sunday, May 22, 2022 at 23:28
To: tls@ietf.org <tls@ietf.org>
Subject: [TLS] Better TLS Client Authentication

I am looking for people interested in discussing the following proposal to create a profile of TLS Client Authentication certificates to enable transparent Web Site authentication in Philadelphia:

 

I have a three step plan for eliminating Password Authentication

 

1) Deploy an open standards based, E2E secure password vault

2) Transition Web sites to use of public key authentication

3) Deploy a 2FA type scheme to address 'ceremony' use cases

 

I don't want to get into detail here, but I believe the trick to eliminating passwords is to deploy a password management solution in phase 1 that creates a sufficiently large base of users whose devices are provisioned with the necessary private keys to make use of public key auth practical.

 

So, I had assumed that this was all about enabling FIDO. But when I look at what I want to achieve and what legacy deployments provide, I suddenly realized I can do everything I need using TLS client auth. The only question is what the BEST way to do it is going to be.

 

 

So I have running code that can provision key pairs and credentials to every device Alice owns:

 

https://www.youtube.com/watch?v=zrBv717w8yY

 

It would not take a great deal of extra effort to provision certificates into the Windows/MAC/etc keystores so that IE, Edge, Firefox, Chrome, Safari, etc. etc. can all make use of the certificates. Its just a question of writing a script.

 

 

I am pretty sure I can get 'something' to work. But I would appreciate some help from folk who are closer to the real-world implementations. 

 

Reading through the specs, I think we can make it so that after an (optional) one time registration, Alice can just use the Web site without the need to ever log in ever again.

 

The only reason Alice would ever need to repeat registration is if the Web Site had some policy requiring Alice to affirm that yes, this really is her device and she agrees to terms. That is what I call 'ceremony' and it is not an authentication issue. I have another way of addressing that issue.

 

 

As far as I can tell, all that I really need is to write a certificate profile for BTCA certificates.

 

The thing that I am dropping here is the notion that certificates are bound to anything other than a key. So all this is telling the site is that this is the same person who came to the site before. It is not providing the user credential PKIX is really all about.

 

I do have some questions though. In particular whether using X.448/Ed448 certs is practical.

 

The big downside to my current approach is that the certs that are used are going to be super-linking identifiers. But we are currently losing that fight.