Mejores prácticas para tratar con datos encriptados en MSSQL

Tengo algunos datos en mi database de usuarios que preferiría que fueran encriptados. La mayoría de los datos necesitarán ser desencryptions cuando se solicite, pero también hay passwords que pueden permanecer encriptadas (en el pasado, usábamos pwdcompare, pero ahora creo que esto está obsoleto).

He seguido los pasos aquí , así que ahora he encryption con éxito mis datos.

Lo que no entiendo es la forma correcta de abrir la key maestra en time de ejecución, para cifrar / descifrar datos. Si quiero usar procedimientos almacenados para recuperar datos encriptados, ¿cómo hago para abrir la llave maestra? ¿Paso la contraseña de la key maestra usando un parámetro de proc almacenado?

Como he entendido, debe crear la key maestra una vez (puede hacerlo durante el process de installation) y esta es la primera y la última vez que se necesita una contraseña. Después de eso, utilizando la key maestra, cree una key de encryption (simétrica o asimétrica) sin una contraseña y úsela para cifrar / descifrar sus datos. No tiene que dar una contraseña, todo lo que necesita es usar su key de encryption y tener permiso de CONTROL sobre ella. El único problema es que tu DBA también puede tenerlo 🙂

Consulte este artículo: Uso de encryption asimétrico y firmas digitales en una database de SQL Server 2005