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

Alan DeKok <aland@deployingradius.com> Sat, 18 January 2020 14:43 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 BBD8E12002E; Sat, 18 Jan 2020 06:43:15 -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 TwZgR48ZS2fx; Sat, 18 Jan 2020 06:43:13 -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 F009C120013; Sat, 18 Jan 2020 06:43:12 -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 B4AF4692; Sat, 18 Jan 2020 14:43:09 +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=HH8LjqMR37Ek1uK12uCDj4N89Ot=Fm_PLOBdeXsv3sdpw@mail.gmail.com>
Date: Sat, 18 Jan 2020 09:43:08 -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: <7F591857-4B7B-41BD-B101-6C40BE527644@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>
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/8z80Ax3M4Uf59PO3muI_aX2E9vc>
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: Sat, 18 Jan 2020 14:43:16 -0000

On Jan 18, 2020, at 8:55 AM, Ryan Sleevi <ryan-ietf@sleevi.com> wrote:
> On Sat, Jan 18, 2020 at 8:05 AM Alan DeKok <aland@deployingradius.com> wrote:
>   As noted by Michael, CAs are using certificates in a way that violates their own policy. 
> 
> Um, no. I largely didn’t respond to Michael’s email because it missed the mark rather substantially,

  In what way?

  It seems pretty black and white to me.  Your claim is that non-WWW use of these certs violates the policies of a particular CA.  Michael showed that the same CA was using certs for non-WWW purposes.

  You can't have it both ways.  Either your claims are true, and the CA should revoke the cert it's using for SMTP.  Or, your claims are false, and the CA's policy is *not* to revoke certs when used for non-WWW purposes.

  This is really the major disconnect here.  You're making fairly serious claims, and have little or no evidence to back them up.  You just can't say that Michael's email "missed the mark rather substantially", and expect everyone to believe that naked assertion.

  To put it another way, there are multiple people who read your statements as meaning one thing, but when pressed, you claim that you meant something else entirely.

> and I suspect folks still haven’t actually read the CP/CPSes or done the work.

  Those policies can best be described as "opaque".  There is no clear statement that "using certs with id-kp-serverAuth in non-WWW protocols is grounds for revocation".

> No. The root store operators make the rules. Standards that align with their needs are the standards they use and apply.

  Then this is an issue of warring standards bodies.  Each one thinks that they're in charge.  Their requirements conflict.  So *someone* has to win.

  The IETF has defined id-kp-serverAuth as "TLS WWW", *and* suggested it's use in non-WWW protocols.  This is a conflict that the IETF has to fix.

  Separately, people have discovered that using WWW certificates in non-WWW protocols is cheap, easy, and solves a need.  The failure here is both that CAs make it difficult to get non-WWW certificates, and implementors make it difficult to use different root stores.

> When a vendor, be it Apple or Microsoft or Mozilla or Google, says a CA in their root store needs to do something, they need to do it. If you don’t like that, which the email clearly demonstrates, there isn’t a heckler’s veto via the IETF: you instead need to create your own root store to do the things you want or like. Attempting to change those policies via the IETF, without understanding why they exist, just leads to IETF standards being ignored because they are not useful nor aligned with the needs of consumers.

  If everyone finds it useful to violate CA policies, then we need to find a way to fix that.  I suggest that fixing CA policies is likely simpler than fixing millions (or billions) of implementations.

> You’re seemingly fixated on the detail of the EKU, without acknowledging that the EKU is merely a technical example of the broader point of how requirements and policies work and flow, and how certificate consumers, even when used over the same transport substrate (TLS), have substantially different operational considerations. Those operational considerations impact the design of the PKI and thus the selection of the roots, and why multiple root stores, with their own policies and expectations, is the natural end-point.

  I'm fixated on the EKU because it is a concrete example to pin an argument on.  We can have a vague discussion about generic policies, but that would be unproductive.

> The important thing, that I keep trying to emphasize, is that separate policies are best technically accounted for at different roots. Yes, the dream of PKI was one root per organization and a grand and global mesh network of policy, and so we have all this technical complexity in specs like RFC 5280 to accomplish that. But the technology does not work, in the real world, and in fact makes it more difficult and risky, rather than less. So just use separate PKIs, built to common profiles when applicable/relevant, and move on. What happens in other PKIs shouldn’t affect you or be relevant, much like ISO standardizing how food processing equipment should be inspected is not really relevant here.

  Where can I get a certificate with id-kp-eapOverLAN?  Or where can I get a cert designed for use with STMP, XMPP, etc.?

  If the answer is "nowhere", then that's a problem.  The CAs have neglected their responsibilities to the customers.  And in the failure of the CAs to do things properly, customers use what works:  use id-kp-serverAuth.

  If the CAs don't like that, they have only themselves to blame.

  Alan DeKok.