Overview
Federal Information Processing Standard (FIPS) 140-3 specifies security requirements for cryptographic modules used by federal agencies and their contractors. Compliance with FIPS 140-3 is mandatory for systems that process sensitive but unclassified (SBU) information or Controlled Unclassified Information (CUI). Nabla’s FIPS assessment evaluates whether your infrastructure uses FIPS-validated cryptographic implementations and follows cryptographic best practices across encryption at rest, encryption in transit, and key management.Framework Details
- Framework: FIPS 140-3
- Standard Type: Cryptographic module validation
- Validation Authority: NIST Cryptographic Module Validation Program (CMVP)
- Output Format: OSCAL Assessment Results (JSON)
- Primary Use Case: Federal systems, FISMA compliance, CUI protection
Key Concepts
FIPS 140-3 Security Levels
| Level | Description | Use Case |
|---|---|---|
| Level 1 | Basic security requirements | Software encryption, low-risk environments |
| Level 2 | Tamper-evidence, role-based authentication | Most federal systems, cloud HSMs |
| Level 3 | Tamper-resistant, identity-based authentication | High-security applications |
| Level 4 | Tamper-detection with active response | Top Secret environments, nuclear systems |
FIPS Mode vs. FIPS Validation
| Aspect | FIPS Mode | FIPS Validation |
|---|---|---|
| Definition | Operating system/library configuration | CMVP-tested cryptographic module |
| Evidence | OS settings, library version | CMVP certificate number |
| Compliance | Necessary but insufficient | Required for full compliance |
| Example | OpenSSL FIPS mode enabled | AWS KMS (FIPS 140-2 Cert #3139) |
Assessed Cryptographic Controls
Nabla’s FIPS assessor maps evidence to FedRAMP cryptographic controls from NIST 800-53 Rev 5:SC-13: Cryptographic Protection
Requirement: Implement FIPS-validated cryptography to protect information Assessment Criteria:- System metadata indicates FIPS mode enabled (
fips_mode_enabled: true) - SBOM identifies FIPS-validated cryptographic libraries
- CMVP certificate numbers are documented
- No weak cryptographic algorithms detected (MD5, SHA-1, DES, 3DES, RC4)
SC-12: Cryptographic Key Establishment and Management
Requirement: Establish and manage cryptographic keys for employed cryptography Assessment Criteria:- Key Management Service (KMS) resources detected
- Customer Master Keys (CMK) properly configured
- Key rotation enabled
- Key metadata includes spec, usage, origin
- Key size meets minimums (e2048 bits for RSA, e256 bits for AES)
SC-17: Public Key Infrastructure Certificates
Requirement: Issue public key certificates under an approved certificate policy Assessment Criteria:- Valid X.509 certificates detected on assets
- Certificate signature algorithms meet standards (SHA-256+)
- Certificate key sizes e2048 bits
- No expired or self-signed certificates (in production)
SC-28: Protection of Information at Rest
Requirement: Protect confidentiality and integrity of information at rest Assessment Criteria:- Storage and database assets have
encryption_at_rest: true - KMS key ID is documented for encrypted resources
- Encryption algorithm specified (AES-256-GCM preferred)
SC-8: Transmission Confidentiality and Integrity
Requirement: Protect confidentiality and integrity of transmitted information Assessment Criteria:- Assets have
encryption_in_transit: true - TLS version e1.2 (prefer TLS 1.3)
- Modern cipher suites configured
- No SSLv2, SSLv3, TLSv1.0, TLSv1.1
Multi-Cloud FIPS Validation
Cloud Provider FIPS Status: Major cloud providers maintain CMVP-validated cryptographic modules, but validation status varies by service and region.Current Coverage (Expanding):
- AWS: KMS, CloudHSM, S3, RDS, EBS (see AWS FIPS endpoints)
- Azure: Key Vault, Storage, SQL Database (see Azure FIPS 140 validation)
- Google Cloud: Cloud KMS, Cloud HSM (see GCP FIPS 140-2 compliance)
CMVP Certificate Tracking
Nabla automatically extracts CMVP certificate numbers from SBOM metadata:Evidence Lake Integration
The FIPS assessor consumes evidence from Nabla’s multi-source evidence lake:Evidence Sources
1. System Metadata (system_metadata)
fips_mode_enabled: Boolean indicating OS-level FIPS modeopenssl_fips_status: OpenSSL FIPS configuration stringhostname: System identifier for evidence attribution
sboms)
component_name,component_version: Software identitycryptographic_libraries: Array of crypto libs (e.g.,["openssl", "libgcrypt"])fips_validated: Boolean attestationfips_certificate_number: CMVP cert number (e.g.,"4282")
configs_posture)
weak_crypto_detected: Boolean flag for legacy algorithmsencryption_algorithm: Configured algorithm (e.g.,"AES-256-GCM")cipher_suite: TLS cipher suitekey_size: Cryptographic key size in bitscryptographic_material_type: Type of crypto material (private_key,symmetric_key,certificate)
asset_inventory)
asset_type: Infrastructure type (storage,database,key_vault)encryption_at_rest,encryption_in_transit: Boolean flagskms_key_id: KMS key ARN/IDtls_version: TLS protocol versioncertificate_info: X.509 certificate metadataprovider: Cloud provider (aws,azure,gcp)
OSCAL Output Structure
FIPS assessment results include detailed subject tracking and observation linking:Example Assessment Request
Common FIPS Compliance Issues
Critical Violations
Non-FIPS Cryptographic LibrariesWarnings
Missing CMVP CertificateFIPS-Approved Algorithms (FIPS 140-3)
Encryption
| Algorithm | Key Size | Status | Use Case |
|---|---|---|---|
| AES | 128, 192, 256 bits | Approved | Symmetric encryption |
| Triple-DES | 168 bits (112 effective) | Legacy (disallowed after 2023) | Migration only |
| RSA | e2048 bits | Approved | Asymmetric encryption |
| ECC | e256 bits (P-256, P-384, P-521) | Approved | Asymmetric encryption |
Hashing
| Algorithm | Output Size | Status | Use Case |
|---|---|---|---|
| SHA-2 | 224, 256, 384, 512 bits | Approved | Digital signatures, HMAC |
| SHA-3 | 224, 256, 384, 512 bits | Approved | Next-gen hashing |
| SHA-1 | 160 bits | Disallowed | Legacy only (signatures prohibited) |
| MD5 | 128 bits | Disallowed | Non-cryptographic use only |
Key Agreement
| Protocol | Status | Use Case |
|---|---|---|
| ECDH (P-256, P-384, P-521) | Approved | Elliptic curve key exchange |
| DH (e2048 bits) | Approved | Diffie-Hellman key exchange |
Federal Compliance Context
FISMA Requirements
FIPS 140-3 Mandate: FISMA (Federal Information Security Management Act) requires all federal information systems to use FIPS-validated cryptography. OMB Circular A-130: Federal agencies must implement FIPS 140-3 validated cryptographic modules for:- Confidentiality protection
- Integrity verification
- Authentication
- Nonrepudiation
NIST Guidelines
- NIST SP 800-52 Rev 2: TLS implementation guidance
- NIST SP 800-57: Key management recommendations
- NIST SP 800-175B: Algorithm security lifetimes
Limitations
Best Practices
- Use Cloud Provider KMS: AWS KMS, Azure Key Vault, GCP Cloud KMS are FIPS-validated
- Enable FIPS Mode: Configure OS and libraries for FIPS operation
- Document CMVP Certificates: Include certificate numbers in SBOM metadata
- Rotate Keys: Enable automatic key rotation (annually minimum)
- Audit Cryptographic Inventory: Maintain up-to-date SBOM with crypto libraries
Related Frameworks
- NIST 800-53 - Security controls including SC-13, SC-12, SC-8
- NIST 800-171 - Requirement 3.13.11 (FIPS-validated cryptography)
- NIST 800-172 - Enhanced cryptographic requirements
- FedRAMP - Cryptographic requirements for cloud services

