Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
SQL Server proporciona funcionalidades de cifrado de datos junto con administración extensible de claves (EKM), mediante el proveedor de Microsoft Cryptographic API (MSCAPI) para el cifrado y la generación de claves. Las claves de cifrado para el cifrado de claves y datos se crean en contenedores de claves transitorios y deben exportarse desde un proveedor antes de almacenarlos en la base de datos. Este enfoque permite que SQL Server controle la administración de claves que incluya una jerarquía de claves de cifrado y una copia de seguridad de claves.
Con la creciente demanda de cumplimiento normativo y preocupación por la privacidad de los datos, las organizaciones aprovechan el cifrado como una manera de proporcionar una solución de "defensa en profundidad". Este enfoque suele ser poco práctico mediante solo herramientas de administración de cifrado de bases de datos. Los proveedores de hardware proporcionan productos que abordan la administración de claves empresariales mediante módulos de seguridad de hardware (HSM). Los dispositivos HSM almacenan claves de cifrado en módulos de hardware o software. Se trata de una solución más segura porque las claves de cifrado no residen con los datos de cifrado.
Varios proveedores ofrecen HSM para la administración de claves y la aceleración de cifrado. Los dispositivos HSM usan interfaces de hardware con un proceso de servidor como intermediario entre una aplicación y un HSM. Los proveedores también implementan proveedores de MSCAPI en sus módulos, que pueden ser hardware o software. MSCAPI suele ofrecer solo un subconjunto de la funcionalidad que ofrece un HSM. Los proveedores también pueden proporcionar software de administración para HSM, configuración de claves y acceso a claves.
Las implementaciones de HSM varían de proveedor a proveedor y usarlas con SQL Server requiere una interfaz común. Aunque MSCAPI proporciona esta interfaz, solo admite un subconjunto de las características de HSM. También tiene otras limitaciones, como la incapacidad de conservar de forma nativa las claves simétricas y la falta de compatibilidad orientada a la sesión.
La administración extensible de claves de SQL Server permite a los proveedores de EKM/HSM de terceros registrar sus módulos en SQL Server. Cuando se registra, los usuarios de SQL Server pueden usar las claves de cifrado almacenadas en módulos EKM. Esto permite que SQL Server acceda a las características de cifrado avanzadas que admiten estos módulos, como el cifrado masivo y el descifrado, y las funciones de administración de claves, como el envejecimiento de claves y la rotación de claves.
Al ejecutar SQL Server en una máquina virtual de Azure, SQL Server puede usar claves almacenadas en Azure Key Vault. Para más información, consulte Administración extensible de claves mediante Azure Key Vault (SQL Server).
Configuración de EKM
La administración extensible de claves no está disponible en todas las ediciones de MicrosoftSQL Server. Para obtener una lista de las características compatibles con las ediciones de SQL Server, vea Características compatibles con las ediciones de SQL Server 2014.
De forma predeterminada, la administración extensible de claves está desactivada. Para habilitar esta característica, use el comando sp_configure que tiene la siguiente opción y valor, como en el ejemplo siguiente:
sp_configure 'show advanced', 1
GO
RECONFIGURE
GO
sp_configure 'EKM provider enabled', 1
GO
RECONFIGURE
GO
Nota:
Si usa el comando sp_configure para esta opción en las ediciones de SQL Server que no admiten EKM, recibirá un error.
Para deshabilitar la característica, establezca el valor en 0. Para obtener más información sobre cómo establecer opciones de servidor, vea sp_configure (Transact-SQL).
Cómo usar EKM
Administración extensible de claves de SQL Server permite almacenar las claves de cifrado que protegen los archivos de base de datos en un dispositivo listo para usar, como una tarjeta inteligente, un dispositivo USB o un módulo EKM/HSM. Esto también permite la protección de datos de los administradores de bases de datos (excepto los miembros del grupo sysadmin). Los datos se pueden cifrar mediante claves de cifrado a las que solo el usuario de la base de datos tiene acceso en el módulo externo EKM/HSM.
La administración extensible de claves también proporciona las siguientes ventajas:
Comprobación de autorización adicional (habilitación de la separación de obligaciones).
Mayor rendimiento para el cifrado o descifrado basado en hardware.
Generación de claves de cifrado externo.
Almacenamiento de claves de cifrado externo (separación física de datos y claves).
Recuperación de claves de cifrado.
Retención de claves de cifrado externo (habilita la rotación de claves de cifrado).
Recuperación de claves de cifrado más fácil.
Distribución de claves de cifrado administrables.
Eliminación segura de claves de cifrado.
Puede usar administración extensible de claves para una combinación de nombre de usuario y contraseña u otros métodos definidos por el controlador EKM.
Precaución
Para solucionar problemas, el soporte técnico de Microsoft podría requerir la clave de cifrado del proveedor EKM. Es posible que también necesite acceder a las herramientas o procesos del proveedor para ayudar a resolver un problema.
Autenticación con un dispositivo EKM
Un módulo EKM puede admitir más de un tipo de autenticación. Cada proveedor expone solo un tipo de autenticación a SQL Server, es decir, si el módulo admite tipos de autenticación Básico u Otros, expone uno o otro, pero no ambos.
EKM Device-Specific autenticación básica mediante nombre de usuario y contraseña
Para esos módulos EKM que admiten la autenticación básica mediante un par de nombre de usuario y contraseña , SQL Server proporciona autenticación transparente mediante credenciales. Para obtener más información sobre las credenciales, consulte Credenciales (motor de base de datos).
Se puede crear una credencial para un proveedor EKM y asociarla a un inicio de sesión (cuentas de Windows y SQL Server) para acceder a un módulo EKM en base a cada inicio de sesión. El campo Identificar de la credencial contiene el nombre de usuario; el campo secreto contiene una contraseña para conectarse a un módulo EKM.
Si no hay ninguna credencial asignada de inicio de sesión para el proveedor EKM, se usa la credencial asignada a la cuenta de servicio de SQL Server.
Un inicio de sesión puede tener varias credenciales asignadas, siempre y cuando se usen para proveedores EKM distintivos. Debe haber solo una credencial mapeada por cada proveedor EKM por inicio de sesión. La misma credencial puede estar asignada a otros inicios de sesión.
Otros tipos de autenticación Device-Specific de EKM
En el caso de los módulos EKM que tienen autenticación distinta de las combinaciones de usuario y contraseña de Windows, la autenticación debe realizarse independientemente de SQL Server.
Cifrado y descifrado por un dispositivo de Módulo de Gestión de Claves (EKM)
Puede usar las siguientes funciones y características para cifrar y descifrar datos mediante claves simétricas y asimétricas:
| Función o característica | Referencia |
|---|---|
| Cifrado de claves simétricas | CREATE SYMMETRIC KEY (Transact-SQL) |
| Cifrado de claves asimétricas | CREATE ASYMMETRIC KEY (Transact-SQL) |
| EncryptByKey(key_guid, "cleartext", ...) | ENCRYPTBYKEY (Transact-SQL) |
| DecryptByKey(ciphertext, ...) | DECRYPTBYKEY (Transact-SQL) |
| EncryptByAsmKey(key_guid, "cleartext") | ENCRYPTBYASYMKEY (Transact-SQL) |
| DecryptByAsmKey(ciphertext) | DECRYPTBYASYMKEY (Transact-SQL) |
Cifrado de claves de base de datos mediante claves EKM
SQL Server puede usar claves EKM para cifrar otras claves de una base de datos. Puede crear y usar claves simétricas y asimétricas en un dispositivo EKM. Puede cifrar claves simétricas nativas (no EKM) con claves asimétricas EKM.
En el ejemplo siguiente se crea una clave simétrica de base de datos y se cifra mediante una clave en un módulo EKM.
CREATE SYMMETRIC KEY Key1
WITH ALGORITHM = AES_256
ENCRYPTION BY EKM_AKey1;
GO
--Open database key
OPEN SYMMETRIC KEY Key1
DECRYPTION BY EKM_AKey1
Para obtener más información sobre las claves de base de datos y servidor en SQL Server, consulte Claves de cifrado en SQL Server y motor de base de datos (Motor de base de datos).
Nota:
No se puede cifrar una clave EKM con otra clave EKM.
SQL Server no admite la firma de módulos con claves asimétricas generadas a partir del proveedor EKM.
Tareas relacionadas
Opción de configuración del servidor habilitada para el proveedor EKM
Administración extensible de claves con Azure Key Vault (SQL Server)
Véase también
CREAR PROVEEDOR CRIPTOGRÁFICO (Transact-SQL)
ELIMINAR PROVEEDOR CRIPTOGRÁFICO (Transact-SQL)
ALTERAR PROVEEDOR CRIPTOGRÁFICO (Transact-SQL)
sys.cryptographic_providers (Transact-SQL)
sys.dm_cryptographic_provider_sessions (Transact-SQL)
sys.dm_cryptographic_provider_properties (Transact-SQL)
sys.dm_cryptographic_provider_algorithms (Transact-SQL)
sys.dm_cryptographic_provider_keys (Transact-SQL)
sys.credentials (Transact-SQL)
CREAR CREDENCIAL (Transact-SQL)
ALTER LOGIN (Transact-SQL)
CREATE ASYMMETRIC KEY (Transact-SQL)
ALTER ASYMMETRIC KEY (Transact-SQL)
DROP ASYMMETRIC KEY (Transact-SQL)
CREATE SYMMETRIC KEY (Transact-SQL)
ALTER SYMMETRIC KEY (Transact-SQL)
DROP SYMMETRIC KEY (Transact-SQL)
OPEN SYMMETRIC KEY (Transact-SQL)
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)
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