Hoy en día con la creciente cantidad de información que las compañías almacenan en sus bases de datos, desde números de tarjeta de crédito hasta direcciones, fechas de nacimiento, contraseñas estas se han convertido en blancos para el robo de información. Existen diversas barreras de hardware y software que podemos colocar en nuestra red para “tratar” de proteger esta información, cada una de estas tiene sus propias debilidades. Cuando todas estas barreras caen, solo queda una barrera final, “La Encriptación”.
Debemos proteger nuestra base de datos de modo que si un hacker logra tener acceso a la misma no le sea de utilidad.
Encriptación
SQL Server 2005 tiene la habilidad de utilizar múltiples algoritmos para la encriptación de la data:
ü Llaves simétricas (RC4, RC2, DES Family, AES Family)
ü Llaves asimétricas (Rivest-Shamir-Adelman Encryption (RSA))
ü Certificados (X.509 V1)
Esta vez vamos a crear una tabla llamada InfoConfidencial por esta vez dolo vamos a considerar un campo que se va llamar Password y le damos como tipo de dato varbinary(50) debido a que este tipo de dato acepta información encriptada
Ahora vamos a insertar el valor 3654-35749-567, para lo cual vamos a usar la función encryptByPassPhrase
Vamos a hacer un simple select y vemos como nos muestra el dato
Ahora vamos a usar la contra función decryptByPassPhrase
Pero nos damos cuenta que todavía nos muestra un código binario o mejor dicho nos muestra la presentación binaria de nuestro string original, para lo cual realizaremos la siguiente operación.
Usamos Cast para convertirlo a un tipo varchar y así poder visualizar finalmente el código o dato dentro de nuestra tabla
Nota cabe resaltar que el Código Sigue Encriptado en la base de datos, se desencripto cierto, pero solo fue para visualizar .
Atentamente
José MOSQUERA
Net Cell Continental




