Deploying the YubiKey 5 FIPS Series

The YubiKey 5 FIPS Series keys are certified under FIPS 140-2 Level 1 and FIPS 140-2 Level 2. Keys in this series have two certificates, each corresponding to a different level of certification, but both certificates apply to the same keys. The YubiKey chipset is certified at FIPS 140-2 Physical Security Level 3, providing both tamper-evidence and tamper-resistance. This means the YubiKey 5 FIPS Series keys can be used in an Overall Security Level 1 or 2 environment without issue. Depending on which certification the YubiKey 5 FIPS Series is being deployed under, there are different requirements as to how the various functions are to be secured. To review the differences between the considerations and requirements for a FIPS 140-2 Level 1 authenticator and those for a FIPS 104-2 Level 2 authenticator, see FIPS Level 1 vs FIPS Level 2.

NIST SP 800-63-B provides guidance on the level required for your deployment.

In cases where only Level 1 is required, the end-user experience with a YubiKey 5 FIPS Series is similar to that of a user with key from the YubiKey 5 Series. The user experience with YubiKey 5 FIPS Series deployed under FIPS 140-2 Level 2 is much more onerous.

Configuring the YubiKey 5 FIPS Series under FIPS 140-2 Level 1

Without any configuration, the YubiKey 5 FIPS Series meets the requirements for the FIPS 140-2 Level 1 certification as an authenticator with FIPS-approved algorithms. Security Level 1 allows an authenticator to be used on a general purpose computing system using an unevaluated operating system. This can include computers or OSs that are configured in a FIPS-certified mode of operation, but which might not have extensive access controls or auditing features. Any function on the YubiKey may be used. The only non-approved algorithms are:

  • RSA 1024-bit keys
  • EdDSA keys
  • X25519 keys

Configuring the YubiKey 5 FIPS Series under FIPS 140-2 Level 2

Security Level 2 includes all of the requirements for FIPS Level 1, but further enforces enhanced physical security mechanisms and a separation of functions with regard to role-based authentication. Security Level 2 allows an authenticator to be used on a general purpose computing system with an operating system that has been evaluated at EAL2 with role-based access control mechanisms and comprehensive auditing.

The role-based authentication minimum requirement is one in which a cryptographic module authenticates the authorization of an operator to assume a specific role and perform a corresponding set of services. A Security Officer role is required for services such as importing or generating new credentials or programming new OTP secrets on a YubiKey. The User role covers the actual usage of programmed credentials for authentication. The Crypto Officer role is that of “a cryptographic officer [who] is authorized to perform cryptographic initialization and management functions on a CKMS [Cryptographic Key Management System] and its cryptographic modules.” (Quote taken from SP 800-130 (DOI).)

To act in an Overall Security Level 2 environment, a YubiKey must be configured in a FIPS-approved mode of operation OR receive an exemption from the security auditor.

Note

To load key data over NFC a secure channel must be used. For more information on Secure Channel (SCP03) in connection with YubiKeys, see the topic of that name in the YubiKey 5 Series Technical Manual. For more information on SCP03 requirements from NIST, see NIST Special Publication 800-63C and NIST Special Publication 800-63B.

When using a security key from the YubiKey 5 FIPS Series as a FIPS 140-2 Level 2 authenticator in a FIPS environment, in order for the device to be considered as operating in a FIPS-approved mode, all of the applications must be in a FIPS-approved mode of operation.

Not all of the applications on the YubiKey 5 FIPS Series are in a FIPS mode of operation by default. The person filling the crypto officer role in deploying the YubiKey 5 FIPS Series in a secured environment must define and supervise an initialization and delivery process that ensures that each application on the YubiKey 5 FIPS Series is in a FIPS-approved mode of operation before being deployed to end-users.

Every function of the YubiKey must require permissions defined by role; in practice, this is accomplished by setting the access codes, management keys, passwords, PINs, etc. for every function on the YubiKey.

To ensure that each application is in a FIPS-approved mode of operation, use the YubiKey Manager (ykman) Command Line Interface (CLI).

Note

It is not permissible to use U2F when the YubiKey 5 FIPS Series is deployed as a 140-2 Level 2 authenticator.

Note

Even if FIPS 140-2 Level 2 does not require that all the credentials across all the applications be changed from the default values before the YubiKey 5 FIPS Series device is deployed to the end user, it is highly recommended.

Credentials and Permitted Values

The table below lists the credentials required, allowed values, and credential owner for the supported applications.

Application Credential Permitted Values
Credential
Owner
One Time Password
(OTP)

Access Code:
OTP Slot 1
OTP Slot 2
6 byte access codes
6 byte access codes
Crypto Officer
OATH
Authentication
Key
14-64 byte HMAC
SHA1/SHA256 key
Crypto Officer
PIV Smart Card Management Key 3-key TDES key Crypto Officer
PUK 6-8 byte PIN Crypto Officer
PIN 6-8 byte PIN
Authenticated
User
WebAuthn PIN 6 to 32 byte PIN
Authenticated
User

The instructions for the individual applications are provided in the following topics.