Re: [Emu] [lamps] EAP/EMU recommendations for client cert validation logic

Alan DeKok <aland@deployingradius.com> Mon, 20 January 2020 13:54 UTC

Return-Path: <aland@deployingradius.com>
X-Original-To: emu@ietfa.amsl.com
Delivered-To: emu@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D0E7B120129; Mon, 20 Jan 2020 05:54:01 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham 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 etofAydCmriP; Mon, 20 Jan 2020 05:53:56 -0800 (PST)
Received: from mail.networkradius.com (mail.networkradius.com [62.210.147.122]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3AE0512013A; Mon, 20 Jan 2020 05:53:55 -0800 (PST)
Received: from [192.168.46.130] (24-52-251-6.cable.teksavvy.com [24.52.251.6]) by mail.networkradius.com (Postfix) with ESMTPSA id 901057D8; Mon, 20 Jan 2020 13:53:52 +0000 (UTC)
Authentication-Results: NetworkRADIUS; dmarc=none header.from=deployingradius.com
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 13.0 \(3608.40.2.2.4\))
From: Alan DeKok <aland@deployingradius.com>
In-Reply-To: <CAErg=HF2L-XSQExoKz71QcZMqJdA-gn3KxnZwT1qypzBA9Hi3Q@mail.gmail.com>
Date: Mon, 20 Jan 2020 08:53:50 -0500
Cc: Benjamin Kaduk <kaduk@mit.edu>, EMU WG <emu@ietf.org>, Joseph Salowey <joe@salowey.net>, Michael Richardson <mcr+ietf@sandelman.ca>, "Owen Friel (ofriel)" <ofriel@cisco.com>, "spasm@ietf.org" <spasm@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <22430B86-2680-4E50-AF12-A200FD051E8D@deployingradius.com>
References: <B2989B0E-8B6B-4B7A-B871-AF520310B3FC@deployingradius.com> <CAErg=HG06ZpiRUYogiVwoJPsZDsjzAVvO0B4=K=PE7aAHe44rA@mail.gmail.com> <6CEB4C89-B749-4A65-A25A-A12830ED8A62@deployingradius.com> <CAErg=HFPCYKgUEXHaOC0sQECYaVmt0TZXe-uDrKzFiNSAcdckg@mail.gmail.com> <00453E78-D991-4B4D-A138-5788FACC47C2@deployingradius.com> <CAErg=HFYQpfqTE9==TzGo795ZiuNBGVMqWuXS6GJ2DV0nGxPzA@mail.gmail.com> <316CC74D-667B-4A1E-AD48-A702DF705423@deployingradius.com> <6191.1578513600@localhost> <CB67C090-4D6A-4586-AD7C-99A29EF5D92D@deployingradius.com> <CAOgPGoDADPY125Bf7mbPCpEVkwVF=YmbG9wAN0S-WyCWg27BCw@mail.gmail.com> <20200116040715.GC80030@kduck.mit.edu> <CAErg=HHwLOw9sL2=nGca5MuuyiV2Zghrp6prR7SqLJAvfCLmjA@mail.gmail.com> <B3A03277-C176-4E63-ADB3-70133E2ABA46@deployingradius.com> <MN2PR11MB3901D1B17802F2DACCC8966CDB300@MN2PR11MB3901.namprd11.prod.outlook.com> <CAErg=HE0XDbhuibtky5VhvZYUnQxDitLSEuf4uzXnuByNQN+4Q@mail.gmail.com> <55CE7F32-B5DE-44F5-AE06-72BE12FA05FF@deployingradius.com> <CAErg=HH8LjqMR37Ek1uK12uCDj4N89Ot=Fm_PLOBdeXsv3sdpw@mail.gmail.com> <7F591857-4B7B-41BD-B101-6C40BE527644@deployingradius.com> <CAErg=HF9SQCmP9hi8SP-EstyYL-qVLWMeitP2AHc3T6ZWZM4vQ@mail.gmail.com> <9AADAAD6-0A66-4198-AFBF-DBC2D87DBFA0@deployingradius.com> <CAErg=HE8WO1oU=ZUxMeJZpxVyM_6ypCn-3_9UqKkMv44c7Do=Q@mail.gmail.com> <07C710A5-3B2A-4D15-8BB7-AB5A8B5EF5D1@deployingradius.com> <CAErg=HGf=3z+_S2f+_ciSunpi4W05aKxoxx=ozH9kXtooAJL9w@mail.gmail.com> <7C85D468-1D28-4C3A-BC3E-C42374933B51@deployingradius.com> <CAErg=HFM4=V1YjD2Z7Rd5cNsDv6v9oTwKcbaTwhDdrQvOwtS9w@mail.gmail.com> <5ED33CB8-4C56-4117-A001-C2EB056CA80B@deployingradius.com> <CAErg=HF2L-XSQExoKz71QcZMqJdA-gn3KxnZwT1qypzBA9Hi3Q@mail.gmail.com>
To: Ryan Sleevi <ryan-ietf@sleevi.com>
X-Mailer: Apple Mail (2.3608.40.2.2.4)
Archived-At: <https://mailarchive.ietf.org/arch/msg/emu/vY4b1Y4op4TAGr27jShxaAkiqVk>
Subject: Re: [Emu] [lamps] EAP/EMU recommendations for client cert validation logic
X-BeenThere: emu@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "EAP Methods Update \(EMU\)" <emu.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/emu>, <mailto:emu-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/emu/>
List-Post: <mailto:emu@ietf.org>
List-Help: <mailto:emu-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/emu>, <mailto:emu-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 20 Jan 2020 13:54:02 -0000

