SQL Server-Zertifikate und asymmetrische Schlüssel

Kryptografie mit öffentlichen Schlüsseln (Public Key Cryptography, PKI) ist eine Form der Nachrichtenverschlüsselung, bei der ein Benutzer einen öffentlichen Schlüssel und einen privaten Schlüssel erstellt. Der private Schlüssel wird geheim gehalten, der öffentliche Schlüssel kann an andere verteilt werden. Zwar sind die Schlüssel mathematisch miteinander verknüpft, jedoch kann der private Schlüssel nicht einfach aus dem öffentlichen Schlüssel abgeleitet werden. Der öffentliche Schlüssel wird verwendet, um Daten zu verschlüsseln und der private Schlüssel wird verwendet, um Daten zu entschlüsseln. Eine mit dem öffentlichen Schlüssel verschlüsselte Nachricht kann nur mit dem korrekten privaten Schlüssel wieder entschlüsselt werden. Da es sich um zwei verschiedene Schlüssel handelt, werden diese Schlüssel als asymmetrisch bezeichnet.

Zertifikate und asymmetrische Schlüssel sind beides Möglichkeiten, asymmetrische Verschlüsselung zu verwenden. Zertifikate werden oft als Container für asymmetrische Schlüssel verwendet, da sie weitere Informationen enthalten können, beispielsweise Ablaufdaten und Zertifikatsaussteller. In Bezug auf den kryptografischen Algorithmus gibt es zwischen den beiden Mechanismen keinen Unterschied, und bei gegebener Schlüssellänge auch keinen Unterschied in der Verschlüsselungsstärke. Im Allgemeinen verwenden Sie ein Zertifikat, um andere Typen von Verschlüsselungsschlüsseln in einer Datenbank zu verschlüsseln oder um Codemodule zu signieren.

Zertifikate und asymmetrische Schlüssel können Daten entschlüsseln, die mit dem jeweils anderen Schlüssel verschlüsselt wurden. Im Allgemeinen verwenden Sie eine asymmetrische Verschlüsselung, um einen symmetrischen Schlüssel für die Speicherung in einer Datenbank zu verschlüsseln.

Ein öffentlicher Schlüssel hat kein einem Zertifikat vergleichbares bestimmtes Format, und Sie können ihn nicht in eine Datei exportieren.

HinweisHinweis

SQL Server bietet Features, die Ihnen ermöglichen, Zertifikate und Schlüssel für die Verwendung mit Server und Datenbank zu erstellen und zu verwalten. Mit SQL Server können keine Zertifikate und Schlüssel erstellt und verwaltet werden, die von anderen Anwendungen oder dem Betriebssystem verwendet werden.

Zertifikate

Ein Zertifikat ist ein digital signiertes Sicherheitsobjekt, das einen öffentlichen (und optional einen privaten) Schlüssel für SQL Server enthält. Sie können extern generierte Zertifikate verwenden, aber auch SQL Server kann Zertifikate generieren.

HinweisHinweis

SQL Server-Zertifikate entsprechen dem Zertifizierungsstandard IETF X.509v3.

Zertifikate sind nützlich, weil sie die Möglichkeit bieten, Schlüssel in X.509-Zertifikatsdateien zu exportieren und aus ihnen zu importieren. Die Syntax der Zertifikatserstellung lässt die Angabe von Optionen für Zertifikate zu, z. B. die Angabe eines Ablaufdatums.

Verwenden eines Zertifikats in SQL Server

Zertifikate können verwendet werden, um Verbindungen und Datenbankspiegelungen zu sichern, um Pakete und andere Objekte zu signieren oder um Daten und Verbindungen zu verschlüsseln. In der folgenden Tabelle werden zusätzliche Ressourcen für Zertifikate in SQL Server aufgeführt.

Thema

Beschreibung

CREATE CERTIFICATE (Transact-SQL)

Erklärt den Befehl zum Erstellen von Zertifikaten.

Zertifikate und Service Broker

Zeigt Informationen über das Verwenden von Zertifikaten mit Service Broker an

Verwenden von digitalen Signaturen mit Paketen

Zeigt Informationen über das Verwenden von Zertifikaten zur Signierung von Softwarepaketen an.

Zertifikate für die Dialogsicherheit

Erläutert, wie Zertifikate mit Dialogen verwendet werden.

Verwenden von Zertifikaten für die Datenbankspiegelung

Bietet Informationen über das Verwenden von Zertifikaten bei Datenbankspiegelungen.

Verschlüsseln von Verbindungen zu SQL Server

Erklärt, wie eine Verbindung mit SQL Server verschlüsselt wird.

Asymmetrische Schlüssel

Asymmetrische Schlüssel werden zum Sichern von symmetrischen Schlüsseln verwendet. Sie können auch für eine eingeschränkte Datenverschlüsselung und die digitale Signierung von Datenbankobjekten verwendet werden. Ein asymmetrischer Schlüssel besteht aus einem privaten Schlüssel und einem entsprechenden öffentlichen Schlüssel. Weitere Informationen zum Erstellen von asymmetrischen Schlüsseln finden Sie unter CREATE ASYMMETRIC KEY (Transact-SQL).

Asymmetrische Schlüssel können aus Schlüsseldateien mit starkem Namen importiert, jedoch nicht exportiert werden. Sie verfügen auch nicht über Ablaufoptionen. Asymmetrische Schlüssel können keine Verbindungen verschlüsseln.

Verwenden eines asymmetrischen Schlüssels in SQL Server

Asymmetrische Schlüssel können verwendet werden, um Daten zu sichern oder Nur-Text zu signieren. In der folgenden Tabelle werden zusätzliche Ressourcen für asymmetrischen Schlüssel in SQL Server aufgeführt.

Thema

Beschreibung

CREATE ASYMMETRIC KEY (Transact-SQL)

Erklärt den Befehl zum Erstellen von asymmetrischen Schlüsseln.

SignByAsymKey (Transact-SQL)

Erläutert die Optionen zum Signieren von Objekten.

Tools

Microsoft stellt Tools und Dienstprogramme bereit, die Zertifikate und Schlüsseldateien mit starkem Namen generieren. Mithilfe dieser Tools können Schlüssel wesentlich flexibler generiert werden, als dies mit der SQL Server-Syntax möglich ist. Sie können mit diesen Tools RSA-Schlüssel mit komplexerer Schlüssellänge erstellen und diese dann in SQL Server importieren. Die folgende Tabelle erklärt, wo diese Tools zu finden sind.

Tool

Zweck

makecert

Erstellt Zertifikate.

sn

Erstellt starke Namen für symmetrische Schlüssel.