Partilhar via


Desenvolva aplicativos usando Always Encrypted com enclaves seguros

Aplica-se a: SQL Server 2019 (15.x) e versões posteriores no Windows Azure SQL Database

O Always Encrypted com enclaves seguros estende o Always Encrypted para permitir funcionalidades mais ricas das consultas de aplicação em colunas de bases de dados sensíveis encriptadas. Aproveita tecnologias de enclave seguro para permitir que o executor de consultas no Motor de Base de Dados delegue cálculos em colunas encriptadas para um enclave seguro dentro do processo do Motor de Base de Dados.

Pré-requisitos

O seu ambiente precisa de cumprir os seguintes requisitos para suportar o Always Encrypted com enclaves seguros.

  • Sua instância do SQL Server ou seu servidor de banco de dados no Banco de Dados SQL do Azure deve ser configurado corretamente para dar suporte a enclaves e atestado, se aplicável/necessário. Para obter mais informações, consulte o tópico Configuração do enclave seguro e o atestado.
  • Certifique-se de que a sua candidatura:
    • Utiliza uma versão do driver cliente que suporta o Always Encrypted com enclaves seguros.

    • Ativa o modo Sempre Encriptado ao ligar à tua base de dados.

    • Define um protocolo de atestação que determina se o driver cliente deve atestar o enclave antes de submeter consultas ao enclave e, em caso afirmativo, que serviço de atestação deve utilizar. As versões mais recentes dos drivers suportam os seguintes protocolos de atestado:

      • Atestado do Microsoft Azure - impõe o atestado usando o Atestado do Microsoft Azure.
      • Serviço Guardião do Anfitrião - aplica a autenticação usando o Serviço Guardião do Anfitrião.
      • Nenhum - permite o uso de enclaves sem atestado.

      A tabela abaixo especifica protocolos de atestado válidos para determinados produtos SQL e tecnologias de enclave:

      Produto Tecnologia de enclave Protocolos de atestado suportados
      SQL Server 2019 (15.x) e posterior Enclaves VBS Serviço Guardião do Anfitrião, Nenhum
      Base de Dados SQL do Azure Enclaves SGX nas bases de dados da série DC Atestado do Microsoft Azure
      Base de Dados SQL do Azure Enclaves VBS Nenhum
    • Define uma URL de atestação que seja válida para o seu ambiente, caso esteja a usar atestação.

Drivers do cliente para Always Encrypted com enclaves seguros

Para desenvolver aplicações usando o Always Encrypted com enclaves seguros, precisa de uma versão do driver cliente SQL que suporte enclaves seguros. O driver cliente desempenha o seguinte papel fundamental:

  • Antes de submeter uma consulta que utiliza um enclave seguro para SQL Server ou Azure SQL Database para execução, o driver inicia a atestação do enclave (se estiver configurada) para verificar se o enclave seguro é fiável e pode ser usado em segurança para processar dados sensíveis. Para mais informações sobre atestação, consulte Atestação de Enclave Seguro.
  • O motorista cliente estabelece uma sessão segura com o enclave ao negociar um segredo partilhado.
  • O driver usa o segredo partilhado para encriptar as chaves de encriptação das colunas que o enclave precisará para processar a consulta, e envia as chaves para o SQL Server, que as encaminha para o enclave seguro que desencripta as chaves.
  • Finalmente, o driver submete a consulta para execução, o que desencadeia os cálculos dentro do enclave seguro.

Os seguintes drivers cliente suportam o Always Encrypted com enclaves seguros:

Consulte também