On Feb 1, 2021, at 2:48 PM, Jorge Vergara <jover...@microsoft.com> wrote:
> 
> There has been a lot of discussion on the ending of the handshake that I hope 
> I have parsed. Here is my perspective as an client implementor (not an 
> author):
> 
> 
> 1. I don't see a strict requirement for an authenticated signal at the end of 
> the handshake. No prior version of EAP-TLS needed this

  Prior versions *implicitly* relied on the server sending "TLS Finished" after 
the client certificate had been validated.

> and I don't necessarily see the need now. An EAP-TLS client should wait until 
> it has satisfied all of its server validation policies and completes TLS 
> before accepting a connection to the server, even if a "rogue" server starts 
> sending EAP-Success all the time. Any client which blindly connects in this 
> case is a broken client.

  We should ideally make the protocol robust to broken implementations.  RFC 
4137 was written to deal with implementations having these sort of issues in 
broken EAP state machines.

> 
> 2. Although I don't see any security benefit, such a signal *may* be 
> convenient to help EAP-TLS implementations update their state machines to 
> support TLS 1.3. For example, if an EAP-TLS state machine previously used to 
> assume that a “TLS complete” signal from its TLS library was sufficient to 
> advance to a new state where it will no longer accept TLS payload might break 
> when TLS 1.3 is used. Such a state machine would not necessarily know when to 
> advance to this state with some similar sort of signal that the server is 
> done.

  Yes.

> A different state machine which simply will always process TLS payload even 
> after a “TLS complete” signal from its TLS library may not need any updates 
> at all to work with TLS 1.3. I believe such a state machine would be able to 
> handle a NewSessionTicket after TLS completion without issues even without a 
> signal.

  True, but that's a bit of a separate issue.

> Windows currently happens to fall into the first camp, where a signal is 
> convenient. It seems to me that using close_notify is more semantically 
> correct, but has some tradeoffs.
> 
> A. In some cases, where the commitment message may be able to allow for a 
> shorter handshake, using close_notify doesn’t allow the client to send an 
> alert, which is a non-starter in my opinion.

  I agree.

> B. If we settle for an extra round trip, we can use close_notify and make 
> sure the client always has at least 1 chance to send an alert.

  Presuming that we *do* need an explicit signal, which I think is true.  If we 
do need it, then the extra round trip is unavoidable.

  Alan DeKok.

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

Reply via email to