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

i.MX8 DXL V2X

Certificate#4839StandardFIPS 140-3Level3TypeHardwareEmbodimentSingle ChipStatusActiveVendorNXP Semiconductors, Inc.
High review priority  ·  exposes 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/15/2029
CaveatWhen utilizing a Trusted Channel as specified in the Security Policy.
VendorNXP Semiconductors, Inc.

Approved Algorithms (47)

AlgorithmACVP Cert
AES-CBCA2953
AES-CBCA2957
AES-CCMA2962
AES-CCMA2968
AES-CMACA2954
AES-CMACA2958
AES-ECBA2953
AES-ECBA2957
AES-GCMA2964
AES-GCMA2964
AES-GCMA2975
AES-GCMA2975
Counter DRBGA2969
Counter DRBGA2970
ECDSA KeyGen (FIPS186-4)A2963
ECDSA KeyGen (FIPS186-4)A2974
ECDSA SigGen (FIPS186-4)A2963
ECDSA SigGen (FIPS186-4)A2974
ECDSA SigVer (FIPS186-4)A2963
ECDSA SigVer (FIPS186-4)A2974
Hash DRBGA2955
HMAC-SHA2-224A2961
HMAC-SHA2-256A2961
HMAC-SHA2-384A2961
HMAC-SHA2-512A2961
KAS-ECC-SSC Sp800-56Ar3A2972
KAS-ECC-SSC Sp800-56Ar3A2977
KDA OneStep Sp800-56Cr1A2965
KDA OneStep Sp800-56Cr1A2976
KDF SP800-108A2966
KDF TLSA2973
KDF TLSA2973
RSA SigVer (FIPS186-4)A2967
SHA2-224A2956
SHA2-224A2959
SHA2-224A2960
SHA2-256A2955
SHA2-256A2956
SHA2-256A2959
SHA2-256A2960
SHA2-384A2956
SHA2-384A2959
SHA2-384A2960
SHA2-512A2956
SHA2-512A2959
SHA2-512A2960
TLS v1.2 KDF RFC7627A2973

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

