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

In diesem Artikel werden FIPS 140-2 und die Verwendung von SQL Server 2008 im FIPS 140-2-kompatiblen Modus beschrieben.

Ursprüngliche Produktversion: SQL Server
Ursprüngliche KB-Nummer: 955720

Einführung

In diesem Artikel werden Anweisungen zum Federal Information Processing Standard (FIPS) 140-2 und zur Verwendung von Microsoft SQL Server 2008 im FIPS 140-2-kompatiblen Modus erläutert.

Hinweis

Die Begriffe "FIPS 140-2-konform", "FIPS 140-2-Compliance" und "FIPS 140-2-konformer Modus" werden hier aus Gründen der Verwendung und Der Übersichtlichkeit 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 und nicht deren Verwendung in einer bestimmten oder konformen Weise. In diesem Artikel definieren wir "FIPS 140-2-konform", "FIPS 140-2-Konformität" und "FIPS 140-2-konformer Modus", um zu bedeuten, dass SQL Server 2008 nur FIPS 140-2-überprüfte Instanzen von Algorithmen und Hashfunktionen in allen Instanzen verwendet, in denen verschlüsselte oder gehashte Daten in SQL Server 2008 importiert oder exportiert werden. Darüber hinaus bedeuten diese Begriffe, dass SQL Server 2008 Schlüssel auf sichere Weise verwaltet, wie dies von FIPS 140-2-validierten Kryptografiemodulen erforderlich ist. Der Schlüsselverwaltungsprozess umfasst auch die Schlüsselgenerierungs- und Schlüsselspeicherfunktionen.

Was ist FIPS?

FIPS bezeichnet Federal Information Processing Standards( Federal Information Processing Standards). FIPS sind Standards, die von zwei Regierungsbehörden entwickelt werden. Eines davon ist das National Institute of Standards and Technology in der USA. Die andere ist das Communications Security Establishment in Kanada. FIPS sind Standards, die entweder empfohlen oder für die Verwendung in staatlichen IT-Systemen (entweder USA oder Kanada) empfohlen werden.

Was ist FIPS 140-2?

FIPS 140-2 ist eine Aussage der "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 können von einem genehmigten Validierungslabor fips 140-2 überprüft werden. Einige von ihnen können auch als FIPS 140-2-konform beschrieben werden, da der Begriff in diesem Artikel definiert ist.

Was ist der Unterschied zwischen einer Anwendung, die "FIPS 140-2-konform" ist, und einer Anwendung, die "FIPS 140-2-validiert" ist?

Sie können SQL Server 2008 so konfigurieren, dass sie als FIPS 140-2-kompatible Anwendung ausgeführt wird. Dazu müssen Sie SQL Server 2008 auf einem Betriebssystem ausführen, das einen FIPS 140-2-validierten Kryptografiedienstanbieter verwendet oder ein kryptografisches Modul bereitstellt, das überprüft wurde. Der Unterschied zwischen Compliance und Validierung ist nicht subtil. Algorithmen können überprüft werden. Beachten Sie, dass es nicht ausreicht, Algorithmen aus den genehmigten Listen in FIPS 140-2 zu verwenden. Sie müssen Instanzen von Algorithmen verwenden, die FIPS 140-2 überprüft wurden. Die Validierung erfordert Tests und Überprüfungen durch ein von der Regierung genehmigtes Evaluierungslabor. Windows Server 2008, Windows Server 2003 und Windows XP enthalten die genehmigten Kryptografiemodule, und die Module, einschließlich der spezifischen Instanzen der Algorithmen, wurden im Labor getestet und von Behörden validiert.

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

Alle Anwendungen, die Verschlüsselung oder Hashing ausführen und mit einer überprüften Version eines Windows-Kryptografiedienstanbieters ausgeführt werden, können konform sein, wenn sie nur die überprüften Instanzen der genehmigten Algorithmen verwenden. Diese Anwendungen müssen auch die Anforderungen an die Schlüsselgenerierung und -verwaltung erfüllen, indem sie entweder eine Windows-Schlüsselfunktion verwenden oder die Anforderungen an die Schlüsselgenerierung und Schlüsselverwaltung in der Anwendung erfüllen. Darüber hinaus sind in einigen Fällen nicht konforme Algorithmen oder Prozesse in einer FIPS 140-2-kompatiblen Anwendung zulässig. Beispielsweise können Daten mit einem nicht konformen Algorithmus verschlüsselt werden, wenn die Daten in dieser verschlüsselten Form in der Anwendung verbleiben, d. h. die Daten nicht in dieser Form exportiert werden, oder wenn die Daten mit einem FIPS-konformen Algorithmus weiter verschlüsselt (umschlossen) werden.

