You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SP 800-52 approves that MD5 can be used with TLS and it is the only scenario where it is allowed. However, the BCFIPS library (and maybe other libraries) does not prevent it from being used in other places (there really is no reliable way to detect it). In our case, user can choose to use it as the caching algorithm. The usage includes CachingUsernamePasswordRealm, ApiKeyService and maybe some other places. It also can be used in the fingerprint ingest processor. We should fix them by either throwing error or fail to start.
In all the aforementioned places we should be checking the value of XPackSettings.FIPS_MODE_ENABLED in the current loaded settings ( i.e. by checking Environment#settings ) and throw an exception that would cause the component and the node to exit or print a warning in the logs if we want to be more tolerant.
The text was updated successfully, but these errors were encountered:
Currently, it's possible to choose a hash function for various cache
hashers (e.g., in ApiKeyService) that is not compliant with FIPS 140
(e.g., MD5). This PR logs a warning on node start if a non-compliant
hashing algorithm is used in FIPS mode.
Note that there are other usages of non-FIPS compliant hash functions,
which are not configured through settings (e.g.
FingerprintProcessor). I plan to address these in a separate PR.
Relates #68743
As discussed on slack, FingerprintProcessor does not use the hash function in a security context, i.e., does not require a cryptographically secure hash function. Instead the hash function is used for content fingerprinting. As such this is outside of scope for FIPS and it does not make sense to include a warning here.
SP 800-52 approves that MD5 can be used with TLS and it is the only scenario where it is allowed. However, the BCFIPS library (and maybe other libraries) does not prevent it from being used in other places (there really is no reliable way to detect it). In our case, user can choose to use it as the caching algorithm. The usage includes CachingUsernamePasswordRealm, ApiKeyService and maybe some other places. It also can be used in the fingerprint ingest processor. We should fix them by either throwing error or fail to start.
In all the aforementioned places we should be checking the value of
XPackSettings.FIPS_MODE_ENABLED
in the current loaded settings ( i.e. by checkingEnvironment#settings
) and throw an exception that would cause the component and the node to exit or print a warning in the logs if we want to be more tolerant.The text was updated successfully, but these errors were encountered: