Layer 2 (L2) - Validated Crypto Providers
Objective
Supply the approved cryptographic algorithms and key services through a CMVP validated module operating in approved mode.
Responsibilities
- Implement approved algorithms for encryption, hashing, signatures, key agreement, and DRBG
- Enforce self tests at power up and on demand. Enter and signal error states as required
- Provide clear versioning and configuration so the right module instance is selected at runtime
Common components
- Software providers validated under CMVP
- Hardware providers in HSMs and TPMs
- Language bindings and system wrappers that expose the provider to applications
Implementation guidance
- Pin to specific module versions listed in the certificate
- Configure the provider in approved mode only
- Map provider capabilities to application needs and remove any non required algorithms
Validation and evidence
- CMVP certificate and Security Policy references
- Configuration snippets that enable approved mode and disable non approved algorithms
- Self test logs and module selection logs at startup
Common pitfalls
- Assuming any build of a library is validated
- Using algorithms that are not approved in a particular mode
- Failing to prove the validated provider was actually selected at runtime
Relationship to other AFIPS Layers
| From | To | Why this edge exists | Typical operations | Evidence |
|---|---|---|---|---|
| L4 | L2 | Apps must not embed their own crypto | AEAD, HMAC, ECDSA verify, HKDF. | Provider load logs and approved mode flag |
| L5 | L2 | Data services centralize crypto choices | Envelope encryption, HMAC, SHA 2 or SHA 3. | Config pins to provider, algorithm allow list |
| L6 | L2 | Handshakes and channel protection | TLS 1.2 or 1.3 suites, ECDHE, RSA PSS, certificate path validation. | Gateway or mesh policy with suite list |
| L1 | L2 | System selects only validated modules | FIPS mode, crypto policy packages. | OS settings, SBOM for provider packages |
| L3 | L2 | Prove the right provider is active | Startup self test pass, provider version. | Runtime logs, env pins |
| L7 | L2 | Use approved wrapping and KDFs | RSA KTS, RSA OAEP, HKDF, PBKDF where approved. | Key wrap config and logs |
| L2 | L0 | Hardware backed keys or RNG are mandated | Keygen, unwrap, sign in HSM or TPM. | HSM audit logs, module SP references, serials |