Partilhar via


Certificados do SQL Server e chaves assimétricas

Aplica-se a:Banco de Dados SQL dodo AzureInstância Gerenciada SQL do Azuredo Azure Synapse Analyticsdo Analytics Platform System (PDW)Banco de Dados SQL no Microsoft Fabric

A Criptografia de Chave Pública é uma forma de sigilo de mensagem na qual um usuário cria uma chave pública e uma chave privada . A chave privada é mantida em segredo, enquanto a chave pública pode ser distribuída a outras pessoas. Embora as chaves estejam matematicamente relacionadas, a chave privada não pode ser facilmente derivada usando a chave pública. A chave pública pode ser usada para encriptar dados que apenas a chave privada correspondente será capaz de desencriptar. Isso pode ser usado para criptografar mensagens para o proprietário da chave privada. Da mesma forma, o proprietário de uma chave privada pode encriptar dados que só podem ser desencriptados com a chave pública. Este uso forma a base de certificados digitais em que as informações contidas no certificado são criptografadas pelo proprietário de uma chave privada, garantindo o autor do conteúdo. Uma vez que as chaves de encriptação e desencriptação são diferentes, são conhecidas como chaves assimétricas .

Certificados e chaves assimétricas são maneiras de usar criptografia assimétrica. Os certificados são frequentemente usados como contêineres para chaves assimétricas porque podem conter mais informações, como datas de validade e emissores. Não há diferença entre os dois mecanismos para o algoritmo criptográfico, e nenhuma diferença na força dado o mesmo comprimento de chave. Geralmente, você usa um certificado para criptografar outros tipos de chaves de criptografia em um banco de dados ou para assinar módulos de código.

Certificados e chaves assimétricas podem descriptografar dados que o outro criptografa. Geralmente, você usa criptografia assimétrica para criptografar uma chave simétrica para armazenamento em um banco de dados.

Uma chave pública não tem um formato específico como um certificado teria, e você não pode exportá-la para um arquivo.

Note

O SQL Server contém recursos que permitem criar e gerenciar certificados e chaves para uso com o servidor e o banco de dados. O SQL Server não pode ser usado para criar e gerenciar certificados e chaves com outros aplicativos ou no sistema operacional.

Certificates

Um certificado é um objeto de segurança assinado digitalmente que contém uma chave pública (e, opcionalmente, privada) para o SQL Server. Você pode usar certificados gerados externamente ou o SQL Server pode gerar certificados.

Note

Os certificados do SQL Server estão em conformidade com o padrão de certificado IETF X.509v3.

Os certificados são úteis devido à opção de exportar e importar chaves para arquivos de certificado X.509. A sintaxe para criar certificados permite opções de criação para certificados, como uma data de validade.

Usando um certificado no SQL Server

Os certificados podem ser usados para ajudar a proteger conexões, no espelhamento de banco de dados, para assinar pacotes e outros objetos ou para criptografar dados ou conexões. A tabela a seguir lista recursos adicionais para certificados no SQL Server.

Topic Description
CRIAR CERTIFICADO (Transact-SQL) Explica o comando para criar certificados.
Identificar a origem dos pacotes com assinaturas digitais Mostra informações sobre como usar certificados para assinar pacotes de software.
Utilizar certificados para um endpoint de espelhamento de bases de dados (Transact-SQL) Aborda informações sobre como usar certificados com espelhamento de banco de dados.

Chaves assimétricas

As chaves assimétricas são usadas para proteger chaves simétricas. Eles também podem ser usados para criptografia de dados limitada e para assinar digitalmente objetos de banco de dados. Uma chave assimétrica consiste em uma chave privada e uma chave pública correspondente. Para obter mais informações sobre chaves assimétricas, consulte CREATE ASYMMETRIC KEY (Transact-SQL).

As chaves assimétricas podem ser importadas de arquivos de chave de nome forte, mas não podem ser exportadas. Também não têm opções de validade. Chaves assimétricas não podem criptografar conexões.

Usando uma chave assimétrica no SQL Server

As chaves assimétricas podem ser usadas para ajudar a proteger dados ou assinar texto sem formatação. A tabela a seguir lista recursos adicionais para chaves assimétricas no SQL Server.

Topic Description
CRIAR CHAVE ASSIMÉTRICA (Transact-SQL) Explica o comando para criar chaves assimétricas.
SIGNBYASYMKEY (Transact-SQL) Exibe as opções para assinar objetos.

Tools

A Microsoft fornece ferramentas e utilitários que gerarão certificados e arquivos de chave de nome forte. Essas ferramentas oferecem uma maior flexibilidade no processo de geração de chaves do que a sintaxe do SQL Server. Você pode usar essas ferramentas para criar chaves RSA com comprimentos de chave mais complexos e, em seguida, importá-las para o SQL Server. A tabela a seguir mostra onde encontrar essas ferramentas.

Tool Purpose
New-SelfSignedCertificate Cria certificados autoassinados.
makecert Cria certificados. Preterido em favor de New-SelfSignedCertificate.
sn Cria nomes fortes para chaves simétricas.

Escolha um algoritmo de encriptação

CRIAR CHAVE SIMÉTRICA (Transact-SQL)

CRIAR CERTIFICADO (Transact-SQL)

Ver também

sys.certificates (Transact-SQL)
Encriptação de Dados Transparente (TDE)