flowchart LR
  %% Deterministic review-risk graph for i.MX8 DXL V2X
  %% 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/>load firmware<br/>update</i>"]
    C3["[low] Self-test / status surface<br/>(referenced in text)<br/><i>unauthenticated<br/>Status output</i>"]
    C5["[low] Protocol / secure-channel<br/>references (may be KDF<br/>names, not a live channel)<br/><i>TLS<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;
Underlying clues
flowchart LR
  %% Deterministic clue tier for i.MX8 DXL V2X
  %% 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/>load firmware<br/>update</i><br/>src: text:keyword"]
    C3["[low] Self-test / status surface (referenced in text)<br/><i>unauthenticated<br/>Status output</i><br/>src: text:keyword"]
    C5["[low] Protocol / secure-channel references (may be KDF names, not a live channel)<br/><i>TLS<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;

Security Policy, page by page

Page 1

i.MX8 DXL V2X Document Version 1.3 October 08, 2024 Prepared for: Prepared by: NXP Semiconductors KeyPair Consulting Inc. MIKRONWEG 1 987 Osos Street

8101 GRATKORN San Luis Obispo, CA 93401

Austria USA NXP.com keypair.us

Page 2

NXP Semiconductors i.MX8 DXL V2X FIPS 140-3 Security Policy Table of Contents List of Tables List of Figures NXP Semiconductors Public Material – may be reproduced only in its original entirety (without revision)

Page 3
Ref. Algorithm-Related ReferencesFull Specification NameDate
[107r1]NIST, SP 800-107 Rev. 1, Recommendation for Applications Using Approved Hash Algorithms24-Aug-2012
[108r1]NIST, SP 800-108 Rev. 1, Recommendation for Key Derivation Using Pseudorandom Functions17-Aug-2022
[131Ar2]NIST, SP 800-131A Rev. 2, Transitioning the Use of Cryptographic Algorithms and Key Lengths21-Mar-2019
[133r2]NIST, SP 800-133 Rev. 2, Recommendation for Cryptographic Key Generation4-Jun-2020
[135r1]NIST, SP 800-135 Rev. 1, Recommendation for Existing Application-Specific Key Derivation Functions23-Dec-2011
[180]NIST, FIPS 180-4, Secure Hash Standard (SHS)4-Aug-2015
[186]NIST, FIPS 186-4, Digital Signature Standard (DSS)19-Jul-2013
[197]NIST, FIPS 197, Advanced Encryption Standard (AES)26-Nov-2001
[198]NIST, FIPS 198-1, The Keyed-Hash Message Authentication Code (HMAC)16-Jul-2008
[38A]NIST, SP 800-38A, Recommendation for Block Cipher Modes of Operation: Methods and Techniques1-Dec-2001
[38B]NIST, SP 800-38B, Recommendation for Block Cipher Modes of Operation: the CMAC Mode for Authentication6-Oct-2016
[38C]NIST, SP 800-38C, Recommendation for Block Cipher Modes of Operation: the CCM Mode for Authentication and Confidentiality20-Jul-2007
[38D]NIST, SP 800-38D, Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC28-Nov-2007
[38F]NIST, SP 800-38F, Recommendation for Block Cipher Modes of Operation: Methods for Key Wrapping13-Dec-2012
[56Ar3]NIST, SP 800-56A Rev. 3, Recommendation for Pair-Wise Key-Establishment Schemes Using Discrete Logarithm Cryptography16-Apr-2018
[56Cr2]NIST, SP 800-56C Rev. 2, Recommendation for Key-Derivation Methods in Key-Establishment Schemes18-Aug-2020
[57P1r5]NIST, SP 800-57 Part 1 Rev. 5, Recommendation for Key Management: Part 1 - General4-May-2020
[90Ar1]NIST, SP 800-90A Rev. 1, Recommendation for Random Number Generation Using Deterministic Random Bit Generators24-Jun-2015
[90B] Other ReferencesNIST, SP 800-90B, Recommendation for the Entropy Sources Used for Random Bit Generation10-Jan-2018
[140]NIST, FIPS 140-3, Security Requirements for Cryptographic Modules22-Mar-2019
[140DTR]NIST, SP 800-140, FIPS 140-3 Derived Test Requirements (DTR): CMVP Validation Authority Updates to ISO/IEC 2475920-Mar-2020
[140A]NIST, SP 800-140A, CMVP Documentation Requirements: CMVP Validation Authority Updates to ISO/IEC 2475920-Mar-2020
[140B]NIST, SP 800-140B, CMVP Security Policy Requirements: CMVP Validation Authority Updates to ISO/IEC 24759 and ISO/IEC 19790 Annex B20-Mar-2020
[140Cr1]NIST, SP 800-140C Rev. 1, CMVP Approved Security Functions: CMVP Validation Authority Updates to ISO/IEC 2475920-May-2022
[140Dr1]NIST, SP 800-140D Rev. 1, CMVP Approved Sensitive Parameter Generation and Establishment Methods: CMVP Validation Authority Updates to ISO/IEC 2475920-May-2022
[140E]NIST, SP 800-140E, CMVP Approved Authentication Mechanisms: CMVP Validation Authority Requirements for ISO/IEC 19790 Annex E and ISO/IEC 24579 Section 6.1720-Mar-2020
[140F]NIST, SP 800-140F, CMVP Approved Non-Invasive Attack Mitigation Test Metrics: CMVP Validation Authority Updates to ISO/IEC 2475920-Mar-2020
[140IG]NIST, Implementation Guidance for FIPS 140-3 and the Cryptographic Module Validation Program7-Oct-2022
[ISO 19790]ISO/IEC 19790:2012 Information technology -- Security techniques -- Security requirements for cryptographic modules1-Nov-2015
[ISO 24759]ISO/IEC 24759:2017 Information technology -- Security techniques -- Test requirements for cryptographic modules1-Mar-2017
[RFC5246]IETF RFC5246: The Transport Layer Security (TLS) Protocol Version 1.2Aug-2008
[RFC5289]IETF RFC5289: TLS Elliptic Curve Cipher Suites with SHA2-256/384 and AES Galois Counter Mode (GCM)Aug-2008
[RFC5639]IETF RFC5639: Elliptic Curve Cryptography (ECC) Brainpool Standard Curves and Curve GenerationMar-2010
[RFC7627]IETF RFC7627: Transport Layer Security (TLS) Session Hash and Extended Master Secret ExtensionSept-2015

NXP Semiconductors i.MX8 DXL V2X FIPS 140-3 Security Policy NXP Semiconductors Public Material – may be reproduced only in its original entirety (without revision)

Page 4
TermMeaning
A35ARM Cortex A35 array (on-chip, external to SECO)
AEADAuthenticated Encryption with Associated Data
AESAdvanced Encryption Standard
CAAMCryptographic Acceleration and Assurance Module
CAVPCryptographic Algorithm Validation Program
CBCCipher-Block Chaining
CCMCounter with CBC-MAC
CKGCryptographic Key Generation
CMACCipher-based Message Authentication Code
CMVPCryptographic Module Validation Program
COCryptographic Officer
CRNGTContinuous Random Number Generator Test
CSPCritical Security Parameter
CVLComponent Validation List
DRBGDeterministic Random Bit Generator
DTCPDigital Transport Content Protection
ECBElectronic Code Book
ECCElliptic Curve Cryptography
ECDSAElliptic Curve Digital Signature Algorithm
ENTEntropy source compliant with [90B]
FIPSFederal Information Processing Standard
GCMGalois/Counter Mode
HMACKeyed-Hash Message Authentication Code
HSMHardware Security Module
IEEInline Encryption Engine (external to SECO)
IGImplementation Guidance; see [140IG]
IoTInternet of Things
IVInitialization Vector
TermMeaning
KASKey Agreement Scheme
KATKnown Answer Test
KBKDFKey Based Key Derivation Function
KDAKey Derivation Algorithm
KDFKey Derivation Function
KEKKey Encryption Key (generalization of SDS-KEK)
KTSKey Transport Scheme
M0+ARM Cortex-M0+ core
MACMessage Authentication Code
MUMessaging Unit
NISTNational Institute of Standards and Technology
OTPOne Time Programmable
PCTPairwise Consistency Test
PRFPseudorandom Function
PSPPublic Security Parameter
RSARivest, Shamir, and Adleman Algorithm
SCUSystem Control Unit (on-chip CPU, external to SECO)
SECOSecurity Controller
SHA/SHSSecure Hash Algorithm / Standard
SHESecure Hardware Extension (automotive standard)
SNVSSecure Non-Volatile Storage
SoCSystem on Chip
SPNIST Special Publication
SSCShared Secret Computation
SSPSensitive Security Parameter
TLSTransport Layer Security (see [135])
V2XVehicle to anything (“X”) interaction
WDogWatchdog timer

NXP Semiconductors i.MX8 DXL V2X FIPS 140-3 Security Policy Acronyms and Definitions NXP Semiconductors Public Material – may be reproduced only in its original entirety (without revision)

Page 5
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 Security3
9Sensitive Security Parameters Management3
10Self-tests3
11Life cycle Assurance3
12Mitigation of Other Attacks3

Model i.MX 8SoloXLite i.MX 8SoloXLite i.MX 8DualXLite

Hardware [Part Number and Version] MIMX8SL2AVNFZAB PIMX8SL2AVNFZAB MIMX8DL2AVNFZAB

Firmware Version

Distinguishing Features The MIM8SL2AVNFZA B and PIM8SL2AVNFZA B parts feature

NXP Semiconductors i.MX8 DXL V2X FIPS 140-3 Security Policy This document defines the Security Policy for the NXP Semiconductors i.MX8 DXL V2X hardware sub-chip cryptographic subsystem with a single-chip embodiment, hereafter denoted the V2X or the Module. The Module is a limited operational environment under the [FIPS 140-3] definitions. The Module includes a firmware load function. New firmware versions within the scope of this validation must be validated through the CMVP; any other firmware loaded into the Module is out of the scope of this validation and requires a separate [FIPS 140-3] validation. The Module is validated to FIPS 140-3 overall Level 3 requirements with security levels as follows: Table 1: Security Levels The hardware Module is a sub-chip subsystem of a single-chip embodiment that provides cryptographic engine and secure storage functions, intended for use in automotive applications. The Module includes the SECO sub-chip subsystem that is used in other devices; the V2X provides additional acceleration capability to the SECO HSM functionality. As there are several redundant security function implementations, the corresponding tables are separated into V2X and SECO blocks as a convenience to the reviewer. In circumstances where the information is applicable to the complete Module, a single table is provided. The Module is available in the configurations shown in Table 2: Cryptographic Module Tested Configuration . Table 2: Cryptographic Module Tested Configuration NXP Semiconductors Public Material – may be reproduced only in its original entirety (without revision)

Page 6
SECO ROM : mem_I.MX8_s28roml_w24576x032 m32B2_1Tlms_m0_1.7 V2XP ROM : mem_I.MX8_s28roml_w32768x032 m32B2_1Tlm_cm0_rom_1.18 V2XS ROM: mem_I.MX8_s28roml_w45056x032 m32B4_1Tlm_empty_1.10 SECO FW 5.9.0 V2X FW 1.2.1one applications processor. The leading P designates engineering sample parts.
i.MX 8DualXLitePIMX8DL2AVNFZABThe MIM8DL2AVNFZ AB and
SoC Part NumberSOC_iMX8DualXL_28FDSOI_1.75PIM8DL2AVNFZA B parts feature
Module Subsystem VersionSECO Block: DA_SSL_iMX8DXL_SCU_SUBSYS_LN28FDSOI_1.56 V2X Block: DA_SSL_iMX8DXL_DB_SUBSYS_CMOS28FDSOI_1.77two applications processors.
CAVP CertAlgorithm [Standard]Mode / MethodDescription / Key Size(s) / Key Strength(s)Use / Function
A2957AES [197], [38A]ECB, CBC128, 192, 256 bitsEncrypt, decrypt.
A2968AES [38C]AES CCM128, 192, 256 bitsAuthenticated encrypt, decrypt.
A2958AES [38B]AES CMAC128, 192, 256 bitsGenerate, verify.
A2975AES [38D]AES GCM128, 192, 256 bitsAuthenticated encrypt, decrypt.
Vendor AffirmedCKG [133r2]Section 4: Using the Output of a Random Bit GeneratorCryptographic key
Section 5.1: Key Pairs for Digital Signature Schemesgeneration per [140IG]
Section 5.2: Key Pairs for Key EstablishmentD.H, applicable to
Section 6.1: Direct Generation of Symmetric KeysModule generated
Section 6.2.1: Symmetric Keys Generated Using Key-Agreementsymmetric keys and
Schemesseeds for generating
Section 6.2.2: Symmetric Keys Derived from a Pre-existing Keyasymmetric keys.
A2969DRBG [90Ar1]CTR, with DFAES-256Random number generation (V2X primary)
A2970DRBG [90Ar1]CTR, with DFAES-256Random number generation (V2X secondary)
A2974ECDSA [186]P-256; P-384; P-521 P-256 (SHA2-256); P-384 (SHA2-384); P-521 (SHA2-512)ECC key generation. ECC signature generation, verification.

NXP Semiconductors i.MX8 DXL V2X FIPS 140-3 Security Policy

2.1 Approved and Allowed Cryptographic Functionality

The Module implements the Approved and allowed cryptographic functions listed below. [57P1r5] notation is used throughout this document to describe key sizes and security strength. All references to the algorithm standards cited below can be found in the References section of this document. Table 3: Approved Algorithms NXP Semiconductors Public Material – may be reproduced only in its original entirety (without revision)

Page 7
CAVP Cert N/A A2977Algorithm [Standard] ENT (P) [90B] KAS-ECC-SSC [56Ar3]Mode / Method Provide entropy input to the DRBG. KAS-ECC-SSC Schemes: One-Pass DH Role: Responder ECC curves: P-256Description / Key Size(s) / Key Strength(s)Use / Function Two instances (primary and secondary). Used only to seed the approved V2X primary and secondary DRBGs. Key agreement used for sensitive data communications.
A2976KDA [56Cr2]One-Step Hash KDFSHA2-256Key derivation for sensitive data communications.
A2975KTS-1 [38F]AES GCM 256-bitSP 800-38D and SP 800- 38F. KTS (key wrapping) per IG D.G. 256- bit keys providing 256 bits of encryption strengthKey wrapping in the context of Sensitive data storage.
A2959SHS [180]SHA2-224, SHA2-256, SHA2-384, SHA2-512Secure hash function (primary)
A2960SHS [180]SHA2-224, SHA2-256, SHA2-384, SHA2-512Secure hash function (secondary)
A2976, A2977KAS-1Schemes: Ephemeral Unified,SP 800-56Arev3. KAS-ECC per IGKey agreement to
One-Pass DH Roles: Initiator, ResponderD.F Scenario 2 path (2) option 2establish an SDS-KEK
KAS-ECC-SSC curves: P-256, P-P-256 and P-384 curves
384providing 128 or 192 bits of
SECO HSM AlgorithmsKDA One-Step Hash KDFencryption strength
A2953AES [197], [38A]ECB, CBC128, 192, 256 bitsEncrypt, decrypt
A2953AES [197], [38A]ECB, CBC128, 192, 256 bitsEncrypt, decrypt.
A2962AES [38C]AES CCM128, 192, 256 bitsAuthenticated encrypt, decrypt
A2954AES [38B]AES CMAC128, 192, 256 bitsGenerate, verify
A2964AES [38D]AES GCM128, 192, 256 bitsAuthenticated encrypt, decrypt
Vendor AffirmedCKG [133r2]Section 4: Using the Output of a Random Bit GeneratorCryptographic key
Section 5.1: Key Pairs for Digital Signature Schemesgeneration per [FIPS
Section 5.2: Key Pairs for Key Establishment140-3 IG] D.H,
Section 6.1: Direct Generation of Symmetric Keysapplicable to Module
Section 6.2.1: Symmetric Keys Generated Using Key-Agreementgenerated
Schemessymmetric keys and
Section 6.2.2: Symmetric Keys Derived from a Pre-existing Keyseeds for generating asymmetric keys
A2955DRBG [90Ar1]HashSHA2-256Random number generation
A2963ECDSA [186]P-256, P-384ECC key generation

NXP Semiconductors i.MX8 DXL V2X FIPS 140-3 Security Policy NXP Semiconductors Public Material – may be reproduced only in its original entirety (without revision)

Page 8
P-256 (SHA2-256); P-384 (SHA2-384)ECC signature generation
P-256 (SHA2-256, SHA2-384, SHA2-512); P-384 (SHA2-256, SHA2-384, SHA2-512); P-521 (SHA2-256, SHA2-384, SHA2-512)ECC signature verification Note that P-521 is used only by the Authenticate service, hence no P-521 key or signature generation
N/AENT (P) [90B]Provide entropy input to the DRBGUsed only to seed the approved DRBG
A2961HMAC [198]SHA2-224, SHA2-256,Key lengths 224, 256, 384, 5121Keyed MAC used
SHA2-384, SHA2-512with TLS
A2973CVL [135r1]TLS v1.2 KDF TLS v1.2 KDF RFC7627HMAC-SHA2-256; HMAC-SHA2-384Key derivation for TLS (v1.2); also supports [RFC7627] Extended Master Secret
A2972KAS-ECC-SSC [56Ar3]KAS-ECC-SSC Schemes: Ephemeral Unified, One-Pass DH Roles: Initiator, Responder ECC curves: P-256, P-384Key agreement used for TLS support and for sensitive data communications
A2966KBKDF [108r1]CTR KBKDFAES CMAC 256-bitKey derivation used for SDS-BEK
A2965KDA [56Cr2]One-Step Hash KDFSHA2-256Key derivation for sensitive data communications
A2964KTS-2 [38F]AES GCM 256-bitSP 800-38D and SP 800- 38F. KTS (key wrapping) per IG D.G. 256- bit keys providing 256 bits of encryption strengthKey wrapping in the context of Sensitive data storage
A2967RSA [186]n=2048 (SHA2-256, SHA2-384, SHA2-512); n=3072 (SHA2-256, SHA2-384, SHA2-512); n=4096 (SHA2-256, SHA2-384, SHA2-512)PKCS 1.5 signature verification
A2955SHS [180]SHA2-256Message digest used exclusively by the DRBG
A2956SHS [180]SHA2-224, SHA2-256, SHA2-384, SHA2-512Message digest for all purposes other than DRBG
A2972, A2965KAS-2Schemes: Ephemeral Unified, One-Pass DH Roles: Initiator, Responder KAS-ECC-SSC curves: P-256, P-384 KDA One-Step Hash KDFSP 800-56Arev3. KAS-ECC per IG D.F Scenario 2 path (2) option 2 P-256 and P-384 curves providing 128 or 192 bits of encryption strengthKey agreement to establish an SDS- KEK

NXP Semiconductors i.MX8 DXL V2X FIPS 140-3 Security Policy The Module facilitates the use of truncated MACing but enforces a minimum of 32 bits

Page 9

A2972, A2973

KAS-3

Schemes: Ephemeral Unified, One-Pass DH Roles: Initiator, Responder KAS-ECC-SSC curves: P-256, P-384 TLS v1.2 KDF TLS v1.2 KDF RFC7627

SP 800-56Arev3. KAS-ECC per IG D.F Scenario 2 path (2) option 2 P-256 and P-384 curves providing 128 or 192 bits of encryption strength

Key agreement to establish TLSv1.2 session keys and the corresponding intermediate values for pre- master secret TLS- PMS and master secret TLS-MS

NXP Semiconductors i.MX8 DXL V2X FIPS 140-3 Security Policy AES GCM is used by the Sensitive Data Storage service. In accordance with [140IG] C.H Scenario 2, the 96-bit IV is generated randomly in its entirety using the Approved DRBG within the Module boundary and maintained within the Module boundary by the Symmetric Cipher service. Due to the excessive length of time taken for the counter to wrap, the counter cannot practically wrap within the lifetime of the module. The DRBG seed is generated inside the Module boundary, and the Module’s entropy source has been assessed in accordance with [140IG] D.K for conformance to [90B]. AES GCM is also used to support TLS primitives and adheres to the [140IG] C.H Resolution 1a TLS 1.2 protocol IV generation requirements. The Module uses the KAS-ECC-SSC function as follows (without support for key confirmation): 1. KEK KAS: To establish an SDS-KEK compliant to [140IG] D.F Scenario 2 Path 2, option 2 (KAS-ECC-SSC using curve P-256 or BrainpoolP256R1 and One-Step Hash KDF)2; KAS (KAS-SSC Cert. # A2972 or A2977, KDA Cert. # A2965 or A2976); provides 128 bits of strength NXP Semiconductors Public Material – may be reproduced only in its original entirety (without revision)

Page 10

NXP Semiconductors i.MX8 DXL V2X FIPS 140-3 Security Policy The Module supports the following ciphersuites used in TLS primitives:

  1. Hex Enum: 0xC0,0x2B IETF Cipher Suite Enumeration: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 RFC: 5289 TLS: v1.2 Kex: ECDHE Sig: ECDSA PRF: HMAC-SHA2-256 Cipher: AES-128 Auth: GCM
  2. Hex Enum: 0xC0,0x2C IETF Cipher Suite Enumeration: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 RFC: 5289 TLS: v1.2 Kex: ECDHE Sig: ECDSA PRF: HMAC-SHA2-384 Cipher: AES-256 Auth: GCM
  3. Hex Enum: 0xC0,0xAD IETF Cipher Suite Enumeration: TLS_ECDHE_ECDSA_WITH_AES_256_CCM RFC: 7251 TLS: v1.2 Kex: ECDHE Sig: ECDSA PRF: HMAC-SHA2-256 Cipher: AES-256 Auth: CCM
  4. Hex Enum: 0xC0,0x23 IETF Cipher Suite Enumeration: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 RFC: 5289 TLS: v1.2 Kex: ECDHE Sig: ECDSA PRF: HMAC-SHA2-256 Cipher: AES-128 Auth: HMAC
  5. Hex Enum: 0xC0,0x24 IETF Cipher Suite Enumeration: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 RFC: 5289 TLS: v1.2 Kex: ECDHE Sig: ECDSA PRF: HMAC-SHA2-384 Cipher: AES-256 Auth: HMAC NXP Semiconductors Public Material – may be reproduced only in its original entirety (without revision)
Page 11
AlgorithmCaveatUse / Function
ECDSA with non-NIST recommended curvesECDSAProvides 128 or 192 bits of encryption strength); Per IG C.AProvides 128 or 192 bits ofUse of Brainpool curves, allowed for use per [FIPS 140-3
with non-NIST recommendedencryption strength); Per IG C.AIG] C.A:
curves- BrainpoolP256R1 (128-bit security strength) - BrainpoolP384R1 (192-bit security strength)
EC Diffie-Hellman with non-NIST recommended curvesProvides 128 or 192 bits of encryption strength); Per IGs D.F and C.AUse of Brainpool curves in KAS, allowed for use per [FIPS 140-3 IG] C.A and [FIPS 140-3 IG] D.F Scenario 3: - BrainpoolP256R1 (available for both KEK and TLS use cases; 128-bit security strength) - BrainpoolP384R1 (available only for TLS use case; 192-bit security strength)
AlgorithmCaveatUse / Function
AES CCMno security claimedno securityHardware implementation of AES CCM (no security claimed - [FIPS 140-3 IG] 2.4.A), used by Generic Data Storage serviceHardware implementation of AES CCM (no security claimed - [FIPS 140-3 IG] 2.4.A), used by Generic
claimedData Storage service

