Freigeben über


Anweisungen zur Verwendung von SQL Server 2014 im FIPS 140-2-kompatiblen Modus

In diesem Artikel werden die Anweisungen für die Federal Information Processing Standard Publication 140-2 (FIPS 140-2) und die Verwendung von Microsoft SQL Server 2014 im FIPS 140-2-kompatiblen Modus erläutert.

Ursprüngliche Produktversion: SQL Server 2014
Ursprüngliche KB-Nummer: 3141890

Notiz

  • Die Begriffe "FIPS 140-2-konform", "FIPS 140-2 Compliance" und "FIPS 140-2-kompatibler Modus" sind hier für die Verwendung und Klarheit definiert. Diese Begriffe werden nicht erkannt oder definiert. Die USA und kanadischen Regierungen erkennen die Validierung kryptografischer Module gegen Standards wie FIPS 140-2 an, aber nicht die Verwendung kryptografischer Module auf bestimmte oder konforme Weise. In diesem Artikel verwenden wir "FIPS 140-2-konform", "FIPS 140-2-Compliance" und "FIPS 140-2-kompatibler Modus" in dem Sinne, dass SQL Server 2014 nur FIPS 140-2-validierte Instanzen von Algorithmen und Hashingfunktionen in allen Instanzen verwendet, in denen verschlüsselte oder hashbasierte Daten in SQL Server 2014 importiert oder exportiert werden. Darüber hinaus bedeutet dies, dass SQL Server 2014 Schlüssel auf sichere Weise verwaltet, wie für FIPS 140-2-validierte kryptografische Module erforderlich. Der Schlüsselverwaltungsprozess umfasst auch sowohl die Schlüsselgenerierung als auch die Schlüsselspeicherung.

  • Wir verwenden hier "zertifiziert", um zu bedeuten, dass die Instanz des Algorithmus FIPS 140-2 validiert ist oder dass das Betriebssystem FIPS 140-2-validierte Instanzen von Algorithmen enthält.

Was ist FIPS?

Der Federal Information Processing Standard (FIPS) ist ein Standard, der von den folgenden beiden Regierungsbehörden entwickelt wird:

  • Das National Institute of Standards and Technology (NIST) im USA
  • Die Communications Security Establishment (CSE) in Kanada

FIPS-Standards werden für die Verwendung in vom Bund betriebenen IT-Systemen in den USA und Kanada empfohlen oder vorgeschrieben.

Was ist FIPS 140-2?

FIPS 140-2 ist eine Anweisung mit dem Titel "Sicherheitsanforderungen für Kryptografiemodule". Es gibt an, welche Verschlüsselungsalgorithmen und welche Hashingalgorithmen verwendet werden können und wie Verschlüsselungsschlüssel generiert und verwaltet werden sollen. Einige Hardware, Software und Prozesse, die die Algorithmen enthalten, können als FIPS 140-2 zertifiziert betrachtet werden. Andere Hardware, Software und Prozesse, die die richtigen Algorithmen aufrufen, können FIPS 140-2-kompatibel sein.

Was ist der Unterschied zwischen FIPS 140-2-konform und FIPS 140-2 zertifiziert?

SQL Server 2014 kann auf eine Weise konfiguriert und ausgeführt werden, die mit FIPS 140-2 kompatibel ist. Um SQL Server 2014 auf diese Weise zu konfigurieren, muss SQL Server 2014 auf einem Betriebssystem ausgeführt werden, das FIPS 140-2 zertifiziert ist, oder auf einem Betriebssystem, das kryptografische Module bereitstellt, die zertifiziert sind.

Der Unterschied zwischen Compliance und Zertifizierung ist nicht subtil. Algorithmen können zertifiziert werden. Es reicht nicht aus, einen Algorithmus zu verwenden, nur weil er in den genehmigten Listen in FIPS 140-2 aufgeführt ist. Stattdessen müssen Sie eine Instanz eines solchen Algorithmus verwenden, der zertifiziert ist. Dies bedeutet, dass die Instanz vom Staat überprüft wird. Die Zertifizierung erfordert Tests und Überprüfungen durch ein vom USA oder kanadischer Regierung genehmigtes Bewertungslabor. Windows Server 2012 und höhere Versionen sowie Windows 8 und höher enthalten die zertifizierte Instanz jeder zulässigen Algorithmen. Am wichtigsten ist, dass jeder dieser Algorithmen nur die zertifizierte Instanz aufruft.

