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 sólo 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 caducidad 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 que permiten a crear y administrar certificados y claves para su uso con el servidor y las bases de datos. SQL Server no se puede utilizar 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 caducidad.

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.

Certificados y Service Broker

Muestra información sobre cómo utilizar los certificados con Service Broker.

Utilizar firmas digitales con los paquetes

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

Certificados para la seguridad de diálogo

Detalla cómo utilizar los certificados con diálogos.

Usar certificados para la creación de reflejos de la base de datos

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

Cifrar conexiones a SQL Server

Explica cómo cifrar las conexiones con SQL Server.

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 caducidad. 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.