Entonces pregunté en el chat qué tan seguros son los archivos de respaldo de SQL Server.
Me dicen que si un atacante tiene acceso al archivo .bak sin cifrar, puede tener acceso a los datos.
Así que echemos un vistazo a este escenario:
OPEN SYMMETRIC KEY MySymetricKey DECRYPTION
BY CERTIFICATE MyCertificate
aviso: no hay contraseña aquí.
y luego encriptamos nuestras tablas por:
UPDATE tbl1
SET namePAss = ENCRYPTBYKEY(KEY_GUID('MySymetricKey'),name)
GO
Ahora digamos que un hacker consiguió mi bak
archivo. Todo lo que tiene que hacer para ver los datos (en su propia computadora y servidor sql) es:
SELECT
convert( NVARCHAR(max), decryptbykey(namePAss))
FROM tbl1
¿Seguiría siendo capaz de acceder a los datos?
fuente
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'DB Master key password!' GO
- Lo creé con una contraseña. pero lo extraño es que cuando lo abro, no necesito la contraseña, es exactamente el código que ha pegado. Esto es lo que no entiendo. Si soy un hacker, no me importa la contraseña utilizada para crearla. todo lo que necesito hacer esOPEN SYMMETRIC KEY MySymetricKey DECRYPTION
POR CERTIFICADO MyCertificate` y NO hay contraseña aquí. por favorLa respuesta corta es no, ya que necesitarían la clave maestra de la base de datos y su contraseña.
Aquí hay una buena descripción general del cifrado de certificados: http://www.mssqltips.com/sqlservertip/1319/sql-server-2005-encryption-certificates-overview/
Y una para las claves maestras: http://www.mssqltips.com/sqlservertip/1312/managing-sql-server-2005-master-keys-for-encryption/
fuente