Janos Makai created OOZIE-3676:
----------------------------------
Summary: Remove all non FIPS compliant encoding algorithms from
Oozie or make them configurable
Key: OOZIE-3676
URL: https://issues.apache.org/jira/browse/OOZIE-3676
Project: Oozie
Issue Type: Task
Components: core
Affects Versions: 5.2.1
Reporter: Janos Makai
Assignee: Janos Makai
What we definitely need to replace:
org.apache.oozie.action.hadoop.LauncherHelper#getTag
----
h2. Using FIPS-Compliant Crypto Libraries
This should not need much code change. Ensure that when you are performing
crypto operations (e.g. generating keys, encrypting/decrypting data, computing
hashes, storing/verifying passwords), you are using either OpenSSL or the
standard Java crypto API to do so.
When running in a FIPS environment, the OpenSSL library and Java crypto
provider will be replaced with their CryptoComply equivalents. This replacement
should be API-compatible.
h2. Using FIPS-Approved Algorithms
Only certain algorithms and key sizes are allowed by FIPS. You can view the
full list
[here|https://drive.google.com/file/d/1yK-NRT6E9W8fZ5fxeqId8mNTZ_PCZWjj/view?usp=sharing].
Common allowed algorithms are shown below for convenience:
Symmetric Algorithms
* AES
* 3DES
Public Key Algorithms
* RSA
* ElGamal
Key Agreement Algorithms
* DH
* MQV
* ECDH
* ECCDH
* ECMQV
SSL/TLS
* TLS 1.0, 1.1, 1.2
Hash Functions
* SHA-1 _(avoid this as it is soon to be deprecated)_
* SHA-224, SHA-256 {_}(avoid these as they are soon to be deprecated){_},
SHA-384, SHA-512
* SHA3-224, SHA3-256, SHA3-384, SHA3-512
* SHAKE128, SHAKE256
Message Authentication
* AES CCM, CMAC, GMAC
* HMAC with SHA-1, SHA-224, SHA-256, SHA-384, SHA-512
* 3DES CMAC
Password Derivation Functions
* PBKDF2 with SHA-1, SHA-224, SHA-256, SHA-384, SHA-512
Random Number Generators
* HASH DRBG
* HMAC DRBG
* CTR DRBG
Signature Algorithms
* DSA using SHA-1, SHA-224, SHA-256, SHA-384, SHA-512
* ECDSA using SHA-1, SHA-224, SHA-256, SHA-384, SHA-512
* RSA using SHA-1, SHA-224, SHA-256, SHA-384, SHA-512
Keep in mind that the following common algorithms are *disallowed* and will
likely cause a crash if invoked in FIPS mode:
* MD5: use SHA-384 instead
* RC4 (also called arcfour): use AES-256 instead
* SSL: use TLS instead
If you have features or code paths that use disapproved algorithms, you will
have to introduce a “FIPS mode” flag in your component and disable those
features or code paths when FIPS is turned on. Let the CM team know if you add
a FIPS flag so that CM can be modified to run your component in FIPS mode when
appropriate.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)