| Standard | FIPS 140-3 |
|---|---|
| Overall level | 3 |
| Module type | Hardware |
| Embodiment | Single Chip |
| Status | Active |
| Sunset date | 11/6/2026 |
| Caveat | Interim Validation. When installed, initialized and configured as specified in Section 11 of the Security Policy. No assurance of the minimum strength of generated SSPs |
| Vendor | Motorola Solutions, Inc. |
| Algorithm | ACVP Cert |
|---|---|
| AES-CBC | AES 819 |
| AES-CFB8 | AES 819 |
| AES-ECB | AES 819 |
| AES-GCM | AES 1295 |
| AES-KW | AES 5358 |
| AES-OFB | AES 819 |
| Counter DRBG | A2935 |
| RSA SigVer (FIPS186-5) | A5253 |
| SHA2-256 | SHS 817 |
flowchart LR
%% Deterministic review-risk graph for Astro PDEG Motorola Advanced Crypto Engine (MACE)
%% 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>Firmware Load<br/>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>application</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;flowchart LR
%% Deterministic clue tier for Astro PDEG Motorola Advanced Crypto Engine (MACE)
%% 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>Firmware Load<br/>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>application</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;Astro PDEG Motorola Advanced Crypto Engine (MACE) Non-Proprietary FIPS 140-3 Security Policy Document Version: 1.2 Date: November 01, 2024 Motorola Solutions Public Material – May be reproduced only in its original entirety (without revision).
| # | Section | Page |
|---|
| Item | Page |
|---|---|
| Table 1 – Security Levels | 4 |
| Table 2 – Cryptographic Module Tested Configuration | 5 |
| Table 3 – Approved Algorithms | 7 |
| Table 4 – Non-Approved Algorithms Allowed in the Approved Mode of Operation | 8 |
| . | 8 |
| Table 6 – Ports and Interfaces | 10 |
| Table 7 – Roles, Service Commands, Input and Output | 12 |
| Table 8 – Roles and Authentication | 14 |
| Table 9 – Approved Services | 15 |
| Table 10 – Physical Security Inspection Guidelines | 21 |
| Table 11 – EFP/EFT | 22 |
| Table 12 – Hardness testing temperature ranges | 22 |
| Table 13 – SSP Management Methods | 24 |
| Table 14 – SSPs | 25 |
| Table 15– Non-Deterministic Random Number Generation Specification | 27 |
| Table 16 – Error States and Indicators | 28 |
| Table 17 – Pre-Operational Self-Test | 28 |
| Table 18 – Conditional Self-Tests | 29 |
| Table 19 – References | 32 |
| Table 20 – Acronyms and Definitions | 33 |
| Figure 1: MACE Chip (Top) | 5 |
| Figure 2: MACE Chip (Interfaces) | 5 |
| Figure 3: Cryptographic Boundary | 6 |
| ISO/IEC 24759 Section 6 [Number below] | FIPS 140-3 Section Title | Security Level | |
|---|---|---|---|
| 1 | General | 3 | |
| 2 | Cryptographic Module Specification | 3 | |
| 3 | Cryptographic Module Interfaces | 3 | |
| 4 | Roles, Services and, Authentication | 3 | |
| 5 | Software/Firmware Security | 3 | |
| 6 | Operational Environment | N/A | |
| 7 | Physical Security | 3 | |
| 8 | Non-Invasive Security | N/A | |
| 9 | Sensitive Security Parameter Management | 3 | |
| 10 | Self-Tests | 3 | |
| 11 | Life-Cycle Assurance | 3 | |
| 12 | Mitigation of Other Attacks | N/A | |
| Overall | 3 |
This document defines the Security Policy for the Astro Packet Data Encryption Gateway (PDEG) Motorola Advanced Crypto Engine (MACE), hereafter denoted the ASTRO PDEG MACE or the Module. The ASTRO PDEG MACE is implemented as a single-chip cryptographic module to meet FIPS 140-3 level 3 physical security requirements as defined by FIPS 140-3. The ASTRO PDEG MACE provides secure key management, Over-the-Ethernet-Keying (OTEK), and data encryption for the Motorola Solutions PDEG Encryption Unit. The FIPS 140-3 security levels for the ASTRO PDEG MACE are as follows: Table 1
| Model | HW P/N, Version | Base Firmware version | Distinguishing Features | ||
|---|---|---|---|---|---|
| Astro PDEG Motorola Advanced Crypto Engine (MACE) Identifier: PDEG_RED_MODULE_ID 0x32 | 5185912Y03, 5185912Y05, 5185912T05 | R02.07.04 | Single chip embodiment |
PDEG MACE is used in the Motorola Solutions PDEG Encryption Unit. The ASTRO PDEG MACE cryptographic module is intended for use by US Federal agencies or other markets that require FIPS 140-
The ASTRO PDEG MACE cryptographic module is tested on the following operational environment. Table 2 – Cryptographic Module Tested Configuration
The physical form of the ASTRO PDEG MACE cryptographic module is depicted in Figure 1 and Figure
Power IRQ/FIQ Clock ASTRO PDEG MACE RAM Interface Reset Tamper SSI Ethernet RS232 KVL Front Panel LED Indicators: Alarm, Power, Interface Interface Interface Port Interface Interface Ready, Tx Clear, Status Figure 3: Cryptographic Boundary
The ASTRO PDEG MACE can be configured to operate in a an approved mode of operation and a nonapproved mode of operation. CSPs are not shared between approved mode and non-approved mode. The transition from a approved mode to a non- approved mode, and vice-versa, causes all CSPs to be zeroized except hardcoded CSPs. All hardcoded CSPs are unique between approved and non-approved mode and therefore are exclusive between approved and non-approved services and modes of operation. When the module is in approved mode. 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-validation-program/validated-modules Motorola Solutions Public Material – May be reproduced only in its original entirety (without revision).
| Cert # | Algorithm | Mode | Description | Functions/Caveats |
|---|---|---|---|---|
| AES 819 | AES [197] | CBC [38A] | Key Sizes: 256 | Encrypt, Decrypt |
| CFB8 [38A] | Key Sizes: 256 | Encrypt, Decrypt | ||
| ECB [38A] | Key Sizes: 256 | Encrypt, Decrypt | ||
| OFB [38A] | Key Sizes: 256 | Encrypt, Decrypt | ||
| AES 1295 | AES [197] | GCM [38D]1 | Key Sizes: 256 | Encrypt, Decrypt |
| AES 5358 | AES [197] | KW [38F] | Forward Key Sizes: 256 | Authenticated Decrypt for KTS |
| VA | CKG [IG D.H] | [133] Section 4 and Section 6.1 (example 1) - Direct symmetric key generation using unmodified DRBG output | Key Generation, IV |
The module can be configured to operate in a FIPS 140-3 Approved mode of operation at overall Security Level
To configure the device to a non-Approved mode, the operator as the CO can type the command “fips disable”. The result is indicated by using the “Set FIPS Mode” service. The result from this service will display: - Encrypted on Keyfill is Disabled - FIPS mode is Not FIPS approved The loading of non-validated firmware within the validated cryptographic module invalidates the module’s validation and zeroizes all CSPs.
The MACE implements the Approved and Non-Approved but Allowed cryptographic functions listed in the tables below. Table 3 – Approved Algorithms
1 Per IG C.H Scenario 2, the MACE generates GCM IVs randomly with a length of 96-bits as specified in SP800-38D section 8.2.2
Motorola Solutions Public Material – May be reproduced only in its original entirety (without revision).
| Cert # | Algorithm | Mode [133] Section 6.3 (#2) Symmetric Keys Produced by Combining (Multiple) Keys and Other Data | Description | Functions/Caveats |
|---|---|---|---|---|
| A2935 | DRBG [90A] | CTR with derivation function | AES-256 | Deterministic Random Bit Generation2 |
| AES 5358 | KTS | Key Unwrap | AES-256 | AES KW Cert. #5358 |
| A5253 | RSA [186-5] | PKCS1_v1.5 | 2048 | SigVer |
| SHS 817 | SHS [180] | SHA-256 | Message Digest Generation, Password Obfuscation |
| Algorithm | Description | ||
|---|---|---|---|
| KTS (AES Key Unwrap) | [IG D.G] AES Cert. #AES 819, key unwrapping; Key establishment methodology provides 256 bits strength. |
| Algorithm | Description | ||
|---|---|---|---|
| AES MAC | [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 and decrypted within the module using AES KW Cert. #AES 5358 |
AES MAC is used as part of OTAR but is considered obfuscation.
KTS encryption is performed on the OTAR key components and decrypted within the module using
AES KW Cert. #AES 5358
Table 4
2 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. Motorola Solutions Public Material – May be reproduced only in its original entirety (without revision).
The ASTRO PDEG MACE shall operate within a Motorola Solutions PDEG Encryption Unit. After authentication with the default password, the operator shall change the default password for User role. The ASTRO PDEG MACE is not usable until the factory default password is changed for the User role. Likewise, before any CO operations can be performed, the CO password must be changed from the factory default upon first login of the CO. Motorola Solutions Public Material – May be reproduced only in its original entirety (without revision).
| Physical Port | Logical Interface | Data that passes over port/interface |
|---|---|---|
| Serial Synchronous Interface (SSI) | Data Input Data Output Control Input Status Output | Provides an interface to the unprotected network and entry of the User password in encrypted form. |
| Ethernet Port (EP) | Data Input Data Output Control Input Status Output | This interface routes packets between subnets. The IP stack of this interface will use the subnet information to determine how to route packets between physical network interfaces. |
| RS232 Interface | Control Input Status Output Data Output | Provides an interface for factory programming and execution of RS232 shell commands. |
| Key Variable Loader (KVL) | Data Input Data Output Control Input Status Output | Provides an interface to the Key Variable Loader. The Traffic Encryption Key (TEK) is entered in encrypted form over the KVL interface. |
| RAM | Data Input Data Output Control Input Status Output | This interface provides storage for non-security related stack information. |
| Power | Power Input Internal battery- backed RAM | This interface powers all circuitry. |
| Tamper Interface | Control Input | The interface is used for zeroization of Traffic Encryption Keys (TEKs), KPK. |
| Reset Interface | Control Input | This interface forces a reset of the module. |
| Alarm LED output | Status Output | The Alarm LED output is used to drive the external Alarm LED red to indicate a fatal error has been detected. |
| Power LED output | Status Output | The Power LED output is used to drive the external Power LED green when power is supplied to the module. |
| Ready LED output | Status Output | The Ready LED output is used to drive the external Ready LED green when the module is ready to communicate with a KVL. |
| TX Clear LED output | Status Output | The TX Clear LED output is used to drive the external TX Clear LED orange when a "Bypass Rule" is programmed. |
The MACE’s ports and associated defined logical interface categories are listed in Table 6. Table 6
| Physical Port | Logical Interface | Data that passes over port/interface |
|---|---|---|
| Status LED output | Status Output | The Status LED output is used to drive the external Status LED green to indicate a good battery, and a Traffic Encryption Key (TEK) has been loaded. The Status LED output is used to drive the external Status LED yellow to indicate a good battery, but no Traffic Encryption Key (TEK) has been loaded. The Status LED output is used to drive the external Status LED red to indicate a low or dead battery. |
| IRQ/FIQ | Control Input | External interrupts |
| Clock | Control Input | Clock input |
NOTE: The module does not have Control Output Motorola Solutions Public Material – May be reproduced only in its original entirety (without revision).
| Role | Service | Input | Output | ||
|---|---|---|---|---|---|
| CO | User | UA | |||
| X | − | Program Update | Firmware image | The ASTRO PDEG MACE is upgraded to new firmware. | |
| − | X | − | Load Entropy | DRBG seed | The DRBG is seeded and initialized. Success/failure status. |
| − | X | − | OTEK | Encrypted keys | Decrypted keys that were imported encrypted into the ASTRO PDEG MACE. Success/failure status. |
| − | X | − | Generate Random Number | Command In | Generated random numbers. (KPK, IV) Success/failure status. |
| X | − | − | Change CO Password | Password | Updated the CO password. Success/failure status. |
| − | X | − | Change User Password | Password | Updated the User password. Success/failure status. |
| X | − | − | Validate CO Password | Password | Successful authentication will allow access to the services allowed for CO role. |
| − | X | − | Validate User Password | Password | Successful authentication will allow access to the services allowed for User role. |
| X | − | − | Logout CO | Command In | Logout CO/Exits command shell interface |
| − | X | − | Logout User | Reboot/Command In | Logout User |
| − | X | − | Encrypt | Plaintext | Ciphertext. Success/failure status. |
| − | X | − | Decrypt | Ciphertext | Plaintext. Success/failure status. |
| − | X | − | Bypass | Plaintext | Plaintext. Success/failure status. |
| X | - | − | Module Status | Command in | Module HW version, version information, and FIPS status. |
| X | - | X | Self-Tests | Power on/Command In | Success/Reset. |
| X | − | − | Configure Module | Configuration parameters | Updated module configuration. Success/failure status. |
The ASTRO PDEG MACE supports two distinct operator roles, Cryptographic Officer (CO) and User. Table
7 lists all operator roles supported by the ASTRO PDEG MACE and their related services. In addition, the
ASTRO PDEG MACE supports services which do not require to be authenticated, listed as “UA” in Table 7. The ASTRO PDEG MACE does not support a maintenance role. Table 7
| Role | Service | Input | Output | ||
|---|---|---|---|---|---|
| CO | User | UA | |||
| X | − | − | Set FIPS Mode | Configuration parameters | Updated module FIPS mode/Display current FIPS mode |
| X | − | − | Configure Security Association | Configuration parameters | Updated module security association configuration. Success/failure status. |
| X | − | − | Check Security Association | Command In | Security association configuration. |
| X | − | − | Configure OTEK | Configuration parameters | Updated OTEK configuration. Success/failure status. |
| X | − | − | Version Query | Command In | Show module version info |
| − | X | − | Delete Key | Command In | Key is marked for deletion. Success/failure status. |
| − | X | − | Perform Key Transport Process | Command In | Keys imported into the MACE. Success/failure status. |
| − | X | − | KVL Transfer Key3 | Encrypted Keys | Keys imported into the ASTRO PDEG MACE. Success/failure status. |
| − | X | − | KVL Delete Key | Command In | Keys deleted from the ASTRO PDEG MACE. Success/failure status. |
| − | X | − | KVL Check Key | Command In | Show key status |
| − | X | − | KVL Query Algorithm List | Command In | Show list of supported algorithms |
| X | − | − | Extract Error Log | Command In | Error logs out. Success/Failure status. |
| − | − | X | Reset Crypto Module | Reset Button press/Cycle power. | Reset the MACE |
| − | − | X | Erase Crypto Module | Erase Button press | Zeroize all CSPs |
are authenticated with passwords. The identification, and authentication policy for each of these roles is detailed in the table below: Key are in plaintext. Motorola Solutions Public Material – May be reproduced only in its original entirety (without revision).
| Role | Authentication Type | Authentication Method | Authentication Strength |
|---|---|---|---|
| CO | Identity-Based | Crypto-Officer Password: a 15-16 ASCII (printable) characters password is authenticated to gain access to all Crypto-Officer services. It should be noted that after authenticating, this password may be changed at any time. | The password requires a minimum of 1 Upper case, 1 Lower case, 1 Numerical and 1 special character. Since the minimum password length is 15 ASCII printable characters and there are 95 ASCII printable characters, the probability of a successful random attempt is 1 in {(10)*(262)*(32)*(9511)}. After the CO password has been incorrectly entered 10 consecutive times, the Module will erase all CSPs, reset the CO password back to the default and set an alarm, at which time the module must be power cycled to become operational again. |
| User | Identity-Based | User Password: a 10 hexadecimal digit long password is authenticated to gain access to all User services. It should be noted that after authenticating, this password may be changed at any time. | Since the minimum password length is 10 hex digits, the probability of successful random attempt is 1 in 16^10. After the User password has been incorrectly entered 15 consecutive times, the Module will erase all CSPs, reset the CO password back to the default and set an alarm, at which time the module must be power cycled to become operational again. Note the User password is NOT reset in this instance. |
Table 8
| Description | Keys and/or SSP | Roles | Access Rights | Indicator | ||
|---|---|---|---|---|---|---|
| Approved Security | ||||||
| Service | Functions | to Keys and/or SSPs | ||||
| Program Update | Update the ASTRO PDEG 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. #A5253 | FW-LD-Pub | CO | Z | Approved Mode |
| IDK | Z | |||||
| IDK-ROM | E | |||||
| IDK-Block | EZ | |||||
| BKK | Z | |||||
| EDK | Z | |||||
| PEK | Z | |||||
| KPK | Z | |||||
| UKKPK | Z | |||||
| Load Entropy | Load entropy into the ASTRO PDEG MACE. | AES Key Unwrap, AES Cert. #AES 5358, DRBG [90A] Cert. #A2935 | DRBG-EI/SEED | User | WE | Approved Mode |
| DRBG-State | G | |||||
| EDK | E | |||||
| Generate Random Number | Generated random numbers. | AES-256, Cert. #AES 819, CKG (VA), DRBG [90A] #A2935 | DRBG-EI/SEED | User | E | Approved Mode |
| DRBG-State | E | |||||
| KPK | G | |||||
| UKKPK | E | |||||
| OTEK | Load Keys into the ASTRO PDEG MACE. | AES Key Unwrap, AES Cert. #AES 5358 | KEK | User | E | Approved Mode |
| TEK | E | |||||
| PEK | CO | E |
All services implemented by the ASTRO PDEG MACE are listed in Table 9. The ASTRO PDEG MACE does not allow any non-approved services while operating in FIPS 140-3 level 3 mode. The Note that all services listed in Table 9 below are available in both the approved and non-approved mode. The SSPs modes of access shown in Table 9 are defined as:
| Description | Keys and/or SSP | Roles | Access Rights | Indicator | ||
|---|---|---|---|---|---|---|
| Approved Security | ||||||
| Service | Functions | to Keys and/or SSPs | ||||
| Change CO Password | Modify the current password used to identify and authenticate the CO role. | AES-256, Cert. #AES 819, SHS [180], Cert. #SHS 817 | KPK | GEZ | Approved Mode | |
| KEK | Z | |||||
| TEK | Z | |||||
| CO Password | GEZ | |||||
| PWD Hash | GEZ | |||||
| UKKPK | E | |||||
| Change User Password | Modify the current password used to identify and authenticate the User role. | AES-256, Cert. #AES 819 SHS [180], Cert. #SHS 817 | PEK | User | E | Approved Mode |
| KPK | GEZ | |||||
| KEK | Z | |||||
| TEK | Z | |||||
| User Password | GEZ | |||||
| PWD Hash | GEZ | |||||
| UKKPK | E | |||||
| Validate CO Password | Validate the current password used to identify and authenticate the CO role. | AES-256, Cert. # AES 819, SHS [180], Cert. #SHS 817 | PEK | CO | E | Approved Mode |
| KPK | GEZ | |||||
| KEK | Z | |||||
| TEK | Z | |||||
| CO Password | Z | |||||
| User Password | Z | |||||
| PWD Hash | Z | |||||
| UKKPK | E | |||||
| Validate User Password | Validate the current password used to identify and authenticate the User role. | AES-256, Cert. # AES 819 SHS [180], Cert. #SHS 817 | PEK | User | E | Approved Mode |
| KPK | GEZ | |||||
| KEK | Z | |||||
| TEK | Z | |||||
| CO Password | Z | |||||
| User Password | Z | |||||
| PWD Hash | Z | |||||
| UKKPK | E | |||||
| Logout CO | Exits command shell interface | N/A | N/A | CO | N/A | Approved Mode |
| Encrypt | Encrypt data. | AES [197], Certs. #AES 819 or #AES 1295, CKG (VA), DRBG [90A] #A2935 | PEK | User | E | Approved Mode |
| TEK | E | |||||
| KEK | E | |||||
| KPK | E | |||||
| DRBG-EI/SEED | E | |||||
| DRBG State | E | |||||
| PEK | User | E |
Motorola Solutions Public Material – May be reproduced only in its original entirety (without revision).
| Description | Keys and/or SSP | Roles | Access Rights | Indicator | ||
|---|---|---|---|---|---|---|
| Approved Security | ||||||
| Service | Functions | to Keys and/or SSPs | ||||
| Decrypt | Decrypt data. | AES [197], Certs. #AES 819 or #AES 1295, CKG (VA), DRBG [90A] # A2935 | TEK | E | Approved Mode | |
| KEK | E | |||||
| KPK | E | |||||
| BKK | E | |||||
| IDK | E | |||||
| Bypass | Bypass encryption/decryptio n services | N/A | N/A | User | N/A | Approved Mode |
| Module Status | Provide firmware version, current FIPS status | N/A | N/A | CO | N/A | Approved Mode |
| Self-Tests | 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. | N/A | FW-LD-Pub | CO/UA | E | Approved Mode |
| Module Configuration | Set configuration parameters used to specify module behavior. | N/A | KPK | CO | GEZ | Approved Mode |
| KEK | Z | |||||
| TEK | Z | |||||
| Password | WZ | |||||
| PWD Hash | WZ | |||||
| UKKPK | E | |||||
| Set FIPS Mode | Update module FIPS mode. | N/A | N/A | CO | N/A | Approved Mode |
| Configure Security Association | Update module security association configuration. | N/A | N/A | CO | N/A | Approved Mode |
| Check Security Association | Display Security association configuration. | N/A | N/A | CO | N/A | Approved Mode |
| Configure OTEK | Set configuration parameters used for communication with the KMF for OTEK | N/A | N/A | CO | N/A | Approved Mode |
Motorola Solutions Public Material – May be reproduced only in its original entirety (without revision).
| Description | Keys and/or SSP | Roles | Access Rights | Indicator | ||
|---|---|---|---|---|---|---|
| Approved Security | ||||||
| Service | Functions | to Keys and/or SSPs | ||||
| Version Query | Provides module firmware and hardware version numbers | N/A | N/A | CO | N/A | Approved Mode |
| Delete Key | Mark key for deletion. | N/A | KPK | User | N/A | Approved Mode |
| Perform Key Transport Process | Perform a key transport process for OTEK service. | AES KW Key Unwrap, AES Cert. #AES 5358 | KEK | User | W | Approved Mode |
| TEK | W | |||||
| KVL Transfer Key | Imports keys to the ASTRO PDEG MACE via KVL. | AES KW Key Unwrap, AES Cert. #AES 5358 | BKK | User | E | Approved Mode |
| KPK | E | |||||
| KEK | W | |||||
| TEK | W | |||||
| KVL Delete Key | Zeroize selected key variables from the ASTRO PDEG MACE. | N/A | KEK | User | Z | Approved Mode |
| TEK | Z | |||||
| KVL Check Key | Obtain status information about a specific key/keyset. | N/A | BKK | User | E | Approved Mode |
| KVL Query Algorithm List | Provides algorithm version numbers | N/A | N/A | User | E | Approved Mode |
| Extract Error Log | Provide the history of error events. | N/A | N/A | CO | N/A | Approved Mode |
| Reset Crypto Module | Reset/power cycle the ASTRO PDEG MACE. | N/A | DRBG-EI/SEED | UA | Z | Approved Mode |
| DRBG-State | Z | |||||
| Erase Crypto Module | Zeroize 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/A | KPK | UA | GZ | Approved Mode |
| KEK | Z | |||||
| TEK | Z | |||||
| Password | Z | |||||
| PWD Hash | Z | |||||
| UKKPK | E |
Note: All services in Table 9 are available in Non-Approved Mode with the KVL Transfer Key importing Motorola Solutions Public Material – May be reproduced only in its original entirety (without revision).
The ASTRO PDEG MACE is composed of base firmware version identified in Table
The ASTRO PDEG MACE has a limited 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).
| Physical Security Mechanism | Recommended Frequency of Inspection/Test | Inspection/Test Guidance Details | |
|---|---|---|---|
| Covered with a hard-opaque epoxy coating that provides evidence of attempts to tamper with the ASTRO PDEG MACE. | Periodically | Look for signs of tampering. Remove from service if tampering found. |
The ASTRO PDEG 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. MACE's epoxy encapsulate is claimed at 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 ASTRO PDEG 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 There are two 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 10
| Temperature or Voltage Measurement | EFP Description | Results | |
|---|---|---|---|
| Low Temperature | -38.1°C | A tamper flag is raised, a wake-up reset of the product is triggered. | Shutdown |
| High Temperature | 101.4°C | A tamper flag is raised, a wake-up reset of the product is triggered. | Shutdown |
| Low Voltage | 1.65V 65V VDDCORE : 1.350 VVDBU | A general reset of the chip is asserted. | Shutdown |
| High Voltage | 2.034V VDDCORE : 2.292V - VVDBU | A tamper flag is raised, a wake-up reset of the product is triggered. | Shutdown |
| Hardness tested temperature measurement | |
|---|---|
| Low Temperature | -40°C |
| High Temperature | 85°C |
Table 11
The ASTRO PDEG 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).
| Method | Description |
|---|---|
| G1 | Generated external to the MACE and installed during manufacturing. |
| G2 | Derived from the DRBG input per SP800-90Ar1. |
| G3 | Symmetric key generated by internal CAVP validated DRBG. |
| G4 | Generated per SP800-133r2 (Section 6.3 #2) via XOR of 2 other keys (IDK-ROM and IDK-Block) |
| S1 | Stored in the volatile memory (RAM). |
| S2 | Stored in the flash in plaintext, associated by memory location (pointer). |
| S3 | Stored in the flash in encrypted, associated by memory location (pointer). |
| E1 | Electronically input, AES-256 CBC encrypted by the IDK-Block and ROM using AES KTS (Cert. #AES 819) |
| E2 | Electronically input, AES-256 OFB encrypted by the BKK using AES KTS (Cert. #AES 819) |
| E3 | Electronically input, AES-256 CFB-8 encrypted by the PEK using AES KTS (Cert. #AES 819) |
| E4 | Electronically input, AES-256 ECB encrypted by the EDK using AES KTS (Cert. #AES 819). |
| E5 | Electronically input using SP800-38F AES key transport on the KEK or TEK using AES KW (Cert. #AES 5358). |
| Z1 | Zeroized by program update service by overwriting with a fixed pattern of “0s”. |
| Z2 | Zeroized in RAM by module power cycle or hard reset by overwriting with a fixed pattern of “0s”. |
| Z3 | Zeroized by the “KVL Delete Key” service by overwriting with a fixed pattern of “0s”. |
| Z4 | Zeroized by the “Erase Crypto Module service by overwriting with a fixed pattern of “0s”. |
| Z5 | Zeroized by the “validate password” service by overwriting with a fixed pattern “0s”. |
| Z6 | Zeroized by the “change password” service by overwriting with a fixed pattern “0s”. |
| Z7 | Zeroized by the “module configuration” service by overwriting with a fixed pattern “0s”. |
| Z8 | Zeroized by the “OTEK” service by overwriting with a fixed pattern “0s”. |
| Z9 | Zeroized by the “KVL Transfer Keys” service by overwriting with a fixed pattern “0s”. |
The SSPs access methods are described in Table 13 below: Table 13
| Key/SSP | Zeroiza- tion | |||||||
|---|---|---|---|---|---|---|---|---|
| Strength | Security | Gener- | Import (I) | Establish- | ||||
| Name/ | Storage | Use/Related SSPs | ||||||
| Type CSPs | (in bits) | Function/Cert. | ation | /Export (E) | ment | |||
| DRBG- | Z2 | Externally generated, a minimum of 48 | ||||||
| EI/Seed | N/A | N/A | N/A | E4 | N/A | S1 | bytes are passively entered into the MACE by the CO. | |
| Z2 | CTR_DRBG internal state: V (128 bits) and | |||||||
| DRBG- | DRBG Cert. | |||||||
| 256 | G2 | N/A | N/A | S1 | Key (AES 256) and | |||
| State | #A2935 | derived from DRBG- EI/Seed | ||||||
| Z1, Z2 | A 256-bit AES CBC key used in the re- | |||||||
| IDK-ROM | 256 | AES CBC Cert. | G1 | N/A | N/A | S1, S2 | construction of IDK | |
| #AES 819 | per SP800-133r2 (Section 6.3 #2) via XOR using IDK Block. | |||||||
| Z1, Z2 | A 256-bit AES CBC key used in the re- | |||||||
| IDK-Block | 256 | AES CBC Cert. | G1 | E1 | N/A | S1, S2 | construction of IDK | |
| #AES 819 | per SP800-133r2 (Section 6.3 #2) via XOR using IDK-ROM. | |||||||
| AES CBC Cert. | Z1, Z2 | A 256-bit AES CBC key | ||||||
| IDK | 256 | #AES 819, RSA | G4 | N/A | N/A | S1, S2 | used to decrypt | |
| Cert. #A5253 | downloaded images. | |||||||
| Z1, Z2 | A 256-bit AES key | |||||||
| AES OFB Cert. | used for decrypting | |||||||
| BKK | 256 | #AES 819, | G1 | N/A | N/A | S1, S2 | the keys entered into | |
| RSA Cert. #A5253 | the MACE through KVL interface. | |||||||
| AES CBC Cert. | Z1, Z2 | A 256-bit AES key | ||||||
| #AES 819, AES ECB | used for decrypting | |||||||
| EDK | 256 | G1 | N/A | N/A | S1, S2 | |||
| Cert. #AES 819, | the external entropy | |||||||
| RSA Cert. #A5253 | seed | |||||||
| AES CFB-8 Cert. | Z1, Z2 | 256-bit AES CFB-8 key | ||||||
| PEK | 256 | #AES 819, RSA | G1 | N/A | N/A | S1, S2 | used for decrypting | |
| Cert. #A5253 | passwords. |
All SSPs (CSPs and PSPs) used by the ASTRO PDEG MACE are described in this section. All usage of these CSPs by the ASTRO PDEG MACE is described in the services detailed in 4.3. Table 14
| Key/SSP | ||||||||
|---|---|---|---|---|---|---|---|---|
| Strength | Security | Gener- | Import (I) | Establish- | Zeroiza- | |||
| Name/ | Storage | Use/Related SSPs | ||||||
| Type | (in bits) | Function/Cert. AES CFB-8 Cert. | ation | /Export (E) | ment | tion | 256-bit AES CFB-8 key | |
| KPK | 256 | #AES 819, DRBG | G3 | N/A | N/A | S1, S3 | Z2, Z4, | used to encrypt all |
| Cert. #A2935 AES CBC Cert | Z5, Z7 | TEKs and KEKs stored in the flash. | ||||||
| #AES819, AES | 256-bit AES Key used | |||||||
| UKKPK | 256 | CFB8 Cert | G1 | N/A | N/A | S1, S2 | Z1, Z2 | for encrypting the |
| #AES819, RSA Cert #A5253 | KPK in flash | |||||||
| KEK | 256 | AES KW Cert. #AES | N/A | E2, E5 | N/A | S1, S3 | Z2, Z3, | 256-bit AES Keys used |
| 5358, AES OFB | Z4, Z5, | for decrypting keys in | ||||||
| Cert. #AES 819 | Z7, Z8, Z9 | the OTEK service. | ||||||
| TEK | 256 | AES KW #AES | N/A | E2, E5 | N/A | S1, S3 | Z2, Z3, | 256-bit AES key used |
| 5358, AES OFB | Z4, Z5, | for data encryption. | ||||||
| Cert. #AES 819, AES GCM #AES 1295 | Z7, Z8, Z9 | 15-16-digit ASCII | ||||||
| CO | AES CFB-8 Cert. | Z2, Z5, | ||||||
| N/A | N/A | E3 | N/A | S1 | (printable) characters | |||
| Password | #AES 819 | Z6, Z7 | password. 10-digit hexadecimal | |||||
| User | AES CFB-8 Cert. | Z2, Z5, | number user | |||||
| N/A | N/A | E3 | N/A | S1 | ||||
| Password | #AES 819 | Z6, Z7 | authentication password. 256-bit password | |||||
| SHS [180] Cert. | Z2, Z5, | |||||||
| PWD Hash | 128 | G1 | N/A | N/A | S1, S2 | hash stored in the | ||
| PSPs | #SHS 817 | Z6, Z7 | non-volatile memory. FW Load: 2048-bit RSA key used to | |||||
| FW-LD- | AES CBC Cert. | validate the signature | ||||||
| Pub | 112 | #AES 819, RSA | G1 | N/A | N/A | S1, S2 | Z1, Z2 | of the firmware |
| Cert. #A5253 | image before it is allowed to be executed. |
Motorola Solutions Public Material – May be reproduced only in its original entirety (without revision).
| Entropy Sources | Minimum number of bits of entropy | Details | ||
|---|---|---|---|---|
| External | 384 bits of entropy | The entropy for seeding the SP 800-90A DRBG is determined by the host application using the Module and is outside of the module’s physical. 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. |
Table 15– Non-Deterministic Random Number Generation Specification Motorola Solutions Public Material – May be reproduced only in its original entirety (without revision).
| Error state | Description | Indicator | |
|---|---|---|---|
| ES1 | The ASTRO PDEG MACE fails a KAT. | The ASTRO PDEG MACE fails | The ASTRO PDEG MACE enters the critical error state and sets the |
| a KAT. | status alarm LED. In this state, the ASTRO PDEG 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 ASTRO PDEG MACE. | ||
| ES2 | The ASTRO PDEG MACE fails | The ASTRO PDEG MACE enters the firmware signature validation | |
| a firmware loading during | failure state and sets the status alarm LED. In this state, the ASTRO | ||
| program upgrade and/or | PDEG MACE halts all further operations by entering the flash | ||
| firmware integrity pre- | programming mode. The operator may correct the issue by power | ||
| operational self-test. | cycle and/or re-flashing a new image. |
| Security Function | Method | Description | Error state | ||
|---|---|---|---|---|---|
| Firmware integrity | Firmware | RSA (Cert. #A5253), SHA-256 (Cert. #SHS 817) | RSA (Cert. | A digital signature is generated over the Boot Block and Base | ES2 |
| integrity | #A5253), | firmware when it is built using SHA-256 (Cert. #SHS 817) and | |||
| SHA-256 | RSA-2048 (Cert. #A5253) and is stored with the code in the | ||||
| (Cert. #SHS | ASTRO PDEG MACE. When the ASTRO PDEG MACE is powered | ||||
| 817) | up, the digital signature is verified. If the digital signature matches, then the test passes, otherwise it fails. | ||||
| Bypass test | Upon power up, the MACE will verify that the method for verifying bypass conditionally is working. A temporary configuration will be set up, data will be passed into the testing mechanism and the expected result will be verified. If the expected result is not reported, the test fails. | ES1 |
The ASTRO PDEG MACE performs self-tests to ensure the proper operation. Per FIPS 140-3 these are categorized as either pre-operational self-tests or conditional self-tests. 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 16
| Security Function | Method | Description | Error state |
|---|---|---|---|
| AES – ECB (Cert. #AES 819) | KAT | AES-256 ECB encryption KAT – Inclusive to AES CBC and OFB testing with 256-bit key per IG 10.3.A. | ES1 |
| AES – ECB (Cert. #AES 819) | KAT | AES-256 ECB decryption KAT – Inclusive to AES CBC and OFB testing with 256-bit key per IG 10.3.A. | ES1 |
| AES – CFB8 (Cert. #AES 819) | KAT | AES-256 CFB-8 encryption KAT – Inclusive to AES-256 OFB testing with 256-bit key per IG 10.3.A. | ES1 |
| AES – CFB8 (Cert. #AES 819 | KAT | AES-256 CFB-8 decryption KAT – Inclusive to AES-256 OFB testing with 256-bit key per IG 10.3.A. | ES1 |
| AES – GCM (Cert. #AES 1295) | KAT | AES-256 GCM encryption and decryption KAT as per IG 10.3.A | ES1 |
| AES – GCM (Cert. #AES 1295) | KAT | AES-256 GCM encryption and decryption KAT as per IG 10.3.A | ES1 |
| AES KW (Cert. #AES 5358) | KAT | AES-256 key unwrap KAT. | ES1 |
| DRBG (Cert. # A2935) | KAT | AES-256 CTR_DRBG Health Tests (instantiation, generate, and reseed) KATs performed before the first random data generation. | ES1 |
| Firmware Load | RSA-2048 SigVer | A digital signature is generated over the code when it is built using SHA-256 (Cert. #SHS 817) and RSA-2048 (Cert. #A5253). The digital signature is verified upon download into the ASTRO PDEG MACE. | ES2 |
| RSA SigVer (Cert. #A5253) | KAT | RSA-2048 SigVer, performed before FW integrity tests. | ES2 |
| SHS 256-bit (Cert. #SHS 817) | KAT | SHA-256 KAT, performed before FW integrity tests. | ES2 |
| Bypass Test | All data shall be passed into the bypass validation functionality which will determine if it meets the requirements for bypass (matching IP addresses, etc.). If the data does not match a “data bypass rule”, it is either thrown out or encrypted (if an “encrypt” rule is satisfied). | ES1 | |
| Bypass Integrity Test | SHA-256 Hash | The IP source/destination addresses (table of associations) is stored with an associated hash value that is checked each time the table is accessed and updated with a new hash value when the table is modified by the authenticated CO via the Security Association Configuration service. | ES2 |
The MACE performs the following conditional self-tests: Table 18
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:
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.
Use radio specific user guide available on the www.motorolasolutions.com website for secure operations.
Use radio specific user guide available on the www.motorolasolutions.com website for secure operations.
The MACE does not require any special maintenance.
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).
The ASTRO PDEG MACE does not implement any mitigation method against other attacks. Motorola Solutions Public Material – May be reproduced only in its original entirety (without revision).
| Abbreviation | Full Specification Name |
|---|---|
| [FIPS140-3] | Security Requirements for Cryptographic Modules, March 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, October 7, 2022. |
| [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-5, February 2023. |
| [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 |
| [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 |
The following standards are referred to in this Security Policy. Table 19
| Acronym | Definition |
|---|---|
| AES | Advanced Encryption Standard |
| BKK | Black Keyloading Key |
| CBC | Cipher Block Chaining |
| CFB | Cipher Feedback |
| CKG | Cryptographic Key Generation |
| CSP | Critical Security Parameter |
| DRBG | Deterministic Random Bit Generator |
| DRBG-El | DRBG Entropy Input |
| ECB | Electronic Code Book |
| EDK | Entropy Decryption Key |
| FIPS | Federal Information Processing Standards |
| FW | Firmware |
| FW-LD-Pub | Firmware Load Public Key |
| GCM | Galois/Counter Mode |
| HSM | Hardware Security Module |
| IC | Integrated Circuit |
| IDK | Image Decryption Key |
| IV | Initialization Vector |
| KAT | Known Answer Test |
| KPK | Key Protection Key |
| KEK | Key Encryption Key |
| KVL | Key Variable Loader |
| MAC | Message Authentication Code |
| MACE | Motorola Advanced Crypto Engine |
| OFB | Output Feedback |
| OTAR | Over The Air Rekeying |
| PDEG | Packet Data Encryption Gateway |
| PEK | Password Encryption Key |
| PWD Hash | Password Hash |
| RSA | Rivest–Shamir–Adleman |
| SSI | Synchronous Serial Interface |
| SSP | Sensitive Security Parameter |
| TEK | Traffic Encryption Key |
| UA | Unauthenticated Service |
| UKKPK | Universal Key for Key Protection Key |
Table 20