Varför bör du inte aktivera FIPS-kompatibel kryptering på Windows
Windows har en dold inställning som möjliggör endast regeringskertifierad "FIPS-kompatibel" kryptering. Det kan låta som ett sätt att öka datorns säkerhet, men det är det inte. Du bör inte aktivera den här inställningen om du inte arbetar i regeringen eller behöver testa hur mjukvaran kommer att fungera på statliga datorer.
Denna tweak passar rätt tillsammans med andra värdelösa Windows tweaking myter. Om du har snubblat över den här inställningen i Windows eller sett den som nämnts någon annanstans, aktivera inte den. Om du redan har aktiverat det utan bra skäl, använd stegen nedan för att inaktivera "FIPS-läge".
Vad är FIPS-kompatibel kryptering?
FIPS står för "Federal Information Processing Standards." Det är en uppsättning regeringens standarder som definierar hur vissa saker används i regeringen, till exempel krypteringsalgoritmer. FIPS definierar vissa specifika krypteringsmetoder som kan användas, liksom metoder för att generera krypteringsnycklar. Det publiceras av National Institute of Standards and Technology, eller NIST.
Inställningen i Windows överensstämmer med den amerikanska regeringen FIPS 140-standarden. När det är aktiverat, tvingar det Windows att endast använda FIPS-validerade krypteringssystem och rådgör även med applikationer för att göra det.
"FIPS-läget" gör inte Windows säkrare. Det blockerar bara åtkomst till nyare krypteringssystem som inte har blivit FIPS-validerade. Det betyder att det inte kommer att kunna använda nya krypteringssystem eller snabbare sätt att använda samma krypteringssystem. Med andra ord, det gör datorn långsammare, mindre funktionell och utan tvekan mindre säkra.
Hur Windows fungerar annorlunda om du aktiverar den här inställningen
Microsoft förklarar vad den här inställningen faktiskt gör i ett blogginlägg med titeln "Varför rekommenderar vi inte" FIPS-läge "Anymore." Microsoft rekommenderar endast att du använder FIPS-läget om du måste. Om du till exempel använder en amerikansk regeringsdator, ska den datorn ha "FIPS-läge" aktiverat enligt regeringens egna regler. Det finns inget riktigt fall där du vill aktivera detta på din egen dator - om du inte testar hur din programvara beter sig på amerikanska regeringens datorer med den här inställningen aktiverad.
Denna inställning gör två saker till Windows själv. Det tvingar Windows och Windows-tjänster att endast använda FIPS-validerad kryptografi. Schannel-tjänsten som är inbyggd i Windows fungerar till exempel inte med äldre SSL 2.0 och 3.0-protokoll och kräver åtminstone TLS 1.0 istället.
Microsofts .NET-ramverk kommer också att blockera åtkomst till algoritmer som inte är FIPS-validerade. .NET Framework erbjuder flera olika algoritmer för de flesta krypteringsalgoritmer, och inte alla har ens lämnats in för validering. Som ett exempel noterar Microsoft att det finns tre olika versioner av SHA256 hashing-algoritmen i .NET-ramen. Den snabbaste har inte lämnats in för validering, men bör vara lika säker. Så att aktivera FIPS-läge bryter antingen .NET-applikationer som använder den mer effektiva algoritmen eller tvingar dem att använda den mindre effektiva algoritmen och vara långsammare.
Bortsett från de två sakerna rekommenderar man att FIPS-läge rekommenderar att applikationer som de endast använder FIPS-validerad kryptering. Men det tvingar inte något annat. Traditionella Windows-skrivbordsapplikationer kan välja att implementera någon krypteringskod som de vill ha - till och med grymt sårbar kryptering - eller alls inte kryptering. FIPS-läget gör ingenting för andra program såvida de inte följer denna inställning.
Så här inaktiverar du FIPS-läge (eller aktivera det, om du behöver)
Du bör inte aktivera den här inställningen om du inte använder en statlig dator och är tvungen att. Om du aktiverar den här inställningen kan vissa konsumentprogram i själva verket be dig att inaktivera FIPS-läge så att de kan fungera ordentligt.
Om du behöver aktivera eller inaktivera FIPS-läget - kanske du har sett ett felmeddelande efter att du har aktiverat det, måste du testa hur din programvara ska fungera på en dator med FIPS-läge aktiverat eller om du använder en statlig dator och har för att aktivera det - det kan du göra på flera sätt. FIPS-läget kan endast aktiveras när det är anslutet till ett visst nätverk eller via en systemövergripande inställning som alltid ska tillämpas.
Om du bara vill aktivera FIPS-läge när du är ansluten till ett visst nätverk gör du följande:
- Öppna kontrollpanelfönstret.
- Klicka på "Visa nätverksstatus och uppgifter" under Nätverk och Internet.
- Klicka på "Ändra adapterinställningar".
- Högerklicka på nätverket som du vill aktivera FIPS för och välj "Status".
- Klicka på knappen "Trådlösa egenskaper" i fönstret Wi-Fi-status.
- Klicka på fliken "Säkerhet" i fönstret för nätverksegenskaper.
- Klicka på knappen "Avancerade inställningar".
- Byt till "Aktivera federala informationsbehandlingsstandarder (FIPS) compliance för detta nätverk" under 802.11-inställningar.
Den här inställningen kan också ändras systemomfattande i grupppolisredigeraren. Det här verktyget är endast tillgängligt på Professionella, Enterprise och Utbildningsversioner av Windows, inte Hemversioner. Du kan bara använda den lokala grupppolicyeditorn för att ändra det här verktyget om du är på en dator som inte är ansluten till en domän som hanterar datorns grupppolicyinställningar för dig. Om din dator är ansluten till en domän och grupppolicyinställningarna hanteras centralt av din organisation, kommer du inte att kunna ändra det själv. Så här ändrar du den här inställningen i grupprincip:
- Tryck på Windows-tangenten + R för att öppna dialogrutan Kör.
- Skriv "gpedit.msc" i dialogrutan Kör (utan citat) och tryck på Enter.
- Navigera till "Datorkonfiguration \ Windows Inställningar \ Säkerhetsinställningar \ Lokala policies \ Säkerhetsalternativ" i Grupprincipredigeraren.
- Leta reda på "Systemkryptografi: Använd FIPS-kompatibla algoritmer för kryptering, hashing och signering" i den högra rutan och dubbelklicka på den.
- Ställ in inställningen på "Disabled" och klicka på "OK".
- Starta om datorn.
På hemversioner av Windows kan du fortfarande aktivera eller inaktivera FIPS-inställningen via en registerinställning. För att kontrollera om FIPS är aktiverat eller inaktiverat i registret följer du följande steg:
- Tryck på Windows-tangenten + R för att öppna dialogrutan Kör.
- Skriv "regedit" i dialogrutan Kör (utan citat) och tryck på Enter.
- Navigera till "HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ Lsa \ FipsAlgorithmPolicy \".
- Titta på "Enabled" -värdet i den högra rutan. Om den är inställd på "0", är FIPS-läge inaktiverat. Om den är inställd på "1" är FIPS-läge aktiverat. För att ändra inställningen dubbelklickar du på "Enabled" -värdet och ställer in det på antingen "0" eller "1".
- Starta om datorn.
Tack till @SwiftOnSecurity på Twitter för att inspirera detta inlägg!