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

ZPE Systems FIPS Provider for OpenSSL 3

Certificate#4885StandardFIPS 140-3Level1TypeSoftwareEmbodimentMulti-Chip Stand AloneStatusActiveVendorZPE Systems
High review priority  ·  no TCB surface named  ·  OpenSSL upstream has published 39 CVEs since this module's initial validation  ·  last validated 20 months ago. How this is derived →

Certificate

StandardFIPS 140-3
Overall level1
Module typeSoftware
EmbodimentMulti-Chip Stand Alone
StatusActive
Sunset date7/10/2029
CaveatNo assurance of the minimum strength of generated SSPs (e.g., keys).
VendorZPE Systems

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

flowchart LR
  %% Deterministic review-risk graph for ZPE Systems FIPS Provider for OpenSSL 3
  %% Review prompts and evidence gaps, NOT vulnerability findings.
  subgraph CMVP["CMVP-disclosed clues"]
    C2["[low] Firmware update / recovery<br/>/ rollback (referenced in<br/>text)<br/><i>Recovery</i>"]
    C3["[low] Self-test / status surface<br/>(referenced in text)<br/><i>Unauth<br/>Status Output</i>"]
    C5["[low] Protocol / secure-channel<br/>references (may be KDF<br/>names, not a live channel)<br/><i>TLS<br/>SSH<br/>DTLS</i>"]
    C6["[low] Operating system / runtime<br/>referenced (boundary<br/>membership not asserted)<br/><i>operating system<br/>linux<br/>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 ZPE Systems FIPS Provider for OpenSSL 3
  %% confidence: high = structured record field; medium = structured but soft; low (dashed) = bare keyword hit, context unverified
  subgraph CMVP["CMVP-disclosed clues (deterministic)"]
    C2["[low] Firmware update / recovery / rollback (referenced in text)<br/><i>Recovery</i><br/>src: text:keyword"]
    C3["[low] Self-test / status surface (referenced in text)<br/><i>Unauth<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/>SSH<br/>DTLS</i><br/>src: text:keyword"]
    C6["[low] Operating system / runtime referenced (boundary membership not asserted)<br/><i>operating system<br/>linux<br/>application</i><br/>src: text:keyword"]
  end
  classDef clueHigh fill:#eef3f9,stroke:#2f6fb0,stroke-width:2px,color:#1f3a5f;
  classDef clueMedium fill:#eef3f9,stroke:#6f7f91,color:#1f3a5f;
  classDef clueLow fill:#f7f7f7,stroke:#999,stroke-dasharray:4 4,color:#444;
  class C2,C3,C5,C6 clueLow;

Security Policy, page by page

Page 1

ZPE Systems ZPE Systems FIPS Provider for OpenSSL 3 FIPS 140‐3 Non‐Proprietary Security Policy Document Version 1.0 October 22, 2024 Prepared for: Prepared by: ZPE Systems KeyPair Consulting Inc.

3793 Spinnaker Court 987 Osos Street

Fremont, CA 94538 San Luis Obispo, CA 93401 zpesystems.com keypair.us +1 510.298.3022 +1 805.316.5024 This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 2

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3 Table of Contents This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 3

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3 This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 4

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3 List of Tables List of Figures This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 5
SectionTitleSecurity Level
1General1
2Cryptographic module specification1
3Cryptographic module interfaces1
4Roles, services, and authentication1
5Software/Firmware security1
6Operational environment1
7Physical securityN/A
8Non‐invasive securityN/A
9Sensitive security parameter management1
10Self‐tests1
11Life‐cycle assurance3
12Mitigation of other attacks1
Overall Level1

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3

1.1 Overview

This document defines the Non‐Proprietary Security Policy for the ZPE Systems FIPS Provider for OpenSSL 3 cryptographic module by ZPE Systems, hereafter denoted the Module. The Module meets FIPS 140‐3 overall Level 1 requirements, with security levels as shown in Section 1.2. In accordance with AS02.05, ISO/IEC 19790:2012 §7.7 Physical Security is optional and does not apply to the Module.

1.2 Security Levels
2.1 Description

Purpose and Use: The Module is a cryptographic software library, intended for use by US and Canadian Federal agencies and other markets that require FIPS 140‐3 validated cryptographic functionality. The Module design corresponds to the Module security rules. Security rules enforced by the Module are described in the appropriate context of this document. Module Embodiment: MultiChipStand This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 6

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3 Cryptographic Boundary: Figure 1 depicts the Module operational environment, with the cryptographic boundary highlighted in red inclusive of all Module entry points (API calls). The Module is defined as a Software module per AS02.03. The pre‐operational approved integrity test is performed over all components within the cryptographic boundary. Tested Operational Environment’s Physical Perimeter (TOEPP): The General Purpose Computer is the TOEPP. Figure 1: Block Diagram This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 7
Package or File NameSoftware/ Firmware VersionFeaturesIntegrity Test
fips.so3.0.10 with KP_1.2N/AHMAC‐SHA2‐256 #A4481 over the complete module file image

Operating System ZPE Systems' Nodegrid OS version 6.0 ZPE Systems' Nodegrid OS version 6.0

Hardware Platform Net Services Router (NSR) Net Services Router (NSR)

Processors Intel® Atom™ CPU C3758 (Denverton) Intel® Atom™ CPU C3758 (Denverton)

PAA/PAI Yes No

Hypervisor or Host OS

Version(s) 3.0.10 with KP_1.2 3.0.10 with KP_1.2

Operating SystemHardware Platform
Ubuntu 18.04Dell Inspiron 7591 with Intel® Core™ i7‐10510U
Ubuntu 18.04Dell PowerEdge R7515 with AMD EPYC 7313P
Ubuntu 22.04 LTSHPE ProLiant DL325 Gen10 Plus v2 with AMD EPYC 7313P
Ubuntu 22.04 LTSHPE ProLiant DL60 Gen9 with Intel® Xeon® E5‐2609
CentOS 7.9Ampere® Altra® 2U Server R272‐P33 with Ampere® Altra® SOC with Aarch64 ARMv8
CentOS 7.9HPE ProLiant DL60 Gen9 with Intel® Xeon® E5‐2609

Mode Name Nominal

Description Approved mode of operation

Type Approved

Status Indicator

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3

2.2 Tested and Vendor Affirmed Module Version and Identification

Tested Module Identification

2.3 Excluded Components

N/A for this Module. Modes List and Description: Table 5: Modes List and Description This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 8
AlgorithmCAVP CertPropertiesReference
AES‐CBCA4481Direction ‐ Decrypt, Encrypt Key Length ‐ 128, 192, 256SP 800‐38A
AES‐CBC‐CS1A4481Direction ‐ decrypt, encrypt Key Length ‐ 128, 192, 256SP 800‐38A
AES‐CBC‐CS2A4481Direction ‐ decrypt, encrypt Key Length ‐ 128, 192, 256SP 800‐38A
AES‐CBC‐CS3A4481Direction ‐ decrypt, encrypt Key Length ‐ 128, 192, 256SP 800‐38A
AES‐CCMA4481Key Length ‐ 128, 192, 256SP 800‐38C
AES‐CFB1A4481Direction ‐ Decrypt, Encrypt Key Length ‐ 128, 192, 256SP 800‐38A
AES‐CFB128A4481Direction ‐ Decrypt, Encrypt Key Length ‐ 128, 192, 256SP 800‐38A
AES‐CFB8A4481Direction ‐ Decrypt, Encrypt Key Length ‐ 128, 192, 256SP 800‐38A

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3 The Module only supports an Approved mode of operation. The conditions for using the Module in the Approved mode of operation are:

  1. Installation of the Module as described in Section 11.1 results in the settings described below, which are required for operation in the Approved mode: a. security‐checks = 1 Enforce minimum key strengths and approved curve names. b. allow‐plaintext‐csp‐output = 1 Enforce the AS09.16 and AS09.17 requirement for a second independent action to output CSPs as a result of calls that produce CSPs, such as key generation, key unwrap (or decapsulate) and shared secret calculation. c. conditional‐errors = 1 Enforce the Module entering the error state on conditional test errors such as PCT failure.
  2. The Module is a cryptographic library used by a calling application. The calling application is responsible for: a. Use of the primitives in the correct sequence. b. Use of keys in accordance with SP 800‐140D Rev. 2 (as the keys used by the Module for cryptographic purposes are provided over the call stack by the calling application). c. Use of a SP 800‐90B compliant entropy source outside the Module boundary with at least 256 bits of security strength. Entropy is supplied to the Module via callback functions. The callback functions shall return an error if the minimum entropy strength cannot be met.
2.5 Algorithms

Approved Algorithms: Cipher This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 9
AlgorithmCAVP CertPropertiesReference
AES‐CTRA4481Direction ‐ Decrypt, Encrypt Key Length ‐ 128, 192, 256SP 800‐38A
AES‐ECBA4481Direction ‐ Decrypt, Encrypt Key Length ‐ 128, 192, 256SP 800‐38A
AES‐GCMA4481Direction ‐ Decrypt, Encrypt IV Generation ‐ External, Internal IV Generation Mode ‐ 8.2.1 Key Length ‐ 128, 192, 256SP 800‐38D
AES‐KWA4481Direction ‐ Decrypt, Encrypt Key Length ‐ 128, 192, 256SP 800‐38F
AES‐KWPA4481Direction ‐ Decrypt, Encrypt Key Length ‐ 128, 192, 256SP 800‐38F
AES‐OFBA4481Direction ‐ Decrypt, Encrypt Key Length ‐ 128, 192, 256SP 800‐38A
AES‐XTS Testing Revision 2.0A4481Direction ‐ Decrypt, Encrypt Key Length ‐ 128, 256SP 800‐38E
AlgorithmCAVP CertPropertiesReference
KAS‐ECC CDH‐Component SP800‐56Ar3 (CVL)A4481Curve ‐ B‐233, B‐283, B‐409, B‐571, K‐233, K‐283, K‐409, K‐571, P‐224, P‐256, P‐384, P‐521SP 800‐56A Rev. 3
KAS‐ECC‐SSC Sp800‐56Ar3A4481Domain Parameter Generation Methods ‐ B‐233, B‐283, B‐409, B‐571, K‐233, K‐283, K‐409, K‐571, P‐224, P‐256, P‐384, P‐521 Scheme ‐ ephemeralUnified ‐ KAS Role ‐ initiator, responderSP 800‐56A Rev. 3
KAS‐FFC‐SSC Sp800‐56Ar3A4481Domain Parameter Generation Methods ‐ FB, FC, ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, ffdhe8192, modp‐2048, modp‐3072, modp‐4096, modp‐6144, modp‐8192 Scheme ‐ dhEphem ‐ KAS Role ‐ initiator, responderSP 800‐56A Rev. 3
KAS‐IFC‐SSCA4481Modulo ‐ 2048, 3072, 4096, 6144, 8192 Key Generation Methods ‐ rsakpg1‐basic, rsakpg1‐crt, rsakpg1‐prime‐factor, rsakpg2‐basic, rsakpg2‐crt, rsakpg2‐prime‐factor Scheme ‐ KAS1 ‐ KAS Role ‐ initiator, responder KAS2 ‐ KAS Role ‐ initiator, responderSP 800‐56A Rev. 3

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3 Table 6: Approved Algorithms ‐ Cipher Key agreement Table 7: Approved Algorithms ‐ Key agreement This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 10
AlgorithmCAVP CertPropertiesReference
KDA HKDF SP800‐56Cr2A4481Derived Key Length ‐ 2048 Shared Secret Length ‐ Shared Secret Length: 224‐8192 Increment 8 HMAC Algorithm ‐ SHA‐1, SHA2‐224, SHA2‐256, SHA2‐384, SHA2‐512, SHA2‐512/224, SHA2‐512/256, SHA3‐224, SHA3‐256, SHA3‐384, SHA3‐512SP 800‐56C Rev. 2
KDA OneStep SP800‐56Cr2A4481Derived Key Length ‐ 2048 Shared Secret Length ‐ Shared Secret Length: 224‐8192 Increment 8SP 800‐56C Rev. 2
KDA TwoStep SP800‐56Cr2A4481MAC Salting Methods ‐ default, random KDF Mode ‐ feedback Derived Key Length ‐ 2048 Shared Secret Length ‐ Shared Secret Length: 224‐8192 Increment 8SP 800‐56C Rev. 2
KDF ANS 9.42 (CVL)A4481KDF Type ‐ DER Hash Algorithm ‐ SHA‐1, SHA2‐224, SHA2‐256, SHA2‐384, SHA2‐512, SHA2‐512/224, SHA2‐512/256, SHA3‐ 224, SHA3‐256, SHA3‐384, SHA3‐512 Key Data Length ‐ Key Data Length: 8‐4096 Increment 8SP 800‐135 Rev. 1
KDF ANS 9.63 (CVL)A4481Hash Algorithm ‐ SHA2‐224, SHA2‐256, SHA2‐384, SHA2‐512 Key Data Length ‐ Key Data Length: 128, 4096SP 800‐135 Rev. 1
KDF SP800‐108A4481KDF Mode ‐ Counter, Feedback Supported Lengths ‐ Supported Lengths: 8, 72, 128, 776, 3456, 4096SP 800‐108 Rev. 1
KDF SSH (CVL)A4481Cipher ‐ AES‐128, AES‐192, AES‐256 Hash Algorithm ‐ SHA‐1, SHA2‐224, SHA2‐256, SHA2‐384, SHA2‐512SP 800‐135 Rev. 1
PBKDFA4481Iteration Count ‐ Iteration Count: 1‐10000 Increment 1 Password Length ‐ Password Length: 8‐128 Increment 8SP 800‐132
TLS v1.2 KDF RFC7627 (CVL)A4481Hash Algorithm ‐ SHA2‐256, SHA2‐384, SHA2‐512SP 800‐135 Rev. 1
TLS v1.3 KDF (CVL)A4481HMAC Algorithm ‐ SHA2‐256, SHA2‐384 KDF Running Modes ‐ DHE, PSK, PSK‐DHESP 800‐135 Rev. 1
AlgorithmCAVP CertPropertiesReference
DSA KeyGen (FIPS186‐4)A4481L ‐ 2048, 3072 N ‐ 224, 256FIPS 186‐4
DSA PQGGen (FIPS186‐4)A4481L ‐ 2048, 3072 N ‐ 224, 256 Hash Algorithm ‐ SHA2‐224, SHA2‐256, SHA2‐384, SHA2‐512, SHA2‐512/224, SHA2‐512/256FIPS 186‐4

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3 Key derivation Table 8: Approved Algorithms ‐ Key derivation Key management This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 11
AlgorithmCAVP CertPropertiesReference
DSA PQGVer (FIPS186‐4)A4481L ‐ 1024, 2048, 3072 N ‐ 160, 224, 256 Hash Algorithm ‐ SHA‐1, SHA2‐224, SHA2‐256, SHA2‐384, SHA2‐512, SHA2‐512/224, SHA2‐512/256FIPS 186‐4
ECDSA KeyGen (FIPS186‐4)A4481Curve ‐ B‐233, B‐283, B‐409, B‐571, K‐233, K‐283, K‐409, K‐571, P‐224, P‐256, P‐384, P‐521 Secret Generation Mode ‐ Testing CandidatesFIPS 186‐4
ECDSA KeyVer (FIPS186‐4)A4481Curve ‐ B‐163, B‐233, B‐283, B‐409, B‐571, K‐163, K‐233, K‐283, K‐409, K‐571, P‐192, P‐224, P‐256, P‐384, P‐521FIPS 186‐4
EDDSA KeyGenA4481Curve ‐ ED‐25519, ED‐448FIPS 186‐5
EDDSA KeyVerA4481Curve ‐ ED‐25519, ED‐448FIPS 186‐5
Safe Primes Key GenerationA4481Safe Prime Groups ‐ ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, ffdhe8192, modp‐2048, modp‐3072, modp‐4096, modp‐6144, modp‐8192SP 800‐56A Rev. 3
Safe Primes Key VerificationA4481Safe Prime Groups ‐ ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, ffdhe8192, modp‐2048, modp‐3072, modp‐4096, modp‐6144, modp‐8192SP 800‐56A Rev. 3
RSA KeyGen (FIPS186‐4)A4481Key Generation Mode ‐ B.3.3 Modulo ‐ 2048, 3072, 4096 Primality Tests ‐ Table C.2 Private Key Format ‐ StandardFIPS 186‐4
AlgorithmCAVP CertPropertiesReference
KTS‐IFCA4481Modulo ‐ 2048, 3072, 4096, 6144 Key Generation Methods ‐ rsakpg1‐basic, rsakpg1‐crt, rsakpg1‐prime‐factor, rsakpg2‐basic, rsakpg2‐crt, rsakpg2‐prime‐factor Scheme ‐ KTS‐OAEP‐basic ‐ KAS Role ‐ initiator, responder Key Transport Method ‐ Key Length ‐ 1024SP 800‐56B Rev. 2
AlgorithmCAVP CertPropertiesReference
AES‐CMACA4481Direction ‐ Generation, Verification Key Length ‐ 128, 192, 256SP 800‐38B
AES‐GMACA4481Direction ‐ Decrypt, Encrypt IV Generation ‐ External, Internal IV Generation Mode ‐ 8.2.1 Key Length ‐ 128, 192, 256SP 800‐38D

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3 Table 9: Approved Algorithms ‐ Key management Table 10: Approved Algorithms ‐ Key transport Message authentication This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 12
AlgorithmCAVP CertPropertiesReference
HMAC‐SHA‐1A4481Key Length ‐ Key Length: 112‐2048 Increment 8FIPS 198‐1
HMAC‐SHA2‐224A4481Key Length ‐ Key Length: 112‐2048 Increment 8FIPS 198‐1
HMAC‐SHA2‐256A4481Key Length ‐ Key Length: 112‐2048 Increment 8FIPS 198‐1
HMAC‐SHA2‐384A4481Key Length ‐ Key Length: 112‐2048 Increment 8FIPS 198‐1
HMAC‐SHA2‐512A4481Key Length ‐ Key Length: 112‐2048 Increment 8FIPS 198‐1
HMAC‐SHA2‐512/224A4481Key Length ‐ Key Length: 112‐2048 Increment 8FIPS 198‐1
HMAC‐SHA2‐512/256A4481Key Length ‐ Key Length: 112‐2048 Increment 8FIPS 198‐1
HMAC‐SHA3‐224A4481Key Length ‐ Key Length: 112‐2048 Increment 8FIPS 198‐1
HMAC‐SHA3‐256A4481Key Length ‐ Key Length: 112‐2048 Increment 8FIPS 198‐1
HMAC‐SHA3‐384A4481Key Length ‐ Key Length: 112‐2048 Increment 8FIPS 198‐1
HMAC‐SHA3‐512A4481Key Length ‐ Key Length: 112‐2048 Increment 8FIPS 198‐1
KMAC‐128A4481Message Length ‐ Message Length: 0‐65536 Increment 8 Key Data Length ‐ Key Data Length: 128‐1024 Increment 8SP 800‐185
KMAC‐256A4481Message Length ‐ Message Length: 0‐65536 Increment 8 Key Data Length ‐ Key Data Length: 128‐1024 Increment 8SP 800‐185
AlgorithmCAVP CertPropertiesReference
SHA‐1A4481Message Length ‐ Message Length: 0‐65528 Increment 8 Large Message Sizes ‐ 1, 2, 4FIPS 180‐4
SHA2‐224A4481Message Length ‐ Message Length: 0‐65528 Increment 8 Large Message Sizes ‐ 1, 2, 4FIPS 180‐4
SHA2‐256A4481Message Length ‐ Message Length: 0‐65528 Increment 8 Large Message Sizes ‐ 1, 2, 4FIPS 180‐4
SHA2‐384A4481Message Length ‐ Message Length: 0‐65528 Increment 8 Large Message Sizes ‐ 1, 2, 4FIPS 180‐4
SHA2‐512A4481Message Length ‐ Message Length: 0‐65528 Increment 8 Large Message Sizes ‐ 1, 2, 4FIPS 180‐4
SHA2‐512/224A4481Message Length ‐ Message Length: 0‐65528 Increment 8 Large Message Sizes ‐ 1, 2, 4FIPS 180‐4
SHA2‐512/256A4481Message Length ‐ Message Length: 0‐65528 Increment 8 Large Message Sizes ‐ 1, 2, 4FIPS 180‐4
SHA3‐224A4481Message Length ‐ Message Length: 0‐65536 Increment 8 Large Message Sizes ‐ 1, 2, 4FIPS 202
SHA3‐256A4481Message Length ‐ Message Length: 0‐65536 Increment 8 Large Message Sizes ‐ 1, 2, 4FIPS 202

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3 Table 11: Approved Algorithms ‐ Message authentication Message digest This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 13
AlgorithmCAVP CertPropertiesReference
SHA3‐384A4481Message Length ‐ Message Length: 0‐65536 Increment 8 Large Message Sizes ‐ 1, 2, 4FIPS 202
SHA3‐512A4481Message Length ‐ Message Length: 0‐65536 Increment 8 Large Message Sizes ‐ 1, 2, 4FIPS 202
SHAKE‐128A4481Output Length ‐ Output Length: 16‐65536 Increment 8FIPS 202
SHAKE‐256A4481Output Length ‐ Output Length: 16‐65536 Increment 8FIPS 202
AlgorithmCAVP CertPropertiesReference
Counter DRBGA4481Prediction Resistance ‐ Yes Mode ‐ AES‐128, AES‐192, AES‐256 Derivation Function Enabled ‐ No, YesSP 800‐90A Rev. 1
Hash DRBGA4481Prediction Resistance ‐ Yes Mode ‐ SHA‐1, SHA2‐224, SHA2‐256, SHA2‐384, SHA2‐512, SHA2‐512/224, SHA2‐512/256SP 800‐90A Rev. 1
HMAC DRBGA4481Prediction Resistance ‐ Yes Mode ‐ SHA‐1, SHA2‐224, SHA2‐256, SHA2‐384, SHA2‐512, SHA2‐512/224, SHA2‐512/256SP 800‐90A Rev. 1
AlgorithmCAVP CertPropertiesReference
ECDSA SigGen (FIPS186‐4)A4481Component ‐ No, Yes Curve ‐ B‐233, B‐283, B‐409, B‐571, K‐233, K‐283, K‐409, K‐571, P‐224, P‐256, P‐384, P‐521 Hash Algorithm ‐ SHA2‐224, SHA2‐256, SHA2‐384, SHA2‐512, SHA2‐512/224, SHA2‐512/256FIPS 186‐4
ECDSA SigVer (FIPS186‐4)A4481Component ‐ No Curve ‐ B‐163, B‐233, B‐283, B‐409, B‐571, K‐163, K‐233, K‐283, K‐409, K‐571, P‐192, P‐224, P‐256, P‐384, P‐521 Hash Algorithm ‐ SHA‐1, SHA2‐224, SHA2‐256, SHA2‐384, SHA2‐512, SHA2‐512/224, SHA2‐512/256FIPS 186‐4
DSA SigGen (FIPS186‐4)A4481L ‐ 2048, 3072 N ‐ 224, 256 Hash Algorithm ‐ SHA2‐224, SHA2‐256, SHA2‐384, SHA2‐512, SHA2‐512/224, SHA2‐512/256FIPS 186‐4
DSA SigVer (FIPS186‐4)A4481L ‐ 1024, 2048, 3072 N ‐ 160, 224, 256 Hash Algorithm ‐ SHA‐1, SHA2‐224, SHA2‐256, SHA2‐384, SHA2‐512, SHA2‐512/224, SHA2‐512/256FIPS 186‐4
EDDSA SigGenA4481Curve ‐ ED‐25519, ED‐448FIPS 186‐5
EDDSA SigVerA4481Curve ‐ ED‐25519, ED‐448FIPS 186‐5

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3 Table 12: Approved Algorithms ‐ Message digest Random Table 13: Approved Algorithms ‐ Random Signature This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 14
AlgorithmCAVP CertPropertiesReference
RSA SigGen (FIPS186‐4)A4481Signature Type ‐ ANSI X9.31, PKCS 1.5, PKCSPSS Modulo ‐ 2048, 3072, 4096FIPS 186‐4
RSA SigGen (FIPS186‐5)A4481Modulo ‐ 2048, 3072, 4096 Signature Type ‐ pkcs1v1.5, pssFIPS 186‐5
RSA Signature Primitive (CVL)A4481Private Key Format ‐ crtFIPS 186‐4
RSA SigVer (FIPS186‐4)A4481Signature Type ‐ ANSI X9.31, PKCS 1.5, PKCSPSS Modulo ‐ 1024, 2048, 3072, 4096FIPS 186‐4
RSA SigVer (FIPS186‐5)A4481Modulo ‐ 2048, 3072, 4096 Signature Type ‐ pkcs1v1.5, pssFIPS 186‐5

Name CKG Section 4 CKG Section 5 CKG Section 6.2 Hash DRBG with SHA3‐256, SHA3‐512 HMAC DRBG with SHA3‐256, SHA3‐512

Properties

Implementation KeyPair FIPS Provider for OpenSSL 3 KeyPair FIPS Provider for OpenSSL 3 KeyPair FIPS Provider for OpenSSL 3 KeyPair FIPS Provider for OpenSSL 3 KeyPair FIPS Provider for OpenSSL 3

Reference NIST, SP 800‐133 Rev. 2 NIST, SP 800‐133 Rev. 2 NIST, SP 800‐133 Rev. 2 NIST, SP 800‐90A Rev. 1 NIST, SP 800‐90A Rev. 1

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3 Table 14: Approved Algorithms ‐ Signature Vendor‐Affirmed Algorithms: Table 15: Vendor‐Affirmed Algorithms Non‐Approved, Allowed Algorithms: N/A for this module. Non‐Approved, Allowed Algorithms with No Security Claimed: N/A for this Module. Non‐Approved, Not Allowed Algorithms: N/A for this Module. This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 15
Name Cipher (Unauth) Cipher (Auth) CKG Section 4 CKG Section 5 CKG Section 6.2Type BC‐UnAuth BC‐Auth CKG CKG CKGDescription AES ciphers Authenticated ciphers Using the Output of a Random Bit Generator Generation of Key Pairs for Asymmetric‐Key Algorithms Derivation of Symmetric KeysPropertiesAlgorithms AES‐CBC AES‐CBC‐CS1 AES‐CBC‐CS2 AES‐CBC‐CS3 AES‐CFB1 AES‐CFB128 AES‐CFB8 AES‐CTR AES‐ECB AES‐OFB AES‐XTS Testing Revision 2.0 AES‐CCM AES‐GCM AES‐KW AES‐KWP CKG Section 4 CKG Section 5 CKG Section 6.2
Key agreementKAS‐SSCKey agreementKAS:KAS‐ECC‐SSC provides between 112 and 256 bits of encryption strength; KAS‐FFC‐ SSC provides between 112 and 200 bits of encryption strength; KAS‐IFC‐SSC provides between 112 and 200 bits of encryption strengthKAS‐ECC CDH‐Component SP800‐56Ar3 KAS‐ECC‐SSC Sp800‐56Ar3 KAS‐FFC‐SSC Sp800‐56Ar3 KAS‐IFC‐SSC
Key derivationKAS‐135KDFKAS‐KDF HKDF SP800‐56Cr2
KAS‐56CKDFKAS‐KDF OneStep SP800‐56Cr2
KBKDFKAS‐KDF TwoStep SP800‐56Cr2
PBKDFKDF ANS 9.42 KDF ANS 9.63 KDF SP800‐108 KDF SSH PBKDF

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3

2.6 Security Function Implementations

This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 16
Name Key management ECC Key management Edwards Key management FFC Key management IFC Key transportType AsymKeyPair‐KeyGen AsymKeyPair‐KeyVer AsymKeyPair‐KeyGen AsymKeyPair‐KeyVer AsymKeyPair‐KeyGen AsymKeyPair‐KeyGen KTS‐EncapDescriptionProperties KTS:2048, 3072, 4096 or 6144‐ bit keys provide between 112 and 176 bits of encryption strengthAlgorithms TLS v1.2 KDF RFC7627 TLS v1.3 KDF ECDSA KeyGen (FIPS186‐4) ECDSA KeyVer (FIPS186‐4) EDDSA KeyGen EDDSA KeyVer DSA KeyGen (FIPS186‐4) DSA PQGGen (FIPS186‐4) DSA PQGVer (FIPS186‐4) Safe Primes Key Generation Safe Primes Key Verification RSA KeyGen (FIPS186‐4) KTS‐IFC
KTS (Cipher w/ CMAC, GMAC, HMAC, KMAC)BC‐AuthSP 800‐38F Section 3.1 ProvisionsKTS:128, 192 or 256‐bit keys provide between 128 and 256 bits of encryption strengthAES‐CBC
BC‐UnAuthAES‐CBC‐CS1
MACAES‐CBC‐CS2 AES‐CBC‐CS3 AES‐CFB1 AES‐CFB128 AES‐CFB8 AES‐CTR AES‐ECB AES‐OFB AES‐CCM AES‐GCM AES‐GMAC AES‐CMAC HMAC‐SHA‐1 HMAC‐SHA2‐224 HMAC‐SHA2‐256 HMAC‐SHA2‐384 HMAC‐SHA2‐512 HMAC‐SHA2‐512/224 HMAC‐SHA2‐512/256 HMAC‐SHA3‐224 HMAC‐SHA3‐256

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3 This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 17

Name KTS (AES KW, KWP) MAC AES (CMAC, GMAC) MAC HMAC MAC KMAC (XOF) Message Digest Message Digest (XOF SHAKE) Random

Type BC‐Auth MAC MAC XOF SHA XOF DRBG

Description

Properties KTS:128, 192 or 256‐bit keys provide between 128 and 256 bits of encryption strength

Algorithms HMAC‐SHA3‐384 HMAC‐SHA3‐512 KMAC‐128 KMAC‐256 AES‐KW AES‐KWP AES‐GMAC AES‐CMAC HMAC‐SHA‐1 HMAC‐SHA2‐224 HMAC‐SHA2‐256 HMAC‐SHA2‐384 HMAC‐SHA2‐512 HMAC‐SHA2‐512/224 HMAC‐SHA2‐512/256 HMAC‐SHA3‐224 HMAC‐SHA3‐256 HMAC‐SHA3‐384 HMAC‐SHA3‐512 KMAC‐128 KMAC‐256 SHA‐1 SHA2‐224 SHA2‐256 SHA2‐384 SHA2‐512 SHA2‐512/224 SHA2‐512/256 SHA3‐224 SHA3‐256 SHA3‐384 SHA3‐512 SHAKE‐128 SHAKE‐256 Counter DRBG Hash DRBG HMAC DRBG

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3 This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 18

Name Signature DSA Signature ECDSA Signature EDDSA Signature RSA

Type DigSig‐SigGen DigSig‐SigVer DigSig‐SigGen DigSig‐SigVer DigSig‐SigGen DigSig‐SigVer DigSig‐SigGen DigSig‐SigVer

Description

Properties

Algorithms DSA SigGen (FIPS186‐4) DSA SigVer (FIPS186‐4) ECDSA SigGen (FIPS186‐4) ECDSA SigVer (FIPS186‐4) EDDSA SigGen EDDSA SigVer RSA SigGen (FIPS186‐4) RSA SigGen (FIPS186‐5) RSA Signature Primitive RSA SigVer (FIPS186‐4) RSA SigVer (FIPS186‐5)

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3 Table 16: Security Function Implementations

2.7 Algorithm Specific Information

AES‐GCM: The Module supports internal IV generation using the Approved DRBG. The IV is at least 96 bits in length per SP 800‐38D Section 8.2.2, and the Approved DRBG generates outputs such that the (key, IV) pair collision probability is less than 2‐32 per SP 800‐38D Section 8. AES‐GCM IVs shall be used in compliance with FIPS 140‐3 IG C.H scenario 1a (TLS/DTLS 1.2, per RFC 5288), 1d (SSHv2, per RFC 5647) and 5 (TLS 1.3, per RFC 8446). The Module is compatible with TLS/DTLS 1.2 protocol and provides the primitives to support the AES GCM ciphersuites from SP 800‐52 Rev. 1 Section 3.3.1. The Module’s implementation of AES‐GCM is used together with one or more applications outside the Module’s cryptographic boundary that implement the specified protocols; these protocols have not been reviewed or tested by the CAVP and CMVP. In each of the protocols, if the Module’s power is lost and then restored, the key used for the AES GCM encryption/decryption shall be re‐distributed. This condition is not enforced by the Module but is met implicitly. The Module does not retain any state across reset or power‐cycles: AES‐GCM key/IVs are not stored in non‐volatile persistent memory (i.e., disk), hence no re‐connection can occur without a fresh key establishment operation and the associated SSPs. The Module explicitly ensures that the counter (the nonce_explicit part of the IV) does not exhaust the maximum number of possible values of 264‐1 for a given session key. If this exhaustion condition is observed, the Module returns an error indication to the calling application, which will then need to either abort the connection, or trigger a handshake to establish a new encryption key. XTS‐AES: In accordance with SP 800‐38E, the XTS‐AES algorithm is to be used for confidentiality on storage devices. The Module complies with FIPS 140‐3 IG C.I by:  Generating Key_1 and Key_2 independently according to the rules for component symmetric keys from SP 800‐133 Rev. 2, Section 6.3.  Explicitly checking that Key_1 ≠ Key_2 before using the keys in the XTS‐AES algorithm to process data with them. This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 19

The strength of the Data Protection Key is based on the strength of the Password and/or Passphrase used in key derivation. SP 800‐132 does not impose

any strictly defined requirements on the strength of a password. It says that “passwords should be strong enough so that it is infeasible for attackers to

get access by guessing a password.”

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3 Key Agreement: The Module implements the following Approved key agreement methods which have been CAVP tested and validated:  KAS‐ECC‐SSC per SP 800‐56A Rev. 3 (FIPS 140‐3 IG D.F Scenario 2, path 1).  KAS‐FFC‐SSC per SP 800‐56A Rev. 3 (FIPS 140‐3 IG D.F Scenario 2, path 1).  KAS‐IFC‐SSC per SP 800‐56B Rev. 2 (FIPS 140‐3 IG D.F Scenario 1, path 1). The Module obtains the FIPS 140‐3 IG D.F required key agreement assurances:  SP 800‐56A Rev. 3 in accordance with Section 5.6.2.  SP 800‐56B Rev. 2 in accordance with Section 6.4. PBKDF: The implemented PBKDF uses Option 1a specified in SP 800‐132 Section 5.4. The choice to use the PBKDF with a password or passphrase is entirely outside the scope of the Module, managed by the calling application

Page 20

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3 The iteration count shall be selected as large as possible, as long as the time required to generate the key using the entered password is acceptable for the users. The Module enforces the following SP 800‐132 compliance checks:  The iteration count is at least 1000.  The salt length is at least 128 bits.  The derived key length is at least 112 bits. RSA: The Module complies with FIPS 140‐3 IG C.F as follows:  RSA Key Generation, Signature Generation and Signature Verification have been tested and validated with all implemented modulus lengths for which CAVP testing is available: k = 1024 (legacy Signature Verification only), k = 2048, k = 3072, and k = 4096.  The Module also supports RSA Key Generation, Signature Generation and Signature Verification with modulus lengths for which CAVP testing is not available: k > 4096. SHA‐3 and SHAKE: The Module complies with FIPS 140‐3 IG C.C as follows:  All implemented SHA‐3 and SHAKE functions have been tested and validated on all of the Module’s operating environments.  Vendor affirmation is claimed for use of the SHA3‐256 and SHA3‐512 hash functions as part of the Hash DRBG and HMAC DRBG, for which CAVP testing with SHA‐3 is not available.

2.8 RBG and Entropy

N/A for this Module. The calling application is responsible for use of a SP 800‐90B compliant entropy source outside the Module boundary providing at least 256 bits of security strength. Entropy is supplied to the Module via callback functions. The following caveat applies per FIPS 140‐3 IG 9.3.A: No assurance of the minimum strength of generated SSPs (e.g., keys).

2.9 Key Generation

The Module:  Produces random values in accordance with SP 800‐133 Rev. 2 Section 4, in that the DRBG output is provided directly as the random output.  Does not provide any service beyond random value generation for symmetric key generation. SSPs used with symmetric key algorithms are provided by the calling application.  Produces asymmetric keys in accordance with SP 800‐133 Rev. 2 Section 5, in that all asymmetric keys generated by the Module (the Key management service) provide the output of the approved key generation algorithm with no post‐processing or manipulation of the generated key pairs. As noted in the previous item, random values used in the asymmetric key generation algorithms are direct outputs of the DRBG. Keys produced by the Module use an internal Counter DRBG for which the minimum key size and equivalent security strength is 128 bits.  Supports symmetric key derivation in accordance with SP 800‐133 Rev. 2 Section 6.2, using the approved and CAVP listed KDF algorithms. This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 21
Physical PortLogical Interface(s)Data That Passes
N/A (API ‐ input)Control Input Data InputAPI input: stack frame including non‐sensitive parameters.
N/A (API ‐ output)Data Output Status OutputAPI output: output parameters and return value resulting from call execution.

Name CO

Type Role

Operator Type CO

Authentication Methods

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3

2.10 Key Establishment

The Module implements key agreement methods compliant with FIPS 140‐3 IG D.F and key transport methods compliant with FIPS 140‐3 IG D.G. Strengths are provided in Section 2.6.

2.11 Industry Protocols

The Module conforms to FIPS 140‐3 IG D.C References to the Support of Industry Protocols: while it provides SP 800‐56A Rev. 3 conformant schemes and API entry points oriented to TLS usage, the Module does not contain the full implementation of TLS. The following caveat is required: No parts of the TLS protocol, other than the approved cryptographic algorithms and the KDFs, have been tested by the CAVP and CMVP.

3 Cryptographic Module Interfaces
3.1 Ports and Interfaces

Table 17: Ports and Interfaces The Module does not interact with physical ports. The Control Output interface is not applicable, as the Module does not control other components.

4 Roles, Services, and Authentication
4.2 Roles

Table 18: Roles The Module supports the mandatory Cryptographic Officer (CO) operational role only (implicitly identified), and does not support a maintenance role or a bypass capability. The Module does not provide an authentication or identification method of its own. The CO role is assumed by meeting the conditions of Section 11 of this document and in associated Guidance Documentation. This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 22
NameDescriptionIndicatorInputsOutputsSecurity FunctionsSSP Access
CipherEncrypt or decrypt data,FIPS_OKEncryption or decryption key; plaintext or ciphertext data; flags.Status return. Plaintext or ciphertext data.Cipher (Unauth) Cipher (Auth)CO
including AEAD modes (CCM,‐ SC_EDK_AES: W,E
GCM).‐ SC_EDK_XTS: W,E
Get capabilitiesReports information on the requested capabilities.FIPS_OKProvider context, capability, callback pointer and arguments.Description of capabilities.
InitializeModule initialization,FIPS_OKCore handle, dispatch in and out, provider context.Initialization status (1 = pass, 0 = fail).Random MAC HMACCO
including instantiation of the‐ DRBG_EI: W,E,Z
opaque (managed within the‐ DRBG_Seed: G,E,Z
module) Counter DRBG‐ DRBG_Key: G,W,E
instance.‐ DRBG_V: G,W,E
Key agreementPerform key agreementFIPS_OKKey structs (key agreement keys); flags.Status return; key agreement shared secret.CKG Section 5 Key agreementCO
primitives on behalf of the‐ KAS_Private_ECC:
calling process (does notW,E
establish keys into the‐ KAS_Public_ECC: W,E
module).‐ KAS_Private_FFC: W,E ‐ KAS_Public_FFC: W,E ‐ KAS_Private_IFC: W,E ‐ KAS_Public_IFC: W,E ‐ KAS_SS_ECC: G,R ‐ KAS_SS_FFC: G,R ‐ KAS_SS_IFC: G,R
Key derivationDerive keying material from aFIPS_OKKey agreement shared secret; flags.Status return; derived keying material.Key derivation CKG Section 6.2CO
shared secret.‐ KD_DKM_KDF: G,R ‐ KD_PW_PBKDF: W,E ‐ KD_DKM_PBKDF: G,R ‐ KD_SK: W,E
Key managementGenerate asymmetric keyFIPS_OKECDSA, EdDSA: curve identifier. DSA, RSA: domain parameter targets.Status return; general digital signature private and public keys.Key management ECC Key management Edwards Key management FFC Key management IFC CKG Section 4CO
pairs.‐ DRBG_C: G,W,E ‐ DRBG_Key: W,G,E ‐ DRBG_V: W,G,E ‐ GKP_Private_ECC: G,R ‐ GKP_Public_ECC: G,R ‐ GKP_Private_Edwards: G,R ‐ GKP_Public_Edwards:

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3

4.3 Approved Services

This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 23
NameDescriptionIndicatorInputsOutputsSecurity FunctionsSSP Access G,R ‐ GKP_Private_FFC: G,R ‐ GKP_Public_FFC: G,R ‐ GKP_Private_IFC: G,R ‐ GKP_Public_IFC: G,R
Key transportEncapsulate or decapsulateFIPS_OKKey encapsulation/decapsulation key or Key wrap/unwrap key.Status return; key transport shared secret.CKG Section 5 Key transport KTS (Cipher w/ CMAC, GMAC, HMAC, KMAC) KTS (AES KW, KWP)CO
key material on behalf of the‐ KTS_KDK_IFC: W,E
calling process.‐ KTS_KEK_IFC: W,E ‐ KTS_SS_IFC: G,R
Message authenticationGenerate or verify dataFIPS_OKKeyed hash key.Status return; MAC output value.MAC AES (CMAC, GMAC) MAC HMAC MAC KMAC (XOF)CO
integrity.‐ KH_Key_AES‐CMAC: W,E ‐ KH_Key_AES‐GMAC: W,E ‐ KH_Key_HMAC: W,E ‐ KH_Key_KMAC: W,E
Message digestGenerate a message digest.FIPS_OKMessage; flags.Status return; Hash output value.Message Digest Message Digest (XOF SHAKE)
QueryReport available crypto operations.FIPS_OKProvider context, operation ID.Array of available operations.
RandomGenerate random bits usingFIPS_OKDRBG struct (RBG State); DRBG_Seed.Status return; Random value.Random CKG Section 4CO
the DRBG.‐ DRBG_C: W,E ‐ DRBG_EI: W,E,Z ‐ DRBG_Seed: G,E,Z ‐ DRBG_Key: W,E ‐ DRBG_V: W,E
Self‐testPerform the self‐test sequence.FIPS_OKProvider context.Status (1 = pass, 0 = fail).
Show module name and versioning informationReturn module name and versioning information.FIPS_OKProvider context, parameter types (array).Parameter types (array) with: Name, Version.

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3 G,R W,E This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 24
Name Show statusDescription OpenSSL core metadata (Gettable parameters; Get parameters).Indicator FIPS_OKInputs Provider context, parameter types (array).Outputs Parameter types with: BuildInfo, Status, SecurityChecks; Status return.Security FunctionsSSP Access
SignatureGenerate or verify digitalFIPS_OKSign: signing key; message. Verify: signature value; flags; sizes.Status return;CKG Section 5 Signature DSA Signature ECDSA Signature EDDSA Signature RSACO
signatures. (SSPs are passed inSignature value.‐ DS_SGK_ECC: W,E
by the calling process.)‐ DS_SVK_ECC: W,E ‐ DS_SGK_Edwards: W,E ‐ DS_SVK_Edwards: W,E ‐ DS_SGK_FFC: W,E ‐ DS_SVK_FFC: W,E ‐ DS_SGK_IFC: W,E ‐ DS_SVK_IFC: W,E
TeardownUninstantiate the module;FIPS_OKProvider context.None.CO
zeroizes internal CTR DRBG‐ DRBG_Key: Z
state (DRBG_Key, DRBG_V).‐ DRBG_V: Z
ZeroizeZeroization of allocated keyFIPS_OKMemory pointer.Void.CO
structures using‐ DRBG_C: Z
openssl_cleanse.‐ DRBG_EI: Z ‐ DRBG_Key: Z ‐ DRBG_Seed: Z ‐ DRBG_V: Z ‐ DS_SGK_ECC: Z ‐ DS_SGK_Edwards: Z ‐ DS_SGK_FFC: Z ‐ DS_SGK_IFC: Z ‐ DS_SVK_ECC: Z ‐ DS_SVK_Edwards: Z ‐ DS_SVK_FFC: Z ‐ DS_SVK_IFC: Z ‐ GKP_Private_ECC: Z ‐ GKP_Private_Edwards: Z ‐ GKP_Private_FFC: Z ‐ GKP_Private_IFC: Z

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3 W,E ‐ Z This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 25

Name

Description

Indicator

Inputs

Outputs

Security Functions

SSP Access ‐ GKP_Public_ECC: Z ‐ GKP_Public_Edwards: Z ‐ GKP_Public_FFC: Z ‐ GKP_Public_IFC: Z ‐ KAS_Private_ECC: Z ‐ KAS_Private_FFC: Z ‐ GKP_Private_ECC: Z ‐ KAS_Private_IFC: Z ‐ KAS_Public_ECC: Z ‐ KAS_Public_FFC: Z ‐ KAS_Public_IFC: Z ‐ KAS_SS_ECC: Z ‐ KD_DKM_KDF: Z ‐ KD_DKM_PBKDF: Z ‐ KD_SK: Z ‐ KH_Key_AES‐CMAC: Z ‐ KH_Key_AES‐GMAC: Z ‐ KH_Key_HMAC: Z ‐ KH_Key_KMAC: Z ‐ KTS_KDK_IFC: Z ‐ KTS_KEK_IFC: Z ‐ KTS_SS_IFC: Z ‐ KAS_SS_ECC: Z ‐ SC_EDK_AES: Z ‐ SC_EDK_XTS: Z

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3 Z Table 19: Approved Services All services implemented by the Module correspond to the functionality described by the fips_query function, which returns available services based on an operation_id input. The fips_get_params function provides access to the current status of the Module as well as the name and version; this information correlates to the validation listing. A 1 value returned in status indicates the Module is running without error (FIPS_OK); a 0 return indicates an error (with additional error details indicated as described in the release specific API documentation). Services are only operational in the running state. Any attempts to access services in any other state will result in an error being returned. If the integrity test or any CAST fails then any attempt to access any service will result in an error being returned. The OpenSSL toolkit OSSL_PROVIDER_get_params function is used to invoke fips_get_params, when called with the Module’s global handle and a pointer to a parameter structure (initialized using provider_gettable_params or the equivalent). This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 26

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3 Regarding the Indicator of approved security services, the Module conforms to FIPS 140‐3 IG 2.4.C Approved Security Service Indicator, similar to example 2. Each service provides context sensitive status responses as described in the OpenSSL 3 API manual pages; generally, functions of return type int return the value 1 for success with other error codes as appropriate for the call (described in API documentation). The Module’s name and version parameters (as cited in Section 2) along with the Module’s internal indicators of the security‐check and conditional‐errors settings are used to confirm the Module is the validated Module operating in the approved mode with only approved security services. Note that the caller provides the KAS_Private and KAS_Public keys for shared secret computation; the caller’s exchange and assurance of PSPs with the remote participant is outside the scope of the Module.

4.4 Non‐Approved Services
4.5 External Software/Firmware Loaded
5 Software/Firmware Security
5.1 Integrity Techniques

The Module uses HMAC‐SHA2‐256 as the approved integrity technique; the file fips.so.mac contains the integrity reference value. The Module is provided in an executable form (as fips.so shared object for use in Linux environments).

5.2 Initiate on Demand

The operator can initiate the integrity test on demand by calling fips_self_test (invoked using OSSL_PROVIDER_self_test called with the Module’s global handle) or reloading the Module.

5.3 Open‐Source Parameters

In accordance with ISO/IEC 19790:2012 Annex B, as the Module is open source, the tools used to build the Module as tested are:  gcc version 9.3.0  perl v5.30.0  gnu make v4.2.1 This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 27
Storage Area NameDescriptionPersistence Type
RAMR: Random access memoryDynamic

Name I O

From Calling process Call stack (API) output parameters

To Call stack (API) input parameters Calling process

Format Type Plaintext Plaintext

Distribution Type Manual Manual

Entry Type Electronic Electronic

SFI or Algorithm

Zeroization MethodDescriptionRationaleOperator Initiation
CC (Cleanse): Caller invocation of openssl_cleanse.Overwrites with zerosCaller invocation of openssl_cleanse
TT (Teardown): Module unload ‐ invokes cleanse internally.Overwrites with zerosOccurs when module is unloaded

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3

6 Operational Environment
6.1 Operational Environment Type and Requirements

Type of Operational Environment: Modifiable No operational environment restrictions are required for operation in the approved mode. All conditions for operation of the Module in the approved mode are given in Section 2.4. The Module conforms to FIPS 140‐3 IG 2.3.C Processor Algorithm Accelerators (PAA) and Processor Algorithm Implementation (PAI). The AES‐NI functions are identified by FIPS 140‐3 IG 2.3.C as a known PAA.

7 Physical Security
8 Non‐Invasive Security
9 Sensitive Security Parameters Management
9.1 Storage Areas
9.2 SSP Input‐Output Methods

Table 21: SSP Input‐Output Methods

9.3 SSP Zeroization Methods

Table 22: SSP Zeroization Methods This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 28

Name DRBG_C DRBG_EI DRBG_Key DRBG_Seed DRBG_V DS_SGK_ECC DS_SGK_Edwards DS_SGK_FFC DS_SGK_IFC

Description Element of Hash DRBG state. Entropy input from an external source used for DRBG seeding. Element of CTR DRBG or HMAC DRBG state. Seed used for DRBG Instantiation and Reseed. Element of CTR, Hash or HMAC DRBG state. SigGen (private) key. SigGen (private) key. SigGen (private) key. SigGen (private) key.

Size ‐ Strength Size: 440‐888 ‐ Strength: 160 ≤ s ≤ 256 Size: 128‐2^35 ‐ Strength: 128 ≤ s ≤ 256 Size: 128‐256, 128‐256 ‐ Strength: 128 ≤ s ≤ 256, 160 ≤ s ≤ 256 Size: 128‐256 ‐ Strength: 128 ≤ s ≤ 256 Size: 128‐256, 128‐256, 128‐256 ‐ Strength: 128 ≤ s ≤ 256, 128 ≤ s ≤ 256, 128 ≤ s ≤ 256 Size: 233, 283, 409, 571, 233, 283, 409, 571, 224, 256, 384, 521 ‐ Strength: s = 112, s = 128, s = 192, s = 256, s = 112, s = 128, s = 192, s = 256, s = 112, s = 128, s = 192, s = 256 Size: 255, 448 ‐ Strength: s = 128, s = 224 Size: 2048, 2048, 3072 ‐ Strength: s = 112, s = 112, s = 128 Size: 2048, 3072, 4096, 6144, 8192 ‐ Strength: s = 112, s = 128, s = 152, s = 176, s = 200

Type ‐ Category Hash_DRBG_C ‐ CSP Other ‐ CSP CTR_DRBG_Key, HMAC_DRBG_Key ‐ CSP Other ‐ CSP CTR_DRBG_Key, Hash_DRBG_Key, HMAC_DRBG_Key ‐ CSP B‐233, B‐283, B‐409, B‐571, K‐ 233, K‐283, K‐409, K‐571, P‐224, P‐256, P‐384, P‐521 ‐ CSP Edwards25519, Edwards448 ‐ CSP L=2048/N=224, L=2048/N=256, L=3072/N=256 ‐ CSP k=2048, k=3072, k=4096, k=6144, k=8192 ‐ CSP

Generated By Random Random Random Random

Established By

Used By Random Random Random Random Random Signature ECDSA Signature EDDSA Signature DSA Signature RSA

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3 All SSPs are zeroized (overwritten with 0s) when they are no longer needed:

9.4 SSPs

This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 29

Name DS_SVK_ECC DS_SVK_Edwards DS_SVK_FFC DS_SVK_IFC GKP_Private_ECC GKP_Private_Edwards GKP_Private_FFC GKP_Private_IFC GKP_Public_ECC

Description SigVer (public) key. SigVer (public) key. SigVer (public) key. SigVer (public) key. General ECDSA (private) key. General EdDSA (private) key. General FFC (private) key. General RSA (private) key. General ECDSA (public) key.

Size ‐ Strength Size: 163, 233, 283, 409, 571, 163, 233, 283, 409, 571, 192, 224, 256, 384, 521 ‐ Strength: s < 112, s = 112, s = 128, s = 192, s = 256, s < 112, s = 112, s = 128, s = 192, s = 256, s < 112, s = 112, s = 128, s = 192, s = 256 Size: 255, 448 ‐ Strength: s = 128, s = 224 Size: 1024, 2048, 2048, 3072 ‐ Strength: s < 112, s = 112, s = 112, s = 128 Size: 1024, 2048, 3072, 4096, 6144, 8192 ‐ Strength: s ≤ 112, s = 112, s = 128, s = 152, s = 176, s = 200 Size: 233, 283, 409, 571, 233, 283, 409, 571, 224, 256, 384, 521 ‐ Strength: s = 112, s = 128, s = 192, s = 256, s = 112, s = 128, s = 192, s = 256, s = 112, s = 128, s = 192, s = 256 Size: 255, 448 ‐ Strength: s = 128, s = 224 Size: 2048, 2048, 3072 ‐ Strength: s = 112, s = 112, s = 128 Size: 2048, 3072, 4096, 6144, 8192 ‐ Strength: s = 112, s = 128, s = 152, s = 176, s = 200 Size: 233, 283, 409, 571, 233, 283, 409, 571, 224, 256, 384, 521 ‐ Strength: s = 112, s = 128, s = 192, s = 256, s = 112, s = 128, s

Type ‐ Category B‐163, B‐233, B‐283, B‐409, B‐ 571, K‐163, K‐233, K‐283, K‐409, K‐571, P‐192, P‐224, P‐256, P‐ 384, P‐521 ‐ PSP Edwards25519, Edwards448 ‐ PSP L=1024/N=160, L=2048/N=224, L=2048/N=256, L=3072/N=256 ‐ PSP k=1024, k=2048, k=3072, k=4096, k=6144, k=8192 ‐ PSP B‐233, B‐283, B‐409, B‐571, K‐ 233, K‐283, K‐409, K‐571, P‐224, P‐256, P‐384, P‐521 ‐ CSP Edwards25519, Edwards448 ‐ CSP L=2048/N=224, L=2048/N=256, L=3072/N=256 ‐ CSP k=2048, k=3072, k=4096, k=6144, k=8192 ‐ CSP B‐233, B‐283, B‐409, B‐571, K‐ 233, K‐283, K‐409, K‐571, P‐224, P‐256, P‐384, P‐521 ‐ PSP

Generated By Key management ECC Key management Edwards Key management FFC Key management IFC Key management ECC

Established By

Used By Signature ECDSA Signature EDDSA Signature DSA Signature RSA Key management ECC Key management Edwards Key management FFC Key management IFC Key management ECC

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3 This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 30

Name GKP_Public_Edwards GKP_Public_FFC GKP_Public_IFC KAS_Private_ECC KAS_Private_FFC KAS_Private_IFC KAS_Public_ECC KAS_Public_FFC

Description General EdDSA (public) key. General FFC (public) key. General RSA (public) key. Key pair component used for shared secret generation. Key pair component used for shared secret generation. Key pair component used for shared secret generation. Peer key pair component used for shared secret generation. Peer key pair component used for shared secret generation.

Size ‐ Strength = 192, s = 256, s = 112, s = 128, s = 192, s = 256 Size: 255, 448 ‐ Strength: s = 128, s = 224 Size: 2048, 2048, 3072 ‐ Strength: s = 112, s = 112, s = 128 Size: 2048, 3072, 4096, 6144, 8192 ‐ Strength: s = 112, s = 128, s = 152, s = 176, s = 200 Size: 233, 283, 409, 571, 233, 283, 409, 571, 224, 256, 384, 521 ‐ Strength: s = 112, s = 128, s = 192, s = 256, s = 112, s = 128, s = 192, s = 256, s = 112, s = 128, s = 192, s = 256 Size: 2048, 3072, 4096, 6144, 8192 ‐ Strength: s = 112, 112 ≤ s ≤ 128, 112 ≤ s ≤ 152, 112 ≤ s ≤ 176, 112 ≤ s ≤ 200 Size: 2048, 3072, 4096, 6144, 8192 ‐ Strength: s = 112, s = 128, s = 152, s = 176, s = 200 Size: 233, 283, 409, 571, 233, 283, 409, 571, 224, 256, 384, 521 ‐ Strength: s = 112, s = 128, s = 192, s = 256, s = 112, s = 128, s = 192, s = 256, s = 112, s = 128, s = 192, s = 256 Size: 2048, 3072, 4096, 6144, 8192 ‐ Strength: s = 112, 112 ≤ s ≤ 128,

Type ‐ Category Edwards25519, Edwards448 ‐ PSP L=2048/N=224, L=2048/N=256, L=3072/N=256 ‐ PSP k=2048, k=3072, k=4096, k=6144, k=8192 ‐ PSP B‐233, B‐283, B‐409, B‐571, K‐ 233, K‐283, K‐409, K‐571, P‐224, P‐256, P‐384, P‐521 ‐ CSP ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, ffdhe8192 ‐ CSP k=2048, k=3072, k=4096, k=6144, k=8192 ‐ CSP B‐233, B‐283, B‐409, B‐571, K‐ 233, K‐283, K‐409, K‐571, P‐224, P‐256, P‐384, P‐521 ‐ PSP ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, ffdhe8192 ‐ PSP

Generated By Key management Edwards Key management FFC Key management IFC

Established By

Used By Key management Edwards Key management FFC Key management IFC Key agreement Key agreement Key agreement Key agreement Key agreement

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3 This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 31

Name KAS_Public_IFC KAS_SS_ECC KAS_SS_FFC KAS_SS_IFC KD_DKM_KDF KD_DKM_PBKDF KD_PW_PBKDF KD_SK KH_Key_AES‐CMAC KH_Key_AES‐GMAC KH_Key_HMAC KH_Key_KMAC KTS_KDK_IFC

Description Peer key pair component used for shared secret generation. Shared secret calculation z output value (for KDF). Shared secret calculation z output value (for KDF). Shared secret calculation z output value (for KDF). Key derivation derived keying material. PBKDF derived key material PBKDF password input. Key derivation source key material. Keyed Hash key. Keyed Hash key. Keyed Hash key. Keyed Hash key. RSA key de‐ encapsulation Key (key transport).

Size ‐ Strength 112 ≤ s ≤ 152, 112 ≤ s ≤ 176, 112 ≤ s ≤ 200 Size: 2048, 3072, 4096, 6144, 8192 ‐ Strength: s = 112, s = 128, s = 152, s = 176, s = 200 Size: 112 ‐ 256 ‐ Strength: 112 ‐ 256 Size: 112 ‐ 256 ‐ Strength: 112 ‐ 200 Size: 112 ‐ 256 ‐ Strength: 112 ‐ 200 Size: 128 ‐ 256 ‐ Strength: 128 ‐ 256 Size: 128 ‐ Strength: 128 Size: 128 ‐ Strength: 128 Size: 128 ‐ 256 ‐ Strength: 128 ‐ 256 Size: 128, 192, 256 ‐ Strength: s = 128, s = 192, s = 256 Size: 128, 192, 256 ‐ Strength: s = 128, s = 192, s = 256 Size: 112 ‐ 2048 ‐ Strength: 112 ‐ 256 Size: 128, 256 ‐ Strength: 112 ≤ s ≤ 128, 112 ≤ s ≤ 256 Size: 2048, 3072, 4096, 6144 ‐ Strength: s = 112, s = 128, s = 152, s = 176

Type ‐ Category k=2048, k=3072, k=4096, k=6144, k=8192 ‐ PSP Other ‐ CSP Other ‐ CSP Other ‐ CSP Other ‐ CSP Other ‐ CSP Other ‐ CSP Other ‐ CSP AES‐128, AES‐192, AES‐256 ‐ CSP AES‐128, AES‐192, AES‐256 ‐ CSP Other ‐ CSP KMAC128, KMAC256 ‐ CSP Other ‐ CSP

Generated By Key derivation Key derivation Key derivation

Established By Key agreement Key agreement Key agreement

Used By Key agreement Key agreement Key agreement Key agreement Key derivation Key derivation Key derivation Key derivation MAC AES (CMAC, GMAC) MAC AES (CMAC, GMAC) MAC HMAC MAC KMAC (XOF) Key transport

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3 This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 32

Name KTS_KEK_IFC KTS_SS_IFC SC_EDK_AES SC_EDK_XTS

Description RSA key encapsulation Key (key transport). RSA key transport shared secret. Symmetric encryption and decryption. Symmetric encryption and decryption.

Size ‐ Strength Size: 2048, 3072, 4096, 6144 ‐ Strength: s = 112, s = 128, s = 152, s = 176 Size: 112 ‐ 256 ‐ Strength: s = 112 ‐ s = 176 Size: 128, 192, 256 ‐ Strength: s = 128, s = 192, s = 256 Size: 256, 512 ‐ Strength: s = 128, s = 256

Type ‐ Category Other ‐ PSP Other ‐ CSP AES‐128, AES‐192, AES‐256 ‐ CSP XTS‐128, XTS‐256 ‐ CSP

Generated By

Established By Key transport

Used By Key transport Key transport Cipher (Unauth) Cipher (Auth) Cipher (Unauth)

NameInput ‐ OutputStorageStorage DurationZeroizationRelated SSPs
DRBG_CIRAM:PlaintextCall lifetimeCDRBG_Seed:Derived From
ODRBG_V:Used with
DRBG_EIIRAM:PlaintextCall lifetimeCDRBG_Seed:Constituent
DRBG_KeyIRAM:PlaintextCall lifetime (module up time for internal DRBG)CDRBG_Seed:Derived From
OTDRBG_V:Used with
DRBG_SeedRAM:PlaintextCall lifetimeCDRBG_C:Derives DRBG_Key:Derives DRBG_V:Derives DRBG_EI:Incorporates
DRBG_VIRAM:PlaintextCall lifetime (module up time for internal DRBG)CDRBG_Seed:Derived From
OTDRBG_Key:Used with
DS_SGK_ECCIRAM:PlaintextCall lifetimeCDS_SVK_ECC:Paired With
DS_SGK_EdwardsIRAM:PlaintextCall lifetimeCDS_SVK_Edwards:Paired With
DS_SGK_FFCIRAM:PlaintextCall lifetimeCDS_SVK_FFC:Paired With
DS_SGK_IFCIRAM:PlaintextCall lifetimeCDS_SVK_IFC:Paired With
DS_SVK_ECCIRAM:PlaintextCall lifetimeCDS_SGK_ECC:Paired With
DS_SVK_EdwardsIRAM:PlaintextCall lifetimeCDS_SGK_Edwards:Paired With
DS_SVK_FFCIRAM:PlaintextCall lifetimeCDS_SGK_FFC:Paired With
DS_SVK_IFCIRAM:PlaintextCall lifetimeCDS_SGK_IFC:Paired With
GKP_Private_ECCORAM:PlaintextCall lifetimeCGKP_Public_ECC:Paired With
GKP_Private_EdwardsORAM:PlaintextCall lifetimeCGKP_Public_Edwards:Paired With
GKP_Private_FFCORAM:PlaintextCall lifetimeCGKP_Public_FFC:Paired With
GKP_Private_IFCORAM:PlaintextCall lifetimeCGKP_Public_IFC:Paired With

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3 Table 23: SSP Table 1 This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 33
NameInput ‐ OutputStorageStorage DurationZeroizationRelated SSPs
GKP_Public_ECCORAM:PlaintextCall lifetimeCGKP_Private_ECC:Paired With
GKP_Public_EdwardsORAM:PlaintextCall lifetimeCGKP_Private_Edwards:Paired With
GKP_Public_FFCORAM:PlaintextCall lifetimeCGKP_Private_FFC:Paired With
GKP_Public_IFCORAM:PlaintextCall lifetimeCGKP_Private_IFC:Paired With
KAS_Private_ECCIRAM:PlaintextCall lifetimeCKAS_Public_ECC:Paired With
KAS_Private_FFCIRAM:PlaintextCall lifetimeCKAS_Public_FFC:Paired With
KAS_Private_IFCIRAM:PlaintextCall lifetimeCKAS_Public_IFC:Paired With
KAS_Public_ECCIRAM:PlaintextCall lifetimeCKAS_Private_ECC:Paired With
KAS_Public_FFCIRAM:PlaintextCall lifetimeCKAS_Private_FFC:Paired With
KAS_Public_IFCIRAM:PlaintextCall lifetimeCKAS_Private_IFC:Paired With
KAS_SS_ECCORAM:PlaintextCall lifetimeCKAS_Private_ECC:Calculated From KAS_Public_ECC:Calculated From
KAS_SS_FFCORAM:PlaintextCall lifetimeCKAS_Private_FFC:Calculated From KAS_Public_FFC:Calculated From
KAS_SS_IFCORAM:PlaintextCall lifetimeCKAS_Private_IFC:Calculated From KAS_Public_IFC:Calculated From
KD_DKM_KDFORAM:PlaintextCall lifetimeCKD_SK:Derived From
KD_DKM_PBKDFORAM:PlaintextCall lifetimeCKD_PW_PBKDF:Derived From
KD_PW_PBKDFIRAM:PlaintextCall lifetimeCKD_DKM_PBKDF:Derives
KD_SKIRAM:PlaintextCall lifetimeCKD_DKM_KDF:Derives
KH_Key_AES‐CMACIRAM:PlaintextCall lifetimeC
KH_Key_AES‐GMACIRAM:PlaintextCall lifetimeC
KH_Key_HMACIRAM:PlaintextCall lifetimeC
KH_Key_KMACIRAM:PlaintextCall lifetimeC
KTS_KDK_IFCIRAM:PlaintextCall lifetimeCKTS_SS_IFC:Unwraps
KTS_KEK_IFCIRAM:PlaintextCall lifetimeCKTS_SS_IFC:Wraps
KTS_SS_IFCORAM:PlaintextCall lifetimeCKTS_KDK_IFC:Unwrapped By KTS_KEK_IFC:Wrapped By
SC_EDK_AESIRAM:PlaintextCall lifetimeC
SC_EDK_XTSIRAM:PlaintextCall lifetimeC

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3 Table 24: SSP Table 2 Keys used for CASTs and the temporary value used in the integrity test are not SSPs; however, the latter is deleted after use as required by AS05.10. The Module maintains only the Counter DRBG state used for key generation as a persistent CSP; this DRBG instance is used exclusively for approved services. This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 34

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3

9.5 Additional Information

Key/Algorithm Type Equivalent Strengths: Reference sources for the strengths provided in SSP Table 1 are specified below. Equivalent strength is given for each key or algorithm type (as some algorithms do not use or produce keys). Block Cipher (and related functions):  AES (AES‐128, AES‐192, AES‐256): SP 800‐57 Part 1 Rev. 5 Table

  1. Digital Signature:  ECC (B‐163, B‐233, B‐283, B‐409, B‐571, K‐163, K‐233, K‐283, K‐409, K‐571, P‐192, P‐224, P‐256, P‐384, P‐521): SP 800‐186 Table 1 (provides approximate elliptic curve security strengths). SP 800‐186 and FIPS 140‐3 IG C.K indicate that the Binary (B‐) and Koblitz (K‐) curves are deprecated.  EdDSA (ED‐25519, ED‐448): SP 800‐186 Table 1.  FFC (DSA: L=1024/N=160, L=2048/N=224, L=2048/N=256, L=3072/N=256): SP 800‐57 Part 1 Rev. 5 Table
  2. Security strength for L=2048/N=256 is determined in accordance with FIPS 140‐3 IG D.B Strength of SSP Establishment Methods as y = min(x, N/2), where x is 112 and therefore y = min(112, 128) = 112.  IFC (RSA: k=1024, k=2048, k=3072, k=4096): SP 800‐57 Part 1 Rev. 5 Table
  3. In Digital Signature applications, security strength is primarily associated with the asymmetric key pair specification. The hash function used must have equivalent strength equal to or greater than the security strength of the associated key pair. Secure Hash (and related functions):  SHA‐1, SHA2 (SHA2‐224, SHA2‐256, SHA2‐384, SHA2‐512, SHA2‐512/224, SHA2‐512/256): SP 800‐107 Rev. 1 Table 1.  SHA3 (SHA3‐224, SHA3‐256, SHA3‐384, SHA3‐512): SP 800‐57 Part 1 Rev. 5 Table 3.  SHAKE (SHAKE128, SHAKE256): SP 800‐185 Section 8.1. Preimage resistance strength applies to hash algorithms used in DRBG, KDFs. Described also in SP 800‐57 Part 1 Rev. 5 Table
  4. Message Authentication:  KMAC (KMAC128, KMAC256): SP 800‐56C Rev. 2 Table
  5. Key Agreement:  KAS‐ECC‐SSC (B‐233, B‐283, B‐409, B‐571, K‐233, K‐283, K‐409, K‐571, P‐224, P‐256, P‐384, P‐521): SP 800‐56A Rev. 3 Table 24.  KAS‐FFC‐SSC (FB, FC, ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, ffdhe8192, modp‐2048, modp‐3072, modp‐4096, modp‐6144, modp‐8192): SP 800‐56A Rev. 3 Tables 25 and 26.  KAS‐IFC‐SSC (k=2048, k=3072, k=4096, k=6144, k=8192): SP 800‐56B Rev. 2 Table 4 (provides approximate security strengths). Key Agreement Key Derivation:  KDA OneStep: SP 800‐56C Rev. 2 Table 1 (hash), Table 2 (HMAC) and Table 3 (KMAC). This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.
Page 35

Algorithm or Test SW Integrity

Test Properties HMAC‐SHA2‐256 #A4481

Test Method HMAC over the complete module file image

Test Type SW/FW Integrity

Indicator FIPS_OK or PROV_R_FIPS_MODULE_IN_ERROR_STATE

Details

Algorithm or TestTest PropertiesTest MethodTest TypeIndicatorDetailsConditions
AES‐ECB128‐bitKATCASTFIPS_OKEncryptPerformed on module load.
AES‐ECB128‐bitKATCASTFIPS_OKDecryptPerformed on module load.
AES‐GCM256‐bitKATCASTFIPS_OKEncryptPerformed on module load.
AES‐GCM256‐bitKATCASTFIPS_OKDecryptPerformed on module load.
Counter DRBGAES‐128 with derivation functionKATCASTFIPS_OKInstantiate, Generate, ReseedPerformed on module load.
DSA SigGen (FIPS186‐4)2048‐bit with SHA2‐384KATCASTFIPS_OKSignPerformed on module load.
DSA SigVer (FIPS186‐4)2048‐bit with SHA2‐384KATCASTFIPS_OKVerifyPerformed on module load.
ECDSA SigGen (FIPS186‐4)P‐224 with SHA2‐512KATCASTFIPS_OKSignPerformed on module load.
ECDSA SigVer (FIPS186‐4)P‐224 with SHA2‐512KATCASTFIPS_OKVerifyPerformed on module load.
EDDSA ED448 SigGenEdwards448 SigGen with SHA2‐ 256KATCASTFIPS_OKSignPerformed on module load.
EDDSA ED448 SigVerEdwards448 SigVer with SHA2‐ 256KATCASTFIPS_OKVerifyPerformed on module load.
EDDSA ED25519 SigGenEdwards25519 SigGen with SHA2‐512KATCASTFIPS_OKSignPerformed on module load.
EDDSA ED25519 SigVerEdwards25519 SigVer with SHA2‐512KATCASTFIPS_OKVerifyPerformed on module load.
Hash DRBGSHA2‐256KATCASTFIPS_OKInstantiate, Generate, ReseedPerformed on module load.
HMAC DRBGSHA‐1KATCASTFIPS_OKInstantiate, Generate, ReseedPerformed on module load.
HMAC‐SHA2‐256SHA2‐256 with a 256‐bit keyKATCASTFIPS_OKGeneratePerformed on module load.

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3

10 Self‐Tests
10.1 Pre‐Operational Self‐Tests

Table 25: Pre‐Operational Self‐Tests

10.2 Conditional Self‐Tests

This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 36
Algorithm or TestTest PropertiesTest MethodTest TypeIndicatorDetailsConditions
KAS‐ECC‐SSCP‐256KATCASTFIPS_OKEphemeral Unified Shared SecretPerformed on module load.
Sp800‐56Ar3(Z) Computation
KAS‐FFC‐SSCL=2048/N=256KATCASTFIPS_OKdhEphem Shared Secret (Z)Performed on module load.
Sp800‐56Ar3Computation
KAS‐IFC‐SSCk=2048KATCASTFIPS_OKSP 800‐56B Rev. 2 Section 8.2.2 RSA Primitive ComputationPerformed on module load.
KAS‐KDFSHA2‐224KATCASTFIPS_OKSP 800‐56C Rev. 2 Section 4Performed on module load.
OneStep SP800‐OneStep KDF (AKA OpenSSL single‐
56Cr2step or SS‐KDF)
KAS‐KDFSHA2‐256KATCASTFIPS_OKSP 800‐56C Rev. 2 Section 5Performed on module load.
TwoStep SP800‐ 56Cr2TwoStep KDF (HKDF variant)
KDF ANS 9.42Fixed input KATKATCASTFIPS_OKSP 800‐135 Rev. 1 Section 5.1 ANSI X9.42‐2001 KDF KATPerformed on module load.
KDF ANS 9.63Fixed input KATKATCASTFIPS_OKSP 800‐135 Rev. 1 Section 5.1 X9.63‐2001 KDF KATPerformed on module load.
KDF SP800‐108HMAC‐SHA2‐256KATCASTFIPS_OKSP 800‐108 Rev. 1 Section 4.1 KAT for a Counter Mode KDFPerformed on module load.
KDF SSHFixed input KATKATCASTFIPS_OKSP 800‐135 Rev. 1 Section 5.2 SSHv2 KDF KATPerformed on module load.
KTS‐IFCk=2048KATCASTFIPS_OKSP 800‐56B Rev. 2 Decrypt for CRTPerformed on module load.
KTS‐IFCk=2048KATCASTFIPS_OKSP 800‐56B Rev. 2 Encrypt for BasicPerformed on module load.
KTS‐IFCk=2048KATCASTFIPS_OKSP 800‐56B Rev. 2 Decrypt for BasicPerformed on module load.
PBKDFSHA2‐256, 24‐byte password, 36‐byte salt, iteration count of 4096KATCASTFIPS_OKSP 800‐132 Section 5.3 KAT of Master Key derivationPerformed on module load.
RSA SigGen (FIPS186‐4)k=2048 with SHA2‐256KATCASTFIPS_OKSignPerformed on module load.
RSA SigVer (FIPS186‐4)k=2048 with SHA2‐256KATCASTFIPS_OKVerifyPerformed on module load.
SHA‐1SHA‐1KATCASTFIPS_OKSimple SHA KATPerformed on module load.
SHA2‐512SHA2‐512KATCASTFIPS_OKSimple SHA KATPerformed on module load.
SHA3‐256SHA3‐256KATCASTFIPS_OKSimple SHA KATPerformed on module load.
TLS v1.2 KDFFixed input KATKATCASTFIPS_OKSP 800‐135 Rev. 1 Section 4.2.2 TLSPerformed on module load.
RFC76271.2 KAT

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3 This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 37
Algorithm or TestTest PropertiesTest MethodTest TypeIndicatorDetailsConditions
TLS v1.3 KDFFixed input KATKATCASTFIPS_OKRFC8446 Section 7.1 TLS v1.3 KDF KATPerformed on module load.
DSA KeyGenPCT performed using thePCTPCTFIPS_OKSign, VerifyPerformed on FFC (DSA, KAS‐FFC‐SSC) key pair
(FIPS186‐4)generated key pairgeneration, prior to returning the key pair on conclusion of the call.
ECDSA KeyGenPCT performed using thePCTPCTFIPS_OKSign, VerifyPerformed on ECC (ECDSA) key pair generation,
(FIPS186‐4)generated key pairprior to returning the key pair on conclusion of the call.
EDDSA KeyGenPCT performed using thePCTPCTFIPS_OKSign, VerifyPerformed on Edwards (EdDSA) key pair
generated key pairgeneration, prior to returning the key pair on conclusion of the call.
RSA KeyGenPCT performed using thePCTPCTFIPS_OKSign, VerifyPerformed on IFC (RSA, KAS‐IFC‐SSC, KTS‐IFC) key
(FIPS186‐4)generated key pairpair generation, prior to returning the key pair on conclusion of the call.
Algorithm or TestTest MethodTest TypePeriodPeriodic Method
SW IntegrityHMAC over the complete module file imageSW/FW IntegrityOn demandModule load
Algorithm or TestTest MethodTest TypePeriodPeriodic Method
AES‐ECBKATCASTOn demandOn power on or reset
AES‐ECBKATCASTOn demandOn power on or reset
AES‐GCMKATCASTOn demandOn power on or reset
AES‐GCMKATCASTOn demandOn power on or reset
Counter DRBGKATCASTOn demandOn power on or reset
DSA SigGen (FIPS186‐4)KATCASTOn demandOn power on or reset
DSA SigVer (FIPS186‐4)KATCASTOn demandOn power on or reset
ECDSA SigGen (FIPS186‐4)KATCASTOn demandOn power on or reset
ECDSA SigVer (FIPS186‐4)KATCASTOn demandOn power on or reset
EDDSA ED448 SigGenKATCASTOn demandOn power on or reset

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3 Table 26: Conditional Self‐Tests The intended usage of asymmetric key pairs generated by the Module is not known at the time when the key pair is generated and the pairwise consistency test (PCT) is performed. In all cases, a sign and verify PCT is performed.

10.3 Periodic Self‐Test Information

Table 27: Pre‐Operational Periodic Information This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 38
Algorithm or TestTest MethodTest TypePeriodPeriodic Method
EDDSA ED448 SigVerKATCASTOn demandOn power on or reset
EDDSA ED25519 SigGenKATCASTOn demandOn power on or reset
EDDSA ED25519 SigVerKATCASTOn demandOn power on or reset
Hash DRBGKATCASTOn demandOn power on or reset
HMAC DRBGKATCASTOn demandOn power on or reset
HMAC‐SHA2‐256KATCASTOn demandOn power on or reset
KAS‐ECC‐SSC Sp800‐56Ar3KATCASTOn demandOn power on or reset
KAS‐FFC‐SSC Sp800‐56Ar3KATCASTOn demandOn power on or reset
KAS‐IFC‐SSCKATCASTOn demandOn power on or reset
KAS‐KDF OneStep SP800‐56Cr2KATCASTOn demandOn power on or reset
KAS‐KDF TwoStep SP800‐56Cr2KATCASTOn demandOn power on or reset
KDF ANS 9.42KATCASTOn demandOn power on or reset
KDF ANS 9.63KATCASTOn demandOn power on or reset
KDF SP800‐108KATCASTOn demandOn power on or reset
KDF SSHKATCASTOn demandOn power on or reset
KTS‐IFCKATCASTOn demandOn power on or reset
KTS‐IFCKATCASTOn demandOn power on or reset
KTS‐IFCKATCASTOn demandOn power on or reset
PBKDFKATCASTOn demandOn power on or reset
RSA SigGen (FIPS186‐4)KATCASTOn demandOn power on or reset
RSA SigVer (FIPS186‐4)KATCASTOn demandOn power on or reset
SHA‐1KATCASTOn demandOn power on or reset
SHA2‐512KATCASTOn demandOn power on or reset
SHA3‐256KATCASTOn demandOn power on or reset
TLS v1.2 KDF RFC7627KATCASTOn demandOn power on or reset
TLS v1.3 KDFKATCASTOn demandOn power on or reset
DSA KeyGen (FIPS186‐4)PCTPCTOn demandOn power on or reset
ECDSA KeyGen (FIPS186‐4)PCTPCTOn demandOn power on or reset
EDDSA KeyGenPCTPCTOn demandOn power on or reset
RSA KeyGen (FIPS186‐4)PCTPCTOn demandOn power on or reset

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3 Table 28: Conditional Periodic Information This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.

Page 39
NameDescriptionConditionsRecovery MethodIndicator
Self‐testThe self‐test failure errorIf one of the KATs fails or integrity testReload the Module intoPROV_R_FIPS_MODULE_IN_ERROR_STATE
failurestatefailsmemory

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3

10.4 Error States
10.5 Operator Initiation of Self‐Tests

Each time the Module is powered up it tests that the cryptographic algorithms still operate correctly and that sensitive data has not been damaged. The pre‐operational self‐tests are available on demand by reloading the Module. On instantiation, the Module performs the pre‐operational self‐test and all CASTs. All KATs must complete successfully prior to any other use of cryptography by the Module. The fips_self_test function (inclusive of software integrity verification) can also be called on demand, fulfilling AS05.11.

11 Life‐Cycle Assurance
11.1 Installation, Initialization, and Startup Procedures

During the manufacturing process, ZPE Systems executes the build and installation instructions for the Module. The Module is pre‐installed and configured in supported ZPE Systems solutions. The approved mode is enabled by default. There are no additional installation, configuration, or usage instructions for operators intending to use the Module.

11.2 Administrator Guidance

Guidance Documentation is inclusive of all information required per ISO/IEC 19790:2012 Section 7.11.9.

11.3 Non‐Administrator Guidance
11.4 Design and Rules

The inherent properties of the Module are:

  1. Manual key entry is not supported.
  2. Data output is inhibited during self‐tests, zeroization, SSP generation, and error states.
  3. The Module does not perform any cryptographic function if any self‐test has failed. This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.
Page 40

FIPS 140‐3 Security Policy ZPE Systems FIPS Provider for OpenSSL 3

12 Mitigation of Other Attacks
12.1 Attack List

The Module implements mitigations for constant‐time implementations and blinding attacks.

12.2 Mitigation Effectiveness

Constant‐time implementations protect cryptographic implementations in the Module against timing analysis since such attacks exploit differences in execution time depending on the cryptographic operation, and constant‐time implementations ensure that the variations in execution time cannot be traced back to the key, CSP or secret data. Numeric blinding protects the RSA, DSA and ECDSA algorithms from timing attacks. These algorithms are vulnerable to such attacks since attackers can measure the time of signature operations or RSA decryption. To mitigate this, the Module generates a random blinding factor which is provided as an input to the decryption/signature operation and is discarded once the operation has completed and resulted in an output. This makes it difficult for attackers to attempt timing attacks on such operations without the knowledge of the blinding factor, and therefore the execution time cannot be correlated to the RSA/DSA/ECDSA key.

12.3 Guidance and Constraints

The mitigation mechanisms described in Section 12.2 are inherent within the validated algorithms. No other guidance or constraints are specified. This non‐proprietary Security Policy document may be freely reproduced and distributed in its entirety without modification.