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

Astro Subscriber Motorola Advanced Crypto Engine (MACE) - Security Level 3

Certificate#4833StandardFIPS 140-3Level3TypeHardwareEmbodimentSingle ChipStatusActiveVendorMotorola Solutions, Inc.
High review priority  ·  exposes firmware-update authentication, HSM/SE firmware trust anchor  ·  last validated 21 months ago. How this is derived →

Certificate

StandardFIPS 140-3
Overall level3
Module typeHardware
EmbodimentSingle Chip
StatusActive
Sunset date10/10/2029
CaveatWhen installed, initialized and configured as specified in Section 11 of Security Policy. No assurance of the minimum strength of generated SSPs
VendorMotorola Solutions, Inc.

Approved Algorithms (19)

AlgorithmACVP Cert
AES-CBCA2261
AES-CBCA2262
AES-CFB8A2260
AES-ECBA2261
AES-ECBA2262
AES-GCMA2262
AES-KWA2263
AES-KWA2264
AES-OFBA2260
AES-OFBA2261
AES-OFBA2262
Counter DRBGA2265
ECDSA KeyGen (FIPS186-4)A655
HMAC-SHA2-384HMAC 1796
KAS-ECC Sp800-56Ar3A2266
RSA SigVer (FIPS186-2)RSA 396
RSA SigVer (FIPS186-5)A5253
SHA2-256SHS 817
SHA2-384SHS 2399

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

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

Security Policy, page by page

Page 1

Astro Subscriber Motorola Advanced Crypto Engine (MACE)

Page 2
Table of Contents
#SectionPage
Page 3
List of Tables
ItemPage
Table 1 – Security Levels4
Table 2 – Cryptographic Module Tested Configuration5
Table 3 – Approved Mode Drop-in Algorithms5
Table 4 – Approved Mode Indicator7
Table 5 – Approved Algorithms7
Table 6 – Non-Approved but Allowed Cryptographic Functions9
Table 7 – Non-Approved but Allowed Cryptographic Functions with No Security Claimed9
Table 8 – Ports and Interfaces11
Table 9 – Roles, Service Commands, Input and Output12
Table 10 – Roles and Authentication13
Table 11 – Approved Services13
Table 12 – Physical Security Inspection Guidelines19
Table 13 – EFP/EFT19
Table 14 – Hardness testing temperature range19
Table 15 – SSP Management Methods21
Table 16 – SSPs Management22
Table 17 – Non-Deterministic Random Number Generation Specification24
Table 18 – Error States and Indicators25
Table 19 – Pre-Operational Self-Test25
Table 20 – Conditional Self-Tests26
Table 21 – References29
Table 22 – Acronyms and Definitions30
Figure 1: MACE Chip (Top)6
Figure 2: MACE Chip (Interfaces)6
Figure 3: Cryptographic Boundary6
Page 4
ISO/IEC 24759 Section 6 [Number below]FIPS 140-3 Section TitleSecurity Level
1General3
2Cryptographic Module Specification3
3Cryptographic Module Interfaces3
4Roles, Services, and Authentication3
5Software/Firmware Security3
6Operational EnvironmentN/A
7Physical Security3
8Non-Invasive SecurityN/A
9Sensitive Security Parameter Management3
10Self-Tests3
11Life-Cycle Assurance3
12Mitigation of Other AttacksN/A
Overall3

This document defines the Security Policy for the Astro Subscriber Motorola Advanced Crypto Engine (MACE)

Page 5
ModelHW P/N, VersionBase Firmware VersionDistinguishing Features
Astro Subscriber Motorola Advanced Crypto Engine (MACE)5185912Y03, 5185912Y05, 5185912T05R01.13.04Single chip embodiment
AlgorithmAlgorithm FW VersionBase FW VersionCert. #
AES256 (ECB, CBC, and OFB)R01.00.00R01.13.04A2261
AES256 (ECB, CBC, OFB, and GCM)R01.00.01R01.13.04A2262
2 Cryptographic Module Specification

The MACE cryptographic module is a single chip hardware cryptographic module. The MACE is used in multiple Motorola Solutions, Inc. subscribers. The MACE cryptographic module is intended for use by US Federal agencies or other markets that require FIPS 140-3 validated overall security level 3.

2.1 Operational Environment

The MACE cryptographic module is tested on the following operational environment. Table 2

2.2 Cryptographic Boundary

The physical form of the MACE cryptographic module is depicted in Figure 1 and Figure

  1. The MACE is a single chip embodiment. The cryptographic boundary is drawn around the perimeter of the MACE IC as shown in Figure
  2. Motorola Solutions Public Material – May be reproduced only in its original entirety (without revision).
Page 6
Table, extracted as text (did not parse into structured rows)
Figure 1: MACE Chip (Top)                                   Figure 2: MACE Chip (Interfaces) The MACE IC has an SSI port, a KVL port when connected to the Motorola Key Variable Loader (KVL), SelfTest Indicator Interface, and Power Connections. Status Indicator              Status                                   KVL Port               KYLD Cryptographic                                   The MACE Boundary SSI RX 1.8V             Power                                     SSI Port SSI TX CPLD Audio                                                                                         OMAP CODECs Figure 3: Cryptographic Boundary
2.3 Modes of Operation

