Deshalb habe ich im Chat gefragt, wie sicher SQL Server-Sicherungsdateien sind.
Mir wurde gesagt, dass ein Angreifer, der unverschlüsselt Zugriff auf die .bak-Datei hat, Zugriff auf die Daten haben kann.
Schauen wir uns also dieses Szenario an:
OPEN SYMMETRIC KEY MySymetricKey DECRYPTION
BY CERTIFICATE MyCertificate
hinweis - hier gibt es kein passwort
und dann verschlüsseln wir unsere Tabellen durch:
UPDATE tbl1
SET namePAss = ENCRYPTBYKEY(KEY_GUID('MySymetricKey'),name)
GO
Nehmen wir an, ein Hacker hat meine bak
Akte bekommen. Alles, was er tun muss, um die Daten anzuzeigen (auf seinem eigenen Computer & SQL-Server), ist:
SELECT
convert( NVARCHAR(max), decryptbykey(namePAss))
FROM tbl1
Würde er immer noch auf die Daten zugreifen können?
quelle
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'DB Master key password!' GO
- Ich habe es mit einem Passwort erstellt. aber das seltsame ist, dass wenn ich es öffne - ich brauche kein Passwort dies ist genau der Code, den Sie eingefügt haben. Das ist die Sache, die ich nicht verstehe. Wenn ich ein Hacker bin, ist mir das Passwort, mit dem ich es erstellt habe, egal. Alles was ich tun muss istOPEN SYMMETRIC KEY MySymetricKey DECRYPTION
BY CERTIFICATE MyCertificate` und es gibt KEIN Passwort hier. Bitte korrigieren Sie michDie kurze Antwort lautet "Nein", da sie den Datenbankhauptschlüssel und das Kennwort benötigen würden.
Hier finden Sie eine gute Übersicht über die Zertifikatverschlüsselung: http://www.mssqltips.com/sqlservertip/1319/sql-server-2005-encryption-certificates-overview/
Und einer für Hauptschlüssel: http://www.mssqltips.com/sqlservertip/1312/managing-sql-server-2005-master-keys-for-encryption/
quelle