# Understanding FIPS Mode of Operation Terminology and Supported Cryptographic Algorithms

Use the definitions of FIPS terms and supported algorithms to help you understand Junos OS in FIPS mode of operation.

## FIPS Terminology

Critical security parameter (CSP)—Security-related information—for example, secret and private
cryptographic keys and authentication data such as passwords and personal
identification numbers (PINs)—whose disclosure or modification
can compromise the security of a cryptographic module or the information
it protects.

Cryptographic
module—The set of hardware, software, and firmware that implements
approved security functions (including cryptographic algorithms and
key generation) and is contained within the cryptographic boundary.
SRX Series devices are certified at FIPS 140-2 Level 2.

Cryptographic
Officer—Person 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 Understanding Roles and Services for Junos OS in FIPS Mode of Operation.

ESP—Encapsulating Security Payload (ESP) protocol. The part of the
IPsec protocol that guarantees the confidentiality of packets through
encryption. The protocol ensures that if an ESP packet is successfully
decrypted, and no other party knows the secret key the peers share,
the packet was not wiretapped in transit.

FIPS—Federal Information Processing Standards. FIPS 140-2 specifies
requirements for security and cryptographic modules. Junos OS in FIPS
mode of operation complies with FIPS 140-2 Level 2.

IKE—The Internet Key Exchange (IKE) is part of IPsec and provides
ways to securely negotiate the shared private keys that the authentication
header (AH) and ESP portions of IPsec need to function properly. IKE
employs Diffie-Hellman key-exchange methods and is optional in IPsec.
(The shared keys can be entered manually at the endpoints.)

IPsec—The IP Security (IPsec) protocol. A standard way to add security
to Internet communications. An IPsec security association (SA) establishes
secure communication with another FIPS cryptographic module by means
of mutual authentication and encryption.

KATs—Known answer tests. System self-tests that validate the output
of cryptographic algorithms approved for FIPS and test the integrity
of some Junos OS modules. For details, see Understanding FIPS Self-Tests.

SA—Security association (SA). A connection between hosts that allows
them to communicate securely by defining, for example, how they exchange
private keys. As Cryptographic Officer, you must manually configure
an internal SA on devices running Junos OS in FIPS mode of operation.
All values, including the keys, must be statically specified in the
configuration.

SPI—Security parameter index (SPI). A numeric identifier used with
the destination address and security protocol in IPsec to identify
an SA. Because you manually configure the SA for Junos OS in FIPS
mode of operation, the SPI must be entered as a parameter rather than
derived randomly.

SSH—A protocol that uses strong authentication and encryption for
remote access across a nonsecure network. SSH provides remote login,
remote program execution, file copy, and other functions. It 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. In Junos
OS, SSHv2 is enabled by default, and SSHv1, which is not considered
secure, is disabled.

Zeroization—Erasure of all CSPs and other user-created data on a device
before its operation as a FIPS cryptographic module—or in preparation
for repurposing the device for non-FIPS operation. The Cryptographic
Officer can zeroize the system with a CLI operational command. For
details, see Understanding Zeroization to Clear System Data for FIPS Mode of Operation.

RSA—RSA is a public-key cryptosystems which is widely used for secure
data transmission. In the cryptosystem, the encryption key is public
and the decryption key is private. A user can create and publish a
public key based on two large prime numbers, along with an auxiliary
value. The prime numbers must be kept private.

## Supported Cryptographic Algorithms

Each implementation of an algorithm is checked by a series of known answer test (KAT) self-tests. Any self-test failure results in a FIPS error state.

**Best Practice**

For FIPS 140-2 compliance, use only FIPS-approved cryptographic algorithms in Junos OS in FIPS mode of operation.

The following cryptographic algorithms are supported in FIPS mode of operation. Symmetric methods use the same key for encryption and decryption, while asymmetric methods (preferred) use different keys for encryption and decryption.

AES—The Advanced Encryption Standard (AES), defined in FIPS PUB
197. The AES algorithm uses keys of 128, 192, or 256 bits to encrypt
and decrypt data in blocks of 128 bits.

Diffie-Hellman—A method of key exchange across a nonsecure environment (such
as the Internet). The Diffie-Hellman algorithm negotiates a session
key without sending the key itself across the network by allowing
each party to pick a partial key independently and send part of that
key to the other. Each side then calculates a common key value. This
is a symmetrical method, and keys are typically used only for a short
time, discarded, and regenerated.

ECDH—Elliptic Curve Diffie-Hellman. A variant of the Diffie-Hellman
key exchange algorithm that uses cryptography based on the algebraic
structure of elliptic curves over finite fields. ECDH allows two parties,
each having an elliptic curve public-private key pair, to establish
a shared secret over an insecure channel. The shared secret can be
used either as a key or to derive another key for encrypting subsequent
communications using a symmetric key cipher.

ECDSA—Elliptic Curve Digital Signature Algorithm. 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. ECDSA using the P-256, P-384,
or the P-521 curve can be configured under OpenSSH.

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 of operation,
HMAC uses the iterated cryptographic hash function SHA-1 (designated
as HMAC-SHA1) along with a secret key.

3DES (3des-cbc)—Encryption standard based on the original Data Encryption Standard
(DES) from the 1970s that used a 56-bit key and was cracked in 1997.
The more secure 3DES is DES enhanced with three multiple stages and
effective key lengths of about 112 bits. For Junos OS in FIPS mode
of operation, 3DES is implemented with cipher block chaining (CBC).