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

Ryan Sleevi <ryan-ietf@sleevi.com> Mon, 20 January 2020 14:29 UTC

Return-Path: <ryan.sleevi@gmail.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 54FF8120147; Mon, 20 Jan 2020 06:29:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.4
X-Spam-Level:
X-Spam-Status: No, score=-1.4 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.25, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=no 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 8fFF2hjtfk2E; Mon, 20 Jan 2020 06:29:28 -0800 (PST)
Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BDE121200BA; Mon, 20 Jan 2020 06:29:27 -0800 (PST)
Received: by mail-ed1-f54.google.com with SMTP id v28so29611500edw.12; Mon, 20 Jan 2020 06:29:27 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=YT5xljKCX2hNimmC/cQZt2E8UQ7/keILxO5xzBebp9s=; b=UGv0NNmZTXzfM+4MX4bI134dAWe6rK7Rz++LFoRUmf75xkyZiCv7nsKnnPq+FHaXWU FOUsPeN9L7YTS7h/hq0dBOunWqJn+MfP5sQSon+nxXfKOX8MHVCHvhIdr2Y/3au1EcgI 9mzV+Ias6FUDr9as5jajZ+equcwKeTo+CFA4AECYJgEDDo9fmaEVVWs4xMU8rn+Pc5fp EUSryS2Mc9CEupGPBPT52Kn+f07Sr2Tse4ObNt7Q2MxyrwYx75r5OHMIU+mKcIP8N+Kb Z2cWucENwdVAwV7j7ZuYeJFUueQU6P9XEUn6qPqRMZeJndE47kF/WHo15jQAeTLC8LVB we5Q==
X-Gm-Message-State: APjAAAUGyqTaZNwIYSSvZXExXp8eCxdNxSofFZCt8CpspnZUZEInr7xf ZSW2K/3jvmi/zj26NbTipbmP7AyX
X-Google-Smtp-Source: APXvYqwcXcs9SEH6dXlg1qCojZAU1g3rt02Jm/1an8LkfpAfiSv8DNNpNikpKT22+kEXXz4+9T0Vrg==
X-Received: by 2002:a17:906:b7c4:: with SMTP id fy4mr20560092ejb.139.1579530566034; Mon, 20 Jan 2020 06:29:26 -0800 (PST)
Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com. [209.85.221.53]) by smtp.gmail.com with ESMTPSA id s11sm1113180ejx.90.2020.01.20.06.29.25 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 20 Jan 2020 06:29:25 -0800 (PST)
Received: by mail-wr1-f53.google.com with SMTP id z7so29737065wrl.13; Mon, 20 Jan 2020 06:29:25 -0800 (PST)
X-Received: by 2002:a5d:51cc:: with SMTP id n12mr18737416wrv.177.1579530564806; Mon, 20 Jan 2020 06:29:24 -0800 (PST)
MIME-Version: 1.0
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> <22430B86-2680-4E50-AF12-A200FD051E8D@deployingradius.com>
In-Reply-To: <22430B86-2680-4E50-AF12-A200FD051E8D@deployingradius.com>
From: Ryan Sleevi <ryan-ietf@sleevi.com>
Date: Mon, 20 Jan 2020 09:29:13 -0500
X-Gmail-Original-Message-ID: <CAErg=HGE-AwviP-VurLJ58vsmkK4uqVCfoqRK4TkEdbSRegN_g@mail.gmail.com>
Message-ID: <CAErg=HGE-AwviP-VurLJ58vsmkK4uqVCfoqRK4TkEdbSRegN_g@mail.gmail.com>
To: Alan DeKok <aland@deployingradius.com>
Cc: Ryan Sleevi <ryan-ietf@sleevi.com>, 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-Type: multipart/alternative; boundary="0000000000003a30e6059c931e55"
Archived-At: <https://mailarchive.ietf.org/arch/msg/emu/XlY1Wy1z4vKvqj2NojzmaPVmLgA>
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 14:29:33 -0000

On Mon, Jan 20, 2020 at 8:53 AM Alan DeKok <aland@deployingradius.com>
wrote:

>   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.
>

I tried to address this in my previous message, but it looks like that may
not have come across clearly. It might seem like there's a distinction
without a difference to say "must ship with the supplicant which ships with
the OS" and "must ship with the OS", but going back to Owen's original
message, there's a profound difference in the two. As this thread itself
demonstrates, there's ample confusion on "distributed with the OS" and what
trust purposes it's good for - policies, practices, operational procedures
- and continuing to insist "distributed with the OS" is to continue to
further that confusion.

As I hoped my previous message conveyed, but it looks like it may not have
been clear for you, I'm not dismissive that for supplicants distributed by
the OS vendor, you (eventually) need to convince that OS vendor to
distribute roots with their supplicants, and from the end-user perspective,
a default install of that OS "just works". However, it's a very meaningful
distinction in the context of root stores, even if it may not be for
supplicant authors, to highlight the need to distribute roots _with the
supplicant_, not the OS. This is not a corporate distinction, but it is
meaningful to how solutions are engineered and the problem space, and
that's why it does a great disservice to dismiss that distinction.


>   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."


This is again shifting the discussion. If you don't believe it is, then
certainly, how you're communicating is not coming across clearly.

As I've mentioned several times, anyone can issue certificates, which is
all that matters for manual configuration. There's no need for anyone
special or blessed - it's just manual configuration.

If you'd like to go to automatic configuration, then you need to define
policies and practices for issuance and verification. Anyone who can comply
with those can become a CA. The usefulness of "Billy Bob's Tackle Shop &
CA" is dictated by those who need a CA - the supplicants - and how well
Billy Bob complies with the policies and practices. You're absolutely
correct that if you don't define those, then _no one_ can become a CA.
There's no reason to believe that Billy Bob is more or less qualified than
an extant CA unless and until you define those. And, of course, once you
define those, the usefuless of Billy Bob - how likely his
CA-slash-tackle-shop is to be included - is dictated by those defining the
root store. That's where the SDOs come in to place.


> >   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.
>

Then why are we wasting electrons discussing how to do it? If you believe
it's a doomed effort from the start, why bother replying?

The nice thing about the transition plan I've outlined several times is you
don't need the OS vendors to all adopt apriori for it to be useful. Other
supplicant vendors can go ahead, define their policies and practices,
select their CAs, and build their root store. If it provides something
useful - i.e. users do find it easier and the security tradeoffs are
appropriately mitigated, such as by taking the many concerns I've expressed
on this thread into consideration - then vendors may eventually come
around. As I mentioned several times, there's a risk/benefit calculus at
play, and advocates of the idea of a common trust store need to make a
compelling case as to how to mitigate those risks.

  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.


I'm afraid you've considerably misunderstood the proposal then, as I've
tried to express several times. I'm well aware the end goal is that on a
'stock' install of your OS of choice, everything just works. I've outlined
several times a plan to get to that - and which does not involve shipping
roots in the OS, but roots in the supplicant that comes with the OS. The
distinction is quite meaningful for the reasons outlined throughout this
thread, even if the end user experience is "it just works"