Re: [Emu] Using public CA infrastructure for autonomic bootstrapping over EAP.

Alan DeKok <aland@deployingradius.com> Fri, 17 January 2020 22:33 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 AA5EC12008D; Fri, 17 Jan 2020 14:33:16 -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 CNkvxwcaDT4B; Fri, 17 Jan 2020 14:33:14 -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 522E7120026; Fri, 17 Jan 2020 14:33:14 -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 ED6843B7; Fri, 17 Jan 2020 22:33:11 +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: <26119.1579299579@localhost>
Date: Fri, 17 Jan 2020 17:33:10 -0500
Cc: "spasm@ietf.org" <spasm@ietf.org>, EMU WG <emu@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <FC97D900-2F65-452D-A73A-529C5D86CB3F@deployingradius.com>
References: <26119.1579299579@localhost>
To: Michael Richardson <mcr+ietf@sandelman.ca>
X-Mailer: Apple Mail (2.3608.40.2.2.4)
Archived-At: <https://mailarchive.ietf.org/arch/msg/emu/zMX8HxuKM-nvvGXPiD0Z42rIi70>
Subject: Re: [Emu] Using public CA infrastructure for autonomic bootstrapping over EAP.
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 22:33:17 -0000

On Jan 17, 2020, at 5:19 PM, Michael Richardson <mcr+ietf@sandelman.ca> wrote:
> }  c) supplicants do not check DNS names or any other field in the certificates
> }  d) as a result of this lack of verification, supplicants ship with all known
> }     CAs disabled for TLS-based EAP methods"

  For (d), CAs are disabled also because of protocols like EAP-TTLS with embedded PAP.  If the supplicant trusted a root CA, then it would trust any certificate signed by that CA, and expose the users clear-text password to anyone.

  Supplicants now check:

* for a named SSID
* the CA is manually enabled for that SSID
* the server certificate is known (pre-configured or downloaded and cached)

  All of those conditions have to be met before EAP is performed.

> [c] is a problem that we partly want to fix.

  Yes.

> Let's go back to the start with goals and requirements.
> 
> 0) there is nothing broken with manual provisioning of private CAs to be used
>   in Enterprise-WPA (EAP-TLS, etc.) uses of EAP/802.1X.  This can continue
>   as is.  The server certificate needs to have id-kp-serverAuth OID set in
>   order to be trustable by comododity clients as deployed today.
>   There is very little use of additional OIDs, even those some have been defined.
>   Clients do not insist upon them, and *as a result*, it is technically
>   possible to use certificates issued by public CAs here.

  Yes.

  I've omitted BSRKI comments.  I have less to contribute there

> So, it seems that we ought to:
>  a) suggest that EAP-TLS (and EAP-TEAP) clients should include the DN
>     (rfc822Name) of the certificate that they should be talking to.

  I'm not clear on "include".

>  b) we should perhaps have an OID extension in the CA certificate (trust
>     anchor) that says if the CA will use the id-kp-eapOverLAN bit or not.
>     (or other extensions)
>     If so, then the client should insist that the resulting extension be present.
>     Maybe there is another way to do this that would be easier, but this
>     makes sense to me.

  There may be other ways.  Taken to the extreme, each use-case for TLS should have its own OID.

  I don't know that there's a good solution here.

  On a related note, Stefan Winter had a proposal for a standard configuration for EAP:

https://tools.ietf.org/html/draft-winter-opsawg-eap-metadata-02

That would seem to solve all of the provisioning problem.  There are still verification problems.

  I suspect we need to clearly separate the two situations, i.e.:

1) a supplicant magically has the information it needs to authenticate.  What does that information look like?  What's in the certs?

2) a supplicant is unconfigured, how is it possible to get the supplicant to state (1) above?  Is the information available in state (1) helpful for provisioning?

  Alan DeKok.