Sunteți pe pagina 1din 3

--Tarjeta --1. Crear BD tarjeta --2. Crear tabla /* USE Tarjeta CREATE TABLE dbo.

CustomerCreditCards (CustomerID int primary key, CardNumber varbinary(256)) */ --MASTER --3. Crear clave asimetrica nivel de servidor (master) --CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'EncryptionExampleM asterKey09$' --CREATE MASTER KEY ENCRYPTION BY PASSWORD = '*123*456*' --4. Crea certificado simetrico /* CREATE CERTIFICATE [CertSymetricKey] WITH SUBJECT = 'Subject definido. Esta clave proteger sus datos.' */ --5. Crear clave asimetrica /* CREATE SYMMETRIC KEY [SecretSymmetricKey] WITH ALGORITHM = TRIPLE_DES --AES_128 ENCRYPTION BY CERTIFICATE [CertSymetrickey] */ --6. Activar la clave asimetrica /* OPEN SYMMETRIC KEY [SecretSymmetricKey] DECRYPTION BY CERTIFICATE [CertSymetrickey] */ --7. Ejemplo de consulta de informacin DECLARE @key_Guid AS UNIQUEIDENTIFIER SET @key_Guid = KEY_GUID('SecretSymmetricKey') IF (@key_Guid IS NOT NULL) BEGIN INSERT INTO Tarjeta.dbo.CustomerCreditCards VALUES (2, ENCRYPTBYKEY(@key_Guid,N'4123-1245-7895-1212')) END ELSE BEGIN PRINT 'ERROR AL CREAR GUID' END -- 8. SELECT * FROM Tarjeta.dbo.CustomerCreditCards --SELECT CustomerID, CONVERT(NVARCHAR(100),DECRYPTBYKEY(CardNumber)) AS 'CardNumber' --FROM dbo.CustomerCreditCards --FROM Tarjeta.dbo.CustomerCreditCards CLOSE SYMMETRIC KEY SecretSymmetricKey

--1. Tener definida una clave a nivel de servidor. --2. Crear certificado --DROP MASTER KEY /* CREATE FUNCTION dbo.udfDecryptData (@InputValue VARBINARY(256)) RETURNS NVARCHAR(20) WITH EXECUTE AS 'dbo' AS BEGIN RETURN CONVERT (NVARCHAR(50)), decryptbykeyautocert (cert_id('CertSymetrickey')), null, @InputValue)) END GRANT EXECUTE ON [dbo].[udfDecryptData] TO [LowPrivLogin] GRANT SELECT ON Tarjeta.[dbo].[CustomerCreditCards] TO [] EXECUTE AS USER = 'LowPrivLogin' SELECT CustomerID, dbo.udfDecryptData (CardNumber) AS 'CardNumber' FROM dbo.CustomerCreditCards REVERT DENY SELECT (CardNumber) ON dbo.CustomerCreditCards to LowPrivLogin EXECUTE AS USER = 'LowPrivLogin' SELECT CestomerID, CardNumber FROM dbo.CustomerCreditCards */

--13.02.2013 /*DROP MASTER KEY*/ USE master go CREATE MASTER KEY ENCRYPTION BY PASSWORD = '2008TDEexample*' CREATE CERTIFICATE CertForTarjeta WITH SUBJECT = 'Cerficate for LEGAL TDE' GO BACKUP CERTIFICATE CertForTarjeta TO FILE = 'D:\respaldo\CertForTarjeta.cer' WITH PRIVATE KEY (FILE = 'D:\respaldo\CertForTarjeta.key', ENCRYPTION BY PASSWORD = '2008TDEexample*') GO USE TARJETA GO CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_256

ENCRYPTION BY SERVER CERTIFICATE CertForTarjeta GO ALTER DATABASE TARJETA SET ENCRYPTION ON GO sp_configure 'show advanced', 1 GO RECONFIGURE GO sp_configure 'EKM provider enabled', 1 GO RECONFIGURE GO CREATE CERTIFICATE CertForTarjeta TO FILE = 'D:\respaldo\CertForTarjeta.cer' WITH PRIVATE KEY (FILE = 'D:\respaldo\CertForTarjeta.key', ENCRYPTION BY PASSWORD = '2008TDEexample*') GO

S-ar putea să vă placă și