NXP Semiconductors i.MX8 DXL V2X FIPS 140-3 Security Policy Table 4: Non-Approved Algorithms Allowed in the Approved Mode of Operation Table 5: Non-Approved Algorithms Allowed in the Approved Mode of Operation with No Security Claimed The Module does not implement the following:

Page 12

NXP Semiconductors i.MX8 DXL V2X FIPS 140-3 Security Policy

2.2 Cryptographic Boundary

The Module is a subsystem of the i.MX8 DXL SoC, incorporating a SECO (security controller) block which has been separately validated for use in other scenarios with additional acceleration implemented in the V2X block. The Module is compliant to [140IG] 2.3.B Sub-Chip Cryptographic Subsystems:

Page 13

NXP Semiconductors i.MX8 DXL V2X FIPS 140-3 Security Policy Figure 2 depicts the Module sub-chip functions, with the sub-chip cryptographic boundary depicted as the dashed red line, and the chip physical boundary depicted as the outer solid black line. SoC functions outside the sub-chip cryptographic subsystem boundary are simplified. The hardware PRNG is depicted for completeness but not used. Figure 2: Module Block Diagram

2.3 Modes of Operation, Security Rules and Guidance

The Module as defined above will always be in an Approved mode of operation. No configuration is necessary for the Module to operate and remain in the Approved mode. The Management service Get Info message responses (SECO and V2X variants) includes the information shown next; chip lifecycle and Approved mode constitute the indicator of the Approved mode. For the part numbers in this validation, the SECO and V2X are configured in the factory for the Approved mode. • 32-bit SECO FW version: 0x50090 (corresponding to SECO FW 5.9.0); • 32-bit Extended version, SECO FW commit ID: 0x80649c52; • 32-bit V2X FW version: 0x10021 (corresponding to V2X FW 1.2.1); • 32-bit Extended version, V2X FW commit ID: 0x75e63de241c; • 8-bit chip lifecycle state: 0x80; • SECO Approved mode: 8-bit field, only the last two bits are used; 0x3 indicates a validated part in the Approved mode. • V2X Approved mode: 8-bit field, only the last two bits are used; 0x3 indicates a validated part in the Approved mode. The Module implementation enforces the following security rules:

  1. The Module supports two types of operator roles: Cryptographic Officer and User.
  2. The Module does not support a maintenance interface or role.
  3. The Module provides identity-based authentication.
  4. An operator does not have access to any cryptographic services prior to assuming an authorized role, with the exception of the services listed as unauthenticated services. These services do not require use of secret or private keys and conform to [FIPS 140-3 IG] 4.1.A.
  5. Pre-operational self-tests do not require any operator action.
  6. No additional interface or service is implemented by the Module which would provide access to CSPs.
  7. Data output is inhibited during self-tests, zeroisation, and error states.
  8. The Module clears previous authentications on power cycle.
  9. The Module does not support manual key entry. NXP Semiconductors Public Material – may be reproduced only in its original entirety (without revision)
