Ich untersuche die Verschlüsselung einiger sensibler Daten in SQL Server, z. B. Bankkontonummern und Sozialversicherungsnummern, um den neuen Landesgesetzen zu entsprechen. Ich verwende SQL Server 2008 als meine Datenbank mit .NET-Code. Ich habe .NET verwendet, um Passwörter zu verschlüsseln, aber dafür denke ich über die integrierte Verschlüsselung von Microsoft nach, indem ich einfach die wenigen Datenspalten verschlüssle, die ich mit einer einfachen Symmetric Key Encryption benötige. Wenn ich SQL Server-Verschlüsselung gehe, kann ich die Daten von externen Reporting-Tools und nicht nur in meiner .NET-Anwendung entschlüsseln. Hier ist das Beispiel, das ich bin mit: http://blog.sqlauthority.com/2009/04/28/sql-server-introduction-to-sql-server-encryption-and-symmetric-key-encryption-tutorial-with-script/So steuern Sie, welche Benutzer SQL Server-Verschlüsselung mit symmetrischen Schlüsseln entschlüsseln können
Es verwendet ein Zertifikat, das von SQL Server erstellt und dann der DecryptByKey Funktion, um die Daten zu entschlüsseln, aber ich versuche, um zu bestimmen, wie sicher es wirklich ist? Wie kann ich steuern, welche Benutzer Daten entschlüsseln können oder kann dies jemand tun, solange sie den symmetrischen Schlüssel öffnen und die Entschlüsselungsfunktion verwenden?
+1 Ich denke, das verdient mindestens weitere 5 ~ 10 upvotes. – Sung
Ich weiß jetzt, warum wir den symmetrischen Schlüssel mit asymmetrischem Schlüssel verschlüsseln müssen (abgesehen vom Leistungsproblem). Grundsätzlich kann ich einem DBA das Passwort geben, um Massendaten einzufügen. Sobald er fertig ist, kann ich das Passwort ändern, ohne die Verschlüsselung zu beeinflussen, und niemand kann es außer mir entschlüsseln. Ich kann diesen Vorgang beliebig oft wiederholen. Habe ich recht? –