Understanding FIPS Self-Tests
The cryptographic module enforces security rules to ensure that a device running the Juniper Networks Junos operating system (Junos OS) in FIPS mode of operation meets the security requirements of FIPS 140-2 Level 2. To validate the output of cryptographic algorithms approved for FIPS and test the integrity of some system modules, the device performs the following series of known answer test (KAT) self-tests:
md_kats—KAT for libmd and libc
quicksec_7_0_kats—KAT for Quicksec_7_0 Toolkit cryptographic implementation
openssl_kats—KAT for OpenSSL cryptographic implementation
kernel_kats——KAT for kernel cryptographic routines
srxpfe_kats—KAT for SRX packet forwarding engine
The KAT self-tests are performed automatically at startup and reboot, regardless of whether FIPS mode of operation is enabled on the device. Conditional self-tests are also performed automatically to verify digitally signed software packages, generated random numbers, RSA and ECDSA key pairs, and manually entered keys.
If the KATs are completed successfully, the system log (syslog) file is updated to display the tests that were executed.
If the device fails a KAT, the device writes the details to a system log file, enters FIPS error state (panic), and reboots.
The file show /var/log/messages command displays the system log.
Performing Power-On Self-Tests on the Device
Each time the cryptographic module is powered on, the module tests that the cryptographic algorithms still operate correctly and that sensitive data has not been damaged. Power-on self-tests are performed on demand by power cycling the module.
On powering on or resetting the device, the module performs the following self-tests. All KATs must be completed successfully prior to any other use of cryptography by the module. If one of the KATs fail, the module enters the Critical Failure error state.
The module displays the following status output for SRX4600 device while running the power-on self-tests:
root@host:fips> request system fips self-test Testing kernel KATS: NIST 800-90 HMAC DRBG Known Answer Test: Passed DES3-CBC Known Answer Test: Passed HMAC-SHA1 Known Answer Test: Passed HMAC-SHA2-256 Known Answer Test: Passed SHA-2-384 Known Answer Test: Passed SHA-2-512 Known Answer Test: Passed AES128-CMAC Known Answer Test: Passed AES-CBC Known Answer Test: Passed Testing MacSec KATS: AES128-CMAC Known Answer Test: Passed AES256-CMAC Known Answer Test: Passed AES-KEYWRAP Known Answer Test: Passed Testing libmd KATS: HMAC-SHA1 Known Answer Test: Passed HMAC-SHA2-256 Known Answer Test: Passed SHA-2-512 Known Answer Test: Passed Testing OpenSSL KATS: FIPS RNG Known Answer Test: Passed NIST 800-90 HMAC DRBG Known Answer Test: Passed FIPS ECDSA Known Answer Test: Passed FIPS ECDH Known Answer Test: Passed FIPS RSA Known Answer Test: Passed DES3-CBC Known Answer Test: Passed HMAC-SHA1 Known Answer Test: Passed HMAC-SHA2-224 Known Answer Test: Passed HMAC-SHA2-256 Known Answer Test: Passed HMAC-SHA2-384 Known Answer Test: Passed HMAC-SHA2-512 Known Answer Test: Passed AES-CBC Known Answer Test: Passed AES-GCM Known Answer Test: Passed ECDSA-SIGN Known Answer Test: Passed KDF-IKE-V1 Known Answer Test: Passed KDF-SSH-SHA256 Known Answer Test: Passed Testing QuickSec 7.0 KATS: NIST 800-90 HMAC DRBG Known Answer Test: Passed DES3-CBC Known Answer Test: Passed HMAC-SHA1 Known Answer Test: Passed HMAC-SHA2-224 Known Answer Test: Passed HMAC-SHA2-256 Known Answer Test: Passed HMAC-SHA2-384 Known Answer Test: Passed HMAC-SHA2-512 Known Answer Test: Passed AES-CBC Known Answer Test: Passed AES-GCM Known Answer Test: Passed SSH-RSA-ENC Known Answer Test: Passed SSH-RSA-SIGN Known Answer Test: Passed SSH-ECDSA-SIGN Known Answer Test: Passed KDF-IKE-V1 Known Answer Test: Passed KDF-IKE-V2 Known Answer Test: Passed Testing QuickSec KATS: NIST 800-90 HMAC DRBG Known Answer Test: Passed DES3-CBC Known Answer Test: Passed HMAC-SHA1 Known Answer Test: Passed HMAC-SHA2-224 Known Answer Test: Passed HMAC-SHA2-256 Known Answer Test: Passed HMAC-SHA2-384 Known Answer Test: Passed HMAC-SHA2-512 Known Answer Test: Passed AES-CBC Known Answer Test: Passed AES-GCM Known Answer Test: Passed SSH-RSA-ENC Known Answer Test: Passed SSH-RSA-SIGN Known Answer Test: Passed KDF-IKE-V1 Known Answer Test: Passed KDF-IKE-V2 Known Answer Test: Passed Testing SSH IPsec KATS: NIST 800-90 HMAC DRBG Known Answer Test: Passed DES3-CBC Known Answer Test: Passed HMAC-SHA1 Known Answer Test: Passed HMAC-SHA2-256 Known Answer Test: Passed AES-CBC Known Answer Test: Passed SSH-RSA-ENC Known Answer Test: Passed SSH-RSA-SIGN Known Answer Test: Passed KDF-IKE-V1 Known Answer Test: Passed Testing file integrity: File integrity Known Answer Test: Passed Testing crypto integrity: Crypto integrity Known Answer Test: Passed Expect an exec Authentication error... /sbin/kats/run-tests: /sbin/kats/cannot-exec: Authentication error
The module implements cryptographic libraries and algorithms that are not utilized in the approved mode of operation.