Page 14

NXP Semiconductors i.MX8 DXL V2X FIPS 140-3 Security Policy

  1. The Module does not output plaintext CSPs or intermediate key values.
  2. Status information does not contain CSPs or sensitive data that if misused could lead to a compromise of the Module.
  3. The Module’s TLS support corresponds to [FIPS 140-3 IG] D.C case 2 (providing a CAVP validated TLS v1.2 KDF), which requires the following statement: No parts of the TLS protocol, other than the approved cryptographic algorithms and the KDF, have been tested by the CAVP or CMVP. The Module design corresponds to the Module security rules. The Module is validated to FIPS 140-3 overall Security Level

3 requirements with security levels as listed in Table 1 above in this document. No initialization requirements apply to the

Module. NXP Semiconductors Public Material – may be reproduced only in its original entirety (without revision)

Page 15
Physical portLogical interfaceData that passes over port/interface
System Bus: MUControl input Control output Status output Data input Data outputControl inputSECO command messages and responses
DC: NoControl outputSECO command messages and responses
Description:Status output
Interface betweenData input
Messaging Units and external subsystemsData output
System Bus: CAAM V2X DC: No Description: Interface between CAAM and external subsystemsControl input Control output Status output Data input Data outputDMA controlled access to external data or CAAM results or V2X results (mediated by SECO)
System Bus: SCU DC: No Description: SCU write-only access to M0+ RAM (firmware image load)Control input Data input Status outputFirmware image
Private Bus DC: No Description: Data output (no CSPs) to media (e.g., video) controllersControl input Data outputStored parameters, used by other SoC subsystems

NXP Semiconductors i.MX8 DXL V2X FIPS 140-3 Security Policy

3 Cryptographic Module Interfaces

The Module’s ports and interfaces are listed in Table 6 below, including the designation of [FIPS 140-3] logical interface types. Note that the Module’s ports and interfaces are identical to the SECO HSM in isolation, with the exception of MU connections to the primary V2X block. The NXP provided SECO HSM API provides a driver level interface to external callers which hides the details of V2X accelerators, requiring only simple flags to use the V2X accelerator features. DC in the Table Physical port column refers to Device Connection:

Page 16
Tamper I/O DC: Yes Description: Tamper input: accept external tamper detection signals Tamper output: indicate tamper condition to external circuitsControl input Control output Status outputTamper input: accept external tamper detection signals Tamper output: indicate tamper condition to external circuits
Osc out DC: Yes Description: SNVS oscillator outputControl outputOscillator output
V SNVS-LP DC: Yes Description: SNVS Low Power section power supply connection, also called LP BatteryPower inputPower input
V V SS, DD DC: Yes Description: Supply voltagePower inputPower input

NXP Semiconductors i.MX8 DXL V2X FIPS 140-3 Security Policy VSS, VDD Power input Power input The 32-bit Authentication Token used for the User role authentication enters in plaintext over the Trusted Channel (i.e. over the corresponding port). This restriction/port separation from other ports/interfaces is implemented in the Module design as bus transactions are restricted to the specific domain (User) and the SECO HSM processor. No physical tools are required (the path is within the integrated circuit) and no operator instructions are required (the access control mechanism is built into the bus control hardware).

4 Roles, Services and Authentication

