All modules
CMVP Validated Module · FIPS 140-3 Security Policy

Cisco FIPS Object Module

Certificate#4747StandardFIPS 140-3Level1TypeFirmware-hybridEmbodimentMulti-Chip Stand AloneStatusActiveVendorCisco Systems, Inc.
Medium review priority  ·  no TCB surface named  ·  last validated 23 months ago. How this is derived →

Certificate

StandardFIPS 140-3
Overall level1
Module typeFirmware-hybrid
EmbodimentMulti-Chip Stand Alone
StatusActive
Sunset date7/31/2029
CaveatNo assurance of the minimum strength of generated SSPs (e.g., keys).
VendorCisco Systems, Inc.

Approved Algorithms (78)

AlgorithmACVP Cert
AES-CBCA4446
AES-CCMA4446
AES-CFB1A4446
AES-CFB128A4446
AES-CFB8A4446
AES-CMACA4446
AES-CTRA4446
AES-ECBA4446
AES-GCMA4446
AES-GMACA4446
AES-KWA4446
AES-KWPA4446
AES-OFBA4446
AES-XTS Testing Revision 2.0A4446
Counter DRBGA4446
DSA KeyGen (FIPS186-4)A4446
DSA PQGGen (FIPS186-4)A4446
DSA PQGVer (FIPS186-4)A4446
DSA SigGen (FIPS186-4)A4446
DSA SigVer (FIPS186-4)A4446
ECDSA KeyGen (FIPS186-4)A4446
ECDSA KeyVer (FIPS186-4)A4446
ECDSA SigGen (FIPS186-4)A4446
ECDSA SigVer (FIPS186-4)A4446
Hash DRBGA4446
HMAC DRBGA4446
HMAC-SHA-1A4446
HMAC-SHA2-224A4446
HMAC-SHA2-256A4446
HMAC-SHA2-384A4446
HMAC-SHA2-512A4446
HMAC-SHA2-512/224A4446
HMAC-SHA2-512/256A4446
HMAC-SHA3-224A4446
HMAC-SHA3-256A4446
HMAC-SHA3-384A4446
HMAC-SHA3-512A4446
KAS-ECC CDH-Component SP800-56Ar3A4446
KAS-ECC-SSC Sp800-56Ar3A4446
KAS-FFC-SSC Sp800-56Ar3A4446
KAS-IFC-SSCA4446
KDA HKDF Sp800-56Cr1A4446
KDA OneStep Sp800-56Cr1A4446
KDF IKEv2A4446
KDF SNMPA4446
KDF SP800-108A4446
KDF SRTPA4446
KDF SSHA4446
KTS-IFCA4446
PBKDFA4446
RSA KeyGen (FIPS186-4)A4446
RSA SigGen (FIPS186-4)A4446
RSA SigVer (FIPS186-4)A4446
Safe Primes Key GenerationA4446
Safe Primes Key VerificationA4446
SHA-1A4446
SHA2-224A4446
SHA2-256A4446
SHA2-384A4446
SHA2-512A4446
SHA2-512/224A4446
SHA2-512/256A4446
SHA3-224A4446
SHA3-256A4446
SHA3-384A4446
SHA3-512A4446
SHAKE-128A4446
SHAKE-256A4446
TDES-CBCA4446
TDES-CFB1A4446
TDES-CFB64A4446
TDES-CFB8A4446
TDES-CMACA4446
TDES-CTRA4446
TDES-ECBA4446
TDES-OFBA4446
TLS v1.2 KDF RFC7627A4446
TLS v1.3 KDFA4446

Derived Review-Risk Graph (review prompts, not findings)

flowchart LR
  %% Deterministic review-risk graph for Cisco FIPS Object Module
  %% Review prompts and evidence gaps, NOT vulnerability findings.
  subgraph CMVP["CMVP-disclosed clues"]
    C2["[low] Firmware update / recovery<br/>/ rollback (referenced in<br/>text)<br/><i>update</i>"]
    C3["[low] Self-test / status surface<br/>(referenced in text)<br/><i>status output<br/>Show Status<br/>self-test</i>"]
    C5["[low] Protocol / secure-channel<br/>references (may be KDF<br/>names, not a live channel)<br/><i>TLS<br/>SSH<br/>IKEV</i>"]
    C6["[low] Operating system / runtime<br/>referenced (boundary<br/>membership not asserted)<br/><i>operating system<br/>linux<br/>application</i>"]
  end
  subgraph Inference["Derived inference"]
    I2["Possible only, trusted<br/>code is reachable through<br/>update and recovery paths."]
    I3["Possible only, some<br/>services may process input<br/>before, or without,<br/>operator authentication."]
    I5["Possible only, a protocol<br/>is referenced, but whether<br/>it is a live channel or<br/>only a KDF/algorithm name<br/>is unconfirmed."]
    I6["Possible only, a<br/>runtime/OS is referenced,<br/>but its membership in the<br/>cryptographic boundary is<br/>not established."]
  end
  subgraph Risk["Reviewer question"]
    R2["Are update images<br/>authenticated before<br/>parsing, and are<br/>downgrade/rollback paths<br/>constrained?"]
    R3["Can unauthenticated<br/>services leak state,<br/>consume resources, or<br/>transition security state?"]
    R5["If a live TLS/SSH/IKE<br/>channel exists, could<br/>library CVEs apply, or is<br/>this only a<br/>KDF/documentation name?"]
    R6["If the OS/runtime is<br/>in-boundary, could its<br/>CVEs be hidden by<br/>firmware-only versioning?"]
  end
  subgraph Evidence["Evidence needed to close"]
    E2["confirm the disclosure<br/>itself (keyword hit,<br/>context unverified) ·<br/>update image format ·<br/>signature-before-parse<br/>proof · anti-rollback /<br/>downgrade policy"]
    E3["confirm the disclosure<br/>itself (keyword hit,<br/>context unverified) ·<br/>pre-auth reachability<br/>matrix · rate limits and<br/>output redaction ·<br/>abuse-case tests"]
    E5["confirm the disclosure<br/>itself (keyword hit,<br/>context unverified) ·<br/>library identity and<br/>version ·<br/>certificate-validation<br/>behaviour · protocol-CVE<br/>disposition"]
    E6["confirm the disclosure<br/>itself (keyword hit,<br/>context unverified) ·<br/>runtime identity and<br/>config · kernel/runtime<br/>hardening profile ·<br/>patch/backport manifest"]
  end
  C2 --> I2 --> R2 --> E2
  C3 --> I3 --> R3 --> E3
  C5 --> I5 --> R5 --> E5
  C6 --> I6 --> R6 --> E6
  classDef clue fill:#eef3f9,stroke:#6f7f91,color:#1f3a5f;
  classDef infer fill:#fff7e6,stroke:#b98500,color:#6b4e00;
  classDef risk fill:#fbe9e9,stroke:#b02a2a,color:#7a1f1f;
  classDef evidence fill:#e6f4ea,stroke:#1e7d34,color:#14532d;
  class C2,C3,C5,C6 clue;
  class I2,I3,I5,I6 infer;
  class R2,R3,R5,R6 risk;
  class E2,E3,E5,E6 evidence;
