Cifrando Datos Con Sql Server 2005 Y 2008

Páginas: 9 (2133 palabras) Publicado: 11 de febrero de 2013
Cifrando datos con SQL Server 2005 y 2008
Personas que lo han encontrado útil: 3 de 4 - Valorar este tema
Por Maximiliano D. Accotto
Contenido
1. Introducción
2. Opciones en SQL Server 2005 y 2008
3. Passphrase
4. Claves Asimétricas (Asymmetric Key)
5. Claves Simétricas (Symmetric Key)
6. Certificados
7. Conclusión
1. Introducción
Una de las features más solicitadas por losdesarrolladores y DBA es la posibilidad de que el motor de base de datos pueda cifrar datos y así no tener que disponer de herramientas de terceros o codificar los métodos de cifrado. Esta nueva versión de SQL Server incluye esta nueva característica. A lo largo de este artículo analizaremos las diferentes alternativas que nos ofrece este producto.
En muchas aplicaciones es necesario cifrar datos, pero¿Qué buscamos, básicamente, cuando deseamos implementar una solución de éste tipo? El cifrado de datos tiene por objetivo poder mantener los datos (no deben ser todos los datos) asegurados, y no permitir la lectura directa de los mismos, por ejemplo: si existe una tabla donde se almacenan las tarjetas de crédito, la información de dicha tabla se podría considerar confidencial, con lo cual no seríanada bueno que algún usuario pueda acceder a dicha información de forma directa; el cifrado nos garantizará que por más que se tenga permisos para leer los datos, éstos no serán legibles si no se tiene la manera de descifrarlos. La determinación de qué datos se deben cifrar dependerá del negocio en sí; no recomiendo cifrar todo sino solamente lo necesario, ya que las operaciones decifrado/descifrado perjudican el rendimiento global, con lo cual se debería poner a un lado de la balanza la seguridad, y la performance al otro.
Principio de la página
2. Opciones en SQL Server 2005
SQL Server 2005 ofrece 4 alternativas para realizar el cifrado de datos:
* Passphrase
* Asymmetric Key
* Symmetric Key
* Certificate Key
El motor de base de datos tiene una infraestructura decifrado jerárquica y administración de claves. Cada capa se encarga de cifrar a las capas inferiores utilizando una combinación de certificados, claves simétricas y asimétricas. El diagrama que se muestra en la Figura 1 ilustra lo mencionado anteriormente:

Figura 1. Volver al texto.
Principio de la página
3. Passphrase
Este método es el más rápido y simple de todos, pero a su vez el menosseguro. Para realizar el cifrado sólo es necesario pasar una contraseña que también se utilizará para descifrar los datos. Los comandos TSQL para cifrar y descifrar los datos son EncryptByPassPhrase y DecryptByPassPhrase, respectivamente.
Sintaxis
EncryptByPassPhrase( { 'passphrase' | @passphrase } ,
{ 'cleartext' | @cleartext }[ , { add_authenticator | @add_authenticator }
, { authenticator | @authenticator } ]
)
Ejemplo
Desde el Management Studio (New Query) realizaremos los distintos ejemplos de esta nota. Para acceder al mismo debes ingresar por Start | Programs | Microsoft SQL Server 2005 | SQL server Management Studio.CREATE DATABASE CIFRADO
GO

USE CIFRADO
GO

-- CREAMOS LA TABLA

IF OBJECT_ID('TARJETAS') IS NOT NULL
DROP TABLE TARJETAS
GO

CREATE TABLE TARJETAS (NUMERO VARBINARY(8000),FECHA_VENCIMIENTO DATETIME)
GO
El siguiente paso es insertar un registro cifrado; para ello ejecutaremos lo siguiente:
INSERT INTO TARJETAS
VALUES (ENCRYPTBYPASSPHRASE('$$PEPE$$','123'),GETDATE())
GO
Ahora disponemos de un registro (123) que ha quedado cifrado en nuestra tabla; para comprobarlo, ejecutaremos el siguiente...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Crear un respaldo de una base de datos en sql server 2008
  • Tipos de datos sql server 2008 R2
  • manual sql server 2005
  • instalar SQl Server 2005
  • Netbean+sql server 2005
  • Sql server 2005
  • Manual sql server 2008
  • Sql server 2008 procedimientos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS