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

Ryan Sleevi <ryan-ietf@sleevi.com> Mon, 20 January 2020 16:52 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 88247120914; Mon, 20 Jan 2020 08:52:08 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.399
X-Spam-Level:
X-Spam-Status: No, score=-1.399 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, LOTS_OF_MONEY=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 1mwNlfRVCEyG; Mon, 20 Jan 2020 08:52:03 -0800 (PST)
Received: from mail-ed1-f48.google.com (mail-ed1-f48.google.com [209.85.208.48]) (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 06D9B120915; Mon, 20 Jan 2020 08:51:58 -0800 (PST)
Received: by mail-ed1-f48.google.com with SMTP id v28so108104edw.12; Mon, 20 Jan 2020 08:51:57 -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=ObbakONNpKBu3/0Kxoh6riOH5osQffPn2UYOUaw12aY=; b=VhJKyTk0fMYk4wshF/m7wZ1d7FdZXP+F23nc+6IlzP9rFHsLfoRU1JrtF3TQ1mIZuU 5xo3ZXRXY9cnHxJCva03EKKOflVE20wwM+kGRR3hGfTBtbesovREP6VX5q2XHWJt/LUO 0cgN1k5iMd2Nw+EPJ6OVwFOsK/AF41ovDxsB0RfSyYbKoo7U92/U5nQm6i12BUK7iHd8 cwLau0xo0SPJyPsKC7Y1rG/vPibiTqEIzyFi3Ten6enslOOwA2DSqRr1fiuihVLzXYoc WhzQeErERdpbHwcaH11rxeiJUvm29V24XjybAnFdfnaH8ATEJ6lL0MChTAoKofVnhTb5 dpUg==
X-Gm-Message-State: APjAAAVWx/wxyA+JNOxQ00/GrvoKKikCM/WTM/5pkTtkou2M5WjA93qp ZGItPjh0hGV42hSaantAKqvfphjl
X-Google-Smtp-Source: APXvYqyC4fSCWkUxrNEXnyTNMMNSGC1n5UrteE4BGAMUv64Jzkmn7QevVpJwoBaJ3810SLtGtfBp2Q==
X-Received: by 2002:a17:906:4816:: with SMTP id w22mr326880ejq.196.1579539116284; Mon, 20 Jan 2020 08:51:56 -0800 (PST)
Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com. [209.85.128.53]) by smtp.gmail.com with ESMTPSA id cb20sm1430999edb.1.2020.01.20.08.51.55 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 20 Jan 2020 08:51:55 -0800 (PST)
Received: by mail-wm1-f53.google.com with SMTP id a5so46089wmb.0; Mon, 20 Jan 2020 08:51:55 -0800 (PST)
X-Received: by 2002:a1c:ddd7:: with SMTP id u206mr230430wmg.159.1579539115479; Mon, 20 Jan 2020 08:51:55 -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> <CAErg=HGE-AwviP-VurLJ58vsmkK4uqVCfoqRK4TkEdbSRegN_g@mail.gmail.com> <4B648503-5B4D-4512-8692-94820388B894@deployingradius.com>
In-Reply-To: <4B648503-5B4D-4512-8692-94820388B894@deployingradius.com>
From: Ryan Sleevi <ryan-ietf@sleevi.com>
Date: Mon, 20 Jan 2020 11:51:44 -0500
X-Gmail-Original-Message-ID: <CAErg=HFkQQpxprFNRKzn9Jhh=Em8UTLjBe7Em08fppyxROO=kg@mail.gmail.com>
Message-ID: <CAErg=HFkQQpxprFNRKzn9Jhh=Em8UTLjBe7Em08fppyxROO=kg@mail.gmail.com>
To: Alan DeKok <aland@deployingradius.com>
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>, Ryan Sleevi <ryan-ietf@sleevi.com>, "spasm@ietf.org" <spasm@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000e3190b059c951b60"
Archived-At: <https://mailarchive.ietf.org/arch/msg/emu/dxQXi9AqFEACsZlH_Votgf44R1k>
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 16:52:16 -0000

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

>   The distinction doesn't even matter in the content of root stores.  The
> vendor downloads N root CAs, and places them into files / DBs in the
> product.  Whether those files from from A and go to B, or come from C and
> go to D is *entirely* irrelevant to the end product.  Whether it's
> Department A that downloads the roots CAs or Department B is also
> irrelevant.


This is not at all how root stores work or have worked for ages, and I
suspect this lack of familiarity may be the cause of the significant
confusion demonstrated here.

There isn’t “a” root store on any modern OS. Even if you factor Linux with
the LSB, there are multiple root stores. Multiple independent root stores
are maintained for separate purposes, with their own policies and profiles,
administered not only by different parts of the organization, but also
against different standards and with different industry bodies.

This basic understanding of how modern PKI works is essential to
understanding how to make productive contributions in this space, because
it shapes how the profiles are developed, how the policies are
administered, and how one makes progress convincing the right stakeholders
of the vision.

  Whether we have to convince "the OS vendor", or just "the supplicant
> division in the OS vendor" is largely the same thing.


It isn’t, and there’s been zero evidence to support that conclusion, but I
can tell reality isn’t that convincing :)

  But again, this doesn't *help*.  I can't get my CA shipped with vendor
> products, and nothing you've said convinces me that it's possible.


You can’t get your non-existent CA that issues against undefined profiles
and undefined practices included, and you’re lamenting that? I mean,
there’s no place I can go buy a unicorn burger, but I’m not exactly sending
letters to McDonald’s complaining about this.

The path to getting it shipped with vendor products involves, as I’ve said
repeatedly: define the profile and define the policies. That makes it even
possible for Billy Bob to issue in the first place, and to assess how well
Billy Bob does issue, and that’s the path forward. Lamenting that you can’t
get a unicorn burger today doesn’t move the discussion further.

  And not a single person will download and use the new supplicant
> software.  Making it 100% useless.


This sort of fatalism is doomed to be unproductive. Fixating on the OS
vendor as an excuse to not do the work just means won’t get done.

Is Cisco a supplicant vendor? Is Jouni Malinen a supplicant vendor? You
have paths forward.

   When I do RADIUS stuff, I say "the vendor has to do X".  It's never been
> useful to say "Bob in engineering department X has to do it".  The
> distinction you're making is 100% irrelevant.


You’re confusing “everyone at the vendor needs to move their car” with “Bob
needs to move his car”. You’re doomed to failure if you keep insisting
everyone at the company needs to move their car, when all you need is Bob
to move and not block your car in.

The distinction you keep insisting on is like asking “You must invest $10
million”, when all you need is $10. Yes, if you had $10 million, you would
have your $10. Continually saying “but I really need the money” rather than
“I just need $10” leads to impasses.

This is not about which department is involved. The distinction is about
the scope of trust. Saying shipped in the OS, both in the context of this
thread and more generally, is presuming a broad scope and maintained
interfaces for third-parties, neither of which you need. Not recognizing
that a “root store” on a modern OS is merely an abstraction over disparate
trust bits is meaningful, particularly when not addressing what the “trust
bits” should be or how they’re maintained.

A good example of this is HotSpot 2.0. It works, it’s not part of the root
stores on Windows or Android, yet it uses its own roots and policies and
practices and works out of the box. To any developer on those platforms,
it’s not part of the OS, yet to the user, it just works.

The IETF primarily targets those developers, not the end-user, and it’s
essential to understand why and how it works to understand what work is
needed to make something similar for EAP. Dismissing that as organizational
structure just means dismissing the requirements and means to success, in
which case, you’re going to be as unsatisfied as my appetite for a fresh
unicorn burger.

>