3
0
mirror of https://git.kernel.org/pub/scm/network/wireless/iwd.git synced 2024-12-22 21:12:48 +01:00

handshake: allow SHA384 PTK derivation (for FILS)

For FILS rekeys, we still derive the PTK using the 4-way handshake.
And for FILS-SHA384 we need the SHA384 KDF variant when deriving.

This change adds both FILS-SHA256 and FILS-SHA384 to the checks
for determining the SHA variant.
This commit is contained in:
James Prestwood 2019-04-25 12:52:49 -07:00 committed by Denis Kenzior
parent 62097e7d82
commit 028e755d42

View File

@ -388,11 +388,14 @@ bool handshake_state_derive_ptk(struct handshake_state *s)
s->ptk_complete = false; s->ptk_complete = false;
if (s->akm_suite & (IE_RSN_AKM_SUITE_8021X_SHA256 | if (s->akm_suite & IE_RSN_AKM_SUITE_FILS_SHA384)
type = L_CHECKSUM_SHA384;
else if (s->akm_suite & (IE_RSN_AKM_SUITE_8021X_SHA256 |
IE_RSN_AKM_SUITE_PSK_SHA256 | IE_RSN_AKM_SUITE_PSK_SHA256 |
IE_RSN_AKM_SUITE_SAE_SHA256 | IE_RSN_AKM_SUITE_SAE_SHA256 |
IE_RSN_AKM_SUITE_FT_OVER_SAE_SHA256 | IE_RSN_AKM_SUITE_FT_OVER_SAE_SHA256 |
IE_RSN_AKM_SUITE_OWE)) IE_RSN_AKM_SUITE_OWE |
IE_RSN_AKM_SUITE_FILS_SHA256))
type = L_CHECKSUM_SHA256; type = L_CHECKSUM_SHA256;
else else
type = L_CHECKSUM_SHA1; type = L_CHECKSUM_SHA1;