Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
SQL Server bietet Datenverschlüsselungsfunktionen zusammen mit extensible Key Management (EKM) mithilfe des Microsoft Cryptographic API (MSCAPI)-Anbieters für Verschlüsselung und Schlüsselgenerierung. Verschlüsselungsschlüssel für Daten und Schlüsselverschlüsselung werden in vorübergehenden Schlüsselcontainern erstellt und müssen von einem Anbieter exportiert werden, bevor sie in der Datenbank gespeichert werden. Dieser Ansatz ermöglicht die Schlüsselverwaltung, die eine Verschlüsselungsschlüsselhierarchie und eine Schlüsselsicherung umfasst, die von SQL Server verarbeitet werden kann.
Mit der wachsenden Nachfrage nach behördlicher Compliance und Sorge um den Datenschutz nutzen Organisationen die Verschlüsselung als Möglichkeit, eine "verteidigungstiefe" Lösung bereitzustellen. Dieser Ansatz ist häufig nicht praktikabel, indem nur Datenbankverschlüsselungstools verwendet werden. Hardwareanbieter stellen Produkte bereit, die die Verwaltung von Unternehmensschlüsseln mithilfe von Hardware Security Modules (HSM) adressieren. HSM-Geräte speichern Verschlüsselungsschlüssel auf Hardware- oder Softwaremodulen. Dies ist eine sicherere Lösung, da sich die Verschlüsselungsschlüssel nicht zusammen mit den Verschlüsselungsdaten befinden.
Eine Reihe von Anbietern bietet HSM sowohl für die Schlüsselverwaltung als auch für die Verschlüsselungsbeschleunigung an. HSM-Geräte verwenden Hardwareschnittstellen mit einem Serverprozess als Vermittler zwischen einer Anwendung und einem HSM. Anbieter implementieren auch MSCAPI-Anbieter über ihre Module, die möglicherweise Hardware oder Software sind. MSCAPI bietet häufig nur eine Teilmenge der Funktionen, die von einem HSM angeboten werden. Anbieter können auch Verwaltungssoftware für HSM, Schlüsselkonfiguration und Schlüsselzugriff bereitstellen.
HSM-Implementierungen variieren von Anbieter zu Anbieter und zur Verwendung mit SQL Server erfordert eine gemeinsame Schnittstelle. Obwohl die MSCAPI diese Schnittstelle bereitstellt, unterstützt sie nur eine Teilmenge der HSM-Features. Es hat auch andere Einschränkungen, z. B. die Unfähigkeit, symmetrische Schlüssel nativ zu speichern, und die fehlende sitzungsorientierte Unterstützung.
Mit der SQL Server Extensible Key Management können Drittanbieter EKM/HSM ihre Module in SQL Server registrieren. Bei der Registrierung können SQL Server-Benutzer die auf EKM-Modulen gespeicherten Verschlüsselungsschlüssel verwenden. Dadurch kann SQL Server auf die erweiterten Verschlüsselungsfeatures zugreifen, die diese Module unterstützen, z. B. Massenverschlüsselung und Entschlüsselung sowie Schlüsselverwaltungsfunktionen wie Schlüsselalterung und Schlüsseldrehung.
Wenn SQL Server in einer Azure-VM ausgeführt wird, kann SQL Server Schlüssel verwenden, die im Azure Key Vault gespeichert sind. Weitere Informationen finden Sie unter Extensible Key Management Using Azure Key Vault (SQL Server).
EKM-Konfiguration
Extensible Key Management ist in jeder Edition von MicrosoftSQL Server nicht verfügbar. Eine Liste der Features, die von den Editionen von SQL Server unterstützt werden, finden Sie unter Features, die von den Editionen von SQL Server 2014 unterstützt werden.
Standardmäßig ist die Extensible Key Management deaktiviert. Um dieses Feature zu aktivieren, verwenden Sie den Befehl sp_configure, der die folgende Option und den folgenden Wert aufweist, wie im folgenden Beispiel gezeigt:
sp_configure 'show advanced', 1
GO
RECONFIGURE
GO
sp_configure 'EKM provider enabled', 1
GO
RECONFIGURE
GO
Hinweis
Wenn Sie den Befehl sp_configure für diese Option in Editionen von SQL Server verwenden, die EKM nicht unterstützen, wird eine Fehlermeldung angezeigt.
Um das Feature zu deaktivieren, legen Sie den Wert auf 0 fest. Weitere Informationen zum Festlegen von Serveroptionen finden Sie unter sp_configure (Transact-SQL).
So verwenden Sie EKM
SQL Server Extensible Key Management ermöglicht es, die Verschlüsselungsschlüssel, die die Datenbankdateien schützen, in einem externen Gerät wie einer Smartcard, einem USB-Gerät oder einem EKM/HSM-Modul zu speichern. Dies ermöglicht auch den Datenschutz von Datenbankadministratoren (mit Ausnahme von Mitgliedern der Sysadmin-Gruppe). Daten können mithilfe von Verschlüsselungsschlüsseln verschlüsselt werden, auf die nur der Datenbankbenutzer zugriff auf das externe EKM/HSM-Modul hat.
Extensible Key Management bietet auch die folgenden Vorteile:
Zusätzliche Autorisierungsprüfung (Ermöglichung der Trennung von Aufgaben).
Höhere Leistung für hardwarebasierte Verschlüsselung/Entschlüsselung.
Generierung externer Verschlüsselungsschlüssel.
Externer Verschlüsselungsschlüsselspeicher (physische Trennung von Daten und Schlüsseln).
Abruf des Verschlüsselungsschlüssels.
Aufbewahrung externer Verschlüsselungsschlüssel (ermöglicht Verschlüsselungsschlüsselrotation).
Einfachere Wiederherstellung des Verschlüsselungsschlüssels.
Verwaltbare Verschlüsselungsschlüsselverteilung.
Sichere Entsorgung von Verschlüsselungsschlüsseln.
Sie können das Extensible Key Management für eine Kombination aus Benutzername und Kennwort oder andere vom EKM-Treiber definierte Methoden verwenden.
Vorsicht
Für die Problembehandlung benötigt der technische Support von Microsoft möglicherweise den Verschlüsselungsschlüssel vom EKM-Anbieter. Möglicherweise müssen Sie auch auf Lieferantentools oder -prozesse zugreifen, um ein Problem zu beheben.
Authentifizierung mit einem EKM-Gerät
Ein EKM-Modul kann mehrere Authentifizierungstypen unterstützen. Jeder Anbieter macht nur einen Authentifizierungstyp für SQL Server verfügbar, d. h. wenn das Modul standard- oder andere Authentifizierungstypen unterstützt, stellt er einen oder den anderen offen, aber nicht beide.
EKM Device-Specific Standardauthentifizierung mit Benutzername/Kennwort
Für diese EKM-Module, die die Standardauthentifizierung mithilfe eines Benutzernamen-/Kennwortpaars unterstützen, stellt SQL Server mithilfe von Anmeldeinformationen eine transparente Authentifizierung bereit. Weitere Informationen zu Anmeldeinformationen finden Sie unter Anmeldeinformationen (Datenbank-Engine).
Für einen EKM-Anbieter kann eine Anmeldeinformation erstellt und einer Anmeldung (sowohl Windows- als auch SQL Server-Konten) zugeordnet werden, um pro Anmeldung auf ein EKM-Modul zuzugreifen. Das Feld " Identifizieren " der Anmeldeinformationen enthält den Benutzernamen; das geheime Feld enthält ein Kennwort zum Herstellen einer Verbindung mit einem EKM-Modul.
Wenn keine Anmeldeinformationen für den EKM-Anbieter zugeordnet sind, werden die Anmeldeinformationen verwendet, die dem SQL Server-Dienstkonto zugeordnet sind.
Ein Login kann mehrere Anmeldeinformationen zugeordnet haben, solange sie für unterschiedliche EKM-Anbieter verwendet werden. Pro EKM-Anbieter darf pro Login-Vorgang nur eine Anmeldeinformation zugeordnet sein. Die gleichen Anmeldeinformationen können jedoch auch anderen Anmeldenamen zugeordnet werden.
Andere Arten der EKM-Device-Specific Authentifizierung
Bei EKM-Modulen mit einer anderen Authentifizierung als Windows oder Benutzer-/Kennwortkombinationen muss die Authentifizierung unabhängig von SQL Server ausgeführt werden.
Verschlüsselung und Entschlüsselung durch ein EKM-Gerät
Sie können die folgenden Funktionen und Features verwenden, um Daten mithilfe symmetrischer und asymmetrischer Schlüssel zu verschlüsseln und zu entschlüsseln:
| Funktion oder Merkmal | Referenz |
|---|---|
| Symmetrische Schlüsselverschlüsselung | CREATE SYMMETRIC KEY (Transact-SQL) |
| Asymmetrische Schlüsselverschlüsselung | ERSTELLE ASYMMETRISCHEN SCHLÜSSEL (Transact-SQL) |
| EncryptByKey(key_guid, 'cleartext', ...) | ENCRYPTBYKEY (Transact-SQL) |
| DecryptByKey(Ciphertext, ...) | DECRYPTBYKEY (Transact-SQL) |
| EncryptByAsmKey(key_guid, 'cleartext') | ENCRYPTBYASYMKEY (Transact-SQL) |
| DecryptByAsmKey(ciphertext) | DECRYPTBYASYMKEY (Transact-SQL) |
Verschlüsselung von Datenbankschlüsseln durch EKM-Schlüssel
SQL Server kann EKM-Schlüssel verwenden, um andere Schlüssel in einer Datenbank zu verschlüsseln. Sie können symmetrische und asymmetrische Schlüssel auf einem EKM-Gerät erstellen und verwenden. Sie können systemeigene, nicht EKM-symmetrische Schlüssel mit asymmetrischen EKM-Schlüsseln verschlüsseln.
Im folgenden Beispiel wird ein symmetrischer Datenbankschlüssel erstellt und mithilfe eines Schlüssels in einem EKM-Modul verschlüsselt.
CREATE SYMMETRIC KEY Key1
WITH ALGORITHM = AES_256
ENCRYPTION BY EKM_AKey1;
GO
--Open database key
OPEN SYMMETRIC KEY Key1
DECRYPTION BY EKM_AKey1
Weitere Informationen zu Datenbank- und Serverschlüsseln in SQL Server finden Sie unter SQL Server und Datenbankverschlüsselungsschlüssel (Datenbankmodul).
Hinweis
Sie können einen EKM-Schlüssel nicht mit einem anderen EKM-Schlüssel verschlüsseln.
SQL Server unterstützt das Signieren von Modulen mit asymmetrischen Schlüsseln, die vom EKM-Anbieter generiert werden, nicht.
Verwandte Aufgaben
EKM-Anbieter aktivierte Serverkonfigurationsoption
Erweiterbare Schlüsselverwaltung mit Azure Key Vault (SQL Server)
Siehe auch
KRYPTOGRAFIEANBIETER ERSTELLEN (Transact-SQL)
KRYPTOGRAFIE-ANBIETER ENTFERNEN (Transact-SQL)
ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL)
sys.kryptografische_anbieter (Transact-SQL)
sys.dm_cryptographic_provider_sessions (Transact-SQL)
sys.dm_cryptographic_provider_properties (Transact-SQL)
sys.dm_cryptographic_provider_algorithms (Transact-SQL)
sys.dm_cryptographic_provider_keys (Transact-SQL)
sys.credentials (Transact-SQL)
CREDENTIAL ERSTELLEN (Transact-SQL)
ÄNDERN ANMELDUNG (Transact-SQL)
ERSTELLE ASYMMETRISCHEN SCHLÜSSEL (Transact-SQL)
ALTER ASYMMETRISCHER SCHLÜSSEL (Transact-SQL)
DROP-ASYMMETRISCHER SCHLÜSSEL (Transact-SQL)
CREATE SYMMETRIC KEY (Transact-SQL)
ALTER SYMMETRIC KEY (Transact-SQL)
DROP SYMMETRIC KEY (Transact-SQL)
OPEN SYMMETRIC KEY (Transact-SQL)
Verschlüsselungsschlüssel für SSRS: Sichern und Wiederherstellen von Verschlüsselungsschlüsseln
Löschen und erneutes Erstellen von Verschlüsselungsschlüsseln (SSRS Configuration Manager)
Hinzufügen und Entfernen von Verschlüsselungsschlüsseln für die Scale-Out-Bereitstellung (SSRS Configuration Manager)
Sichern des Dienstmasterschlüssels
Wiederherstellen des Dienstmasterschlüssels
Erstellen eines Datenbankmasterschlüssels
Sichern eines Datenbankmasterschlüssels
Wiederherstellen eines Datenbankmasterschlüssels
Erstellen identischer symmetrischer Schlüssel auf zwei Servern