FIPS 140-3 Configuration

PIV, OpenPGP, OATH, FIDO, Security Domain (SD) and HSMAuth functional units must be in FIPS Approved mode for operational use.

To initialize the module in Approved mode, use ykman CLI.

Note

  • All CLI examples provided below assume either a new or freshly reset device.
  • All access codes and keys used are the default values.
  • All examples are run from the command line.

Initializing the Approved Mode

FIDO Initializing Procedure

Set a PIN.

ykman fido access change-pin --new-pin <PIN>

Example

ykman fido access change-pin --new-pin 32145699

HSMAuth Initializing Procedure

Change the default management key.

ykman hsmauth access change-management-key -m <MGMT-KEY> -n <new-MGMT-KEY>

Example

ykman hsmauth access change-management-key -m "00000000000000000000000000000000" -n "59e48ecde5a5aeeb3dd2be861ee198a8"

OATH Initializing Procedure

Set an authentication key.

ykman oath access change -n <Authentication-Key>

Example

ykman oath access change -n 32145699

OpenPGP Initializing Procedure

Change the default user PIN.

ykman openpgp access change-pin -P <PIN> -n <new-PIN>

Example

ykman openpgp access change-pin -P 123456 -n 32145699

Change the default admin PIN.

ykman openpgp access change-admin-pin -a <admin-PIN> -n <new-admin-PIN>

Example

ykman openpgp access change-admin-pin -a 12345678 -n 32145699

PIV Initializing Procedure

Change the default PIN.

ykman piv access change-pin -P <PIN> -n <new-PIN>

Example

ykman piv access change-pin -P 123456 -n 32145699

Change the default PUK.

ykman piv access change-puk -p <PUK> -n <new-PUK>

Example

ykman piv access change-puk -p 12345678 -n 32145699

Change the default management key.

ykman piv access change-management-key -m <MGMT> -n <new-MGMT> -a AES192

Example

ykman piv access change-management-key -m 010203040506070801020304050607080102030405060708 -n b0bba5c8f76297f680a4731b200fcb6afb8052c34a42fbf1 -a AES192

Security Domain Initializing Procedure

For Security Domains: SCP03 and SCP11.

Change the default key set.

ykman --scp <KEY1:KEY2:KEY3> sd keys import 0x01 2 <new-KEY1:new-KEY2:new-KEY3>

Example

ykman --scp 404142434445464748494a4b4c4d4e4f:404142434445464748494a4b4c4d4e4f:404142434445464748494a4b4c4d4e4f sd keys import 0x01 2 f4e4d4c4b4a494847464544434241404:f4e4d4c4b4a494847464544434241404:f4e4d4c4b4a494847464544434241404

Zeroisation Procedure

To zeroise the module, use the following commands.

FIDO Zeroisation

ykman fido reset --force

Note

When using the --force flag, the command must be run immediately after inserting the YubiKey.

HSMAuth Zeroisation

ykman hsmauth reset --force

OATH Zeroisation

ykman oath reset --force

OpenPGP Zeroisation

ykman openpgp reset --force

PIV Zeroisation

ykman piv reset --force

Security Domain Zeroisation

ykman sd reset --force