fragattacks/src/eap_peer
David Benjamin 7358170787 TLS: Split tls_connection_prf() into two functions
Most protocols extracting keys from TLS use RFC 5705 exporters which is
commonly implemented in TLS libraries. This is the mechanism used by
EAP-TLS. (EAP-TLS actually predates RFC 5705, but RFC 5705 was defined
to be compatible with it.)

EAP-FAST, however, uses a legacy mechanism. It reuses the TLS internal
key block derivation and derives key material after the key block. This
is uncommon and a misuse of TLS internals, so not all TLS libraries
support this. Instead, we reimplement the PRF for the OpenSSL backend
and don't support it at all in the GnuTLS one.

Since these two are very different operations, split
tls_connection_prf() in two. tls_connection_export_key() implements the
standard RFC 5705 mechanism that we expect most TLS libraries to
support. tls_connection_get_eap_fast_key() implements the
EAP-FAST-specific legacy mechanism which may not be implemented on all
backends but is only used by EAP-FAST.

Signed-Off-By: David Benjamin <davidben@google.com>
2016-05-23 20:40:12 +03:00
..
eap_aka.c EAP peer: Simplify EAP method registration call 2016-01-13 23:30:25 +02:00
eap_config.h EAP peer: External server certificate chain validation 2015-12-12 18:24:27 +02:00
eap_eke.c EAP peer: Simplify EAP method registration call 2016-01-13 23:30:25 +02:00
eap_fast_pac.c EAP-FAST: Fix an error path in PAC binary format parsing 2016-02-06 00:26:31 +02:00
eap_fast_pac.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
eap_fast.c TLS: Split tls_connection_prf() into two functions 2016-05-23 20:40:12 +03:00
eap_gpsk.c EAP peer: Simplify EAP method registration call 2016-01-13 23:30:25 +02:00
eap_gtc.c EAP peer: Simplify EAP method registration call 2016-01-13 23:30:25 +02:00
eap_i.h EAP peer: External server certificate chain validation 2015-12-12 18:24:27 +02:00
eap_ikev2.c EAP peer: Simplify EAP method registration call 2016-01-13 23:30:25 +02:00
eap_leap.c EAP peer: Simplify EAP method registration call 2016-01-13 23:30:25 +02:00
eap_md5.c EAP peer: Simplify EAP method registration call 2016-01-13 23:30:25 +02:00
eap_methods.c EAP peer: Simplify EAP method registration call 2016-01-13 23:30:25 +02:00
eap_methods.h EAP peer: Simplify EAP method registration call 2016-01-13 23:30:25 +02:00
eap_mschapv2.c EAP peer: Simplify EAP method registration call 2016-01-13 23:30:25 +02:00
eap_otp.c EAP peer: Simplify EAP method registration call 2016-01-13 23:30:25 +02:00
eap_pax.c EAP-PAX: Do not debug print result if eap_pax_mac() fails 2016-05-16 22:25:25 +03:00
eap_peap.c EAP peer: Simplify EAP method registration call 2016-01-13 23:30:25 +02:00
eap_proxy_dummy.c eap_proxy: Add context data pointer to the get_imsi call 2013-10-23 20:51:46 +03:00
eap_proxy.h eap_proxy: Add context data pointer to the get_imsi call 2013-10-23 20:51:46 +03:00
eap_psk.c EAP peer: Simplify EAP method registration call 2016-01-13 23:30:25 +02:00
eap_pwd.c EAP-PWD peer: Fix possible memory leak on error path 2016-03-03 16:28:41 +02:00
eap_sake.c EAP-SAKE: Do not debug print result if eap_sake_compute_mic() fails 2016-05-16 22:26:37 +03:00
eap_sim.c EAP peer: Use ifdef PCSC_FUNCS to get rid of compiler warnings 2016-01-15 18:41:30 +02:00
eap_tls_common.c TLS: Split tls_connection_prf() into two functions 2016-05-23 20:40:12 +03:00
eap_tls_common.h EAP-TLS/PEAP/TTLS/FAST: Move more towards using struct wpabuf 2015-05-03 16:32:23 +03:00
eap_tls.c EAP peer: Simplify EAP method registration call 2016-01-13 23:30:25 +02:00
eap_tnc.c EAP peer: Simplify EAP method registration call 2016-01-13 23:30:25 +02:00
eap_ttls.c EAP-TTLS peer: Fix success after fragmented final Phase 2 message 2016-01-15 13:37:15 +02:00
eap_vendor_test.c EAP peer: Simplify EAP method registration call 2016-01-13 23:30:25 +02:00
eap_wsc.c EAP peer: Simplify EAP method registration call 2016-01-13 23:30:25 +02:00
eap.c EAP peer: Simplify buildNotify return 2016-02-07 21:01:41 +02:00
eap.h Declare all read only data structures as const 2015-04-25 17:33:06 +03:00
ikev2.c EAP-IKEv2 peer: Avoid undefined behavior in pointer arithmetic 2015-10-24 21:43:54 +03:00
ikev2.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
Makefile tests: Add eapol-fuzzer 2015-04-22 11:44:19 +03:00
mschapv2.c EAP-MSCHAPv2: Use os_memcmp_const() for hash/password comparisons 2014-07-02 12:38:48 +03:00
mschapv2.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
tncc.c TNC: Print received IF-TNCCS message as debug ASCII hexdump 2015-12-24 18:33:19 +02:00
tncc.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00