Verschlüsselungshierarchie
In SQL Server 2005 werden Daten anhand einer hierarchischen Verschlüsselungs- und Schlüsselverwaltungsinfrastruktur verschlüsselt. Jede Ebene verschlüsselt die Ebene darunter, indem eine Kombination aus Zertifikaten, asymmetrischen und symmetrischen Schlüsseln verwendet wird. Wie in der folgenden Abbildung dargestellt, ist die Verschlüsselungshierarchie parallel zur Hierarchie der sicherungsfähigen Objekte, die unter Berechtigungshierarchie beschrieben werden.
In der folgenden Abbildung wird dargestellt, wie jede Ebene der Verschlüsselungshierarchie die Ebene darunter verschlüsselt. Die oberste Ebene, der Diensthauptschlüssel, wird mit der Windows-Datenschutz-API verschlüsselt.
Verschlüsselungsmechanismen
SQL Server 2005 bietet die folgenden Verschlüsselungsmechanismen:
- Zertifikate
- Asymmetrische Schlüssel
- Symmetrische Schlüssel
Zertifikate
Ein öffentliches Schlüsselzertifikat, in der Regel einfach als Zertifikat bezeichnet, ist eine digital signierte Anweisung, die den Wert eines öffentlichen Schlüssels an die Identität der Person, des Geräts oder des Dienstes bindet, der den entsprechenden privaten Schlüssel besitzt. Zertifikate werden von einer Zertifizierungsstelle ausgegeben und signiert. Die Entität, die ein Zertifikat von einer Zertifizierungsstelle erhält, ist der Antragsteller dieses Zertifikats. In der Regel enthalten die Zertifikate die folgenden Informationen.
- Den öffentlichen Schlüssel des Antragstellers.
- Die Bezeichnerinformationen des Antragstellers, z. B. Name und E-Mail-Adresse.
- Den Gültigkeitszeitraum. Dies ist der Zeitraum, in dem das Zertifikat als gültig betrachtet wird.
Ein Zertifikat ist lediglich für den angegebenen Zeitraum gültig; jedes Zertifikat enthält die Datumsangaben Gültig von und Gültig bis. Diese Datumsangaben legen den Gültigkeitszeitraum fest. Wenn der Gültigkeitszeitraum für ein Zertifikat abgelaufen ist, muss vom Antragsteller des gerade abgelaufenen Zertifikats ein neues Zertifikat angefordert werden. - Aussteller der Bezeichnerinformationen.
- Die digitale Signatur des Ausstellers.
Diese Signatur bestätigt die Gültigkeit der Bindung zwischen dem öffentlichen Schlüssel und den Bezeichnerinformationen des Antragstellers. (Zum Vorgang der digitalen Signierung von Informationen gehört die Umwandlung der Informationen sowie einiger geheimer Informationen des Absenders in ein Tag, die so genannten Signatur.)
Ein wichtiger Vorteil von Zertifikaten besteht darin, dass die Hosts keine Kennwörter für einzelne Antragsteller mehr verwalten müssen. Der Host stellt stattdessen lediglich die Vertrauenswürdigkeit eines Zertifikatausstellers her, der dann eine unbegrenzte Anzahl von Zertifikaten signieren kann.
Wenn ein Host, z. B. ein sicherer Webserver, einen Aussteller als vertrauenswürdige Stammzertifizierungsstelle bezeichnet, vertraut der Host implizit den Richtlinien, die der Aussteller zum Herstellen der Bindungen der ausgestellten Zertifikate verwendet hat. Der Host vertraut sogar darauf, dass der Aussteller die Identität des Zertifikatantragstellers geprüft hat. Ein Host bezeichnet einen Aussteller als vertrauenswürdige Stammzertifizierungsstelle, indem er das selbstsignierte Zertifikat des Ausstellers, das den öffentlichen Schlüssel des Ausstellers enthält, im Zertifikatsspeicher der vertrauenswürdigen Stammzertifizierungsstelle des Hostcomputers ablegt. Den Zwischenzertifizierungsstellen und den untergeordneten Zertifizierungsstellen wird nur vertraut, wenn sie einen gültigen Zertifizierungspfad von einer vertrauenswürdigen Stammzertifizierungsstelle aufweisen.
Der Aussteller kann ein Zertifikat aufheben, bevor es abläuft. Eine Aufhebung unterbricht die Bindung eines öffentlichen Schlüssels mit der im Zertifikat angegebenen Identität. Jeder Aussteller verfügt über eine Zertifikataufhebungsliste, die von Programmen beim Prüfen der Gültigkeit eines bestimmten Zertifikats verwendet werden kann.
Die von SQL Server erstellten, selbstsignierten Zertifikate unterliegen dem X.509-Standard und unterstützen die X.509 v1-Felder.
Asymmetrische Schlüssel
Ein asymmetrischer Schlüssel besteht aus einem privaten Schlüssel und dem entsprechenden öffentlichen Schlüssel. Jeder Schlüssel kann die jeweils vom anderen verschlüsselten Daten entschlüsseln. Die asymmetrische Verschlüsselung und Entschlüsselung sind relativ ressourcenintensiv, sie bieten jedoch eine höhere Sicherheit als die symmetrische Verschlüsselung. Ein asymmetrischer Schlüssel kann für die Verschlüsselung eines symmetrischen Schlüssels zum Speichern in einer Datenbank verwendet werden.
Symmetrische Schlüssel
Ein symmetrischer Schlüssel ist ein Schlüssel, der sowohl für die Verschlüsselung als auch die Entschlüsselung verwendet wird. Die Verschlüsselung und Entschlüsselung mithilfe eines symmetrischen Schlüssels ist schnell und für einen routinemäßigen Einsatz mit sensiblen Daten in der Datenbank geeignet.
Siehe auch
Konzepte
Berechtigungshierarchie
Sicherungsfähige Elemente
Andere Ressourcen
Sicherheitsfunktionen (Transact-SQL)
Themen zu Vorgehensweisen für die Verschlüsselung