Delen via


SQL Server 2016 en nieuwere versies gebruiken in de FIPS 140-2-compatibele modus

In dit artikel worden de FIPS 140-2-instructies geïntroduceerd en wordt uitgelegd hoe u SQL Server2016 gebruikt in de FIPS 140-2-compatibele modus.

Oorspronkelijke productversie: SQL Server 2016 en hoger Origineel KB-nummer: 4014354

Notitie

  • De termen 'FIPS 140-2-compatibel', 'FIPS 140-2-naleving' en 'FIPS 140-2-compatibele modus' worden hier gedefinieerd voor gebruik en duidelijkheid. Deze voorwaarden worden niet herkend of gedefinieerde overheidstermen. De Verenigde Staten en Canadese regeringen herkennen de validatie van cryptografische modules aan standaarden zoals FIPS 140-2 in plaats van cryptografische modules op een opgegeven of conforme manier te gebruiken.

    In dit artikel gebruiken we fips 140-2-compatibele, FIPS 140-2-naleving en fips 140-2-compatibele modus om te betekenen dat SQL Server 2016 en latere versies alleen FIPS 140-2-gevalideerde exemplaren van algoritmen en hash-functies gebruiken in alle exemplaren waarin versleutelde of gehashte gegevens worden geïmporteerd of geëxporteerd uit SQL Server 2016 en latere versies. Bovendien betekent dit dat MET SQL Server 2016 en latere versons sleutels op een veilige manier worden beheerd, zoals vereist is voor door FIPS 140-2 gevalideerde cryptografische modules. Het sleutelbeheerproces omvat ook sleutelgeneratie en sleutelopslag.

  • We gebruiken hier 'gecertificeerd' om te betekenen dat het exemplaar van het algoritme FIPS 140-2 is gevalideerd of dat het besturingssysteem FIPS140-2 gevalideerde exemplaren van algoritmen bevat.

Wat is FIPS?

Federal Information Processing Standard (FIPS) is een standaard die is ontwikkeld door de volgende twee overheidsinstanties:

  • Het National Institute of Standards and Technology (NIST) in de Verenigde Staten
  • De Communications Security Establishment (CSE) in Canada

FIPS-standaarden worden aanbevolen of verplicht voor gebruik in door de overheid beheerde IT-systemen in de Verenigde Staten en Canada.

Wat is FIPS 140-2?

FIPS 140-2 is een instructie met de titel 'Beveiligingsvereisten voor cryptografische modules'. Hiermee geeft u op welke versleutelingsalgoritmen en welke hash-algoritmen kunnen worden gebruikt en hoe versleutelingssleutels moeten worden gegenereerd en beheerd. Sommige hardware, software en processen die de algoritmen bevatten, kunnen worden beschouwd als FIPS 140-2-gecertificeerd en andere hardware, software en processen die de juiste algoritmen aanroepen, kunnen worden beschouwd als FIPS 140-2-compatibel.

Wat is het verschil tussen fips 140-2-compatibel en fips 140-2 gecertificeerd?

SQL Server 2016 en latere versies kunnen worden geconfigureerd en uitgevoerd op een manier die compatibel is met FIPS 140-2. Als u OP deze manier SQL Server 2016 en latere versies wilt configureren, moet deze worden uitgevoerd op een besturingssysteem dat is gecertificeerd voor FIPS 140-2 of dat cryptografische modules biedt die zijn gecertificeerd. Het verschil tussen naleving en certificering is niet subtiel. Algoritmen kunnen worden gecertificeerd. Het is onvoldoende om een algoritme te gebruiken, alleen omdat het wordt vermeld op de goedgekeurde lijsten in FIPS 140-2. In plaats daarvan moet u een exemplaar van een dergelijk algoritme gebruiken dat is gecertificeerd. Dit betekent dat het exemplaar door de overheid wordt gevalideerd. Certificering vereist testen en verificatie door een Door de Amerikaanse of Canadese overheid goedgekeurde evaluatielab. Windows Server 2012 en latere versies, en Windows 8 en latere versies bevatten het gecertificeerde exemplaar van elk toegestaan algoritme. Het belangrijkste is dat een aanroep van elk van deze algoritmen alleen het gecertificeerde exemplaar biedt.

