Conhecendo a hierarquia dos objetos de segurança, podemos ver que para criar um Symmetric Key
e criptografar dados, precisamos criar:
Database Master Key
que é protegido por senhaCertificate
que está protegido peloDatabase Master key
O
Symmetric Key
próprio, que é protegido peloCertificate
Em Always Encrypted
, podemos usar EKM
o módulo para simplificar essa hierarquia. Por exemplo, podemos armazenar os certificados no Windows Certification Store
e esses certificados estão protegendo nossas chaves mestras de criptografia.
Eu estou querendo saber, se eu quiser usar Always Encrypted
funcionalidades de criptografia não internas, posso usar EKM
o módulo para criar e gerenciar minhas chaves simétricas (como é mostrado no diagrama). Na documentação CREATE SYMMETRIC KEY temos provider
opção, mas não informações suficientes sobre possíveis provedores e exemplos.
Tenho interesse em armazenar o Certificate
que está protegendo as chaves simétricas ou as chaves simétricas em armazenamento externo, pois desta forma os dados são separados das chaves e no banco de dados estamos armazenando apenas referências às chaves (como em sempre criptografado). A Windows Certification Store será a melhor opção para mim, mas o Azure Key Vault ou outra coisa também funcionará, eu acho.
tl;dr - use
CREATE CRYPTOGRAPHIC PROVIDER
para criar uma conexão dentro do SQL Server com seu hardware/software EKM/HSM, por meio de um arquivo .DLL fornecido pelo fornecedor projetado para essa finalidade.Você pode usar o Azure Key Vault para proteger dados locais. Há muitas etapas necessárias para habilitar sua conta do Azure com o Azure Key Vault, que são detalhadas nas etapas de configuração para gerenciamento extensível de chaves usando o Azure Key Vault .
As etapas dentro do SQL Server consistem no seguinte:
Instale o SQL Server Connector para Azure Key Vault do centro de download da Microsoft .
Execute o seguinte código para habilitar provedores de EKM:
Registre o módulo EKM:
Configure uma credencial para o SQL Server se conectar ao Azure:
Abra o cofre de chaves:
Você pode habilitar o TDE seguindo as etapas listadas para usar o SQL Server com a Criptografia SQL .