Compartir a través de


Claves de cifrado de base de datos y SQL Server (motor de base de datos)

SQL Server usa claves de cifrado para ayudar a proteger los datos, las credenciales y la información de conexión que se almacena en una base de datos de servidor. SQL Server tiene dos tipos de claves: simétricas y asimétricas. Las claves simétricas usan la misma contraseña para cifrar y descifrar datos. Las claves asimétricas usan una contraseña para cifrar los datos (denominados clave pública ) y otro para descifrar los datos (denominados clave privada ).

En SQL Server, las claves de cifrado incluyen una combinación de claves públicas, privadas y simétricas que se usan para proteger los datos confidenciales. La clave simétrica se crea durante la inicialización de SQL Server cuando se inicia por primera vez la instancia de SQL Server. SQL Server usa la clave para cifrar datos confidenciales almacenados en SQL Server. El sistema operativo crea claves públicas y privadas y se usan para proteger la clave simétrica. Se crea un par de claves pública y privada para cada instancia de SQL Server que almacena datos confidenciales en una base de datos.

Aplicaciones para SQL Server y claves de base de datos

SQL Server tiene dos aplicaciones principales para claves: una clave maestra de servicio (SMK) generada en y para una instancia de SQL Server y una clave maestra de base de datos (DMK) usada para una base de datos.

El SMK se genera automáticamente la primera vez que se inicia la instancia de SQL Server y se usa para cifrar una contraseña de servidor vinculado, credenciales y la clave maestra de base de datos. El SMK se cifra mediante la clave del equipo local utilizando la API de Protección de Datos de Windows (DPAPI). DpAPI usa una clave derivada de las credenciales de Windows de la cuenta de servicio de SQL Server y las credenciales del equipo. La clave maestra de servicio solo se puede descifrar mediante la cuenta de servicio bajo la cual fue creada o mediante un principal de seguridad que tiene acceso a las credenciales de la máquina.

La clave maestra de base de datos es una clave simétrica que se usa para proteger las claves privadas de certificados y claves asimétricas presentes en la base de datos. También se puede usar para cifrar los datos, pero tiene limitaciones de longitud que hacen menos práctico para los datos que usar una clave simétrica.

Cuando se crea, la clave maestra se cifra mediante el algoritmo Triple DES y una contraseña proporcionada por el usuario. Para habilitar el descifrado automático de la clave maestra, se cifra una copia de la clave mediante smk. Se almacena en la base de datos donde se usa y en la base de datos del master sistema.

La copia de la DMK almacenada en la base de datos del master sistema se actualiza silenciosamente cada vez que se cambia la DMK. Sin embargo, este valor predeterminado se puede cambiar mediante la DROP ENCRYPTION BY SERVICE MASTER KEY opción de la ALTER MASTER KEY instrucción . Una DMK que no está cifrada por la clave maestra de servicio debe abrirse mediante la OPEN MASTER KEY instrucción y una contraseña.

Administración de claves de base de datos y SQL Server

La administración de claves de cifrado consiste en crear nuevas claves de base de datos, crear una copia de seguridad del servidor y las claves de base de datos, y saber cuándo y cómo restaurar, eliminar o cambiar las claves.

Para administrar claves simétricas, puede usar las herramientas incluidas en SQL Server para hacer lo siguiente:

  • Realice una copia de seguridad de una copia del servidor y las claves de base de datos para poder usarlas para recuperar una instalación del servidor o como parte de una migración planeada.

  • Restaure una clave guardada anteriormente en una base de datos. Esto permite que una nueva instancia de servidor acceda a los datos existentes que no haya cifrado originalmente.

  • Elimine los datos cifrados de una base de datos en el evento poco probable de que ya no pueda acceder a los datos cifrados.

  • Vuelva a crear claves y vuelva a cifrar los datos en el evento poco probable de que la clave esté en peligro. Como procedimiento recomendado de seguridad, debe volver a crear las claves periódicamente (por ejemplo, cada pocos meses) para proteger el servidor frente a ataques que intentan descifrar las claves.

  • Agregue o quite una instancia de servidor de una implementación escalada de servidor en la que varios servidores comparten una base de datos única y la clave que proporciona cifrado reversible para esa base de datos.

Información de seguridad importante

El acceso a objetos protegidos por la clave maestra del servicio requiere la cuenta de servicio de SQL Server que se utilizó para crear la clave o la cuenta de la máquina (computadora). Es decir, el equipo está vinculado al sistema donde se creó la clave. Puede cambiar la cuenta de servicio de SQL Server o la cuenta de equipo sin perder el acceso a la clave. Sin embargo, si cambia ambos, perderá el acceso a la clave maestra de servicio. Si pierde el acceso a la clave maestra de servicio sin uno de estos dos elementos, no podrá descifrar los datos y los objetos cifrados mediante la clave original.

Las conexiones protegidas con la clave maestra de servicio no se pueden restaurar sin la clave maestra de servicio.

El acceso a objetos y datos protegidos con la clave maestra de base de datos solo requiere la contraseña que se usa para proteger la clave.

Precaución

Si pierde todo el acceso a las claves descritas anteriormente, perderá el acceso a los objetos, conexiones y datos protegidos por esas claves. Puede restaurar la clave maestra de servicio, como se describe en los vínculos que se muestran aquí, o puede volver al sistema de cifrado original para recuperar el acceso. No hay ninguna puerta trasera para recuperar el acceso.

En esta sección

Clave maestra de servicio
Proporciona una breve explicación de la clave maestra de servicio y sus procedimientos recomendados.

Administración extensible de claves (EKM)
Explica cómo usar sistemas de administración de claves de terceros con SQL Server.

Copia de seguridad de la clave maestra de servicio

Restauración de la clave maestra de servicio

Crear la clave maestra de una base de datos

Copia de seguridad de una clave maestra de base de datos

Restauración de una clave maestra de base de datos

Crear claves simétricas idénticas en dos servidores

Administración extensible de claves con Azure Key Vault (SQL Server)

Habilitar TDE mediante EKM

CREATE MASTER KEY (Transact-SQL)

ALTER SERVICE MASTER KEY (Transact-SQL)

Restauración de una clave maestra de base de datos

Véase también

Copia de seguridad y restauración de claves de cifrado de Reporting Services
Eliminar y volver a crear claves de cifrado (Administrador de configuración de SSRS)
Agregar y quitar claves de cifrado para la implementación de Scale-Out (Administrador de configuración de SSRS)
Cifrado de datos transparente (TDE)