Welke toepassingen kunnen compatibel zijn met FIPS 140-2?

Alle toepassingen die versleuteling of hashing uitvoeren en die worden uitgevoerd op een gecertificeerde versie van Windows, kunnen voldoen aan het beleid door alleen de gecertificeerde exemplaren van de goedgekeurde algoritmen te gebruiken en door te voldoen aan de vereisten voor sleutelgeneratie en sleutelbeheer. Hiervoor moet u de Windows-functie gebruiken voor sleutelgeneratie en sleutelbeheer of voldoen aan de vereisten voor sleutelgeneratie en sleutelbeheer binnen de toepassing. Gebieden in een FIPS-compatibele toepassing kunnen bestaan waar niet-compatibele algoritmen of processen zijn ingeschakeld. Sommige interne processen die in het systeem blijven en sommige externe gegevens die extra worden versleuteld door een gecertificeerd algoritmeexemplaren, zijn bijvoorbeeld toegestaan.

Voldoen SQL Server 2016 en latere versies altijd aan FIPS 140-2?

Nee SQL Server 2016 en latere versies kunnen compatibel zijn met FIPS 140-2, omdat deze kan worden geconfigureerd en uitgevoerd, zodat alleen de FIPS 140-2-gecertificeerde algoritmeexemplaren worden gebruikt. Bovendien worden deze exemplaren aangeroepen met behulp van CryptoAPI of CGN voor versleuteling of door hashing in elk exemplaar waarin FIPS 140-2-naleving is vereist.

Hoe kunnen SQL Server 2016 en nieuwere versies zo worden geconfigureerd dat FIPS 140-2 compatibel is?

Besturingssysteemvereisten

U moet SQL Server 2016 en nieuwere versies installeren op een host waarop een van de volgende Windows-clients en -servers wordt uitgevoerd.

Windows-systeembeheervereisten

De FIPS-modus moet worden ingesteld voordat SQL Server 2016 of een nieuwere versie wordt gestart. SQL Server leest de instelling bij het opstarten. Voer de volgende stappen uit om de FIPS-modus in te stellen:

  1. Meld u als een Windows-systeembeheerder aan bij Windows.
  2. Selecteer Starten.
  3. Selecteer Configuratiescherm.
  4. Selecteer Systeembeheer. (Mogelijk moet u voor de volgende stap overschakelen naar grote pictogrammen.)
  5. Selecteer Lokaal beveiligingsbeleid. Het venster Lokale beveiligingsinstellingen wordt weergegeven.
  6. Selecteer beveiligingsopties voor lokaal beleid>in het navigatiedeelvenster.
  7. Dubbelklik in het deelvenster aan de rechterkant op Systeemcryptografie: FiPS-compatibele algoritmen gebruiken voor versleuteling, hashing en ondertekening.
  8. Selecteer Ingeschakeld>toepassen in het dialoogvenster dat wordt weergegeven.
  9. Selecteer OK.
  10. Sluit het venster Lokale beveiligingsinstellingen .

Sql Server-beheerdersvereiste

Wanneer de SQL Server-service (wanneer een eindpunt is geconfigureerd voor Service Broker of Database Mirroring) detecteert dat de FIPS-modus is ingeschakeld bij het opstarten, registreert SQL Server het volgende bericht in het SQL Server-foutenlogboek:

Service Broker-transport wordt uitgevoerd in de FIPS-nalevingsmodus.

Daarnaast vindt u mogelijk het volgende bericht dat is vastgelegd in het Windows-gebeurtenislogboek:

