Re: [Emu] Working Group Last Call for draft-ietf-emu-tls-eap-types

Mohit Sethi <mohit@iki.fi> Mon, 04 July 2022 20:04 UTC

Return-Path: <mohit@iki.fi>
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 07B3BC15791D for <emu@ietfa.amsl.com>; Mon, 4 Jul 2022 13:04:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.982
X-Spam-Level:
X-Spam-Status: No, score=-3.982 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-1.876, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=iki.fi
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hEBrN4WsvBaJ for <emu@ietfa.amsl.com>; Mon, 4 Jul 2022 13:04:12 -0700 (PDT)
Received: from meesny.iki.fi (meesny.iki.fi [IPv6:2001:67c:2b0:1c1::201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5CA76C14F74F for <emu@ietf.org>; Mon, 4 Jul 2022 13:04:11 -0700 (PDT)
Received: from [IPV6:2001:999:404:c9ae:c5ff:805f:c76c:3d10] (unknown [IPv6:2001:999:404:c9ae:c5ff:805f:c76c:3d10]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: mohit) by meesny.iki.fi (Postfix) with ESMTPSA id 3B7892006F; Mon, 4 Jul 2022 23:04:05 +0300 (EEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=meesny; t=1656965045; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=+/o/hZu/1Q0yv/KgEO4Qn2vAEXM3zOVn68e2lNCtee4=; b=H7YJXKznPIY75lzyIKk9cwZ17UKcTqHdsfsDeiznEVX5cFF3t/2geiZA0T578dgWoxKPDc 2MEqFDyGxSSR5WsLbvuytXsS7fqBAXOO9KMB9dIJm8Ya+QWXdHC9kOSpQm2ovku590uoe8 34QEPvNV/jB9LC+uL0gC7k4seb/wqEE=
Message-ID: <40158afe-3843-3c22-10c8-b3b4012e969b@iki.fi>
Date: Mon, 04 Jul 2022 23:04:04 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1
Content-Language: en-US
To: Alan DeKok <aland@deployingradius.com>
Cc: Joseph Salowey <joe@salowey.net>, EMU WG <emu@ietf.org>
References: <5585_1654705009_62A0CB71_5585_2706_1_CAOgPGoCmE-dQ_frOp=vV0Oc=u_=k+QZ3W9JOo_NOwFijiQppqg@mail.gmail.com> <751ee6f5-f06a-9709-4122-2f11304b97f6@iki.fi> <23836_1656962904_62C33F56_23836_2555_1_30AA13C2-D030-4D2D-B17C-654DFBEFACD2@deployingradius.com>
From: Mohit Sethi <mohit@iki.fi>
In-Reply-To: <23836_1656962904_62C33F56_23836_2555_1_30AA13C2-D030-4D2D-B17C-654DFBEFACD2@deployingradius.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 7bit
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=meesny; t=1656965045; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=+/o/hZu/1Q0yv/KgEO4Qn2vAEXM3zOVn68e2lNCtee4=; b=io7WbgHLKkwqCGNrJKWZPy76GkmFPlCSQn+9yoeQrmBiFPL+dsT0FLgfIZqeVrSjz6TWZM lQ/pJ2p999bJtliGVFqbIFYuWWBYY169rCHJnTglekxCtkefygdH9Xhq4cLep9wG1Ys7Hs vg9iIdWzsVT5IS2j1S7EPJh2t7ayrHo=
ARC-Authentication-Results: i=1; ORIGINATING; auth=pass smtp.auth=mohit smtp.mailfrom=mohit@iki.fi
ARC-Seal: i=1; s=meesny; d=iki.fi; t=1656965045; a=rsa-sha256; cv=none; b=mBv/AyXTU6RLvxre/yYtaYiZl/mU7WD5OJi1oAong/OApD0p06MpAdzZwLYRl9JdwvO/nl /gmDRE8GIm5FNNwPpTMO2B09BNawSb96hM/oPylBNpzQ90AyIwnVj3wVQYJvgViRBaE1xB UN65vIngo/lV8ELhzLV83GRdv5fUXiQ=
Archived-At: <https://mailarchive.ietf.org/arch/msg/emu/a1xTWUxx-m8gW2bdXOE0TN7kxFs>
Subject: Re: [Emu] Working Group Last Call for draft-ietf-emu-tls-eap-types
X-BeenThere: emu@ietf.org
X-Mailman-Version: 2.1.39
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: Mon, 04 Jul 2022 20:04:17 -0000

Hi:


On 7/4/22 22:28, Alan DeKok wrote:
> On Jul 4, 2022, at 2:56 PM, Mohit Sethi <mohit@iki.fi> wrote:
>> Some late last call comments:
>>
>> 1. For PEAP and TTLS, it is no longer possible to use client certificates without phase 2 authentication. Does the same restriction apply to TEAP. I think it would make sense to add an explanation on why this was done?
>    I think it should be done for TEAP, too.  The text could mirror TEAP:
>
> The practice of using client certificates with no "inner tunnel" method is forbidden when TEAP
> is used with TLS 1.3.  If there is a requirement to use client
> certificates with no inner tunnel methods, then EAP-TLS should be used
> instead of TEAP.
>
>> How about using server certificate in phase 1 and client certificate in phase 2 (with no further inner methods)? TEAP supports such behavior for TLS 1.2 to hide client identity?
>    My inclination is to forbid that for TLS 1.3.  However, TEAP can do multiple inner method authentication (host + user), unlike TTLS and PEAP.  Which means that it is possible to do TEAP with inner EAP-TLS, and then also inner "other method".
>
>    Perhaps the document could just say it's NOT RECOMMENDED to do TEAP with only inner EAP-TLS.
>
>> Would it not be better to simply mandate at least one NewSessionTicket message?
>    I can see situations where resumption isn't used.
You don't have to use resumption. You just need to send NewSessionTicket 
as a protected success indication. I thought the reason for for 
forbidding use of client certificates without phase 2 authentication was 
lack of protected success indication. Perhaps there is some other 
reason? This is why I wrote in my original comment: "I think it would 
make sense to add an explanation on why this was done? ".
>
>> I can think of a TTLS deployment where some peers only authenticate with client certificates while other peers authenticate with client certificates and one-time passwords in phases 2. Depending on the type of authentication, peers are put in different VLANs.
>    I'm not sure how that affects NewSessionTicket?
>
>    One-time passwords in phase 2 are a significant issue with EAP methods.   Where people have tried to deploy them, there are many issues.  They just don't work in practice for a host of reasons.
One-time password was only an example. Perhaps a wrong one. I just 
wanted to highlight that we were forbidding TTLS/PEAP and now TEAP 
deployments from using client certificates without phase 2 
authentication. But there can be deployments where some peers use client 
certificates without phase 2 authentication while other peers use client 
certificates with additional phase 2 authentication (password, etc.).
>
>    The simplest one is that the supplicant caches the inner identity, and re-uses it when the WiFi signal is lost / re-gained.  While a NewSessionTicket will help here, it won't always help.  There are situations where the end user will be prompted again (sometimes repeatedly!) in a short period of time.
>
>    I would suggest that one-time passwords in phase 2 are NOT RECOMMENDED, unless the passwords can be automatically entered without human intervention.
>
>> 2. I don't think this makes sense:
>>
>>
>>> Implementations SHOULD NOT use inner identities which contain an NAI
>>>     realm.
>>>
>>
>>>   if the inner identity does contain an NAI realm, the inner
>>>     realm SHOULD be either an exact copy of the outer realm, or be a
>>>     subdomain of the outer realm.
>>>
>> Eliot would agree that there are all kinds of IoT uses cases where the outer NAI has a realm of the device manufacturer while the inner NAI has a realm of the enterprise where the device is installed (or vice-versa).
>    I think that's best described as "surprising" from an EAP standpoint.  The outer NAI is overwhelmingly used to determine routing, as with Eduroam.  Having different outer / inner NAIs means that the routing is broken:
>
> * packets get sent to "example.com"
> * the example.com server sees authentication requests for "example.net", and says "that's not me, why did you send these packets to me?"
>
>    For the IoT case, we would never route the authentication packets to the device manufacturer.  So it's not clear to me why the outer NAI has to contain that value.
>
>
>    If this is a necessary use-case, I would suggest requiring that these authentications MUST be handled locally, with no routing.
>
>    This issue is why I was proposing to define the outer NAI realm of "@eap.arpa".  Those packets are clearly labelled as "site local", and are not forwarded.
>
>> I also don't understand why this is bad:
>>
>>
>>> For example, if a user
>>>     has an inner identity of
>>> "user@example.com"
>>> , then it generally makes
>>>     no sense to have an outer identity of "@example.org".
>>>
>> Most university guidelines for eduroam recommend exactly what you are trying to prevent. For example: https://www.aalto.fi/en/services/installation-instructions-for-eduroam says:
>    I haven't seen this recommendation in most universities.  My discussions with the eduroam people make me believe that such configurations are in fact discouraged by the wider Eduroam recommendations.
>
>>> Review your settings in the Wi-Fi Settings window:
>>> Wireless security: WPA & WPA2 Enterprise
>>> Authentication: Protected EAP (PEAP)
>>> Anonymous identity: anonymous@aalto.fi
>>> CA certificate: ca-certificates.crt
>>> PEAP version: Automatic
>>> Inner authentication: MSCHAPv2
>>> Username: firstname.lastname@aalto.fi
>>> Password: <your Aalto password>
>    Which is using the same realm for both outer / inner identities.  So I don't understand why there's an issue.

The draft currently says that inner identity should not have a realm. 
However, the example above, and many other guidance documents I have 
seen do use a realm in the inner identity.

--Mohit

>
>    Incidentally the recommendation violates the RFCV 7542 recommendation to just use @aalto.fi as the outer NAI.   i.e. an outer *user* portion of the NAI is not needed.  But both *realms* are identical for inner and outer NAIs.
>
>> @Joe: I am not confident that this section has had sufficient review. I am generally not comfortable with the text. This draft was anyways about TLS 1.3 for TEAP/PEAP/TTLS etc. I think this is going way beyond what the draft originally was trying to solve.
>    This section describes wide-spread practice in the community for about a decade.
>
>    While the updated text is not specific to TLS 1.3 and TTLS / PEAP / FAST / TEAP, it does give guidelines to users of TTLS / etc. for TLS 1.3.  WhichI think is critical for success in real-world use-cases.
>
>> 3. Section 2.4 says:
>>
>>>   the response from the EAP peer MUST be either
>>>     EAP-Success or EAP-Failure.
>>>
>> I though the Success and Failure messages are sent by the EAP server?
>    That was a typo, already addressed in a previous comment.
>
>> 4. Section 4 says:
>>
>>
>>> If either peer or server instead
>>>     initiates an inner tunnel method
>>>
>> I thought you have mandated the use of an inner tunnel method? So why the 'if'?
>    Resumption doesn't use an inner tunnel method.  So the "if" is necessary.
>
>    Alan DeKok.
>