[
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)