| Standard | FIPS 140-3 |
|---|---|
| Overall level | 1 |
| Module type | Hardware |
| Embodiment | Single Chip |
| Status | Active |
| Sunset date | 9/20/2028 |
| Entropy | ENT (P) |
| Caveat | None |
| Vendor | HP Inc. |
| Hardware versions | 2.1.3 |
| Algorithm | ACVP Cert |
|---|---|
| AES-CBC | A1347 |
| AES-CCM | A1347 |
| AES-CFB128 | A1347 |
| AES-CMAC | A1347 |
| AES-CTR | A1347 |
| AES-ECB | A1347 |
| AES-GCM | A1347 |
| AES-GMAC | A1347 |
| AES-OFB | A1347 |
| ECDSA KeyGen (FIPS186-4) | A1347 |
| ECDSA KeyVer (FIPS186-4) | A1347 |
| ECDSA SigGen (FIPS186-4) | A1347 |
| ECDSA SigVer (FIPS186-4) | A1347 |
| Hash DRBG | A1347 |
| HMAC-SHA2-256 | A1347 |
| HMAC-SHA2-384 | A1347 |
| HMAC-SHA2-512 | A1347 |
| KAS-ECC-SSC Sp800-56Ar3 | A1347 |
| KTS-IFC | A1347 |
| RSA SigGen (FIPS186-4) | A1347 |
| RSA SigVer (FIPS186-4) | A1347 |
| SHA2-256 | A1347 |
| SHA2-384 | A1347 |
| SHA2-512 | A1347 |
| Requirement area | Level |
|---|---|
| Cryptographic Module Specification | 1 |
| Cryptographic Module Interfaces | 1 |
| Roles, Services, and Authentication | 1 |
| Software/Firmware Security | 5 |
| Operational Environment | 1 |
| Physical Security | 1 |
| Self-Tests | 1 |
flowchart LR
%% Deterministic review-risk graph for HP Endpoint Security Controller Cryptographic Library
%% Review prompts and evidence gaps, NOT vulnerability findings.
subgraph CMVP["CMVP-disclosed clues"]
C2["[low] Firmware update / recovery<br/>/ rollback (referenced in<br/>text)<br/><i>update<br/>Firmware Load</i>"]
C3["[high] Unauthenticated /<br/>self-test / status service<br/>surface<br/><i>Self-test4</i>"]
C5["[low] Protocol / secure-channel<br/>references (may be KDF<br/>names, not a live channel)<br/><i>HTTPS<br/>no library/version identified</i>"]
C6["[low] Operating system / runtime<br/>referenced (boundary<br/>membership not asserted)<br/><i>application</i>"]
end
subgraph Inference["Derived inference"]
I2["Possible only, trusted<br/>code is reachable through<br/>update and recovery paths."]
I3["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"]
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["pre-auth reachability<br/>matrix · rate limits and<br/>output redaction ·<br/>abuse-case tests"]
E5["confirm the disclosure<br/>itself (keyword hit,<br/>context unverified) ·<br/>library identity and<br/>version ·<br/>certificate-validation<br/>behaviour · protocol-CVE<br/>disposition"]
E6["confirm the disclosure<br/>itself (keyword hit,<br/>context unverified) ·<br/>runtime identity and<br/>config · kernel/runtime<br/>hardening profile ·<br/>patch/backport manifest"]
end
C2 --> I2 --> R2 --> E2
C3 --> I3 --> R3 --> E3
C5 --> I5 --> R5 --> E5
C6 --> I6 --> R6 --> E6
classDef clue fill:#eef3f9,stroke:#6f7f91,color:#1f3a5f;
classDef infer fill:#fff7e6,stroke:#b98500,color:#6b4e00;
classDef risk fill:#fbe9e9,stroke:#b02a2a,color:#7a1f1f;
classDef evidence fill:#e6f4ea,stroke:#1e7d34,color:#14532d;
class C2,C3,C5,C6 clue;
class I2,I3,I5,I6 infer;
class R2,R3,R5,R6 risk;
class E2,E3,E5,E6 evidence;flowchart LR
%% Deterministic clue tier for HP Endpoint Security Controller Cryptographic Library
%% confidence: high = structured record field; medium = structured but soft; low (dashed) = bare keyword hit, context unverified
subgraph CMVP["CMVP-disclosed clues (deterministic)"]
C2["[low] Firmware update / recovery / rollback (referenced in text)<br/><i>update<br/>Firmware Load</i><br/>src: text:keyword"]
C3["[high] Unauthenticated / self-test / status service surface<br/><i>Self-test4</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>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,C5,C6 clueLow;
class C3 clueHigh;HP Endpoint Security Controller Cryptographic Library Hardware Version 2.1.3 Version 1.1 Last update: 2024-09-12 Prepared by: atsec information security corporation
Austin, TX 78759 www.atsec.com © 2024 HP Inc. / atsec information security.
HP Endpoint Security Controller Cryptographic Library
2.1 2.2 2.3 5.1 9.1 9.2 9.3 9.4 9.5 9.6 10.1 10.2 10.2.1 10.2.2 10.2.3 10.3 11.1 11.2 11.3 11.3.1 11.3.2 © 2024 HP Inc. / atsec information security.
| Name | ISO Section | Requirement | Level | Security 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 | Not Applicable | ||
| 6 | 6 | Operational Environment | 1 | ||
| 7 | 7 | Physical Security | 1 | ||
| 8 | 8 | Non-invasive Security | Not Applicable | ||
| 9 | 9 | Sensitive Security Parameter | 1 | 9 | 1 |
| 10 | 10 | Self-tests | 1 | ||
| 11 | 11 | Life-cycle Assurance | 1 | ||
| 12 | 12 | Mitigation of Other Attacks | Not Applicable |
HP Endpoint Security Controller Cryptographic Library This document is the non-proprietary FIPS 140-3 Security Policy for Hardware version 2.1.3 of the HP Endpoint Security Controller Cryptographic Library. It has a one-to-one mapping to the [SP 800140B] starting with section B.2.1 named “General” that maps to section 1 in this document and ending with section B.2.12 named “Mitigation of other attacks” that maps to section 12 in this document. This document also contains the security rules under which the module must operate and describes how this module meets the requirements as specified in FIPS PUB 140-3 (Federal Information Processing Standards Publication 140-3) for a Security Level 1 module. Table 1 describes the individual security areas of FIPS 140-3, as well as the Security Levels of those individual areas: Table 1 - Security Levels © 2024 HP Inc. / atsec information security.
| Name | Model | Hardware Platform | Hardware Version | Firmware Version |
|---|---|---|---|---|
| Notebook Embedded Controller (EC) | Notebook Embedded Controller (EC) | Nuvoton NPCX998H | 2.1.3 | N/A |
| Desktop Super I/O (SIO) | Desktop Super I/O (SIO) | Nuvoton NPCD321H | 2.1.3 | N/A |
| Name | CAVP Cert | Mode Method | Key Size | Use Function | |||
|---|---|---|---|---|---|---|---|
| AES | A1347 | 128, 192, 256 bits | AES | CBC | ECB | Encryption and AES Decryption | |
| [SP 800-38 A] | CCM | OFB | |||||
| AES | CTR | 128, 192, 256 bits |
HP Endpoint Security Controller Cryptographic Library
The HP Endpoint Security Controller Cryptographic Library cryptographic module (hereafter referred to as “the module”) is a Hardware Single Chip cryptographic module. More specifically, the module is considered a sub-chip cryptographic subsystem as defined in IG 2.3.B. This module validation is a re-branding of a sub-chip cryptographic subsystem that was previously validated under Certificate #4603. The module has been tested by atsec CST lab on the following platforms: [Part Number and Version] 2.1.3 N/A 2.1.3 N/A Table 2 - Cryptographic Module Tested Configuration
The module supports approved services in a FIPS approved mode of operation. There are no allowed algorithms used in approved mode. There are no non-approved algorithms used in the approved mode with no security claimed. There are no non-approved algorithms used in a nonapproved mode.
The Table 3 below lists all security functions of the module, including specific key strengths employed for approved services, and implemented modes of operation.
1 Both the EC and SIO components are rebranded as the HP Endpoint Security Controller and are used in
select HP Commercial PC products including Notebooks, Desktops, Desktop Workstations, Mobile Workstations, Retail Point of Sale Terminals, and Thin Clients. © 2024 HP Inc. / atsec information security.
| Name | CAVP Cert | Mode Method | Use Function | Description |
|---|---|---|---|---|
| AES | GCM 2[1] | 128, 192, 256 bits | ||
| AES | CMAC | CMAC Message Authentication | 128, 192, 256 bits | |
| [SP 800-38 B] | Code Generation and CMAC | |||
| AES | GMAC | GMAC Message Authentication | 128, 192, 256 bits | |
| [SP 800-38 D] | Code Generation and GMAC | |||
| HMAC | HMAC-SHA2-256 | HMAC Message Authentication | 256, 384, 512 bits | |
| [FIPS 198-1] | HMAC-SHA2-384 | Code Generation | ||
| RSA | RSA-PSS using SHA2- | RSA Signature Generation, | 2048 or 3072 modulus | |
| [FIPS 186-4] | 256, SHA2-384 or | RSA Signature Verification | ||
| KTS-IFC | KTS-OAEP-basic | RSA Key Transport (key wrapping | 2048 or 3072 modulus | |
| [SP800-56Brev2] | and un-wrapping) | |||
| ECDSA | B.4.2 Testing | ECDSA Key Generation | P-256, P-384, P-521 | |
| [FIPS 186-4] | Candidates | curves | ||
| NA | NA | ECDSA Key Verification | P-256, P-384, P-521 | |
| SHA2-256, SHA2-384, | SHA2-256, SHA2-384, | ECDSA Signature Generation, | P-256, P-384, P-521 | |
| SHA2-512 | SHA2-512 | ECDSA Signature Verification | curves | |
| N/A | N/A | ECDSA Signature Generation | P-256, P-384, P-521 | |
| curves | Component | curves | ||
| SHS | SHA2-256 | Message Digest Generation | N/A | |
| [FIPS 180-4] | SHA2-384 | |||
| KAS-ECC-SSC | ephemeralUnified | EC Diffie-Hellman Shared Secret | P-256, P-384, P-521 | |
| [SP800-56Arev3] | Computation | curves | ||
| Hash_DRBG | SHA2-512 | Random Number Generation | 512 | |
| CKG (Cryptographic Key | Vendor | SP800-133rev2 Section | ECDSA Key Generation | N/A |
| [SP800-133rev2] | approved DRBG; no XOR, | |||
| ENT(P) | N/A | N/A | Random Number Generation | Used to seed the |
| [SP800-90B] | SP800-90A DRBG |
HP Endpoint Security Controller Cryptographic Library N/A N/A
2 The module’s AES-GCM implementation conforms to IG C.H scenario 2. The module uses the approved
Hash_DRBG to generate the IV with a length of 96-bits. The entropy source producing the DRBG seed is located inside the module’s cryptographic boundary © 2024 HP Inc. / atsec information security.
HP Endpoint Security Controller Cryptographic Library N/A N/A N/A Table 3 - Approved Algorithms
Figure 1 depicts the module’s block diagram with a red outline indicating the Tested Operational Environment’s Physical Perimeter (TOEPP) of the NPCX998H and the NPCD321H and the blue dotted outline depicting the cryptographic boundary of the sub-chip embedded within the physical perimeter. Figure 1 - [Block Diagram] © 2024 HP Inc. / atsec information security.
HP Endpoint Security Controller Cryptographic Library Figure 2 and 3 shows a picture of the NPCX998H (e.g., EC) and the NPCD321H (e.g., SIO) in which the sub-chip module is embedded. Figure 2: Nuvoton NPCX998HA0BX Figure 3: Nuvoton NPCD321HA0DX © 2024 HP Inc. / atsec information security.
| Name | Physical Port | Logical Interface | Data That Passes |
|---|---|---|---|
| I/O Ports | I/O Ports | Data Input | Data inputs are provided in the variables passed in the API and callable service invocations, generally through caller-supplied buffers |
| I/O Ports | I/O Ports | Data Output | Data outputs are provided in the variables passed in the API and callable service invocations, generally through caller-supplied buffers |
| I/O Ports | I/O Ports | Control Input | Control inputs which control the operation of the module are provided through dedicated parameters. |
| I/O Ports | I/O Ports | Status Output | Status output is provided in return codes and through messages. Documentation for each API lists possible return codes. A complete list of all return codes returned by the C language APIs within the module is provided in the header files and the API documentation. Messages are documented also in the API documentation. |
| Power Port | Power Port | Power Interface | Power interface is provided internally by TEOPP in which the cryptographic module is embedded. |
HP Endpoint Security Controller Cryptographic Library Table 4 - Ports and Interfaces © 2024 HP Inc. / atsec information security.
| Name | Description | Roles | Csps Accessed | Approved Functions | Access | Indicator | Input | Output |
|---|---|---|---|---|---|---|---|---|
| AES Encryption | Data Encryption | Use r | AES key | AES-CBC AES-ECB AES-CCM AES-OFB AES-CFB128 AES-CTR AES-GCM | W, E | NCL STATUS OK | AES key and plain text | cipher text |
| AES Decryption | Data Decryption | Use r | AES key | AES-CBC AES-ECB AES-CCM AES-OFB AES-CFB128 AES-CTR AES-GCM | W, E | NCL STATUS OK | AES key and cipher text | plain text |
| CMAC Message Authenticatio n Code Generation | Message Authenticati on Code Generation | Use r | AES key | AES-CMAC | W, E | NCL STATUS OK | AES key and message M | MAC T |
| CMAC Message Authenticatio n Code Verification | Message Authenticati on Code Verification | Use r | AES key | AES-CMAC | W, E | NCL STATUS OK | MAC and Message | “VALID” or “INVALID” |
| GMAC Message Authenticatio n Code Generation | Message Authenticati on Code Generation | Use r | AES key | AES-GMAC | W, E | NCL STATUS OK | AES key, AAD | authenticati on tag T |
| GMAC Message Authenticatio n Code Verification | Message Authenticati on Code Verification | Use r | AES key | AES-GMAC | W, E | NCL STATUS OK | AES key, AAD, IV, tag T | “PASS” or “FAIL” |
| HMAC Message Authenticatio n Code Generation | Message Authenticati on Code Generation | Use r | HMAC key | HMAC-SHA2- 256 HMAC- SHA2-384 HMAC-SHA2- 512 | W, E | NCL STATUS OK | HMAC key and message | MAC |
| Message Digest Generation | SHS Message Digest Generation | Use r | none | SHA2-256 SHA2-384 SHA2-512 | N/A | NCL STATUS OK | message | digest (hash value) |
| RSA Key Transport (encapsulati on) | Key Wrapping using KTS- OAEP-basic | Use r | RSA public key | KTS-IFC | W, E | NCL STATUS OK | RSA public key and key to be wrapped | encrypted key |
| RSA Key Transport (un- encapsulatio n) | Key Un- wrapping using KTS- OAEP-basic | Use r | RSA private key | KTS-IFC | W, E | NCL STATUS OK | RSA private key and key to be un- wrapped | plaintext key |
| RSA Digital Signature Generation | Digital Signature Generation | Use r | RSA private key | RSA-PSS, RSA-PKCS#1 v1.5 Signature Generation, HMAC_DRBG | W, E | NCL STATUS OK | RSA private key and message | signature |
| RSA Digital Signature Verification | Digital Signature Verification | Use r | RSA public key | RSA-PSS, RSA-PKCS#1 v1.5 Signature Verification | W, E | NCL STATUS OK | RSA public key and signature | True or False |
| ECDSA Digital Signature Generation | Digital Signature Generation | Use r | ECDSA private key | ECDSA Digital Signature Generation, HMAC_DRBG | W, E | NCL STATUS OK | ECDSA private key and message | signature |
| ECDSA Digital Signature Generation Component | Digital Signature Generation Component | Use r | ECDSA private key | ECDSA Digital Signature Generation Component, HMAC_DRBG | W, E | NCL STATUS OK | ECDSA private key and message digest | signature |
| ECDSA Digital Signature Verification | Digital Signature Verification | Use r | ECDSA public key | ECDSA Digital Signature Verification | W, E | NCL STATUS OK | ECDSA public key and signature | True or False |
| ECDSA Key Generation | Asymmetric Key Pair Generation | Use r | ECDSA Key pair | ECDSA Key Generation, HMAC_DRBG, CKG | G, R | NCL STATUS OK | Curve size | generated private and public key pair |
| EC Diffie- Hellman Shared Secret Computation | Shared Secret Computatio n using Elliptic Curve Cryptograp hy | Use r | ECDH public key | KAS-ECC-SSC | W, E | NCL STATUS OK | received public key and possesse d private key | shared secret |
| ECDH private key | ECDH private key | E | ||||||
| shared secret | shared secret | G, R | ||||||
| Random Number Generation | Deterministi c Random Number Generation | Use r | Entrop y input string, nonce | Hash_DRBG | W | NCL STATUS OK | Seed | random numbers |
| seed, V, and C | seed, V, and C | G | ||||||
| Module Version Info | Outputs Module Name + Version Number | Use r | None | N/A | N/A | N/A | None | Module Name + Module Version Number |
| SSP Zeroisation | zeroizes crypto function context and releases memory space | Use r | All Keys / SSPs | N/A | Z | N/A | handle of crypto function context | zeroized and released memory space |
| Show-Status | Outputs Operational/ Error status of the module | Use r | None | N/A | N/A | N/A | None | Operational /Error status |
| Self-test4 | Executes on-demand self-test and outputs | Use r | HMAC Key | HMAC-SHA2- 512 | E | NCL STATUS OK OK’ | None | Pass/Fail status |
| SHA2-256 | N/A | SHA2-256 | ||||||
| Pass/Fail status | Pass/Fail status | AES Key | AES-CCM | |||||
| AES-CBC | AES Key | AES-CBC | ||||||
| RSA PKCS#1 v1.5 Signature Generation | RSA Private Key | RSA PKCS#1 v1.5 Signature Generation | ||||||
| RSA PKCS#1 v1.5 Signature Verification | RSA Public Key | RSA PKCS#1 v1.5 Signature Verification | ||||||
| KTS-IFC (encapsulation) | RSA Public Key | KTS-IFC (encapsulation) | ||||||
| ECDSA Signature Generation | ECDSA Private Key | ECDSA Signature Generation | ||||||
| ECDSA Signature Verification | ECDSA Public Key | ECDSA Signature Verification | ||||||
| KAS-ECC-SSC | ECDH Key Pair, Shared Secret | KAS-ECC-SSC | ||||||
| Hash_DRBG | Seed | Hash_DRBG |
HP Endpoint Security Controller Cryptographic Library
The module supports two authorized roles: A Crypto Officer Role and a User Role. No support is provided for a Maintenance operator. The module does not implement a bypass mode nor concurrent operators. When a device is delivered, the Crypto Officer is responsible for initializing the module i.e., configure the device by properly setting up key registers for storage of keys/CSPs. The Crypto Officer is implicitly assumed. The User can perform services from Table 5 and 5a only after the Crypto Officer takes possession by initializing it, thus creating data to be protected is generated. The Users of the module are software applications that implicitly assume the User Role when requesting any cryptographic services provided by the module. FIPS 140-3 does not require authentication mechanism for level 1 modules. Therefore, the module does not implement an authentication mechanism. The module only implements Approved security functions in an Approved mode. The Table 5 below lists services available. The module provides an approved service indicator by receiving a return code of “NCL_STATUS_OK to indicate that the service executed an approved security function. NOTE: The module does not implement any non-Approved Algorithms in the Approved Mode of Operation (neither with nor without security claim). The module does not implement any nonapproved security functions. The abbreviations of the access rights to keys and SSPs have the following interpretation: G = Generate: The module generates or derives the SSP. R = Read: The SSP is read from the module (e.g., the SSP is output). W = Write: The SSP is updated, imported, or written to the module. E = Execute: The module uses the SSP in performing a cryptographic operation. Z = Zeroise: The module zeroises the SSP. s r r © 2024 HP Inc. / atsec information security.
HP Endpoint Security Controller Cryptographic Library s M r r r r HMAC-SHA2256 HMACSHA2-384 HMAC-SHA2512 r r r (unencapsulatio n) Key Unwrapping unwrapped r © 2024 HP Inc. / atsec information security.
HP Endpoint Security Controller Cryptographic Library r r EC DiffieHellman r E G, R s C G N/A r N/A N/A r N/A r N/A HMAC-SHA2512 r N/A
4 Keys and SSPs used in this service are hard-coded in the module and used exclusively for self-tests.
© 2024 HP Inc. / atsec information security.
HP Endpoint Security Controller Cryptographic Library s Table 5 - Approved Services © 2024 HP Inc. / atsec information security.
HP Endpoint Security Controller Cryptographic Library
The module’s executable code is programmed in a masked ROM which is a type of Read-Only Memory (ROM) where content is programmed by the integrated circuit manufacturer during the silicon manufacturing (rather than by the Operator of the module). The memory technology is non reconfigurable memory as defined in IG 5.A, which will not have any change or degradation of data for a minimum of 10 years after manufactured date. As such, it is considered a hardware only module with a non-modifiable operational environment. The requirements of this area are not applicable to the module. © 2024 HP Inc. / atsec information security.
HP Endpoint Security Controller Cryptographic Library
The HP Endpoint Security Controller Cryptographic Library operates in a non-modifiable operational environment. The module is programmed by the manufacturer during the silicon manufacturing (rather than by the user). It maintains its own memory region which can only be accessed by the module. There is no additional application present within the operating environment. The module does not spawn any cryptographic processes. The operational environments in which the module was tested are listed in Table 2. © 2024 HP Inc. / atsec information security.
HP Endpoint Security Controller Cryptographic Library
The HP Endpoint Security Controller Cryptographic Library cryptographic module is a Hardware cryptographic module in a single chip embodiment. More specifically, the module is considered a sub-chip cryptographic subsystem. The module consists of production-grade components that include standard passivation techniques (e.g., a conformal coating applied over the module’s circuitry to protect against environmental or other physical damage). The module does not implement a maintenance role and has no maintenance access interface. © 2024 HP Inc. / atsec information security.
HP Endpoint Security Controller Cryptographic Library
Currently, the non-invasive security is not required by FIPS 140-3 (see NIST SP 800-140F). The requirements of this area are not applicable to the module. © 2024 HP Inc. / atsec information security.
| Name | Strength | Security Function | Generation | Establishment | Storage | Zeroization | Import Export | Key/SSP Name/ Type |
|---|---|---|---|---|---|---|---|---|
| Use: AES Data Encryption and Decryption Related Keys: N/A | 128, 192, 256 - bits of security strength | AES CAVP Cert. #A134 7 | Not Applicable . The key is entered via API paramete r | Not Applicable for sub-chip systems that only communicat e with subsystems within the same OE, as stated in IG 2.3.B | Not Applicable . The key is ephemera l and only held in memory during execution of service. | automatic zeroization when structure is deallocate d or when the system is powered down. | Entry: N/A. The key may be entered into the module within the TOEPP5 via API input parameters in plaintext. Output: N/A | AES key |
| Use: Key Encapsulatio n and Un- encapsulatio n Related Keys: N/A | 112 to 128 bits of security strength | KTS-IFC CAVP Cert. #A134 7 | Not Applicable . The key is entered via API paramete r | Not Applicable for sub-chip systems that only communicat e with subsystems within the same OE, as stated in IG 2.3.B | Not Applicable . The key is ephemera l and only held in memory during execution of service. | automatic zeroization when structure is deallocate d or when the system is powered down. | Entry: N/A. The key may be entered into via API input parameters in plaintext. Output: N/A | RSA private and public key |
| Use: Signature Generation and Verification Related Keys: N/A | 112 to 128 bits of security strength | RSA CAVP Cert. #A134 7 | Not Applicable . The key is entered via API paramete r | Not Applicable for sub-chip systems that only communicat e with subsystems within the same OE, as stated in IG 2.3.B | Not Applicable . The key is ephemera l and only held in memory during execution of service. | automatic zeroization when structure is deallocate d or when the system is powered down. | Entry: N/A. The key may be entered into the module within the TOEPP via API input parameters in plaintext. Output: N/A | RSA private and public key pair |
| Use: Key Generation and Verification, Signature Generation and Verification | 112 to 256 bits of security strength | ECDSA CAVP Cert. #A134 7 | The private keys can be generated using FIPS186-4 Key Generatio n method, | Not Applicable for sub-chip systems that only communicat e with subsystems within the same OE, as | Not Applicable . The key is ephemera l and only held in memory during | automatic zeroization when structure is deallocate d or when the system is | Entry: N/A. The key may be entered into the module within the TOEPP via API input parameters in plaintext. | ECDSA private and public key pair |
| Related Keys: DRBG internal state | and the random value used in the key generatio n is generated using SP800- 90A DRBG | stated in IG 2.3.B | execution of service. | powered down. | Output: The key may be output from the module within the TOEPP 6via API output parameters in plaintext | |||
| Use: Hashed Message Authenticatio n Code Generation Related Keys: N/A | 112 or greater bits of securit y strengt h | HMAC CAVP Cert. #A134 7 | Not Applicable . The key is entered via API paramete r | Not Applicable for sub-chip systems that only communicat e with subsystems within the same OE, as stated in IG 2.3.B | Not Applicable . The key is ephemera l and only held in memory during execution of service. | automatic zeroization when structure is deallocate d or when the system is powered down. | Entry: N/A. The key may be entered into the module within the TOEPP via API input parameters in plaintext. Output: N/A | HMAC key |
| Use: ECDH Shared Secret Computation Related Keys: DRBG internal state, EC Diffie- Hellman Shared Secret | 112 to 256-bits of security strength | KAS- ECC- SSC CAVP Cert. #A134 7 | The private keys are generated using FIPS186-4 Key Generatio n method, and the random value used in the key generatio n is generated using SP800- 90A DRBG | Not Applicable for sub-chip systems that only communicat e with subsystems within the same OE, as stated in IG 2.3.B | Not Applicable . The key is ephemera l and only held in memory during execution of service. | automatic zeroization when structure is deallocate d or when the system is powered down. | Entry: N/A. The public key may be entered into the module within the TOEPP via API input parameters in plaintext. Output: The key may be output from the module within the TOEPP via API output parameters in plaintext | ECDH key pair (including intermediat e key generation values) |
| Use: ECDH Shared Secret Computation Related Keys: ECDH key pair | N/A | Not Applicable for sub-chip systems that only communicat e with subsystems within the same OE, as stated in IG 2.3.B | Entry: N/A Output: The key may be output from the module within the TOEPP via API output parameters in plaintext | ECC Shared Secret | ||||
| Use: Random Number Generation | 256-bits of | N/A | N/A | N/A | Entry: N/A. obtained from the ENT(P) | Entropy Input String + Nonce |
HP Endpoint Security Controller Cryptographic Library
The following table summarizes the keys and Sensitive Security Parameters (SSPs) that are used by the cryptographic services implemented in the module. Modification of PSPs by unauthorized operators is prohibited. r 2.3.B 2.3.B n and Unencapsulatio n 2.3.B r r
© 2024 HP Inc. / atsec information security.
HP Endpoint Security Controller Cryptographic Library y h SP80090A DRBG 2.3.B r 2.3.B 2.3.B KASECCSSC SP80090A DRBG N/A N/A N/A DiffieHellman 2.3.B N/A
© 2024 HP Inc. / atsec information security.
| Name | Strength | Output | ||||
|---|---|---|---|---|---|---|
| Use: Random Number Generation Related Keys: ECDSA and ECDH key pairs | 256-bits of security strength | Entry: N/A Output: N/A | DRBG internal state (i.e., Hash_DRBG V and C values), Seed | N/A | Derived from entropy input string as defined by SP800- 90A | N/A |
| Name | Key Size | ||
|---|---|---|---|
| Details | Minimum number of | Entropy Source | |
| The entropy pool is filled with random bits provided by an SP800-90B compliant ENT(P) whose noise source is from Ring Oscillators in hardware TRNG. | SP800-90B compliant ENT(P) | 256 |
HP Endpoint Security Controller Cryptographic Library N/A by SP80090A N/A Table 6 - SSPs The module employs a Hash_DRBG using a SHA-512 PRF. Per section 10.1.1.1 of [SP800-90A], the reseeding. The estimated amount of entropy per entropy output bit is ~0.6/bit. The DRBG internal state is not accessible by non-DRBG functions. All random values used by approved security functions, SSP generation, or SSP establishment method are provided by the Hash_DRBG. Table 7 - Non-Deterministic Random Number Generation Specification The module generates Keys and SSPs in accordance with FIPS 140-3 IG D.H. The cryptographic module performs Cryptographic Key Generation (CKG) for asymmetric keys as per [SP800133rev2] (vendor affirmed), compliant with [FIPS186-4] and using DRBG compliant with [SP80090Arev1]. A seed (i.e., the random value) used in asymmetric key generation is obtained from for ECDSA, as well as the [SP 800-90Arev1] DRBG have been ACVT tested with algorithm certificates found in Table 3.
The module provides the following key/SSP establishment services:
HP Endpoint Security Controller Cryptographic Library encapsulation and un-encapsulation supported. The module does not implement key confirmation. See section 11.3.2 for operator guidance details.
Keys/SSPs entered or output the module are electronically entered in plaintext form from the invoking User firmware running on the same device. No Keys/SSPs are entered or output from the module to outside the TOEPP. According to IG 2.3.B, Transferring SSPs including the entropy input between a sub-chip cryptographic subsystem and an intervening functional subsystem for Security Levels 1 and 2 on the same single chip is considered as not having Sensitive Security Parameter Establishment crossing the HMI of the sub-chip module per IG 9.5.A.
The module does not provide persistent storage for keys/SSPs. Keys/SSPs are stored in memory only and are received for use by the module only at the request of the User firmware.
Keys and SSPs are explicitly zeroized automatically when structure associated with the cipher is deallocated or implicitly when the device is powered down thereby rendering the data irretrievable. Interface with the module is inhibited while zeroization is being performed. For Keys and SSPs explicitly zeroized automatically the successful completion of a requested service suffices as the implicit indicator that zeroisation has completed. © 2024 HP Inc. / atsec information security.
| Algorithm | Test |
|---|---|
| HMAC | • HMAC-SHA2-512 MAC Generation KAT |
| SHA | • SHA2-256 Message Digest KAT |
| AES | • AES-CCM Encryption KAT using 128-bit key • AES-CBC Decryption KAT using 128-bit key |
| KTS-IFC | • KTS-OAEP-basic Encryption KAT with 2048 -bit key and SHA2-256 • KTS-OAEP-basic Decryption KAT with 2048 -bit key and SHA2-256 |
| RSA | • PKCS#1 v1.5 Signature Generation KAT with 2048 -bit key and SHA2-256 • PKCS#1 v1.5 Signature Verification KAT with 2048 -bit key and SHA2-256 |
| ECDSA | • ECDSA Signature Generation KAT with P-256 curve and SHA2-256 • ECDSA Signature Verification KAT with P-256 curve and SHA2-256 |
HP Endpoint Security Controller Cryptographic Library
Self-tests ensure that the module is not corrupted and that the cryptographic algorithms work as expected. While the module is executing the self-test, no services are not available, and input and output are inhibited. The module will boot only after successfully passing the HMAC-SHA2-512 and SHA2-256 CASTs. If an error is detected in any self-test, the module will enter the Error State.
The module is solely implemented in hardware (i.e., only contains executable code that is stored in non- reconfigurable masked ROM7). As such, the module does not perform any pre-operational software/firmware integrity test, but instead performs a Cryptographic Algorithm Self-Test on the HMAC-SHA2-512 and SHA2-256 algorithms when the module is powered on. The module does not implement a pre-operational bypass test nor pre-operational critical functions test.
The module performs a conditional self-test when the conditions specified for the following tests occur: Conditional Cryptographic Algorithm Self-Test Conditional Pair-Wise Consistency Test The module does not implement a Software/Firmware Load Test, Manual Entry Test, Conditional Bypass Test nor Conditional Critical Functions Test. 10.2.1 Conditional Cryptographic Algorithm Self-Tests The module conducts conditional cryptographic algorithm self-test prior to the first operational use of each cryptographic algorithm. The table below describe the conditional tests supported by the module.
7 A masked ROM is a type of Read-Only Memory (ROM) where content is programmed by the integrated
circuit manufacturer during the silicon manufacturing. © 2024 HP Inc. / atsec information security.
| Algorithm | Test |
|---|---|
| KAS-ECC-SSC | • ECDH shared secret computation KAT with P-256 curve |
| Hash_DRBG | • Hash_DRBG random number generation KAT using predefined seed. |
| ENT | • RCT (Repetition Count Test) • APT (Adaptive Proportion Test) |
| Cause of Error | Status Indicator |
|---|---|
| failure in conditional self-test (conditional CAST or conditional PCT) | NCL_STATUS_FAIL |
| failure of the ENT health test | ENTROPY_SRC_ERROR |
HP Endpoint Security Controller Cryptographic Library
HP Endpoint Security Controller Cryptographic Library
As explained in Section 10.1.1, the module is placed in a masked ROM by manufacturer during the silicon manufacturing. The module is delivered as part of the Nuvoton NPCX998H and Nuvoton NPCD321H platforms (listed in Table 2). During manufacturing
The module is configured to be operational by default. If the device starts up successfully and has successfully passed the HMAC-SHA2-512 and SHA2-256 CAST, it is operating correctly and can begin servicing User requests.
11.3.1 End of Life Once the module reaches its end-of-life stage (End of Life (EOL) date for the HP Endpoint Security Controller Cryptographic Library is 10 years from manufacturing date) or sanitation is initiated by the module’s Operator, it is the Operator’s responsibility to clear all existing SSPs from the module. This can be achieved by either performing a full device reset, or by explicitly invoking the following sequence of APIs to clear the data from all modules: • • • • • NCL_SHA_Clear - For each of existing SHA and HMAC contexts NCL_DRBG_Clear - For each of existing DRBG contexts NCL_AES_Clear - For each of existing AES contexts NCL_RSA_Clear - For each of existing RSA contexts NCL_ECC_Clear - For each of existing ECDSA and ECDH contexts 11.3.2 RSA Key Wrapping To comply with SP800-56Brev2 assurances found in its Section 6 (specifically SP800-56Brev2 Section 6.4 Required Assurances) The entity using the IUT must obtain required assurances listed in section 6.4 of SP 800-56BRev2 by performing the following steps:
HP Endpoint Security Controller Cryptographic Library 3. The entity using the module, shall confirm the peer's possession of private key by using any method specified in section 6.4.2.3 of the SP 800-56BRev2. © 2024 HP Inc. / atsec information security.
HP Endpoint Security Controller Cryptographic Library
The module does not implement security mechanisms to mitigate other attacks. © 2024 HP Inc. / atsec information security.
HP Endpoint Security Controller Cryptographic Library Appendix A. Glossary and Abbreviations AES Advanced Encryption Standard ACVP Algorithm Certification Validation Program CBC Cipher Block Chaining CAST Cryptographic Algorithm Self-Test CCM Counter with Cipher Block Chaining-Message Authentication Code CFB Cipher Feedback CMAC Cipher-based Message Authentication Code CMVP Cryptographic Module Validation Program CSP Critical Security Parameter CTR Counter Mode DRBG Deterministic Random Bit Generator ECB Electronic Code Book ECC Elliptic Curve Cryptography ENT Entropy Source EOL End Of Life FFC Finite Field Cryptography FIPS Federal Information Processing Standards Publication GCM Galois Counter Mode HMAC Hash Message Authentication Code KAS Key Agreement Scheme KAT Known Answer Test KW AES Key Wrap KWP AES Key Wrap with Padding MAC Message Authentication Code NIST National Institute of Science and Technology OFB Output Feedback PSS Probabilistic Signature Scheme RSA Rivest, Shamir, Addleman SHA Secure Hash Algorithm SHS Secure Hash Standard SSC Shared Secret Computation TOEPP Tested Operational Environment’s Physical Perimeter XTS XEX-based Tweaked-codebook mode with cipher text Stealing © 2024 HP Inc. / atsec information security.
HP Endpoint Security Controller Cryptographic Library Appendix B. References FIPS140-3 FIPS PUB 140-3 - Security Requirements For Cryptographic Modules March 2019 https://doi.org/10.6028/NIST.FIPS.140-3 FIPS140-3_IG Implementation Guidance for FIPS PUB 140-3 and the Cryptographic Module Validation Program May 2021 https://csrc.nist.gov/CSRC/media/Projects/cryptographic-module-validationprogram/documents/fips 140-3/FIPS 140-3 IG.pdf FIPS180-4 Secure Hash Standard (SHS) March 2012 http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf FIPS186-4 Digital Signature Standard (DSS) July 2013 http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf FIPS197 Advanced Encryption Standard November 2001 http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf FIPS198-1 The Keyed Hash Message Authentication Code (HMAC) July 2008 http://csrc.nist.gov/publications/fips/fips198-1/FIPS-198-1_final.pdf PKCS#1 Public Key Cryptography Standards (PKCS) #1: RSA Cryptography Specifications Version 2.1 February 2003 http://www.ietf.org/rfc/rfc3447.txt RFC3394 Advanced Encryption Standard (AES) Key Wrap Algorithm September 2002 http://www.ietf.org/rfc/rfc3394.txt RFC5649 Advanced Encryption Standard (AES) Key Wrap with Padding Algorithm September 2009 http://www.ietf.org/rfc/rfc5649.txt SP800-38A NIST Special Publication 800-38A - Recommendation for Block Cipher Modes of Operation Methods and Techniques December 2001 http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf SP800-38B NIST Special Publication 800-38B - Recommendation for Block Cipher Modes of Operation: The CMAC Mode for Authentication May 2005 http://csrc.nist.gov/publications/nistpubs/800-38B/SP_800-38B.pdf © 2024 HP Inc. / atsec information security.
HP Endpoint Security Controller Cryptographic Library SP800-38C NIST Special Publication 800-38C - Recommendation for Block Cipher Modes of Operation: the CCM Mode for Authentication and Confidentiality May 2004 http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38c.pdf SP800-38D NIST Special Publication 800-38D - Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC November 2007 http://csrc.nist.gov/publications/nistpubs/800-38D/SP-800-38D.pdf SP800-38F NIST Special Publication 800-38F - Recommendation for Block Cipher Modes of Operation: Methods for Key Wrapping December 2012 http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-38F.pdf SP80056Arev3 NIST Special Publication 800-56A Revision 3 - Recommendation for Pair Wise Key Establishment Schemes Using Discrete Logarithm Cryptography April 2018 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Ar3.pdf SP80056Brev2 Recommendation for Pair-Wise Key Establishment Schemes Using Integer Factorization Cryptography March 2019 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Br2.pdf SP800-90A NIST Special Publication 800-90A - Revision 1 - Recommendation for Random Number Generation Using Deterministic Random Bit Generators June 2015 http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-90Ar1.pdf SP800-90B NIST Special Publication 800-90B - Recommendation for the Entropy Sources Used for Random Bit Generation January 2018 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-90B.pdf SP800133rev2 NIST Special Publication 800-133 - Recommendation for Cryptographic Key Generation December 2012 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-133r2.pdf SP800-140B NIST Special Publication 800-140B - CMVP Security Policy Requirements March 2020 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-140B.pdf © 2024 HP Inc. / atsec information security.