Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Understanding the Operational Environment for Junos OS in FIPS Mode


A Juniper Networks device running the Juniper Networks 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-2 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 nonmodifiable 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 in FIPS mode distribution. When a device is in FIPS mode, it can run only Junos OS.

FIPS mode on MX10003 and EX9253 devices is available in Junos OS Release 19.3R1 and later. 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-2 compliance, we recommend that you delete all user-created files and data by zeroizing the device before 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 deviceto a network until the Security Administrator completes 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 deviceor Routing Engine as a cryptographic module.

Table 1 lists CSPs on devices running Junos OS.

Table 1: Critical Security Parameters





SSHv2 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.

SSHv2 session keys

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: SHA256, SHA512.

Zeroize command.

Used to authenticate a user to the cryptographic module.

Security Administrator authentication key

Hash of the Security Administrator’s password: SHA256, SHA512.

Zeroize command.

Used to authenticate the Security Administrator to the cryptographic module.


Seed for deterministic randon bit generator (DRBG).

Seed is not stored by the cryptographic module.

Used for seeding DRBG.


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 SHA256 or SHA512 algorithm. 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.