Certificados e chaves assimétricas do SQL Server

A criptografia de chave pública (PKI) é um formulário de mensagem secreto no qual um usuário cria uma chave pública e uma chave particular. A chave particular é mantida em segredo, enquanto que a chave pública pode ser distribuída a outros. Embora as chaves estejam matematicamente relacionadas, a chave particular não pode ser obtida facilmente usando a chave pública. A chave pública é usada para criptografar dados e a chave particular é usada para descriptografar dados. Uma mensagem que é criptografada usando a chave pública só pode ser descriptografada usando a chave particular correta. Como há duas chaves diferentes, essas chaves são assimétricas.

Certificados e chaves assimétricas são duas formas de usar a criptografia assimétrica. Os certificados geralmente são usados como contêineres para chaves assimétricas porque podem conter mais informações, como datas de expiração e emissores. Não há diferenças entre os dois mecanismos para o algoritmo criptográfico, bem como na intensidade dada ao 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.

Os certificados e as chaves assimétricas podem descriptografar dados um do outro. Geralmente você usa a 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.

ObservaçãoObservação

O SQL Server contém recursos que permitem que você crie e gerencie 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.

Certificados

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

ObservaçãoObservação

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 os arquivos do certificado X.509. A sintaxe para criar certificados leva em conta as opções de criação de certificados, como uma data de expiração.

Usando um certificado no SQL Server

Os certificados podem ser usados para auxiliar nas conexões seguras, 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.

Tópico

Descrição

CREATE CERTIFICATE (Transact-SQL)

Explica o comando para a criação de certificados.

Certificados e Service Broker

Exibe informações sobre como usar certificados com Service Broker

Usando assinaturas digitais com pacotes

Mostra informações sobre como usar certificados para assinar pacotes de software.

Certificados de segurança de diálogo

Detalha como usar certificados com diálogos.

Usando certificados para espelhamento de banco de dados

Abrange informações sobre como usar certificados com espelhamento de banco de dados.

Criptografando conexões com o SQL Server

Explica como criptografar conexões para o SQL Server

Chaves assimétricas

As chaves assimétricas são usadas para oferecer segurança às chaves simétricas. Elas também podem ser usadas para a criptografia de dados limitada e para assinar digitalmente objetos de banco de dados. Uma chave assimétrica consiste em uma chave particular 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 dos arquivos de chave com nomes seguros, mas não podem ser exportadas. Elas também não têm opções de expiração. As 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 auxiliar na proteção de dados ou na assinatura de texto não criptografado. A tabela a seguir lista recursos adicionais para chaves assimétricas no SQL Server.

Tópico

Descrição

CREATE ASYMMETRIC KEY (Transact-SQL)

Explica o comando para a criação de chaves assimétricas.

SignByAsymKey (Transact-SQL)

Exibe as opções de assinatura de objetos.

Ferramentas

A Microsoft fornece ferramentas e utilitários que gerarão certificados e arquivos de chave com nomes seguros. Estas ferramentas oferecem maior flexibilidade no processo de geração de chaves do que a sintaxe do SQL Server. Você pode usá-las para criar chaves RSA com comprimentos de chaves mais complexas e importá-las para o SQL Server. A tabela a seguir mostra onde encontrar essas ferramentas.

Ferramenta

Finalidade

makecert

Cria certificados

sn

Cria nomes seguros para chaves simétricas.