On Jan 19, 2020, at 12:12 PM, Ryan Sleevi <ryan-ietf@sleevi.com> wrote:
> 
> >  What matters is that the product the user ends up with has the CAs preconfigured for EAP.  The internal corporate structure is (to me) irrelevant.
> 
> Don’t conflate technical requirements with corporate structure. You’re insisting on a precise technical requirement, and I’m explaining to you why you’re using the term wrong, and in a way that meaningfully detracts and profoundly conflates things. There’s a tremendous amount of difference in cost and engineering between the two approaches, and so it’s important to be clear the requirement - which is the less expensive one.

  I fully understand that applications can easily ship root CAs.  We can therefore agree that the root CAs MUST be distributed with the software.

  But, precisely *zero* end users download their supplicant software.  The supplicant software comes with the OS.  Which means that the root CAs must be distributed with the OS. 

  While, there are commercial supplicant products, these products are overwhelmingly used by the enterprise, on computers owned by the enterprise, and managed by the enterprise systems.  They have zero impact on the average user.

  So whatever "product" the end-user buys already has the supplicant software pre-installed.  Which means distributed with the OS.  There isn't even an option I've seen in iOS or Android to replace the supplicant software.  It's possible to download a supplicant *configuration* for one SSID, but that isn't standardized (see XML format below).   And when you're downloading the supplicant configuration, it's just a manual configuration with fewer steps.  There's no *automatic* way to trust an EAP / RADIUS server and get on the net.

  This is really the main point of disagreement.  Your position is that it's easy, and it's just not.

  The same goes for root CAs.  While it's superficially true that someone can start "Billy Bobs Tackle Shop & CA", no one has any reason to *use* that CA.  Saying "you can start a CA" and by implication have people *use* it, is no more realistic than me saying "you write software, Bill Gates wrote software, there's nothing preventing you from being as rich as he is."

  It's theoretically true, but false in practice.

  In practice, an SDO like the Wifi Alliance, 3G / 4G  / 5G groups can demand their members put root CAs into devices.  That can even demand that the CAs follow certain policies.

  I have no such power.  So it's unhelpful to say "just start your own CA!"

>   There have been attempts to simplify supplicant configuration with a standard XML format.  The vendors expressed zero interest.  And that's a *lot* easier to do than adding a new root store.
> 
> I’m not sure how this is relevant?

  It demonstrates that vendors have shown little interest in making WiFi easier to use for their end users.  This decision is likely to have an impact on these efforts.

> It seems we’re in agreement that the status quo is manual configuration, it seems we’re in agreement that there’s no technical or procedural reason to use the set of publicly trusted CAs for TLS (it doesn’t get you automatic recognition, it does increase your risk surface), and it seems we’re in agreement that defining a unified store is a lot of work with an unclear value proposition that justifies that work.
> Going back to the original mail, there’s nothing to be gained from trying to repurpose extant stores, and best practice remains manual configuration. If folks want more than that, they need to define what they want and how it’s validated, and figure out what CAs do that. All of this was part of that first reply, so are we just in agreement?

  We are in agreement on most of that.  We are in disagreement that people can just use other CAs.

  Let's use a concrete example.  Right now, when I add a new IMAP server to my phone / laptop, the process is largely this:

* choose IMAP configuration
* add host name of IMAP server
* maybe get a certificate pop-up if the CA being used isn't already trusted, OR a pop-up saying it's trusted
* add user name
* add password

  Lo and behold, it works.  Note that I did *not* download any software.  The only things I need are (a) already on my computer, and (b) in my brain.

  The workflow I want to see for WiFi is this:

* select an SSID
* maybe get a certificate pop-up if the CA being used isn't already trusted, OR a pop-up saying it's trusted
* add user name
* add password

  With your proposed work flow, this is just impossible.  It's really just manual configuration with fewer steps.  It still requires extra software / configuration / whatever to be downloaded.  And that's the situation I'm trying to avoid.

  Alan DeKok.