{"_type": "sec_certs.sample.fips.FIPSCertificate", "dgst": "714802f31c8f1c00", "cert_id": 5516, "web_data": {"_type": "sec_certs.sample.fips.FIPSCertificate.WebData", "module_name": "Astro Subscriber Motorola Advanced Crypto Engine (MACE) - Security Level 3", "validation_history": [{"_type": "sec_certs.sample.fips.FIPSCertificate.ValidationHistoryEntry", "date": "2026-09-09", "validation_type": "Initial", "lab": "Leidos Accredited Testing & Evaluation (AT&E) Lab"}], "vendor_url": "http://www.motorolasolutions.com", "vendor": "Motorola Solutions, Inc.", "certificate_pdf_url": "https://csrc.nist.gov/CSRC/media/projects/cryptographic-module-validation-program/documents/certificates/September 2026_071026_0710.pdf", "module_type": "Hardware", "standard": "FIPS 140-3", "status": "active", "level": 3, "caveat": "When installed, initialized and configured as specified in Section 11 of the Security Policy. The module generates SSPs (e.g., keys) whose strengths are modified by available entropy", "exceptions": ["Operational environment: N/A", "Non-invasive security: N/A", "Mitigation of other attacks: N/A"], "embodiment": "SingleChip", "description": "The MACE cryptographic processor is used in security modules embedded in Motorola's Astro family of radio systems products. It provides secure voice and data capabilities as well as APCO Over-The-Air-Rekeying and advanced key management.", "tested_conf": null, "hw_versions": null, "fw_versions": null, "sw_versions": null, "mentioned_certs": {}, "historical_reason": null, "date_sunset": "2031-09-08", "revoked_reason": null, "revoked_link": null}, "pdf_data": {"_type": "sec_certs.sample.fips.FIPSCertificate.PdfData", "keywords": {"fips_cert_id": {"Cert": {"#2": 3, "#5": 1, "#817": 2, "#396": 3}}, "fips_security_level": {"Level": {"Level 3": 12}}, "fips_certlike": {"Certlike": {"HMAC 1796": 8, "SHA2-384": 7, "SHA2-256": 11, "SHS 2399": 5, "SHS 817": 6, "SHS2399": 5, "SHS817": 6, "SHA-256": 1, "RSA 396": 2, "- PKCS 1": 1, "AES256": 8, "AES-256": 16, "AES 256": 1, "AES-GCM 256": 6, "PKCS 1": 1}}, "vendor": {}, "eval_facility": {}, "symmetric_crypto": {"AES_competition": {"AES": {"AES": 28, "AES256": 8, "AES-256": 16, "AES-": 6}, "CAST": {"CAST": 38}}, "constructions": {"MAC": {"HMAC": 8}}}, "asymmetric_crypto": {"RSA": {"RSA-2048": 3}, "ECC": {"ECDH": {"ECDH": 4}, "ECDSA": {"ECDSA": 8}, "ECC": {"ECC": 3}}, "FF": {"DH": {"Diffie-Hellman": 3, "DH": 5}}}, "pq_crypto": {}, "hash_function": {"SHA": {"SHA2": {"SHA-256": 1}}}, "crypto_scheme": {"MAC": {"MAC": 7}, "KA": {"Key Agreement": 5}}, "crypto_protocol": {}, "randomness": {"PRNG": {"DRBG": 6}, "RNG": {"RNG": 11, "RBG": 3}}, "cipher_mode": {"CBC": {"CBC": 4}, "CTR": {"CTR": 2}, "OFB": {"OFB": 5}, "GCM": {"GCM": 3}}, "ecc_curve": {"NIST": {"P-384": 10}}, "crypto_engine": {}, "tls_cipher_suite": {}, "crypto_library": {}, "vulnerability": {}, "side_channel_analysis": {}, "device_model": {}, "tee_name": {"AMD": {"PSP": 3}}, "os_name": {}, "cplc_data": {}, "ic_data_group": {}, "standard_id": {"FIPS": {"FIPS 140-3": 13, "FIPS 1403": 1, "FIPS186-4": 5, "FIPS 186-4": 2, "FIPS 198-1": 1, "FIPS 186-5": 1, "FIPS 180-4": 2, "FIPS186-5": 3, "FIPS186-2": 1, "FIPS 186-2": 2}, "NIST": {"SP 800-38A": 1, "SP 800-38D": 1, "SP 800-38F": 2, "SP 800-90A": 1, "SP 800-56A": 1}, "PKCS": {"PKCS 1": 1}}, "javacard_version": {}, "javacard_api_const": {}, "javacard_packages": {}, "certification_process": {}}, "policy_metadata": {"pdf_file_size_bytes": 860247, "pdf_is_encrypted": false, "pdf_number_of_pages": 43, "/Producer": "Microsoft\u00ae Word for Microsoft 365", "/Creator": "Microsoft\u00ae Word for Microsoft 365", "/CreationDate": "D:20260903080926-04'00'", "/ModDate": "D:20260903080926-04'00'", "pdf_hyperlinks": {"_type": "Set", "elements": ["https://csrc.nist.gov/projects/cryptographic-module-validation-program/validated-modules", "https://support.motorolasolutions.com/"]}}, "module_algorithms": {"_type": "Set", "elements": ["SHA2-256SHS 817", "SHA2-384SHS 2399", "AES-ECBA2262", "AES-CBCA2262", "AES-CFB8A2260", "ECDSA KeyGen (FIPS186-4)A655", "AES-KWA2264", "Counter DRBGA6380", "AES-GCMA2262", "KAS-ECC Sp800-56Ar3A2266", "HMAC-SHA2-384HMAC 1796", "AES-OFBA2262", "RSA SigVer (FIPS186-2)RSA 396", "RSA SigVer (FIPS186-5)A5253"]}, "policy_algorithms": {"_type": "Set", "elements": ["#817", "#A2261", "#396", "#A2264", "#A2260", "#A655", "#A2266", "#A2262", "#A6380", "#A5253", "#A2263"]}, "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": "3"}, {"section": "2", "title": "Cryptographic module specification", "level": "3"}, {"section": "3", "title": "Cryptographic module interfaces", "level": "3"}, {"section": "4", "title": "Roles, services, and authentication", "level": "3"}, {"section": "5", "title": "Software/Firmware security", "level": "3"}, {"section": "6", "title": "Operational environment", "level": "N/A"}, {"section": "7", "title": "Physical security", "level": "3"}, {"section": "8", "title": "Non-invasive security", "level": "N/A"}, {"section": "9", "title": "Sensitive security parameter management", "level": "3"}, {"section": "10", "title": "Self-tests", "level": "3"}, {"section": "11", "title": "Life-cycle assurance", "level": "3"}, {"section": "12", "title": "Mitigation of other attacks", "level": "N/A"}, {"section": "", "title": "Overall Level", "level": "3"}]}, "tested_module_id_hw": {"section": 2, "subsection": 2, "found": true, "entries": [{"modelPartNum": "5185912T05", "hwVersion": "5185912", "fwVersion": "R01.15.02 with [AES256 R01.00.00 or AES256 R01.00.01]", "processors": "5185912 Family", "features": "N/A"}, {"modelPartNum": "5185912Y03", "hwVersion": "5185912", "fwVersion": "R01.15.02 with [AES256 R01.00.00 or AES256 R01.00.01]", "processors": "5185912 Family", "features": "N/A"}, {"modelPartNum": "5185912Y05", "hwVersion": "5185912", "fwVersion": "R01.15.02 with [AES256 R01.00.00 or AES256 R01.00.01]", "processors": "5185912 Family", "features": "N/A"}, {"modelPartNum": "Algorithm*", "hwVersion": "Algorithm FW Version", "fwVersion": "Base FW Version", "processors": "Cert. #", "features": ""}, {"modelPartNum": "AES256", "hwVersion": "R01.00.00", "fwVersion": "R01.15.02", "processors": "A2261", "features": ""}, {"modelPartNum": "AES256", "hwVersion": "R01.00.01", "fwVersion": "R01.15.02", "processors": "A2262", "features": ""}]}, "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-CBC, AES-CFB8, AES-ECB, AES-OFB", "cavpCertName": "A2261, A2262, A2260", "properties": "Direction - Decrypt, Encrypt Key Length - 256", "reference": "SP 800-38A"}, {"algorithm": "AES-GCM", "cavpCertName": "A2262", "properties": "Direction - Decrypt, Encrypt IV Generation - Internal IV Generation Mode - 8.2.2 Key Length - 256 Tag Length - 128 IV Length - IV Length: 96 Payload Length - Payload Length: 256-512 Increment 128 AAD Length - AAD Length: 256-512 Increment 128", "reference": "SP 800-38D"}, {"algorithm": "AES-KW", "cavpCertName": "A2263", "properties": "Direction - Decrypt, Encrypt Cipher - Cipher Key Length - 256 Payload Length - Payload Length: 128-256 Increment 64", "reference": "SP 800-38F"}, {"algorithm": "AES-KW", "cavpCertName": "A2264", "properties": "Direction - Decrypt Cipher - Cipher Key Length - 256 Payload Length - Payload Length: 128-256 Increment 64", "reference": "SP 800-38F"}, {"algorithm": "Counter DRBG", "cavpCertName": "A6380", "properties": "Prediction Resistance - No Supports Reseed - No Mode - AES-256 Derivation Function Enabled - Yes Additional Input - Additional Input: 0 Entropy Input - Entropy Input: 256-1024 Increment 128 Nonce - Nonce: 128-512 Increment 128 Personalization String Length - Personalization", "reference": "SP 800-90A Rev. 1"}, {"algorithm": "", "cavpCertName": "", "properties": "String Length: 0 Returned Bits - 128", "reference": ""}, {"algorithm": "ECDSA KeyGen (FIPS186-4)", "cavpCertName": "A655", "properties": "Curve - P-384 Secret Generation Mode - Extra Bits", "reference": "FIPS 186-4"}, {"algorithm": "HMAC-SHA2-384", "cavpCertName": "HMAC 1796", "properties": "Key sizes < block size - Yes Key sizes > block size - No Key size = block size - No", "reference": "FIPS 198-1"}, {"algorithm": "KAS-ECC Sp800- 56Ar3", "cavpCertName": "A2266", "properties": "Domain Parameter Generation Methods - P-384 Function - Key Pair Generation, Partial Validation iutId - A1B2C3D4E5 Scheme - ephemeralUnified - KAS Role - Initiator, Responder KDF Methods - oneStepKdf - Auxiliary Function Methods - Auxiliary Function Name - SHA2-384 Fixed Info Pattern - algorithmId||l||uPartyInfo||vPartyInfo Fixed Info Encoding - Concatenation Key Length - 384", "reference": "SP 800-56A Rev. 3"}, {"algorithm": "RSA SigVer (FIPS186- 2)", "cavpCertName": "RSA 396", "properties": "Signature Type - PKCS 1.5 Modulo - 2048 Hash Pair - Hash Algorithm - SHA2-256", "reference": "FIPS 186-4"}, {"algorithm": "RSA SigVer (FIPS186- 5)", "cavpCertName": "A5253", "properties": "Hash Pair - Hash Algorithm - SHA2-256 Modulo - 2048 Signature Type - pkcs1v1.5 Fixed Public Exponent - 010001 Public Exponent Mode - fixed", "reference": "FIPS 186-5"}, {"algorithm": "SHA2-256", "cavpCertName": "SHS 817", "properties": "Message Length - Message Length: 0-51200 Increment 8 Supports Bit-Oriented Messages - No Supports Empty Message - Yes", "reference": "FIPS 180-4"}, {"algorithm": "SHA2-384", "cavpCertName": "SHS 2399", "properties": "Message Length - Message Length: 8-102400 Increment 8 Supports Bit-Oriented Messages - No Supports Empty Message - No", "reference": "FIPS 180-4"}]}, "vendor_affirmed_algos": {"section": 2, "subsection": 5, "found": true, "entries": [{"name": "CKG1", "algoPropList": "Key Type:Asymmetric and Symmetric", "implName": "N/A", "reference": "SP800-133rev2 Sections 4, Example 1 and IG D.H"}, {"name": "CKG - IDK", "algoPropList": "Key Type:Symmetric", "implName": "N/A", "reference": "SP800-133rev2 Sections 6.3 #2 and IG D.H"}]}, "non_approved_allowed_algos": {"section": 2, "subsection": 5, "found": true, "entries": [{"name": "KTS2", "algoPropList": "key unwrapping only:Key establishment methodology provides 256 bits strength", "implName": "AES CBC or OFB Cert. #A2261 or #A2262", "reference": "IG D.G"}, {"name": "KTS3", "algoPropList": "key unwrapping only:Key establishment methodology provides 256 bits strength", "implName": "AES CFB8 Cert. #A2260", "reference": "IG D.G"}]}, "non_approved_allowed_NSC": {"section": 2, "subsection": 5, "found": true, "entries": [{"name": "AES MAC", "caveat": "No security claimed - AES MAC is used as part of OTAR but is considered obfuscation", "use": "[IG 2.4.A] P25 AES OTAR. AES MAC is applied directly to the plaintext OTAR key components and then KTS encryption is performed on the OTAR key components and decrypted within the module using AES KW Cert. #A2264"}]}, "non_approved_not_allowed": {"section": 2, "subsection": 5, "found": false, "entries": []}, "ports_interfaces": {"section": 3, "subsection": 1, "found": true, "entries": [{"physicalPort": "Serial Synchronous Interface (SSI)", "logicalInterface": "Data Input Data Output Control Input Status Output", "data": "The main physical port provided by the MACE. It provides access to the majority of the supported interfaces."}, {"physicalPort": "Self-test Indicator", "logicalInterface": "Status Output", "data": "This interface provides status output to indicate all power- up self-tests complete successfully."}, {"physicalPort": "Power", "logicalInterface": "Power", "data": "This interface powers all circuitries."}, {"physicalPort": "Key Loading Port (KYLD)", "logicalInterface": "Data Input Data Output Control Input Status Output", "data": "This interface provides the input and output to the Key Variable Loader (KVL)"}]}, "authentication_methods": {"section": 4, "subsection": 1, "found": true, "entries": [{"name": "AM1", "description": "Identity-based. Configuration Crypto- Officer (CCO) Password: a 10-digit hexadecimal password is authenticated to gain access to CCO services. It should be noted that after authenticating, this password may be changed at any time through the SSI Port.", "mechanism": "SHA2-256 (SHS 817)", "strength": "The probability of a successful random attempt is 1 in {16^10} which is 1 in 1,099,511,627,776.", "perMinute": "After the CCO password has been incorrectly entered 15 consecutive times, the Module will erase all CSPs, reset all passwords back to their default and must be reinitialized. The strength per minute is 15 in 1,099,511,627,776"}, {"name": "AM2", "description": "Identity-based. Operational Crypto- Officer (OCO) Password: a 10-digit hexadecimal password is authenticated to gain access to OCO services. It should be noted that after authenticating, this password may be", "mechanism": "SHA2-256 (SHS 817)", "strength": "The probability of a successful random attempt is 1 in {16^10} which is 1 in 1,099,511,627,776.", "perMinute": "After the OCO password has been incorrectly entered 15 consecutive times, the Module will erase all CSPs, reset the all passwords back to their default and must be reinitialized. The strength per minute is 15 in 1,099,511,627,776"}, {"name": "", "description": "changed at any time through the SSI Port.", "mechanism": "", "strength": "", "perMinute": ""}]}, "roles": {"section": 4, "subsection": 2, "found": true, "entries": [{"name": "Configuration Crypto Officer", "type": "Identity", "operatorType": "CCO", "authMethodList": "AM1"}, {"name": "Operational Crypto Officer", "type": "Identity", "operatorType": "OCO", "authMethodList": "AM2"}]}, "approved_services": {"section": 4, "subsection": 3, "found": true, "entries": [{"name": "Change Active Keyset", "description": "Modify the currently active keyset used for selecting keys for encryption/decry ption services.", "indicator": "Approv ed mode", "inputs": "Keyset Index", "outputs": "Changed the active keyset as requested. Success/fail ure status.", "secFunImpl": "None", "rolesSspAccess": "Operational Crypto Officer"}, {"name": "Change CCO Password (AM1)", "description": "Modify the current password used to identify and authenticate the CCO role using AM1.", "indicator": "Approv ed mode indicato r and service", "inputs": "Password", "outputs": "Updated the CCO password. Success/fail ure status.", "secFunImpl": "A2260 Decryption SHS817 KTS3", "rolesSspAccess": "Configuration Crypto Officer - CCO PWD (AM1): Z - KEK: Z"}, {"name": "", "description": "", "indicator": "status output", "inputs": "", "outputs": "", "secFunImpl": "", "rolesSspAccess": "- PEK: E - PWD Hash: W,Z - TEK: Z"}, {"name": "Change OCO Password (AM2)", "description": "Modify the current password used to identify and authenticate the OCO role using AM2.", "indicator": "Approv ed mode", "inputs": "Password", "outputs": "Updated the OCO password. Success/fail ure status.", "secFunImpl": "A2260 Encryption A2260 Decryption KeyGen1 SHS817", "rolesSspAccess": "Operational Crypto Officer - KEK: Z - KPK: G,E,Z - OCO PWD (AM2): Z - PEK: E - PWD Hash: W,Z - TEK: Z - UKKPK: E"}, {"name": "Clear Error Log", "description": "Clears the history of error events", "indicator": "Approv ed mode", "inputs": "Command In", "outputs": "Success/Fail ure status.", "secFunImpl": "None", "rolesSspAccess": "Configuration Crypto Officer Operational Crypto Officer"}, {"name": "Decrypt", "description": "Decrypt digital voice or data using AM2.", "indicator": "Approv ed mode", "inputs": "Ciphertext", "outputs": "Plaintext. Success/fail ure status.", "secFunImpl": "A2260 Decryption A2261 Decryption A2262 Decryption KTS2 A2262 Authentica ted", "rolesSspAccess": "Operational Crypto Officer - KPK: E - TEK: E"}, {"name": "Encrypt", "description": "Encrypt digital voice or data using AM2.", "indicator": "Approv ed mode", "inputs": "Plaintext", "outputs": "Ciphertext. Success/fail ure status.", "secFunImpl": "Decryption A2260 Encryption A2261 Encryption A2262 Encryption A2262 Authentica ted Encryption KTS2", "rolesSspAccess": "Operational Crypto Officer - DRBG- EI/Seed: E - DRBG-State: E - KPK: E - TEK: E"}, {"name": "Extract Error Log", "description": "Provide the history of error events.", "indicator": "Approv ed mode", "inputs": "Command In", "outputs": "Error logs out. Success/Fail ure status.", "secFunImpl": "None", "rolesSspAccess": "Configuration Crypto Officer Operational Crypto Officer"}, {"name": "Generate Entropy", "description": "Generate Entropy for use inside the MACE", "indicator": "Approv ed mode", "inputs": "Power On", "outputs": "DRBG Seed", "secFunImpl": "Entropy RNG", "rolesSspAccess": "Unauthentica ted - DRBG- EI/Seed: G - DRBG- nonce: G"}, {"name": "Generate Keypair", "description": "Generate Asymmetric keys within the module using AM2.", "indicator": "Approv ed mode", "inputs": "Command in", "outputs": "Key stored inside Module, Success/Fail status.", "secFunImpl": "A2263 Encryption KeyGen2 KAS", "rolesSspAccess": "Operational Crypto Officer - BKK: E - DH-Priv: G - DH-Pub: G - DRBG-State: G,E - PKPK: E"}, {"name": "Generate Signature", "description": "Generate HMAC- SHA2-384 signature", "indicator": "Approv ed mode", "inputs": "Command In", "outputs": "Signature, Success/fail ure status.", "secFunImpl": "A2260 Encryption A2260 Decryption SHS2399 HMAC", "rolesSspAccess": "Operational Crypto Officer - KPK: E - TEK: E"}, {"name": "Import Keys Over KYLD Interface", "description": "Imports keys into the MACE encrypted using AM2.", "indicator": "Approv ed mode", "inputs": "Ciphertext", "outputs": "Key Stored inside the Module. Success/fail ure status.", "secFunImpl": "A2260 Encryption A2260 Decryption KTS3", "rolesSspAccess": "Operational Crypto Officer - BKK: E - KEK: W,Z - KPK: E - TEK: W,Z"}, {"name": "Key/Keyset Check", "description": "Obtain status information about a specific key", "indicator": "Approv ed mode", "inputs": "Command In", "outputs": "Status information for key returned. Success/Fail ure Status", "secFunImpl": "None", "rolesSspAccess": "Operational Crypto Officer"}, {"name": "Module Configurati on", "description": "Set configuration parameters used to specify module behavior using AM1 or AM2", "indicator": "Approv ed mode", "inputs": "Configurati on parameter s", "outputs": "Updated module configuratio n.", "secFunImpl": "KeyGen1", "rolesSspAccess": "Configuration Crypto Officer - CCO PWD (AM1): Z"}, {"name": "", "description": "", "indicator": "", "inputs": "", "outputs": "Success/fail ure status.", "secFunImpl": "", "rolesSspAccess": "- KEK: Z - KPK: G,Z - PWD Hash: Z - TEK: Z - UKKPK: E Operational Crypto Officer - KEK: Z - KPK: G,Z - OCO PWD (AM2): Z - PWD Hash: Z - TEK: Z - UKKPK: E"}, {"name": "Module Status", "description": "Provide module version, firmware version, FIPS status", "indicator": "Approv ed mode", "inputs": "Command In", "outputs": "Module HW version, Firmware version, and FIPS status", "secFunImpl": "None", "rolesSspAccess": "Unauthentica ted"}, {"name": "On Demand Self Tests", "description": "Perform on demand self- testing of algorithms within the MACE.", "indicator": "Approv ed Mode", "inputs": "Command In", "outputs": "Success/Fail ure status", "secFunImpl": "A2260 Decryption A2260 Encryption A2261 Decryption A2261 Encryption A2262 Authentica ted Decryption A2262 Authentica ted Encryption A2262 Decryption A2262 Encryption A2263 Decryption A2263 Encryption", "rolesSspAccess": "Operational Crypto Officer"}, {"name": "", "description": "", "indicator": "", "inputs": "", "outputs": "", "secFunImpl": "Entropy HMAC KAS KeyGen1 KeyGen2 KTS1 KTS2 KTS3 RNG SHS2399 SHS817 SigVer1 SigVer2 (Legacy)", "rolesSspAccess": ""}, {"name": "Perform Key Agreement Process", "description": "Perform a key agreement process to create an ECDH Shared Secret using AM2.", "indicator": "Approv ed mode", "inputs": "Command In", "outputs": "Generate Keys stored in the Module. Success/fail ure status", "secFunImpl": "A2261 Encryption A2261 Decryption A2262 Encryption A2262 Decryption KeyGen2 RNG KAS", "rolesSspAccess": "Operational Crypto Officer - BKK: E - DH-CLI-Pub: W,E - DH-Priv: G,E - DH-Pub: G,R,E - DH-SS: G,E - DRBG-State: G,E - PKPK: G,E"}, {"name": "Privileged APCO OTAR", "description": "Import, modify and query the keys using AM2.", "indicator": "Approv ed mode", "inputs": "Encrypted Key", "outputs": "Store Keys internal to the Module. Success/Fail ure Indication.", "secFunImpl": "KTS1 KTS2 OTAR AES MAC", "rolesSspAccess": "Operational Crypto Officer - DH-SS: - KEK: W,E - KPK: E - TEK: W,E"}, {"name": "Program Update", "description": "Update the MACE firmware. Firmware upgrades are authenticated using a digital signature. The Program Update Public Signature Key is used to validate the signature of the", "indicator": "Approv ed mode", "inputs": "Firmware image", "outputs": "The MACE is upgraded to new firmware.", "secFunImpl": "A2261 Decryption A2262 Decryption SigVer1", "rolesSspAccess": "Configuration Crypto Officer - BKK: Z - CCO PWD (AM1): Z - DH-CLI-Pub: Z - DH-Priv: Z - DH-Pub: Z - DH-SS: Z - DRBG-"}, {"name": "Name", "description": "Description", "indicator": "Indicat or", "inputs": "Inputs", "outputs": "Outputs", "secFunImpl": "Security", "rolesSspAccess": "SSP Access"}, {"name": "", "description": "firmware image being loaded before it is allowed to be executed.", "indicator": "", "inputs": "", "outputs": "", "secFunImpl": "Functions", "rolesSspAccess": "EI/Seed: Z - DRBG- nonce: Z - DRBG-State: Z - FW-LD-Pub: E,Z - IDK: E,Z - IDK Block: E,Z - KEK: Z - KPK: Z - PEK: Z - PKPK: Z - PWD Hash: Z - TEK: Z - UKKPK: Z Operational Crypto Officer - BKK: Z - DH-CLI-Pub: Z - DH-Priv: Z - DH-Pub: Z - DH-SS: Z - DRBG- EI/Seed: Z - DRBG- nonce: Z - DRBG-State: Z - FW-LD-Pub: E,Z - IDK: E,Z - IDK Block: E,Z - KEK: Z - KPK: Z - OCO PWD (AM2): Z - PEK: Z - PKPK: Z - PWD Hash: Z"}, {"name": "", "description": "", "indicator": "", "inputs": "", "outputs": "", "secFunImpl": "", "rolesSspAccess": "- TEK: Z - UKKPK:"}, {"name": "Reset", "description": "Reset/power cycle the MACE.", "indicator": "Approv ed mode", "inputs": "Command In", "outputs": "Reset the MACE.", "secFunImpl": "RNG", "rolesSspAccess": "Z Unauthentica ted - DH-Priv: Z - DH-SS: Z - DRBG- EI/Seed: G,Z - DRBG- nonce: G,Z - DRBG-State: G,Z"}, {"name": "Self-Tests", "description": "Perform module self-tests comprised of cryptographic algorithm tests, firmware integrity test, and critical functions test. Initiated by module reset or transition from power off state to power on state using UA.", "indicator": "Approv ed mode indicato r and service status output", "inputs": "Power on/Comma nd In", "outputs": "Success/Res et.", "secFunImpl": "A2260 Decryption A2260 Encryption A2261 Decryption A2261 Encryption A2262 Authentica ted Decryption A2262 Authentica ted Encryption A2262 Decryption A2262 Encryption A2263 Decryption A2263 Encryption Entropy HMAC KAS KeyGen1 KeyGen2 KTS1 KTS2 KTS3 RNG SHS2399", "rolesSspAccess": "Unauthentica ted - FW-LD-Pub: E"}, {"name": "", "description": "", "indicator": "", "inputs": "", "outputs": "", "secFunImpl": "SHS817 SigVer1 SigVer2 (Legacy)", "rolesSspAccess": ""}, {"name": "Symmetric Key Generatio n", "description": "Generate symmetric [135] keys within the Module using AM2.", "indicator": "Approv ed mode", "inputs": "Command in", "outputs": "Key Stored inside Module. Success/fail ure status", "secFunImpl": "A2261 Encryption A2261 Decryption A2262 Encryption A2262 Decryption KeyGen1 IDKGen RNG", "rolesSspAccess": "Operational Crypto Officer - BKK: E - DRBG-State: G,E - IDK: G,Z - IDK Block: E,Z - IDK ROM: E,Z - KPK: G,Z - PKPK: G,Z"}, {"name": "Validate CCO Password (AM1)", "description": "Validate the current password used to identify and authenticate the CCO role using AM1.", "indicator": "Approv ed mode", "inputs": "Password", "outputs": "Successful authenticati on will allow access to the services allowed for CO role.", "secFunImpl": "A2260 Decryption SHS817 KTS3", "rolesSspAccess": "Unauthentica ted - CCO PWD (AM1): Z - KEK: Z - PEK: E - PWD Hash: W,Z - TEK: Z"}, {"name": "Validate OCO Password (AM2)", "description": "Validate the current password used to identify and authenticate the OCO role using AM2.", "indicator": "Approv ed mode", "inputs": "Password", "outputs": "Successful authenticati on will allow access to the services allowed for User role", "secFunImpl": "A2260 Encryption A2260 Decryption SHS817 KTS3", "rolesSspAccess": "Unauthentica ted - KEK: Z - KPK: G,E,Z - OCO PWD (AM2): Z - PEK: E - PWD Hash: W,Z - TEK: Z - UKKPK: E"}, {"name": "Zeroize all keys and passwords", "description": "Zeroize the KPK and all keys and CSPs in the key database and causes a new KPK to be generated. Resets the", "indicator": "Approv ed mode", "inputs": "Command In", "outputs": "Keys marked for deletion. Success/fail ure status", "secFunImpl": "KeyGen1", "rolesSspAccess": "Configuration Crypto Officer - CCO PWD (AM1): Z - DH-Priv: Z - DRBG-State: G,E"}, {"name": "", "description": "passwords to the factory default.", "indicator": "", "inputs": "", "outputs": "", "secFunImpl": "", "rolesSspAccess": "- KEK: Z - KPK: G,Z - PKPK: Z - PWD Hash: Z - TEK: Z - UKKPK: E Operational Crypto Officer - DH-Priv: Z - DRBG-State: G,E - KEK: Z - KPK: G,Z - OCO PWD (AM2): Z - PKPK: Z - PWD Hash: Z - TEK: Z - UKKPK: E"}, {"name": "Zeroize Keys", "description": "Mark key for deletion using AM2.", "indicator": "Approv ed mode", "inputs": "Command In", "outputs": "Keys marked for deletion. Success/fail ure status.", "secFunImpl": "KeyGen1", "rolesSspAccess": "Operational Crypto Officer - DRBG-State: G,E - KEK: Z - KPK: G,Z - TEK: Z - UKKPK: E"}]}, "non_approved_services": {"section": 4, "subsection": 4, "found": false, "entries": []}, "mechanisms_actions": {"section": 7, "subsection": 1, "found": true, "entries": [{"mechanism": "Covered with a hard-opaque epoxy coating that provides evidence of attempts to tamper with the MACE.", "inspectFreq": "Periodically", "inspectGuidance": "Look for signs of tampering. Remove from service if tampering found."}]}, "storage_areas": {"section": 9, "subsection": 1, "found": true, "entries": [{"name": "Flash Memory (S2)", "description": "Stored in the flash in plaintext, associated by memory location (pointer).", "persistance": "Static"}, {"name": "Flash Memory - Encrypted (S3)", "description": "Stored in the flash in encrypted, associated by memory location (pointer).", "persistance": "Static"}, {"name": "System Memory (S1)", "description": "Stored in the volatile memory (RAM).", "persistance": "Dynamic"}]}, "ssp_io_methods": {"section": 9, "subsection": 2, "found": true, "entries": [{"name": "Input encrypted on the BKK through the KVL (A2260 AES- OFB) (I2)", "source": "Application Software (outside)", "dest": "Flash Memory - Encrypted (S3)", "format": "Encrypted", "distribution": "Automated", "entry": "Electronic", "sfiAlgo": "KTS3"}, {"name": "Input encrypted on the IDK (A2261, A2262 AES-CBC) (I1)", "source": "Application Software (outside)", "dest": "Flash Memory (S2)", "format": "Encrypted", "distribution": "Automated", "entry": "Electronic", "sfiAlgo": "KTS2"}, {"name": "Input encrypted on the PEK using AES KTS (A2260 AES- CFB8) (I3).", "source": "Application Software (outside)", "dest": "Flash Memory - Encrypted (S3)", "format": "Encrypted", "distribution": "Automated", "entry": "Electronic", "sfiAlgo": "KTS3"}, {"name": "Input encrypted on the TEK (A2261, A2262 AES-OFB) (I5)", "source": "Application Software (outside)", "dest": "Flash Memory - Encrypted (S3)", "format": "Encrypted", "distribution": "Automated", "entry": "Electronic", "sfiAlgo": "KTS2"}, {"name": "Input encrypted using ECDH Key Agreement Process (I6).", "source": "Application Software (outside)", "dest": "Flash Memory - Encrypted (S3)", "format": "Encrypted", "distribution": "Automated", "entry": "Electronic", "sfiAlgo": "KAS"}, {"name": "Input encrypted using SP800-38F", "source": "OTAR (outside)", "dest": "Flash Memory -", "format": "Encrypted", "distribution": "Automated", "entry": "Electronic", "sfiAlgo": "KTS1"}, {"name": "AES key transport by the KEK (A2264) (I4)", "source": "", "dest": "Encrypted (S3)", "format": "", "distribution": "", "entry": "", "sfiAlgo": ""}, {"name": "Output in plaintext public key (O1)", "source": "Flash Memory - Encrypted (S3)", "dest": "Application Software (outside)", "format": "Plaintext", "distribution": "N/A", "entry": "Electronic", "sfiAlgo": "ECDSA KeyGen (FIPS186-4) (A655)"}]}, "ssp_zeroization_methods": {"section": 9, "subsection": 3, "found": true, "entries": [{"method": "Z1", "description": "Zeroized by the \"Program Update\" service.*", "rationale": "SSPs zeroized upon loading of new firmware.", "operatorId": "Yes"}, {"method": "Z10", "description": "Zeroized by the \"CCO Validate Password\" service.", "rationale": "CO password zeroized after too many failed login attempts", "operatorId": "Yes"}, {"method": "Z11", "description": "Zeroized by the \"CCO Change Password\" service.", "rationale": "Old User password zeroized as new CO password set", "operatorId": "Yes"}, {"method": "Z2", "description": "Zeroized by module power cycle or hard reset.*", "rationale": "SSPs in volatile memory zeroized.", "operatorId": "Yes"}, {"method": "Z3", "description": "Zeroized by the \"Zeroize Keys\" service.", "rationale": "TEK/KEKs zeroized upon request", "operatorId": "Yes"}, {"method": "Z4", "description": "Zeroized by the \"Zeroize all Keys and Password\" service.", "rationale": "Old CO password zeroized as new CO password set", "operatorId": "Yes"}, {"method": "Z5", "description": "Zeroized by the \"OCO Validate Password\" service.", "rationale": "CO password zeroized after too many failed login attempts", "operatorId": "Yes"}, {"method": "Z6", "description": "Zeroized by the \"OCO Change Password\" service.", "rationale": "Old User password zeroized as new CO password set", "operatorId": "Yes"}, {"method": "Z7", "description": "Zeroized by the \"Module Configuration\" service.", "rationale": "User password zeroized after too many failed login attempts", "operatorId": "Yes"}, {"method": "Z8", "description": "Zeroized by the \"Privileged APCO OTAR\" service.", "rationale": "TEK/KEKs zeroized upon request", "operatorId": "Yes"}, {"method": "Z9", "description": "Zeroized by the \"KVL Import Key\" service.", "rationale": "TEK/KEKs zeroized upon request", "operatorId": "Yes"}, {"method": "Name", "description": "Description", "rationale": "Size - Strength", "operatorId": "Type - Category"}, {"method": "BKK", "description": "A 256-bit AES OFB (A2260) key used to decrypt keys loaded from KVL.", "rationale": "256 - 256", "operatorId": "Symmetric Key - CSP"}, {"method": "CCO PWD (AM1)", "description": "8-32 ASCII characters CO password.", "rationale": "N/A - N/A", "operatorId": "Authentication - CSP"}, {"method": "DH-CLI- Pub", "description": "The Elliptic Curve (EC) Diffie-Hellman (DH) public key for the other party, used for establishing a shared secret over an insecure channel.", "rationale": "768 - 192", "operatorId": "Asymmetric Public Key - PSP"}, {"method": "DH-Priv", "description": "The Elliptic Curve Diffie-Hellman (DH) private key used for establishing a shared secret over an insecure channel.", "rationale": "384 - 192", "operatorId": "Asymmetric Private Key - CSP"}, {"method": "DH-Pub", "description": "The Elliptic Curve (EC) Diffie-Hellman (DH) public key, used for establishing a shared secret over an insecure channel.", "rationale": "768 - 192", "operatorId": "Asymmetric Public Key - PSP"}, {"method": "DH-SS", "description": "The Elliptic Diffie- Hellman (DH) Shared Secret (SS) is established as a part of DH key agreement scheme.", "rationale": "384 - 192", "operatorId": "Symmetric Key - CSP"}, {"method": "DRBG- EI/Seed", "description": "Internally generated by the HWRNG", "rationale": "1856 - N/A", "operatorId": "N/A - CSP"}, {"method": "DRBG- nonce", "description": "Internally generated by the HWRNG", "rationale": "960 - N/A", "operatorId": "N/A - CSP"}, {"method": "DRBG- State", "description": "CTR_DRBG (A6380) internal state: V (128 bits) and Key (AES 256)", "rationale": "256 - 256", "operatorId": "N/A - CSP"}, {"method": "Name", "description": "Description", "rationale": "Size - Strength", "operatorId": "Type - Category"}, {"method": "FW-LD- Pub", "description": "2048-bit RSA key used to validate the signature of the firmware image during FW integrity and FW Loading before it is allowed to be executed.", "rationale": "2048 - 112", "operatorId": "Asymmetric Public Key - PSP"}, {"method": "IDK", "description": "A 256-bit AES CBC (A2261 or A2262)) key used to decrypt downloaded firmware images.", "rationale": "256 - 256", "operatorId": "Symmetric Key - CSP"}, {"method": "IDK Block", "description": "A 256-bit AES CBC key (A2261 or A2262) used in the re-construction of IDK per SP800-133r2 (Section 6.3 #2) via XOR using IDK ROM", "rationale": "256 - 256", "operatorId": "Symmetric Key - CSP"}, {"method": "IDK ROM", "description": "A 256-bit AES CBC key (A2261 or A2262) used in the re-construction of IDK per SP800-133r2 (Section 6.3 #2) via XOR using IDK Block", "rationale": "256 - 256", "operatorId": "Symmetric Key - CSP"}, {"method": "KEK", "description": "256-bit AES-KW (A2264) keys used for encryption of keys in key transport operation", "rationale": "256 - 256", "operatorId": "Symmetric Key - CSP"}, {"method": "KPK", "description": "256 bit AES CFB-8 (A2260) key used to encrypt all TEKs and KEKs stored in the flash.", "rationale": "256 - 256", "operatorId": "Symmetric Key - CSP"}, {"method": "OCO PWD (AM2)", "description": "8-32 ASCII characters User password.", "rationale": "N/A - N/A", "operatorId": "Authentication - CSP"}, {"method": "PEK", "description": "256-bit AES-CFB8 (A2260) key used for decrypting", "rationale": "256 - 256", "operatorId": "Symmetric Key - CSP"}, {"method": "Name", "description": "Description", "rationale": "Size - Strength", "operatorId": "Type - Category"}, {"method": "", "description": "passwords during password validation", "rationale": "", "operatorId": ""}, {"method": "PKPK", "description": "256-bit AES KW (A2263) used to store encrypted, the ECDH generated private key", "rationale": "256 - 256", "operatorId": "Symmetric Key - CSP"}, {"method": "PWD Hash", "description": "256-bit password hash stored in the non-volatile memory.", "rationale": "256 - 128", "operatorId": "Authentication - CSP"}, {"method": "TEK", "description": "256-bit AES ( A2261 or A2262)) keys used for enabling secure communication with target devices.", "rationale": "256 - 256", "operatorId": "Symmetric Key - CSP"}, {"method": "UKKPK", "description": "256 bit AES CFB8 (A2260) Key used for encrypting the KPK in flash.", "rationale": "256 - 256", "operatorId": "Symmetric Key - CSP"}, {"method": "Name", "description": "Input - Output", "rationale": "Storage", "operatorId": "Storage Duration"}, {"method": "BKK", "description": "Input encrypted on the IDK (A2261, A2262 AES-CBC) (I1)", "rationale": "System Memory (S1):Encrypted Flash Memory (S2):Plaintext", "operatorId": "When module is reset"}, {"method": "CCO PWD (AM1)", "description": "Input encrypted on the PEK using AES KTS (A2260 AES- CFB8) (I3).", "rationale": "System Memory (S1):Encrypted Flash Memory - Encrypted (S3):Encrypted", "operatorId": "When module is reset"}, {"method": "DH-CLI- Pub", "description": "Input encrypted using ECDH Key Agreement Process (I6).", "rationale": "System Memory (S1):Encrypted", "operatorId": "When module is reset"}, {"method": "DH-Priv", "description": "", "rationale": "System Memory (S1):Encrypted Flash Memory - Encrypted (S3):Encrypted", "operatorId": "When module is reset"}, {"method": "Name", "description": "Input - Output", "rationale": "Storage", "operatorId": "Storage Duration"}, {"method": "DH-Pub", "description": "Output in plaintext public key (O1)", "rationale": "System Memory (S1):Encrypted Flash Memory (S2):Plaintext", "operatorId": "When module is reset"}, {"method": "DH-SS", "description": "", "rationale": "System Memory (S1):Encrypted", "operatorId": "When module is reset"}, {"method": "DRBG- EI/Seed", "description": "", "rationale": "System Memory (S1):Encrypted", "operatorId": "When module is reset"}, {"method": "DRBG- nonce", "description": "", "rationale": "System Memory (S1):Encrypted", "operatorId": "When module is reset"}, {"method": "DRBG- State", "description": "", "rationale": "System Memory (S1):Encrypted", "operatorId": "When module is reset"}, {"method": "FW-LD- Pub", "description": "", "rationale": "System Memory (S1):Encrypted Flash Memory (S2):Plaintext", "operatorId": "When module is reset"}, {"method": "IDK", "description": "", "rationale": "System Memory (S1):Encrypted", "operatorId": "When module is reset"}, {"method": "IDK Block", "description": "", "rationale": "System Memory (S1):Encrypted Flash Memory (S2):Plaintext", "operatorId": "When module is reset"}, {"method": "IDK ROM", "description": "", "rationale": "System Memory (S1):Encrypted Flash Memory (S2):Plaintext", "operatorId": "When module is reset"}, {"method": "KEK", "description": "Input encrypted on the BKK through the KVL (A2260 AES- OFB) (I2) Input encrypted using SP800-38F AES key transport by the KEK (A2264) (I4)", "rationale": "System Memory (S1):Encrypted Flash Memory - Encrypted (S3):Encrypted", "operatorId": "When module is reset"}, {"method": "Name", "description": "Input - Output", "rationale": "Storage", "operatorId": "Storage Duration"}, {"method": "", "description": "", "rationale": "", "operatorId": ""}, {"method": "KPK", "description": "", "rationale": "System Memory (S1):Encrypted Flash Memory (S2):Plaintext", "operatorId": "When module is reset"}, {"method": "OCO PWD (AM2)", "description": "Input encrypted on the PEK using AES KTS (A2260 AES- CFB8) (I3).", "rationale": "System Memory (S1):Encrypted Flash Memory - Encrypted (S3):Encrypted", "operatorId": "When module is reset"}, {"method": "PEK", "description": "Input encrypted on the IDK (A2261, A2262 AES-CBC) (I1)", "rationale": "System Memory (S1):Encrypted Flash Memory (S2):Plaintext", "operatorId": "When module is reset"}, {"method": "PKPK", "description": "", "rationale": "System Memory (S1):Encrypted Flash Memory - Encrypted (S3):Encrypted", "operatorId": "When module is reset"}, {"method": "PWD Hash", "description": "", "rationale": "System Memory (S1):Encrypted Flash Memory - Encrypted (S3):Encrypted", "operatorId": "When module is reset"}, {"method": "TEK", "description": "Input encrypted on the BKK through the KVL (A2260 AES-", "rationale": "System Memory (S1):Encrypted Flash Memory -", "operatorId": "When module is reset"}, {"method": "Name", "description": "Input - Output", "rationale": "Storage", "operatorId": "Storage Duration"}, {"method": "", "description": "OFB) (I2) Input encrypted on the TEK (A2261, A2262 AES-OFB) (I5)", "rationale": "Encrypted (S3):Encrypted", "operatorId": ""}, {"method": "UKKPK", "description": "", "rationale": "System Memory (S1):Encrypted Flash Memory (S2):Plaintext", "operatorId": "When module is reset"}]}, "self_tests": {"section": 10, "subsection": 1, "found": true, "entries": [{"algorithmOrTest": "Firmware integrity", "testProps": "SHA2-256 (Cert. #817), RSA-2048 (Cert. #396, #A5253)", "testMethod": "KAT", "type": "SW/FW Integrity", "indicator": "Success or ES2 on failure", "details": "A digital signature is generated over the Boot Block, Base firmware (Cert. #A5253), and all Drop-in algorithms (Cert. #396) when it is built using SHA2-256 (Cert. #817), and is stored with the code upon download into the MACE. When the MACE is powered up, the digital signature is verified. If the digital signature"}, {"algorithmOrTest": "Algorithm", "testProps": "Test", "testMethod": "Test", "type": "Test Indicator", "indicator": "Details", "details": ""}, {"algorithmOrTest": "", "testProps": "Properties", "testMethod": "Method", "type": "Type", "indicator": "or Test", "details": ""}, {"algorithmOrTest": "", "testProps": "", "testMethod": "", "type": "", "indicator": "otherwise it fails.", "details": ""}]}, "cond_self_tests": {"section": 10, "subsection": 2, "found": true, "entries": [{"algorithmOrTest": "AES-CFB8 (A2260) Decryption", "testProps": "AES-256", "testMethod": "KAT", "type": "CAST", "indicator": "Success or ES1 on failure", "details": "AES-CFB8 256 Decryption", "condition": "Bootup"}, {"algorithmOrTest": "AES-CFB8 (A2260) Encryption", "testProps": "AES-256", "testMethod": "KAT", "type": "CAST", "indicator": "Success or ES1 on failure", "details": "AES-CFB8 256 Encryption", "condition": "Bootup"}, {"algorithmOrTest": "AES-ECB (2262) Decryption", "testProps": "AES-256", "testMethod": "KAT", "type": "CAST", "indicator": "Success or ES1 on failure", "details": "AES-ECB 256 Decryption", "condition": "Bootup"}, {"algorithmOrTest": "AES-ECB (A2261) Decryption", "testProps": "AES-256", "testMethod": "KAT", "type": "CAST", "indicator": "Success or ES1 on failure", "details": "AES-ECB 256 Decryption", "condition": "Bootup"}, {"algorithmOrTest": "AES-ECB (A2261) Encryption", "testProps": "AES-256", "testMethod": "KAT", "type": "CAST", "indicator": "Success or ES1 on failure", "details": "AES-ECB 256 Encryption", "condition": "Bootup"}, {"algorithmOrTest": "AES-ECB (A2262) Encryption", "testProps": "AES-256", "testMethod": "KAT", "type": "CAST", "indicator": "Success or ES1 on failure", "details": "AES-ECB 256 Encryption", "condition": "Bootup"}, {"algorithmOrTest": "AES-GCM 256 Authenticated Decryption", "testProps": "AES-256", "testMethod": "KAT", "type": "CAST", "indicator": "Success or ES1 on failure", "details": "AES-GCM 256 Authenticated Decryption", "condition": "Bootup"}, {"algorithmOrTest": "AES-GCM 256 Authenticated Encryption", "testProps": "AES-256", "testMethod": "KAT", "type": "CAST", "indicator": "Success or ES1 on failure", "details": "AES-GCM 256 Authenticated Encryption", "condition": "Bootup"}, {"algorithmOrTest": "AES-KW (A2263) Decryption", "testProps": "AES-256", "testMethod": "KAT", "type": "CAST", "indicator": "Success or ES1 on failure", "details": "Message Decryption", "condition": "Bootup"}, {"algorithmOrTest": "AES-KW (A2263) Encryption", "testProps": "AES-256", "testMethod": "KAT", "type": "CAST", "indicator": "Success or ES1 on failure", "details": "Message Encryption", "condition": "Bootup"}, {"algorithmOrTest": "AES-KW (A2264) Decryption", "testProps": "AES-256", "testMethod": "KAT", "type": "CAST", "indicator": "Success or ES1 on failure", "details": "Message Decryption", "condition": "Bootup"}, {"algorithmOrTest": "Counter DRBG (A6380)", "testProps": "AES-256 CTR", "testMethod": "KAT", "type": "CAST", "indicator": "Success or ES1 on failure", "details": "AES-256 CTR_DRBG instantiation, generate, and reseed KATs performed before the first random data generation.", "condition": "Bootup"}, {"algorithmOrTest": "ECDSA KeyGen (FIPS186-4) (A655)", "testProps": "ECDSA KeyGen", "testMethod": "PWCT", "type": "PCT", "indicator": "Success or ES3 on failure", "details": "ECDSA P-384 Pair-wise Consistency Test", "condition": "Bootup"}, {"algorithmOrTest": "Entropy 90B Start-up Adaptive Proportion Test (APT)", "testProps": "Adaptive Proportion Test", "testMethod": "Fault Detection", "type": "CAST", "indicator": "Success or ES1 on failure", "details": "Designed to detect a large loss of entropy that might occur as a result of some physical failure or environmental change affecting the noise source", "condition": "Bootup"}, {"algorithmOrTest": "Entropy 90B Start-up Repetition Count Test (RCT)", "testProps": "Repetition Count Test", "testMethod": "Fault Detection", "type": "CAST", "indicator": "Success or ES1 on failure", "details": "Designed to quickly detect catastrophic failures that cause the noise source to become \\\"stuck\\\" on a", "condition": "Bootup"}, {"algorithmOrTest": "", "testProps": "", "testMethod": "", "type": "", "indicator": "", "details": "single output value for a long period of time.", "condition": ""}, {"algorithmOrTest": "Firmware Load", "testProps": "2048-bit RSA Signature Verification/SHA2- 256 RSA (Cert. #A5253)", "testMethod": "KAT", "type": "SW/FW Load", "indicator": "Success or ES2 on failure", "details": "A digital signature is generated over the code when it is built using SHA-256 and RSA-2048. The digital signature is verified upon download into the MACE.", "condition": "loading a new firmware image"}, {"algorithmOrTest": "HMAC-SHA2- 384 (HMAC 1796)", "testProps": "HMAC-SHA2-384", "testMethod": "KAT", "type": "CAST", "indicator": "Success or ES1 on failure", "details": "HMAC-SHA2- 384", "condition": "Bootup"}, {"algorithmOrTest": "KAS-ECC Sp800-56Ar3 (A2266)", "testProps": "KAS-ECC SP800- 56Ar3", "testMethod": "KAT", "type": "CAST", "indicator": "Success or ES1 on failure", "details": "Per IG D.F, separately tested KAS Shared Secret generation with P-384 and SP800-56Cr2 one-step KDA.", "condition": "Bootup"}, {"algorithmOrTest": "RSA SigVer (FIPS186-5) (A5253)", "testProps": "RSA-2048 SigVer", "testMethod": "KAT", "type": "CAST", "indicator": "Success or ES1 on failure", "details": "2048-bit RSA PKCSv1.5 Signature Verification, performed before Pre- Operational FW integrity tests. Inclusive for 186-2 (Cert. #396)", "condition": "Bootup"}, {"algorithmOrTest": "SHA2-256 (SHS 817)", "testProps": "SHA2-256", "testMethod": "KAT", "type": "CAST", "indicator": "Success or ES1 on failure", "details": "SHA2-256", "condition": "Bootup"}, {"algorithmOrTest": "SHA2-384 (SHS 2399)", "testProps": "SHA2-384", "testMethod": "KAT", "type": "CAST", "indicator": "Success or ES1", "details": "SHA2-384", "condition": "Bootup"}, {"algorithmOrTest": "Algorithm or", "testProps": "Test Properties", "testMethod": "Test", "type": "Test", "indicator": "Indicator", "details": "Details", "condition": "Conditions"}, {"algorithmOrTest": "Test", "testProps": "", "testMethod": "Method", "type": "Type", "indicator": "", "details": "", "condition": ""}, {"algorithmOrTest": "", "testProps": "", "testMethod": "", "type": "", "indicator": "on", "details": "", "condition": ""}, {"algorithmOrTest": "", "testProps": "", "testMethod": "", "type": "", "indicator": "failure", "details": "", "condition": ""}]}, "error_states": {"section": 10, "subsection": 4, "found": true, "entries": [{"name": "ES1", "description": "The MACE fails a KAT.", "conditions": "The MACE enters the critical error state. In this state, the MACE stores the status into the internal flash memory and then halts all further operation by entering an infinite loop.", "recoveryMethod": "Reboot/Power cycle the module", "indicator": "Device will not respond to authentication requests."}, {"name": "ES2", "description": "The MACE fails a firmware loading during program upgrade and/or firmware integrity pre-operational self-test.", "conditions": "The MACE enters the firmware signature validation failure state. In this state, the MACE halts all further operations by entering the flash programming mode.", "recoveryMethod": "Reboot/Power cycle the module or re- flashing a new image.", "indicator": "Device will not respond to authentication requests."}, {"name": "ES3", "description": "The MACE fails an ECDSA PCT.", "conditions": "The MACE enters a temporary error state. The generated key is not discarded.", "recoveryMethod": "The error state is automatically cleared and the", "indicator": "The MACE will return an error code (0x01) to the operator."}, {"name": "", "description": "", "conditions": "", "recoveryMethod": "module resumes normal operation.", "indicator": ""}]}}}, "heuristics": {"_type": "sec_certs.sample.fips.FIPSCertificate.Heuristics", "algorithms": {"_type": "Set", "elements": ["SHA2-384SHS 2399", "#A6380", "#A2260", "#A655", "#396", "Counter DRBGA6380", "#A2266", "AES-GCMA2262", "AES-OFBA2262", "#A2263", "#817", "SHA2-256SHS 817", "AES-CFB8A2260", "#A2264", "AES-KWA2264", "#A2262", "RSA SigVer (FIPS186-5)A5253", "AES-ECBA2262", "#A2261", "HMAC-SHA2-384HMAC 1796", "ECDSA KeyGen (FIPS186-4)A655", "KAS-ECC Sp800-56Ar3A2266", "AES-CBCA2262", "#A5253", "RSA SigVer (FIPS186-2)RSA 396"]}, "extracted_versions": {"_type": "Set", "elements": ["3"]}, "cpe_matches": null, "verified_cpe_matches": null, "related_cves": null, "policy_prunned_references": {"_type": "Set", "elements": []}, "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": null, "indirectly_referencing": null}, "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": "ab1b7b00a5e8b046f648250f7ae8ce4ef07c28cae8abb7859be68a14ef1ddc08", "txt_hash": "3a357eb3c9d53d81952b3175d370ecab8459de88365a5d286d5208af524f6ebe", "json_hash": "0b3f27f2570e717f052f5f0df47b228abc648333405bd779264e4ebfa47c1f05"}}}