| Standard | FIPS 140-3 |
|---|---|
| Overall level | 1 |
| Module type | Software-hybrid |
| Embodiment | Multi-Chip Stand Alone |
| Status | Active |
| Sunset date | 11/6/2029 |
| Caveat | Interim validation. When operated in approved mode. No assurance of the minimum strength of generated SSPs (e.g. keys). |
| Vendor | Motorola Solutions, Inc. |
| Hardware versions | Intel Core i7-8700 (6 core), Intel i5-12600 |
| Algorithm | ACVP Cert |
|---|---|
| AES-CBC | A3497 |
| AES-ECB | A3497 |
| AES-GCM | A3497 |
| AES-KW | A3497 |
| AES-OFB | A3497 |
| Counter DRBG | A3497 |
| ECDSA KeyGen (FIPS186-4) | A3497 |
| ECDSA SigGen (FIPS186-4) | A3497 |
| ECDSA SigVer (FIPS186-4) | A3497 |
| HMAC-SHA2-256 | A3497 |
| HMAC-SHA2-384 | A3497 |
| HMAC-SHA2-512 | A3497 |
| KAS-ECC Sp800-56Ar3 | A3497 |
| PBKDF | A3497 |
| SHA2-256 | A3497 |
| SHA2-384 | A3497 |
| SHA2-512 | A3497 |
| Requirement area | Level |
|---|---|
| Self-Tests | 1 |
flowchart LR
%% Deterministic review-risk graph for Motorola Solutions Cryptographic Software Module
%% Review prompts and evidence gaps, NOT vulnerability findings.
subgraph CMVP["CMVP-disclosed clues"]
C3["[high] Unauthenticated /<br/>self-test / status service<br/>surface<br/><i>Self-Test</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<br/>application</i>"]
end
subgraph Inference["Derived inference"]
I3["Some services may process<br/>input 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"]
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"]
E3["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
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 C3,C5,C6 clue;
class I3,I5,I6 infer;
class R3,R5,R6 risk;
class E3,E5,E6 evidence;flowchart LR
%% Deterministic clue tier for Motorola Solutions Cryptographic Software Module
%% confidence: high = structured record field; medium = structured but soft; low (dashed) = bare keyword hit, context unverified
subgraph CMVP["CMVP-disclosed clues (deterministic)"]
C3["[high] Unauthenticated / self-test / status service surface<br/><i>Self-Test</i><br/>src: securityPolicy.services"]
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<br/>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 C3 clueHigh;
class C5,C6 clueLow;Motorola Solutions Cryptographic Software Module Software Version: R01.15.00 Running on Intel Core i7-8700 or Intel i5-12600 Document Version: 1.0 Date: October 16, 2024 Prepared by: www.acumensecurity.net Motorola Solutions, Inc. © 2024 Version 1.0 Public Material – May be reproduced only in its original entirety (without revision).
Introduction Federal Information Processing Standards Publication 140-3
| # | Section | Page |
|---|---|---|
| Introduction | 2 | |
| Disclaimer | 2 | |
| Notices | 2 | |
| 1 | General | 4 |
| 2 | Cryptographic Module Specification | 5 |
| 2.1 | Modes of Operation | 6 |
| 2.2 | Cryptographic Functionality | 6 |
| 2.3 | Module Description and Cryptographic Boundary | 8 |
| 2.4 | Security Rules and Guidance | 9 |
| 3 | Cryptographic Module Interfaces | 9 |
| 4 | Roles, Services, and Authentication | 10 |
| 5 | Software/Firmware Security | 14 |
| 6 | Operational Environment | 14 |
| 7 | Physical Security | 14 |
| 8 | Non-invasive Security | 14 |
| 9 | Sensitive Security Parameter Management | 15 |
| 10 | Self-Tests | 18 |
| 10.1 | Automatic Self-Test | 18 |
| 10.2 | User Initiated Self-test | 18 |
| 11 | Life-cycle Assurance | 19 |
| 12 | Mitigation of Other Attacks | 19 |
| References and Definitions | 20 |
| Name | ISO Section | Requirement | Level |
|---|---|---|---|
| 1 | 1 | General | 1 |
| 2 | 2 | Cryptographic module specification | 1 |
| 3 | 3 | Cryptographic module interfaces | 1 |
| 4 | 4 | Roles, services, and authentication | 1 |
| 5 | 5 | Software/Firmware security | 1 |
| 6 | 6 | Operational environment | 1 |
| 7 | 7 | Physical security | 1 |
| 8 | 8 | Non-invasive security | N/A |
| 9 | 9 | Sensitive security parameter management | 1 |
| 10 | 10 | Self-tests | 1 |
| 11 | 11 | Life-cycle assurance | 1 |
| 12 | 12 | Mitigation of other attacks | N/A |
1. This document defines the cryptographic module security policy for the Motorola Solutions Cryptographic Software Module (Software version: R01.15.00 running on Intel Core i7-8700 or Intel i5-12600), also referred to as the “module” hereafter. It contains specification of the security rules, under which the cryptographic module operates, including the security rules derived from the requirements of the FIPS 140-3 standard. The module is a software-hybrid based cryptographic module that runs on a general-purpose computing platform that supports processor algorithm acceleration. The module is classified as a multi-chip standalone module embodiment. The module provides approved cryptographic functionalities via an Application Programming Interface (API) to the application layer. The following table lists the level of validation for each area in FIPS 140-3: N/A N/A Table 1
| Name | Operating System | Hardware Platform | Processor | Paa Pai | # | ||
|---|---|---|---|---|---|---|---|
| 1 | Windows 10 Enterprise | Motorola Command Central HUB | Intel Core i7- 8700 (6 core) | Yes | 1 | ||
| 2 | Windows 10 Enterprise | HP Z2 Mini G9 Workstation | Intel i5-12600 | Yes | 2 | ||
| 1 | Microsoft Windows 7 and 10 Professional | 1 | HP ZBook 15 G3 Mobile Workstation, Intel Core i7 with AES-NI | ||||
| 2 | Red Hat OpenShift 3 on Red Hat UBI 7 | 2 | HP DL20 Gen10 server, Intel(R) Xeon(R) E-2236 CPU with AES-NI | ||||
| 3 | Red Hat OpenShift 4 on Red Hat UBI 8 | 3 | HP DL160 Gen 10 Server, Intel(R) Xeon(R)-S 4215R CPU with AES-NI | ||||
| 4 | Red Hat OpenShift 4 on Red Hat UBI 8 | 4 | HPE ProLiant DL20 Gen10 server, Intel(R) Xeon(R) E-2236 CPU with AES-NI | ||||
| 5 | Microsoft Windows 10 IoT Enterprise LTSB 2016 64bit | 5 | HP ZBook 15u G4 Mobile Workstation, Intel® Core i7 CPU with AES-NI | ||||
| 6 | Microsoft Windows 10 IoT Enterprise LTSC 2019 64bit | HP ZBook 15u G5 Mobile | 6 | ||||
| 7 | Microsoft Windows 10 IoT Enterprise LTSC 2019 64bit | HP ZBook 15u G6 Mobile | 7 | ||||
| 8 | Microsoft Windows 10 IoT Enterprise LTSC 2019 64bit | HP ZBook Fury 15 G7 Mobile | 8 | ||||
| 9 | Microsoft Windows 10 IoT Enterprise LTSB 2016 64bit | HP Z440 Workstation, Intel | 9 | HP Z440 Workstation, Intel Xeon E5-1603v3 CPU with AES- NI |
| Name | Operating System | Hardware Platform | Processor | Paa Pai | # | ||
|---|---|---|---|---|---|---|---|
| 1 | Windows 10 Enterprise | Motorola Command Central HUB | Intel Core i7- 8700 (6 core) | Yes | 1 | ||
| 2 | Windows 10 Enterprise | HP Z2 Mini G9 Workstation | Intel i5-12600 | Yes | 2 | ||
| 1 | Microsoft Windows 7 and 10 Professional | 1 | HP ZBook 15 G3 Mobile Workstation, Intel Core i7 with AES-NI | ||||
| 2 | Red Hat OpenShift 3 on Red Hat UBI 7 | 2 | HP DL20 Gen10 server, Intel(R) Xeon(R) E-2236 CPU with AES-NI | ||||
| 3 | Red Hat OpenShift 4 on Red Hat UBI 8 | 3 | HP DL160 Gen 10 Server, Intel(R) Xeon(R)-S 4215R CPU with AES-NI | ||||
| 4 | Red Hat OpenShift 4 on Red Hat UBI 8 | 4 | HPE ProLiant DL20 Gen10 server, Intel(R) Xeon(R) E-2236 CPU with AES-NI | ||||
| 5 | Microsoft Windows 10 IoT Enterprise LTSB 2016 64bit | 5 | HP ZBook 15u G4 Mobile Workstation, Intel® Core i7 CPU with AES-NI | ||||
| 6 | Microsoft Windows 10 IoT Enterprise LTSC 2019 64bit | HP ZBook 15u G5 Mobile | 6 | ||||
| 7 | Microsoft Windows 10 IoT Enterprise LTSC 2019 64bit | HP ZBook 15u G6 Mobile | 7 | ||||
| 8 | Microsoft Windows 10 IoT Enterprise LTSC 2019 64bit | HP ZBook Fury 15 G7 Mobile | 8 | ||||
| 9 | Microsoft Windows 10 IoT Enterprise LTSB 2016 64bit | HP Z440 Workstation, Intel | 9 | HP Z440 Workstation, Intel Xeon E5-1603v3 CPU with AES- NI |
Windows
| Name | Operating System | Hardware Platform | ||
|---|---|---|---|---|
| 10 | Microsoft Windows 10 IoT Enterprise LTSC 2019 64bit | HP Z440 Workstation, Intel | 10 | HP Z440 Workstation, Intel Xeon E5-1603v3 CPU with AES- NI |
| 11 | Microsoft Windows 10 IoT Enterprise LTSB 2016 64bit | 11 | HP Z2 Mini G3 Workstation, Intel Xeon E3-1225v5 CPU with AES-NI | |
| 12 | Microsoft Windows 10 IoT Enterprise LTSC 2019 64bit | 12 | HP Z2 Mini G4 Workstation, Intel Xeon E-2144G CPU with AES-NI | |
| 13 | Microsoft Windows 10 IoT Enterprise LTSC 2019 64bit | 13 | HP Z2 Mini G5 Workstation, Intel Xeon W-1250 CPU with AES-NI | |
| 14 | Microsoft Windows 10 IoT Enterprise LTSC 2021 | HP ZBook Fury G10, Intel Core i9 | 14 |
| Name | CAVP Cert | Mode Method | Key Size | Use Function |
|---|---|---|---|---|
| AES [FIPS 197] | A3497 | ECB [SP 800-38A] | Key Size: 256 | Encrypt, Decrypt |
| CBC [SP 800-38A] | CBC [SP 800-38A] | Key Size: 256 | Encrypt, Decrypt | |
| OFB [SP 800-38A] | OFB [SP 800-38A] | Key Size: 256 | Encrypt, Decrypt | |
| GCM [SP 800- 38D]1 | GCM [SP 800- 38D]1 | Key Size: 256 | Encrypt, Decrypt | |
| KW [SP 800-38F] | KW [SP 800-38F] | Key Size: 256 | Encrypt, Decrypt |
Windows
# Table 3
| Name | CAVP Cert | Mode Method | Use Function | Description | |
|---|---|---|---|---|---|
| DRBG [SP800- 90Ar1] | CTR | Deterministic Random Bit Generation | AES-256 | ||
| ECDSA [FIPS 186- 4] | Key Generation/Signature Generation/Signature Verification | P-384 | |||
| HMAC [FIPS 198- 1] | HMAC-SHA2-256 HMAC-SHA2-384 HMAC-SHA2-512 | Message authentication, Code Integrity tests | 128-1024 bits 192-1024 bits 256-1024 bits | ||
| KAS-ECC [SP 800- 56Ar3] | Key Establishment provides 192 bits of encryption strength per IG D.F Scenario 2 path (2) | P-384 with SHA2- 256 | ECC (Initiator, | ||
| KTS [IG D.G] | AES-KW | Key Wrap provides 256 bits of encryption strength | Key Sizes: 256 | ||
| KTS [IG D.G] | GCM | Key Wrap provides 256 bits of encryption strength | Key Sizes: 256 | ||
| PBKDF [SP 800- 132] | Option 1a Option 2a (using HMAC) | Password-Based Key Derivation | sLen = 16 – 512 bytes C = 1 – 50000 SHA2-256 SHA2-384 SHA2-512 | ||
| SHS [FIPS 180-4] | SHA2-256 SHA2-384 SHA2-512 | Message Digest Generation | N/A | ||
| CKG | Vendor Affirmed | CTR_DRBG | Asymmetric key seed and symmetric key generation in accordance with SP 800-133rev2 sections | N/A |
DRBG [SP80090Ar1] N/A N/A Motorola Solutions, Inc. © 2024 Version 1.0 Public Material – May be reproduced only in its original entirety (without revision).
| Name | CAVP Cert | Use Function | Description |
|---|---|---|---|
| AES MAC3 | AES MAC3 | [IG D.C] AES MAC for Project 25 APCO OTAR (Cert. #A3497) | |
| ADP | ADP Encryption/Decryption – Motorola Solutions proprietary algorithm | ||
| DES | DES Encryption/Decryption – ECB, OFB and CBC Mode |
| Name | CAVP Cert | Use Function | Description |
|---|---|---|---|
| AES MAC3 | AES MAC3 | [IG D.C] AES MAC for Project 25 APCO OTAR (Cert. #A3497) | |
| ADP | ADP Encryption/Decryption – Motorola Solutions proprietary algorithm | ||
| DES | DES Encryption/Decryption – ECB, OFB and CBC Mode |
Table 4
Logical Perimeter PAA Figure 1 – Logical cryptographic boundary and physical boundary 2.4 Security Rules and Guidance The module enforces the following security rules:
| Name | Physical Port | Logical Interface | |
|---|---|---|---|
| N/A: Internal (call stack) | Control input | API entry point and corresponding stack parameters | N/A: Internal (call stack) |
| Data input | Data input | API entry point data input stack parameters | |
| Status output | Status output | API entry point return values and status stack parameters | |
| Data output | Data output | API entry point data output stack parameters |
| Name | Description | Roles | Csps Accessed | Approved Functions | Access | Indicator | Input | Output |
|---|---|---|---|---|---|---|---|---|
| Self-Test | CO | Power-up/Run Self-Test command | Status: Success/Error | |||||
| Load Entropy | CO | Entropy Input String | N/A | |||||
| Get Module Status | CO | Get module status command | Module initialization status, Approved mode status, AES acceleration status | |||||
| Get Module Version | CO | Get module version command | “libALG Library R01.15.00 – Copyright 2022 Motorola Solutions, Inc.” | |||||
| Configure Approved Mode | CO | Approved mode enabled/Approved mode disabled | Enable/Disable | |||||
| Utility | CO | Module query for algorithm/key status | Algorithm/key status information | |||||
| Encrypt | CO | Encryption key, plaintext | Ciphertext or error status | |||||
| Decrypt | CO | Decryption key, ciphertext | Plaintext of error status | |||||
| AES Key Wrapping | CO | Encryption key, input data | Wrapped key | |||||
| AES Key Unwrapping | CO | Decryption key, input data | Unwrapped data | |||||
| Generate OTAR MAC | CO | Input data | MAC Key | |||||
| DRBG | CO | Entropy input data | Pseudo-random number | |||||
| Hashing | CO | Hash algorithm, input data | Hashed output | |||||
| HMAC-SHA | CO | Hash Key, input data | digest | |||||
| Zeroize | CO | N/A | N/A | |||||
| PBKDF | CO | Password, iteration count, salt, hash algorithm | Derived key | |||||
| ECDSA Key Generation | CO | Private key or SP 800-90Ar1 Seed | Private key/Public key | |||||
| ECDSA Sig Generation | CO | Private key, digest | signature | |||||
| ECDSA Sig Verification | CO | Signature, digest, Public Key | Status: Success/Error | |||||
| KAS-ECC | CO | Private key, Public Key of Remote Party (Host B) | ECDH Shared Secret/KDF Derived Key | |||||
| Self-Test | Perform all pre- operational CASTs prior to module initialization via module restart/Perform all the conditional CASTs prior to first use of that service operation or on demand via Self- test API call | CO | N/A | N/A | N/A | ”fips_mode = 1” | ||
| Load Entropy | Load external entropy to seed the DRBG | CO | Entropy Input string | N/A | W,E,Z | ”fips_mode = 1” | ||
| Get Module Status | Show the module status | CO | N/A | N/A | N/A | ”fips_mode = 1” | ||
| Get Module Version | Get module version number | CO | N/A | N/A | N/A | ”fips_mode = 1” |
Table 7
| Name | Description | Roles | Csps Accessed | Approved Functions | Access | Indicator | Input | Output |
|---|---|---|---|---|---|---|---|---|
| PBKDF | CO | Password, iteration count, salt, hash algorithm | Derived key | |||||
| ECDSA Key Generation | CO | Private key or SP 800-90Ar1 Seed | Private key/Public key | |||||
| ECDSA Sig Generation | CO | Private key, digest | signature | |||||
| ECDSA Sig Verification | CO | Signature, digest, Public Key | Status: Success/Error | |||||
| KAS-ECC | CO | Private key, Public Key of Remote Party (Host B) | ECDH Shared Secret/KDF Derived Key | |||||
| Self-Test | Perform all pre- operational CASTs prior to module initialization via module restart/Perform all the conditional CASTs prior to first use of that service operation or on demand via Self- test API call | CO | N/A | N/A | N/A | ”fips_mode = 1” | ||
| Load Entropy | Load external entropy to seed the DRBG | CO | Entropy Input string | N/A | W,E,Z | ”fips_mode = 1” | ||
| Get Module Status | Show the module status | CO | N/A | N/A | N/A | ”fips_mode = 1” | ||
| Get Module Version | Get module version number | CO | N/A | N/A | N/A | ”fips_mode = 1” | ||
| Configure Approved Mode | Set/Unset module to Approved mode | CO | N/A | N/A | N/A | ”fips_mode = 1” | ||
| Utility | Key check and other services | CO | N/A | N/A | N/A | ”fips_mode = 1” | ||
| Encrypt | Encryption of voice and data | CO | AES-256 Key | AES (OFB, CBC, ECB, GCM) Cert #A3497 | W,E,Z | ”fips_mode = 1” | ||
| Decrypt | Decryption of voice and data | CO | AES-256 Key | AES (OFB, CBC, ECB, GCM) Cert #A3497 | W,E,Z | ”fips_mode = 1” | ||
| AES Key Wrapping | Used for the encryption of keys | CO | AES-256 Key Wrap Key | KTS (AES- KW or AES-GCM) Cert #A3497 | W,E,Z | ”fips_mode = 1” | ||
| AES Key Unwrapping | Used for the decryption of keys | CO | AES-256 Key Wrap Key | KTS (AES- KW or AES-GCM) Cert #A3497 | W,E,Z | ”fips_mode = 1” | ||
| Generate OTAR MAC | Used to generate MAC (Message Authentication Code) as defined in [OTAR] | CO | OTAR MAC Key | AES MAC (CBC) Cert #A3497 | W,E,Z | ”fips_mode = 1” | ||
| DRBG | Used for random number, IV and key generation using DRBG [SP 800-90Ar1] | CO | Entropy Input string, SP 800-90Ar1 Seed, SP 800-90Ar1 Internal State (“V” and “Key”) | DRBG (output directly used for CKG) CKG Cert #A3497 | G,W,R | ”fips_mode = 1” | ||
| Hashing | Used to generate SHA2- | CO | N/A | SHS | N/A | ”fips_mode = 1” | ||
| 256/384/512 message digest | 256/384/512 message digest | Cert #A3497 | ||||||
| HMAC-SHA | Used to calculate data integrity codes with HMAC | CO | Keyed Hash Key | HMAC Cert #A3497 | W,E | ”fips_mode = 1” | ||
| Zeroize4 | Zeroize all SSPs | CO | All | N/A | Z | ”fips_mode = 1” | ||
| PBKDF5 | Used to generate keys using PBKDF [SP 800-132] | CO | PBKDF Secret Value DPK | PBKDF Cert #A3497 | W,E | ”fips_mode = 1” | ||
| ECDSA Key Generation | Used for generating asymmetric key pair | CO | ECDSA Private Key, ECDSA Public Key | ECDSA, CKG Cert #A3497 | R,G | ”fips_mode = 1” | ||
| ECDSA Signature Generation | Used to generate a digital signature | CO | ECDSA Private Key | ECDSA Cert #A3497 | R,E | ”fips_mode = 1” | ||
| ECDSA Signature Verification | Used to verify a digital signature | CO | ECDSA Public Key | ECDSA Cert #A3497 | R,E | ”fips_mode = 1” | ||
| KAS-ECC | Used for key agreement process using ECDH | CO | ECDH Shared Secret, KDF Derived Key, ECDH Private Key, ECDH Public Key, ECDH Remote Party Public Key | KAS-ECC, CKG Cert #A3497 | W,G,E,R | ”fips_mode = 1” |
The SSPs modes of access shown in Table 9, are defined as:
N/A N/A N/A N/A N/A N/A W,E,Z W,E,Z W,E,Z W,E,Z W,E,Z N/A G,W,R N/A Motorola Solutions, Inc. © 2024 Version 1.0 Public Material – May be reproduced only in its original entirety (without revision).
W,E N/A Z W,E R,G R,E R,E W,G,E,R Table 9
| Name | Description | Roles | Approved Functions | Indicator |
|---|---|---|---|---|
| Encrypt | Encryption of voice and data | CO | ADP | ”fips_mode = 0” |
| Decrypt | Decryption of voice and data | CO | ADP | ”fips_mode = 0” |
| Encrypt | Encryption of voice and data | CO | DES | ”fips_mode = 0” |
| Decrypt | Decryption of voice and data | CO | DES | ”fips_mode = 0” |
Table 10 – Non-Approved Services
| Name | Key Size | Use Function | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| P S S / y e K | P S S / y e K | e p y T / e m a N | h t g n e r t S | y t ir u c e S | d n a n o it c n u F | r e b m u N .t r e C | n o it a r e n e G | t r o p x E / t r o p m I | t n e m h s ilb a t s E | e g a r o t S | n o it a s io r e Z | d e t a le r & e s U | s y e k | |||||||||
| N/A | Variable (384-bit minimu m) | Used to derived SP 800-90Ar1 seed | Entropy Input string | External | Import (electr onic) | Input via API in plaintext | Volatile memory (plainte xt) | Power cycle/Reset | ||||||||||||||
| DRBG (#A3497) | 384-bit | Derived from the Entropy Input string. Used in AES IV, ECDSA Private Key, ECDSA Public Key, ECDH Private Key generation, ECDH Public Key generation | SP 800- 90Ar1 Seed | Internal | N/A | N/A | Volatile memory (plainte xt) | Power Cycle/Reset | ||||||||||||||
| DRBG (#A3497) | N/A | CTR_DRBG state | SP 800- 90Ar1 Internal State (“V” and “Key”) | Internal | N/A | N/A | Volatile memory (plainte xt) | Power Cycle/Reset | ||||||||||||||
| HMAC, SHS(#A3 497) | Variable (192-bit minimu m) | Used in HMAC function | Keyed Hash Key | External | Import (electr onic) | Input via API in plaintext | Volatile memory (plainte xt) | Power Cycle/Reset | ||||||||||||||
| AES ECB, CBC, OFB, GCM (#A3497) | 256-bit | Used in data encryption / decryption | AES-256 Key | External | Import (electr onic) | Input via API in plaintext | Volatile memory (plainte xt) | Power Cycle/Reset /End of data processing | ||||||||||||||
| AES KW, AES GCM (#A3497) | 256-bit | Used in key encryption / | AES-256 Key | External | Import (electr onic) | Input via API in plaintext | Volatile memory | Power Cycle/Reset | ||||||||||||||
| P S S / y e K | P S S / y e K | e p y T / e m a N | h t g n e r t S | y t ir u c e S | d n a n o it c n u F | r e b m u N .t r e C | n o it a r e n e G | t r o p x E / t r o p m I | t n e m h s ilb a t s E | e g a r o t S | n o it a s io r e Z | d e t a le r & e s U | s y e k | |||||||||
| Wrap Key | decryption | Wrap Key | (plainte xt) | /End of data processing | ||||||||||||||||||
| PBKDF (#A3497) CKG | Variable (64-bit minimu m) | Used in Key Derivation | PBKDF Secret Value | External 6 | Import (electr onic) | Input via API in plaintext | Volatile memory (plainte xt) | Power Cycle/Reset | ||||||||||||||
| PBKDF (#A3497) | 128-bit minimu m | Derived by the PBKDF using the PBKDF Secret Value | DPK | Internal | Export (electr onic) | Internally computed | Volatile memory (plainte xt) | Power Cycle/Reset | ||||||||||||||
| AES MAC | 256-bit | Used for AES MAC | OTAR MAC Key | External | Import (electr onic) | Input via API in plaintext | Volatile memory (plainte xt) | Power Cycle/Reset | ||||||||||||||
| KAS-ECC (#A3497) CKG | 192-bit | Used to generate ECDH Public Key | ECDH Private Key | External or Internal | Import (electr onic) | Input via API in plaintext | Volatile memory (plainte xt) | Power Cycle/Reset | ||||||||||||||
| KAS-ECC (#A3497) CKG | 192-bit | Used to generate KDF derived key | ECDH Shared Secret | Internal | Export (electr onic) | Internally computed | Volatile memory (plainte xt) | Power Cycle/Reset | ||||||||||||||
| ECDSA (#A3497) CKG | 192-bit | Used to create digital signature | ECDSA Private Key | External or Internal | Import or Export (electr onic) | Input via API in plaintext | Volatile memory (plainte xt) | Power Cycle/Reset | ||||||||||||||
| KAS-ECC (#A3497) CKG | Variable (128-bit minimu m) | Used in KAS-ECC | KDF Derived Key | Internal | Export (electr onic) | Internally computed | Volatile memory (plainte xt) | Power Cycle/Reset | ||||||||||||||
| KAS-ECC (#A3497) CKG | 192-bit | Used in key exchange | ECDH Public Key | Internal | Export (electr onic) | Internally computed | Volatile memory (plainte xt) | Power Cycle/Reset | ||||||||||||||
| P S S / y e K | P S S / y e K | e p y T / e m a N | h t g n e r t S | y t ir u c e S | d n a n o it c n u F | r e b m u N .t r e C | n o it a r e n e G | t r o p x E / t r o p m I | t n e m h s ilb a t s E | e g a r o t S | n o it a s io r e Z | d e t a le r & e s U | s y e k | |||||||||
| KAS-ECC (#A3497) | 192-bit | Used in key exchange | ECDH Remote Party Public Key | External | Import (electr onic) | Input via API in plaintext | Volatile memory (plainte xt) | Power Cycle/Reset | ||||||||||||||
| ECDSA (#A3497) CKG | 192-bit | Used for ECDSA | ECDSA Public Key | Internal | Export( electro nic) | Internally computed | Volatile memory (plainte xt) | Power Cycle/Reset | ||||||||||||||
| Entropy sources | Minimum number of bits of | Entropy sources | Details | |||||||||||||||||||
| 384 (minimum seed length for AES-256 CTR_DRBG) | Entropy Input String | The entropy for seeding the SP 800-90Ar1 DRBG is determined by the user operator of the module which is outside of the module’s cryptographic boundary. To be compliant, the target application shall supply at least 384 bits of entropy in order to meet the security strength required for the random number generation mechanism as shown in [SP 800-90Ar1] Table 3 (CTR_DRBG) and set required bits into the module by calling module defined API function. Since entropy is loaded passively into the module, there is no assurance of the minimum strength of generated SSPs (e.g. keys). |
m) N/A N/A N/A Use & related keys Zeroisation N/A Storage Establishment Import/Export SP 80090Ar1 m) Security Cert. Number Strength Sensitive Security Parameter Management Key/SSP Name/Type 9. N/A / / Motorola Solutions, Inc. © 2024 Version 1.0 Public Material – May be reproduced only in its original entirety (without revision).
m) Use & related keys Zeroisation m) m Storage Establishment Generation Security Function and Cert. Number Strength Key/SSP Name/Type Password generated externally. Salt may be generated externally or internally according to SP 800-133. Motorola Solutions, Inc. © 2024 Version 1.0 Public Material – May be reproduced only in its original entirety (without revision).
| Name | Key Size | Use Function | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| P S S / y e K | P S S / y e K | e p y T / e m a N | h t g n e r t S | y t ir u c e S | d n a n o it c n u F | r e b m u N .t r e C | n o it a r e n e G | t r o p x E / t r o p m I | t n e m h s ilb a t s E | e g a r o t S | n o it a s io r e Z | d e t a le r & e s U | s y e k | |||||||||
| KAS-ECC (#A3497) | 192-bit | Used in key exchange | ECDH Remote Party Public Key | External | Import (electr onic) | Input via API in plaintext | Volatile memory (plainte xt) | Power Cycle/Reset | ||||||||||||||
| ECDSA (#A3497) CKG | 192-bit | Used for ECDSA | ECDSA Public Key | Internal | Export( electro nic) | Internally computed | Volatile memory (plainte xt) | Power Cycle/Reset | ||||||||||||||
| Entropy sources | Minimum number of bits of | Entropy sources | Details | |||||||||||||||||||
| 384 (minimum seed length for AES-256 CTR_DRBG) | Entropy Input String | The entropy for seeding the SP 800-90Ar1 DRBG is determined by the user operator of the module which is outside of the module’s cryptographic boundary. To be compliant, the target application shall supply at least 384 bits of entropy in order to meet the security strength required for the random number generation mechanism as shown in [SP 800-90Ar1] Table 3 (CTR_DRBG) and set required bits into the module by calling module defined API function. Since entropy is loaded passively into the module, there is no assurance of the minimum strength of generated SSPs (e.g. keys). |
Establishment Zeroisation Use & related Storage Cert. Number Key/SSP Name/Type Table 12
The module automatically performs pre-operational self-tests and conditional cryptographic algorithm self-tests. Automatic pre-operational self-tests are initiated upon module power-up and must pass in order for the module to initialize and render any security services. A failure of any pre-operational selftest will prevent the module from initializing. Automatic conditional cryptographic algorithm self-tests (CAST) will run prior to the first use of a security service using an approved cryptographic algorithm after module initialization. Failure of a conditional CAST will cause the module to enter a critical error state whereby no cryptographic services will be rendered by the module. A) Pre-Operational Self-Tests o Software integrity test: HMAC-SHA2-384 (HMAC-SHA2-384 CAST done prior to integrity test) B) Conditional Self-Tests
Conditional self-tests can be user initiated by calling the “Self-Test” service via the LIBALG_API_Run_Self_Tests() API. User initiated self-tests via the API can only be invoked after the module has initialized. When initiating self-test via API call, the following tests are performed:
• • • • • • • • • • • • • • • • • • HMAC-SHA2-384 CAST AES ECB Encrypt CAST (256-bit key) AES ECB Decrypt CAST (256-bit key) AES CBC Encrypt CAST (256-bit key) AES CBC Decrypt CAST (256-bit key) AES OFB Encrypt CAST (256-bit key) AES OFB Decrypt CAST (256-bit key) AES GCM Encrypt CAST (256-bit key) AES GCM Decrypt CAST (256-bit key) CTR_DRBG [SP 800-90Ar1] CAST (Instantiate, Generate, and Reseed) AES-KW [SP 800-38F] Wrap CAST AES-KW [SP 800-38F] Unwrap CAST KAS ECC [SP 800-56ar3] CAST KDF [SP 800-56Arev3] CAST (SHA2-256, SHA2-384, SHA2-512) PBKDF [SP 800-132] CAST (128-bit key, 128-bit salt, 2 iterations) ECDSA Key Gen PCT (384-bit private key, 384-bit public key) ECDSA Signature Generation CAST ECDSA Signature Validation CAST Failure of any of the self-test initiated by calling the “Self-Test” service via the API will render the module inoperable.
| Name | Term | Definition | Abbreviation | Full Specification Name |
|---|---|---|---|---|
| [FIPS 140-3] | [FIPS 140-3] | Security Requirements for Cryptographic Modules, March 2019 | ||
| [IG] | [IG] | Implementation Guidance for FIPS PUB 140-3 and the Cryptographic Module Validation Program, November 2021. | ||
| [SP 800-132] | [SP 800-132] | NIST Special Publication 800-132, Recommendation for Password-Based Key Derivation, Part 1: Storage Applications, December 2010 | ||
| [FIPS 186-4] | [FIPS 186-4] | National Institute of Standards and Technology, Digital Signature Standard (DSS), Federal Information Processing Standards Publication 186-4, July 2013. | ||
| [FIPS 197] | [FIPS 197] | National Institute of Standards and Technology, Advanced Encryption Standard (AES), Federal Information Processing Standards Publication 197, November 2001 | ||
| [FIPS 198-1] | [FIPS 198-1] | National Institute of Standards and Technology, The Keyed-Hash Message Authentication Code (HMAC), Federal Information Processing Standards Publication 198-1, July 2008 | ||
| [FIPS 180-4] | [FIPS 180-4] | National Institute of Standards and Technology, Secure Hash Standard, Federal Information Processing Standards Publication 180-4, August 2015 | ||
| [SP 800-38A] | [SP 800-38A] | National Institute of Standards and Technology, Recommendation for Block Cipher Modes of Operation, Methods and Techniques, Special Publication 800-38A, December 2001 | ||
| [SP 800-38D] | [SP 800-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 | ||
| [SP 800-38F] | [SP 800-38F] | National Institute of Standards and Technology, Recommendation for Block Cipher Modes of Operation: Methods for Key Wrapping, Special Publication 800-38F, December 2012 | ||
| [SP 800-56Ar3] | [SP 800-56Ar3] | NIST Special Publication 800-56A Revision 3, Recommendation for Pair-Wise Key Establishment Schemes Using Discrete Logarithm Cryptography, April 2018 | ||
| [SP 800-56Cr2] | [SP 800-56Cr2] | NIST Special Publication 800-56C Revision 2, Recommendation for Pair-Wise Key Establishment Schemes Using Discrete Logarithm Cryptography, August 2020 | ||
| [SP 800-90Ar1] | [SP 800-90Ar1] | 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] | [OTAR] | Project 25 – Digital Radio Over-The-Air-Rekeying (OTAR) Messages and Procedures [TIA-102.AACA-A], September 2014 | ||
| Acronym | Acronym | Definition | ||
| ADP | ADP | Advanced Digital Privacy | ||
| AES | AES | Advanced Encryption Standard | ||
| APCO | APCO | Association of Public-Safety Communications Officials | ||
| CBC | CBC | Cipher Block Chaining | ||
| CKG | CKG | Cryptographic Key Generation | ||
| DRBG | DRBG | Deterministic Random Bit Generator | ||
| Acronym | Acronym | Definition | ||
| ECB | ECB | Electronic Code Book | ||
| ECDH | ECDH | Elliptic Curve Diffie-Hellman | ||
| ECDSA | ECDSA | Elliptic Curve Diffie-Hellman | ||
| FIPS | FIPS | Federal Information Processing Standards | ||
| GCM | GCM | Galois/Counter Mode | ||
| HMAC | HMAC | Hash-based Message Authentication Code | ||
| IV | IV | Initialization Vector | ||
| KAT | KAT | Known Answer Test | ||
| KDA | KDA | Key Derivation Algorithm | ||
| MAC | MAC | Message Authentication Code | ||
| OFB | OFB | Output Feedback | ||
| OTAR | OTAR | Over The Air Rekeying | ||
| PBKDF | PBKDF | Password-Based Key Derivation Function | ||
| PCT | PCT | Pairwise Consistency Test |
References and Definitions Table 13
Table 14 -Definitions Motorola Solutions, Inc. © 2024 Version 1.0 Public Material – May be reproduced only in its original entirety (without revision).