Page 1 of 77 This document may be freely reproduced and distributed in its entirety without modification. ST Engineering Urban Solutions Ltd. Triton 2 Cryptographic Module FIPS 140-3 Non-Proprietary Security Policy Page 2 of 77 This document may be freely reproduced and distributed in its entirety without modification. Table of Contents 1 General................................................................................................................................... 4 1.1 Overview .......................................................................................................................... 4 1.2 Security Levels ................................................................................................................. 5 1.3 Additional Information....................................................................................................... 5 2 Cryptographic Module Specification........................................................................................ 6 2.1 Description ....................................................................................................................... 6 2.2 Tested and Vendor Affirmed Module Version and Identification........................................ 7 2.3 Excluded Components...................................................................................................... 8 2.4 Modes of Operation.......................................................................................................... 8 2.5 Algorithms ........................................................................................................................ 9 2.6 Security Function Implementations..................................................................................16 2.7 Algorithm Specific Information .........................................................................................27 2.8 RBG and Entropy ............................................................................................................29 2.9 Key Generation................................................................................................................30 2.10 Key Establishment.........................................................................................................30 2.11 Industry Protocols..........................................................................................................31 3 Cryptographic Module Interfaces............................................................................................31 3.1 Ports and Interfaces ........................................................................................................31 4 Roles, Services, and Authentication.......................................................................................31 4.1 Authentication Methods ...................................................................................................31 4.2 Roles...............................................................................................................................31 4.3 Approved Services ..........................................................................................................32 4.4 Non-Approved Services...................................................................................................52 4.5 External Software/Firmware Loaded................................................................................53 4.6 Bypass Actions and Status..............................................................................................53 4.7 Cryptographic Output Actions and Status ........................................................................53 5 Software/Firmware Security ...................................................................................................53 5.1 Integrity Techniques ........................................................................................................53 5.2 Initiate on Demand ..........................................................................................................53 6 Operational Environment........................................................................................................54 6.1 Operational Environment Type and Requirements ..........................................................54 6.2 Configuration Settings and Restrictions ...........................................................................54 7 Physical Security....................................................................................................................54 8 Non-Invasive Security ............................................................................................................54 Page 3 of 77 This document may be freely reproduced and distributed in its entirety without modification. 9 Sensitive Security Parameters Management..........................................................................54 9.1 Storage Areas .................................................................................................................54 9.2 SSP Input-Output Methods..............................................................................................55 9.3 SSP Zeroization Methods................................................................................................55 9.4 SSPs ...............................................................................................................................55 9.5 Transitions.......................................................................................................................68 10 Self-Tests.............................................................................................................................69 10.1 Pre-Operational Self-Tests ............................................................................................69 10.2 Conditional Self-Tests....................................................................................................69 10.3 Periodic Self-Test Information........................................................................................73 10.4 Error States ...................................................................................................................75 10.5 Operator Initiation of Self-Tests .....................................................................................76 11 Life-Cycle Assurance ...........................................................................................................76 11.1 Installation, Initialization, and Startup Procedures..........................................................76 11.2 Administrator Guidance .................................................................................................76 11.3 Non-Administrator Guidance..........................................................................................76 11.4 Design and Rules ..........................................................................................................77 11.5 Maintenance Requirements...........................................................................................77 11.6 End of Life .....................................................................................................................77 12 Mitigation of Other Attacks ...................................................................................................77 12.1 Attack List......................................................................................................................77 Page 4 of 77 This document may be freely reproduced and distributed in its entirety without modification. List of Tables Table 1: Security Levels............................................................................................................. 5 Table 2: Tested Module Identification – Software, Firmware, Hybrid (Executable Code Sets).... 8 Table 3: Tested Operational Environments - Software, Firmware, Hybrid .................................. 8 Table 4: Modes List and Description .......................................................................................... 8 Table 5: Approved Algorithms...................................................................................................14 Table 6: Vendor-Affirmed Algorithms ........................................................................................14 Table 7: Non-Approved, Allowed Algorithms .............................................................................15 Table 8: Non-Approved, Not Allowed Algorithms.......................................................................16 Table 9: Security Function Implementations..............................................................................27 Table 10: Ports and Interfaces ..................................................................................................31 Table 11: Roles.........................................................................................................................32 Table 12: Approved Services ....................................................................................................51 Table 13: Non-Approved Services.............................................................................................53 Table 14: Storage Areas ...........................................................................................................54 Table 15: SSP Input-Output Methods........................................................................................55 Table 16: SSP Zeroization Methods..........................................................................................55 Table 17: SSP Table 1..............................................................................................................64 Table 18: SSP Table 2..............................................................................................................68 Table 19: Pre-Operational Self-Tests........................................................................................69 Table 20: Conditional Self-Tests ...............................................................................................73 Table 21: Pre-Operational Periodic Information.........................................................................73 Table 22: Conditional Periodic Information................................................................................75 Table 23: Error States...............................................................................................................76 List of Figures Figure 1: Block Diagram............................................................................................................. 7 1 General 1.1 Overview Introduction Federal Information Processing Standards Publication 140-3 — Security Requirements for Cryptographic Modules specifies requirements for cryptographic modules to be deployed in a Sensitive but Unclassified environment. The National Institute of Standards and Technology (NIST) and Canadian Centre for Cyber Security (CCCS) Cryptographic Module Validation Program (CMVP) run the FIPS 140-3 program. The NVLAP accredits independent testing labs to perform FIPS 140-3 testing; the CMVP validates modules meeting FIPS 140-3 validation. Page 5 of 77 This document may be freely reproduced and distributed in its entirety without modification. Validated is the term given to a module that is documented and tested against the FIPS 140-3 criteria. More information is available on the CMVP website at: https://csrc.nist.gov/projects/cryptographic-module-validation-program. About this Document This document describes the non-proprietary Security Policy for the Triton 2 Cryptographic Module (hereafter referred to as “the Module”) from ST Engineering Urban Solutions Ltd. It contains specification of the security rules under which the Module operates, including the security rules derived from the requirements of the FIPS 140-3 standard. Copyright Notice Copyright © 2024 ST Engineering Urban Solutions Ltd. Authors. This document may be freely reproduced and distributed whole and intact including this copyright notice. The following table lists the level of validation for each area in FIPS 140-3: Overall Security Rating of the module is level 1. 1.2 Security Levels Section Title Security Level 1 General 1 2 Cryptographic module specification 1 3 Cryptographic module interfaces 1 4 Roles, services, and authentication 1 5 Software/Firmware security 1 6 Operational environment 1 7 Physical security N/A 8 Non-invasive security N/A 9 Sensitive security parameter management 1 10 Self-tests 1 11 Life-cycle assurance 3 12 Mitigation of other attacks 1 Overall Level 1 Table 1: Security Levels 1.3 Additional Information The Section 7.7 Physical Security and Section 7.8 Non-Invasive Security from ISO 19790 do not apply to the module. Page 6 of 77 This document may be freely reproduced and distributed in its entirety without modification. 2 Cryptographic Module Specification 2.1 Description Purpose and Use: The module is intended to execute within the Triton 2 device and provide cryptographic services. Module Type: Software Module Embodiment: MultiChipStand Cryptographic Boundary: The cryptographic boundary is as depicted in Figure 1. No components are excluded from the cryptographic boundary. The module supports an Approved mode and a non-Approved mode of operation. The module does not support a degraded mode. Tested Operational Environment’s Physical Perimeter (TOEPP): The block diagram of the Module is depicted in Figure 1 (blue outlined). The Tested Operational Environment’s Physical Perimeter (TOEPP) is the underlying host platform i.e. Triton 2 device on which it runs. The operating environment of the module is modifiable since the platform does support modifications to it. Page 7 of 77 This document may be freely reproduced and distributed in its entirety without modification. Figure 1: Block Diagram 2.2 Tested and Vendor Affirmed Module Version and Identification Tested Module Identification – Software, Firmware, Hybrid (Executable Code Sets): Page 8 of 77 This document may be freely reproduced and distributed in its entirety without modification. Package or File Name Software/ Firmware Version Features Integrity Test triton 2 (.elf) v9FIPS.2.807 N/A RSA mod 2048 SHA2-256 Table 2: Tested Module Identification – Software, Firmware, Hybrid (Executable Code Sets) Tested Operational Environments - Software, Firmware, Hybrid: Operating System Hardware Platform Processors PAA/PAI Hypervisor or Host OS Version(s) Embedded Linux 3.1.10 Triton 2 Samsung S3C6410A, ARM1176JZF-S, 533MHz No N/A v9FIPS.2.807 Table 3: Tested Operational Environments - Software, Firmware, Hybrid Vendor-Affirmed Operational Environments - Software, Firmware, Hybrid: No environments have been vendor affirmed. 2.3 Excluded Components No components have been excluded. 2.4 Modes of Operation Modes List and Description: Mode Name Description Type Status Indicator Approved mode The module is initialized into the Approved mode of operation by default Approved "FIPS operation in progress" printed in bootlogs non- Approved mode The module transitions implicitly to the non- Approved mode upon usage of any Non- Approved Algorithms Not Allowed in the Approved Mode Non- Approved None Table 4: Modes List and Description The Module supports an Approved mode and a non-Approved mode of operation. The following apply to the module: 1. The module does not support manual SSP entry. 2. The module inhibits data output during self-test execution, zeroisation, SSP generation and upon entry into the error state. Page 9 of 77 This document may be freely reproduced and distributed in its entirety without modification. 3. In the event of a self-test failure, all calls made to the module to request services from it are rejected by the module. The Module is shipped with the Approved mode pre-enabled as noted in Section 11. No further configuration is required. Mode Change Instructions and Status: The module is in the Approved mode of operation provided the Approved algorithms and Non- Approved Algorithms Allowed in the Approved Mode are used. Usage of the non-Approved Algorithms Not Allowed in the Approved Mode causes the module to transition to the non- Approved mode. Degraded Mode Description: A degraded mode of operation is not supported by the module. 2.5 Algorithms Approved Algorithms: Algorithm CAVP Cert Properties Reference AES-CBC A5154 Direction - Decrypt, Encrypt Key Length - 128, 192, 256 SP 800-38A AES-CBC-CS1 A5154 Direction - decrypt, encrypt Key Length - 128, 192, 256 SP 800-38A AES-CBC-CS2 A5154 Direction - decrypt, encrypt Key Length - 128, 192, 256 SP 800-38A AES-CBC-CS3 A5154 Direction - decrypt, encrypt Key Length - 128, 192, 256 SP 800-38A AES-CCM A5154 Key Length - 128, 192, 256 SP 800-38C AES-CFB1 A5154 Direction - Decrypt, Encrypt Key Length - 128, 192, 256 SP 800-38A AES-CFB128 A5154 Direction - Decrypt, Encrypt Key Length - 128, 192, 256 SP 800-38A AES-CFB8 A5154 Direction - Decrypt, Encrypt Key Length - 128, 192, 256 SP 800-38A AES-CMAC A5154 Direction - Generation, Verification Key Length - 128, 192, 256 SP 800-38B AES-CTR A5154 Direction - Decrypt, Encrypt Key Length - 128, 192, 256 SP 800-38A AES-ECB A5154 Direction - Decrypt, Encrypt Key Length - 128, 192, 256 SP 800-38A AES-GCM A5154 Direction - Decrypt, Encrypt IV Generation - External, Internal SP 800-38D Page 10 of 77 This document may be freely reproduced and distributed in its entirety without modification. Algorithm CAVP Cert Properties Reference IV Generation Mode - 8.2.1 Key Length - 128, 192, 256 AES-GMAC A5154 Direction - Decrypt, Encrypt IV Generation - External, Internal IV Generation Mode - 8.2.1 Key Length - 128, 192, 256 SP 800-38D AES-KW A5154 Direction - Decrypt, Encrypt Key Length - 128, 192, 256 SP 800-38F AES-KWP A5154 Direction - Decrypt, Encrypt Key Length - 128, 192, 256 SP 800-38F AES-OFB A5154 Direction - Decrypt, Encrypt Key Length - 128, 192, 256 SP 800-38A AES-XTS Testing Revision 2.0 A5154 Direction - Decrypt, Encrypt Key Length - 128, 256 SP 800-38E Counter DRBG A5154 Prediction Resistance - Yes Mode - AES-128, AES-192, AES-256 Derivation Function Enabled - No, Yes SP 800-90A Rev. 1 ECDSA KeyGen (FIPS186-5) A5154 Curve - B-233, B-283, B-409, B-571, K-233, K- 283, K-409, K-571, P-224, P-256, P-384, P-521 Secret Generation Mode - testing candidates FIPS 186-5 ECDSA KeyVer (FIPS186-5) A5154 Curve - B-233, B-283, B-409, B-571, K-233, K- 283, K-409, K-571, P-224, P-256, P-384, P-521 FIPS 186-5 ECDSA SigGen (FIPS186-5) A5154 Curve - B-233, B-283, B-409, B-571, K-233, K- 283, K-409, K-571, P-224, P-256, P-384, P-521 Hash Algorithm - SHA2-224, SHA2-256, SHA2- 384, SHA2-512, SHA2-512/224, SHA2- 512/256, SHA3-224, SHA3-256, SHA3-384, SHA3-512 Component - No, Yes FIPS 186-5 ECDSA SigVer (FIPS186-5) A5154 Curve - B-233, B-283, B-409, B-571, K-233, K- 283, K-409, K-571, P-224, P-256, P-384, P-521 Hash Algorithm - SHA2-224, SHA2-256, SHA2- 384, SHA2-512, SHA2-512/224, SHA2- 512/256, SHA3-224, SHA3-256, SHA3-384, SHA3-512 FIPS 186-5 Hash DRBG A5154 Prediction Resistance - Yes Mode - SHA-1, SHA2-224, SHA2-256, SHA2- 384, SHA2-512, SHA2-512/224, SHA2-512/256 SP 800-90A Rev. 1 HMAC DRBG A5154 Prediction Resistance - Yes Mode - SHA-1, SHA2-224, SHA2-256, SHA2- 384, SHA2-512, SHA2-512/224, SHA2-512/256 SP 800-90A Rev. 1 HMAC-SHA-1 A5154 Key Length - Key Length: 8-524288 Increment 8 FIPS 198-1 HMAC-SHA2-224 A5154 Key Length - Key Length: 8-524288 Increment 8 FIPS 198-1 HMAC-SHA2-256 A5154 Key Length - Key Length: 8-524288 Increment 8 FIPS 198-1 Page 11 of 77 This document may be freely reproduced and distributed in its entirety without modification. Algorithm CAVP Cert Properties Reference HMAC-SHA2-384 A5154 Key Length - Key Length: 8-524288 Increment 8 FIPS 198-1 HMAC-SHA2-512 A5154 Key Length - Key Length: 8-524288 Increment 8 FIPS 198-1 HMAC-SHA2- 512/224 A5154 Key Length - Key Length: 8-524288 Increment 8 FIPS 198-1 HMAC-SHA2- 512/256 A5154 Key Length - Key Length: 8-524288 Increment 8 FIPS 198-1 HMAC-SHA3-224 A5154 Key Length - Key Length: 8-524288 Increment 8 FIPS 198-1 HMAC-SHA3-256 A5154 Key Length - Key Length: 8-524288 Increment 8 FIPS 198-1 HMAC-SHA3-384 A5154 Key Length - Key Length: 8-524288 Increment 8 FIPS 198-1 HMAC-SHA3-512 A5154 Key Length - Key Length: 8-524288 Increment 8 FIPS 198-1 KAS-ECC CDH- Component SP800-56Ar3 (CVL) A5154 Curve - B-233, B-283, B-409, B-571, K-233, K- 283, K-409, K-571, P-224, P-256, P-384, P-521 SP 800-56A Rev. 3 KAS-ECC-SSC Sp800-56Ar3 A5154 Domain Parameter Generation Methods - B- 233, B-283, B-409, B-571, K-233, K-283, K- 409, K-571, P-224, P-256, P-384, P-521 Scheme - ephemeralUnified - KAS Role - initiator, responder SP 800-56A Rev. 3 KAS-FFC-SSC Sp800-56Ar3 A5154 Domain Parameter Generation Methods - FB, FC, ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, ffdhe8192, MODP-2048, MODP- 3072, MODP-4096, MODP-6144, MODP-8192 Scheme - dhEphem - KAS Role - initiator, responder SP 800-56A Rev. 3 KAS-IFC-SSC A5154 Modulo - 2048, 3072, 4096, 6144, 8192 Key Generation Methods - rsakpg1-basic, rsakpg1-crt, rsakpg1-prime-factor, rsakpg2- basic, rsakpg2-crt, rsakpg2-prime-factor Scheme - KAS1 - KAS Role - initiator, responder KAS2 - KAS Role - initiator, responder SP 800-56A Rev. 3 KDA HKDF SP800-56Cr2 A5154 Derived Key Length - 2048 Shared Secret Length - Shared Secret Length: 224-8192 Increment 8 HMAC Algorithm - SHA-1, SHA2-224, SHA2- 256, SHA2-384, SHA2-512, SHA2-512/224, SP 800-56C Rev. 2 Page 12 of 77 This document may be freely reproduced and distributed in its entirety without modification. Algorithm CAVP Cert Properties Reference SHA2-512/256, SHA3-224, SHA3-256, SHA3- 384, SHA3-512 KDA OneStep SP800-56Cr2 A5154 Derived Key Length - 2048 Shared Secret Length - Shared Secret Length: 224-8192 Increment 8 SP 800-56C Rev. 2 KDA TwoStep SP800-56Cr2 A5154 MAC Salting Methods - default, random KDF Mode - feedback Derived Key Length - 2048 Shared Secret Length - Shared Secret Length: 224-8192 Increment 8 SP 800-56C Rev. 2 KDF ANS 9.42 (CVL) A5154 KDF Type - DER Hash Algorithm - SHA-1, SHA2-224, SHA2- 256, SHA2-384, SHA2-512, SHA2-512/224, SHA2-512/256, SHA3-224, SHA3-256, SHA3- 384, SHA3-512 Key Data Length - Key Data Length: 8-4096 Increment 8 SP 800-135 Rev. 1 KDF ANS 9.63 (CVL) A5154 Hash Algorithm - SHA2-224, SHA2-256, SHA2- 384, SHA2-512 Key Data Length - Key Data Length: 128, 4096 SP 800-135 Rev. 1 KDF KMAC Sp800-108r1 A5154 Derived Key Length - Derived Key Length: 112- 4096 Increment 8 SP 800-108 Rev. 1 KDF SP800-108 A5154 KDF Mode - Counter, Feedback Supported Lengths - Supported Lengths: 8, 72, 128, 776, 3456, 4096 SP 800-108 Rev. 1 KDF SSH (CVL) A5154 Cipher - AES-128, AES-192, AES-256 Hash Algorithm - SHA-1, SHA2-224, SHA2- 256, SHA2-384, SHA2-512 SP 800-135 Rev. 1 KMAC-128 A5154 Message Length - Message Length: 0-65536 Increment 8 Key Data Length - Key Data Length: 128-1024 Increment 8 SP 800-185 KMAC-256 A5154 Message Length - Message Length: 0-65536 Increment 8 Key Data Length - Key Data Length: 128-1024 Increment 8 SP 800-185 KTS-IFC A5154 Modulo - 2048, 3072, 4096, 6144 Key Generation Methods - rsakpg1-basic, rsakpg1-crt, rsakpg1-prime-factor, rsakpg2- basic, rsakpg2-crt, rsakpg2-prime-factor Scheme - KTS-OAEP-basic - KAS Role - initiator, responder Key Transport Method - Key Length - 1024 SP 800-56B Rev. 2 PBKDF A5154 Iteration Count - Iteration Count: 1-10000 Increment 1 SP 800-132 Page 13 of 77 This document may be freely reproduced and distributed in its entirety without modification. Algorithm CAVP Cert Properties Reference Password Length - Password Length: 8-128 Increment 8 RSA KeyGen (FIPS186-5) A5154 Key Generation Mode - probable Modulo - 2048, 3072, 4096 Primality Tests - 2powSecStr Private Key Format - standard FIPS 186-5 RSA SigGen (FIPS186-5) A5154 Modulo - 2048, 3072, 4096 Signature Type - pkcs1v1.5, pss FIPS 186-5 RSA Signature Primitive (CVL) A5154 Private Key Format - CRT FIPS 186-4 RSA SigVer (FIPS186-4) A5154 Signature Type - ANSI X9.31, PKCS 1.5, PKCSPSS Modulo - 1024, 2048, 3072, 4096 FIPS 186-4 RSA SigVer (FIPS186-5) A5154 Modulo - 2048, 3072, 4096 Signature Type - pkcs1v1.5, pss FIPS 186-5 Safe Primes Key Generation A5154 Safe Prime Groups - ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, ffdhe8192, MODP-2048, MODP-3072, MODP-4096, MODP-6144, MODP-8192 SP 800-56A Rev. 3 Safe Primes Key Verification A5154 Safe Prime Groups - ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, ffdhe8192, MODP-2048, MODP-3072, MODP-4096, MODP-6144, MODP-8192 SP 800-56A Rev. 3 SHA-1 A5154 Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 FIPS 180-4 SHA2-224 A5154 Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 FIPS 180-4 SHA2-256 A5154 Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 FIPS 180-4 SHA2-384 A5154 Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 FIPS 180-4 SHA2-512 A5154 Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 FIPS 180-4 SHA2-512/224 A5154 Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 FIPS 180-4 SHA2-512/256 A5154 Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 FIPS 180-4 SHA3-224 A5154 Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 FIPS 202 Page 14 of 77 This document may be freely reproduced and distributed in its entirety without modification. Algorithm CAVP Cert Properties Reference SHA3-256 A5154 Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 FIPS 202 SHA3-384 A5154 Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 FIPS 202 SHA3-512 A5154 Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 FIPS 202 SHAKE-128 A5154 Output Length - Output Length: 16-65536 Increment 8 FIPS 202 SHAKE-256 A5154 Output Length - Output Length: 16-65536 Increment 8 FIPS 202 TLS v1.2 KDF RFC7627 (CVL) A5154 Hash Algorithm - SHA2-256, SHA2-384, SHA2- 512 SP 800-135 Rev. 1 TLS v1.3 KDF (CVL) A5154 HMAC Algorithm - SHA2-256, SHA2-384 KDF Running Modes - DHE, PSK, PSK-DHE SP 800-135 Rev. 1 Table 5: Approved Algorithms Vendor-Affirmed Algorithms: Name Properties Implementation Reference CKG (6.3) Key Type:Symmetric N/A NIST SP 800-133rev2, Section 6.3: Symmetric Keys Produced by Combining Multiple Keys and Other Data CKG (4) Key Type:Symmetric and Asymmetric N/A NIST SP800-133r2 Section 4: Using the Output of a Random Bit Generator; Section 5.1: Key Pairs for Digital Signature Schemes; Section 5.2: Key Pairs for Key Establishment; Section 6.1: Direct Generation of Symmetric Keys; Section 6.2: Derivation of Symmetric keys Table 6: Vendor-Affirmed Algorithms Non-Approved, Allowed Algorithms: Name Properties Implementation Reference AES Cert. A5154:key unwrapping per IG D.G Triton 2 Symmetric key unwrapping per IG D.G Additional Comment 5 FIPS 186-4 RSA SigVer X9.31 Cert. 5154:signature verification Triton 2 IG C.K Page 15 of 77 This document may be freely reproduced and distributed in its entirety without modification. Table 7: Non-Approved, Allowed Algorithms Non-Approved, Allowed Algorithms with No Security Claimed: The module does not support any Non-Approved Algorithms Allowed in the Approved Mode of Operation with No Security Claimed. Non-Approved, Not Allowed Algorithms: Name Use and Function X448 SSP Agreement X25519 SSP Agreement FIPS 186-5 ECDSA SigVer Component Curve(s): P-192, P-224, P-256, P-384, P-521, B-163, B-233, B-283, B- 409, B-571, K-163, K-233, K-283, K-409, K-571, Function(s): SigVer HMAC Generate Key length(s): < 112 bits for MAC generation HMAC DRBG/Hash DRBG PRF(s): SHA3 (all sizes) ED448 PRF: SHAKE256, Function(s): SigGen, SigVer ED25519 PRF: SHA2-512, Function(s): SigGen, SigVer TDES Mode(s): CBC and ECB, Function(s): Encrypt, Decrypt FIPS 186-4 DSA Key size (strength): L = 1024, N = 160 (s < 112); L = 2048, N = 224 (s = 112); L = 2048, N = 256 (s = 112); L = 3072, N = 256 (s = 128); Function(s): KeyGen, SigGen, SigVer, PQGVer and PQGGen (SHA-1, SHA2 and SHA3 all sizes); SigVer and PQGVer disapproved per IG C.M 3.e FIPS 186-2 RSA Signature Modulus: > 1024 bits, Function(s): SigGen, SigVer (per IG C.M 3.e. for SigVer) FIPS 186-2 RSA Generate Key Modulus: >= 2048 bits, Function(s): KeyGen KDA HKDF SP800- 56Cr1 Key length(s): < 112 bits KDA OneStep SP800-56Cr1 PRF(s): SHAKE128 and SHAKE256 KDF ANS 9.42 PRF(s): SHA-1, SHA2-512/224, SHA2-512/256, SHA3-224, SHA3- 256, SHA3-384, SHA3-512, SHAKE128, SHAKE256, KECCAK- KMAC128 and KECCAK-KMAC256 KDF ANS 9.63 PRF(s): SHA-1, SHA2-512/224, SHA2-512/256, SHA3-224, SHA3- 256, SHA3-384, SHA3-512, SHAKE128, SHAKE256, KECCAK- KMAC128 and KECCAK-KMAC256 RSA PKCS1.5 (for KTS) Usage of RSA PKCS1.5 Encapsulation/decapsulation in the context of SSP Transport (KTS) RSA Signature Primitive RSASP with modulus 3072, 4096 (since RSASP 2.0 is untested per CAVP Cert. #A5154) FIPS 186-4 RSA KeyGen X9.31, FIPS RSA KeyGen, SigGen per X9.31 per IG C.K Page 16 of 77 This document may be freely reproduced and distributed in its entirety without modification. Name Use and Function 186-4 RSA SigGen X9.31 SHA-1 for SigVer Usage of SHA-1 in the context of signature verification (per IG C.M 3.e) Table 8: Non-Approved, Not Allowed Algorithms 2.6 Security Function Implementations Name Type Description Properties Algorithms AES Encrypt/Decrypt BC-Auth BC-UnAuth Encryption and decryption using AES modes Key Length:128, 192 and 256 bits Key Length (XTS):128 and 256 bits AES-CBC: (A5154) AES-CBC-CS1: (A5154) AES-CBC-CS2: (A5154) AES-CBC-CS3: (A5154) AES-CCM: (A5154) AES-CFB1: (A5154) AES-CFB128: (A5154) AES-CFB8: (A5154) AES-CMAC: (A5154) AES-CTR: (A5154) AES-ECB: (A5154) AES-GCM: (A5154) AES-GMAC: (A5154) AES-OFB: (A5154) AES-XTS Testing Revision 2.0: (A5154) AES Key Wrapping KTS-Wrap Key Wrapping Key Length:128, 192 and 256 bits AES-KW: (A5154) AES-KWP: (A5154) Page 17 of 77 This document may be freely reproduced and distributed in its entirety without modification. Name Type Description Properties Algorithms SHS SHA Hashing SHA-1: (A5154) SHA2-224: (A5154) SHA2-256: (A5154) SHA2-512: (A5154) SHA2-512/224: (A5154) SHA2-512/256: (A5154) SHA3-224: (A5154) SHA3-256: (A5154) SHA2-384: (A5154) SHA3-512: (A5154) SHAKE-128: (A5154) SHAKE-256: (A5154) SHA3-384: (A5154) MAC BC-Auth MAC Message Authentication Code HMAC-SHA-1: (A5154) HMAC-SHA2- 224: (A5154) HMAC-SHA2- 256: (A5154) HMAC-SHA2- 384: (A5154) HMAC-SHA2- 512: (A5154) HMAC-SHA2- 512/224: (A5154) HMAC-SHA2- 512/256: (A5154) HMAC-SHA3- 224: (A5154) HMAC-SHA3- 256: (A5154) HMAC-SHA3- 384: (A5154) Page 18 of 77 This document may be freely reproduced and distributed in its entirety without modification. Name Type Description Properties Algorithms HMAC-SHA3- 512: (A5154) AES-CMAC: (A5154) AES-GMAC: (A5154) KMAC-128: (A5154) KMAC-256: (A5154) RSA SigGen/SigVer DigSig-SigGen DigSig-SigVer RSA SigGen and SigVer Mode: PKCS 1.5 (SigGen):Modulus: 2048, 3072, 4096; Hash: SHA2-224, SHA2-256, SHA2- 384, SHA2-512, SHA2-512/224, SHA2-512/256 Mode: PKCSPSS (SigGen):Modulus: 2048, 3072, 4096; Hash: SHA2-224, SHA2-256, SHA2- 384, SHA2-512, SHA2-512/224, SHA2-512/256 Mode: ANSI X9.31 (SigVer only):Modulus: 1024, 2048, 3072, 4096; Hash: SHA2-256, SHA2- 384, SHA2-512 Mode: PKCS 1.5 (SigVer):Modulus: 1024, 2048, 3072, 4096; Hash: SHA2-256, SHA2- 384, SHA2-512, SHA2-512/224, SHA2-512/256 Mode: PKCSPSS (SigVer):Modulus: 1024, 2048, 3072, 4096; Hash: SHA2-256, SHA2- 384, SHA2-512, RSA SigGen (FIPS186-5): (A5154) RSA SigVer (FIPS186-5): (A5154) RSA SigVer (FIPS186-4): (A5154) Page 19 of 77 This document may be freely reproduced and distributed in its entirety without modification. Name Type Description Properties Algorithms SHA2-512/224, SHA2-512/256 ECDSA SigGen/SigVer DigSig-SigGen DigSig-SigVer ECDSA SigGen and SigVer SigGen:P-224, P- 256, P-384, P- 521, B-233, B- 283, B-409, B- 571, K-233, K- 283, K-409, K- 571; SHA2-224, SHA2-256, SHA2- 384, SHA2-512, SHA2-512/224, SHA2-512/256, SHA3-224, SHA3- 256, SHA3-384, SHA3-512 SigVer :P-192, P- 224, P-256, P- 384, P-521, B- 163, B-233, B- 283, B-409, B- 571, K-163, K- 233, K-283, K- 409, K-571; SHA2-224, SHA2- 256, SHA2-384, SHA2-512, SHA2-512/224, SHA2-512/256, SHA3-224, SHA3- 256, SHA3-384, SHA3-512 ECDSA SigGen (FIPS186-5): (A5154) ECDSA SigVer (FIPS186-5): (A5154) RSASP DigSig-SigGen RSA signature primitive RSA Signature Primitive: (A5154) Generate Key AsymKeyPair- KeyGen AsymKeyPair- KeyVer CKG Keypair generation ECDSA KeyGen (FIPS186-5): (A5154) RSA KeyGen (FIPS186-5): (A5154) Safe Primes Key Generation: (A5154) Safe Primes Key Page 20 of 77 This document may be freely reproduced and distributed in its entirety without modification. Name Type Description Properties Algorithms Verification: (A5154) ECDSA KeyVer (FIPS186-5): (A5154) CKG (4): () Key Type: Symmetric and Asymmetric Random Bit Generation DRBG Random Number Generation - Hash_DRBG, CTR_DRBG and HMAC_DRBG Counter DRBG: (A5154) Hash DRBG: (A5154) HMAC DRBG: (A5154) Derive CKG KAS-135KDF KAS-56CKDF KBKDF PBKDF Derive Keying Material KDA HKDF SP800-56Cr2: (A5154) KDA OneStep SP800-56Cr2: (A5154) KDA TwoStep SP800-56Cr2: (A5154) KDF ANS 9.42: (A5154) KDF ANS 9.63: (A5154) KDF KMAC Sp800-108r1: (A5154) KDF SP800- 108: (A5154) KDF SSH: (A5154) PBKDF: (A5154) TLS v1.2 KDF RFC7627: (A5154) TLS v1.3 KDF: (A5154) CKG (4): () Key Type: Symmetric and Asymmetric Page 21 of 77 This document may be freely reproduced and distributed in its entirety without modification. Name Type Description Properties Algorithms KAS-1 KAS-SSC Scheme: EphemeralUnified, KAS Role: Initiator, Responder IG : IG D.F Scenario 2, path (1) Key confirmation:no Key derivation:no Caveat:Key establishment methodology provides between 112 and 256 bits of security strength KAS-ECC-SSC Sp800-56Ar3: (A5154) KAS-2 KAS-SSC Scheme: dhEphem. KAS Role: Initiator, Responder IG:IG D.F Scenario 2, path (1) Key confirmation:no Key derivation:no Caveat:Key establishment methodology provides between 112 and 200 bits of security strength KAS-FFC-SSC Sp800-56Ar3: (A5154) KAS-3 KAS-SSC Scheme: KAS1, KAS2. KAS Role: Initiator, Responder IG:IG D.F Scenario 1, path (1) Key confirmation:no Key derivation:no Caveat:Key establishment methodology provides between 112 and 200 bits of security strength KAS-IFC-SSC: (A5154) KTS-1 KTS-Wrap Key Transport in compliance with [SP800- 38F] when approved using an Authenticated AES mode (AES CCM; AES GCM; AES KW, KWP) Standard:SP 800- 38F IG D.G:approved method from IG D.G Caveat:Key establishment methodology provides between AES-CCM: (A5154) AES-GCM: (A5154) AES-KW: (A5154) AES-KWP: (A5154) Page 22 of 77 This document may be freely reproduced and distributed in its entirety without modification. Name Type Description Properties Algorithms 128 and 256 bits of security strength KTS-2 KTS-Wrap Key Transport in compliance with [SP800- 38F] when approved AES (any mode) and approved HMAC are used in combination Standard:SP 800- 38F IG D.G:approved method from IG D.G Caveat:Key establishment methodology provides between 128 and 256 bits of security strength AES-CBC: (A5154) AES-CBC-CS1: (A5154) AES-CBC-CS2: (A5154) AES-CBC-CS3: (A5154) AES-CCM: (A5154) AES-CFB1: (A5154) AES-CFB128: (A5154) AES-CFB8: (A5154) AES-CMAC: (A5154) AES-CTR: (A5154) AES-ECB: (A5154) AES-GCM: (A5154) AES-GMAC: (A5154) AES-KW: (A5154) AES-KWP: (A5154) AES-OFB: (A5154) AES-XTS Testing Revision 2.0: (A5154) HMAC-SHA-1: (A5154) HMAC-SHA2- 224: (A5154) HMAC-SHA2- 256: (A5154) HMAC-SHA2- 384: (A5154) HMAC-SHA2- Page 23 of 77 This document may be freely reproduced and distributed in its entirety without modification. Name Type Description Properties Algorithms 512: (A5154) HMAC-SHA2- 512/224: (A5154) HMAC-SHA2- 512/256: (A5154) HMAC-SHA3- 224: (A5154) HMAC-SHA3- 256: (A5154) HMAC-SHA3- 384: (A5154) HMAC-SHA3- 512: (A5154) KTS-3 KTS-Wrap Key Transport in compliance with [SP800- 38F] when approved AES (any mode) and approved CMAC/GMAC are used in combination Standard:SP 800- 38F IG D.G:approved method from IG D.G Caveat:Key establishment methodology provides between 128 and 256 bits of security strength AES-CBC: (A5154) AES-CBC-CS1: (A5154) AES-CBC-CS2: (A5154) AES-CBC-CS3: (A5154) AES-CCM: (A5154) AES-CFB1: (A5154) AES-CFB128: (A5154) AES-CFB8: (A5154) AES-CMAC: (A5154) AES-CTR: (A5154) AES-ECB: (A5154) AES-GCM: (A5154) AES-GMAC: (A5154) AES-KW: (A5154) AES-KWP: (A5154) AES-OFB: (A5154) AES-XTS Page 24 of 77 This document may be freely reproduced and distributed in its entirety without modification. Name Type Description Properties Algorithms Testing Revision 2.0: (A5154) KTS-4 KTS-Encap Key Transport; Scheme: KTS- OAEP-basic (no key confirmation): RSA-OAEP, RSADP, RSAEP, Key Encapsulation, Key Unencapsulation Key Generation Methods: rsakpg1-basic, rsakpg1-crt, rsakpg1-prime- factor, rsakpg2- basic, rsakpg2-crt, rsakpg2- prime- factor Standard:SP 800- 56Brev2 IG D.G:approved method per IG D.G Key confirmation:no Caveat:Key establishment methodology provides between 112 and 176 bits of security strength KTS-IFC: (A5154) KAS ECC Component KAS-SSC KAS-ECC-SSC primitive (ECC CDH) KAS-ECC CDH- Component SP800-56Ar3: (A5154) Self-tests BC-Auth BC-UnAuth DigSig-SigGen DigSig-SigVer DRBG KAS-135KDF KAS-56CKDF KAS-SSC KBKDF MAC PBKDF SHA XOF All self-tests executed by the module at boot AES-ECB: (A5154) AES-GCM: (A5154) Hash DRBG: (A5154) Counter DRBG: (A5154) HMAC DRBG: (A5154) ECDSA SigGen (FIPS186-5): (A5154) ECDSA SigVer (FIPS186-5): (A5154) RSA SigGen (FIPS186-5): (A5154) RSA SigVer Page 25 of 77 This document may be freely reproduced and distributed in its entirety without modification. Name Type Description Properties Algorithms (FIPS186-5): (A5154) HMAC-SHA2- 256: (A5154) SHA-1: (A5154) SHA3-256: (A5154) KDF ANS 9.42: (A5154) KDF ANS 9.63: (A5154) KAS-ECC-SSC Sp800-56Ar3: (A5154) KAS-FFC-SSC Sp800-56Ar3: (A5154) KAS-IFC-SSC: (A5154) KDA OneStep SP800-56Cr2: (A5154) KDA HKDF SP800-56Cr2: (A5154) KDA TwoStep SP800-56Cr2: (A5154) KDF SSH: (A5154) PBKDF: (A5154) KDF SP800- 108: (A5154) SHA2-512: (A5154) TLS v1.2 KDF RFC7627: (A5154) TLS v1.3 KDF: (A5154) TLS all algorithms AsymKeyPair- KeyGen AsymKeyPair- KeyVer BC-Auth CKG All algorithms supported by the module for the TLS 1.2 protocol/service AES-GCM: (A5154) SHA2-384: (A5154) RSA SigGen (FIPS186-5): Page 26 of 77 This document may be freely reproduced and distributed in its entirety without modification. Name Type Description Properties Algorithms DigSig-SigGen DigSig-SigVer DRBG KAS-135KDF KTS-Wrap SHA (A5154) RSA SigVer (FIPS186-5): (A5154) ECDSA KeyGen (FIPS186-5): (A5154) Hash DRBG: (A5154) TLS v1.2 KDF RFC7627: (A5154) ECDSA SigVer (FIPS186-5): (A5154) ECDSA SigGen (FIPS186-5): (A5154) CKG (4): () Key Type: Symmetric and Asymmetric Software Integrity Test DigSig-SigVer RSA mod 2048 bits SHA2-256 signature Verification RSA SigVer (FIPS186-5): (A5154) KTS-5 KTS-Wrap Key wrapping in the context of the TLS 1.2 IETF protocol using an AES GCM 256-bit key Standard:SP 800- 38F IG D.G :approved method from IG D.G Caveat:Key establishment methodology provides 256 bits of security strength AES-GCM: (A5154) KAS-4 KAS-Full Key agreement in the context of the TLS 1.2 IETF protocol; KAS- ECC-SSC P-384 used with KDF TLS 1.2 IG :IG D.F Scenario 2 path (2) Key confirmation :no Key derivation :IG 2.4.B SP 800- 135rev1 CVL Caveat:Key KAS-ECC-SSC Sp800-56Ar3: (A5154) TLS v1.2 KDF RFC7627: (A5154) Page 27 of 77 This document may be freely reproduced and distributed in its entirety without modification. Name Type Description Properties Algorithms establishment methodology provides 192 bits of security strength Symmetric Key Generation CKG Generation of symmetric keys CKG (4): () CKG (6.3): () Table 9: Security Function Implementations 2.7 Algorithm Specific Information a. AES-GCM Usage The AES GCM IV computation must comply with IG C.H and NIST SP 800-38D Scenario 1(a), tested per option (ii) under C.H TLS 1.2 protocol IV generation per RFC7627, Scenario 1(d) SSHv2 per RFC4252, RFC4253 and RFC5647 and Scenario 5 TLS 1.3 per RFC8446. The Module does not implement the TLS 1.3 and SSH protocols itself, however, it provides the cryptographic functions required for implementing these protocols. The module does implement the TLS 1.2 protocol. AES GCM encryption is used in the context of the SSH and TLS protocol versions 1.2 and 1.3 and the IV computed shall only be used within the protocols. The module provides the primitives to support the AES GCM ciphersuites per NIST SP800-52r1 Section 3.3.1. The module’s implementation of AES-GCM is used together with an application that runs outside the module’s cryptographic boundary in case of TLS 1.3 and SSH protocols. The application negotiates the protocol session’s keys and the 32-bit nonce value of the IV. When the IV exhausts the maximum number of possible values for a given session key (2^64 - 1), this results in a failure in encryption and a handshake to establish a new encryption key will be required. It is the responsibility of the user of the module, i.e., the first party, client or server, to encounter this condition, to trigger this handshake in accordance with the TLS/SSH protocol. The Module also supports internal IV generation using the module’s approved DRBG. The IV is at least 96 bits in length per NIST SP800-38D Section 8.2.2. Per IG C.H Scenario 2 and NIST SP800-38D, the approved DRBG generates outputs such that the (key, IV) pair collision probability is less than 2^-32. For all cases of IV generation, in the event that the module power is lost and restored the user must ensure that the AES GCM encryption/decryption keys are re- distributed/re-established in accordance with IG C.H Scenario 3. The module does not support persistent storage of SSPs. The Module also supports importing of GCM IVs when an IV is not generated within the Module. In the approved mode, an IV must not be imported for encryption from outside the cryptographic boundary of the Module as this will result in a non-conformance. This Page 28 of 77 This document may be freely reproduced and distributed in its entirety without modification. is in accordance with IG 2.4.A: “If the module operator (e.g., calling application) can do things outside of the module’s control/visibility that can take an otherwise approved algorithm and use it in a non-approved way (e.g., use PBKDF and/or AES XTS outside of storage applications), the corresponding module service may still be considered approved (and if so, shall have an approved indicator per AS02.24) and the Security Policy shall clarify how to use the service in an approved manner (per ISO 19790 B.2.2 on Overall security design and the rules of operation).” b. AES-XTS Usage Usage In accordance with NIST SP800-38E, the XTS-AES algorithm shall only be used for confidentiality on storage devices. The Module complies with IG C.I by explicitly checking that Key_1 ≠ Key_2 before using the keys in the XTS-AES algorithm to process data with them. The module implements CKG per NIST SP 800-133r2 Section 6.3. c. Legacy Usage The module supports the following implementations for legacy use/support per NIST SP 800-131Ar2: • FIPS 186-4/5 RSA (modulus 1024 bits), ECDSA (B-163, K-163 and P-192, curves) digital signature verification providing less than 112 bits of security strength. Legacy usage only. These legacy algorithms can only be used on data that was generated prior to the Legacy Date specified in IG C.M. d. Component Validation List (CVL) In accordance with IG 2.4.B, all tested components have been marked with the “CVL” notation in Table 5 and all vendor affirmed algorithms have been listed in Table 6. Also, per IG 2.4.B, the RSASP i.e. RSA SigGen (CVL) shall only be used within the context of a FIPS 186-5 signature generation. e. PBKDF Usage The module is compliant with IG D.N and NIST SP 800-132 Section 5.4 Option 1a. The iteration count values used range from 1 to 10000 per NIST SP 800-132 Section 5.2 whereby the iteration count shall be selected as large as possible, as long as the time required to generate the key using the entered password is acceptable for the users. The derived key must possess a minimum security strength of 112 bits. The module implements CKG per NIST SP 800-133r2 Section 6.2.2. In accordance with NIST SP 800-132 requirements, usage of the derived keys shall be restricted to storage applications alone. The module supports a minimum 1-character long password. The ASCII system comprises of 94 printable characters (letters, digits, punctuation, and symbols). For a 1- character password/passphrase chosen from 94 printable ASCII characters, the total combinations are: 94^1. Thus, the probability of guessing the correct password/passphrase on a random attempt is: 1/94^1 ~ 0.01063. The module being a software module does not restrict the usage of a password/string used as the password and input to the PBKDF. The onus is on the calling application to provide a password of an appropriate length based on the intended security strength (and size) of the key to be derived. Page 29 of 77 This document may be freely reproduced and distributed in its entirety without modification. In accordance with NIST SP 800-132, passwords shorter than 10 characters are usually considered to be weak. There are many other properties that may render a password weak. For example, it is not advisable to use sequences of numbers or sequences of letters as passwords. Easily accessed personal information, such as the user’s name, phone number, and date of birth, should not be used directly as a password. Passphrases frequently consist solely of letters, but they make up for their lack of entropy by being much longer than passwords, typically 20 to 30 characters. Passphrases shorter than 20 characters are usually considered weak. f. FIPS 202 Usage Per IG C.C Resolution 2.a., each SHA-3 and SHAKE function has been tested and validated the module’s operational environment. g. RSA Usage • Per IG C.E and IG C.F, the RSA SigGen and SigVer implementations have been tested for all implemented RSA modulus lengths where CAVP testing is available. The module supports generation of RSA keys with the following untested approved moduli/sizes: 4096