Windows FIPS 140 validation

The Federal Information Processing Standard (FIPS) Publication 140 is a U.S. government standard that defines the minimum-security requirements for cryptographic modules in IT products. This topic introduces FIPS 140 validation for the Windows cryptographic modules. The Windows cryptographic modules are used across different Microsoft products, including Windows client operating systems, Windows Server operating systems, and Azure cloud services.

Microsoft maintains an active commitment to meeting the requirements of the FIPS 140 standard, having validated cryptographic modules against it since it was first established in 2001. Windows cryptographic modules are validated under the Cryptographic Module Validation Program (CMVP), a joint effort between the U.S. National Institute of Standards and Technology (NIST) and the Canadian Centre for Cyber Security (CCCS). The CMVP validates cryptographic modules against the Security Requirements for Cryptographic Modules (part of FIPS 140) and related FIPS cryptography standards. The NIST Information Technology Laboratory operates related programs that Microsoft also participates in: the Cryptographic Algorithm Validation Program (CAVP) certifies FIPS-approved cryptographic algorithms and the Entropy Validation program certifies entropy sources to the NIST SP 800-90B standard.

Windows client operating systems and cryptographic modules

The Windows client releases listed below include cryptographic modules that have completed FIPS 140 validation. Click on the release for details, including the CMVP certificate, Security Policy document, and algorithm scope for each module. When the CMVP certificate validation label includes the note When operated in FIPS mode, specific configuration and security rules outlined in the Security Policy must be followed.

Windows 11 releases

Windows 10 releases

Previous Windows releases

Windows Server operating systems and cryptographic modules

The Windows Server releases listed below include cryptographic modules that have completed FIPS 140 validation. Click on the release for details, including the CMVP certificate, Security Policy document, and algorithm scope for each module. When the CMVP certificate validation label includes the note When operated in FIPS mode, specific configuration and security rules outlined in the Security Policy must be followed.

Windows Server 2022, 2019, and 2016 releases

Windows Server semi-annual releases

Previous Windows Server releases

Use Windows in a FIPS approved mode of operation

To use Windows and Windows Server in a FIPS 140 approved mode of operation, all the specific configuration and security rules outlined in the module Security Policy documents must be followed. To view or download the Security Policy documents for a given product release, navigate to the listing of FIPS 140 validated modules for the release in the sections above and select the links to the Security Policy documents.

Previously, IT administrators had to configure a FIPS policy to enable the cryptographic algorithm known answer self-tests required by FIPS 140. Starting with the April 2024 quality updates (KB5036893 and KB5036909), the Cryptographic Primitives Library (bcryptprimitives.dll) and Kernel Mode Cryptographic Primitives Library (CNG.sys) modules of Windows 11, Windows Server 2022, and later Windows operating systems automatically run the self-tests before these modules use a cryptographic algorithm. Configuring the legacy FIPS policy is no longer needed unless the BitLocker scenario described in BitLocker and the FIPS policy is still in use.

BitLocker and the FIPS policy

If the BitLocker PIN or password protectors are used for data drive protection, they read the legacy FIPS policy to control what cryptographic algorithms are used to construct the protectors. If neither protector is used in your BitLocker setup, no additional configuration is required to operate Windows in a FIPS 140 approved mode, and you can skip the remaining guidance in this section. Otherwise, review the considerations below to determine whether you should configure the legacy FIPS policy.

When the legacy FIPS policy is not enabled, BitLocker uses SHA2-256 to generate a key based on the PIN, which is currently not a FIPS-approved way to derive a key from a password. When the legacy FIPS policy is enabled, BitLocker uses PBKDF2 to derive the PIN protector, which is a FIPS-approved key derivation function. Because the legacy FIPS policy affects BitLocker key derivation, you should configure the policy before creating the PIN protector to operate in a FIPS approved mode.

BitLocker password protectors are always generated using the iterative SHA2-256 password-stretching algorithm. Password-protected removable drives are mounted read-only when the legacy FIPS policy is enabled.

Administrators can use MDM, Group Policy, or the Windows registry to enable the legacy FIPS policy. For MDM, set AllowFipsAlgorithmPolicy to 1. For Group Policy, enable System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing, located under Computer Configuration > Windows Settings > Security Settings > Local Policies > Security Options. For the Windows registry, set the Enabled value (REG_DWORD) to 1 under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy.

Determine if a Windows service or application is FIPS 140 compliant

Microsoft validates the cryptographic modules used in Windows and other products, not individual Windows services or applications. Contact the vendor of the service or application for information on whether it calls a validated Windows cryptographic module (i.e., a module validated by the CMVP as meeting the FIPS 140 requirements and issued a certificate) in a FIPS compliant manner (i.e., by calling for FIPS 140 validated cryptography and configured according to a defined FIPS-approved mode of operation).

FIPS 140 and the Commercial National Security Algorithm Suite

The Commercial National Security Algorithm (CNSA) suite is a set of cryptographic algorithms promulgated by the National Security Agency as a replacement for NSA Suite B cryptographic algorithms. Many CNSA cryptographic algorithms are also approved under the FIPS 140 standard. To determine whether a CNSA algorithm was included in the scope of CAVP validated algorithms used in a Microsoft product, navigate to the listing of FIPS 140 validated modules for the product in the sections above and reference the algorithm scope listed for each validated module. Further algorithm details are available in each module Security Policy document.

FIPS 140 and Common Criteria certifications

FIPS 140 and Common Criteria are two complementary but different security standards. Whereas FIPS 140 validates cryptographic functionality, Common Criteria evaluates a broader selection of security functions in IT products. Common Criteria evaluations may rely on FIPS 140 validations to provide assurance that basic cryptographic functionality is implemented properly. For information about Microsoft's Common Criteria certification program, see Common Criteria certifications.

Contact

Contact fips@microsoft.com with questions or to provide feedback on this topic.