The Module supports two distinct operator roles and identity-based authentication is required for each role as follows:

Page 17
RoleServiceInputOutput
COInitialize (self-test)N/A.Status
COManagement (status)Context(session); flagsStatus
N/ASelf-test (on demand CASTs)Context(session); flagsStatus
N/AAuthenticate: verify signatureContext(session); dataContext(service); verification result; status
N/AGeneric (non-sensitive) data storageContext(session); flags; dataContext(service); status
N/AHash: perform a SHAContext(session); flags; dataContext(service); status
N/AManagement (Approved mode status)Context(session); flagsStatus
N/ARandom (generate a random value)Context(session); flagsContext(service); random value; status
N/ASession: initiate a session contextFlagsContext(session); status
UserGenerate SignatureContext(session, keystore); dataContext(service); signature; status
UserKey AgreementContext(session, keystore); dataContext(service); key handle
UserKey ManagementContext(session, keystore); flagsContext(service); status
UserKey StoreContext(session)Context(keystore); status
UserMAC (CMAC or HMAC)Context(session); dataContext(service); status
UserPK RecoverContext(session, keystore)Context(service); status
UserSensitive Data StorageContext(session); data pointerContext(service); status
UserSymmetric CipherContext(session); data pointerContext(service); data pointer; status
UserZeroiseContext(session); data pointerStatus
RoleAuthentication MethodAuthentication Strength
COECDSA P-384 signatureFalse authentication probability, single attempt: 1/(2^192) = 1.6E-58
verification, 192-bit strengthFalse authentication probability, over a one-minute interval: (60*1000)/(2^192) = 9.6E-54
UserAES-GCM, 32-bit AAD tokenFalse authentication probability, single attempt: 1/(2^32) = 2.3E-10 False authentication probability, over a one-minute interval: (60*500)/(2^32) = 7.0E-06

NXP Semiconductors i.MX8 DXL V2X FIPS 140-3 Security Policy Table 7: Roles, Service Commands, Input and Output Table 8: Roles and Authentication In the i.MX8 DXL architecture, the SCU coordinates the boot sequence, including copying the SECO firmware to the M0+ RAM. Both the SCU and the SECO firmware are provided by NXP, authenticated using the SRK-NXP public key. The SCU is effectively a proxy for NXP development, which holds the private key corresponding to SRK-NXP. During the initialization sequence, the Module authenticates the SECO firmware image using SRK-NXP (ECDSA P-384). Authentication failure causes the Module to enter the Locked error state, with reboot (requiring at least 1 millisecond) to clear the error state. The V2X authentication is part of the SoC boot sequence and is triggered by the SCU through SECO. SECO copies the V2X container in the V2X RAM and then forwards the V2X authenticate request to V2X. V2X locks the access to its RAM and authenticates its own FW images using the OEM-SRK. Operators in the User role are authenticated by use of a 32-bit token (SDS-AT) as AES GCM Additional Authenticated Data (AAD) when opening the sensitive data store corresponding to the service for the designated operator. The attempt to open a Sensitive Data Storage service key store fails if the SDS-AT does not match the registered value, and the Module enters the Locked error state, requiring a reboot to clear (at least 2 milliseconds to reach the Sensitive Data Storage service for another attempt).

4.1 Services and Access to Sensitive Security Parameters (SSPs)

The Module adheres to [FIPS 140-3 IG] 2.4.C, similar to example 2, as it offers only approved services with a corresponding global indication of Approved services an API call status response (OK or a context-dependent error; see Section 0). NXP Semiconductors Public Material – may be reproduced only in its original entirety (without revision)