Bedeutet dies, dass SQL Server 2008 immer FIPS 140-2-konform ist?

Nein Dies bedeutet, dass SQL Server 2008 für die Ausführung im FIPS 140-2-kompatiblen Modus konfiguriert werden kann.

Wie kann SQL Server 2008 für die Verwendung eines FIPS 140-2-validierten Kryptografiemoduls konfiguriert werden?

  • Betriebssystemanforderungen

    Sie müssen SQL Server 2008 auf einem Windows Server 2008-basierten Computer, einem Windows Vista-basierten Computer, einem Windows Server 2003-basierten Computer oder einem Windows XP-basierten Computer installieren.

  • Windows-Systemverwaltungsanforderungen

    Sie müssen den FIPS-Modus aktivieren, bevor Sie SQL Server 2008 starten. Dies liegt daran, dass SQL Server 2008 die FIPS-Einstellung beim Start liest. Führen Sie die folgenden Schritte aus, um FIPS zu aktivieren.

    • Für Windows Server 2008 und Windows Vista

      1. Verwenden Sie Administratoranmeldeinformationen, um sich am Computer anzumelden.
      2. Wenn Sie Windows Server 2008 verwenden, klicken Sie auf Start, klicken Sie auf Ausführen, geben Sie gpedit.msc ein, und drücken Sie dann die EINGABETASTE. Die lokale Gruppenrichtlinie Editor wird geöffnet. Wenn Sie einen Windows Vista-basierten Computer verwenden, klicken Sie auf Start, geben Sie gpedit.msc in das Feld Suche starten ein, und drücken Sie dann die EINGABETASTE.
      3. Doppelklicken Sie im lokalen Gruppenrichtlinie Editor unter dem Knoten Computerkonfiguration auf Windows-Einstellungen, und doppelklicken Sie dann auf Sicherheitseinstellungen.
      4. Doppelklicken Sie unter dem Knoten Sicherheitseinstellungen auf Lokale Richtlinien, und klicken Sie dann auf Sicherheitsoptionen.
      5. Doppelklicken Sie im Detailbereich auf Systemkryptografie: FiPS-kompatible Algorithmen für Verschlüsselung, Hashing und Signierung verwenden.
      6. Klicken Sie im Dialogfeld Systemkryptografie: FiPS-kompatible Algorithmen für Verschlüsselung, Hashing und Signierung verwenden auf Aktiviert, und klicken Sie dann auf OK , um das Dialogfeld zu schließen.
      7. Schließen Sie die lokale Gruppenrichtlinie Editor.
    • Für Windows Server 2003 und Windows XP

      1. Verwenden Sie Administratoranmeldeinformationen, um sich am Computer anzumelden.
      2. Klicken Sie auf Start, klicken Sie auf Ausführen, geben Sie gpedit.msc ein, und drücken Sie dann die EINGABETASTE.
      3. Doppelklicken Sie im Gruppenrichtlinie Fenster unter dem Knoten Computerkonfiguration auf Windows-Einstellungen, und doppelklicken Sie dann auf Sicherheitseinstellungen.
      4. Doppelklicken Sie unter dem Knoten Sicherheitseinstellungen auf Lokale Richtlinien, und klicken Sie dann auf Sicherheitsoptionen.
      5. Doppelklicken Sie im Detailbereich auf Systemkryptografie: FiPS-kompatible Algorithmen für Verschlüsselung, Hashing und Signierung verwenden.
      6. Klicken Sie im Dialogfeld Systemkryptografie: FiPS-kompatible Algorithmen für Verschlüsselung, Hashing und Signierung verwenden auf Aktiviert, und klicken Sie dann auf OK , um das Dialogfeld zu schließen.
      7. Schließen Sie das fenster Gruppenrichtlinie.

Administratorhinweise für SQL Server 2008

  • Wenn der SQL Server 2008-Dienst erkennt, dass der FIPS-Modus beim Start aktiviert ist, protokolliert SQL Server 2008 die folgende Meldung im SQL Server Fehlerprotokoll:

    Service Broker-Transport wird im FIPS-Konformitätsmodus ausgeführt

    Darüber hinaus kann die folgende Meldung im Anwendungsprotokoll protokolliert werden:

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

    Um zu überprüfen, ob der Server im FIPS-Modus ausgeführt wird, suchen Sie diese Meldungen.

  • Um die Dialogsicherheit zwischen Diensten zu erhalten, verwendet der Verschlüsselungsprozess die FIPS-zertifizierte instance des Advanced Encryption Standard (AES), wenn der FIPS-Modus aktiviert ist. Wenn der FIPS-Modus deaktiviert ist, verwendet der Verschlüsselungsprozess RC4.

  • Wenn Sie einen Service Broker-Endpunkt im FIPS-Modus konfigurieren, müssen Sie AES für Service Broker angeben. Wenn der Endpunkt auf RC4 konfiguriert ist, generiert SQL Server einen Fehler. Daher wird die Transportschicht nicht gestartet.

