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

Ryan Sleevi <ryan-ietf@sleevi.com> Sun, 19 January 2020 17:12 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 4C954120033; Sun, 19 Jan 2020 09:12:42 -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, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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 Euw-lNYkSdoS; Sun, 19 Jan 2020 09:12:40 -0800 (PST)
Received: from mail-ed1-f49.google.com (mail-ed1-f49.google.com [209.85.208.49]) (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 E4F9A12001A; Sun, 19 Jan 2020 09:12:39 -0800 (PST)
Received: by mail-ed1-f49.google.com with SMTP id f8so27255391edv.2; Sun, 19 Jan 2020 09:12:39 -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=leFMXR0DxLeOiZ7kK47F7Wplv0pmIGr5Gc/Chl+DeiI=; b=q96F+XofwbqSKQWXX2N9ybp7liGhUU9uWtQ+4Ta7U4S9t2c9HDKOpV43x5Ov/Mw6qi GbUEC43Qb0QFXdO3nTQ/v5DYzyj3TsJzbwDUCLhnv8p4rE+uhsF22fkulZmL52eUEFnO E9yT6RcxVVIZOqGWpzN/9gskuiFe6H2moyo32KXev9CgABShCxiQoz+lNU4dAkr4mnuz Xi7Dg1NP79yUHpBT3tFOfToEKG71vYWenZ1qXXRKxXQDMedGZ2TEsbDi0xAUASaijjRa 9icDjnybct2bJi4jLt9NQqSFEipHkI78zQkJUnCV4GvWzUICzqiZ/UQSi7akKDB4HClU JMSw==
X-Gm-Message-State: APjAAAX5rFUVUKMkFUNtPqBHaMo+zr/LeOuuQ7uMMQvn9KSr3oB6zEp6 dJwFRPMmdst0SVSrf848/SH9a2dw
X-Google-Smtp-Source: APXvYqwPTYEoX1+k5QaFMnwdNtUzmBV9b2FLKFlrTxaPVtdYBj4UbDe2Vjjdp/hATqDdvNKmS/DGXg==
X-Received: by 2002:aa7:c611:: with SMTP id h17mr13654263edq.155.1579453958111; Sun, 19 Jan 2020 09:12:38 -0800 (PST)
Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com. [209.85.128.45]) by smtp.gmail.com with ESMTPSA id r24sm1269587edp.15.2020.01.19.09.12.37 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 19 Jan 2020 09:12:37 -0800 (PST)
Received: by mail-wm1-f45.google.com with SMTP id u2so12349052wmc.3; Sun, 19 Jan 2020 09:12:37 -0800 (PST)
X-Received: by 2002:a05:600c:246:: with SMTP id 6mr15050305wmj.122.1579453957101; Sun, 19 Jan 2020 09:12:37 -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>
In-Reply-To: <5ED33CB8-4C56-4117-A001-C2EB056CA80B@deployingradius.com>
From: Ryan Sleevi <ryan-ietf@sleevi.com>
Date: Sun, 19 Jan 2020 12:12:25 -0500
X-Gmail-Original-Message-ID: <CAErg=HF2L-XSQExoKz71QcZMqJdA-gn3KxnZwT1qypzBA9Hi3Q@mail.gmail.com>
Message-ID: <CAErg=HF2L-XSQExoKz71QcZMqJdA-gn3KxnZwT1qypzBA9Hi3Q@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="0000000000000d5f4b059c81487b"
Archived-At: <https://mailarchive.ietf.org/arch/msg/emu/Ls4EXwH_xFzIqu55ivCv6G1Pmog>
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: Sun, 19 Jan 2020 17:12:42 -0000

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

> > Supplicant vendors - whether they are open-source or operating system -
> are taking on the work to manage and police that root store.
>
>   They "are" doing this?  I don't see that.


This was trying to describe the world in which the second problem was
solved. They “would be”, which is why the message later clarified how to
justify the risk/value proposition.

> They are not at all different. In both cases, the client has a principal
> it wants to validate: in RFC 6125, this is the reference name. This is the
> name in your credential in the case of EAP, the name of the host in the URL
> in WWW. The client wants to make sure it’s talking to the entity authorized
> for that name.
> >
> > You can manually preconfigured exactly that entity. In EAP, this is
> incredibly easy to do when you’re provisioning the client credential to
> also provision the peer identity. This is the existing flow.
>
>   I agree that they're similar, I'm not sure that they're identical.


This is why advocates need to define the profile and policies :) Figuring
our what information is needed is essential to figuring out the
similarities and differences.

> This may seem like splitting hairs, but it’s a _profound_ distinction if
> you’ve ever managed PKIs on operating systems, as this is not true.
> Shipping a CA list in the supplicant shipped in the OS != shipping a CA
> list in the OS. They are very different models of managing and configuring
> that should not be conflated. Android has plenty of OS components that ship
> their own root stores, separate from the root store it provides as part of
> its public API contract. We only need the former, not the latter.
>
>   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.

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