Page 18
ServiceDescriptionApproved Security FunctionsRolesKeys and/or SSPsAccess rights to Keys and/or SSPsIndicator
Initialize (self-test)Authenticate and load firmware; perform pre- operational self-tests.ECDSA Sig Ver (#A2963) SHS (#A2956) KBKDF (#A2966).COSRK-NXP4W,E E E G GW,EOK / error
SRKH-NXPE
MASTER-E
NXPG
SDS-BEK OTP-KEKG
Management (status)Subsystem control and status. Get mode, status and version information; configure or manage the subsystem.(No crypto function)CONoneN/AOK / error
Self-testPerform conditional CASTs as needed, onSee Section 10N/ANoneN/AOK /
demand or periodically.error
AuthenticateAuthenticate (verify a digital signature) command content or firmware images (for SoC cores on behalf of the SCU).ECDSA Sig Ver (#A2963) RSA Sig Ver (#A2967)N/ASRK-NXP SRK-OEM SRKH-NXP SRKH- OEMW,E W,E W,E E EOK / error
Generic Data StorageManagement of generic (non-sensitive) data, media parameter storage.Non-approved AES CCM uses DRBG Generate (#A2955)N/ASDRBG- State SDRBG- SeedEOK / error
HashGenerate or verify message digest.SHS (#A2956, A2959, A2960)N/ANoneN/AOK / error
ManagementSECO device control and status. Get mode,(No crypto function)N/ANoneN/AOK / error
(Approved modestatus and version information; configure or
status)manage the SECO device.
RandomDRBG generation of random bits.DRBG Generate (#A2955, A2969, A2970)N/ASDRBG-EI SDRBG- State SDRBG- Seed VDRBG-EI VDRBG- State VDRBG- SeedG,E,Z E G,E,Z EOK / error
SessionInitialize session communications.(No crypto function)N/ANoneN/AOK / error

NXP Semiconductors i.MX8 DXL V2X FIPS 140-3 Security Policy Table 9 describes all Module services and service access to SSPs. The modes of access shown in the table are defined as:

Page 19
ServiceDescriptionApproved Security FunctionsRolesKeys and/or SSPsAccess rights to Keys and/or SSPsIndicator
Generate SignatureGenerate a digital signature.ECDSA Sig Gen (#A2963, A2974) CKGUserSDRBG- State SDRBG- Seed DS-Private SDS-BEK SDS-V2X- BEKE W,E E EOK / error
Key Agreement: KEK use casePerform the KAS-ECC-SSC and One-Step Hash KDF in an atomic command to establish an SDS-KEK instance.KAS-ECC-SSC (#A2972, #A2977) ECDSA Key Gen (#A2963) DRBG Generate (#A2955) KDA Derivation (#A2965, #A2976) CKGUserSDRBG- State SDRBG- Seed KEK-SS KEK-Local- Private KEK-Local- Public KM-Host- Public SDS-KEK SDS-V2X- BEKE G,E G,E,Z G,O W,E G EOK / error
Key Agreement: TLS use casePerform the KAS-ECC-SSC and TLS KDF in an atomic command to establish TLS session keys (instances of SC-EDK, MAC-AK).KAS-ECC-SSC (#A2972) ECDSA Key Gen (#A2963) DRBG Generate (#A2955) TLS KDF Derivation (##A2973)TLS v1.2 KDF RFC7627 (#A2973) CKGUserSDRBG- State SDRBG- Seed SC-EDK MAC-AK SDS-BEK TLS-Local- Private TLS-Local- Public TLS-Peer- Public TLS-MS TLS-PS TLS-KBE G,E G,E,Z G,O W,E G G E G,E,Z G,R W,E G,E,Z G,E,Z G,E,ZOK / error
Key ManagementGenerate key or key pair; manage (invalidate, import, update) key or key group. Invalidate refers to marking keys invalid – automatic zeroisation on invalidation is a programmable option.ECDSA Key Gen (#A2963) DRBG Generate (#A2955) AES GCM Enc, Dec (#A2964) CKG The AES GCM (KTS) is applicable to the import use case.UserSDRBG- State SDRBG- Seed DS-Private DS-Public MAC-AK SDS-KEK SDS-V2X- BEK OEM- RKEK SC-EDKE G, W, R G, R G, W, R G, W, E E E G, W, ROK / error

NXP Semiconductors i.MX8 DXL V2X FIPS 140-3 Security Policy G,E,Z G,E,Z G,E,Z NXP Semiconductors Public Material – may be reproduced only in its original entirety (without revision)

Page 20
ServiceDescriptionApproved Security FunctionsRolesKeys and/or SSPsAccess rights to Keys and/or SSPsIndicator
Key StoreManage key storage context and access to key informationAES GCM Dec (#A2964)UserSDS-BEKEOK / error
MACHMAC or CMAC generate and verify.AES CMAC Gen, VerUserMAC-AKW, E E EOK / error
(#A2954, #A2958)SDS-BEK
HMAC Gen, VerSDS-V2X-
(#A2961)BEK
PK RecoverRecover public key from private key.ECDSA Key Gen (#A2963)UserDS-Private DS-Public SDS-BEKE G, R EOK / error
Sensitive Data StorageManagement of sensitive data storage using AES GCM authenticated cipher.ECDSA Key Gen (#A2963) DRBG Generate (#A2955) ECDSA Key Gen (#A2963) AES GCM Enc, Dec (#A2964) The list of SSPs at right includes SSPs that may be saved in persistent secure storage.UserDS-Private DS-Public MAC-AK SC-EDK SDS-KEK SDS-V2X- BEKG,W,R G,R G,E,W,R G,W,R G,W,E G,W,EOK / error
Symmetric CipherEncrypt or decrypt data (including authenticated encrypt/decrypt).AES Enc, Dec (#A2953, A2962, A2964, A2957, A2968, A2975)UserSC-EDK SDS-BEK SRK-NXPW,E E W,EOK / error

NXP Semiconductors i.MX8 DXL V2X FIPS 140-3 Security Policy NXP Semiconductors Public Material – may be reproduced only in its original entirety (without revision)

Page 21
ServiceDescriptionApproved Security FunctionsRolesKeys and/or SSPsAccess rights to Keys and/or SSPsIndicator
ZeroiseDestroy NXP Master Key; renders other CSPs unusable.(No crypto function)UserSDRBG-EIZ Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ZZOK / error
SDRBG-Z
StateZ
SDRBG-Z
SeedZ
VDRBG-EIZ
VDRBG-Z
StateZ
VDRBG-Z
SeedZ
DS-PrivateZ
MAC-AKZ
SC-EDKZ
SDS-BEKZ
SDS-KEKZ
SDS-RKEKZ
SRK-NXPZ
OTP-KEKZ
KEK-SSZ
KEK-Local-Z
PrivateZ
KEK-Local-Z
PublicZ
KM-Host- Public TLS-Local- Private TLS-Local- Public TLS-Peer- Public TLS-MS TLS-PS TLS-KBZ

NXP Semiconductors i.MX8 DXL V2X FIPS 140-3 Security Policy The Module does not provide any Non-Approved Services.

5 Software/Firmware Security

The Module uses ECDSA signature verification (P-384, SHA2-384) as the firmware integrity technique. The operator can initiate the integrity test on demand by invoking the Self-test service. In addition, each time the CAST retest timer expires the Module automatically performs one of the CASTs listed in Section 10 of this document (with the exception of the firmware integrity test), cycling through all CASTs periodically. The Module has a sleep mode (i.e. a quiescent state) that will halt the CAST retest timer; prior to entering the sleep mode, the next CAST in the sequence is executed. The module supports loading firmware from an external source (partial update), the ROM code is immutable and thus unaffected by the loading. The module firmware is in the form of an image (pre-compiled), stored in a container loaded onto the sub-chip cryptographic subsystem, in addition to the firmware in the ROM (non-modifiable). NXP Semiconductors Public Material – may be reproduced only in its original entirety (without revision)

Page 22

NXP Semiconductors i.MX8 DXL V2X FIPS 140-3 Security Policy ROM endurance has been proven to be more than 10 years after manufactured date. Therefore, per FIPS 140-3 IG 5.A, no pre-operational ROM integrity self-test has been implemented. The module’s end-of-life procedures must be applied prior to the degradation of the ROM.

6 Operational Environment

The Module is classified in [FIPS 140-3] terms as a limited operational environment. The tested platforms have been specified in Table 2 above in this document. The Module meets Physical Security Level 3 requirements and thus the requirements per this section do not apply to the Module. No security rules, settings or restrictions to the configuration of the operational environment apply in addition to those specified in Section 2.3 Modes of Operation, Overall security design and the rules of operation in this document. NXP Semiconductors Public Material – may be reproduced only in its original entirety (without revision)

Page 23
Physical Security MechanismRecommended Frequency of Inspection/TestInspection/Test Guidance Details
Single-chip packagingThe Module is intended to be mounted in additional packaging; physical inspection of the die is typically not practical after packaging.N/A
Temperature or Voltage MeasurementSpecify EFP or EFTSpecify if this condition results in a shutdown or zeroisation
Low Temperature-40CEFPShutdown
High Temperature+105CEFPShutdown
SECO Low Voltage0.95 VEFPShutdown
SECO High Voltage1.1 VEFPShutdown
Low frequencyHigh frequency
V2X Low Voltage0.95 V1.05 VEFPShutdown
V2X High Voltage1.1 V1.15 VEFPShutdown
Hardness Tested Temperature Measurement
Low Temperature-40C
High Temperature+105C

NXP Semiconductors i.MX8 DXL V2X FIPS 140-3 Security Policy The Module is a single-chip embodiment that meets commercial-grade specifications for power, temperature, reliability, and shock/vibration. The Module is packaged in standard integrated circuit packaging that provides protection from probing and direct visual observation of circuit detail in the visible spectrum, as well as passivation. Table 10: Physical Security Inspection Guidelines The Module also includes Environmental Failure Protection (EFP) features. Table 11 specifies the temperature and voltage parameters and corresponding module behavior. Table 11: EFP/EFT Table 12: Hardness Testing Temperature Ranges

8 Non-invasive Security

The non-invasive security measures supported by the module are specified in Section 12 “Mitigation of Other Attacks”, per FIPS 140-3 IG 12.A. NXP Semiconductors Public Material – may be reproduced only in its original entirety (without revision)

Page 24
Strengthn o it a r e n e Gt r o p x E / t r o p m It n e m h s ilb a t s Ee g a r o t Sn o it a s io r e Z
Key/SSP
Name/TypeSecurity Function
and Cert. NumberUse & Related Keys
SDRBG-EI256G1Z1
CSPENT----S1Hash_DRBG entropy input – see detail below.
SDRBG-State CSP256DRBG # A2955G2----S1Z1Hash_DRBG internal state (V and C).
SDRBG-Seed512DRBG #A2955G2----S1Z1Seed derived using the NIST SP 800-90Ar1 Hash_DRBG
CSPand SDRBG-EI.
DS-Private CSP128 or 192ECDSA #A2963, A2974 CKGG3O1 AD /EEI1S2Z1 Z2ECDSA private key (P-256, P-384; BrainpoolP256R1, BrainpoolP384R1) for digital signature generation.
128 or 192ECDSA # A2963,G3 G7O2Z1 Z3
DS-PublicECDSA public key (P-256, P-384; BrainpoolP256R1,
A2974ADI2S2 S3
PSPBrainpoolP384R1) for digital signature verification.
CKG/EE
KEK-SS CSP128/256KDA #< A2965, A2976 CKGG9----S2Z4Key agreement shared secret, KEK use case.
KEK-Local-Private128KAS-ECC-SSC #G3Z4Key agreement ephemeral EC private key (P-256;
--N/AS2
CSPA2972, A2977BrainpoolP256R1), KEK use case.
KEK-Local-Public PSP128KAS-ECC-SSC # A2972, A2977 CKGG3O2 AD /EE--S5Z4Key agreement ephemeral EC public key (P-256; BrainpoolP256R1), KEK use case.
KEK-Host-Public128KAS-ECC-SSC #NAZ4Key agreement ephemeral EC public key (P-256;
--I25
PSPA2972, A2977BrainpoolP256R1), KEK use case.
MAC-AK CSPAES: 128, 192 or 256 HMAC: 192 or 256AES CMAC # A2954, A2958 HMAC # A2961 CKGG4 G10O1 AD /EEI1S2Z1 Z2AES key (128, 192 or 256-bit) used for AES CMAC generation and verification; HMAC key (224, 256, 384 or 512-bit) used for HMAC generation and verification.
MASTER-NXP256KBKDF # A2966G6Z5
----S4Master key used to derive system keys.
CSPCKG
OEM-RKEK CSP256AES # A2964, A2975G11--13S5Z5OEM key encryption key, used to unwrap imported keys, derived from MASTER-NXP using KBKDF.
OTP-KEK256AES # A2964, A2975G5Z1
----S3Key used to decrypt sensitive OTP content.
CSPCKG
SC-EDK CSP128, 192 or 256AES # A2953, A2962, A2964, A2957, A2968, A2975 CKGG4 G10O1 AD /EEI1S2Z1 Z2AES key (128, 192 or 256-bit) used for AES encrypt and decrypt.
SDS-BEK256AES # A2964, A2975G5Z1Blob encryption key (256-bit AES) used for secure off-
----S2 S3
CSPCKGchip storage, derived from MASTER-NXP using KBKDF.
SDS-KEK CSP256AES # A2964, A2975 CKGG8O1 AD /EEI1S2 S3Z1Key encryption key, used to unwrap imported keys.
TLS-Local-Private128 or 192KAS-SSC # A2972G3Z4EC local private key (P-256, P-384; BrainpoolP256R1,
----S2
CSPCKGBrainpoolP384R1) for key agreement.
TLS-Local-Public PSP128 or 192KAS-ECC-SSC # A2972 CKGG3O2 AD /EE--S3Z4EC local public key (P-256, P-384; BrainpoolP256R1, BrainpoolP384R1) for key agreement.
128 or 192KAS-ECC-SSC #G3Z4
TLS-Peer-PublicEC peer public key (P-256, P-384; BrainpoolP256R1,
A2972--I2S6
PSPCKGBrainpoolP384R1) for key agreement.
TLS-MS CSP128 or 192KAS # A2972 TLS KDF # A2973 TLS v1.2 KDF RFC7627 (#A2973)G10----S2Z4TLS master_secret (48-byte value): TLS KDF intermediate value (used to derive TLS-KB).

NXP Semiconductors i.MX8 DXL V2X FIPS 140-3 Security Policy

9 Sensitive Security Parameters Management

Table 13 specifies the Module’s SSPs, which include CSPs (critical security parameters) and PSPs (public security Table 13: Sensitive Security Parameters (SSPs) [-- = not applicable] Generation Import/Export Establishment Zeroisation NXP Semiconductors Public Material – may be reproduced only in its original entirety (without revision)

Page 25
Strengthn o it a r e n e Gt r o p x E / t r o p m It n e m h s ilb a t s Ee g a r o t Sn o it a s io r e ZUse & Related Keys
Key/SSP
Name/TypeSecurity Function and Cert. Number CKG
TLS-PS128 or 192KAS-ECC-SSC #G9Z4TLS pre_master_secret: TLS KDF intermediate value (used to derive TLS-MS).
CSPA2972 CKG--S2
TLS-KB CSP128 or 192KAS # A2972 TLS KDF # A2973 CKGG10--S2Z4TLS key_block: TLS KDF intermediate value used to form a TLS SC-EDK instance; depending on key exchange call flags, will derive either TLS MAC-AK instance or GCM or CCM IVs.
VDRBG-EI256G1Z1CTR_DRBG entropy input – see detail below.
CSPENT--S1
VDRBG-State CSP256DRBG # A2969, A2970G2--S1Z1CTR_DRBG internal state (V and Key).
VDRBG-Seed512DRBG # A2969,G2--S1Z1Seed derived using the NIST SP 800-90Ar1 CTR_DRBG and VDRBG-EI.
CSPA2970
CSP / Public Key Generation Methods
G1Generated by the hardware entropy source (ENT).
G2Generated by DRBG Instantiate; updated by DRBG Reseed or DRBG Generate.
G3Generated by FIPS 186-4 compliant ECDSA key generation, with input from the internal DRBG.
G4Direct output of the internal DRBG.
G5Generated by the AES Counter KBKDF.
G6Direct output of the internal DRBG during manufacturing.
G7Computed from the ECC Private key.
G8Derived using [56C] One Step Hash KDF.
G9Calculated using KAS-ECC-SSC.
G10Calculated as an element of TLS v1.2 KDF.
G11Input during manufacturing (customer provisioned).
CSP / Public Key Input MethodsKey to entity association
I1Input using AES GCM with SDS-BEK (blob storage) or AES GCM with SDS-KEK (import).Key store handle (unique identifier).
I2Input in plaintext (used with PSPs only).Call stack position (API parameter).
I3Input during manufacturing.Call stack position (API parameter).
CSP / Public Key Storage MethodsKey to entity association
S1Stored in CAAM DRBG hardware register.Unique SECO memory map location.
S2Stored in Secure RAM.Key store handle (unique identifier).
S3Stored in SECO local (M0+) RAM.Unique variable location (pointer).
S4Stored in OTP (plaintext).Unique fuse map location.
S5Stored in OTP encrypted by OTP-KEK.Unique fuse map location.
S6Held temporarily in CAAM hardware.Key generation output to caller.
CSP / Public Key Zeroisation Methods
Z1Destroyed due to power-cycling or resetting the module, operator initiated.
Z2Can also be destroyed by Key Management service Delete, operator initiated.
Z3Destroyed by tamper event or Zeroise, module initiated.
Z4 iDestroyed after use during hsm_key_exchange, module nitiated.
CSP / Public Key Output MethodsKey to entity association
O1Output using AES GCM with SDS-BEK (blob storage).Key store handle (unique identifier).
O2Output in plaintext (public key only).Call stack position (API parameter).

NXP Semiconductors i.MX8 DXL V2X FIPS 140-3 Security Policy -- = not applicable. The following Module parameters are non-SSPs: ECDSA (P-384) public key used for SECO firmware authentication.

Page 26

Z5

Destroyed by Zeroise OTP overwrite, module or operator initiated.

NXP Semiconductors i.MX8 DXL V2X FIPS 140-3 Security Policy Additional notes or explanations for keys listed above MASTER-NXP: 256-bit Master key used to derive (KBKDF) KEK and BEK keys. Generated during factory configuration by DRBG seeded by on-chip TRNG and written to SECO-only OTP in plaintext. Used only to derive BEK and KEK keys with KBKDF. OTP-KEK: 256-bit key used for AES GCM authenticated encryption and decryption of sensitive data stored in OTP. Derived each time the module is restarted (following power on or reset) from MASTER-NXP using KBKDF. OEM-RKEK: SECO module Secure Data Storage service Root Key Encryption Key. Used for AES GCM authenticated decrypt (import) of externally generated keys. Injected during the process of configuring the Module. This key is used to derive two keys for use by the SECO (SECO OEM RKEK) and V2 (V2X OEM RKEK) blocks. SDS-KEK: SECO module Secure Data Storage service Key Encryption Key. Used for AES GCM authenticated decrypt (import) of externally generated keys. Established in either of two ways:

1 – imported encrypted with OEM-RKEK or another SECO-SDS-KEK;

2 – agreed on using EC DH key agreement (ephemeral unified model) via KAS-ECC-SSC + [56Cr2] One Step Hash KDA.

Stored in Secure RAM and persisted to external secure storage encrypted by SECO-SDS-BEK. Secure RAM copy is destroyed by overwriting with 0x00 values on Module termination; external secure storage is unreadable following destruction of MASTER-NXP, since SECO-SDS-BEK can no longer be derived. SRK-NXP and SRK-OEM are public keys from key pairs generated by systems external to the chip, managed by NXP and the OEM (module integrator). The corresponding private keys are used by these external provisioning systems to sign firmware, certificates, or commands by NXP or the OEM. SRKH-NXP and SRKH-OEM are SHA2-384 hashes of the corresponding public key used as a root of trust, established onto the Module in a factory setting prior to deployment. SDS-BEK and SDS-RKEK are derived from MASTER-NXP on the Module on every restart. SDS-KEK are key encryption keys generated external to the Module, or via the Key Agreement: KEK use case service. SDS-KEK must be imported into the Module encrypted by SDS-RKEK or another SDS-KEK instance. SDS-BEK, SDS-RKEK and SDS-KEK are used by the Sensitive Data Storage and Key Management services to import or export AES GCM encrypted blobs for storage in external NVM:

Page 27
Entropy sourcesMinimum number of bits of entropyDetails
Local TRNG ENT (P)Local TRNG[90Ar1] min_length: 256 bits [90Ar1] seedlen: 512 bits[90Ar1] min_length: 256 bitsThe SECO DRBG is seeded via the [90Ar1] hash_df using 256 bits of entropy input and
ENT (P)[90Ar1] seedlen: 512 bitsa 256-bit nonce, both obtained from the Approved [90B] ENT (P). The entropy source provides at least 0.994 of min_entropy per bit of entropy input, hence the DRBG is seeded with 509 bits of effective entropy, sufficient to support the strength of the largest key generated by the Module.
Local TRNG ENT (P)[90Ar1] min_length: 256 bits [90Ar1] seedlen: 512 bitsThe V2X DRBGs are implemented in firmware, seeded via the [90Ar1] block_cipher_df using 256 bits of entropy input and a 256-bit nonce, both obtained from the Approved [90B] ENT (P). The entropy source provides at least 0.993 of min_entropy per bit of entropy input, hence the DRBG is seeded with 508 bits of effective entropy, sufficient to support the strength of the largest key generated by the Module.

NXP Semiconductors i.MX8 DXL V2X FIPS 140-3 Security Policy o Optional, based on a call parameter (to support TLS in the client role): TLS-Local-Private and TLS-Local-Public are generated, compliant with [56Ar3] §5.6.2.1 owner key pair assurances; o TLS-Local-Private and TLS-Host-Public are used in KAS-ECC-SSC to calculate a shared secret, identified in [RFC5246] as the pre_master_secret (TLS-PS); o TLS-PS is used within the [135r1] TLS v1.2 KDF to derive the [RFC5246] TLS master_secret or the [RFC7627] TLS extended_master_secret. The master secret variants are considered variations on the same CSP (TLS-MS), as they are the same size and purpose, and differ only in the input provided to the TLS PRF. o TLS-MS is used within the [135r1] TLS v1.2 KDF to derive the TLS key_block (TLS-KB); o The TLS-KB is partitioned into the session keying material dependent on the key agreement call parameters (corresponding to ciphersuites): this will include SC-EDK and may include MAC-AK. These resulting key instances are retained within the Module – only key identifiers (handles) are returned to the caller. o TLS-Local-Private, TLS-PS, and TLS-KB are destroyed prior to return of the call to the KDF; TLS-MS and the cipher and MAC keys are retained within the Module; TLS-Local-Public and the call status are returned to the caller. The TLS-MS is retained to support the TLS Finish operation which uses the master secret; TLS Finish destroys TLS-MS. o Note

  1. TLS-PS and TLS-KB are intermediate calculations established during the execution of the command, are destroyed prior to the call return, and never cross the Module boundary. These values are included in Security Policy tables and descriptions to conform with typical representations of TLS CSPs and more easily demonstrate guidance compliance. o Note
  2. To support TLS in the server role, the TLS-Local-Private / TLS-Local-Public key pair must be generated in a separate step prior to the key agreement call to provide the public key to the other party in the correct sequence. The Key Agreement service (for either the KEK or the TLS use cases) always deletes the local EC private key (TLSLocal-Private or KEK-Local-Private), whether or not it was generated in advance of the call or within the call execution. o Note
  3. The Module addresses all [56Ar3] §5.6.2.1 Assurances Required by the Key Pair Owner by means of approved generation of the ephemeral EC key pair as well as public key validation. [56Ar3] §5.6.2.1 and §5.6.2.2 Assurances Required by a Public Key Recipient are met by public key validation. As the Module provides only primitives and not the entire TLS protocol, it cannot determine if the public key it receives is static or ephemeral, nor make assurances regarding approved generation of the key pair by the other party, or possession of the private key by the other party. The Module integrator shall assure that these [56Ar3] assurance requirements are met. o Note
  4. The module does not support any non-approved random bit generators. Only an approved Hash DRBG and CTR_DRBG is supported by the module and used to generate SSPs as shown per ‘G4’ in Table 13 above. Table 14: Non-Deterministic Random Number Generation Specification NXP Semiconductors Public Material – may be reproduced only in its original entirety (without revision)
Page 28

NXP Semiconductors i.MX8 DXL V2X FIPS 140-3 Security Policy

10 Self-Tests

The on-chip System Control Unit (SCU; outside the SECO boundary) copies the SECO firmware container into the SECO M0+ RAM, raising an interrupt when firmware is available. The Module initializes, performing the self-tests listed in this section. As allowed by [FIPS 140-3 IG] 5.A, the masked ROM is not integrity tested. The Module verifies the hash of the SECO firmware image within the container and verifies the signature of the container inclusive of the SECO firmware hash. The NXP public key used for SECO FW image verification (SRK-NXP) is provided in the firmware container; the Module assures the correctness of the public key values by comparing the SHA2-512 hash of SRKs to the OTP reference value SRKH. In case of a failure in the pre-operational firmware integrity test, the module enters the Locked error state (error code 0x0000FF29). All cryptographic algorithm self-tests (CASTs) must complete successfully prior to any other use of cryptography by the Module. If one of the CASTs fails, the Module enters the ABORT state. The error state is persistent, and only Status services are available. All attempts to use the Module’s services result in the return of an error code (HSM_SELF_TEST_FAILURE). To recover from an error state, the Module must be power-cycled or reset. The Module maintains a CAST retest timer: each time the CAST retest timer expires the Module automatically performs one of the CASTs listed in this section, cycling through all CASTs periodically. The Module has a sleep mode that will halt the CAST retest timer; prior to entering sleep mode, the next CAST in the sequence is executed. The operator can also initiate the firmware integrity on demand by invoking the Self-test service and the CASTs by rebooting the module. NXP Semiconductors Public Material – may be reproduced only in its original entirety (without revision)

Page 29

NXP Semiconductors i.MX8 DXL V2X FIPS 140-3 Security Policy V2X Self-tests: Pre-Operational Self-tests: Firmware integrity: ECDSA signature verification using P-384, SHA2-384; CAVP Certs. #A2974, #A2959, #A2960. Conditional Self-tests:

Page 30

NXP Semiconductors i.MX8 DXL V2X FIPS 140-3 Security Policy SECO Self-tests: Pre-Operational Self-tests:

512 and SHA2-384 KATs. #A2963, #A2956.
Page 31

NXP Semiconductors i.MX8 DXL V2X FIPS 140-3 Security Policy

11 Life-cycle Assurance

The Module is configured in the factory for the Approved mode of operation only. No procedures for secure installation, initialization, startup and operation of the Module are required. No maintenance requirements apply to the Module. Administrator and non-Administrator guidance is provided as a separate document, i.MX8 DXL V2X FIPS 140-3 CO and User Guidance.

12 Mitigation of Other Attacks

The Module incorporates a clock frequency sensor that generates an out-of-range signal. This condition results in CO authentication reset, preventing use of Module security functions, and blocking access to sensitive information. The module also includes side channel resistance and fault injection countermeasures. Until the requirements of SP 800140F are defined, non-invasive mechanisms fall under ISO/IEC 19790:2012 Section 7.12 Mitigation of other attacks, thus the non-invasive security measures supported by the module are as follows: The side channel mitigations include random data moving, blinding techniques, and continuously generating noise on the power line. Fault injection mitigations include double calculations, parameter integrity protections, parameter checking and clearing memory areas after usage. Confidence in the effectiveness of each of these mitigations was achieved through a combination of fault attack simulations and internal vulnerability assessment testing. The countermeasures were shown to be effective against common fault injection and side channel attacks. NXP Semiconductors Public Material – may be reproduced only in its original entirety (without revision)