Infraestrutura de chave pública

A criptografia de chave pública (também chamada de criptografia de chave assimétrica) usa um par de chaves para criptografar e descriptografar o conteúdo. O par de chaves consiste em uma chave pública e uma privada que estão matematicamente relacionadas. Um indivíduo que pretende se comunicar com segurança com outras pessoas pode distribuir a chave pública , mas deve manter a chave privada em segredo. O conteúdo criptografado usando uma das chaves pode ser descriptografado usando a outra. Suponha, por exemplo, que Bob deseja enviar uma mensagem de email segura para Alice. Isso pode ser feito da seguinte maneira:

  1. Bob e Alice têm seus próprios pares de chaves. Eles mantiveram suas chaves privadas com segurança para si mesmos e enviaram suas chaves públicas diretamente umas para as outras.
  2. Bob usa a chave pública de Alice para criptografar a mensagem e a envia para ela.
  3. Alice usa sua chave privada para descriptografar a mensagem.

Este exemplo simplificado destaca pelo menos uma preocupação óbvia que Bob deve ter sobre a chave pública que ele usou para criptografar a mensagem. Ou seja, ele não pode saber com certeza que a chave que ele usou para criptografia realmente pertencia a Alice. É possível que outra parte que monitora o canal de comunicação entre Bob e Alice tenha substituído uma chave diferente.

O conceito de infraestrutura de chave pública evoluiu para ajudar a resolver esse problema e outros. Uma PKI (infraestrutura de chave pública) consiste em elementos de software e hardware que um terceiro confiável pode usar para estabelecer a integridade e a propriedade de uma chave pública. A parte confiável, chamada ac ( autoridade de certificação ), normalmente faz isso emitindo certificados binários assinados (criptografados) que afirmam a identidade do titular do certificado e associam essa identidade à chave pública contida no certificado. A AC assina o certificado usando sua chave privada. Ele emite a chave pública correspondente para todas as partes interessadas em um certificado de autoridade de certificação autoassinado. Quando uma AC é usada, o exemplo anterior pode ser modificado da seguinte maneira:

  1. Suponha que a AC tenha emitido um certificado digital assinado que contenha sua chave pública. A AC autoassina esse certificado usando a chave privada que corresponde à chave pública no certificado.
  2. Alice e Bob concordam em usar a AC para verificar suas identidades.
  3. Alice solicita um certificado de chave pública da AC.
  4. A AC verifica sua identidade, calcula um hash do conteúdo que compõe seu certificado, assina o hash usando a chave privada que corresponde à chave pública no certificado de AC publicado, cria um novo certificado concatenando o conteúdo do certificado e o hash assinado e disponibiliza o novo certificado publicamente.
  5. Bob recupera o certificado, descriptografa o hash assinado usando a chave pública da AC, calcula um novo hash do conteúdo do certificado e compara os dois hashes. Se os hashes corresponderem, a assinatura será verificada e Bob poderá assumir que a chave pública no certificado realmente pertence a Alice.
  6. Bob usa a chave pública verificada de Alice para criptografar uma mensagem para ela.
  7. Alice usa sua chave privada para descriptografar a mensagem de Bob.

Em resumo, o processo de assinatura de certificado permite que Bob verifique se a chave pública não foi adulterada ou corrompida durante o trânsito. Antes de emitir um certificado, a AC faz hashe do conteúdo, assina (criptografa) o hash usando sua própria chave privada e inclui o hash criptografado no certificado emitido. Bob verifica o conteúdo do certificado descriptografando o hash com a chave pública da AC, executando um hash separado do conteúdo do certificado e comparando os dois hashes. Se corresponderem, Bob poderá ter certeza razoável de que o certificado e a chave pública que ele contém não foram alterados.

Uma PKI típica consiste nos elementos a seguir.

Elemento Descrição
Autoridade de certificação
Atua como a raiz da confiança em uma infraestrutura de chave pública e fornece serviços que autenticam a identidade de indivíduos, computadores e outras entidades em uma rede.
Autoridade de Registro
É certificado por uma AC raiz para emitir certificados para usos específicos permitidos pela raiz. Em uma PKI da Microsoft, uma RA (autoridade de registro) geralmente é chamada de AC subordinada.
Banco de dados de certificado
Salva solicitações de certificado e certificados emitidos e revogados e solicitações de certificado na AC ou RA.
Repositório de certificados
Salva certificados emitidos e solicitações de certificado pendentes ou rejeitadas no computador local.
Servidor de Arquivamento de Chaves
Salva chaves privadas criptografadas no banco de dados de certificado para recuperação após a perda.

A API de Registro de Certificado permite que você envie solicitações de arquivamento de certificado e chave para autoridades de certificação e registro e instale o certificado emitido em um computador local. Ele não permite manipular diretamente o banco de dados de certificados ou o repositório de certificados.

Os tópicos a seguir discutem mais detalhadamente a infraestrutura de chave pública da Microsoft:

Sobre a API de Registro de Certificado