Ich hatte die Notwendigkeit, einige persönliche Informationen in meiner Datenbank zu verschlüsseln/entschlüsseln wie Kreditkartennummer und Passwörter.SQL Server-Zertifikat und symmetrischer Schlüssel
Nach den Schritten von Microsoft konnte ich erfolgreich verschlüsseln & die Daten entschlüsseln.
Aber nach einigem Test habe ich Fragen.
Angenommen, jemand erhält nicht autorisierten Zugriff auf die Datenbank (Hack) und kann die Datenbank in SSMS von seinem eigenen Computer aus sehen. Surly kann er sehen, dass ich einige Zertifikate und symmetrische Schlüssel eingerichtet hatte.
Um die Daten, die die Beispiele anzuzeigen zeigt die folgende Abfrage
OPEN symmetric KEY symmetrickey1
decryption BY certificate certificate1
Now list the original ID, the encrypted ID
SELECT customer_id,
credit_card_number_encrypt AS
'Encrypted Credit Card Number',
CONVERT(VARCHAR, Decryptbykey(credit_card_number_encrypt)) AS
'Decrypted Credit Card Number'
FROM dbo.customer_data;
-- Close the symmetric key
CLOSE symmetric KEY symmetrickey1;
Wenn die obige Abfrage, um die Daten zurückgibt und können die Kreditkarte sehen, wie dann geschützt werden kann? Sollte es nicht notwendig sein, irgendwo in der Abfrage ein Passwort zu übergeben?
Ich bin sicher, dass ich hier etwas vermisse. Kann mir das jemand erklären?
leider sind – user2160275