Het transport van databasespiegeling wordt uitgevoerd in de FIPS-nalevingsmodus.

U kunt controleren of de server wordt uitgevoerd in de FIPS-modus door naar deze berichten te zoeken.

Notitie

  • Voor dialoogvensterbeveiliging (tussen services) gebruikt het versleutelingsproces het FIPS-gecertificeerde exemplaar van AES als de FIPS-modus is ingeschakeld. Als de FIPS-modus is uitgeschakeld, gebruikt het versleutelingsproces nog steeds AES.
  • Wanneer u een servicebrokereindpunt configureert in de FIPS-modus, moet de beheerder AES opgeven voor de servicebroker. Als het eindpunt is geconfigureerd voor RC4, genereert SQL Server een fout. Daarom wordt de transportlaag niet gestart.

Hoe werken SQL Server 2016 en nieuwere versies in de FIPS 140-2-compatibele modus?

  • Als de FIPS-modus in Windows is ingeschakeld, wordt SQL Server 2016 en latere versies uitgevoerd in overeenstemming met FIPS 140-2. (SQL Server 2016 en latere versies gebruiken CryptoAPI in Windows en gebruiken alleen de gecertificeerde exemplaren van de algoritmen.)

  • Als de FIPS-modus in Windows is ingeschakeld, schakelt u in alle gebieden waar de gebruiker een keuze heeft om versleuteling te gebruiken, SQL Server 2016 en latere versies alleen FIPS 140-2-compatibele versleuteling in of schakelt u geen versleuteling in.

  • Belangrijke informatie voor softwareontwikkelaars: In alle gebieden waar de ontwikkelaar of gebruiker hun eigen code schrijft voor versleuteling of hashing, moeten ze worden geïnstrueerd om alleen CryptoAPI te gebruiken (en daarom alleen de gecertificeerde exemplaren) en om alleen de algoritmen op te geven die zijn toegestaan door FIPS 140-2.Voor de officiële NIST-lijst met door FIPS 140-2 goedgekeurde cryptografische algoritmen, zie de bijlagen A, C en D in het validatieprogramma voor cryptografische modules.

Wat is het effect van het uitvoeren van SQL Server 2016 of een nieuwere versie in de FIPS 140-2-compatibele modus?

  • Wanneer u sterkere versleuteling gebruikt, kan dit een klein effect hebben op de prestaties voor die processen waarvoor minder robuuste versleuteling is toegestaan wanneer het proces niet werkt als FIPS 140-2 compatibel is.

  • De selectie van versleuteling voor SSIS (UseEncryption=True) genereert een fout waarin wordt aangegeven dat de beschikbare versleuteling niet compatibel is met FIPS-naleving en niet is toegestaan. Met andere woorden, er wordt geen versleuteling van het berichtproces uitgevoerd.

  • Wanneer u versleuteling samen met verouderde DTS gebruikt, voldoet versleuteling niet aan FIPS 140-2. Voor DTS is de FIPS-modus in Windows niet ingeschakeld. Daarom is het de verantwoordelijkheid van de gebruiker om geen versleuteling te selecteren om compatibel te blijven.

  • Omdat de meeste versleutelings- en hashprocessen van SQL Server 2016 en latere versies al compatibel zijn met FIPS 140-2, heeft het uitvoeren van volledige naleving (met de FIPS-modus in Windows ingeschakeld) weinig of geen invloed op het gebruik of de prestaties van de toepassing.

Waar vind ik meer informatie over FIPS 140-2?

Zie CMVP FIPS 140-2 Standards and Documents voor meer informatie over FIPS 140-2.

Microsoft verstrekt deze contactinformatie om u te helpen bij het aanvragen van technische ondersteuning. Deze contactinformatie kan zonder voorafgaande kennisgeving worden gewijzigd. Microsoft garandeert niet de nauwkeurigheid van deze contactgegevens van derden.