Welche Anwendungsprodukte können FIPS 140-2-konform sein?

Alle Anwendungen, die Verschlüsselung oder Hashing ausführen und auf einer zertifizierten Version von Windows ausgeführt werden, können nur mit den zertifizierten Instanzen der genehmigten Algorithmen kompatibel sein und die Anforderungen an die Schlüsselgenerierung und die Schlüsselverwaltung erfüllen. Dazu können Sie eine der folgenden Methoden verwenden:

  • Mithilfe der Windows-Funktion für die Schlüsselgenerierung und Schlüsselverwaltung
  • Durch Einhaltung der Anforderungen an die Schlüsselgenerierung und die Schlüsselverwaltung innerhalb der Anwendung

Beachten Sie, dass eine FIPS-kompatible Anwendung Bereiche enthalten kann, in denen nicht kompatible Algorithmen oder Prozesse aktiviert sind. Beispielsweise sind einige interne Prozesse, die im System verbleiben, und einige externe Daten, die von einer zertifizierten Algorithmusinstanz zusätzlich verschlüsselt werden sollen, zulässig.

Ist SQL Server 2014 immer FIPS 140-2 kompatibel?

-Nr. SQL Server 2014 kann FIPS 140-2-kompatibel sein, da sie so konfiguriert und ausgeführt werden kann, dass nur die FIPS 140-2-zertifizierten Algorithmusinstanzen verwendet werden, die mithilfe von CryptoAPI zur Verschlüsselung oder durch Hashing in jeder Instanz aufgerufen werden, in der FIPS 140-2 Compliance erforderlich ist.

Wie kann SQL Server 2014 als FIPS 140-2-kompatibel konfiguriert werden?

Betriebssystemanforderung

Installieren Sie SQL Server 2014 auf einem Server, der auf einem der folgenden Betriebssysteme basiert:

  • Windows Server 2012
  • Windows Server 2012 R2
  • Windows 8
  • Windows 8.1
  • Windows 10

Windows-Systemverwaltungsanforderung

Der FIPS-Modus muss festgelegt werden, bevor SQL Server 2014 gestartet wird. SQL Server liest die Einstellung beim Start. Führen Sie die folgenden Schritte aus, um den FIPS-Modus festzulegen:

  1. Melden Sie sich bei Windows als Windows-Systemadministrator an.
  2. Klicken Sie auf Start.
  3. Klicken Sie auf Systemsteuerung.
  4. Klicken Sie auf Verwaltungstools. (Möglicherweise müssen Sie für den nächsten Schritt zu "Symbolelarge" wechseln.)
  5. Klicken Sie auf lokale Sicherheitsrichtlinie. Das Fenster "Sicherheitseinstellungen" wird angezeigt.
  6. Klicken Sie im Navigationsbereich auflokale Richtlinien, und klicken Sie dann auf "Sicherheitsoptionen".
  7. Doppelklicken Sie im rechten Bereich auf die Systemkryptografie: Verwenden Sie FIPS-kompatible Algorithmen für Verschlüsselung, Hashing und Signierung.
  8. Klicken Sie im daraufhin angezeigten Dialogfeld auf "Aktiviert", und klicken Sie dann auf " Übernehmen".
  9. Klicken Sie auf OK.
  10. Schließen Sie das Fenster "Lokale Sicherheitseinstellungen".

SQL Server-Administratoranforderung

Wenn der SQL Server-Dienst (wenn ein Endpunkt für Service Broker oder Datenbankspiegelung konfiguriert ist) erkennt, dass der FIPS-Modus beim Start aktiviert ist, protokolliert SQL Server die folgende Meldung im SQL Server-Fehlerprotokoll:

Der Dienstbrokertransport wird im FIPS-Compliancemodus ausgeführt.

Darüber hinaus finden Sie möglicherweise die folgende Meldung, die im Windows-Ereignisprotokoll protokolliert wird:

Der Transport der Datenbankspiegelung wird im FIPS-Kompatibilitätsmodus ausgeführt.

