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 verwendet Verschlüsselungsschlüssel, um Daten, Anmeldeinformationen und Verbindungsinformationen zu sichern, die in einer Serverdatenbank gespeichert sind. SQL Server verfügt über zwei Arten von Schlüsseln: symmetrisch und asymmetrisch. Symmetrische Schlüssel verwenden dasselbe Kennwort zum Verschlüsseln und Entschlüsseln von Daten. Asymmetrische Schlüssel verwenden ein Kennwort zum Verschlüsseln von Daten (als öffentlicher Schlüssel bezeichnet) und einem anderen zum Entschlüsseln von Daten (als privater Schlüssel bezeichnet).
In SQL Server enthalten Verschlüsselungsschlüssel eine Kombination aus öffentlichen, privaten und symmetrischen Schlüsseln, die zum Schutz vertraulicher Daten verwendet werden. Der symmetrische Schlüssel wird während der SQL Server-Initialisierung erstellt, wenn Sie die SQL Server-Instanz zum ersten Mal starten. Der Schlüssel wird von SQL Server verwendet, um vertrauliche Daten zu verschlüsseln, die in SQL Server gespeichert sind. Öffentliche und private Schlüssel werden vom Betriebssystem erstellt und zum Schutz des symmetrischen Schlüssels verwendet. Für jede SQL Server-Instanz, die vertrauliche Daten in einer Datenbank speichert, wird ein öffentliches und privates Schlüsselpaar erstellt.
Anwendungen für SQL Server und Datenbankschlüssel
SQL Server hat zwei Hauptanwendungen für Schlüssel: einen auf und für eine SQL Server-Instanz generierten Dienstmasterschlüssel (SMK) und einen Datenbank-Master-Schlüssel (DMK), der für eine Datenbank verwendet wird.
Die SMK wird automatisch generiert, wenn die SQL Server-Instanz zum ersten Mal gestartet wird und zum Verschlüsseln eines verknüpften Serverkennworts, anmeldeinformationen und des Datenbankmasterschlüssels verwendet wird. Die SMK wird mithilfe des lokalen Computerschlüssels mit der Windows Data Protection-API (DPAPI) verschlüsselt. Die DPAPI verwendet einen Schlüssel, der von den Windows-Anmeldeinformationen des SQL Server-Dienstkontos und den Anmeldeinformationen des Computers abgeleitet wird. Der Dienstmasterschlüssel kann nur von dem Dienstkonto entschlüsselt werden, unter dem er erstellt wurde, oder von einem Prinzipal, der Zugriff auf die Anmeldeinformationen des Computers hat.
Der Datenbankmasterschlüssel ist ein symmetrischer Schlüssel, der zum Schutz der privaten Schlüssel von Zertifikaten und asymmetrischen Schlüsseln verwendet wird, die in der Datenbank vorhanden sind. Sie kann auch zum Verschlüsseln von Daten verwendet werden, hat jedoch Längenbeschränkungen, die es für Daten weniger praktisch machen als die Verwendung eines symmetrischen Schlüssels.
Beim Erstellen wird der Masterschlüssel mithilfe des Triple DES-Algorithmus und eines vom Benutzer bereitgestellten Kennworts verschlüsselt. Um die automatische Entschlüsselung des Hauptschlüssels zu aktivieren, wird eine Kopie des Schlüssels mithilfe der SMK verschlüsselt. Sie wird sowohl in der Datenbank gespeichert, in der sie verwendet wird, als auch in der master Systemdatenbank.
Die Kopie des in der master Systemdatenbank gespeicherten DMK wird unauffällig aktualisiert, sobald die DMK geändert wird. Diese Standardeinstellung kann jedoch mithilfe der DROP ENCRYPTION BY SERVICE MASTER KEY Option der ALTER MASTER KEY Anweisung geändert werden. Ein DMK, das nicht vom Dienstmasterschlüssel verschlüsselt ist, muss mithilfe der OPEN MASTER KEY Anweisung und eines Kennworts geöffnet werden.
Verwalten von SQL Server und Datenbankschlüsseln
Das Verwalten von Verschlüsselungsschlüsseln besteht darin, neue Datenbankschlüssel zu erstellen, eine Sicherung der Server- und Datenbankschlüssel zu erstellen und zu wissen, wann und wie sie die Schlüssel wiederherstellen, löschen oder ändern können.
Zum Verwalten symmetrischer Schlüssel können Sie die in SQL Server enthaltenen Tools verwenden, um Folgendes auszuführen:
Sichern Sie eine Kopie der Server- und Datenbankschlüssel, damit Sie sie zum Wiederherstellen einer Serverinstallation oder als Teil einer geplanten Migration verwenden können.
Stellen Sie einen zuvor gespeicherten Schlüssel in einer Datenbank wieder her. Dadurch kann eine neue Serverinstanz auf vorhandene Daten zugreifen, die sie ursprünglich nicht verschlüsselt haben.
Löschen Sie die verschlüsselten Daten in einer Datenbank im unwahrscheinlichen Fall, dass Sie nicht mehr auf verschlüsselte Daten zugreifen können.
Erstellen Sie Schlüssel erneut, und verschlüsseln Sie Daten im unwahrscheinlichen Fall erneut, dass der Schlüssel kompromittiert wird. Als bewährte Methode für die Sicherheit sollten Sie die Schlüssel regelmäßig (z. B. alle paar Monate) erneut erstellen, um den Server vor Angriffen zu schützen, die versuchen, die Schlüssel zu entschlüsseln.
Hinzufügen oder Entfernen einer Serverinstanz aus einer Serverskalierungsbereitstellung, bei der mehrere Server eine einzelne Datenbank und den Schlüssel gemeinsam verwenden, der eine umkehrbare Verschlüsselung für diese Datenbank bereitstellt.
Wichtige Sicherheitsinformationen
Für den Zugriff auf durch den Dienstmasterschlüssel gesicherte Objekte ist entweder das SQL Server-Dienstkonto erforderlich, das zum Erstellen des Schlüssels oder des Computerkontos (Computer) verwendet wurde. Das heißt, der Computer ist an das System gebunden, in dem der Schlüssel erstellt wurde. Sie können das SQL Server Service-Konto oder das Computerkonto ändern, ohne den Zugriff auf den Schlüssel zu verlieren. Wenn Sie beides ändern, verlieren Sie jedoch den Zugriff auf den Dienstmasterschlüssel. Wenn Sie den Zugriff auf den Dienstmasterschlüssel ohne eines dieser beiden Elemente verlieren, können Sie daten und Objekte, die mit dem ursprünglichen Schlüssel verschlüsselt wurden, nicht entschlüsseln.
Verbindungen, die mit dem Dienstmasterschlüssel gesichert sind, können nicht ohne den Dienstmasterschlüssel wiederhergestellt werden.
Der Zugriff auf Objekte und Daten, die mit dem Datenbankmasterschlüssel gesichert sind, erfordern nur das Kennwort, das zum Sichern des Schlüssels verwendet wird.
Vorsicht
Wenn Sie den gesamten Zugriff auf die zuvor beschriebenen Schlüssel verlieren, verlieren Sie den Zugriff auf die Objekte, Verbindungen und Daten, die durch diese Schlüssel gesichert sind. Sie können den Dienstmasterschlüssel wiederherstellen, wie in den hier gezeigten Links beschrieben, oder Sie können zum ursprünglichen verschlüsselnden System zurückkehren, um den Zugriff wiederherzustellen. Es gibt keine "Hintertür", um den Zugang wiederherzustellen.
In diesem Abschnitt
Dienstmasterschlüssel
Enthält eine kurze Erläuterung für den Dienstmasterschlüssel und seine bewährten Methoden.
Erweiterbare Schlüsselverwaltung (Extensible Key Management, EKM)
Erläutert, wie Schlüsselverwaltungssysteme von Drittanbietern mit SQL Server verwendet werden.
Verwandte Aufgaben
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
Erweiterbare Schlüsselverwaltung mit Azure Key Vault (SQL Server)
Verwandte Inhalte
CREATE MASTER KEY (Transact-SQL)
ALTER SERVICE MASTER KEY (Transact-SQL)
Wiederherstellen eines Datenbankmasterschlüssels
Siehe auch
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)
Transparente Datenverschlüsselung (TDE)