{"_type": "sec_certs.sample.fips.FIPSCertificate", "dgst": "bcd7dddaf951959e", "cert_id": 5531, "web_data": {"_type": "sec_certs.sample.fips.FIPSCertificate.WebData", "module_name": "Astro Subscriber Motorola Advanced Crypto Engine (MACE) - Security Level 2", "validation_history": [{"_type": "sec_certs.sample.fips.FIPSCertificate.ValidationHistoryEntry", "date": "2026-09-24", "validation_type": "Initial", "lab": "Leidos Accredited Testing & Evaluation (AT&E) Lab"}], "vendor_url": "http://www.motorolasolutions.com", "vendor": "Motorola Solutions, Inc.", "certificate_pdf_url": null, "module_type": "Hardware", "standard": "FIPS 140-3", "status": "active", "level": 2, "caveat": "When installed, initialized and configured as specified in Section 11 of the Security Policy. No assurance of minimum security of SSPs (e.g., keys, bit strings) that are externally loaded, or of SSPs established with externally loaded SSPs. The module generates SSPs (e.g., keys) whose strengths are modified by available entropy", "exceptions": ["Roles, services, and authentication: Level 3", "Software/Firmware security: Level 3", "Operational environment: N/A", "Non-invasive security: N/A", "Self-tests: Level 3", "Life-cycle assurance: Level 3", "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-23", "revoked_reason": null, "revoked_link": null}, "pdf_data": {"_type": "sec_certs.sample.fips.FIPSCertificate.PdfData", "keywords": {"fips_cert_id": {"Cert": {"#2": 3, "#817": 2, "#396": 3}}, "fips_security_level": {"Level": {"Level 2": 11, "Level 3": 1}}, "fips_certlike": {"Certlike": {"HMAC 1796": 8, "SHA2-384": 7, "SHA2-256": 11, "SHS 2399": 5, "SHS 817": 6, "SHS2399": 5, "SHS817": 5, "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-": 3}, "CAST": {"CAST": 38}}, "constructions": {"MAC": {"HMAC": 7}}}, "asymmetric_crypto": {"RSA": {"RSA-2048": 3}, "ECC": {"ECDH": {"ECDH": 4}, "ECDSA": {"ECDSA": 8}, "ECC": {"ECC": 1}}, "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": 9, "RBG": 3}}, "cipher_mode": {"CBC": {"CBC": 4}, "CTR": {"CTR": 2}, "OFB": {"OFB": 2}, "GCM": {"GCM": 3}}, "ecc_curve": {"NIST": {"P-384": 8}}, "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": 842511, "pdf_is_encrypted": false, "pdf_number_of_pages": 41, "/Producer": "Microsoft\u00ae Word for Microsoft 365", "/Creator": "Microsoft\u00ae Word for Microsoft 365", "/CreationDate": "D:20260921105803-04'00'", "/ModDate": "D:20260921105803-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": ["AES-ECBA2262", "SHA2-256SHS 817", "Counter DRBGA6380", "AES-CBCA2262", "AES-OFBA2262", "RSA SigVer (FIPS186-5)A5253", "AES-GCMA2262", "KAS-ECC Sp800-56Ar3A2266", "SHA2-384SHS 2399", "ECDSA KeyGen (FIPS186-4)A655", "HMAC-SHA2-384HMAC 1796", "AES-KWA2264", "AES-CFB8A2260", "RSA SigVer (FIPS186-2)RSA 396"]}, "policy_algorithms": {"_type": "Set", "elements": ["#A2263", "#A2266", "#A2262", "#A655", "#A2260", "#817", "#A2264", "#A2261", "#396", "#A6380", "#A5253"]}, "is_br1_format": true, "br1_deviations": 1, "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": "3"}, {"section": "5", "title": "Software/Firmware security", "level": "3"}, {"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": "3"}, {"section": "11", "title": "Life-cycle assurance", "level": "3"}, {"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": "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 EBI 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 changed at any time through the EBI 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 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"}]}, "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 status output", "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 - 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"}, {"name": "", "description": "", "indicator": "", "inputs": "", "outputs": "", "secFunImpl": "", "rolesSspAccess": "- 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 A2262 Authentica ted Decryption KTS2", "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": "A2260 Encryption A2261 Encryption A2262 Authentica ted Encryption A2262 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", "indicator": "Approv ed mode", "inputs": "Command in", "outputs": "Key stored inside Module,", "secFunImpl": "A2263 Encryption", "rolesSspAccess": "Operational Crypto Officer"}, {"name": "", "description": "within the module using AM2.", "indicator": "", "inputs": "", "outputs": "Success/Fail status.", "secFunImpl": "KeyGen2 KAS", "rolesSspAccess": "- 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 in plaintext using AM2.", "indicator": "Approv ed mode", "inputs": "Ciphertext", "outputs": "Key Stored inside the Module. Success/fail ure status.", "secFunImpl": "A2260 Encryption A2260 Decryption", "rolesSspAccess": "Operational Crypto Officer - 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": "MACE 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": "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. Success/fail ure status.", "secFunImpl": "KeyGen1", "rolesSspAccess": "Configuration Crypto Officer - CCO PWD (AM1): Z - KEK: Z - KPK: G,Z - PWD Hash: Z - TEK: Z - UKKPK: E Operational Crypto Officer - KEK: Z - KPK: G,Z"}, {"name": "", "description": "", "indicator": "", "inputs": "", "outputs": "", "secFunImpl": "", "rolesSspAccess": "- OCO PWD (AM2): Z - PWD Hash: Z - TEK: Z - UKKPK: E"}, {"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 HMAC KAS KeyGen1 KeyGen2 KTS1 KTS2 KTS3 SHS2399 SHS817 SigVer1 SigVer2 (Legacy)", "rolesSspAccess": "Operational Crypto Officer"}, {"name": "Perform Key Agreement Process", "description": "Perform a key agreement process to create", "indicator": "Approv ed mode", "inputs": "Command In", "outputs": "Generate Keys stored in the Module.", "secFunImpl": "A2261 Encryption A2261 Decryption", "rolesSspAccess": "Operational Crypto Officer - BKK: E"}, {"name": "", "description": "an ECDH Shared Secret using AM2.", "indicator": "", "inputs": "", "outputs": "Success/fail ure status", "secFunImpl": "A2262 Encryption A2262 Decryption KeyGen2 RNG KAS", "rolesSspAccess": "- DH-CLI-Pub: W,E - DH-Priv: E - DH-SS: G,E - DRBG-State: G,E - PKPK: E"}, {"name": "Privileged APCO OTAR", "description": "Import, modify and query the keys using AM2.", "indicator": "Approv ed mode", "inputs": "Ciphertext", "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 firmware image being loaded before it is allowed to be executed.", "indicator": "Approv ed mode", "inputs": "Firmware image", "outputs": "The MACE is upgraded to new firmware.", "secFunImpl": "A2261 Decryption A2262 Decryption SigVer1 SigVer2 (Legacy)", "rolesSspAccess": "Configuration Crypto Officer - BKK: Z - CCO PWD (AM1): 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 - PEK: Z - PKPK: Z - PWD Hash: Z - TEK: Z - UKKPK: Z Operational Crypto"}, {"name": "", "description": "", "indicator": "", "inputs": "", "outputs": "", "secFunImpl": "", "rolesSspAccess": "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 - TEK: Z"}, {"name": "Reset", "description": "Reset/power cycle the MACE.", "indicator": "Approv ed mode", "inputs": "Command In", "outputs": "Reset the MACE.", "secFunImpl": "RNG KAS", "rolesSspAccess": "- UKKPK: Z Unauthentica ted - DH-CLI-Pub: Z - DH-SS: Z - DRBG- EI/Seed: Z - DRBG- nonce: Z - DRBG-State:"}, {"name": "Self-Tests", "description": "Perform module self-tests comprised of cryptographic algorithm tests, firmware integrity test, and critical", "indicator": "Approv ed mode indicato r and service", "inputs": "Power on/Comma nd In", "outputs": "Success/Res et.", "secFunImpl": "A2260 Decryption A2260 Encryption A2261 Decryption A2261", "rolesSspAccess": "Z Unauthentica ted - FW-LD-Pub: E"}, {"name": "Name", "description": "Description", "indicator": "Indicat or", "inputs": "Inputs", "outputs": "Outputs", "secFunImpl": "Security", "rolesSspAccess": "SSP Access"}, {"name": "", "description": "functions test. Initiated by module reset or transition from power off state to power on state using UA.", "indicator": "status output", "inputs": "", "outputs": "", "secFunImpl": "Functions Encryption A2262 Authentica ted Decryption A2262 Authentica ted Encryption A2262 Decryption A2262 Encryption A2263 Decryption A2263 Encryption Entropy KAS KeyGen1 KTS1 KTS2 SHS2399 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"}, {"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", "secFunImpl": "A2260 Decryption SHS817 KTS3", "rolesSspAccess": "- PKPK: G,Z Unauthentica ted - CCO PWD (AM1): Z - KEK: Z - PEK: E"}, {"name": "", "description": "", "indicator": "", "inputs": "", "outputs": "allowed for CO role.", "secFunImpl": "", "rolesSspAccess": "- 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 passwords to the factory default.", "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 - 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": "Key is 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 encrypted in volatile memory (RAM).", "persistance": "Dynamic"}]}, "ssp_io_methods": {"section": 9, "subsection": 2, "found": true, "entries": [{"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 AES key transport by the KEK (A2264) (I4)", "source": "OTAR (outside)", "dest": "Flash Memory - Encrypted (S3)", "format": "Encrypted", "distribution": "Automated", "entry": "Electronic", "sfiAlgo": "KTS1"}, {"name": "Input in plaintext through the KVL (I2)", "source": "Application Software (outside)", "dest": "Flash Memory (S2)", "format": "Plaintext", "distribution": "Manual", "entry": "Electronic", "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"}]}, "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 matches then the test passes otherwise it fails."}]}, "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 (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) Decryption", "testProps": "AES-256", "testMethod": "KAT", "type": "CAST", "indicator": "Success or ES1 on failure", "details": "AES-ECB 256 Decryption", "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 Authentication 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 Authentication 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": "PCT", "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 single output value for a long period of time.", "condition": "Bootup"}, {"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", "condition": "loading a new firmware image"}, {"algorithmOrTest": "", "testProps": "", "testMethod": "", "type": "", "indicator": "", "details": "SHA-256 and RSA-2048. The digital signature is verified upon download into the MACE.", "condition": ""}, {"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 on failure", "details": "SHA2-384", "condition": "Bootup"}]}, "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 module resumes normal operation.", "indicator": "The MACE will return an error code (0x01) to the operator."}]}}}, "heuristics": {"_type": "sec_certs.sample.fips.FIPSCertificate.Heuristics", "algorithms": {"_type": "Set", "elements": ["#817", "AES-GCMA2262", "HMAC-SHA2-384HMAC 1796", "RSA SigVer (FIPS186-2)RSA 396", "#A5253", "#A2266", "#A655", "#A2264", "#A6380", "ECDSA KeyGen (FIPS186-4)A655", "#A2260", "AES-CBCA2262", "#A2263", "AES-ECBA2262", "AES-OFBA2262", "SHA2-384SHS 2399", "AES-CFB8A2260", "#A2262", "SHA2-256SHS 817", "Counter DRBGA6380", "RSA SigVer (FIPS186-5)A5253", "KAS-ECC Sp800-56Ar3A2266", "#A2261", "#396", "AES-KWA2264"]}, "extracted_versions": {"_type": "Set", "elements": ["2"]}, "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": "ee375a194358ab43bff91ff2703f1511d972152630a732fdcd29f8251335405e", "txt_hash": "738ffeea79b2ff1a6db4734afca4c47a9f956ad6b38840e05102f6ccee29782b", "json_hash": "468733a6c1d3090fe7ee6316ac7957d0e287ecfd20db23a7a303b64b95afa058"}}}