Sie können überprüfen, ob der Server im FIPS-Modus ausgeführt wird, indem Sie nach diesen Nachrichten suchen.

  • Für die Dialogsicherheit (zwischen Diensten) verwendet die Verschlüsselung die FIPS-zertifizierte Instanz von Advanced Encryption Standard (AES), wenn der FIPS-Modus aktiviert ist. Wenn der FIPS-Modus deaktiviert ist, verwendet die Verschlüsselung RC4.

  • Wenn Sie einen Dienstenbrokerendpunkt im FIPS-Modus konfigurieren, muss der Administrator "AES" für den Dienstbroker angeben. Wenn der Endpunkt auf RC4 konfiguriert ist, generiert SQL Server einen Fehler. Daher beginnt die Transportschicht nicht.

Wie wird SQL Server 2014 im FIPS 140-2-kompatiblen Modus betrieben?

  • Wenn der FIPS-Modus in Windows aktiviert ist, in allen Bereichen, in denen der Benutzer keine Wahl hat, ob er verschlüsseln oder hashen soll und wie er ausgeführt wird, wird SQL Server 2014 in Übereinstimmung mit FIPS 140-2 ausgeführt. (SQL Server 2014 verwendet CryptoAPI in Windows und verwendet nur die zertifizierten Instanzen der Algorithmen.)

  • Wenn der FIPS-Modus in Windows aktiviert ist, aktiviert SQL Server 2014 entweder nur FIPS 140-2-kompatible Verschlüsselung oder aktiviert keine Verschlüsselung.

  • Wichtige Informationen für Softwareentwickler: In allen Bereichen, in denen der Entwickler oder der Benutzer seinen eigenen Code zur Verschlüsselung oder Hashing schreibt, müssen sie angewiesen werden, nur CryptoAPI (und daher nur die zertifizierten Instanzen) zu verwenden und nur die Algorithmen anzugeben, die von FIPS 140-2 zulässig sind. Für die offizielle Liste der nationalen Institute of Standards and Technology (NIST) von FIPS 140-2 genehmigten kryptografischen Algorithmen gehen Sie zu Den Anhängen A, C und D im Validierungsprogramm für Kryptografiemodule.

Welche Auswirkungen hat die Ausführung von SQL Server 2014 im FIPS 140-2-kompatiblen Modus?

  • Die Verwendung einer stärkeren Verschlüsselung wirkt sich möglicherweise auf die Leistung für solche Prozesse aus, für die weniger starke Verschlüsselung zulässig ist, wenn der Prozess nicht als FIPS 140-2-kompatibel funktioniert.

  • Die Auswahl der Verschlüsselung für SSIS (UseEncryption=True) generiert eine Fehlermeldung, die besagt, dass die verfügbare Verschlüsselung nicht mit FIPS-Compliance kompatibel ist und nicht zulässig ist. Mit anderen Worten, es wird keine Verschlüsselung des Nachrichtenvorgangs ausgeführt.

  • Die Verwendung der Verschlüsselung zusammen mit älteren DTS ist nicht mit FIPS 140-2 kompatibel. Für DTS ist der FIPS-Modus in Windows nicht aktiviert. Daher liegt es in der Verantwortung des Benutzers, keine Verschlüsselung auszuwählen, um konform zu bleiben.

  • Da die meisten SQL Server 2014-Verschlüsselungs- und Hashingprozesse bereits FIPS 140-2-kompatibel sind, wird die Vollständige Compliance (d. h. mit aktiviertem FIPS-Modus in Windows) wenig oder gar keine Auswirkungen auf die Verwendung oder Leistung des Produkts haben.

Wo kann ich mehr über FIPS 140-2 erfahren?

Weitere Informationen zum FIPS 140-2-Standard finden Sie in der folgenden NIST-Publikation:

Sicherheitsanforderungen für kryptografische Module

Informationen zum Haftungsausschluss von Drittanbietern

Die in diesem Artikel genannten Drittanbieterprodukte stammen von Herstellern, die von Microsoft unabhängig sind. Microsoft gewährt keine implizite oder sonstige Garantie in Bezug auf die Leistung oder Zuverlässigkeit dieser Produkte.