Trust CenterCryptographic modules

CMVP-validated module,
platform-bounded.

HASP's runtime cryptographic operations are performed inside a NIST CMVP-validated OpenSSL FIPS Provider (certificate #4985, FIPS 140-3) built into the HASP platform. This page gives a DEA EPCS auditor — or any customer's compliance team — the certificate number, module identity, integrity anchors, and approved algorithm inventory needed to verify that claim. FIPS 140-3 supersedes and satisfies the FIPS 140-2 Level 1 reference in 21 CFR 1311.115. We do not claim FedRAMP, CJIS, or any environment-level FIPS validation.

Validated module

Certificate number
#4985
Validation standard
FIPS 140-3 · Overall Level 1
Status
Active (sunset March 10, 2030)
Validation history
Initial: March 11, 2025 (Acumen Security)
Last update: November 21, 2025 (Lightship Security, Inc.)
Module name
OpenSSL FIPS Provider
Module type
Software, Multi-Chip Stand Alone
Vendor
The OpenSSL Project
Validated version
3.1.2
Source tarball SHA-256
a0ce69b8b97ea6a35b96875235aa453b966ba3cba8af2de23657d8b6767d6539
Loaded as
/usr/lib/x86_64-linux-gnu/ossl-modules/fips.so
Integrity anchor
HMAC of fips.so recorded in fipsmodule.cnf by openssl fipsinstall; libcrypto refuses to load the provider if the module has been modified.

Approved algorithms in use

In scope of the validated module

Explicitly out of scope

Cryptographic key management

HASP's security-load-bearing cryptographic operations run inside the NIST CMVP-validated cryptographic module identified above (FIPS 140-3 Level 1; OpenSSL FIPS Provider 3.1.2, certificate #4985) loaded into the HASP platform. Today the validated module covers:

Audit-chain integrity hashing and Ed25519 signing for signed audit exports are routed through the validated module. One cryptographic operation sits outside it:

The platform's master key for envelope encryption is backed up via Shamir's Secret Sharing (2-of-3 threshold across multiple independent custodians). Any single share's compromise or loss does not compromise the master key, and key recovery is possible from any 2 of the 3 shares.

Verifying the chain

Three confirmations an auditor can run against the running container:

bash
# 1. The FIPS provider block specifically reports status: active.
#    (The base provider is also active for non-cryptographic primitives, so
#    scope the check to the fips block — `^  fips$` is the provider key.)
docker exec <container> openssl list -providers | grep -A 3 '^  fips$' | grep 'status: active'
# Expect: "    status: active"

# 2. Behavioral check: a non-FIPS digest must fail under default_properties=fips=yes.
docker exec <container> sh -c "printf '' | openssl dgst -md5"
# Expect: non-zero exit, error about unavailable algorithm.

# 3. PHP's openssl extension excludes non-approved digests under FIPS mode.
docker exec <container> php -r 'var_dump(in_array("md5", openssl_get_md_methods(true), true));'
# Expect: bool(false)

# 4. The validated module's HMAC is recorded and being verified.
docker exec <container> cat /usr/local/openssl-fips/ssl/fipsmodule.cnf
# Expect: a module-mac entry computed by 'openssl fipsinstall'.

Need our written attestation?

If your audit submission needs a letter referencing the certificate number, module version, and integrity anchors above on HASP letterhead, email [email protected].