Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So steuern Sie, welche Benutzer die symmetrische Schlüsselverschlüsselung von SQL Server entschlüsseln können

Sie haben zwei Alternativen:

  1. Kryptographische Kontrolle. Damit können nur die Benutzer, die das Passwort kennen, die Daten entschlüsseln. Der Nachteil ist, dass der Benutzer eingeben muss das Entschlüsselungskennwort jedes Mal, wenn sie auf die Daten zugreifen. Ein Bericht muss einen Kennwortparameter enthalten, den der Benutzer, der den Bericht ausführt, mit dem Datenzugriffskennwort füllt. Die Anwendung muss das Passwort vom Benutzer anfordern. Websites müssen vom Besucher ein Passwort anfordern. Und so weiter und so fort

  2. Zugangskontrolle. Die Daten werden mit einem Schlüssel verschlüsselt, auf den SQL Server selbst Zugriff hat (letztendlich reicht die Verschlüsselungskette bis zum Service Master Key und dieser wird mit DPAPI verschlüsselt). Dies gibt Ihnen keinen größeren Schutz als das Gewähren und Verweigern von SELECT Ihnen:ist Zugriff Kontrolle, nicht kryptografische Kontrolle. Ein solches Schema schützt nur vor versehentlichem Verlust von Medien (jemand findet eine Festplatte mit Ihrer Datenbank, oder Sie verlieren einen Laptop mit der Datenbank darauf). Mit Transparent Data Encryption können Sie dasselbe erreichen oder Verschlüsselung auf Dateiebene (BitLocker ). ).

Das allgemeine Datenverschlüsselungsszenario besteht darin, die Daten mit einem symmetrischen Schlüssel zu verschlüsseln und dann den symmetrischen Schlüssel mit einem asymmetrischen Schlüssel (normalerweise dem privaten Schlüssel eines Zertifikats) zu verschlüsseln. Der asymmetrische Schlüssel wird dann wiederum mit einem Passwort verschlüsselt, und dieses Passwort muss beim Versuch, auf Daten zuzugreifen, vorgelegt werden. Der Hauptgrund für diese zweistufige Indirektion ist die Passwortänderung:Wenn ein Passwort oder ein privater Schlüssel kompromittiert wird, wird der symmetrische Schlüssel mit einem anderen asymmetrischen Schlüssel neu verschlüsselt oder der asymmetrische Schlüssel wird mit einem anderen Passwort neu verschlüsselt. Auf diese Weise hat sich das Zugangspasswort geändert, ohne dass alle Daten neu verschlüsselt werden müssen . Wenn der Zugriff direkt auf den symmetrischen Schlüssel gewährt würde, würde eine Passwortkompromittierung möglicherweise erfordern, alle Daten neu zu verschlüsseln , mögliche Terabyte an Daten.

Wo sich die beiden von mir vorgestellten Szenarien unterscheiden, ist, ob der asymmetrische Schlüssel auch mit dem Datenbank-Hauptschlüssel verschlüsselt wird oder nicht. Fall 1) ist es nicht, Fall 2) ist es. Dies alles wird in Verschlüsselungshierarchie erklärt .