Understanding the Operational Environment for Junos OS in FIPS Mode
A Juniper Networks device running the Junos operating system (Junos OS) in FIPS mode forms a special type of hardware and software operational environment that is different from the environment of a device in non-FIPS mode:
Hardware Environment for Junos OS in FIPS Mode
Junos OS in FIPS mode establishes a cryptographic boundary in the device that no critical security parameters (CSPs) can cross using plain text. Each hardware component of the device that requires a cryptographic boundary for FIPS 140-3 compliance is a separate cryptographic module. There are two types of hardware with cryptographic boundaries in Junos OS in FIPS mode: one for each Routing Engine and one for entire chassis.
Cryptographic methods are not a substitute for physical security. The hardware must be located in a secure physical environment. Users of all types must not reveal keys or passwords, or allow written records or notes to be seen by unauthorized personnel.
Software Environment for Junos OS in FIPS Mode
A Juniper Networks device running Junos OS in FIPS mode forms a special type of non-modifiable operational environment. To achieve this environment on the device, the system prevents the execution of any binary file that was not part of the certified Junos OS distribution. When a device is in FIPS mode, it can run only Junos OS.
The Junos OS in FIPS mode software environment is established after the Security Administrator successfully enables FIPS mode on a device. The Junos OS image that includes FIPS mode is available on the Juniper Networks website and can be installed on a functioning device.
For FIPS 140-3 compliance, we recommend deleting all user-created files and data from (zeroizing) the system immediately after enabling FIPS mode.
Enabling FIPS mode disables many of the usual Junos OS protocols and services. In particular, you cannot configure the following services in Junos OS in FIPS mode:
-
finger
-
ftp
-
rlogin
-
telnet
-
tftp
-
xnm-clear-text
Attempts to configure these services, or load configurations with these services configured, result in a configuration syntax error.
You can use only SSH as a remote access service.
All passwords established for users after upgrading to Junos OS in FIPS mode must conform to Junos OS in FIPS mode specifications. Passwords must be between 10 and 20 characters in length and require the use of at least three of the five defined character sets (uppercase and lowercase letters, digits, punctuation marks, and keyboard characters, such as % and &, not included in the other four categories). Attempts to configure passwords that do not conform to these rules result in an error. All passwords and keys used to authenticate peers must be at least 10 characters in length, and in some cases the length must match the digest size.
Do not attach the device to a network until you, the Security Administrator, complete the configuration from the local console connection.
For strict compliance, do not examine core and crash dump information on the local console in Junos OS in FIPS mode because some CSPs might be shown in plain text.
Critical Security Parameters
Critical security parameters (CSPs) are security-related information such as cryptographic keys and passwords that can compromise the security of the cryptographic module or the security of the information protected by the module if they are disclosed or modified.
Zeroization of the system erases all traces of CSPs in preparation for operating the device or Routing Engine as a cryptographic module.
Table 1 lists CSPs on the device running Junos OS.
CSP |
Description |
Zeroization method |
Use |
---|---|---|---|
SSH-2 private host key |
ECDSA / RSA key used to identify the host, generated the first time SSH is configured. |
Zeroize command. |
Used to identify the host. |
SSH-2 session key |
Session key used with SSHv2 and as a Diffie-Hellman private key. Encryption: AES-128, AES-256. MACs: HMAC-SHA-1, HMAC-SHA-2-256,HMAC-SHA2-512. Key exchange: dh-group14-sha1, ECDH-sha2-nistp256, ECDH-sha2-nistp384, and ECDH-sha2-nistp521. |
Power cycle and terminate session. |
Symmetric key used to encrypt data between host and client. |
User authentication key |
Hash of the user’s password: SHA-256, SHA-512. |
Zeroize command. |
Used to authenticate a user to the cryptographic module. |
Security Administrator authentication key |
Hash of the Security Administrator’s password: SHA-256, SHA-512. |
Zeroize command. |
Used to authenticate the Security Administrator to the cryptographic module. |
HMAC DRBG seed |
Seed for deterministic randon bit generator (DRBG). |
Seed is not stored by the cryptographic module. |
Used for seeding DRBG. |
HMAC DRBG V value |
The value (V) of output block length (outlen) in bits, which is updated each time another outlen bits of output are produced. |
Power cycle. |
A critical value of the internal state of DRBG. |
HMAC DRBG key value |
The current value of the outlen-bit key, which is updated at least once each time that the DRBG mechanism generates pseudorandom bits. |
Power cycle. |
A critical value of the internal state of DRBG. |
NDRNG entropy |
Used as entropy input string to the HMAC DRBG. |
Power cycle. |
A critical value of the internal state of DRBG. |
In Junos OS in FIPS mode, all CSPs must enter and leave the cryptographic module in encrypted form. Any CSP encrypted with a non-approved algorithm is considered plain text by FIPS.
Local passwords are hashed with the secure hash algorithm SHA-256, or SHA-512. Password recovery is not possible in Junos OS in FIPS mode. Junos OS in FIPS mode cannot boot into single-user mode without the correct root password.