The MACE is originally non-compliant and must be configured to operate in an approved mode of operation. The MACE must be installed, initialized, and configured, including a required change of the factory-default password, in order to be in an approved mode. Documented below are the additional configuration settings that are required for the MACE to be used in an Approved Mode of operation at overall security level

  1. At any given time, the module status service can be used to determine whether the MACE is operating at overall security level
  2. There is no non-approved mode. Motorola Solutions Public Material – May be reproduced only in its original entirety (without revision).
Page 7
Approved Mode Indicator ValueMeaning
303B030002Approved Mode at overall Security Level 3
Description / Key Size(s) /
Cert #AlgorithmModeKey Strength(s)Use/Functions
A2260AES [197]CFB8 [38A]Key Sizes: 256Encrypt, Decrypt
OFB [38A]Key Sizes: 256Encrypt, Decrypt
A2261AES [197]ECB [38A]Key Sizes: 256Encrypt, Decrypt
CBC [38A]Key Sizes: 256Encrypt, Decrypt
OFB [38A]Key Sizes: 256Encrypt, Decrypt

The Module status service can be used to verify the firmware version matches an approved version listed on NIST’s website: https://csrc.nist.gov/projects/cryptographic-module-validationprogram/validated-modules Also, the module status service will output the AES-256 DIA version installed with a display of 52 (ASCII "R") 01 00 00 -> R01.00.00 - AES256 DIA or 52 (ASCII "R") 01 00 01 -> R01.00.01 - AES256 DIA.

2.3.1 Configuration of the Approved Mode of Operation

