Encriptación de Datos en una Tabla de Sql Server

–Crear
una base de datos
Create database Cosa
go
–Crear
una tabla dentro de la base de datos
use cosa
go
Create table EmployeeReview
(Employeeid int not
null,
reviewdate datetime default getdate() not null,
comments varchar(2000) not null
)
–Crear un
login y un user para la base de datos
Use master
go
Create login HRApp with password=‘P@ssw0rd’
Use cosa
go
create user HRApp for login HrApp
–asignar permisos al user
grant select, insert, update on EmployeeReview
to HrApp
–Proceso
de encriptación con Llaves y un certificado Simetrico———
–crear
una llave maestra
–(Llave
madre de todas las siguiente llaves que se creen)
Create master key
encryption by password =‘P@ssw0rd’
–crear un
certificado simetrico
create certificate HRAppCert
authorization
HrApp
with subject=‘Hr
Certificate’
–crear la
llave simetrica basada sobre el certificado
Create symmetric key Hrkey
authorization
HrApp
with algorithm= Triple_Des
encryption by certificate HRAppCert
—insertar
un dato para revisar la tabla con el usuario dbo
insert into EmployeeReview
(Employeeid,reviewdate ,comments
) values
(1,’05-09-2012′,‘Comentario no encriptado’)
select * from EmployeeReview
–sesionar
con el usuario HRAPP y abrir la llave simetrica para
–insertar un dato
execute as user =
‘HrApp’
open symmetric key Hrkey decryption by certificate HRAppCert
–insertar
un dato e encriptarlo
insert into EmployeeReview
(Employeeid,reviewdate ,comments
) values
(2,’05-09-2012′,encryptbykey(key_guid(‘Hrkey’),
‘Este
comentario esta encriptado’
))
–cerrar
la llave
Close all symmetric keys
–salir del usuario HRAPP
Revert
–consultar
la tabla
select * from EmployeeReview
–desencriptar
los datos con el usuario dbo.
open symmetric key HrKey decryption by certificate HrAppCert
select convert(varchar, decryptbykey(comments)) as comentario
from EmployeeReview
close all symmetric keys

Leave a Reply

Your email address will not be published. Required fields are marked *