{"_type": "sec_certs.sample.fips.FIPSCertificate", "dgst": "30c6570a99d5554c", "cert_id": 5559, "web_data": {"_type": "sec_certs.sample.fips.FIPSCertificate.WebData", "module_name": "Micron\u00ae MTC22-P4 Controller Sub Chip Security Subsystem", "validation_history": [{"_type": "sec_certs.sample.fips.FIPSCertificate.ValidationHistoryEntry", "date": "2026-10-20", "validation_type": "Initial", "lab": "Lightship Security, Inc."}], "vendor_url": "http://www.micron.com", "vendor": "Micron Technology, Inc.", "certificate_pdf_url": null, "module_type": "Hardware", "standard": "FIPS 140-3", "status": "active", "level": 2, "caveat": "No assurance of minimum security of SSPs (e.g., keys, bit strings) that are externally loaded, or of SSPs established with externally loaded SSPs", "exceptions": ["Operational environment: N/A", "Non-invasive security: N/A", "Mitigation of other attacks: N/A"], "embodiment": "SingleChip", "description": "Micron\u00ae MTC22-P4 Controller Sub Chip Security Subsystem provides cryptographic functionality to SSD controller.", "tested_conf": null, "hw_versions": null, "fw_versions": null, "sw_versions": null, "mentioned_certs": {}, "historical_reason": null, "date_sunset": "2031-10-19", "revoked_reason": null, "revoked_link": null}, "pdf_data": {"_type": "sec_certs.sample.fips.FIPSCertificate.PdfData", "keywords": {"fips_cert_id": {"Cert": {"#1": 1, "#5550": 1, "Certificate 384": 1}}, "fips_security_level": {"Level": {"Level 2": 3, "Level 0": 2}}, "fips_certlike": {"Certlike": {"SHA2-384": 7, "SHA2-512": 3, "SHA-384": 4, "RSA 3072": 1, "AES-128": 2, "AES-256": 10, "AES 256": 2, "AES 128": 1}}, "vendor": {}, "eval_facility": {}, "symmetric_crypto": {"AES_competition": {"AES": {"AES-128": 2, "AES-256": 10, "AES": 14}, "CAST": {"CAST": 34}}, "constructions": {"MAC": {"HMAC": 26}}}, "asymmetric_crypto": {"RSA": {"RSA 3072": 1, "RSA-PSS": 2}, "ECC": {"ECDSA": {"ECDSA": 25}}}, "pq_crypto": {}, "hash_function": {"SHA": {"SHA2": {"SHA-384": 4}}, "PBKDF": {"PBKDF": 11}}, "crypto_scheme": {"MAC": {"MAC": 5}, "KA": {"Key Agreement": 2}}, "crypto_protocol": {}, "randomness": {"PRNG": {"DRBG": 17}, "RNG": {"RNG": 15, "RBG": 2}}, "cipher_mode": {"GCM": {"GCM": 1}, "XTS": {"XTS": 4}}, "ecc_curve": {"NIST": {"P-384": 18}}, "crypto_engine": {}, "tls_cipher_suite": {}, "crypto_library": {}, "vulnerability": {}, "side_channel_analysis": {"FI": {"Fault induction": 8}}, "device_model": {}, "tee_name": {"AMD": {"PSP": 10}}, "os_name": {}, "cplc_data": {}, "ic_data_group": {}, "standard_id": {"FIPS": {"FIPS 140-3": 10, "FIPS PUB 140-3": 2, "FIPS186-5": 22, "FIPS 186-5": 8, "FIPS 198-1": 3, "FIPS 180-4": 3, "FIPS140-3": 1}, "NIST": {"SP 800-38A": 2, "SP 800-38F": 1, "SP 800-38E": 1, "SP 800-90B": 1, "SP 800-90A": 1, "SP 800-108": 1, "SP 800-56B": 1, "SP 800-132": 1}, "ISO": {"ISO/IEC 19790": 2, "ISO/IEC 24759": 2}}, "javacard_version": {}, "javacard_api_const": {}, "javacard_packages": {}, "certification_process": {}}, "policy_metadata": {"pdf_file_size_bytes": 890271, "pdf_is_encrypted": false, "pdf_number_of_pages": 58, "/Producer": "Microsoft\u00ae Word for Microsoft 365", "/Creator": "Microsoft\u00ae Word for Microsoft 365", "/CreationDate": "D:20261006070809-04'00'", "/ModDate": "D:20261006070809-04'00'", "pdf_hyperlinks": {"_type": "Set", "elements": []}}, "module_algorithms": {"_type": "Set", "elements": ["HMAC-SHA2-512/256A5548", "HMAC-SHA2-384A5548", "ECDSA KeyVer (FIPS186-5)A5551", "AES-ECBC1278", "ECDSA SigGen (FIPS186-5)A5551", "SHA2-512/256A5544", "SHA2-384A5544", "Conditioning Component Block Cipher Derivation Function SP800-90BA2272", "AES-XTS Testing Revision 2.0A5545", "PBKDFA5552", "HMAC-SHA2-512A5548", "RSA SigVer (FIPS186-5)A5547", "AES-KWA5550", "Counter DRBGC1278", "KTS-IFCA5549", "ECDSA KeyGen (FIPS186-5)A5551", "SHA2-512A5544", "AES-CTRC1278", "ECDSA SigVer (FIPS186-5)A5551", "KDF SP800-108A5546"]}, "policy_algorithms": {"_type": "Set", "elements": ["#A5549", "#A5546", "#A5545", "#C1278", "#A5547", "#A5548", "#A5550", "#A5552", "#A5544", "#A5543", "#A2272", "#A5551"]}, "is_br1_format": true, "br1_deviations": 2, "br1_tables": {"_type": "sec_certs.heuristics.br1.table_parsing.model.br1_tables.BR1Tables", "security_levels": {"section": 1, "subsection": 2, "found": true, "entries": [{"section": "1", "title": "General", "level": "2"}, {"section": "2", "title": "Cryptographic module specification", "level": "2"}, {"section": "3", "title": "Cryptographic module interfaces", "level": "2"}, {"section": "4", "title": "Roles, services, and authentication", "level": "2"}, {"section": "5", "title": "Software/Firmware security", "level": "2"}, {"section": "6", "title": "Operational environment", "level": "N/A"}, {"section": "7", "title": "Physical security", "level": "2"}, {"section": "8", "title": "Non-invasive security", "level": "N/A"}, {"section": "9", "title": "Sensitive security parameter management", "level": "2"}, {"section": "10", "title": "Self-tests", "level": "2"}, {"section": "11", "title": "Life-cycle assurance", "level": "2"}, {"section": "12", "title": "Mitigation of other attacks", "level": "N/A"}, {"section": "", "title": "Overall Level", "level": "2"}]}, "tested_module_id_hw": {"section": 2, "subsection": 2, "found": true, "entries": [{"modelPartNum": "Micron\u00ae MTC22-P4 Controller Sub Chip Security Subsystem", "hwVersion": "0x20201112", "fwVersion": "Function ROM v3.0 Boot ROM v1.0 Bootloader V2.0 Runtime SCCS v3.0", "processors": "Micron\u00ae MTC-22 P4", "features": "NVMe interface at the physical boundary"}]}, "tested_module_id_sw_fw_hy": {"section": 2, "subsection": 2, "found": false, "entries": []}, "tested_module_id_hw_hy": {"section": 2, "subsection": 2, "found": false, "entries": []}, "tested_op_env_sw_fw_hy": {"section": 2, "subsection": 2, "found": false, "entries": []}, "vendor_affirmed_op_env_sw_fw_hy": {"section": 2, "subsection": 2, "found": false, "entries": []}, "modes_of_operation": {"section": 2, "subsection": 4, "found": false, "entries": []}, "approved_algorithms": {"section": 2, "subsection": 5, "found": true, "entries": [{"algorithm": "AES-CTR, AES-ECB", "cavpCertName": "C1278", "properties": "Direction - Encrypt Key Length - 128, 256", "reference": "SP 800-38A"}, {"algorithm": "AES-ECB", "cavpCertName": "A5543, A5545", "properties": "Direction - Decrypt, Encrypt Key Length - 256", "reference": "SP 800-38A"}, {"algorithm": "AES-KW", "cavpCertName": "A5550", "properties": "Direction - Decrypt, Encrypt Cipher - Cipher Key Length - 256 Payload Length - Payload Length: 256- 4096 Increment 64", "reference": "SP 800-38F"}, {"algorithm": "AES-XTS Testing Revision 2.0", "cavpCertName": "A5543, A5545", "properties": "Direction - Decrypt, Encrypt Key Length - 256 Payload Length - Payload Length: 4096-32896 Increment 128 Tweak Mode - Number Data Unit Length Matches Payload Length - Yes", "reference": "SP 800-38E"}, {"algorithm": "Conditioning Component Block Cipher Derivation Function SP800-90B", "cavpCertName": "A2272", "properties": "Key Length - 128 Payload Length - Payload Length: 512", "reference": "SP 800-90B"}, {"algorithm": "Counter DRBG", "cavpCertName": "C1278", "properties": "Prediction Resistance - No, Yes Supports Reseed - Yes Mode - AES-128, AES-256 Derivation Function Enabled - No Additional Input - Additional Input: 0- 256, Additional Input: 0-384 Entropy Input - Entropy Input: 256, Entropy Input: 384 Nonce - Nonce: 0 Personalization String Length - Personalization String Length: 0-256, Personalization String Length: 0-384 Returned Bits - 512", "reference": "SP 800-90A Rev. 1"}, {"algorithm": "ECDSA KeyGen (FIPS186-5)", "cavpCertName": "A5551", "properties": "Curve - P-384 Secret Generation Mode - extra bits", "reference": "FIPS 186-5"}, {"algorithm": "ECDSA KeyVer (FIPS186-5)", "cavpCertName": "A5551", "properties": "Curve - P-384", "reference": "FIPS 186-5"}, {"algorithm": "ECDSA SigGen (FIPS186-5)", "cavpCertName": "A5551", "properties": "Curve - P-384 Hash Algorithm - SHA2-384 Component - No", "reference": "FIPS 186-5"}, {"algorithm": "ECDSA SigVer (FIPS186-5)", "cavpCertName": "A5551", "properties": "Component - No Curve - P-384 Hash Algorithm - SHA2-384", "reference": "FIPS 186-5"}, {"algorithm": "HMAC-SHA2-384", "cavpCertName": "A5548", "properties": "MAC - MAC: 384 Key Length - Key Length: 384", "reference": "FIPS 198-1"}, {"algorithm": "HMAC-SHA2-512", "cavpCertName": "A5548", "properties": "MAC - MAC: 512 Key Length - Key Length: 512", "reference": "FIPS 198-1"}, {"algorithm": "HMAC-SHA2-512/256", "cavpCertName": "A5548", "properties": "MAC - MAC: 256 Key Length - Key Length: 256", "reference": "FIPS 198-1"}, {"algorithm": "KDF SP800-108", "cavpCertName": "A5546", "properties": "KDF Mode - Counter MAC Mode - HMAC-SHA2-384, HMAC- SHA2-512/256 Supported Lengths - Supported Lengths: 384 Fixed Data Order - Before Fixed Data Counter Length - 8 Supports Empty IV - No Requires Empty IV - No Custom Key In Length - 0", "reference": "SP 800-108 Rev. 1"}, {"algorithm": "KTS-IFC", "cavpCertName": "A5549", "properties": "Function - partialVal IUT ID - 6500 Modulo - 3072, 4096 Key Generation Methods - rsakpg1- basic Fixed Public Exponent - 010001 Scheme - KTS-OAEP-basic - KAS Role - initiator Key Transport Method - Hash Algorithms - SHA2-384 Supports Null Associated Data - Yes Associated Data Pattern - uPartyInfo||vPartyInfo Associated Data Encoding - concatenation Key Length - 256", "reference": "SP 800-56B Rev. 2"}, {"algorithm": "PBKDF", "cavpCertName": "A5552", "properties": "Iteration Count - Iteration Count: 100- 1000 Increment 1 HMAC Algorithm - SHA2-512/256 Password Length - Password Length: 8- 32 Increment 1 Salt Length - Salt Length: 128-3952 Increment 8 Key Data Length - Key Data Length: 256", "reference": "SP 800-132"}, {"algorithm": "RSA SigVer (FIPS186-5)", "cavpCertName": "A5547", "properties": "Hash Pair - Hash Algorithm - SHA2-384 Modulo - 3072, 4096 Signature Type - pkcs1v1.5, pss Mask Function - mgf1 Fixed Public Exponent - 010001 Public Exponent Mode - fixed", "reference": "FIPS 186-5"}, {"algorithm": "SHA2-384", "cavpCertName": "A5544", "properties": "Message Length - Message Length: 384, 8-65536 Increment 8 Large Message Sizes - 1", "reference": "FIPS 180-4"}, {"algorithm": "SHA2-512", "cavpCertName": "A5544", "properties": "Message Length - Message Length: 512, 8-65536 Increment 8 Large Message Sizes - 1", "reference": "FIPS 180-4"}, {"algorithm": "SHA2-512/256", "cavpCertName": "A5544", "properties": "Message Length - Message Length: 256, 8-65536 Increment 8 Large Message Sizes - 1", "reference": "FIPS 180-4"}]}, "vendor_affirmed_algos": {"section": 2, "subsection": 5, "found": true, "entries": [{"name": "CKG", "algoPropList": "Key Type:Asymmetric and Symmetric", "implName": "N/A", "reference": "SP800-133rev2 Section 4 example 1 and IG D.H"}, {"name": "CKG- Combined", "algoPropList": "Key Type:Symmetric Key Generation for AES-XTS usage", "implName": "N/A", "reference": "SP 800-133rev2 Section 6.3 example #1 and IG C.I"}]}, "non_approved_allowed_algos": {"section": 2, "subsection": 5, "found": false, "entries": []}, "non_approved_allowed_NSC": {"section": 2, "subsection": 5, "found": false, "entries": []}, "non_approved_not_allowed": {"section": 2, "subsection": 5, "found": false, "entries": []}, "ports_interfaces": {"section": 3, "subsection": 1, "found": true, "entries": [{"physicalPort": "AESE (encryption engine)", "logicalInterface": "Data Input Data Output Control Input Status Output", "data": "User Data"}, {"physicalPort": "AESD (encryption engine)", "logicalInterface": "Data Input Data Output Control Input Status Output", "data": "User Data"}, {"physicalPort": "Mbox (Mailbox)", "logicalInterface": "Control Input Status Output", "data": "Service info input"}, {"physicalPort": "Controller output (response to Mbox)", "logicalInterface": "Data Output", "data": "Service info output"}, {"physicalPort": "Reset/Interrupt", "logicalInterface": "Control Input", "data": "None"}, {"physicalPort": "BMG-128 (S-DMA Interface)", "logicalInterface": "Data Input Data Output", "data": "Service info data (command/response)"}, {"physicalPort": "Power", "logicalInterface": "Power", "data": "None"}, {"physicalPort": "LDPC Decoder", "logicalInterface": "Data Input", "data": "Firmware Images"}, {"physicalPort": "UART", "logicalInterface": "Status Output", "data": "Status Data"}]}, "authentication_methods": {"section": 4, "subsection": 1, "found": true, "entries": [{"name": "Controller authentication", "description": "The User role is authenticated to the msg in interface with cryptographic signature generation", "mechanism": "RSAVer", "strength": "RSA 3072/4096 has a key strength of 128/150 bits. The probability of a successful verification from a single random attempt is at least 1/2^128. This effectively eliminates the possibility of determining the private key through exhaustive methods.", "perMinute": "This verification has an associated retry limit of 5. This controls the number of unsuccessful attempts before authentication is blocked until a system restart occurs. This results in a probability of 5/2^128 that multiple attempts in a given minute of time is successful."}]}, "roles": {"section": 4, "subsection": 2, "found": true, "entries": [{"name": "Controller", "type": "Role", "operatorType": "CO", "authMethodList": "Controller authentication"}]}, "approved_services": {"section": 4, "subsection": 3, "found": true, "entries": [{"name": "Module Self-Test", "description": "Run KAT tests on all cryptograph ic algorithms and firmware integrity test", "indicator": "CCS", "inputs": "Power", "outputs": "Pass/Fail status", "secFunImpl": "KTS1 KTS2 RNG ENT SHS HMAC DPE DPD KDF PBKDF RSAVer ECDSASi gVer ECDSASi gGen ECDSA- KeyGen CKG CKG - Combined", "rolesSspAccess": "Controller"}, {"name": "Get Status", "description": "Get information about the operational state of the drive This includes Module identifier, hardware and firmware", "indicator": "CCS", "inputs": "Comma nd", "outputs": "Comman d response with module status informati on", "secFunImpl": "None", "rolesSspAccess": "Controller"}, {"name": "", "description": "revision values.", "indicator": "", "inputs": "", "outputs": "", "secFunImpl": "", "rolesSspAccess": ""}, {"name": "TCG Authenticat e", "description": "Unwrap TCG SSP using PBKDF derived key", "indicator": "CCS", "inputs": "Passwor d", "outputs": "Pass/Fail Status", "secFunImpl": "KTS1 KDF PBKDF CKG", "rolesSspAccess": "Controller - Password: E - SumRdsKey: W - RdsKey: W - PasswordWrapKey: G,E,Z - AuthenticatedUseH macKey: E - EphemeralSumRdsk WrapKey: E"}, {"name": "Clear TCG Authenticati ons", "description": "Remove status of all past authenticati on and their privileges", "indicator": "CCS", "inputs": "End Session", "outputs": "Pass/Fail Status", "secFunImpl": "None", "rolesSspAccess": "Controller"}, {"name": "NVMe Allocate and associate Key", "description": "Generate a key, wrap key and associate key with an entity", "indicator": "CCS", "inputs": "Access control list", "outputs": "Pass/Fail Status", "secFunImpl": "KTS1 RNG CKG", "rolesSspAccess": "Controller - SumRdsKey: G,E,R - RdsKey: G,E,R - DRBG-State: E - WrapKey: E - NamespaceDEK: G,R - AuthenticatedUseH macKey: E - EphemeralSumRdsk WrapKey: E"}, {"name": "NVMe Deallocate and disassociat e Key", "description": "Zeroize key and disassociat e key from an entity", "indicator": "CCS", "inputs": "Access control list", "outputs": "Pass/Fail Status", "secFunImpl": "KTS1 DPE", "rolesSspAccess": "Controller - WrapKey: E - NamespaceDEK: Z - AuthenticatedUseH macKey: E"}, {"name": "NVMe Update Key", "description": "Erase user data in a namespace by changing the", "indicator": "CCS", "inputs": "Access control list", "outputs": "Pass/Fail Status", "secFunImpl": "KTS1 RNG CKG", "rolesSspAccess": "Controller - SumRdsKey: W,E - RdsKey: E - DRBG-State: E - WrapKey: E - NamespaceDEK:"}, {"name": "", "description": "encryption key", "indicator": "", "inputs": "", "outputs": "", "secFunImpl": "", "rolesSspAccess": "G,R,Z - LockingObjectDEK: G,R,Z - AuthenticatedUseH macKey: E - EphemeralSumRdsk WrapKey: E"}, {"name": "Public HMAC Generation", "description": "Generate an HMAC over the prescribed content", "indicator": "CCS", "inputs": "Content", "outputs": "Mac of content", "secFunImpl": "HMAC", "rolesSspAccess": "Controller - RootPublicMacKey: E - PspHmacKey: E"}, {"name": "Load Range and Key", "description": "Load DEK into DPE for indicated range", "indicator": "CCS", "inputs": "Range and Keyinfo", "outputs": "Status Indicator", "secFunImpl": "KTS1", "rolesSspAccess": "Controller - SumRdsKey: W,E - RdsKey: E - TweakKey: W - WrapKey: E - NamespaceDEK: W - LockingObjectDEK: W - EphemeralSumRdsk WrapKey: E"}, {"name": "AWOR", "description": "Save, restore security operational context", "indicator": "CCS", "inputs": "Content pointer", "outputs": "Status Indicator", "secFunImpl": "KTS1 HMAC KDF CKG CKG - Combined", "rolesSspAccess": "Controller - SumRdsKey: W,R - RdsKey: W,R - TweakKey: W,R - PspHmacKey: W,R - RootHmacKey: E - RootKeyWrapKey: G,E - RootPublicMacKey: E - EphemeralSumRdsk WrapKey: W,R"}, {"name": "TCG Allocate and associate Key", "description": "Generate a key, wrap key and associate", "indicator": "CCS", "inputs": "Access control list", "outputs": "Status Indicator", "secFunImpl": "KTS1 RNG CKG", "rolesSspAccess": "Controller - SumRdsKey: G,E,R - RdsKey: G,E,R - DRBG-State: E"}, {"name": "", "description": "key with an entity", "indicator": "", "inputs": "", "outputs": "", "secFunImpl": "", "rolesSspAccess": "- WrapKey: E - LockingObjectDEK: G,R - AuthenticatedUseH macKey: E - EphemeralSumRdsk WrapKey: E"}, {"name": "TCG Deallocate and disassociat e Key", "description": "Zeroize key and disassociat e key from an entity", "indicator": "CCS", "inputs": "Access control list", "outputs": "Status Indicator", "secFunImpl": "KTS1", "rolesSspAccess": "Controller - WrapKey: E - LockingObjectDEK: Z,R - AuthenticatedUseH macKey: E"}, {"name": "TCG Update Key", "description": "Erase user data in a namespace by changing the encryption key", "indicator": "CCS", "inputs": "Access control list", "outputs": "Status Indicator", "secFunImpl": "KTS1 RNG CKG", "rolesSspAccess": "Controller - SumRdsKey: W,E - RdsKey: E - DRBG-State: E - WrapKey: E - LockingObjectDEK: G,R,Z - AuthenticatedUseH macKey: E - EphemeralSumRdsk WrapKey: E"}, {"name": "TCG Set PIN", "description": "Set PIN which is used in generating a key to wrap a TCG credential", "indicator": "CCS", "inputs": "Passwor d and passwor d length", "outputs": "Status indicator", "secFunImpl": "KTS1 RNG HMAC KDF PBKDF CKG", "rolesSspAccess": "Controller - SumRdsKey: W,G - RdsKey: W,G - DRBG-State: E - WrapKey: E - Password: W,E,Z - PasswordWrapKey: G,E,Z - AuthenticatedUseH macKey: E - EphemeralSumRdsk WrapKey: E"}, {"name": "TCG Revert, Activate, Reactivate", "description": "Revert to FOB, Revert to FOB with TCG Activated", "indicator": "CCS", "inputs": "Access control list", "outputs": "Status Indicator", "secFunImpl": "KTS1 RNG HMAC CKG", "rolesSspAccess": "Controller - SumRdsKey: Z - RdsKey: Z - WrapKey: E - DRBG-State: E - NamespaceDEK: G,Z - RootHmacKey: E - LockingObjectDEK: G,Z - AuthenticatedUseH macKey: E"}, {"name": "CSP Load", "description": "Restore Persistent CSP", "indicator": "CCS", "inputs": "CSP List", "outputs": "Status Indicator", "secFunImpl": "KTS1 HMAC", "rolesSspAccess": "Controller - RootHmacKey: E - RootKeyWrapKey: E - WrapKey: W - DRBG-State: E - TweakKey: W - PspHmacKey: W"}, {"name": "Generate KeyDerivati onKey", "description": "Generate a new KeyDerivati onKey", "indicator": "CCS", "inputs": "Value", "outputs": "Status Indicator", "secFunImpl": "KDF CKG", "rolesSspAccess": "Controller - RootHmacKey: G,E - RootKeyWrapKey: G,E - RootPublicMacKey: G - WrapKey: G,E - KeyDerivationKey: G,E - Entropy Input and Seed: E - DRBG-State: G,E - TweakKey: G - PspHmacKey: G - AuthenticatedUseH macKey: G,E - EphemeralSumRdsk WrapKey: G,E"}, {"name": "Attestation", "description": "Device cryptograph ic identity", "indicator": "CCS", "inputs": "Index", "outputs": "Status Indicator", "secFunImpl": "KTS1 RNG SHS", "rolesSspAccess": "Controller - KDeviceIDPrivate: G,E,Z"}, {"name": "", "description": "and attestation", "indicator": "", "inputs": "", "outputs": "", "secFunImpl": "ECDSASi gVer ECDSASi gGen ECDSA- KeyGen CKG - Combined", "rolesSspAccess": "- KDeviceIDPublic: G - KAliasPrivate: G,E - KAliasPublic: G - KDeviceIDWrapKey: G,E,Z - DRBG-State: E - UDS: G,E,Z"}, {"name": "User Write/Read", "description": "Encryption / Decryption of user data to / from a user data range", "indicator": "CCS", "inputs": "Data packet", "outputs": "Data Packet", "secFunImpl": "DPE DPD", "rolesSspAccess": "Controller - NamespaceDEK: E - LockingObjectDEK: E - TweakKey: E"}, {"name": "SUP Generate", "description": "KTS-RSA wrap an internally generated random", "indicator": "CCS", "inputs": "None", "outputs": "Encrypte d password context Status", "secFunImpl": "KTS1 KTS2 RNG KDF PBKDF CKG", "rolesSspAccess": "Controller - KDeviceWrappingP ub: E - PasswordWrapKey: G,E,Z - SUP Seed: G,R - DRBG-State: E"}, {"name": "SUP Authenticat e", "description": "Unwrap SUP blob using KBKDF derived key", "indicator": "CCS", "inputs": "Passwor d", "outputs": "Authentic ation result", "secFunImpl": "KTS1 KDF PBKDF", "rolesSspAccess": "Controller - PasswordWrapKey: G,E - Password: W,E"}, {"name": "Random", "description": "Returns a 256-bit random number", "indicator": "CCS", "inputs": "Size", "outputs": "DRBG output", "secFunImpl": "RNG", "rolesSspAccess": "Controller - DRBG-State: E"}, {"name": "Zeroize", "description": "Destroys all keys. Must be performed under the direct control of the operator", "indicator": "CCS", "inputs": "None", "outputs": "None", "secFunImpl": "None", "rolesSspAccess": "Controller - AuthenticatedUseH macKey: Z - DRBG-State: Z - EphemeralSumRdsk WrapKey: Z - Entropy Input and Seed: Z - KeyDerivationKey: Z -"}, {"name": "", "description": "", "indicator": "", "inputs": "", "outputs": "", "secFunImpl": "", "rolesSspAccess": "LockingObjectDEK: Z - NamespaceDEK: Z - Password: Z - PasswordWrapKey: Z - PspHmacKey: Z - RdsKey: Z - RootHmacKey: Z - RootKeyWrapKey: Z - SumRdsKey: Z - SUP Seed: Z - TweakKey: Z - WrapKey: Z - KFWModuleVerify: Z - KFWControllerVerify : Z - KAuthPub: Z - KVSAuthPub: Z - KDeviceWrappingP ub: Z - KManifestPub: Z - KFWCBootloaderVe rify: Z - UDS: Z - KDeviceIDWrapKey: Z - KDeviceIDPrivate: Z - KAliasPrivate: Z - KDeviceIDPublic: Z - KAliasPublic: Z - RootPublicMacKey: Z"}, {"name": "Module Deprovision", "description": "Deprovision the device, zeroize all SSPs", "indicator": "CCS", "inputs": "None", "outputs": "None", "secFunImpl": "None", "rolesSspAccess": "Controller - AuthenticatedUseH macKey: Z"}, {"name": "Name", "description": "Descriptio n", "indicator": "Indic ator", "inputs": "Inputs", "outputs": "Outputs", "secFunImpl": "Security Function", "rolesSspAccess": "SSP Access"}, {"name": "", "description": "", "indicator": "", "inputs": "", "outputs": "", "secFunImpl": "s", "rolesSspAccess": "- DRBG-State: Z - EphemeralSumRdsk WrapKey: Z - Entropy Input and Seed: Z - LockingObjectDEK: Z - NamespaceDEK: Z - Password: Z - PasswordWrapKey: Z - PspHmacKey: Z - RdsKey: Z - RootHmacKey: Z - RootKeyWrapKey: Z - SumRdsKey: Z - SUP Seed: Z - TweakKey: Z - WrapKey: Z - KFWModuleVerify: Z - KFWControllerVerify : Z - KAuthPub: Z - KVSAuthPub: Z - KDeviceWrappingP ub: Z - KManifestPub: Z - KFWCBootloaderVe rify: Z - KDeviceIDWrapKey: Z - KDeviceIDPrivate: Z - KAliasPrivate: Z - KDeviceIDPublic: Z - KAliasPublic: Z -"}, {"name": "", "description": "", "indicator": "", "inputs": "", "outputs": "", "secFunImpl": "", "rolesSspAccess": "RootPublicMacKey: Z"}, {"name": "Factory Auth", "description": "Authenticati on for factory- restricted services", "indicator": "CCS", "inputs": "Authoriz ation signatur e", "outputs": "Random Value", "secFunImpl": "RNG RSAVer", "rolesSspAccess": "Controller - KAuthPub: E - KVSAuthPub: E - DRBG-State: E"}, {"name": "Firmware Signature Check", "description": "Verify firmware image signature", "indicator": "CCS", "inputs": "Firmwar e Image Location", "outputs": "Status", "secFunImpl": "RSAVer", "rolesSspAccess": "Controller - KFWModuleVerify: E - KFWControllerVerify : E - KFWCBootloaderVe rify: E"}, {"name": "Manifest Load", "description": "Verify and load trusted set of PKS", "indicator": "CCS", "inputs": "Manifest Location", "outputs": "Status", "secFunImpl": "RSAVer", "rolesSspAccess": "Controller - KManifestPub_ROM : E - KManifestPub: E - KDeviceWrappingP ub: R - KFWCBootloaderVe rify: R - KFWModuleVerify: R - KVSAuthPub: R - KAuthPub: R - KFWControllerVerify : R"}]}, "non_approved_services": {"section": 4, "subsection": 4, "found": false, "entries": []}, "mechanisms_actions": {"section": 7, "subsection": 1, "found": true, "entries": [{"mechanism": "IC packaging", "inspectFreq": "On initial receipt of the device and yearly afterwards", "inspectGuidance": "Inspect for evidence of prying or removal of the chip packaging. If tampering is suspected, then the device containing the IC should be removed from service and the site administrator should be contacted. See Example below."}]}, "storage_areas": {"section": 9, "subsection": 1, "found": true, "entries": [{"name": "Sub Chip security sub system RAM (S1)", "description": "Stored in volatile memory (RAM).", "persistance": "Dynamic"}, {"name": "Sub Chip security sub system e-Fuse (S2)", "description": "Stored in e-fuse in Plaintext", "persistance": "Static"}, {"name": "Sub Chip security sub system register (S3)", "description": "Stored in register in Plaintext", "persistance": "Dynamic"}]}, "ssp_io_methods": {"section": 9, "subsection": 2, "found": true, "entries": [{"name": "Input in Plaintext(IO1)", "source": "Outside the module boundary in ASIC Internal SRAM", "dest": "Sub Chip security sub system RAM (S1)", "format": "Plaintext", "distribution": "Automated", "entry": "Electronic", "sfiAlgo": ""}, {"name": "Input using SP800-38F AES key Transport (IO2)", "source": "Outside the module boundary in ASIC Internal SRAM", "dest": "Sub Chip security sub system RAM (S1)", "format": "Encrypted", "distribution": "Automated", "entry": "Electronic", "sfiAlgo": "KTS1"}, {"name": "Output using SP800-38F Key Transport (IO3)", "source": "Sub Chip security sub system RAM (S1)", "dest": "Outside the module boundary in ASIC Internal SRAM", "format": "Encrypted", "distribution": "Automated", "entry": "Electronic", "sfiAlgo": "KTS1"}, {"name": "Output encapsulated by RSA (IO4)", "source": "Sub Chip security sub system RAM (S1)", "dest": "Outside the module boundary in ASIC Internal SRAM", "format": "Encrypted", "distribution": "Automated", "entry": "Electronic", "sfiAlgo": "KTS2"}]}, "ssp_zeroization_methods": {"section": 9, "subsection": 3, "found": true, "entries": [{"method": "Z1", "description": "Zeroized by Module power cycle or hard reset.", "rationale": "When module is reset, all data stored in volatile module memory (RAM) will be lost", "operatorId": "Implicit"}, {"method": "Z2", "description": "Zeroized by the zeroization service by overwriting with a fixed pattern of zeros.", "rationale": "Each SSP is overwritten with a fixed value of 1s or 0s", "operatorId": "Explicit"}]}, "self_tests": {"section": 10, "subsection": 1, "found": true, "entries": [{"algorithmOrTest": "Bootloader Firmware integrity test", "testProps": "RSA SigVer PKCS1_v1.5 or PSS (FIPS186-5) (A5547)", "testMethod": "KAT", "type": "SW/FW Integrity", "indicator": "Success or Failure Code", "details": "Executed on the whole firmware stored in the Module"}, {"algorithmOrTest": "Module run time firmware integrity test", "testProps": "RSA SigVer PKCS1_v1.5 or PSS (FIPS186-5) (A5547)", "testMethod": "KAT", "type": "SW/FW Integrity", "indicator": "Success or Failure Code", "details": "Executed on the whole firmware stored in the Module"}]}, "cond_self_tests": {"section": 10, "subsection": 2, "found": true, "entries": [{"algorithmOrTest": "AES-KW (A5550) - Encrypt", "testProps": "AES-256", "testMethod": "KAT", "type": "CAST", "indicator": "Success or Failure Code", "details": "(Auxiliary) AES-256 KW Encrypt KAT", "condition": "At boot up"}, {"algorithmOrTest": "AES-KW (A5550) - Decrypt", "testProps": "AES-256", "testMethod": "KAT", "type": "CAST", "indicator": "Success or Failure Code", "details": "(Auxiliary) AES-256 KW Decrypt KAT", "condition": "At boot up"}, {"algorithmOrTest": "AES-XTS Testing Revision 2.0 - Encryption", "testProps": "AES-256", "testMethod": "Comparison", "type": "CAST", "indicator": "Success or Failure Code", "details": "256-bit AES-XTS encryption KAT", "condition": "At boot up"}, {"algorithmOrTest": "AES-XTS Testing Revision 2.0 - Decryption", "testProps": "AES-256", "testMethod": "Comparison", "type": "CAST", "indicator": "Success or Failure Code", "details": "256-bit AES-XTS decryption KAT", "condition": "At boot up"}, {"algorithmOrTest": "Conditioning Component Block Cipher Derivation Function SP800- 90B (A2272)", "testProps": "AES 128", "testMethod": "KAT", "type": "CAST", "indicator": "Success or Failure Code", "details": "SP800-90B Conditioning Component (AES-128)", "condition": "At boot up"}, {"algorithmOrTest": "Counter DRBG (C1278)", "testProps": "Counter DRBG - AES 256", "testMethod": "KAT", "type": "CAST", "indicator": "Success or Failure Code", "details": "AES-256 CTR_DRBG KAT SP800-90A Health Tests. Instantiate, Reseed, Generate as a full test", "condition": "At boot up"}, {"algorithmOrTest": "ECDSA KeyGen (FIPS186-5) (A5551)", "testProps": "ECDSA P-384", "testMethod": "PCT", "type": "PCT", "indicator": "Success or Failure Code", "details": "A pairwise consistency check is performed on ECDSA private/public key on", "condition": "When a new ECDSA key pair is generated"}, {"algorithmOrTest": "ECDSA SigGen (FIPS186-5) (A5551)", "testProps": "ECDSA P-384", "testMethod": "KAT", "type": "CAST", "indicator": "Success or Failure Code", "details": "P-384 Signature Generation KAT with SHA-384", "condition": "At boot up"}, {"algorithmOrTest": "ECDSA SigVer (FIPS186-5) (A5551)", "testProps": "ECDSA P-384", "testMethod": "KAT", "type": "CAST", "indicator": "Success or Failure Code", "details": "P-384 Signature Verification KAT with SHA-384", "condition": "At boot up"}, {"algorithmOrTest": "HMAC-SHA2-384 (A5548)", "testProps": "HMAC SHA2-384", "testMethod": "KAT", "type": "CAST", "indicator": "Success or Failure Code", "details": "HMAC SHA2-384 KAT performed prior to Firmware Integrity test", "condition": "At boot up"}, {"algorithmOrTest": "HMAC-SHA2-512 (A5548)", "testProps": "HMAC SHA2-512", "testMethod": "KAT", "type": "CAST", "indicator": "Success or Failure Code", "details": "HMAC SHA2-512 KAT", "condition": "At boot up"}, {"algorithmOrTest": "KDF SP800-108 (A5546)", "testProps": "HMAC-SHA2-384", "testMethod": "KAT", "type": "CAST", "indicator": "Success or Failure Code", "details": "Counter mode KBKDF KAT. Inclusive of HMAC-SHA2-384 KAT.", "condition": "At boot up"}, {"algorithmOrTest": "PBKDF (A5552)", "testProps": "HMAC SHA2- 512/256", "testMethod": "KAT", "type": "CAST", "indicator": "Success or Failure Code", "details": "Option 1a using HMAC SHA2-512/256", "condition": "At boot up"}, {"algorithmOrTest": "RSA SigVer (FIPS186-5) (A5547)", "testProps": "3072 RSA PKCS#1_v1.5 Verification with SHA-384", "testMethod": "KAT", "type": "CAST", "indicator": "Success or Failure Code", "details": "3072 RSA PKCS#1_v1.5 Verification with SHA-384 KAT the Module only supports the public key operation for RSA Signature Verification and KTS-RSA Wrap", "condition": "At boot up before Pre- Operational firmware integrity test."}, {"algorithmOrTest": "BootLoader Firmware Load test", "testProps": "RSA SigVer (FIPS186-5) (A5547)", "testMethod": "KAT", "type": "SW/FW Load", "indicator": "Success or Failure Code", "details": "A 3072/ 4096-bit RSA or ECDSA P384 Signature Verification is executed on the bootloader copied into the Module", "condition": "At boot up"}, {"algorithmOrTest": "Runtime Firmware Load test", "testProps": "RSA SigVer (FIPS186-5) (A5547)", "testMethod": "KAT", "type": "SW/FW Load", "indicator": "Success or Failure Code", "details": "A 3072/ 4096-bit RSA or ECDSA P384 Signature Verification is executed on the SEE firmware copied into the Module", "condition": "At boot up"}, {"algorithmOrTest": "XTS Duplicate Key", "testProps": "", "testMethod": "CT", "type": "Critical Function", "indicator": "Success or Failure Code", "details": "Duplicate Key Test", "condition": "Upon generation of XTS key"}, {"algorithmOrTest": "Entropy 90B Start- up Repetition Count Test (RCT)", "testProps": "Repetition Count Test", "testMethod": "Fault induction", "type": "CAST", "indicator": "Success or Failure Code", "details": "As specified in [90B] RCT startup health tests", "condition": "At boot up"}, {"algorithmOrTest": "Entropy 90B Start- up Adaptive Proportion Test (APT)", "testProps": "Adaptive Proportion Test", "testMethod": "Fault induction", "type": "CAST", "indicator": "Success or Failure Code", "details": "As specified in [90B] APT startup health tests", "condition": "At boot up"}, {"algorithmOrTest": "Entropy 90B Continuous Repetition Count Test (RCT)", "testProps": "Repetition Count Test", "testMethod": "Fault induction", "type": "CAST", "indicator": "Success or Failure Code", "details": "As specified in [90B] RCT continuous health tests", "condition": "Continuous when entropy is requested"}, {"algorithmOrTest": "Entropy 90B Continuous Adaptive Proportion Test (APT)", "testProps": "Adaptive Proportion Test", "testMethod": "Fault induction", "type": "CAST", "indicator": "Success or Failure Code", "details": "As specified in [90B] APT continuous health tests", "condition": "Continuous when entropy is requested"}]}, "error_states": {"section": 10, "subsection": 4, "found": true, "entries": [{"name": "ES1", "description": "The ROM fails a KAT", "conditions": "Triggered by cryptographic KAT failure.", "recoveryMethod": "Reboot/Power cycle the module", "indicator": "A Cryptographic Self-test Failure status is indicated in response to any service request."}, {"name": "ES2", "description": "The Module fails the firmware load test or the Firmware Integrity test", "conditions": "Firmware load and integrity check fails when the firmware fails to verify", "recoveryMethod": "Reboot/Power cycle the module", "indicator": "The Module enters the ES2 error state and outputs a verification failure status in response to the firmware service."}, {"name": "ES3", "description": "The Module fails conditional KAT self-test. Non-operational state. No services beside status services are allowed", "conditions": "Triggered by cryptographic KAT failure.", "recoveryMethod": "Reboot/Power cycle the module", "indicator": "The Module enters the ES3 error state and will output a self-test failure status to any service request"}]}}}, "heuristics": {"_type": "sec_certs.sample.fips.FIPSCertificate.Heuristics", "algorithms": {"_type": "Set", "elements": ["#A5549", "#A5546", "HMAC-SHA2-512/256A5548", "HMAC-SHA2-384A5548", "ECDSA KeyVer (FIPS186-5)A5551", "#A5543", "#A2272", "AES-ECBC1278", "ECDSA SigGen (FIPS186-5)A5551", "SHA2-512/256A5544", "SHA2-384A5544", "#A5547", "#A5548", "#A5550", "#A5552", "#A5551", "Conditioning Component Block Cipher Derivation Function SP800-90BA2272", "AES-XTS Testing Revision 2.0A5545", "PBKDFA5552", "#A5545", "HMAC-SHA2-512A5548", "#C1278", "RSA SigVer (FIPS186-5)A5547", "AES-KWA5550", "Counter DRBGC1278", "KTS-IFCA5549", "ECDSA KeyGen (FIPS186-5)A5551", "#A5544", "SHA2-512A5544", "AES-CTRC1278", "ECDSA SigVer (FIPS186-5)A5551", "KDF SP800-108A5546"]}, "extracted_versions": {"_type": "Set", "elements": ["-"]}, "cpe_matches": null, "verified_cpe_matches": null, "related_cves": null, "policy_prunned_references": {"_type": "Set", "elements": ["384"]}, "module_prunned_references": {"_type": "Set", "elements": []}, "policy_processed_references": {"_type": "sec_certs.sample.certificate.References", "directly_referenced_by": null, "indirectly_referenced_by": null, "directly_referencing": {"_type": "Set", "elements": ["384"]}, "indirectly_referencing": {"_type": "Set", "elements": ["384"]}}, "module_processed_references": {"_type": "sec_certs.sample.certificate.References", "directly_referenced_by": null, "indirectly_referenced_by": null, "directly_referencing": null, "indirectly_referencing": null}, "direct_transitive_cves": null, "indirect_transitive_cves": null}, "state": {"_type": "sec_certs.sample.fips.InternalState", "module": {"_type": "sec_certs.sample.document_state.DocumentState", "download_ok": true, "convert_ok": true, "extract_ok": true, "source_hash": null, "txt_hash": null, "json_hash": null}, "policy": {"_type": "sec_certs.sample.document_state.DocumentState", "download_ok": true, "convert_ok": true, "extract_ok": true, "source_hash": "c4544161f1c1ce0069e0eabe6b396468945aca0585ef50dc2af1aba57823d82b", "txt_hash": "6234bdbb814a200495137552b06d5e1644055768fce766412bf2a0bdb1d08822", "json_hash": "655b8c965655896ba27d83267573370fd17571eb2ec89e2de8080b758daf34a3"}}}