Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln beskriver FIPS 140-2 och hur du använder SQL Server 2008 i FIPS 140-2-kompatibelt läge.
Ursprunglig produktversion: SQL Server
Ursprungligt KB-nummer: 955720
Introduktion
I den här artikeln beskrivs FIPS 140-2-instruktioner (Federal Information Processing Standard) och hur du använder Microsoft SQL Server 2008 i FIPS 140-2-kompatibelt läge.
Kommentar
Termerna "FIPS 140-2-kompatibel", "FIPS 140-2-efterlevnad" och "FIPS 140-2-kompatibelt läge" definieras här för användning och tydlighet. Dessa villkor är inte erkända eller definierade myndighetsvillkor. De USA och kanadensiska regeringarna erkänner valideringen av kryptografiska moduler mot standarder som FIPS 140-2 och inte användningen av dem på ett angivet eller överensstämmande sätt. I den här artikeln definierar vi "FIPS 140-2-kompatibel", "FIPS 140-2-efterlevnad" och "FIPS 140-2-kompatibelt läge" så att SQL Server 2008 endast använder FIPS 140-2-verifierade instanser av algoritmer och hashfunktioner i alla instanser där krypterade eller hashade data importeras eller exporteras till SQL Server 2008. De här termerna innebär dessutom att SQL Server 2008 hanterar nycklar på ett säkert sätt efter behov av FIPS 140-2-validerade kryptografiska moduler. Nyckelhanteringsprocessen omfattar även funktioner för nyckelgenerering och nyckellagring.
Vad är FIPS
FIPS innebär federala informationsbearbetningsstandarder. FIPS är standarder som utvecklas av två statliga organ. En är National Institute of Standards and Technology i USA. Den andra är Communications Security Establishment i Kanada. FIPS är standarder som antingen rekommenderas eller krävs för användning i federala (antingen USA eller kanadensiska) myndighetsdrivna IT-system.
Vad är FIPS 140-2
FIPS 140-2 är en instruktion för "Säkerhetskrav för kryptografiska moduler". Den anger vilka krypteringsalgoritmer och vilka hashalgoritmer som kan användas och hur krypteringsnycklar ska genereras och hanteras. Vissa maskinvaru-, programvaru- och processer kan FIPS 140-2 verifieras av ett godkänt valideringslabb. Vissa av dem kan också beskrivas som FIPS 140-2-kompatibla eftersom termen definieras i den här artikeln.
Vad är skillnaden mellan ett program som är "FIPS 140-2-kompatibelt" och ett program som är "FIPS 140-2-validerat"
Du kan konfigurera SQL Server 2008 att köras som ett FIPS 140-2-kompatibelt program. För att göra detta måste du köra SQL Server 2008 på ett operativsystem som använder en FIPS 140-2-validerad kryptografitjänstprovider eller som tillhandahåller en kryptografisk modul som har verifierats. Skillnaden mellan efterlevnad och validering är inte diskret. Algoritmer kan verifieras. Tänk på att det inte är tillräckligt att använda algoritmer från de godkända listorna i FIPS 140-2. Du måste använda instanser av algoritmer som har FIPS 140-2 verifierats. Validering kräver testning och verifiering av ett myndighetsgodkänt utvärderingslabb. Windows Server 2008, Windows Server 2003 och Windows XP innehåller de godkända kryptografiska modulerna och modulerna, inklusive de specifika instanserna av algoritmerna, har labbtestats och myndigheter har verifierats.
Vilka program kan vara FIPS 140-2-kompatibla
Alla program som utför kryptering eller hashning och som körs på en validerad version av en Windows Cryptographic Service Provider kan vara kompatibla om de endast använder de verifierade instanserna av de godkända algoritmerna. Dessa program måste också uppfylla kraven för nyckelgenerering och nyckelhantering antingen med hjälp av en Windows-nyckelfunktion eller genom att uppfylla kraven för nyckelgenerering och nyckelhantering i programmet. I vissa fall tillåts dessutom inkompatibla algoritmer eller processer i ett FIPS 140-2-kompatibelt program. Data kan till exempel krypteras med hjälp av en inkompatibel algoritm om data i den här krypterade formen finns kvar i programmet, det vill säga att data inte exporteras i det här formuläret eller om data krypteras ytterligare (omsluts) med hjälp av en FIPS-kompatibel algoritm.
Innebär det att SQL Server 2008 alltid är FIPS 140-2-kompatibel
Nej. Det innebär att SQL Server 2008 kan konfigureras att köras i FIPS 140-2-kompatibelt läge.
Hur kan SQL Server 2008 konfigureras för att använda en FIPS 140-2-validerad kryptografimodul
Operativsystemskrav
Du måste installera SQL Server 2008 på en Windows Server 2008-baserad dator, en Windows Vista-baserad dator, en Windows Server 2003-baserad dator eller en Windows XP-baserad dator.
Krav för Windows-systemadministration
Du måste aktivera FIPS-läge innan du startar SQL Server 2008. Det beror på att SQL Server 2008 läser FIPS-inställningen vid start. Följ dessa steg för att aktivera FIPS.
För Windows Server 2008 och Windows Vista
- Använd administrativa autentiseringsuppgifter för att logga in på datorn.
- Om du använder Windows Server 2008 klickar du på Start, klickar på Kör, skriver gpedit.msc och trycker sedan på RETUR. Redigeraren Lokal grupprincip öppnas. Om du använder en Windows Vista-baserad dator klickar du på Start, skriver gpedit.msc i rutan Starta sökning och trycker sedan på RETUR.
- Dubbelklicka på Windows-inställningar under noden Datorkonfiguration i redigeraren Lokal grupprincip och dubbelklicka sedan på Säkerhetsinställningar.
- Dubbelklicka på Lokala principer under noden Säkerhetsinställningar och klicka sedan på Säkerhetsalternativ.
- Dubbelklicka på Systemkryptografi i informationsfönstret: Använd FIPS-kompatibla algoritmer för kryptering, hashning och signering.
- I dialogrutan Systemkryptografi: Använd FIPS-kompatibla algoritmer för kryptering, hashning och signering klickar du på Aktiverad och sedan på OK för att stänga dialogrutan.
- Stäng Redigeraren för lokala grupprincip.
För Windows Server 2003 och Windows XP
- Använd administrativa autentiseringsuppgifter för att logga in på datorn.
- Klicka på Start, klicka på Kör, skriv gpedit.msc och tryck sedan på RETUR.
- I fönstret grupprincip dubbelklickar du på Windows-inställningar under noden Datorkonfiguration och dubbelklickar sedan på Säkerhetsinställningar.
- Dubbelklicka på Lokala principer under noden Säkerhetsinställningar och klicka sedan på Säkerhetsalternativ.
- Dubbelklicka på Systemkryptografi i informationsfönstret: Använd FIPS-kompatibla algoritmer för kryptering, hashning och signering.
- I dialogrutan Systemkryptografi: Använd FIPS-kompatibla algoritmer för kryptering, hashning och signering klickar du på Aktiverad och sedan på OK för att stänga dialogrutan.
- Stäng fönstret grupprincip.
Administratörsanteckningar för SQL Server 2008
När SQL Server 2008-tjänsten identifierar att FIPS-läget är aktiverat vid start loggar SQL Server 2008 följande meddelande i SQL Server-felloggen:
Service Broker-transport körs i FIPS-efterlevnadsläge
Dessutom kan följande meddelande loggas i programloggen:
Databasspeglingstransport körs i FIPS-efterlevnadsläge
Om du vill kontrollera att servern körs i FIPS-läge letar du upp dessa meddelanden.
För att få dialogsäkerhet mellan tjänster använder krypteringsprocessen den FIPS-certifierade instansen av Advanced Encryption Standard (AES) om FIPS-läget är aktiverat. Om FIPS-läget är inaktiverat använder krypteringsprocessen RC4.
När du konfigurerar en Service Broker-slutpunkt i FIPS-läge måste du ange AES för Service Broker. Om slutpunkten har konfigurerats till RC4 genererar SQL Server ett fel. Transportlagret startar därför inte.
Hur fungerar SQL Server 2008 i FIPS 140-2-kompatibelt läge
Om FIPS-läget i Windows är aktiverat och om användaren inte har något val om att kryptera eller hash-data och hur de ska göras, fungerar SQL Server 2008 i FIPS 140-2-kompatibelt läge. SQL Server 2008 använder CryptoAPI och använder endast verifierade instanser av algoritmerna.
Om FIPS-läget är aktiverat och om användaren har ett val om att använda kryptering, tillåter SQL Server 2008 antingen endast FIPS 140-2-kompatibel kryptering eller så tillåter det inte någon kryptering.
Viktig information för utvecklare
Om du skriver din egen kod för kryptering eller hashing måste du endast använda CryptoAPI. Du måste bara ange de algoritmer som tillåts av FIPS 140-2. Mer specifikt använder du endast Triple Data Encryption Standard (3DES) eller AES för kryptering och endast SHA-1 för hashning. Du kan använda följande nyckelord i SQL Server 2008 för respektive FIPS 140-2-validerade algoritmer:
- DESX(Tre-nyckel trippel DES)
- Triple-DES (trippel-DES med två nycklar)
- TRIPLE_DES_3KEY(tre-nyckel trippel DES)
- TRIPLE_DES_2KEY(trippel-DES med två nycklar)
Kommentar
Om du väljer DESX får du ingen DESX-algoritm i SQL Server 2005 eller SQL Server 2008. I båda fallen ger valet av DESX en validerad instans av tre-nyckel trippel DES.
Viktig information för utvecklare
SQL Server 2008 stöder en EKM-funktion (Enterprise Key Management) som möjliggör hantering av kryptografiska nycklar på en separat maskinvarulagringsmodul från tredje part (HSM). För att fungera i FIPS 140-2-kompatibelt läge och för att använda EKM måste något av följande två villkor vara sant:
- Den externa kryptografiska modulen måste vara FIPS 140-2 verifierad.
- Vissa algoritmer som används av den kryptografiska modulen måste vara FIPS 140-2-verifierade. Använd endast de instanser av verifierade algoritmer när FIPS 140-2-baserad kryptering eller dekryptering krävs för att importera eller exportera data till eller från SQL Server.
Dessutom måste data som krypteras eller dekrypteras av den externa kryptografiska modulen skickas i krypterad form med hjälp av en FIPS 140-2-verifierad instans.
Vad är effekten av att köra SQL Server 2008 i FIPS 140-2-kompatibelt läge
Användning av starkare kryptering kan ha en liten effekt på prestanda för de processer där mindre stark kryptering tillåts när processen inte fungerar som FIPS 140-2-kompatibel.
Om du väljer kryptering för SSIS (UseEncryption=True) genereras ett felmeddelande om att den tillgängliga krypteringen är inkompatibel med FIPS-efterlevnad och inte tillåts. Med andra ord utförs ingen kryptering av meddelandeprocessen.
Användning av kryptering tillsammans med äldre Data Transformation Services (DTS) är inte FIPS 140-2-kompatibel. För DTS är FIPS-läget i Windows inte markerat. För att förbli kompatibel får du inte välja kryptering.
De flesta SQL Server 2008-krypterings- och hashprocesser använder redan en FIPS 140-2-validerad kryptografimodul. Om du kör ett program i FIPS 140-2-kompatibelt läge när FIPS-läget är aktiverat i Windows har det därför liten eller ingen effekt på programmets användning eller prestanda.
Ansvarsfriskrivning från tredje part
Ansvarsfriskrivning för information från tredje part
De produkter från andra tillverkare som diskuteras i denna artikel tillverkas oberoende av Microsoft. Produkternas funktion eller tillförlitlighet kan därför inte garanteras.