Estoy buscando encriptar algunos datos confidenciales en SQL Server, como números de cuenta bancaria y números de seguridad social para cumplir con las nuevas leyes estatales. Estoy usando SQL Server 2008 como mi base de datos con el código .NET. He usado .NET para encriptar contraseñas, pero para esto estoy pensando en utilizar el cifrado integrado de Microsoft cifrando las pocas columnas de datos que necesito con un simple Cifrado de clave simétrica. Si utilizo el cifrado de SQL Server, puedo descifrar los datos de las herramientas de informes externas y no solo dentro de mi aplicación .NET. Aquí está el ejemplo que estoy usando: http://blog.sqlauthority.com/2009/04/28/sql-server-introduction-to-sql-server-encryption-and-symmetric-key-encryption-tutorial-with-script/Cómo controlar lo que los usuarios pueden descifrar SQL Server Cifrado de clave simétrica
Se utiliza un certificado creado por SQL Server y entonces la función DecryptByKey para descifrar los datos, pero estoy tratando de determinar qué tan seguro que esto realmente es? ¿Cómo controlo qué usuarios pueden descifrar datos o alguien puede hacerlo si abren la clave simétrica y usan la función de descifrado?
+1 Creo que esto merece al menos otros 5 ~ 10 votos favorables. – Sung
Ahora sé POR QUÉ necesitamos cifrar la clave simétrica con la clave asimétrica (aparte del problema de rendimiento). Básicamente, puedo dar la contraseña a un DBA para hacer una inserción de datos a granel. Una vez que haya terminado, puedo cambiar la contraseña sin afectar el cifrado, y nadie puede descifrarlo excepto yo. Puedo repetir este proceso cuantas veces sea necesario. ¿Estoy en lo cierto? –