Certificados y claves asimétricas de SQL Server

La criptografía de clave pública (PKI) es un método para mantener la confidencialidad de los mensajes en el que el usuario crea una clave pública y una clave privada. La clave privada se mantiene en secreto, mientras que la clave pública se puede distribuir a otras personas. Aunque existe una relación matemática entre las claves, no resulta sencillo deducir la clave privada partiendo de la clave pública. La clave pública se utiliza para cifrar los datos y la clave privada se utiliza para descifrarlos. Un mensaje que se cifra mediante la clave pública solo se puede descifrar con la clave privada correcta. Dado que existen dos claves diferentes, estas claves son asimétricas.

Tanto los certificados como las claves asimétricas son métodos para utilizar el cifrado asimétrico. Los certificados se suelen emplear como contenedores para las claves asimétricas porque pueden contener más información, como las fechas de expiración y los emisores. No hay ninguna diferencia entre los dos mecanismos en cuanto al algoritmo criptográfico y tampoco hay diferencia en cuanto al nivel de cifrado si no varía la longitud de la clave. Generalmente, se utiliza un certificado para cifrar otros tipos de claves de cifrado en una base de datos o para firmar módulos de código.

Los certificados y las claves asimétricas pueden descifrar los datos cifrados por los demás. El cifrado asimétrico se suele utilizar para cifrar una clave simétrica para su almacenamiento en una base de datos.

Una clave pública no tiene un formato determinado como ocurre con un certificado, y no puede exportarse a un archivo.

[!NOTA]

SQL Server contiene características y herramientas que le permiten crear y administrar certificados y claves para usar con el servidor y la base de datos. SQL Server no se puede usar para crear y administrar certificados y claves con otras aplicaciones o en el sistema operativo.

Certificados

Un certificado es un objeto de seguridad firmado digitalmente que contiene una clave pública (y opcionalmente una privada) para SQL Server. Pueden utilizarse certificados generados externamente o generados por SQL Server.

[!NOTA]

Los certificados de SQL Server cumplen con la norma de certificados IETF X.509v3.

Los certificados son útiles debido a que ofrecen la opción de exportar e importar claves a archivos de certificado X.509. La sintaxis para crear certificados ofrece opciones de creación para los certificados, como establecer una fecha de expiración.

Utilizar un certificado en SQL Server

Los certificados se pueden utilizar para proteger las conexiones, en la creación de reflejo de la base de datos, para firmar paquetes y otros objetos, o para cifrar datos o conexiones. En la tabla siguiente se muestran recursos adicionales para los certificados en SQL Server.

Tema

Descripción

CREATE CERTIFICATE (Transact-SQL)

Explica el comando para crear certificados.

Identificar el origen de paquetes con firmas digitales

Muestra información sobre cómo utilizar los certificados para firmar paquetes de software.

Usar certificados para un extremo de creación de reflejo de la base de datos (Transact-SQL)

Contiene información sobre cómo utilizar los certificados con la creación de reflejo de la base de datos.

Claves asimétricas

Las claves asimétricas se utilizan para proteger las claves simétricas. También se pueden utilizar para el cifrado de datos limitado y para firmar digitalmente objetos de base de datos. Una clave asimétrica se compone de una clave privada y su correspondiente clave pública. Para obtener más información sobre cómo crear claves asimétricas, vea CREATE ASYMMETRIC KEY (Transact-SQL).

Las claves asimétricas se pueden importar de archivos de clave de nombre seguro, pero no se pueden exportar. Tampoco tienen opciones de expiración. Las claves asimétricas no pueden cifrar las conexiones.

Utilizar una clave asimétrica en SQL Server

Las claves asimétricas se pueden utilizar para proteger datos o para firmar texto simple. En la tabla siguiente se muestran recursos adicionales para las claves asimétricas en SQL Server.

Tema

Descripción

CREATE ASYMMETRIC KEY (Transact-SQL)

Explica el comando para crear claves asimétricas.

SIGNBYASYMKEY (Transact-SQL)

Muestra las opciones para firmar objetos.

Herramientas

Microsoft proporciona herramientas y utilidades para generar certificados y archivos de clave de nombre seguro. Estas herramientas proporcionan una mayor flexibilidad en el proceso de generación de claves que la sintaxis de SQL Server. Puede utilizar estas herramientas para crear claves RSA con longitudes de clave más complejas y, a continuación, importarlas en SQL Server. En la tabla siguiente se explica dónde se encuentran estas herramientas.

Herramienta

Finalidad

makecert

Crea certificados.

sn

Crea nombres seguros para claves simétricas.

Tareas relacionadas

Elegir un algoritmo de cifrado

CREATE SYMMETRIC KEY (Transact-SQL)

CREATE CERTIFICATE (Transact-SQL)

Vea también

Referencia

sys.certificates (Transact-SQL)

Conceptos

Cifrado de datos transparente (TDE)