Encriptacin de datos
para qu?
Evitar acceso a datos sensibles
Evitar robo de copias de seguridad con datos
sensibles
qu tcnicas?
Encriptacin a nivel de columna
Encriptacin transparente (TDE) (afecta a toda
la BD)
coste?
Mayor sobrecarga y puede afectar al
rendimiento
Requiere una estrategia para la definicin y
mantenimiento de claves, passwords y
Encriptacin de datos
Encriptacin a nivel de columna
Mediante certificados, keys o frases
Requiere el uso de funciones especficas
Symmetric Key
Certificate
EncrypyPassphrase
Encriptacin de datos
Encriptacin a nivel de columna
Encriptacin transparente (TDE), afecta a
toda la BD
No protege las comunicaciones entre
aplicacin cliente y servidor
No encripta FILESTREAM.
No impide al DBA ver los datos.
Puede caer el rendimiento si conviven BD
TDE y sin encriptar.
Encriptacin de datos.
Ejemplo
Encriptar un registro de una tabla.
SELECT
EncryptByPassPhrase(address,'PassWord')
AS encrypted FROM [Link]
Encriptacin de datos.
Ejemplo
Insertar un registro encriptado.
1) Crear la Tabla
create table login_details
(
uid integer,
username varchar(10),
password varbinary(100)
)
Encriptacin de datos.
Ejemplo
Insertar un registro encriptado.
2)Insertar los registros
insert into login_details(uid,username,password)
values(1,'smith',EncryptByPassPhrase('12','XXX'))
insert into login_details(uid,username,password)
values(2,'kennal',EncryptByPassPhrase('12','YYY'))
insert into login_details(uid,username,password)
values(3,'staurt',EncryptByPassPhrase('12','ZZZ'))
Encriptacin de datos.
Ejemplo
Insertar un registro encriptado.
3) Verificar Encriptacin.
select * from login_details
Encriptacin de datos.
Ejemplo
Desencriptar los registros.
select uid,username,convert(varchar(10),
DECRYPTBYPASSPHRASE ('12',password)) from
login_details
//ENCRIPTAR REGISTROS
insert into login(uid,username,password)
values(4,'nadia',EncryptByPassPhrase('12','nadia123'))
insert into login(uid,username,password)
values(5,'jhoel',EncryptByPassPhrase('13','jhoel123'))
select *from login
//DESENCRIPTAR REGISTROS
select uid,username,convert(varchar(10), DECRYPTBYPASSPHRASE ('13',password))
from login