On Feb 15, 2023, at 9:53 PM, Roman Danyliw via Datatracker <nore...@ietf.org> 
wrote:
> ** Section 2.4
>   It is therefore RECOMMENDED that EAP servers always send a TLS
>   NewSessionTicket message, even if resumption is not configured.  When
>   the EAP peer attempts to use the ticket, the EAP server can instead
>   request a full authentication.  Implementations SHOULD NOT send
>   NewSessionTicket messages until the "inner tunnel" authentication has
>   completed, in order to take full advantage of the message as a
>   protected success indication.
> 
> It is my understanding that this SHOULD NOT is based in implementation
> realities.  Can text be added to establish the basis for this not being “MUST
> NOT”.  Please also add cross-references as appropriate into the document on 
> the
> same topic.

  The issue is discussed in more detail in the Security Considerations section. 
 I'll add some text here which references RFC 8446 Section 4.6.1.

  In short, TLS 1.3 allows for NewSessionTicket to be sent from the server, 
even before the application data has been processed.  This means that a client 
could connect, get a ticket, disconnect, and then immediately "resume" the 
session, without ever being fully authenticated.

  As a result, EAP implementations have to either reject session tickets which 
were sent before the user was authenticated, or delay sending NewSessionTicket 
until after the user has been authenticated.

  On closer examination, the text about NewSessionTicket is in the "TTLS" 
section, but is really applicable to all TLS-based EAP methods.  I'll move the 
text from the Security Considerations section to a new section discussing TLS 
NewSessionTicket messages in more detail.  Here's some new text:

Section "Handling of TLS NewSessionTicket Messages"

In some cases, client certificates are not used for TLS-based EAP
methods.  In those cases, the user is authenticated only after
successful completion of the inner tunnel authentication.  However,
[RFC84346] Section 4.6.1 allows that "At any time after the server has
received the client Finished message, it MAY send a NewSessionTicket
message."  This message is sent by the server before the inner
authentication method has been run, and therefore before the user has
been authenticated.

This separation of data allows for a "time of use, time of check"
security issue.  Malicious clients can begin a session and receive a
NewSessionTicket message.  The malicious client can then abort the
authentication session, and use the obtained NewSessionTicket to
"resume" the previous session.  The malicious client can then obtain
network access without ever being authenticated.

As a result, EAP servers MUST NOT permit sessions to be resumed until
after authentication has successfully completed.  This requirement may
be met in a number of ways.  Where possible, implementations SHOULD
NOT send TLS NewSessionTicket messages until the "inner tunnel"
authentication has completed successfully.  However, the interaction
between EAP implementations and any underlying TLS library may be
complex, and this behavior may not always be possible.

Is is up to the EAP server to ensure that it does not allow for
insecure uses of EAP.  It may not be possible to delay the TLS
NewSessionTicket messages until the "inner tunnel" authentication has
completed successfully.  In that case, the EAP server MUST NOT allow
the session ticket to be valid (or validated) until after the "inner
tunnel" authentication has completed.

For example, if the ticket is cached on the server, the server coudl
skip caching the session ticket until after authentication has
completed.  Alternatively, the server could mark up the session ticket
with a flag stating whether or not authentication has completed.

This issue is not relevant for EAP-TLS, which uses client certificates
for authentication.  It is only relevant for TLS-based EAP methods
which do not use the TLS layer to authenticate 

_______________________________________________
Emu mailing list
Emu@ietf.org
https://www.ietf.org/mailman/listinfo/emu

Reply via email to