Re: [Emu] draft-ietf-emu-tls-eap-types-06 comments

Alan DeKok <aland@deployingradius.com> Mon, 20 June 2022 19:38 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 28FF7C15AE2A for <emu@ietfa.amsl.com>; Mon, 20 Jun 2022 12:38:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level:
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no
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 04JOg0-qzXBR for <emu@ietfa.amsl.com>; Mon, 20 Jun 2022 12:38:02 -0700 (PDT)
Received: from mail.networkradius.com (mail.networkradius.com [62.210.147.122]) (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 D83E9C1594AF for <emu@ietf.org>; Mon, 20 Jun 2022 12:38:01 -0700 (PDT)
Received: from smtpclient.apple (23-233-27-102.cpe.pppoe.ca [23.233.27.102]) by mail.networkradius.com (Postfix) with ESMTPSA id D8A9C45F; Mon, 20 Jun 2022 19:37:55 +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 16.0 \(3696.100.31\))
From: Alan DeKok <aland@deployingradius.com>
In-Reply-To: <CAA7Lko_C5sCWYOypic9QEvfewO38m=ZDUrG+4Uvywgh1LLGPAw@mail.gmail.com>
Date: Mon, 20 Jun 2022 15:37:54 -0400
Cc: EMU WG <emu@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <6D708B91-C398-4C9F-B743-D0B2B4BBAA19@deployingradius.com>
References: <CAA7Lko_C5sCWYOypic9QEvfewO38m=ZDUrG+4Uvywgh1LLGPAw@mail.gmail.com>
To: Heikki Vatiainen <hvn@radiatorsoftware.com>
X-Mailer: Apple Mail (2.3696.100.31)
Archived-At: <https://mailarchive.ietf.org/arch/msg/emu/_-MATqJBA6TCu9SQrB79Ua4DYKU>
Subject: Re: [Emu] draft-ietf-emu-tls-eap-types-06 comments
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, 20 Jun 2022 19:38:04 -0000

On Jun 20, 2022, at 11:20 AM, Heikki Vatiainen <hvn@radiatorsoftware.com> wrote:
> Please find below my comments. I think the draft can move forward. The comments below are clarifications and minor fixes. The list is quite long but I think there aren't any functional changes.

  That's fine.  Unless otherwise noted below, I've addressed all of your comments by making the requested changes.

> Naming things
> +++++++++++
> Should the EAP type names named consistently? For example, always use EAP-FAST and EAP-TTLS because those are the IANA registered names. PEAP and TEAP already use just one form.

  Yes.

> Using 'EAP peer', and when unambiguous, 'peer', as much as possible: now the draft uses also 'client' and 'supplicant' sometimes. Client should remain when the discussion is about general TLS client behaviour, though.
>
> Similarly 'EAP server' could be used sometimes to clarify which server is discussed.

  It's probably  worth just using "EAP peer", and "EAP server" consistently.

> Paragraph 5: The second sentence in the draft is shwn below with my suggested text following:
> 'When the supplicant attempts to use the ticket, the peer can simply request a full reauthentication.'
> 'When the EAP peer attempts to use the ticket, the EAP server can simply request a full authentication.'
> This clarifies naming, roles and simply says 'authentication' because it's not going to be reauthentication any longer.

  I'll put this as:

When the EAP peer attempts to use the ticket, the EAP server can instead request a full authentication

> 2.5 PEAP
> +++++++
> Paragraphs 1 and 2 in the draft are shown below followed by suggested version:
> ...
> The idea is to clarify what 'here' refers to (PEAP-MPPE) and to use 'derivation' instead of 'calculation' for matching terminology. My understanding that 'different' means 'different than what is specified section 2.1 in this draft', therefore it was switched to PEAP-specific to be clear what it refers to. Attempt is also made to clarify that what remains unchanged is 'PRF+' function. Term 'method' is used just once so that PRF calculation method won't be confused by 'inner EAP method'.

  I agree.   I've made the change.

> 3 Application data
> ++++++++++++++
> The draft says:
> 
>    The NewSessionTicket message SHOULD also be sent along with other
>    application data, if possible.  Sending that message alone prolongs
>    the packet exchange to no benefit.
> 
> I fully agree with the above. Experimenting shows that, for example, eapol_test from wpa_supplicant supports a lone NewSessionTicket message by sending back an PEAP ack when it receives just the tickets instead of EAP-Identity/Request+keys after TLS handshake completion. However, another EAP peer implementation responds nothing and stops the authentication process when it receives just a NewSessionTicket message without the expected EAP-Identity/Request.

  I would add one EAP peer implementation also doesn't implement resumption for TTLS / PEAP.  That seems very, very, wrong to me.

> To summarise, in addition to prolonging the packet exchange, it can also lead to non-interoperable implementations. Seems that the smallest number of messages allowed by the TLS and EAP method specifications is the way to go. Not just with PEAP but with other EAP methods too.

  I'll add the last bit as an additional explanation, with some rewording.

> 4. Resumption
> +++++++++++
> The paragraph in the draft could benefit from a small sentence reordering and rewording. The original is followed by the suggested version:
...
>    Note that if resumption is performed, then the EAP server MUST send
>    the protected success result indicator (one octet of 0x00) inside the
>    TLS tunnel as per [RFC9190].  The EAP peer MUST in turn check for
>    the existence the protected success result indicator (one octet of
>    0x00), and cause authentication to fail if that octet is not
>    received.  If either peer or server instead
>    initiates an inner tunnel method, then that method MUST be followed,
>    and inner authentication MUST NOT be skipped.
> 
> The rewording changes 'resumption MUST NOT be used' to what's shown above. My understanding is that if TLS resumption is done, then the choice is either to:
> - use protected success result indication 0x00; or
> - do full inner authentication; but not both

  That's good.

> 
> 6. Security Considerations
> ++++++++++++++++++++
> The last sentence of paragraph 3 is shown below with the suggested change following:
> ...
> The changes use 'EAP peer' instead of 'clients' and add missing verb 'use'.

  Changed, thanks.

> 
> 6.1 Protected Success and Failure indicators
> ++++++++++++++++++++++++++++++++++
> Paragraph 5 says '... TTLS with inner PAP or CHAP.'. I'd change the inner protocols to 'PAP, CHAP or MS-CHAP'.
> 
> Paragraph 7 says '... do not provided protected ...'. Change 'provided' to 'provide'.
> 
> Paragraph 7 also suggests replacements for PAP and CHAP to ensure protected indicators can be used. A replacement for MS-CHAP could be EAP-MSCHAP-V2 or possibly EAP-MD5?

  A replacement for MS-CHAPv1 is MS-CHAPv2, or EAP-MSCHAPv2

> 
> 8. References
> +++++++++++
> [PEAP-MPPE], [PEAP-PRF] and [PEAP-TK] point to different parts of [MSPEAP]. It might be useful to clarify that this is the case in order to minimise the problem with broken links. 

  I'll add some clarifying text.

  Thanks for the comprehensive review.

  Alan DeKok.