Underlying clues
flowchart LR
  %% Deterministic clue tier for Cisco FIPS Object Module
  %% confidence: high = structured record field; medium = structured but soft; low (dashed) = bare keyword hit, context unverified
  subgraph CMVP["CMVP-disclosed clues (deterministic)"]
    C2["[low] Firmware update / recovery / rollback (referenced in text)<br/><i>update</i><br/>src: text:keyword"]
    C3["[low] Self-test / status surface (referenced in text)<br/><i>status output<br/>Show Status<br/>self-test</i><br/>src: text:keyword"]
    C5["[low] Protocol / secure-channel references (may be KDF names, not a live channel)<br/><i>TLS<br/>SSH<br/>IKEV</i><br/>src: text:keyword"]
    C6["[low] Operating system / runtime referenced (boundary membership not asserted)<br/><i>operating system<br/>linux<br/>application</i><br/>src: text:keyword"]
  end
  classDef clueHigh fill:#eef3f9,stroke:#2f6fb0,stroke-width:2px,color:#1f3a5f;
  classDef clueMedium fill:#eef3f9,stroke:#6f7f91,color:#1f3a5f;
  classDef clueLow fill:#f7f7f7,stroke:#999,stroke-dasharray:4 4,color:#444;
  class C2,C3,C5,C6 clueLow;

Security Policy, page by page

Page 1

Cisco Systems, Inc. For Cisco FIPS Object Module Last Updated: July 30, 2024, Version 1.3 Americas Headquarters: Cisco Systems, Inc., 170 West Tasman Drive, San Jose, CA 95134-1706 USA

Page 2
Table of Contents
#SectionPage
Page 3
ISO/IEC 24759 Section 6.FIPS 140-3 Section TitleSecurity Level
1General1
2Cryptographic Module Specification1
3Cryptographic Module Interfaces1
4Roles, Services, and Authentication1
5Software/Firmware Security1
6Operational Environment1
7Physical Security1
8Non-Invasive SecurityN/A
9Sensitive Security Parameter Management1
10Self-Tests1
11Life-Cycle Assurance1
12Mitigation of Other AttacksN/A
Overall Level1

Object Module”, firmware version 7.3a by Cisco Systems, Inc. (hereinafter referred to as FOM or module). This Security Policy is provided in accordance with ISO/IEC 19790 Annex B, FIPS 140-3, and NIST SP800-140B. This Security Policy was prepared as part of the Level 1 FIPS The following table lists the level of validation for each area in the FIPS PUB 140-3. Table 1 - Security Levels The Cisco FIPS Object Module (FOM) cryptographic module is a hybrid firmware cryptographic library in a multi-chip standalone embodiment that allows for a vast array of Cisco's networking and collaboration products to use approved algorithms. The module is intended to run on the tested platforms listed in Table 2 and on other various host platforms, so the physical perimeter of the module is the tested platforms. The cryptographic module comprises Cisco’s FIPS Object Module (FOM) cryptographic module (Firmware Version: 7.3a) and the processors (only for algorithm acceleration) and only operates in the approved mode of operation. The module is validated according to FIPS 140-3 at overall security level 1. Please refer to Table 1 above for the individual areas. The cryptographic module provides the cipher operations and Key Derivation functions to support the following protocols: IKEv2/IPSec, sRTP, SSH, TLS and SNMPv3. Full implementations of these protocols are not supported by the module. The module has been tested on the following Operational Environments.

Page 4
#Operating SystemHardware PlatformProcessorPAA/Acceleration
1Linux 4.5Cisco Unified Computing System (UCS)Intel Xeon Gold 6244 (Cascade Lake) with AES-NIWith PAA
2Linux 5.4ISR 4321Intel Atom C2558 (Silvermont) with AES- NIWith PAA
3Linux 4.4Cisco Catalyst 9300Intel Xeon D-1526 (Broadwell) with AES-NIWith PAA
#Operating SystemHardware Platform
1Linux 4 (FX-OS)C220 M5 w/KVM/AWS
2Linux 4 (FX-OS)C240 M5 w/ESXi/KVM/AWS
3Linux 4 (FX-OS)C480 M5 w/ESXi/KVM/AWS
4Linux 4 (FX-OS)E160-M3 w/ESXi/KVM/AWS
5Linux 4 (FX-OS)E180D-M3 w/ESXi/KVM/AWS
CAVP CertAlgorithm and StandardMode/MethodDescription / Key Size(s) / Key Strength(s)Use / Function
A4446AES [FIPS 197, SP800-38A]CBC, ECB, CTR, CFB 1/8/128, OFBKey Length: 128, 192 and 256 bitsBlock cipher providing encryption/decryption with data confidentiality from the modes of operation.

Table 2 - Tested Operational Environments In addition to the platforms listed in Table 2, Cisco has also tested the module on the following platforms and claims vendor affirmation on them. Table 3 - Vendor Affirmed Operational Environments The CMVP makes no statement as to the correct operation of the module or the security strengths of the generated keys when ported to an operational environment which is not listed on the validation certificate. By design, the module is only able to support approved mode of operations following the steps in Section 11 of this document. The module doesn’t claim the implementation of a degraded mode The table below lists all Approved security functions of the module, including specific key size(s) - in bits otherwise noted - employed for approved services, and implemented modes of operation. Only the algorithms, modes, and key sizes that are implemented by the module are shown in this table.

