Junos OS in FIPS Mode Overview
FIPS 140-3 defines security levels for the hardware and software that perform cryptographic functions. Enable FIPS mode from the Junos OS CLI to operate your devices in a FIPS 140-3 Level 1 environment.
The Security Administrator enables FIPS mode in Junos OS and sets up keys and passwords for the system and other FIPS users.
Cryptographic Boundary on Your Device
The cryptographic boundary is a clearly defined physical or logical perimeter that encompasses all components that are necessary for the secure operation of the cryptographic module. The components within a cryptographic boundary include processors, memory, interfaces, and any other hardware or software that contributes to the module's cryptographic functions.
FIPS 140-3 compliance requires a defined cryptographic boundary around each cryptographic module on a device. Junos OS in FIPS mode prevents the cryptographic module from running any software that is not a part of the FIPS-certified distribution. It allows only FIPS-approved cryptographic algorithms. No CSPs, such as passwords and keys, can cross the cryptographic boundary of the module in unencrypted format.
FIPS mode does not support Virtual Chassis features. Avoid configuring Virtual Chassis in FIPS mode.
How FIPS Mode Differs from Non-FIPS Mode
Table 1 summarizes how Junos OS in FIPS mode differs from Junos OS in non-FIPS mode:
Features | FIPS Mode | Non-FIPS Mode |
---|---|---|
Self-tests of all cryptographic algorithms at startup | Yes | No |
Self-tests of random number and key generation perform continuously | Yes | No |
Weak cryptographic algorithms such as Data Encryption Standard (DES) and MD5 | Not allowed | Allowed |
Weak, remote, or unencrypted management connections | Not allowed | Allowed |
Local and unencrypted console access across all modes of operation |
Allowed | Allowed |
One-way algorithm used for password hashing | Yes | Yes |
Administrator passwords with less than 10 characters length | Not allowed | Allowed |
You must encrypt cryptographic keys before transmission | Yes | Not necessary |
FIPS Terminology
Understand the FIPS-related terms and supported algorithms to perform tasks with Junos OS in FIPS mode.
Terminology | Description |
---|---|
CSP |
Critical security parameter (CSP) is security-related information. For example, secret and private cryptographic keys and authentication data such as passwords and personal identification numbers (PINs). The disclosure or modification of this information can compromise the security of a cryptographic module or the information that the module protects. For details, see Critical Security Parameters in FIPS Mode. |
Cryptographic module |
The set of hardware, software, and firmware that implements approved security functions (including cryptographic algorithms and key generation) is contained within within a defined boundary. Cryptographic module is validated to meet specific security requirements. |
FIPS |
Federal Information Processing Standard (FIPS) 140-3 specifies the requirements for security and cryptographic modules. Junos OS in FIPS mode complies with FIPS 140-3 Level 1. |
Hashing |
A message authentication method that applies a cryptographic technique iteratively to a message of arbitrary length and produces a hash message digest or signature of a fixed length that is then appended to the sent message. |
KAT |
Known answer test (KAT) is the system self-tests that validate the output of cryptographic algorithms approved for FIPS and verify the integrity of some Junos OS modules. For details, see Known Answer Test (KAT). |
NDcPP | Collaborative Protection Profile for Network Devices (NDcPP) is a set of security requirements and guidelines designed to ensure the security and robustness of network devices. These devices include routers, switches, firewalls, and other hardware that manage network traffic. |
Security Administrator | A user with appropriate permissions who is responsible for securely enabling, configuring, monitoring, and maintaining Junos OS in FIPS mode of operation on a device. For details, see FIPS Mode Roles and Services for Junos OS. |
SSH | Secure Shell (SSH) is a protocol that uses strong authentication
and encryption for remote access across a non-secure network. SSH
provides remote login, remote program execution, file copy, and
other functions. The protocol is intended as a secure replacement
for rlogin , rsh , and
rcp in a UNIX environment. To secure the
information sent over administrative connections, use SSHv2 for CLI
configuration. By default, Junos OS enables SSHv2 and disables SSHv1
because of security concerns. |
Zeroization |
Zeroizing a device erase all CSPs and other user-created data on the device before its operation as a FIPS cryptographic module or in preparation for repurposing the devices for non-FIPS operation. See Zeroize the System to Clear System Data for FIPS Mode. |
Cryptographic Algorithms and Protocols Supported in FIPS Mode
Table 3 lists the cryptographic algorithms and protocols supported on your device in FIPS mode.
Protocol |
Key Exchange |
Authentication |
Cipher |
Integrity |
---|---|---|---|---|
SSHv2 |
|
Host (module):
Client (user):
|
|
|
Table 4 summarizes the details of supported cryptographic algorithms in FIPS mode. Symmetric methods use the same key for encryption and decryption, whereas asymmetric methods use different keys for encryption and decryption.
Cryptographic Algorithms |
Description |
---|---|
AES |
Advanced Encryption Standard (AES) algorithm is defined in FIPS PUB 197. The AES algorithm uses keys of 128 or 256 bits to encrypt and decrypt data in blocks of 128 bits. |
ECDH |
Elliptic Curve Diffie-Hellman (ECDH) is a variant of the Diffie-Hellman key exchange algorithm that uses cryptography based on the algebraic structure of elliptic curves over finite fields. ECDH enables two parties, both possessing an elliptic curve public-private keypair, to create a shared secret over an insecure channel. You can use the shared secret as a key or to derive another key for encrypting subsequent communications using a symmetric key cipher. |
ECDSA |
Elliptic Curve Digital Signature Algorithm (ECDSA) is a variant of the Digital Signature Algorithm (DSA) that uses cryptography based on the algebraic structure of elliptic curves over finite fields. The bit size of the elliptic curve determines the difficulty of decrypting the key. The public key believed to be needed for ECDSA is about twice the size of the security level, in bits. You can configure ECDSA using the P-256, P-384, and P-521 curves under OpenSSH. |
HMAC |
Hash-based Message Authentication Code (HMAC) defined as “Keyed-Hashing for Message Authentication” in RFC 2104. HMAC combines hashing algorithms with cryptographic keys for message authentication. For Junos OS in FIPS mode, HMAC uses the iterated cryptographic hash functions SHA-1, SHA-256, and SHA-512 along with a secret key. |
SHA-256 and SHA-512 |
Secure hash algorithm (SHA) belonging to the SHA-2 standard defined in FIPS PUB 180-2. Developed by National Institute of Standards and Technology (NIST), SHA-256 produces a 256-bit hash digest and SHA-512 produces a 512-bit hash digest. |