Freigeben über


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 FiPS 140-2-Anweisungen (Federal Information Processing Standard) und die Verwendung von Microsoft SQL Server 2008 im FIPS 140-2-kompatiblen Modus erläutert.

Notiz

Die Begriffe "FIPS 140-2-konform", "FIPS 140-2 Compliance" und "FIPS 140-2-kompatibler Modus" werden hier zur 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 und nicht die Verwendung dieser Module auf bestimmte oder konforme Weise an. In diesem Artikel definieren wir "FIPS 140-2-kompatibel", "FIPS 140-2-Compliance" und "FIPS 140-2-kompatibler Modus", um zu bedeuten, dass SQL Server 2008 nur FIPS 140-2-validierte Instanzen von Algorithmen und Hashingfunktionen in allen Instanzen verwendet, in denen verschlüsselte oder hashed-Daten in SQL Server 2008 importiert oder exportiert werden. Darüber hinaus bedeutet dies, dass SQL Server 2008 Schlüssel bei Bedarf von FIPS 140-2-validierten kryptografischen Modulen sicher verwaltet. Der Schlüsselverwaltungsprozess umfasst auch die Schlüsselgenerierungs- und Schlüsselspeicherfunktionen.

Was ist FIPS?

FIPS bedeutet Bundesinformationsverarbeitungsstandards. FIPS sind Standards, die von zwei Regierungsbehörden entwickelt werden. Eines 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 für die Verwendung in Bundessystemen (USA oder Kanada) empfohlen oder vorgeschrieben werden.

Was ist FIPS 140-2?

FIPS 140-2 ist eine Anweisung der "Sicherheitsanforderungen für kryptografische Module". 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 FIPS 140-2 durch ein genehmigtes Validierungslabor überprüft werden. Einige davon 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 vom Behörden genehmigtes Auswertungslabor. Windows Server 2008, Windows Server 2003 und Windows XP enthalten die genehmigten kryptografischen Module, und die Module, einschließlich der spezifischen Instanzen der Algorithmen, wurden getestet und von Behörden überprüft.

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

Alle Anwendungen, die Verschlüsselung oder Hashing ausführen und auf einer validierten 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 die Schlüsselverwaltung erfüllen, indem sie eine Windows-Schlüsselfunktion verwenden oder die Anforderungen an die Schlüsselgenerierung und die Schlüsselverwaltung in der Anwendung erfüllen. Darüber hinaus sind in einigen Fällen nicht kompatible Algorithmen oder Prozesse in einer FIPS 140-2-kompatiblen Anwendung zulässig. Beispielsweise können Daten mithilfe eines nicht kompatiblen Algorithmus verschlüsselt werden, wenn die Daten in dieser verschlüsselten Form innerhalb der Anwendung verbleiben, d. h., die Daten werden in diesem Formular nicht exportiert, oder wenn die Daten mit einem FIPS-kompatiblen Algorithmus weiter verschlüsselt (umschlossen) werden.

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

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

So kann SQL Server 2008 so konfiguriert werden, dass ein FIPS 140-2-validiertes kryptografisches Modul verwendet wird

  • 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 beim 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. Der Editor für lokale Gruppenrichtlinien 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 Editor für lokale Gruppenrichtlinien 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 die Systemkryptografie: Verwenden Sie FIPS-kompatible Algorithmen für Verschlüsselung, Hashing und Signierung.
      6. Klicken Sie in der Systemkryptografie: Verwenden Sie FIPS-kompatible Algorithmen für Verschlüsselung, Hashing und Signatur, klicken Sie auf "Aktiviert", und klicken Sie dann auf "OK", um das Dialogfeld zu schließen.
      7. Schließen Sie den Editor für lokale Gruppenrichtlinien.
    • Für Windows Server 2003 und Windows XP

      1. Verwenden Sie Administratoranmeldeinformationen, um sich beim 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 Gruppenrichtlinienfenster 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 die Systemkryptografie: Verwenden Sie FIPS-kompatible Algorithmen für Verschlüsselung, Hashing und Signierung.
      6. Klicken Sie in der Systemkryptografie: Verwenden Sie FIPS-kompatible Algorithmen für Verschlüsselung, Hashing und Signatur, klicken Sie auf "Aktiviert", und klicken Sie dann auf "OK", um das Dialogfeld zu schließen.
      7. Schließen Sie das Gruppenrichtlinienfenster .

SQL Server 2008-Administratornotizen

  • 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:

    Der Dienstbrokertransport wird im FIPS-Compliancemodus ausgeführt.

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

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

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

  • Um die Dialogsicherheit zwischen Diensten zu erhalten, verwendet der Verschlüsselungsprozess die FIPS-zertifizierte Instanz 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 den Service Broker angeben. Wenn der Endpunkt auf RC4 konfiguriert ist, generiert SQL Server einen Fehler. Daher beginnt die Transportschicht nicht.

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

  • Wenn DER FIPS-Modus in Windows aktiviert ist und sich der Benutzer nicht entscheiden kann, ob Daten verschlüsselt oder hashen und wie dies geschieht, wird SQL Server 2008 im FIPS 140-2-kompatiblen Modus ausgeführt. SQL Server 2008 verwendet die CryptoAPI und verwendet 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 FIPS 140-2-kompatible Verschlüsselung zu oder lässt keine Verschlüsselung zu.

  • Wichtige Informationen für Entwickler

    Wenn Sie Ihren eigenen Code für Verschlüsselung oder Hashing schreiben, müssen 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 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(Dreifach-DES mit drei Tasten)
    • Triple-DES(Zwei-Tasten-Dreifach-DES)
    • TRIPLE_DES_3KEY(Dreifach-DES mit drei Tasten)
    • TRIPLE_DES_2KEY(Dreifach-DES mit zwei Tasten)

    Notiz

    Wenn Sie DESX auswählen, wird kein DESX-Algorithmus in SQL Server 2005 oder sql Server 2008 bereitgestellt. In beiden Fällen stellt die Auswahl von DESX eine validierte Instanz von Drei-Schlüssel-Dreifach-DES bereit.

  • Wichtige Informationen für Entwickler

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

    • Das externe kryptografische Modul muss FIPS 140-2 überprüft werden.
    • Einige von Algorithmen, die vom kryptografischen Modul verwendet werden, müssen FIPS 140-2 überprüft werden. Verwenden Sie nur die Instanzen überprüfter Algorithmen, wenn FIPS 140-2-basierte Verschlüsselung 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 kryptografischen Modul verschlüsselt oder entschlüsselt werden, mithilfe einer FIPS 140-2-validierten Instanz in verschlüsselter Form übergeben werden.

Auswirkungen der Ausführung von SQL Server 2008 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, bei denen 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, 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 Data Transformation Services (DTS) ist nicht FIPS 140-2-kompatibel. 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 2008-Verschlüsselungs- und Hashingprozesse verwenden bereits ein FIPS 140-2-validiertes kryptografisches Modul. Wenn Sie daher eine Anwendung im FIPS 140-2-kompatiblen Modus ausführen, wenn der FIPS-Modus in Windows aktiviert ist, hat die Verwendung oder Leistung der Anwendung wenig oder keine Auswirkung.

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.