Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable CONFIG_FIPS for wpa_supplicant #92

Closed
wants to merge 3 commits into from

Conversation

wumiaont
Copy link
Contributor

@wumiaont wumiaont commented Apr 8, 2024

Issues:
Wpa_supplicant has support to enable FIPS for wpa_supplicant by setting CONFIG_FIPS. This will limit the usage of certain insecure algorithms such as MD4, MD5, DES, RC4. This is one of the requirements by FIPS 140-3.

It's found that wpa_supplicant does not support this config (CONFIG_FIPS=y) nicely. After turning on this flag, it's found that the make would not succeed. There are 2 issues which are fixed by this PR:

  1. There are still references in wpa_supplicant for those insured crypto APIs such as md4_vector etc. Macsec is not using any of those APIs though. Wpa_supplicant disables those APIs from crypt_openssl.c when CONFIG_FIPS is enabled. Fixed those issues by leaving the corresponding API definitions (such as md4_vector etc) there but logging an error message and returning error (-1) when CONFIG_FIPS is enabled.

  2. FIPS_mode_set(1) is removed from openssl 3.0.0. Solution is to replace with EVP_default_properties_enable_fips(NULL, 1) as Openssl forum suggests.

This PR uses patch with above changes. This will benefit us for later porting of latest wpa_supplicant.

Testing:
Tested above changes on VM environment with macsec testing suites. With FIPS enable and FIPS disable, all macsec testings passed.
Watched wpa_supplicant build log and found patch has been applied during build with no issues.

@wumiaont wumiaont closed this Apr 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant