Академический Документы
Профессиональный Документы
Культура Документы
database administration 24
Por Greg Low
USE master;
GO
USE EncryptTest;
GO
En este cdigo, en primer lugar he especificado que ario puede abrir la clave dentro de una sesin. Una
quiero crear una clave simtrica llamada GregsKey. A vez que la clave est abierta, se puede utilizar para
continuacin, he indicado qu algoritmo de cifrado que cifrar y descifrar datos.
El Listado 4 pgina 26, muestra cmo consultar
las claves simtricas dentro de la base de datos, y la
Listado 2: cdigo para crear una clave simtrica
figura 1, pgina 26, muestra el resultado de ejecutar
este comando.
CREATE SYMMETRIC KEY GregsKey
WITH ALGORITHM = TRIPLE_DES Listado 3: Cdigo para abrir una clave simtrica
ENCRYPTION BY
PASSWORD = VerySecretStuff;
GO OPEN SYMMETRIC KEY GregsKey
DECRYPTION BY PASSWORD = VerySecretStuff;
GO
se utiliza. SQL Server admite algoritmos de cifrado que
estn, a su vez, basados en la API cifrado (CAPI) del
sistema operativo. Estos algoritmos tienen nombres
como DES, Triple DES, DESX, RC2, RC4, RC4 de 128 Tenga en cuenta que la clave tiene un ID (sym-
bits, AES de 128 bits, 192 bits AES y AES de 256 bits. metric_key_id) y un valor de identificador nico glob-
Cada sistema operativo soporta una lista especfica al (GUID) (key_guid). Hablaremos en breve de cmo
de algoritmos de cifrado. Por ejemplo, Windows XP y utilizar esta clave para cifrar datos.
Windows 2000 no admiten el algoritmo AES. En este El Listado 5, pgina 26, muestra un ejemplo de
ejemplo, he seleccionado la opcin TRIPLE_DES. cmo cifrar y descifrar datos.
Listado 4: Cdigo para consultar las claves simtricas podra haber varias claves abiertas al mismo tiempo.
disponibles La clave es identificada por su key_guid. En este
ejemplo, obtuve el GUID pasando el nombre de la
SELECT * FROM sys.symmetric_keys; clave a la funcin Key_GUID.
GO Cuando se ejecuta el cdigo en el listado 5, se
reciben dos conjuntos de resultados. La figura 2
muestra el primero de ellos.
En este cdigo, declarado una variable varbinary Como muestra este resultado, al cifrar los da-
(Max), @ CipherData, que se utilizar para el texto tos mediante la ejecucin del comando SELECT @
cifrado. Tenga en cuenta que esto podra ser fcil- CipherData; se devuelve un valor binario. Observe
mente una columna de base de datos del mismo que este valor es mucho ms grande que el texto
SELECT @CipherData;
SELECT CONVERT(varchar(200),DecryptByKey(@CipherData));
GO
tipo. A continuacin, utilizo la funcin EncryptByKey() original. Esto es importante, ya que no se desea que
para cifrar el texto. Adems de proporcionar el texto nadie para poder calcular los datos basndose en la
cifrado, identifica qu clave de cifrado utilizar, ya que longitud de los valores cifrados. Esto es parte de la
Figura 4: Salida de la sentencia anterior para recuperar el Lo que resulta particularmente potente de este
Key_GUID como cadena binaria diseo es que varios usuarios pueden ejecutar la
misma instruccin SELECT pero los datos que cada cin disponible, que se vuelve an ms importante
usuario ver dependen de la clave de cifrado de que en TDE.
l o ella hayan abierto en ese momento, y todo esto
ocurre sin que se produzca ningn error.
Resumen
Acerca del Autor
En este artculo, se describe el proceso bsico para
el uso de claves simtricas para cifrar y descifrar los Dr. Greg Low (blog | podcast | twitter)
datos de SQL Server. En el siguiente artculo, habla- director gerente y mentor en SolidQ.
remos ms sobre cmo se protegen las claves de Es MVP de Microsoft para SQL Server
cifrado. En particular, es importante darse cuenta de y Director Regional de Microsoft para
que la proteccin con contrasea no es la nica op- Australia.
PowerPivot for Excel 2010 promises to put the power of self-service Business Intelligence solutions in the hands of users
while giving IT the tools to efficiently manage these solutions through SQL Server 2008 R2.
What can this new data analysis tool do to
speed the delivery of better business insights for your organization?
Solid Quality Mentors is currently involved in several PowerPivot client engagements, and wed love
to explore the possibilities with you.
If youre ready to get started or just curious, give us a call at 1-800-757-6543
or drop us an email at info@solidq.com.
www.solid.com
sqj 11 pag. 24-28 esp.indd 5 2/6/11 15:01:00