Llaves simétricas
Es un valor que es usado para encriptar o desencriptar datos. Esta llave debe ser compartida entre el encriptador y el desencriptador.
La sintaxis para crear una llave simétrica es:
CREATE SYMMETRIC KEY key_name [ AUTHORIZATION owner_name ] WITH
Ejemplo:
CREATE SYMMETRIC KEY LlaveSimetrica
WITH ALGORITHM= AES_256
ENCRYPTION BY PASSWORD = 'SF$5454%&2DSF'
Llave asimétrica
Son un par de valores que están compuesto por una llave publica y una privada.
la llave publica es una llave compartida que se encarga de encriptar los datos y la llave privada se encarga de desencriptarlos .
Estas llaves son usadas para crear firmas digitales.
La sintaxis para crear una llave asimétrica es:
CREATE ASYMMETRIC KEY Asym_Key_Name [ AUTHORIZATION database_principal_name ] { [ FROM
Ejemplo
CREATE ASYMETRIC KEY LlaveAsimetrica
WHIT ALGORITHM=RSA_2048
ENCRYPTION BY PASSWORD = 'SF$5454%&2DSF'
Certificados digitales
Los certificados asocian una llave publica con una persona
Los certificados contienen:
*Una llave publica del sujeto
*Información sobre el sujeto
*Tiempo de expiración
*Identificación del emisor y firma digital
CREATE CERTIFICATE certificate_name [ AUTHORIZATION user_name ] { FROM
Ejemplos:
CREATE CERTIFICATE Ventas ENCRYPTION BY PASSWORD = ''SF$5454%&2DSF' WITH SUBJECT = 'Certificado de ventas', EXPIRY_DATE = '10/31/2009';
Crear certificado desde archivo
CREATE CERTIFICATE Ventas FROM FILE = 'c:\DB\Ventas.cer' WITH PRIVATE KEY (FILE = 'c:\DB\Ventas.pvk', DECRYPTION BY PASSWORD = 'sldkflk34et6gs%53#v00');
Create certificado a un ensamblado
CREATE CERTIFICATE Ventas FROM ASSEMBLY AssemblyVentas
Para realizar una copia del certificado se debe utilizar la siguiente sintaxis
BACKUP CERTIFICATE Ventas
TO FILE = 'c:\DB\Ventas.cer'
Funciones de criptográficas
EncryptByKey y DecryptByKey: encripta y desencripta datos con llaves simétricas
EncryptByAsymKey y DecryptByAsymKey: encripta y desencripta datos con llaves asimétricas
EncryptByCert y DecryptByCert: encripta y desencripta datos con certificados digitales
Ejemplo
OPEN SYMMETRIC KEY SSN_Key_01 DECRYPTION BY CERTIFICATE HumanResources037;
EncryptByKey(Key_GUID('SSN_Key_01'), NationalIDNumber);
No hay comentarios:
Publicar un comentario