Article ID: 920995 - View products that this article applies to.
This article discusses FIPS 140-2 instructions and how to use Microsoft SQL Server 2005 Service Pack 1 (SP1) or a later version of SQL Server in the FIPS 140-2 compliant mode.
What is FIPS?FIPS stands for Federal Information Processing Standard. A FIPS is a standard developed by two government bodies. One is NIST, the National Institute of Standards and Technology, in the United States. The other is CSE, the Communications Security Establishment, in Canada. FIPS are standards that are either recommended or mandated for use in federal (either U.S. or Canadian) government-operated IT systems.
What is FIPS 140-2?FIPS 140-2 is a statement of the "Security Requirements for Cryptographic Modules." It specifies which encryption algorithms and which hashing algorithms can be used and how encryption keys are to be generated and managed. It is possible for some hardware, software, and processes to be FIPS 140-2 certified. It is also possible for some to be FIPS 140-2 compliant.
What is the difference between being FIPS 140-2 compliant versus being FIPS 140-2 certified?SQL Server 2005 SP1 or a later version of SQL Server can be configured and run in a way that is compliant with FIPS 140-2. To do that, SQL Server 2005 SP1 or a later version of SQL Server must run on an operating system that is FIPS 140-2 certified or provides a cryptographic module that has been certified. The difference between compliance and certification is not subtle. Algorithms can be certified. Note that it is not sufficient to use an algorithm from the approved lists in FIPS 140-2. It is necessary to use an instance of such an algorithm that has been certified. Certification requires testing and verification by a government-approved evaluation lab. Microsoft Windows Server 2003 and Microsoft Windows XP contain the allowed algorithms, and an instance of each of them has been evaluation lab tested and government certified.
What application products can be FIPS 140-2 compliant?All applications that perform encryption or hashing and that run on a certified version of Microsoft Windows have the opportunity to be compliant by using only the certified instances of the approved algorithms and by complying with the key generation and key management requirements either by using the Windows function for these or by complying to key generation and management requirements within the application. It should be noted that within an application places may exist where non-compliant algorithms or processes are allowed within a FIPS compliant application. For example, some internal processes that stay within the system or some external data that is to be further encrypted by a certified algorithm instance are allowed.
Does this mean that SQL Server 2005 SP1 or a later version of SQL Server is always FIPS 140-2 compliant?No. It means that SQL Server 2005 SP1 or a later version of SQL Server can be FIPS 140-2 compliant, because it can be configured and run such that it uses only the FIPS 140-2 certified algorithm instances called by using the Windows CryptoAPI for encryption or by hashing in every instance where FIPS 140-2 compliance is required.
How can SQL Server 2005 SP1 or a later version of SQL Server be configured to be FIPS 140-2 compliant?
How is SQL Server 2005 SP1 or a later version of SQL Server operated in FIPS 140-2 compliant mode?
What is the effect of running SQL Server 2005 SP1 or a later version of SQL Server in FIPS 140-2 compliant mode?
Where can I learn more about FIPS 140-2?For more information about the standard and how to download it, visit the following NIST Web site:
Article ID: 920995 - Last Review: February 19, 2007 - Revision: 2.4