In order to configure the MACE into an approved mode, the Module configuration service must be used to ensure the following parameters are disabled.

  1. Motorola Data Communication Over The Air Rekeying (MDC OTAR)
  2. Key Loss Key (KLK) generation
  3. Red Keyloading
  4. Infinite UKEK Retention The operator shall configure the periodic self-tests timer as part of the Module configuration, refer to Section 11 for further details. Additionally, the MACE supports “drop-in algorithms” via the program update service. Drop-in algorithms may be added or removed from the MACE independent of the base FW. In order to remain in the Approved mode, only Approved and Allowed algorithms are loaded into the MACE during initialization; in particular AES-256 (Cert #A2261 and #A2262). The loading and unloading of any firmware within the validated cryptographic module invalidates the Module’s validation and zeroizes all SSPs except those entered at manufacturing. The Module is then in a non-compliant state. The MACE implements the Approved Mode and Non-Approved but Allowed cryptographic functions listed in the tables below. Note: The brackets [] reference the corresponding documents that can be found in the References section - Table 21 Table 5 – Approved Algorithms Motorola Solutions Public Material – May be reproduced only in its original entirety (without revision).
Page 8
Description / Key Size(s) /
Cert #AlgorithmModeKey Strength(s)Use/Functions
A2262AES [197]ECB [38A]Key Sizes: 256Encrypt, Decrypt
CBC [38A]Key Sizes: 256Encrypt, Decrypt
OFB [38A]Key Sizes: 256Encrypt, Decrypt
GCM [38D]1Key Sizes: 256Encrypt, Decrypt
A2263AES [197]KW [38F]Forward Key Sizes: 256Authenticated Encrypt, Decrypt for storing SSPs
A2264AES [197]KW [38F]Forward Key Sizes: 256Authenticated Decrypt for KTS
VACKG [IG D.H][133] Sections 4 and 5.2 Asymmetric key establishment key generation using unmodified DRBG output [133] Section 4 and Section 6.1 Direct symmetric key generation using unmodified DRBG output [133] Section 6.3 Symmetric Keys Produced by Combining (Multiple) Keys and Other DataKey Generation
A2265DRBG [90A]CTR with derivation functionAES-256Deterministic Random Bit Generation2
A655ECDSA [186-4]P-384 (SHA2-384)Key Generation
HMAC 1796HMAC [198]SHA2-384Key Sizes: 32 bytes λ = 48 bytesMessage Authentication
A2266KAS-ECC [56Ar3]ECC (Initiator, Responder), KPG, Partial, oneStepKdf (SP800-56Cr1)P-384 SHA2-384Key Agreement Scheme Key establishment methodology provides 192 bits of encryption strength
A2264KTS [38F]KWAES KW Cert. #A2264Decrypt OTAR Key blocks encrypted with AES256 keys. Key establishment methodology provides 256 bits strength
A5253RSA [186-5]PKCS1_v1.52048SigVer
RSA 396RSA [186-2]3PKCS1_v1.52048SigVer
SHS 817SHS [180]SHA2-256Message Digest Generation, Password Obfuscation
SHS 2399SHS [180]SHA2-384Message Digest Generation

Per IG C.H Scenario 2, the MACE generates GCM IVs randomly as specified in SP800-38D section 8.2.2 using approved DRBG (Cert #A2265) and the IV length is 96 bits. The entropy for seeding the SP 800-90A DRBG is determined by the operator of the MACE which is outside of the module’s physical and logical boundary. The operator shall use entropy sources that meet the security strength required for the random number generation mechanism as shown in [SP 800-90A] Table 3 (CTR_DRBG) and set required bits into the module by using Load Entropy service listed in Section 4.3. Since entropy is loaded passively into the module, there is no assurance of the minimum strength of generated keys. The MACE will not operate in an approved mode if the module is not seeded by the external entropy. RSA SigVer [FIPS 186-2] is approved for legacy use only: verifying signatures that were performed starting September 1, 2020 and onwards is a not a FIPS 140-3 compliant use of this algorithm/service and cannot claim security. Verifying signatures generated before September 1, 2020 is the approved legacy use of RSA SigVer [FIPS Motorola Solutions Public Material – May be reproduced only in its original entirety (without revision).

Page 9
AlgorithmCaveatUse/Function
KTS [38F]key unwrapping only; Key establishment methodology provides 256 bits strength[IG D.G] AES CBC Cert. #A2261 or #A2262
AlgorithmCaveatUse/Function
AES MACN/A[IG 2.4.A] P25 AES OTAR. No Security Claimed. AES MAC is used as part of OTAR but is considered obfuscation. KTS encryption is performed on the OTAR key components using AES KW and decrypted using AES KW Cert. #A2264

Table 6

2.5 Overall Security Design
  1. The MACE provides two distinct operator roles: User and Cryptographic Officer.
  2. The MACE provides identity-based authentication.
  3. The MACE clears previous authentications on power cycle.
  4. An operator does not have access to any cryptographic services prior to assuming an authorized role.
  5. The MACE allows the operator to initiate power-up self-tests by power cycling power or resetting the MACE.
  6. Power up self-tests do not require any operator action.
  7. Data output is inhibited during key generation, self-tests, zeroization, and error states.
  8. Status information does not contain CSPs or sensitive data that if misused could lead to a compromise
  9. There are no restrictions on which keys or SSPs are zeroized by the zeroization service.
  10. The MACE does not support concurrent operators.
  11. The MACE does not support a maintenance interface or role.
  12. The MACE does not support manual SSP establishment method.
  13. The MACE does not have any proprietary external input/output devices used for entry/output of data.
  14. The MACE does not enter or output plaintext CSPs.
  15. The MACE does not output intermediate key values.
  16. The MACE does not provide bypass services on ports/interfaces. Motorola Solutions Public Material – May be reproduced only in its original entirety (without revision).
Page 10
2.6 Rules of Operation

The MACE shall be installed in the Motorola Solutions subscriber products. After authentication with the default password, the operator shall change the default password for the User role. The MACE is not usable until the factory default password is changed for the User role. Note that this makes it very important that physical access to the MACE is strictly controlled. The MACE shall be operated such that only approved Drop-in algorithms listed in the Table 3 are installed including section 11 secure installation, initialization, startup and operation of the MACE. Motorola Solutions Public Material – May be reproduced only in its original entirety (without revision).

Page 11
Physical PortLogical InterfaceData That Passes Over Port/Interface
Serial Synchronous Interface (SSI)Data Input Data Output Control Input Status OutputThe main physical port provided by the MACE. It provides access to the majority of the supported interfaces.
KVL PortData Input Control Input Status OutputThis interface provides the input and output to a Key Variable Loader (KVL).
PowerPower InputThis interface powers all circuitries.
Self-Test IndicatorStatus OutputThis interface provides status output to indicate all power-up self- tests completed successfully.
3 Cryptographic Module Interfaces

The MACE’s ports and associated FIPS defined logical interface categories are listed in Table 8. Table 8

Page 12
RoleServiceInputOutput
COUserUA
XProgram UpdateFirmware ImageThe MACE is upgraded to new firmware.
XLoad EntropyDRBG SeedThe DRBG is seeded and initialized. Success/failure status.
XImport Keys Over KYLD InterfaceEncrypted KeysKeys imported into the MACE. Success/failure status.
XPrivileged APCO OTAREncrypted KeysKeys imported into the MACE. Success/failure status.
XChange Active KeysetKeyset IndexChanged the active keyset as requested. Success/failure status.
XChange PasswordPasswordUpdated the User password. Success/failure status.
XEncryptPlaintextCiphertext. Success/failure status.
XDecryptCiphertextPlaintext. Success/failure status.
XZeroize KeyKey IndexZeroized the key. Success/failure status.
XKey/Keyset CheckKey/Keyset IndexSuccess/failure status.
XGenerate SignatureService RequestSignature out. Success/failure status.
XKey Agreement ProcessService RequestKeys imported into the MACE. Success/failure status.
XZeroize All Keys and passwordCommand InSuccess/failure status.
XModule StatusCommand InModule HW version, version information, and FIPS status.
XSelf-TestsCommand InSuccess/Reset.
XValidate PasswordPasswordSuccessful authentication will allow access to the services allowed for User role.
XExtract Error LogCommand InError logs out. Success/Failure status.
XClear Error LogCommand InSuccess/Failure status.
XResetCommand InReset the MACE.
XModule ConfigurationConfiguration ParametersThe MACE is configured as requested. Success/Failure status.
4.1 Assumption of Roles and Related Services

The MACE supports two distinct operator roles, User and Cryptographic Officer (CO). Table 9 lists all operator roles supported by the MACE and their related services. In addition, the MACE supports services which does not require to be authenticated, listed UA in Table 9. The MACE does not support a maintenance role and/or bypass capability. Table 9

Page 13
RoleAuthentication MethodAuthentication Strength
COIdentity-based: The User role is authenticated to the MACE over SSI interface with 10-digit hexadecimal number.The strength of the authentication method is 1/1610. The MACE limits the number of 15 consecutive failed authentication attempts. 15 consecutive failed authentication attempts cause all TEKs and KEKs to be invalidated and the password to be reset to the factory default. The probability of a successful random attempt during a one- minute period is 15/1610.
ServiceDescriptionApproved Security FunctionsKeys and/or SSPsRolesAccess RightsIndicator
Program UpdateUpdate 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.RSA [186-5], Cert. #A5253FW-LD-PubUAZApproved Mode
IDK-ROME
IDK-BlockEZ
IDKZ
BKKZ
UKKPKZ
PEKZ
KPKZ
KEKZ
4.2 Authentication Methods

The MACE supports one distinct operator role (Crypto-Officer). The MACE uses a 10-digit password to authenticate the Crypto-Officer. The module ensures that there is no visible display of the authentication data.

4.3 Services

All services implemented by the MACE are listed in Table

  1. The MACE does not allow any non-approved service while operating in FIPS 140-3 level 3 mode and indicated use is based on the Module being in Approved mode per Table
  2. The SSPs modes of access shown in Table 11 are defined as: • G = Generate: The MACE generates or derives the SSP. • R = Read: The SSP is read from the MACE (e.g., the SSP is output). • W = Write: The SSP is updated, imported, or written to the MACE. • E = Execute: The MACE uses the SSP in performing a cryptographic operation. • Z = Zeroize: The MACE zeroizes the SSP Table 11 – Approved Services Motorola Solutions Public Material – May be reproduced only in its original entirety (without revision).
Page 14
ServiceDescriptionApproved Security FunctionsKeys and/or SSPsRolesAccess RightsIndicator
TEKZ
PasswordZ
PWD HashZ
PKPKZ
DH-PrivZ
DH-PubZ
DH-SSZ
DH-CLI-PubZ
Load EntropyLoad entropy into the MACE.AES Key Unwrap, AES Certs. #A2261 or #A2262, DRBG Cert. #2265DRBG- EI/SeedCOWEApproved Mode
DRBG-StateG
BKKE
Import keys over KYLD interfaceImports keys to the MACE via a Key Variable Loader (KVL) encryptedCKG, AES Cert. #A2260. AES Key Unwrap, (KTS), AES Cert. #A2261, #A2262. AES Cert. #2264BKKCOEApproved Mode
KPKE
KEKW
TEKW
Privileged APCO OTARImport, modify and query the keys.KW [38F], Cert. #A2264. AES Certs. #A2261 or #A2262.KPKCOEApproved Mode
KEKWEZ
TEKWEZ
Change Active KeysetModify the currently active keyset used for selecting keys for encryption/decryption services.N/AN/ACON/AApproved Mode
Change PasswordModify the current password used to identify and authenticate the User role.CKG, AES-256, Cert. #A2260. SHS [180], Cert. #817UKKPKCOEApproved Mode
PEKE
KPKGEZ
KEKZ
TEKZ
PasswordGEZ
PWD HashGEZ
CKG,IDK-ROMCOEZ

Motorola Solutions Public Material – May be reproduced only in its original entirety (without revision).

Page 15
ServiceDescriptionApproved Security FunctionsKeys and/or SSPsRolesAccess RightsIndicator
Symmetric Key GenerationGenerates the symmetric keysAES [197] CBC Cert. #A2261 or #A2262 AES CFB-8 Cert. #A2260, DRBG Cert. #A2265IDK-BlockEZApproved Mode
IDKGZ
KPKGZ
EncryptEncrypt digital voice or data.AES [197], Cert. #A2261 or #A2262 DRBG Cert. #2265TEKCOEApproved Mode
DecryptDecrypt digital voice or data.AES [197], Cert. #A2261 or #A2262TEKCOEApproved Mode
Zeroize KeysZeroize selected key variables from the MACE.N/AKEKCOZApproved Mode
TEKZ
Key/Keyset CheckObtain status information about a specific key/keyset.N/AN/ACON/AApproved Mode
Generate SignatureGenerate HMAC-SHA2-384 signature.HMAC [198], Cert. #1796TEKCOEApproved Mode
Key Agreement ProcessPerform a key agreement process to create an ECDH Shared Secret, and ECDH Public and Private Keys.CKG, DRBG Cert. #2265 KAS-ECC [56Ar3], Cert. #A2266, ECDSA Cert. #A655KEKCOWApproved Mode
PKPKGE
DH-PrivGE
DH-PubGRE
DH-SSGE
DH-CLI-PubWE
DRBG-StateGE
Zeroize all keys and passwordZeroize the KPK and all keys and CSPs in the key database and causes a new KPK to be generated. Resets the password to the factory default.N/AUKKPKCOEApproved Mode
KPKGZ
KEKZ
TEKZ
PasswordZ
PWD HashZ
PKPKZ
DH-PrivZ
DH-PubZ
Module StatusProvide module version, firmware version, FIPS statusN/AN/AUAN/AApproved Mode

Motorola Solutions Public Material – May be reproduced only in its original entirety (without revision).

Page 16
ServiceDescriptionApproved Security FunctionsKeys and/or SSPsRolesAccess RightsIndicator
Self-TestsPerform 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.N/AFW-LD-PubUAEApproved Mode
Validate PasswordValidate the current password used to identify and authenticate the User role.AES-256, Cert. #A2260. SHS [180], Cert. #817UKKPKUAEApproved Mode
PEKE
KPKGEZ
KEKZ
TEKZ
PasswordZ
PWD HashZ
Extract Error LogProvide the history of error events.N/AN/AUAN/AApproved Mode
Clear Error LogClears the history of error events.N/AN/AUAN/AApproved Mode
ResetReset/power cycle the MACE.N/ADRBG- EI/SeedUAZApproved Mode
DRBG-StateZ
DH-SSZ
DH-CLI-PubZ
Module ConfigurationDownload configuration parameters used to specify module behavior.N/AKPKUAGEZApproved Mode
KEKZ
TEKZ
PasswordWZ
PWD HashZ

Note: The module does not implement any Non-Approved Services and only provides an Approved mode of operation. Motorola Solutions Public Material – May be reproduced only in its original entirety (without revision).

Page 17
5 Firmware Security

The MACE is composed of base firmware version identified in Table

  1. On top of that customer shall load at least one of the Drop-in algorithms listed in Table
  2. The firmware components are protected with the approved firmware integrity technique described in Table
  3. The Module includes a firmware verification and load service to support necessary updates for the base firmware. The operator can initiate the firmware integrity test on demand by power cycling the MACE. The Module is composed of the following firmware component(s): • non-modifiable operating system - binary Motorola Solutions Public Material – May be reproduced only in its original entirety (without revision).
Page 18
6 Operational Environment

The MACE has a non-modifiable operational environment under the FIPS 140-3 definitions with a Physical Security at Level 3 therefore this section in not applicable. Motorola Solutions Public Material – May be reproduced only in its original entirety (without revision).

Page 19
Physical Security MechanismRecommended Frequency of Inspection/TestInspection/Test Guidance Details
Covered with a hard-opaque epoxy coating that provides evidence of attempts to tamper with the MACE.PeriodicallyLook for signs of tampering. Remove from service if tampering found.
Temperature or Voltage MeasurementEFP DescriptionResults
Low Temperature-38.1°CA tamper flag is raised, a wake-up reset of the product is triggered.Shutdown
High Temperature101.4°CA tamper flag is raised, a wake-up reset of the product is triggered.Shutdown
Low Voltage1.65V VDDCORE: 1.350 VVDBUA general reset of the chip is asserted.Shutdown
High Voltage2.034V VDDCORE: 2.292V - VVDBUA tamper flag is raised, a wake-up reset of the product is triggered.Shutdown
Hardness Tested Temperature Measurement
Low Temperature-40°C
High Temperature85°C

The MACE is a production grade, single-chip cryptographic module as defined by FIPS 140-3 and is designed to meet level 3 physical security requirements. The information below is applicable to cryptographic module hardware kit numbers 5185912Y03, 5185912Y05, and 5185912T05, which have identical physical security characteristics. ambient temperature (-40 to 85 degrees Celsius) only. No assurance of the epoxy hardness is claimed for this physical security mechanism outside of this range. The MACE does not contain any doors, removable covers, or ventilation holes or slits. No maintenance access interface is available. No special procedures are required to maintain physical security of the MACE while delivering to operators. There are two (2) voltage powers that power the MACE. VDDCORE voltage powers all MACE chip functions while VDDBU voltage powers the MACE chip battery. VDDCORE and VDDBU voltages enter the cryptographic boundary of the module separately; and therefore, were tested separately to verify that they both cause the MACE chip to zeroize SSPs Table 12

Page 20
8 Non-Invasive Security

The MACE does not implement any mitigation method against non-invasive attack. Motorola Solutions Public Material – May be reproduced only in its original entirety (without revision).

Page 21
MethodDescription
G1Generated external to the MACE and installed during manufacturing
G2Derived from the DRBG input per SP800-90Ar1
G3FIPS 186-4 compliant ECDSA key generation, using the internal CAVP validated DRBG
G4CKG - Symmetric key generated by internal CAVP validated DRBG
G5EC Diffie-Hellman shared secret generation using the internal CAVP validated 56Arev3 protocol
G6Generated per SP800-133r2 (Section 6.3 #2) via XOR of 2 other keys (IDK ROM and IDK Block)
S1Stored in the volatile memory (RAM)
S2Stored in the flash in plaintext, associated by memory location (pointer)
S3Stored in the flash in encrypted, associated by memory location (pointer)
E1Electronically input, AES-256 CBC encrypted by the IDK Block and ROM using AES KTS (Cert. #s A2261, #A2262)
E2Electronically input, AES-256 ECB encrypted by the BKK using AES KTS (Cert. #s A2261, #A2262)
E3Electronically input, AES-256 OFB encrypted by the BKK using AES KTS (Cert. #s A2261, #A2262)
E4Electronically input, AES-256 CFB-8 encrypted by the PEK using AES KTS (Cert. #s A2261, #A2262)
E5Electronically input using SP800-38F AES key transport by the KEK or TEK using AES KW Cert. #A2264
E6Electronically established through ECDH Key Agreement Process (SP 800-56A KASrev3, Cert. #A2266)
Z1Zeroized by program update service by overwriting with a fixed pattern “0s” *
Z2Zeroized by module power cycle or hard reset by overwriting with a fixed pattern “0s” *
Z3Zeroized by the “zeroize keys” service by overwriting with a fixed pattern of “0s”
Z4Zeroized by the “zeroize all keys and password” service by overwriting with a fixed pattern of “0s”
Z5Zeroized by the “validate password” service by overwriting with a fixed pattern “0s”
Z6Zeroized by the “change password” service by overwriting with a fixed pattern “0s”
Z7Zeroized by the “module configuration” service by overwriting with a fixed pattern “0s”
Z8Zeroized by the “privileged APCO OTAR” service by overwriting with a fixed pattern “0s”
Z9Zeroized by the “import keys over KYLD interface” service by overwriting with a fixed pattern “0s”
9 Sensitive Security Parameter (SSP) Management

The SSPs access methods are described in Table 15 below: Table 15

Page 22
Key/SSP Name/ Type CSPsStrength (in bits)Security Function / Cert. #Genera- tionImport /ExportEstablish- mentStorageZeroiza- tionUse / Related SSPs
DRBG- EI/SeedN/AN/AN/AE2N/AS1Z2Externally generated, a minimum of 48 bytes are passively entered into the MACE by the User.
DRBG- State256DRBG Cert. #A2265G2N/AN/AS1Z2CTR_DRBG internal state: V (128 bits) and Key (AES 256) and derived from DRBG- EI/Seed
IDK ROM256AES CBC Cert. #A2261 or #A2262G1N/AN/AS1, S2Z1, Z2A 256-bit AES CBC key used in the re- construction of IDK per SP800-133r2 (Section 6.3 #2) via XOR using IDK Block
IDK Block256AES CBC Cert. #A2261 or #A2262G1E1N/AS1, S2Z1, Z2A 256-bit AES CBC key used in the re- construction of IDK per SP800-133r2 (Section 6.3 #2) via XOR using IDK ROM
IDK256AES CBC Cert. #A2261 or #A2262G6N/AN/AS1Z2A 256-bit AES CBC key used to decrypt downloaded firmware images.
BKK256AES ECB/OFB Cert. #A2261, #A2262G1N/AN/AS1, S2Z1, Z2A 256-bit AES key used for decrypting Load entropy (ECB) and TEK/KEK (OFB) into the MACE.
UKKPK256AES CBC Cert. #A2261 or #A2262G1N/AN/AS1, S2Z1, Z2256-bit AES Key used for encrypting the KPK in flash.
PEK256AES CBC Cert. #A2261 or #A2262G1N/AN/AS1, S2Z1, Z2256-bit AES CFB-8 key used for decrypting passwords.
9.1 Sensitive Security Parameters (SSP)

MACE is described in the services detailed in 4.3. Table 16

Page 23
Key/SSP Name/ TypeStrength (in bits)Security Function / Cert. #Genera- tionImport /ExportEstablish- mentStorageZeroiza- tionUse / Related SSPs
KPK256AES CFB-8 Cert. #A2260, DRBG Cert. #A2265G4N/AN/AS1, S3Z1, Z2, Z3, Z4, Z5, Z6, Z7256-bit AES CFB-8 key used to encrypt all TEKs and KEKs stored in flash.
KEK256AES KW Cert.N/AE3, E5, E6N/AS1, S3Z1, Z2, Z3, Z4, Z5, Z6, Z7, Z8, Z9256-bit AES Keys used
#A2264, AESfor decrypting key
OFB Cert.blocks in the OTAR
#A2260service.
TEK256AES KW Cert.N/AE3, E5N/AS1, S3Z1, Z2, Z3, Z4, Z5, Z6, Z7, Z8, Z9256-bit AES key used for voice and data decryption.256-bit AES key used
#A2264 AESfor voice and data
OFB Cert. #A2260decryption.
PasswordN/AAES CFB-8 Cert. #A2260N/AE4N/AS1Z1, Z2, Z4, Z5, Z6, Z710-digit hexadecimal number user authentication password
PWD Hash128SHS [180] Cert.G1N/AN/AS1, S2Z1, Z2, Z4, Z5, Z6, Z7256-bit password hash stored in the non- volatile memory.256-bit password hash
#817 SHA2-256stored in the non-
PKPK256AES KW #A2263G4N/AN/AS1, S3Z1, Z2, Z4256-bit AES KW used to store encrypted, the ECDH generated private key.
DH-Priv192KAS #A2266, ECDSA Cert. #A655G3N/AN/AS1, S3Z1, Z2, Z4The Elliptic Curve Diffie-Hellman (DH) private key used for establishing a shared secret over an insecure channel.
DH-SSPSPs192KAS #A2266N/AN/AG5S1Z2The Elliptic Diffie- Hellman (DH) Shared Secret (SS) is established as a part of DH key agreement scheme.
FW-LD- Pub112AES CBCG1N/AN/AS1, S2Z1, Z22048-bit RSA key used
#A2261 orto validate the
#A2262,signature of the
RSA Cert.firmware image before
#A5253it is allowed.

Motorola Solutions Public Material – May be reproduced only in its original entirety (without revision).

Page 24
Key/SSP Name/ TypeStrength (in bits)Security Function / Cert. #Genera- tionImport /ExportEstablish- mentStorageZeroiza- tionUse / Related SSPs
DH-Pub192KAS Cert. #A2266, ECDSA Cert. #A655G3E6N/AS1, S2Z1, Z2The Elliptic Curve (EC) Diffie-Hellman (DH) public key, used for establishing a shared secret over an insecure channel.
DH-CLI- Pub192KAS Cert. #A2266N/AE6N/AS1, S2Z1, Z2The Elliptic Curve (EC) Diffie-Hellman (DH) public key from the other party, used for establishing a shared secret over an insecure channel.
Entropy SourcesMinimum Number of Bits of EntropyDetails
External384 bits of entropyThe Load Entropy service provides the security strength required for the random number generation mechanism

Table 17

Page 25
Error stateDescriptionIndicator
ES1The MACE fails a KAT.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. The operator may correct this state by power cycling the MACE.
ES2The MACE fails a firmwareThe MACE enters the firmware signature validation failure state. In this state, the MACE halts all further operations by entering the flash programming mode. The operator may correct the issue by power cycle and/or re-flashing a new image.The MACE enters the firmware signature validation failure state. In this
loading during programstate, the MACE halts all further operations by entering the flash
upgrade and/or firmwareprogramming mode. The operator may correct the issue by power cycle
integrity pre-operational self-test.and/or re-flashing a new image.
ES3The MACE fails an ECDSA PCT.The MACE enters a temporary error state. The generated key is not used, and the Module returns an error code (0x1) to the operator. The key is discarded, and the process abandoned.
Security FunctionMethodDescriptionError state
Firmware integrityFirmwareRSA (Cert. #396A digital signature is generated over the Boot Block and Base firmwareES2
integrityand #A5253),using RSA-2048 (Cert. #A5253) code when it is built. Drop-in algorithms
SHA2-256 (Cert.code uses RSA-2048 (Cert. #396) and is stored with the code upon
#817)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.
10 Self-Tests

The MACE performs self-tests to ensure the proper operation of the MACE. Per FIPS 140-3 these are categorized as either pre-operational self-tests or conditional self-tests. Both pre-operational and conditional self-tests are executed automatically by the Self-test service when the module is initiated by module reset or transitions from power off state to power on state. All KATs (including the integrity test) tests, services are not available, and data output (via the data output interface) is inhibited until all tests are successfully completed. No operator intervention is required. Pre-operational self-tests are available on demand by power cycling the MACE. Conditional self–tests are periodically performed by the MACE as configured by the operator during module configuration as shown in Section 11.1.1. The MACE will not accept any commands when a periodic self-test is required; the commands still in the I/O buffer will be processed by the MACE at the end of periodic self-test when the I/O buffer is emptied. The MACE will reset if any self-tests fail, otherwise it will continue to operate normally. The MACE logs the most recent self-test errors to the internal flash; the operator (UA) can extract the error logs using Extract Error Log service list in section 4.3. The self-tests error states and status indicator are described in table below: Table 18

Page 26
Security FunctionMethodDescriptionError state
AES – ECBKATAES-256 ECB encryption KAT - Inclusive to AES CBC and OFBES1
(Cert. #A2261)encryption mode testing with 256-bit key per IG 10.3.A
AES – ECBKATAES-256 ECB decryption KAT – Inclusive to AES CBC and OFB inverseES1
(Cert. #A2261)function testing with 256-bit key per IG 10.3.A
AES – ECBKATAES-256 ECB encryption KAT – Inclusive to AES CBC and OFBES1
(Cert. #A2262)encryption mode testing with 256-bit key per IG 10.3.A
AES – ECBKATAES-256 ECB decryption KAT – Inclusive to AES CBC and OFB inverseES1
(Cert. #A2262)function testing with 256-bit key per IG 10.3.A
AES – CFB8KATAES-256 CFB-8 encryption KAT – Inclusive to AES-256 OFB testing withES1
(Cert. #A2260)256-bit key per IG 10.3.A
AES – CFB8KATAES-256 CFB-8 decryption KAT – Inclusive to AES-256 OFB testing withES1
(Cert. #A2260)256-bit key per IG 10.3.A
AES – GCM (Cert. #2262)KATAES-256 GCM encryption KAT as per IG 10.3.AES1
AES – GCM (Cert. #2262)KATAES-256 GCM decryption KAT as per IG 10.3.AES1
AES KW (Cert. #A2263)KATAES-256 key wrapping KATES1
AES KW (Cert. #A2263)KATAES-256 key unwrapping KATES1
AES KW (Cert. #A2264)KATAES-256 key unwrap KATES1
DRBGKATAES-256 CTR_DRBG Health Tests (instantiation, generate, and reseed)ES1
(Cert. #A2265)KATs performed before the first random data generation.
ECDSA KeyPWCTECDSA P-384 Key Generation Pair-Wise Consistency Test every timeES3
Generationthe Key Agreement Process service requests a key pair.
Firmware Load (Cert. #A5253)RSA-2048 SigVerA digital signature is generated over the code when it is built using SHA2-256 and RSA-2048 (FIPS 186-5). The digital signature is verified upon download into the MACE during the Program Update service.ES2
HMAC (Cert. #1796)KATHMAC-SHA2-384 KATES1
KAS-ECCKATPer IG D.F, separately tested KAS Shared Secret generation with P-384ES1
(Cert. #2266)and SP 800-56Cr2 one-step KDA
RSA SigVerKATRSA-2048 SigVer, performed before FW integrity tests. Inclusive forES2
(Cert. #A5253)186-2 (Cert. #396)
SHS 256-bit (Cert. #817)KATSHA2-256 KAT, performed before FW integrity tests.ES2
SHS 384-bit (Cert. #2399)KATSHA2-384 KATES1

The MACE performs the conditional self-tests listed in the table below. All KATs are performed during boot up of the module and before the module transitions to an operational state. Table 20

Page 27
11 Life-Cycle Assurance
11.1 Installation, Initialization, and Startup Procedures
11.1.1 Installation and Initialization

The Module is originally a non-compliant module and must be initialized to be in approved mode. There is no non-approved mode. During initialization the operator shall configure the MACE from the instructions below:

  1. Upon first access, the operator will use the default password provided by Motorola in a separate communication.
  2. The operator will then change the default password based on the requirements in Table 10 – Roles and Authentication.
  3. The operator will then configure the MACE using the Module configuration service as specified in the section 2.3.1.
  4. Finally, the operator will set the periodic self-tests timer as part of the Module configuration in every X minutes, where X is a minimum value = 1 minute and maximum value = 712,800 minutes (495 days). Note: the default minimum = 0* but must be changed to a minimum of 1. * Periodic self-tests will not perform if minimum = 0
11.1.2 Delivery

The MACE is embedded in multiple Motorola Solutions, Inc. radios (aka, subscribers). Motorola uses commercially available courier systems such as UPS, FedEx, and DHL with a tracking number and requires a signature at the end by an authorized client.

11.2 Administrator Guidance

Use radio specific user guide available on the www.motorolasolutions.com website for secure operations.

11.3 Non-Administrator Guidance

Use radio specific user guide available on the www.motorolasolutions.com website for secure operations.

11.4 Maintenance Requirements

The MACE does not require any special maintenance.

11.5 End of Life

After the end-of-life, the operator should zeroize all SSPs using the “Zeroize all keys and password” service listed in the Section 4.3 followed by shredding the MACE chip. Motorola Solutions Public Material – May be reproduced only in its original entirety (without revision).

Page 28
12 Mitigation of Other Attacks

The MACE does not implement any mitigation method against other attacks. Motorola Solutions Public Material – May be reproduced only in its original entirety (without revision).

Page 29
AbbreviationFull Specification Name
[FIPS140-3]Security Requirements for Cryptographic Modules, May 22, 2019
[ISO19790]International Standard, ISO/IEC 19790, Information technology — Security techniques — Test requirements for cryptographic modules, Third edition, March 2017
[ISO24759]International Standard, ISO/IEC 24759, Information technology — Security techniques — Test requirements for cryptographic modules, Second and Corrected version, 15 December 2015
[IG]Implementation Guidance for FIPS PUB 140-3 and the Cryptographic Module Validation Program, November 2021.
[131A]Transitions: Recommendation for Transitioning the Use of Cryptographic Algorithms and Key Lengths, Revision 2, March 2019
[133]NIST Special Publication 800-133, Recommendation for Cryptographic Key Generation, Revision 2, June 2020
[186]National Institute of Standards and Technology, Digital Signature Standard (DSS), Federal Information Processing Standards Publication 186-4, July 2013.
[197]National Institute of Standards and Technology, Advanced Encryption Standard (AES), Federal Information Processing Standards Publication 197, November 26, 2001
[198]National Institute of Standards and Technology, The Keyed-Hash Message Authentication Code (HMAC), Federal Information Processing Standards Publication 198-1, July, 2008
[180]National Institute of Standards and Technology, Secure Hash Standard, Federal Information Processing Standards Publication 180-4, August, 2015
[38A]National Institute of Standards and Technology, Recommendation for Block Cipher Modes of Operation, Methods and Techniques, Special Publication 800-38A, December 2001
[38D]National Institute of Standards and Technology, Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC, Special Publication 800-38D, November 2007
[38F]National Institute of Standards and Technology, Recommendation for Block Cipher Modes of Operation: Methods for Key Wrapping, Special Publication 800-38F, December 2012
[56Ar3]NIST Special Publication 800-56A Revision 3, Recommendation for Pair-Wise Key Establishment Schemes Using Discrete Logarithm Cryptography, April 2018
[56Cr2]NIST Special Publication 800-56C Revision 2, Recommendation for Pair-Wise Key Establishment Schemes Using Discrete Logarithm Cryptography, August 2020
[90A]National Institute of Standards and Technology, Recommendation for Random Number Generation Using Deterministic Random Bit Generators, Special Publication 800-90A, Revision 1, June 2015.
[OTAR]Project 25 – Digital Radio Over-The-Air-Rekeying (OTAR) Messages and Procedures [TIA- 102.AACA-A], September 2014
13 References and Definitions

The following standards are referred to in this Security Policy. Table 21

Page 30
AcronymDefinition
AESAdvanced Encryption Standard
BKKBlack Keyloading Key
CBCCipher Block Chaining
CFBCipher Feedback
CKGCryptographic Key Generation
CSPCritical Security Parameter
DH-CLI-PubDiffie-Hellman Client Public Key
DH-PrivDiffie-Hellman Private Key
DH-PubDiffie-Hellman Public Key
DH-SSDiffie-Hellman Shared Secret
DRBGDeterministic Random Bit Generator
ECBElectronic Code Book
ECDHElliptic Curve Diffie-Hellman
ECDSAElliptic Curve Digital Signature
FIPSFederal Information Processing Standards
FWFirmware
GCMGalois/Counter Mode
HSMHardware Security Module
IDKImage Decryption Key
IVInitialization Vector
KATKnown Answer Test
KDAKey Derivation Algorithm
KPKKey Protection Key
KEKKey Encryption Key
KYLDKeyload
KVLKey Variable Loader
MACMessage Authentication Code
MACEMotorola Advanced Crypto Engine
MDCMotorola Data Communication
OFBOutput Feedback

Table 22

Page 31
AcronymDefinition
OTAROver The Air Rekeying
PEKPassword Encryption Key
PKPKPrivate Key Protection Key
PWCTPair-Wise Consistency Test
PWD HashPassword Hash
RSARivest–Shamir–Adleman
SSISynchronous Serial Interface
SSPSensitive Security Parameter
TEKTraffic Encryption Key
UAUnauthenticated Service
UKEKUniversal Key Encryption Key
UKKPKUniversal Key for Key Protection Key

Motorola Solutions Public Material – May be reproduced only in its original entirety (without revision).