Page 5
A4446AES [FIPS 197, SP800-38C]CCMKey Length: 128, 192 and 256 bitsBlock cipher providing confidentiality an authentication through Counter with Cipher Block Chaining- Message Authentication Code
A4446AES [FIPS 197, SP800-38B]CMACKey Length: 128, 192 and 256 bitsA cipher (AES) based MAC providing authentication, encryption and decryption
A4446AES [FIPS 197, SP800-38D]GCM, GMACKey Length: 128, 192 and 256 bitsAuthentication and encryption. Providing confidentiality of data thru Authentication, encryption and decryption.
A4446AES [SP800-38F]KW, KWPKey Length: 128, 192 and 256 bitsKey wrap/unwrap. Key establishment methodology provides between 128 and 256 bits of encryption strength
A4446AES [FIPS 197, SP800-38E]XTSKey Length: 128 and 256 bitsAuthenticated Symmetric Encryption and Decryption; XTS mode is only approved for storage applications per SP800-38E.
A4446SHS [FIPS 180-4]SHA-1, SHA-224, SHA-256, SHA-384, SHA-512N/AMessage Digest; non- digital-signature and legacy use for SHA1, all other SHAs acceptable for hash functions applications.
A4446HMAC [FIPS 198- 1]HMAC-SHA-1, HMAC-SHA2-224, HMAC-SHA2-256, HMAC-SHA2-384, HMAC-SHA2-512, HMAC-SHA2- 512/224, HMAC- SHA2-512/256, HMAC-SHA3-224, HMAC-SHA3-256, HMAC-SHA3-384, HMAC-SHA3-512Key Length: 112 bits or greaterIntegrity based on secret key. Using standard SHA HASH with secret key for calculations and verification.
A4446CTR_DRBG [SP800-90Arev1]AES-128/192/256 Derivation Function Enabled; Prediction Resistance: YesN/ADeterministic Random Bit Generators (DRBG); uses an algorithm to produce random output
Page 6
A4446Hash_DRBG [SP800-90Arev1]SHA- 1/224/256/384/512N/ADeterministic Random Bit Generators (DRBG); uses an algorithm to produce random output
A4446HMAC_DRBG [SP800-90Arev1]HMAC-SHA-1, HMAC-SHA-224, HMAC-SHA-256, HMAC-SHA-384 and HMAC-SHA- 512N/ADeterministic Random Bit Generators (DRBG); uses an algorithm to produce random output
A4446DSA [FIPS 186-4]DSA KeyGenKey lengths: 2048, 3072 bitsDSA key generation
A4446DSA [FIPS 186-4]DSA PQGGenKey lengths: 2048, 3072 bitsDSA domain parameter generation
A4446DSA [FIPS 186-4]DSA PQGVerKey lengths: 2048, 3072 bits (PQGVer has Key Length 1024 with SHA-1)DSA domain parameter verification
A4446DSA [FIPS 186-4]DSA SigGenKey lengths: 2048, 3072 bitsDSA Signature Generation
A4446DSA [FIPS 186-4]DSA SigVerKey lengths: 2048, 3072 bits (SigVer has Key Length 1024 with SHA-1)DSA signature verification
A4446ECDSA [FIPS 186-4]ECDSA KeyGenCurves: B-233, B-283, B-409, B-571, K-233, K-283, K-409, K-571, P-224, P-256, P-384, P-521Deterministic ECDSA digital signature key pair generation
A4446ECDSA [FIPS 186-4]ECDSA KeyVerCurves: B-233, B-283, B-409, B-571, K-233, K-283, K-409, K-571, P-224, P-256, P-384, P-521Deterministic ECDSA digital signature key pair verification,
A4446ECDSA [FIPS 186-4]ECDSA SigGenCurves: B-233, B-283, B-409, B-571, K-233, K-283, K-409, K-571, P-224, P-256, P-384, P-521Deterministic ECDSA digital signature generation
A4446ECDSA [FIPS 186-4]ECDSA SigVerCurves: B-233, B-283, B-409, B-571, K-233, K-283, K-409, K-571, P-224, P-256, P-384, P-521Deterministic ECDSA digital signature verification, Accept or reject the signature
A4446RSA [FIPS 186-4]RSA KeyGen: - Mode: B.3.4Modulus: 2048/3072/4096 bitsDigital signature key pair consists of an RSA private key, which is
Page 7
- 2048/3072/4096 with SHA-256used to compute a digital signature, and an RSA public key, which is used to verify a digital signature. Key pair shall not be used for other purposes
A4446RSA [FIPS 186-4]RSA SigGen: - PKCS1-v1.5 - 2048/3072/4096 bits with SHA- 224/256/384/512Modulus: 2048/3072/4096 bitsPrivate key to generate a digital signature
A4446RSA [FIPS 186-4]RSA SigVer: - PKCS1-v1.5 - 2048/3072/4096 bits with SHA- 1/224/256/384/512Modulus: 1024/2048/3072/4096 bitsRSA signature verification, accept or reject the signature
A4446KAS (ECC) [SP800-56Arev3]KAS (ECC): Scheme: ephemeralUnified KAS Role: initiator, responder KAS (KAS-SSC Cert. #A4446)KAS (ECC): Curves: B-233, B-283, B-409, B-571, K-233, K-283, K-409, K-571, P-224, P-256, P-384, P-521with TLSv1.2 KDF (SP800-135rev1)Key Agreement Scheme per SP800-56Arev3 with key derivation function (SP800- 135rev1) Note: The module’s KAS (ECC) implementation is FIPS 140-3 IG D.F Scenario 2 (path 2) compliant
A4446KAS-ECC CDH Component [SP 800-56Arev3]KAS-ECC CDHCurves: B-233, B-283, B-409, B-571, K-233, K-283, K-409, K-571, P-224, P-256, P-384, P-521ECC CDH Primitive used in shared secret computation
A4446KAS-SSC (ECC) [SP 800-56Arev3]KAS-ECC-SSC: Scheme: ephemeralUnified: KAS Role: initiator, responderKAS-ECC-SSC: Curves: P-224, P-256, P-384, P-521Key establishment methodology provides between 112 and 256 bits of encryption strength
A4446KAS-SSC (FFC) [SP 800-56Arev3]KAS-FFC-SSC: Scheme: dhEphem: KAS Role: initiator, responderKAS-FFC-SSC: FB, FC, ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, ffdhe8192, modp-2048, modp- 3072, modp-4096, modp-6144, modp- 8192Key establishment methodology provides between 112 and 200 bits of encryption strength
A4446KAS-SSC (IFC) [SP 800-56Brev2]KAS-IFC-SSCKAS-IFC-SSC: MODP- 2048/3072/4096Key establishment methodology provides between 112 and 152 bits of encryption strength
A4446CVL [SP800- 135rev1]SSHv2 KDF (SSH- KDF), TLS v1.2 KDF RFC7627 (SSH-TLS)N/AKey Derivation function. SNMPv3,
Page 8
sRTP, TLS, SSHv2, IKEv2
A4446KDA HKDF [SP800-56Crev1]SHA2-224, SHA2- 256, SHA2-384, SHA2-512, SHA2- 512/224, SHA2- 512/256, SHA3-224, SHA3-256, SHA3- 384, SHA3-512Key Length: 2048Subset of Two-Step Key Derivation
A4446KDA OneStep [SP800-56Crev1]SHA2-224, SHA2- 256, SHA2-384, SHA2-512, SHA2- 512/224, SHA2- 512/256, SHA3-224, SHA3-256, SHA3- 384, SHA3-512, HMAC-SHA2-224, HMAC-SHA2-256, HMAC-SHA2-384, HMAC-SHA2-512, HMAC-SHA2- 512/224, HMAC-SHA2- 512/256, HMAC-SHA3-224, HMAC-SHA3-256, HMAC-SHA3-384, HMAC-SHA3-512Key Length: 2048Mode of the JSON Key Derivation
A4446KDF IKEv2 [SP800-135rev1]SHA-1Diffie-Hellman Shared Secret Length: 2048 Derived Keying Material Length: 3072Key Derivation Function for IKEv2
A4446KDF SNMP [SP800-135rev1]Shared passwordLength 64, 256Key Derivation Function for SNMP
A4446KDF SP800-108HMAC-SHA-1, HMAC-SHA2-224, HMAC-SHA2-256, HMAC-SHA2-384, HMAC-SHA2-512Key Length: 112 bits or greaterKey Derivation Function using HMAC for pseudorandom functions (PRF)
A4446KDF SRTP [SP800-135rev1]AESKey Length: 128, 192, 256Key Derivation Function for SRTP
A4446KDF SSH [SP800-135rev1]AESKey Length:128, 192, 256Key Derivation Function for SSH
A4446KTS-IFC [SP800- 56Brev2]RSAModulus: 2048, 3072, 4096Key Generation and transport
A4446PBKDF [SP800- 132]HMAC Algorithm: SHA-1, SHA2-224, SHA2-256, SHA2- 384, SHA2-512,N/APassword based Key Derivation
Page 9
SHA3-224, SHA3- 256, SHA3-384, SHA3-512,
A4446SHS [FIPS 180-4]SHA-1, SHA2-224, SHA2-256, SHA2- 384, SHA2-512 SHA2-512/224, SHA2-512/256, SHA3-224, SHA3- 256, SHA3-384, SHA3-512N/AMessage Digest; non- digital-signature and legacy use for SHA1, all other SHAs acceptable for hash functions applications.
A4446Safe PrimeKey Generationffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, ffdhe8192, modp-2048, modp-3072, modp- 4096, modp-6144, modp-8192Key Generation
A4446Safe PrimeKey Verificationffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, ffdhe8192, modp-2048, modp-3072, modp- 4096, modp-6144, modp-8192Key Verification
A4446Shake [FIPS 202]Shake-128, Shake- 256Key Length: 128 and 256Message digest, extendable-output function (XOF) output can be extended to any desired length
A4446TLS v1.2 KDF RFC7627SHA2-256, SHA2- 384, SHA2-512N/AKey Derivation Function for TLS
A4446TLS v1.3 KDFHMAC SHA2-256, HMAC SHA3-384Key Length: 112 bits or greaterKey Derivation Function for TLS
A4446Triple-DESCBC, CFB1/CFB8/CFB64, CTR, ECB, OFB, CMACKeying option 1Only for legacy decrypt operation.
NoneCKGN/AN/AKey Generation. In accordance with FIPS 140-3 IG D.H, the cryptographic module performs Cryptographic Key Generation as per scenario 1 of section 4 in SP800-133rev2.

Table 4 - Approved Algorithms Notes: • The module’s AES-GCM implementation conforms to FIPS 140-3 IG C.H techniques 1,

3 and 5 depending on the protocol using it.

• No parts of any protocols, other than the KDFs, have been tested by the CAVP and CMVP

Page 10

2 above. The FOM performs no communications other than with the consuming application. The

block diagram below shows the boundary of the Tested Operational Environment’s Physical Perimeter (TOEPP) being defined as the physical perimeter of the tested platform enclosure around which everything runs. The cryptographic boundary is the FOM (red dash box) and its interfaces with the operational environment. Tested Platform TOEPP

Page 11
Physical PortLogical InterfaceData that passes over port/interface
Input registersData Input InterfaceArguments for an API call that provide the data to be used or processed by the module.
Output registersData Output InterfaceArguments output from an API call.
Control registersControl Input InterfaceArguments for an API call used to control and configure module operation.
Status registersStatus Output InterfaceReturn values, and or log messages.
PowerN/AHost platform power supply.
3 Cryptographic Module Interfaces

The module’s physical perimeter encompasses the case of the tested platform mentioned in Table 2. The module provides its logical interfaces via Application Programming Interface (API) calls. The logical and physical interfaces provided by the module are mapped onto the FIPS 140-3 Table 5 - Ports and Interfaces

4 Roles, Services, and Authentication
Page 12
RoleServiceInputOutput
Crypto OfficerShow StatusAPI commandsModule’s current status (“FIPS Mode: ON”)
Crypto OfficerPerform Self-TestsPower cycle the host platformOutput on each algorithm running self-test and pass or fail
Crypto OfficerShow VersionAPI commandsOutput the version
Crypto OfficerConfigure SecurityAPI commandsOutput each approved algorithm available
Crypto OfficerConfigure Symmetric Encryption/DecryptionAPI commands, keys/dataFOM followed by the encryption/decryption in use and ciphertext/plaintext data
Crypto OfficerShared Secret ComputationAPI commands, keys/dataFOM followed by the shared secret
Crypto OfficerConfigure Signature Generation/VerificationAPI commands, keys/message/signatureFOM followed by the signature/message
Crypto OfficerConfigure Key Generation/VerificationAPI commands, keysFOM followed by the key pair, status
Crypto OfficerConfigure Key Derivation FunctionAPI commands, secrets/passphraseFOM followed by the keys
Crypto OfficerKey WrappingAPI commands, wrapping key, keyFOM followed by the crypto key in use being wrapped
Crypto OfficerConfigure Keyed HashAPI commands, keys/dataFOM followed by the hash in use and keyed hash output
Crypto OfficerConfigure Message DigestAPI commands, dataFOM followed by the digest in use and hashed output
Crypto OfficerConfigure Random Number GenerationAPI commandsFOM followed by the random strings in use
Crypto OfficerPerform ZeroisationAPI commandsN/A.

Service

Description

Approved Security Functions

Keys and/or SSPs

Roles

Access Rights to Keys

Indicator

The module supports Crypto Officer (CO) role. The cryptographic module does not provide any authentication methods. The module does not allow concurrent operators. The Crypto Officer is implicitly assumed based on the service requested. The module provides the following services The table below lists all approved services that can be used in the approved mode of operation. The abbreviations of the access rights to keys and SSPs have the following interpretation: G = Generate: The module generates or derives the SSP. R = Read: The SSP is read from the module (e.g. the SSP is output). W = Write: The SSP is updated, imported, or written to the module. E = Execute: The module uses the SSP in performing a cryptographic operation. Z = Zeroise: The module zeroises the SSP. N/A = The service does not access any SSP during its operation. Along with the global indicator, the return code obtained by `echo $?` can be used to determine whether the last command was successful or not. (0 = successful; anything else = unsuccessful).

Page 13
and/or
SSPs
Show StatusProvide module’s current status (status message)N/AN/ACrypto OfficerN/AGlobal Indicator API output as designed by HOST system using the FOM
Perform Self- TestExecute the FIPS 140 CAST and Health tests outlined in Section 10 belowN/AAES Key, AuthenticationCrypto OfficerEGlobal Indicator API output as designed by HOST system using the FOM and output pass or fail
Show VersionProvide module’s name and version informationN/AN/ACrypto OfficerN/AGlobal Indicator API output as designed by HOST system using the FOM and output version, OS and hardware
Configure Symmetric Encryption and DecryptionConfigure Symmetric cipher operationAES (CBC, CFB1, CFB8, CFB128, CTR, ECB, OFB, KW, KWP) XTS-AES A4446AES keyCrypto OfficerW,E,ZGlobal Indicator API output as designed by HOST system using the FOM
Shared Secret ComputationConfigure and derive Shared Secret and related KeysKAS-ECC-SSC, KAS-FFC-SSC, KAS-ECC CDH A4446Diffie-Hellman Public Key, Diffie-Hellman Private Key, EC Diffie-Hellman Public Key, EC Diffie-Hellman Private Key, Diffie-Hellman Shared Secret, EC Diffie-Hellman Shared SecretCrypto OfficerW,E,ZGlobal Indicator API output as designed by HOST system using the FOM
Configure Keyed HashConfigure HMAC, CMAC, GMAC usageHMAC SHA-1/ 224/256/384/ 512, AES 128/192/256 A4446AuthenticationCrypto OfficerW,E,ZGlobal Indicator API output as designed by HOST system using the FOM
Configure Message DigestConfigure SHS usageSHA- 1/224/256/384/5 12, SHA3- 224/256/384/512 A4446NoneCrypto OfficerN/AGlobal Indicator API output as designed by HOST system using the FOM
Configure RandomConfigure DRBG UsageDRBG entropy inputCrypto OfficerW, E, ZGlobal Indicator API output as
Page 14
Number GenerationDRBG (Hash, HMAC or AES CTR) A4446DRBG Seed, DRBG V and C, DRBG KeyCrypto OfficerG, E, Zdesigned by HOST system using the FOM
Configure Key Derivation FunctionConfigure Key DerivationKDA HKDF, IKEv2 KDF, SNMP KDF, SP800-108 KDF, SRTP KDF, SSH KDF, PBKDF, TLSv1.2/1.3 KDF A4446Key Derivation Function (KDF) secret valuesCrypto OfficerG, E, ZGlobal Indicator API output as designed by HOST system using the FOM
Configure Key Generation and VerificationConfigure Key Generation and VerificationDSA, ECDSA, RSA A4446DSA Public Key, DSA Private Key, ECDSA Public Key, ECDSA Private Key, RSA Public Key, RSA Private KeyCrypto OfficerG, E, ZGlobal Indicator API output as designed by HOST system using the FOM
Key WrappingConfigure key wrappingAES-KW, AES- KWP A4446AES KeyCrypto OfficerW,G, E, ZGlobal Indicator API output as designed by HOST system using the FOM.
Configure Signature Generation and VerificationConfigure Signature Generation and VerificationDSA, ECDSA, RSA A4446DSA Public Key, DSA Private Key, ECDSA Public Key, RSA Private Key, RSA Public Key, RSA Private KeyCrypto OfficerW,G, E, ZGlobal Indicator API output as designed by HOST system using the FOM
Perform ZeroizationPerform ZeroizationN/AAll SSPsCrypto OfficerZNone
5 Software/Firmware Security

Integrity Techniques The module is provided in the form of binary executable code. To ensure security, the module is protected by HMAC SHA-1 (HMAC Cert. #A4446) algorithm. The firmware integrity test key (Not an SSP) was preloaded to the module’s binary the factory and used for firmware integrity test only at the Pre-Operational Self-Test. At module’s initialization, the integrity of the runtime executable is verified using a HMAC SHA-1 digest which is compared to a value computed at build time. If at the load time the MAC does not match the stored, known MAC value, the module would enter to an Error state with all crypto functionality inhibited. The module does not support firmware loading. Integrity Test On-Demand

Page 15
Key/SSP Name/ TypeStrengthSecurity Function and Cert. NumberGenerationImport/ ExportEstablish- mentStorageZeroisationUse & Related Keys
DRBG entropy input>112 bitsN/AObtained from the Entropy Source within TOEPP (GPS INT Pathways)Import to the module via module’s APIN/AN/A: The module does not provide persiste ntZeroized when the tested platform is powered downRandom Number Generation

Integrity test is performed as part of the Pre-Operational Self-Tests. It is automatically executed at power-on. The operator can power-cycle or reboot the tested platform to initiate the firmware integrity test on-demand.

6 Operational Environment

The module is operated in a non-modifiable operational environment per FIPS 140-3 level 1 specifications. The cryptographic module has control over its own SSPs. The process and memory management functionality of the host device’s OS prevents unauthorized access to plaintext private and secret keys, intermediate key generation values and other SSPs by external processes during module execution. The module only allows access to SSPs through its well-defined API. The operational environments provide the capability to separate individual application processes from each other by preventing uncontrolled access to CSPs and uncontrolled modifications of SSPs regardless of whether this data is in the process memory or stored on persistent storage within the operational environment. Processes that are spawned by the module are owned by the module and are not owned by external processes/operators. The module’s firmware version running on each tested platform is 7.3a.

7 Physical Security

Per FIPS 140-3 classification, this is a multi-chip standalone cryptographic module. Cisco FIPS Object Module (v7.3a) is a hybrid firmware module, which runs on a production grade chassis.

8 Non-invasive Security

Currently, non-invasive security is not required by FIPS 140-3 (see NIST SP 800-140F). The requirements of this area are not applicable to the module.

9 Sensitive Security Parameter Management

The following table summarizes the keys and Sensitive Security Parameters (SSPs) that are used by the cryptographic services implemented in the module.

Page 16
Key/SSP Name/ TypeStrengthSecurity Function and Cert. NumberGenerationImport/ Export Export: NoEstablish- mentStorage keys/SS Ps storage.ZeroisationUse & Related Keys
DRBG Seed384 bitsSP800- 90Arev1 CTR_DR BG, DRBG_H ASH, DRBG_H MAC Cert. #A4446Generated using DRBG derivation function that includes the entropy input.Import: No Export: NoN/AN/A: The module does not provide persiste nt keys/SS Ps storage.Crypto_free_r ng() or Power cycle the deviceInternal state of the DRBG.
DRBG V128 440/888 bits 160/256/3 84/512 bitsSP800- 90Arev1 CTR_DR BG, DRBG_H ASH, DRBG_H MAC Cert. #A4446Generated first during DRBG instantiation and then subsequently updated using the DRBG update function.Import: No Export: NoGenerated internallyN/A: The module does not provide persiste nt keys/SS Ps storage.Crypto_free_r ng() or Power cycle the deviceInternal state of the DRBG.
DRBG C128/192/2 56 440/888 bitsSP800- 90Arev1 CTR_DR BG, DRBG_H ASH Cert. #A4446Generated first during DRBG instantiation and then subsequently updated using the DRBG update function.Import: No Export: NoGenerated internallyN/A: The module does not provide persiste nt keys/SS Ps storage.Crypto_free_r ng() or Power cycle the deviceInternal state of the DRBG.
DRBG Key128/192/2 56 bits 160/256/3 84/512 bitsSP800- 90Arev1 CTR_DR BG, DRBG_H MAC Cert. #A4446Established per SP 800- 90Arev1 CTR_DRBG and HMAC_DRB GImport: No Export: NoGenerated internallyN/A: The module does not provide persiste nt keys/SS Ps storage.Crypto_free_r ng() or Power cycle the deviceInternal state of the DRBG.
AES Key128,192,2 56 bitsAES (CBC, CCM, CFB1,Generated externally and passedImport: YesGenerated externallyN/A: The module does notCrypto_free_ cipher() crypto_free_a blkcipher()AES session key, XTS mode is
Page 17
Key/SSP Name/ TypeStrengthSecurity Function and Cert. NumberGenerationImport/ ExportEstablish- mentStorageZeroisationUse & Related Keys
CFB128, CFB8, CMAC, CTR, ECB, GCM, GMAC, KW, KWP, OFB, XTS)Cert. #A4446into the module.Export: Noprovide persiste nt keys/SS Ps storage.crypto_free_b lkcipher() crypto_free_s kcipher() crypto_free_a ead() or Power cycle the deviceonly approved for storage application s per SP800- 38E. KW/KWP mode is used for key wrapping (KTS).
AES GCM IV96-bitAES GCM Cert. #A4446Generated internally or generated externally in compliance with industry standards then passed into the module.Import: Yes Export: NoGenerated internally or externallyN/A: The module does not provide persiste nt keys/SS Ps storage.Power cycle the moduleInitializatio n vector for AES GCM
RSA Public Key112, 128, 152 bitsRSA Cert. #A4446Internally generated or externally generated and passed into the module.Import: Yes Export: NoGenerated internally or externallyN/A: The module does not provide persiste nt keys/SS Ps storage.FIPS_openssl _cleanse() function or power cycleSignature verification
RSA Private Key112, 128, 152 bitsRSA Cert. #A4446Internally generated or externally generated and passed into the module.Import: Yes Export: NoGenerated internally or externallyN/A: The module does not provide persiste nt keys/SS Ps storage.FIPS_openssl _cleanse() function or power cycleSignature generation
DSA Public Key112, 128 bitsDSA Cert. #A4446Internally generated or externally generated and passed into the module.Import: Yes Export: NoGenerated internally or externallyN/A: The module does not provide persiste ntFIPS_openssl _cleanse() function or power cycleDSA signature verification
Page 18
Key/SSP Name/ TypeStrengthSecurity Function and Cert. NumberGenerationImport/ ExportEstablish- mentStorage keys/SS Ps storage.ZeroisationUse & Related Keys
DSA Private Key112, 128 bitsDSA Cert. #A4446Internally generated or externally generated and passed into the module.Import: Yes Export: NoGenerated internally or externallyN/A: The module does not provide persiste nt keys/SS Ps storage.FIPS_openssl _cleanse() function or power cycleDSA signature generation
ECDSA Public Key112, 128, 192, 256 bitsECDSA Cert. #A4446Internally generated or externally generated and passed into the module.Import: Yes Export: NoGenerated internally or externallyN/A: The module does not provide persiste nt keys/SS Ps storage.FIPS_openssl _cleanse() function or power cycleECDSA signature verification
ECDSA Private Key112, 128, 192, 256 bitsECDSA Cert. #A4446Internally generated or externally generated and passed into the module.Import: Yes Export: NoGenerated internally or externallyN/A: The module does not provide persiste nt keys/SS Ps storage.FIPS_openssl _cleanse() function or power cycleECDSA signature generation
Diffie- Hellman Private Key112, 128, 152, 176, 200 bitsKAS-SSC (FFC) KAS-SSC Cert. #A4446Internally generated conformant to SP800-133r2 (CKG) using SP800-56A rev3 Diffie- Hellman key generation method, and the random value used in key generation is generated using SP800- 90Arev1 DRBGImport: Yes Export: NoN/AN/A: The module does not provide persiste nt keys/ SSPs storage.Zeroized when the tested platform is powered downUsed to derive Diffie- Hellman Shared Secret
Page 19
Key/SSP Name/ TypeStrengthSecurity Function and Cert. NumberGenerationImport/ ExportEstablish- mentStorageZeroisationUse & Related Keys
Diffie- Hellman Public Key112, 128, 152, 176, 200 bitsKAS-SSC (FFC) KAS-SSC Cert. #A4446Internally derived internally per the Diffie- Hellman key agreement (SP800- 56Arev3)Import: Yes Export: NoN/AN/A: The module does not provide persiste nt keys/ SSPs storage.Zeroized when the tested platform is powered downUsed to derive Diffie- Hellman Shared Secret
Diffie- Hellman Shared SecretN/AKAS-SSC (FFC) KAS-SSC Cert. #A4446Internally generated using SP800- 56Arev3 DH shared secret computationImport: Yes Export: NoN/AN/A: The module does not provide persiste nt keys/SS Ps storage.Zeroized when the tested platform is powered downUsed to derive SSH, TLS or IPSec/IKE related keys
EC Diffie- Hellman Private Key112, 128, 192, 256 bitsKAS-SSC (ECC) KAS-SSC Cert. #A4446Internally generated conformant to SP800-133r2 (CKG) using SP800-56A rev3 EC Diffie- Hellman key generation method, and the random value used in key generation is generated using SP800- 90Arev1 DRBGImport: Yes Export: NoN/AN/A: The module does not provide persiste nt keys/ SSPs storage.Zeroized when the tested platform is powered downUsed to derive EC Diffie- Hellman Shared Secret
EC Diffie- Hellman Public Key112, 128, 192, 256 bitsKAS-SSC (ECC) KAS-SSC Cert. #A4446Internally derived internally per the EC Diffie- Hellman key agreement (SP800- 56Arev3)Import: Yes Export: NoN/AN/A: The module does not provide persiste nt keys/ SSPs storage.Zeroized when the tested platform is powered downUsed to derive EC Diffie- Hellman Shared Secret
EC Diffie- Hellman Shared SecretN/AKAS-SSC (ECC)Internally generated using SP800- 56Arev3Import: YesN/AN/A: The module does notZeroized when the tested platform isUsed to derive TLS or IPSec/IKE
Page 20
Key/SSP Name/ TypeStrengthSecurity Function and Cert. NumberGenerationImport/ ExportEstablish- mentStorageZeroisationUse & Related Keys
KAS-SSC Cert. #A4446ECDH shared secret computationExport: Noprovide persiste nt keys/SS Ps storage.powered downrelated keys
RSA Key Wrapping/ Transport Key112, 128, 152 bitsRSA Cert. #A4446Generated externally and passed into the module.Import: Yes Export: NoGenerated externallyN/A: The module does not provide persiste nt keys/SS Ps storage.FIPS_openssl _cleanse() function or power cycleRSA Key Transport/ Wrapping
Authentic ation128 to 256 bitsHMAC (SHA1, SHA224, SHA256, SHA384, SHA512), AES- CMAC, AES- GMAC Cert. #A4446Generated externally and passed into the module.Import: Yes Export: NoGenerated externallyN/A: The module does not provide persiste nt keys/SS Ps storage.Crypto_free_ shash() crypto_free_a hash() or Power cycle the deviceIntegrity assurance
Key Derivation Function (KDF) secret valuesN/AIKEv2, SNMP, SRTP, SSH,800- 108 KDF Cert. #A4446Generated internallyImport: No Export: NoGenerated internallyN/A: The module does not provide persiste nt keys/SS Ps storageFIPS_openssl _cleanse() function or power cycleDeriving keys per SP800- 135rev1 and SP800- 56Crev1
Firmware Integrity Key (not a SSP)128 bitsHMAC- SHA-1 Cert. #A4446Pre-loaded at the factory (in the module’s binary)Import: No Export: NoN/AStored in the module binary comput ed during build.This key is used for firmware integrity test and not subject to key zeroization requirements according to FIPS140-3 IG 9.7.B.Used for firmware integrity test. This is not a SSP
Page 21
Entropy sourcesMinimum number of bits of entropyDetails
Entropy within the TOEPP was passively loaded into the module to seed the 800- 90Arev1 DRBG by the Operating SystemAt least 112 bitsWhile operating in the approved mode, the entropy and seeding material for the SP800-90Arev1 DRBG are provided by the external calling application (and not by the module) which is outside the module’s cryptographic boundary but contained within the module’s Tested Operational Environment’s Physical Perimeter (TOEPP) boundary. The module receives a LOAD command with entropy obtained from the entropy source (Intel CPU processor with instructions RDRand) inside the TOEPP. The minimum effective strength of the SP 800- 90Arev1 DRBG seed is required to be at least 112 bits when used in an approved mode of operation, therefore the minimum number of bits of entropy requested when the module makes a call to the SP 800-90Arev1 DRBG is at least 112 bits. Per the IG 9.3.A Entropy Caveats, the following caveat applies: No assurance of the minimum strength of generated SSPs (e.g., keys).

The module uses approved DRBG for the generation of random strings and passes them to the calling application only upon their request. The cryptographic module is passed a pointer to the cryptographic keys as API parameters, associated by memory location. The application calling does not perform storage of keys. All SSPs can be zeroized by power cycling the host. Note 1: Use of external IV with GCM is exclusively permitted for decryption operations or where the GCM is used to support the protocol specific implementation used to protect Note 2: The check for Key_1 ≠ Key_2 is done before using the keys in the XTS-AES algorithm Note 3: No parts of SSH, TLS, SNMPv3, sRTP and IKE protocols, other than the KDFs, have been tested by the CAVP and CMVP. Table 9 - Non-Deterministic Random Number Generation Specification

10 Self-Tests

When the module is loaded or instantiated (after being powered off, rebooted, etc.), the module runs Pre-Operational Self-Tests. The operating system is responsible for the initialization process and loading of the module. Prior to the module providing any data output via the data output interface, the module would perform and pass the Pre-Operational Self-Tests. Following the successful Pre-Operational Self-Tests, the module would execute the Conditional Cryptographic Algorithm Self-tests (CASTs). The self-test success or failure messages were logged, which functions as the self-test status indicator. If any one of the self-tests fails, the module transitions into an error state and outputs the error message via the module’s status output interface. The module has one error state, called Hard error state. When a self-test fails, the module outputs “POST Failed” error. While the

Page 22

module is in the error state, all data through the data output interface and all cryptographic operations are disabled. The error state can only be cleared by reloading the module. All selftests must be completed successfully before the module transitions to the operational state. Below are the details of the self-tests conducted by the module. Pre-Operational Self-Tests

Page 23
Table, extracted as text (did not parse into structured rows)
functions per Section 11.3 of SP 800-90Arev1) o    DRBG Hash SHA-1 KAT(Health Tests: Generate, Reseed, Instantiate functions per Section 11.3 of SP 800-90Arev1) o    DRBG Hash SHA-224 KAT(Health Tests: Generate, Reseed, Instantiate functions per Section 11.3 of SP 800-90Arev1) o    DRBG Hash SHA-256 KAT(Health Tests: Generate, Reseed, Instantiate functions per Section 11.3 of SP 800-90Arev1) o    DRBG Hash SHA-384 KAT(Health Tests: Generate, Reseed, Instantiate functions per Section 11.3 of SP 800-90Arev1) o    DRBG Hash SHA-512 KAT(Health Tests: Generate, Reseed, Instantiate functions per Section 11.3 of SP 800-90Arev1) o    FIPS 186-4 DSA 2048-bit Sign KAT o    FIPS 186-4 DSA 2048-bit Verify KAT o    FIPS 186-4 ECDSA P-256 Sign KAT o    FIPS 186-4 ECDSA P-256 Verify KAT o    FIPS 186-4 RSA 2048-bit Sign KAT o    FIPS 186-4 RSA 2048-bit Verify KAT o    RSA IFC 2048-bit Encrypt KAT o    RSA IFC 2048-bit Decrypt KAT o    SHA-1 KAT o    SHA3-256 KAT o    HMAC-SHA-1 KAT o    HMAC-SHA-224 KAT o    HMAC-SHA-256 KAT o    HMAC-SHA-384 KAT o    HMAC-SHA-512 KAT o    KAS-ECC-SSC Primitive Z KAT o    KAS-ECC-SSC Primitive Z KAT o    SP800-108 KDF (KBKDF) o    SP800-56Crev1 One Step KDF KAT o    SP800-56Crev1 HKDF KAT o    SP800-132 PBKDF KAT o    TLS 1.3 KDF KAT o    SP800-135rev1 KDF KAT  SSHv2  SNMPv3  sRTP  TLS1.2  IKEv2 Conditional Pair-Wise Consistency Test (PCTs): • RSA PCT. • ECDSA PCT • ECDH PCT
Page 24
11 Life-Cycle Assurance

Secure Operation The tested operating systems segregate user processes into separate process spaces. Each process space is an independent virtual memory area that is logically separated from all other processes by the operating system software and hardware. The module functions entirely within the process space of the process that invokes it. The module operates only in approved mode of operation. There is no non-approved mode of operation for the module. Secure Initialization The Operating System loads the module into its user space. The initialization sequence starts with a check of the integrity of the runtime executable using a HMAC-SHA1 digest computed at build time. If this computed HMAC-SHA1 digest matches the stored known digest then the POSTs, consisting of the algorithm specific Known Answer Tests, are performed. If any component of the POST fails an internal global error flag is set to prevent subsequent invocation of any cryptographic function calls. Any such POST failure is a hard error that can only be recovered by reinstalling the module. Upon loading the cryptographic module, the consuming application must enable the approved mode of operation by calling the “FIPS_mode_set()” function. This function call verifies the POST outcome and returns a “1” for success and “0” for failure; interpretation of this return code is the responsibility of the host application. The function call “. /openssl version -a” returns the name, version of the module and approved mode status. The module is installed using one of the sets of instructions in the ‘README.Cisco’ document appropriate to the target system available in the repository with the source code. The module does not support Non-Compliant state. User Guidance AES GCM IV Generation

Page 25

In the case of AES-GCM, the IV generation method is user-selectable, and the value can be computed in more than one manner as follows:

  1. TLS 1.2: The module’s AES-GCM implementation conforms to IG C.H, scenario #1, following RFC 5288. The counter portion of the IV is set by the module within its cryptographic boundary. When the IV exhausts the maximum number of possible values for a given session key, the first party, client or server, to encounter this condition will trigger a handshake to establish a new encryption key in accordance with RFC 5246 for TLS 1.2, respectively. The module supports ciphersuites acceptable per SP 800-52rev2.
  2. IKEv2: The module’s AES-GCM implementations conforms to IG C.H, scenario #1 following RFC 7296 for IPSec/IKEv2. The AES GCM IV is generated according to RFC5282. The counter portion of the IV is set by the module within its cryptographic boundary. When the IV exhausts the maximum number of possible values for a given session key, the first party, client or server, to encounter this condition will trigger a handshake to establish a new encryption key. In case the module’s power is lost and then restored, a new key for use with the AES GCM encryption/decryption shall be established.
  3. TLS 1.3: The module’s AES-GCM implementations conforms to IG C.H Scenario#5. The module is compatible with TLS v1.3 and provides support for the acceptable GCM cipher suites from Section 8.4 of RFC 8446 and confirms that the IV is generated and used within the protocol’s implementation. The counter portion of the IV is set by the module within its cryptographic boundary. In case the module’s power is lost and then restored, a new key for use with the AES GCM encryption/decryption must be established.
  4. Non-protocol specific usage: The module’s AES-GCM implementation conforms to IG C.H, scenario #3, when operating in an approved mode of operation, AES GCM, IVs are generated both internally and deterministically and are a minimum of 96-bits in length, which contain a nonce of 32-bits as specified in SP 800-38D, Section 8.2.1. The selection of the IV construction method is the responsibility of the user of this cryptographic module. Counter mechanism set during IV initialization. When it gets to 95% the protocol gets notified. At 100% the connection is blocked. AES GCM encryption is used in the context of the TLS protocol versions 1.2 and 1.3. To meet the AES GCM (key/IV) pair uniqueness requirements from NIST SP 800-38D, the module generates the IV as follows: For TLS v1.2, the module supports acceptable AES GCM cipher suites from section 3.3.1 of NIST SP 800-52rev2. Per scenario 1 in FIPS 140-3 IG C.H, the mechanism for IV generation is compliant with RFC 5288. The implementation of the nonce_explicit management logic inside the module shall ensure that when the nonce_explicit part of the IV exhausts the maximum number of possible values for a given session key (e.g., a 64-bit counter starting from 0 and increasing, when it reaches the maximum value of 264 -1), either party (the client or the server) that encounters this: • module operator (i.e., the first party, client, or server) to trigger this handshake in accordance with RFC 5246 when this condition is encountered.
Page 26

The module supports internal IV generation using the module’s Approved DRBG. The IV is at least 96 bits in length per section 8.2.2 of NIST SP 800-38D. Per NIST SP 800-38D and scenario

5 of FIPS 140-3 IG C.H, the DRBG generates outputs such that the (key/IV) pair collision

probability is less than 2-32. In the event that power to the module is lost and subsequently restored, the calling application must ensure that any AES-GCM keys used for encryption or decryption are re-distributed. PBKDF In line with the requirements for SP 800-132, keys generated using the approved PBKDF must only be used for storage applications. Any other use of the approved PBKDF is non-conformant. In approved mode the module enforces that any password used must encode to at least 14 bytes (112 bits) and that the salt is at least 16 bytes (128 bits) long. The iteration count associated with the PBKDF should be as large as practical. As the module is a general-purpose hybrid firmware module, it is not possible to anticipate all the levels of use for the PBKDF, however a user of the module should also note that a password should at least contain enough entropy to be unguessable and also contain enough entropy to reflect the security strength required for the key being generated. The module uses PBKDF option 1a from section 5.4 of NIST SP 800-132. • The iteration count shall be selected as large as possible, as long as the time required to generate the resultant key is acceptable for module operators. The iteration count shall be

10 up to 1000.
Page 27
12 Mitigation of Other Attacks

The requirements under INCITS+ISO+IEC 19790+2012[2014], section 7.12 “Mitigation of other attacks”, are not applicable to the module since the module currently doesn’t support any mitigation of other attacks services.