Re: [Emu] EAP-TLS 1.3 Section 2.2 text

Alan DeKok <aland@deployingradius.com> Tue, 25 May 2021 12:20 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 6CB473A1166 for <emu@ietfa.amsl.com>; Tue, 25 May 2021 05:20:10 -0700 (PDT)
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 eHo2ozsJcdUU for <emu@ietfa.amsl.com>; Tue, 25 May 2021 05:20:05 -0700 (PDT)
Received: from mail.networkradius.com (mail.networkradius.com [62.210.147.122]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 896153A1143 for <emu@ietf.org>; Tue, 25 May 2021 05:20:05 -0700 (PDT)
Received: from [192.168.46.129] (24-52-251-6.cable.teksavvy.com [24.52.251.6]) by mail.networkradius.com (Postfix) with ESMTPSA id 7C4402C2; Tue, 25 May 2021 12:20:02 +0000 (UTC)
Authentication-Results: NetworkRADIUS; dmarc=none (p=none dis=none) header.from=deployingradius.com
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.6\))
From: Alan DeKok <aland@deployingradius.com>
In-Reply-To: <CAOgPGoCVodHuiQAF1Uz6NqNXy_5kjLccrj9=1VYS8yrmoEwytA@mail.gmail.com>
Date: Tue, 25 May 2021 08:20:01 -0400
Cc: Oleg Pekar <oleg.pekar.2017@gmail.com>, Russ Housley <housley@vigilsec.com>, EMU WG <emu@ietf.org>, stpeter@mozilla.com
Content-Transfer-Encoding: quoted-printable
Message-Id: <780F676F-1222-44B0-B961-CFCB8C281006@deployingradius.com>
References: <CAOgPGoBDcbDxGB3_Qy_xXymhnxrfMaOPNP545eMh8XLvU6OX+A@mail.gmail.com> <92D9824F-82C2-440F-807F-7B4799DCF1B6@deployingradius.com> <CAOgPGoAd3CcaqPYd0aYXBDtCmv32T8hpGH+6ysEn7Pi9M+FSiw@mail.gmail.com> <4698EFD4-83B5-4B77-93E8-0E12FE8BC2DD@vigilsec.com> <CABXxEz-Jzfd4_8=bx8DquchkQVj8Hf07m0U8tYWO9-rFtBjqBw@mail.gmail.com> <CABXxEz9th6-JOgHKqEC5W7XQoi3NKUN3_8F3O_14k6nAdwmgRQ@mail.gmail.com> <F6B720FD-CF54-4953-A598-C6713CC10042@deployingradius.com> <CAOgPGoD4hGS4FBaVV4oopEy+0YOeLzUuYD=hGcTrHXcqSQo9AA@mail.gmail.com> <CAOgPGoCVodHuiQAF1Uz6NqNXy_5kjLccrj9=1VYS8yrmoEwytA@mail.gmail.com>
To: Joseph Salowey <joe@salowey.net>
X-Mailer: Apple Mail (2.3608.120.23.2.6)
Archived-At: <https://mailarchive.ietf.org/arch/msg/emu/-TMQA0RvRssRiUFi7EZ43D_AHtA>
Subject: Re: [Emu] EAP-TLS 1.3 Section 2.2 text
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: Tue, 25 May 2021 12:20:17 -0000

  I think that's good.

> On May 25, 2021, at 12:45 AM, Joseph Salowey <joe@salowey.net> wrote:
> 
> I made some changes to the pull request to address some of the comments and make the text clearer:
> 
> The EAP peer identity provided in the EAP-Response/Identity is not
>    authenticated by EAP-TLS.  Unauthenticated information MUST NOT be
>    used for accounting purposes or to give authorization.  The
>    authenticator and the EAP-TLS server MAY examine the identity
>    presented in EAP-Response/Identity for purposes such as routing and
>    EAP method selection.  EAP-TLS servers MAY reject conversations if
>    the identity does not match their policy.  Note that this also
>    applies to resumption, see Sections 2.1.3, 5.6, and 5.7.
> 
>    The EAP server identity in the TLS server certificate is typically a
>    fully qualified domain name (FQDN) in the SubjectAltName (SAN)
>    extension.  Since EAP-TLS deployments may use more than one EAP
>    server, each with a different certificate, EAP peer implementations
>    SHOULD allow for the configuration of a unique trusted root (CA
>    certificate) to authenticate the server certificate and one or more
>    server names to match against the SubjectAltName (SAN) extension in
>    the server certificate.  To simplify name matching, an EAP-TLS
>    deployment can assign a name to represent an authorized EAP server
>    and EAP Server certificates can include this name in the list of SANs
>    for each certificate that represents an EAP-TLS server.  If server
>    name matching is not used, then peers may end up trusting servers for
>    EAP authentication that are not intended to be EAP servers for the
>    network.  If name matching is not used with a public root CA, then
>    effectively any server can obtain a certificate which will be trusted
>    for EAP authentication by the Peer.
> 
>    The process of configuring a root CA certificate and a server name is
>    non-trivial and therefore automated methods of provisioning are
>    RECOMMENDED.  For example, the eduroam federation [RFC7593] provides
>    a Configuration Assistant Tool (CAT) to automate the configuration
>    process.  In the absence of a trusted root CA certificate (user
>    configured or system-wide), EAP peers MAY implement a trust on first
>    use (TOFU) mechanism where the peer trusts and stores the server
>    certificate during the first connection attempt.  The EAP peer
>    ensures that the server presents the same stored certificate on
>    subsequent interactions.  Use of a TOFU mechanism does not allow for
>    the server certificate to change without out-of-band validation of
>    the certificate and is therefore not suitable for many deployments
>    including ones where multiple EAP servers are deployed for high
>    availability.
> 
> 
> On Thu, May 20, 2021 at 10:23 PM Joseph Salowey <joe@salowey.net> wrote:
> 
> 
> On Wed, May 19, 2021 at 5:58 AM Alan DeKok <aland@deployingradius.com> wrote:
> On May 19, 2021, at 8:37 AM, Oleg Pekar <oleg.pekar.2017@gmail.com> wrote:
> > After thinking a bit more about it - for the sake of the client implementation clarity, would it be better if we provide the strict algorithm for server identity check or maybe reference RFC 6125.
> 
>   Given the time frame and what we know, I think the existing text is OK.
> 
> 
> [Joe] In addition the intent of the text is to make implementers aware of the issues and provide some guidance as to how to solve the problem.  I don't think we can dictate too much more at this point.   We can have follow-on work to have a strict algorithm is depolyers and implementers feel it is necessary.  
>  
>   This is what wpa_supplicant does in it's implementation, and it seems to work fine.  Apple appears to do the same thing:
> 
> https://opensource.apple.com/source/eap8021x/eap8021x-264.30.3/EAP8021X.fproj/EAPTLSUtil.c.auto.html
> 
>   Look for "trusted_server_names", which leads to:
> 
> https://opensource.apple.com/source/eap8021x/eap8021x-156/EAP8021X.fproj/EAPTLSUtil.c
> 
> server_name_matches_server_names()
> 
>   Which checks if the name from the cert is an exact match for one of the "trusted_server_names", or contains "*." followed by a suffix which is one of the trusted server names.
> 
>   I think it's past the time where this document can ask supplicants to change their behavior.  We know what the supplicants do, it's not wrong, and it seems to work.  So let's document that, and move on.
> 
>   Alan DeKok.
>