Certificados y claves asimétricas de SQL Server

Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

La criptografía de clave pública es un método para mantener la confidencialidad de los mensajes mediante el cual 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 puede usar para cifrar los datos que solamente la clave privada correspondiente podrá descifrar. Esto puede usarse para cifrar los mensajes al propietario de la clave privada. Del mismo modo, el propietario de una clave privada puede cifrar los datos que solo pueden descifrarse con la clave pública. Este uso constituye la base de los certificados digitales en los que se cifra la información contenida en el certificado por parte del propietario de una clave privada, garantizando así el autor del contenido. Dado que las claves de cifrado y descifrado son diferentes, se conocen como claves 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 punto de conexión 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 las 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 muestra dónde se encuentran estas herramientas.

Herramienta Propósito
New-SelfSignedCertificate Crea certificados autofirmados.
makecert Crea certificados. En desuso en favor de New-SelfSignedCertificate.
sn Crea nombres seguros para claves simétricas.

Elegir un algoritmo de cifrado

CREATE SYMMETRIC KEY (Transact-SQL)

CREATE CERTIFICATE (Transact-SQL)

Consulte también

sys.certificates (Transact-SQL)
Cifrado de datos transparente (TDE)