On Jan 31, 2019, at 10:13 AM, John Mattsson <[email protected]> wrote:
>
> I also strongly agree that all TLS-based EAP methods in use should be capable
> of working with TLS 1.3. You make a very strong case that this need to happen
> as soon as possible and that the most practical approach is to add the
> information to draft-ietf-emu-eap-tls13. Just like with EAP-TLS, we must
> absolutely avoid a situation where different TTLS / FAST / PEAP / TEAP
> implementations with TLS 1.3 cannot talk with each other.
>
> I am ok with adding this information to draft-ietf-emu-eap-tls13, but I would
> like to have a go ahead from the chairs/ADs before doing so. My view is that
> this can be done in the current charter if text about "EAP TLS" is
> interpreted as TLS-based EAP methods. I would recommend that
> draft-ietf-emu-eap-tls13 then formally updates the other RFCs to make sure as
> many people as possible looking to implement e.g. EAP-TTLS finds the
> information on how to do the key derivation with TLS 1.3.
That works for TTLS and PEAP. It doesn't work for FAST or TEAP. :( Those
methods have rather more complex key derivation requirements.
> Is information about key derivation the only thing that is needed?
No, unfortunately. There are additional considerations with application data
&& inner negotiation.
> Should TTLS / FAST / PEAP / TEAP for instance use an TLS empty record in the
> same way as EAP-TLS?
Likely not. They should instead start the inner tunnel negotiation.
Hmm... if the changes are too complex, it may be better to have a new
document. I have a first draft written, and will be publishing it soon. It's
only about 12 pages, but it goes through a lot of detail that is likely not
relevant for the EAP-TLS document.
It still may be useful to give guidance in the EAP-TLS document. e.g.:
---
Type-Code = 0x0D
Key_Material = TLS-Exporter("EXPORTER_EAP_TLS_Key_Material", Type-Code, 128)
IV = TLS-Exporter("EXPORTER_EAP_TLS_IV", Type-Code, 64)
Method-Id = TLS-Exporter("EXPORTER_EAP_TLS_Method-Id", Type-Code, 64)
Session-Id = Type-Code || Method-Id
MSK = Key_Material(0, 63)
EMSK = Key_Material(64, 127)
Enc-RECV-Key = MSK(0, 31)
Enc-SEND-Key = MSK(32, 63)
RECV-IV = IV(0, 31)
SEND-IV = IV(32, 63)
Other TLS-base EAP methods can perform similar key derivations by replacing the
Type-Code with the value of their EAP type. The Type-Code is defined to be 1
octet for values smaller than 256,
otherwise it is a 32-bit number (four octets), in network byte order.
Additional discussion of other EAP methods is outside of the scope of this
document.
---
That way there's at least *some* guidance. Any additional discussion (and
there may be lots) could go into another document.
Alan DeKok.
_______________________________________________
Emu mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/emu