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

Alan DeKok <aland@deployingradius.com> Fri, 17 January 2020 19:39 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 878C91200CD; Fri, 17 Jan 2020 11:39:24 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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 KDsyOGHEWvws; Fri, 17 Jan 2020 11:39:23 -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 D43D11200A4; Fri, 17 Jan 2020 11:39:22 -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 0FB2EC9C; Fri, 17 Jan 2020 19:39:19 +0000 (UTC)
Authentication-Results: NetworkRADIUS; dmarc=none header.from=deployingradius.com
Content-Type: text/plain; charset="us-ascii"
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=HHwLOw9sL2=nGca5MuuyiV2Zghrp6prR7SqLJAvfCLmjA@mail.gmail.com>
Date: Fri, 17 Jan 2020 14:39:17 -0500
Cc: Benjamin Kaduk <kaduk@mit.edu>, Joseph Salowey <joe@salowey.net>, "spasm@ietf.org" <spasm@ietf.org>, Michael Richardson <mcr+ietf@sandelman.ca>, EMU WG <emu@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <B3A03277-C176-4E63-ADB3-70133E2ABA46@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>
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/FckryeNiEBsFoqVTYN9aY77-0QI>
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: Fri, 17 Jan 2020 19:39:24 -0000

On Jan 17, 2020, at 12:33 PM, Ryan Sleevi <ryan-ietf@sleevi.com> wrote:
>  Does your RADIUS endpoint support and use OCSP stapling and disable WiFi if the certificate is expired? No? Then it's a potential violation of this CP/CPS.

   I'm not sure how a RADIUS server will disable WiFi.  They are entirely separate systems.

> And in Section 16:
>   Customer will only use a TLS/SSL Certificate on the servers accessible at the domain names listed in the issued Certificate 
> 
> Remind me how an EAP-TLS/RADIUS server is accessible at that domain name?

  The RADIUS server has a domain name, which is commonly used in the certificate.

  If that is insufficient for the CAs purposes, then we should also acknowledge that the revocation requirement likely also applies to SMTP, XMPP, DNS over TLS, and IMAP.  i.e. *all* non-WWW protocols which use TLS.

 We should not single-out EAP / RADIUS as mis-using the certificates in this manner.  The mis-use of these certificates in other protocols is orders of magnitude larger than the EAP / RADIUS problem.

> There's two parts of discussion from the thread:
> 1) What do extant clients do, today, in the verification of certificates used in EAP-TLS

  EAP supplicants follow RFC 5216 Section 5.3.

> 2) What should future clients do, 'tomorrow', to make this easier to use and secure, ideally by default.
> Much of the answer was around #2, which is "Don't try to glom on to something existing, you need to build your own thing",

  True.

> as well as "Some of the answers in #1 are problematic and you should try and discourage them"

  There were *allegations* of problems.

> To connect it back to the discussion: The discussion about revocation, and what a CA's CP/CPS says is or isn't allowed for a usage, matters, because browsers require CAs promptly revoke those certificates in 24 hours/5 days for situations when they specify bad requirements. Can problematic CAs fix their CP/CPS to allow this? Yes. But you've still got a host of other expectations/requirements that can and will diverge, over time.

  If I was mean, I would write scripts to troll the net for mis-use of certificates in SMTP, XMPP, IMAP, VPNs, etc.  Then, make the script auto-submit notices to the relevant CAs.  That process is simple to do, and by the above rules, would require the CAs to revoke the relevant certs.

  i.e. certs which affect a high percentage of daily internet traffic.

  If that scenario were to play out, I suspect that CAs would very quickly stop revoking the relevant certs.  A straight-forward approach to enforcing the rules would be over-ruled by simple practicalities:  Turning off big chunks of the Internet is a non-starter.

  As Michael Richardson pointed out, then solution here is likely to fix the rules, not the protocols.

> In the specific context of thinking about "#2" - what a touch-free future looks like - having it use the same root store as Web browsers is the anti-pattern, because the requirements are different.

  And therefore we need a different root store for *each* of EAP, RADIUS, SMTP, XMPP, IMAP, DNS over TLS, VPNs, etc.  Note that we need *different* stores for EAP and RADIUS, because RADIUS server are reachable on port 2083 as RADIUS over TLS, *and* they implement TLS over EAP, which in turn carried over RADIUS.  Different use-cases, different root stores.

  There may be significant push-back against that many root stores.

> There's no doubt the status quo is "Everything is manually configured" and "It's inconsistent what is validated". The goal is to get to #2, "It just works"
> 
> - Define your requirements (the certificate profile)
> - Define your policies (what do you expect CAs to verify, and how do they verify)
> - Provide a way to distinguish "new certificates" from "The old and manual cruft" - for example, an explicit EKU
> - Pick your poison.... er, CAs... for the new root store (e.g. as WiFi Alliance has done, or Wireless Power Consortium has done, or plenty of vendors have done)
> - Have CAs issue certificates with both EKUs (old and new) in the leaf. It's a SEQUENCE for a reason.
> - Have supplicants configured that
>    - If new EKU is present, look in built-in store
>    - If old EKU is present, require manual configuration
> 
> This gets you half-way to #2: things can just work if you pick one of the new-CAs with new-EKUs, and otherwise require manual configuration for old-EKUs

  That's good, but insufficient.  There is a lot more verification that EAP supplicants need to do before automatically trusting a root CA.

  I suspect that most CAs already know that their customers mis-use certs for non-WWW purposes.  EAP / RADIUS is just a minor (almost insignificant) part of this problem.  I also suspect most CAs operate based on the hope that no one notices, and then requires them to revoke many, many, certificates.

  Alan DeKok.