Funktionsweise von SQL Server 2008 im FIPS 140-2-kompatiblen Modus

  • Wenn der FIPS-Modus in Windows aktiviert ist und der Benutzer keine Wahl hat, ob Daten verschlüsselt oder hashen und wie dies erfolgt, wird SQL Server 2008 im FIPS 140-2-kompatiblen Modus ausgeführt. SQL Server 2008 verwendet die CryptoAPI und nur die überprüften Instanzen der Algorithmen.

  • Wenn der FIPS-Modus aktiviert ist und der Benutzer die Wahl hat, ob die Verschlüsselung verwendet werden soll, lässt SQL Server 2008 entweder nur die FIPS 140-2-konforme Verschlüsselung zu oder lässt keine Verschlüsselung zu.

  • Wichtige Informationen für Entwickler

    Wenn Sie Ihren eigenen Code für die Verschlüsselung oder hashing schreiben, dürfen Sie nur die CryptoAPI verwenden. Sie müssen nur die Algorithmen angeben, die von FIPS 140-2 zulässig sind. Verwenden Sie insbesondere nur den Triple Data Encryption Standard (3DES) oder AES für die Verschlüsselung und nur SHA-1 für hashing. Sie können die folgenden Schlüsselwörter in SQL Server 2008 für die entsprechenden FIPS 140-2-validierten Algorithmen verwenden:

    • DESX(Three-key triple DES)
    • Triple-DES(Two-key triple DES)
    • TRIPLE_DES_3KEY(Three-key triple DES)
    • TRIPLE_DES_2KEY(Two-key triple DES)

    Hinweis

    Wenn Sie DESX auswählen, wird in SQL Server 2005 oder in SQL Server 2008 kein DESX-Algorithmus bereitgestellt. In beiden Fällen bietet die Auswahl von DESX eine überprüfte instance von Drei-Schlüssel-Triple-DES.

  • Wichtige Informationen für Entwickler

    SQL Server 2008 unterstützt ein EKM-Feature (Enterprise Key Management), das die Verwaltung kryptografischer Schlüssel auf einem separaten Hardwarespeichermodul (HSM) eines Drittanbieters ermöglicht. Um im FIPS 140-2-kompatiblen Modus zu arbeiten und EKM zu verwenden, muss eine der beiden folgenden Bedingungen erfüllt sein:

    • Das externe Kryptografiemodul muss FIPS 140-2 validiert sein.
    • Einige der Algorithmen, die vom Kryptografiemodul verwendet werden, müssen FIPS 140-2 validiert sein. Verwenden Sie nur die Instanzen überprüfter Algorithmen, wenn die FIPS 140-2-basierte Ver- oder Entschlüsselung zum Importieren oder Exportieren von Daten in oder aus SQL Server erforderlich ist.

    Darüber hinaus müssen Daten, die vom externen Kryptografiemodul verschlüsselt oder entschlüsselt werden, in verschlüsselter Form mit einem FIPS 140-2-validierten instance übergeben werden.

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

  • Die Verwendung einer stärkeren Verschlüsselung kann einen geringen Einfluss auf die Leistung von Prozessen haben, bei denen eine weniger starke Verschlüsselung zulässig ist, wenn der Prozess nicht als FIPS 140-2-konform ausgeführt wird.

  • Die Auswahl der Verschlüsselung für SSIS (UseEncryption=True) generiert eine Fehlermeldung, dass die verfügbare Verschlüsselung mit der FIPS-Konformität nicht kompatibel und nicht zulässig ist. Anders ausgedrückt: Es wird keine Verschlüsselung des Nachrichtenprozesses durchgeführt.

  • Die Verwendung der Verschlüsselung zusammen mit älteren Data Transformation Services (DTS) ist nicht FIPS 140-2-konform. Für DTS ist der FIPS-Modus in Windows nicht aktiviert. Um konform zu bleiben, dürfen Sie keine Verschlüsselung auswählen.

  • Die meisten SQL Server Verschlüsselungs- und Hashingprozesse von 2008 verwenden bereits ein FIPS 140-2-validiertes Kryptografiemodul. Wenn Sie eine Anwendung im FIPS 140-2-kompatiblen Modus ausführen, wenn der FIPS-Modus in Windows aktiviert ist, hat dies daher nur geringe oder keine Auswirkungen auf die Verwendung oder Leistung der Anwendung.

Haftungsausschluss von Drittanbietern

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.