FIPS Mode

The primary feature associated with activating FIPS Mode is that it enables the use of a FIPS 140-2 Cryptographic Module when processing traffic. In general, the FIPS Mode feature in the Traffic Manager is to help an organization towards FIPS compliance.

Additionally, various configurations/operations of the Traffic Manager are restricted when FIPS Mode is configured, for two reasons:

1.To ensure inputs to the cryptographic module are within the validated range for FIPS 140-2.

2.To ensure that operations that are mutually exclusive with the requirements for FIPS 140-2 cannot be enabled. An example of a restricted operation is SSL 3.0 (only TLS 1.0 and onward are compatible with FIPS 140-2).

FIPS 140-2

FIPS 140-2 is the second revision of the FIPS 140 series publication, published by the National Institute of Standards and Technology (NIST). This is described in detail at the following location: http://csrc.nist.gov/publications/fips/fips140-2/fips1402.pdf

This document describes the security requirements for cryptographic modules. There are 4 security levels to the FIPS 140-2 requirements, ranging from 1 - 4. It is generally understood that software-only security modules are only capable of achieving the lowest security level (1); higher security levels have requirements, such as tamper protection, that can only be achieved in a physical product. In general these requirements relate to processes involving cryptographic operations.

In addition, several other NIST "Special Publications" should be considered:

"Guidelines for the Selection, Configuration, and Use of Transport Layer Security (TLS) Implementations" SP 800-52r1 (http://dx.doi.org/10.6028/NIST.SP.800-52r1)

"Transitions: Recommendation for Transitioning the Use of Cryptographic Algorithms and Key Lengths" SP 800-131A (http://csrc.nist.gov/publications/nistpubs/800-131A/sp800-131A.pdf):

For considerations of what constitutes "key strength" SP 800-51 Part 1 (http://csrc.nist.gov/publications/nistpubs/800-57/sp800-57_part1_rev3_general.pdf).

The Traffic Manager does not implement all recommendations made in this document.

FIPS 140-2 and the Traffic Manager

The FIPS 140-2 cryptographic module used in Linux variants of the Traffic Manager is the Riverbed® Cryptographic Security Module (RCSM) (certificate number 2099). Details about the FIPS 140-2 validity of this module can be found at the NIST CMVP page, at: http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/1401val2014.htm#2099

When FIPS Mode is enabled, upon start-up of the Traffic Manager the RCSM will be loaded and initialized. Any failure during initialization (e.g. Power On Self Tests) will be reported as a fatal error - all cryptographic operations in the Traffic Manager FIPS boundary will be disabled (for example, SSL decrypting virtual servers and SSL encrypting pools).

The Traffic Manager FIPS boundary

The Traffic Manager uses cryptography in a number of features, the primary example being for SSL/TLS. However, not all of these cryptographic uses are included within the designated Traffic Manager FIPS boundary shown below:

This boundary is most simply defined as:

1.All the cryptographic operations performed for the processing of traffic.

2.All cryptographic interactions with cryptographic objects used when processing traffic.

When FIPS Mode is in operation:

Item (1) covers primarily TLS; all data that is processed by the Traffic Manager in terms of virtual servers and pools will use the FIPS 140-2 cryptographic module for all cryptography. This includes subordinate operations in TLS such as OCSP requests.

Item (2) considers the manipulation of cryptographic objects stored as part of a Traffic Manager configuration, the primary example being PKI certificates and private keys. Any cryptographic interaction with these objects will be performed with the FIPS 140-2 cryptographic module.

All "control-plane" cryptography is not included within the Traffic Manager FIPS boundary. To clarify, the following, non exhaustive, list of functionality is not within the Traffic Manager FIPS boundary:

Traffic Manager SNMP interaction

The Traffic Manager SOAP API

The Traffic Manager REST API

The Traffic Manager Admin UI

SSH access to a Traffic Manager Appliance

The importance of (2) in the boundary is that in the case of, for example, the SOAP or Admin UI; although the cryptography used for the transport is not using a FIPS 140-2 cryptographic module, any operations requested that might manipulate cryptographic objects for use within the Traffic Manager FIPS boundary will be performed with a FIPS 140-2 cryptographic module.

When considering whether FIPS Mode is suitable for your deployment requirements, you should ensure that you consider whether the Traffic Manager FIPS boundary provides sufficient functional coverage.

TLS as an exception

As mentioned above, the general definition of the Traffic Manager FIPS boundary is that all cryptographic operations performed within that boundary are done using a FIPS 140-2 cryptographic module.

There is an exception to this, where MD5 is required as part of the TLS 1.0 handshake protocol. Without MD5, it would be impossible to inter-operate with TLS clients requiring only the latest version of TLS. This case is covered by a discussion in the "Guidelines for the Selection and Use of Transport Layer Security (TLS) Implementations" document referenced above, whereby this specific use of MD5 in these very specific parts of the TLS handshake protocol are deemed safe. Refer to this document for further technical details.

As such the Traffic Manager SSL implementation uses an MD5 algorithm from another cryptographic implementation for these specific cases alone, disregarding that MD5 is generally not available from a FIPS 140-2 cryptographic module.

Equally, there are other uses of the MD5 algorithm within the Traffic Manager FIPS boundary, however these have been identified as unrelated to cryptographic or security purposes (i.e. the MD5 algorithm is used as a hash function, rather than as a cryptographic digest).