[ https://issues.apache.org/jira/browse/OOZIE-3676?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Janos Makai updated OOZIE-3676: ------------------------------- Description: The goal of this Jira is to replace non-FIPS compliant encoding algorithm(s) to FIPS compliant algorithm(s) in Oozie. At this moment only `org.apache.oozie.action.hadoop.LauncherHelper#getTag` has non-FIPS compliant algorithm, namely MD-5. In scope of this ticket, this algorithm will be changed to FIPS compliant SHA-384. ({_}read more about the FIPS compliant algorithms below{_}) ---- 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. 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 was: The goal of this Jira is to replace non-FIPS complient encoding algorithm(s) to FIPS complient algorithm(s) in Oozie. At this moment only `org.apache.oozie.action.hadoop.LauncherHelper#getTag` has non-FIPS compliant algorithm, namely MD-5. In scope of this ticket, this algorithm will be changed to FIPS compliant SHA-384. ({_}read more about the FIPS compliant algorithms below{_}) ---- 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. 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 > 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 > Priority: Major > Attachments: OOZIE-3676-001.patch > > > The goal of this Jira is to replace non-FIPS compliant encoding algorithm(s) > to FIPS compliant algorithm(s) in Oozie. > At this moment only `org.apache.oozie.action.hadoop.LauncherHelper#getTag` > has non-FIPS compliant algorithm, namely MD-5. > In scope of this ticket, this algorithm will be changed to FIPS compliant > SHA-384. > ({_}read more about the FIPS compliant algorithms below{_}) > ---- > 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. > 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 -- This message was sent by Atlassian Jira (v8.20.10#820010)