Je demandais donc dans le chat comment les fichiers de sauvegarde SQL Server sont sécurisés.
On me dit que si un attaquant a accès au fichier .bak non crypté, il peut avoir accès aux données.
Regardons donc ce scénario:
OPEN SYMMETRIC KEY MySymetricKey DECRYPTION
BY CERTIFICATE MyCertificate
remarque - il n'y a pas de mot de passe ici.
puis nous chiffrons nos tables par:
UPDATE tbl1
SET namePAss = ENCRYPTBYKEY(KEY_GUID('MySymetricKey'),name)
GO
Disons maintenant qu'un pirate a obtenu mon bak
fichier. Tout ce qu'il a à faire pour visualiser les données (sur son propre ordinateur et serveur SQL) est:
SELECT
convert( NVARCHAR(max), decryptbykey(namePAss))
FROM tbl1
Serait-il toujours en mesure d'accéder aux données?
la source
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'DB Master key password!' GO
- Je l'ai créé avec un mot de passe. mais la chose étrange est que lorsque je l' ouvre - je n'ai pas besoin du mot de passe c'est exactement le code que vous avez collé. C'est la chose que je ne comprends pas. Si je suis un pirate - je me fiche du mot de passe utilisé pour le créer. tout ce que je dois faire estOPEN SYMMETRIC KEY MySymetricKey DECRYPTION
PAR CERTIFICAT MyCertificate` et il n'y a PAS de mot de passe ici. veuillez me corrigerLa réponse courte est non car ils auraient besoin de la clé principale de la base de données et de son mot de passe.
Voici un bon aperçu du chiffrement des certificats: http://www.mssqltips.com/sqlservertip/1319/sql-server-2005-encryption-certificates-overview/
Et un pour les clés principales: http://www.mssqltips.com/sqlservertip/1312/managing-sql-server-2005-master-keys-for-encryption/
la source