Infraestrutura de chave pública
A característica mais distinta da Public Key Infrastructure (PKI) é que ela usa um par de chaves para obter o serviço de segurança subjacente. O par de chaves é composto por chave privada e chave pública.
Como as chaves públicas são de domínio aberto, é provável que sejam abusadas. É, portanto, necessário estabelecer e manter algum tipo de infraestrutura confiável para gerenciar essas chaves.
Gestão de Chaves
Nem é preciso dizer que a segurança de qualquer sistema criptográfico depende da segurança com que suas chaves são gerenciadas. Sem procedimentos seguros para o manuseio de chaves criptográficas, os benefícios do uso de esquemas criptográficos fortes são potencialmente perdidos.
Observa-se que os esquemas criptográficos raramente são comprometidos por deficiências em seu design. No entanto, eles costumam ficar comprometidos devido ao gerenciamento inadequado de chaves.
Existem alguns aspectos importantes da gestão de chaves que são os seguintes -
As chaves criptográficas nada mais são do que dados especiais. O gerenciamento de chaves refere-se à administração segura de chaves criptográficas.
O gerenciamento de chaves lida com todo o ciclo de vida da chave, conforme descrito na ilustração a seguir -
Existem dois requisitos específicos de gerenciamento de chave para criptografia de chave pública.
Secrecy of private keys. Durante todo o ciclo de vida da chave, as chaves secretas devem permanecer secretas para todas as partes, exceto para aqueles que são proprietários e estão autorizados a usá-las.
Assurance of public keys.Na criptografia de chave pública, as chaves públicas estão em domínio aberto e são vistas como dados públicos. Por padrão, não há garantias de se uma chave pública está correta, com quem ela pode ser associada ou para que pode ser usada. Portanto, o gerenciamento de chaves públicas precisa se concentrar muito mais explicitamente na garantia da finalidade das chaves públicas.
O requisito mais crucial de 'garantia de chave pública' pode ser alcançado por meio da infraestrutura de chave pública (PKI), um sistema de gerenciamento de chave para suportar criptografia de chave pública.
Infraestrutura de chave pública (PKI)
PKI fornece garantia de chave pública. Ele fornece a identificação de chaves públicas e sua distribuição. Uma anatomia de PKI compreende os seguintes componentes.
- Certificado de chave pública, comumente referido como 'certificado digital'.
- Tokens de chave privada.
- Autoridade de Certificação.
- Autoridade de registro.
- Sistema de gerenciamento de certificados.
Certificado digital
Por analogia, um certificado pode ser considerado como a carteira de identidade emitida para a pessoa. As pessoas usam carteiras de identidade, como carteira de motorista, passaporte para provar sua identidade. Um certificado digital faz a mesma coisa básica no mundo eletrônico, mas com uma diferença.
Os certificados digitais não são emitidos apenas para pessoas, mas podem ser emitidos para computadores, pacotes de software ou qualquer outra coisa que precise provar sua identidade no mundo eletrônico.
Os certificados digitais são baseados no padrão ITU X.509 que define um formato de certificado padrão para certificados de chave pública e validação de certificação. Portanto, os certificados digitais às vezes também são chamados de certificados X.509.
A chave pública pertencente ao cliente usuário é armazenada em certificados digitais pela Autoridade de Certificação (CA) junto com outras informações relevantes, como informações do cliente, data de validade, uso, emissor, etc.
A CA assina digitalmente todas as informações e inclui a assinatura digital no certificado.
Quem precisa de garantia sobre a chave pública e informações associadas do cliente, realiza o processo de validação da assinatura utilizando a chave pública da CA. A validação bem-sucedida garante que a chave pública fornecida no certificado pertence à pessoa cujos detalhes são fornecidos no certificado.
O processo de obtenção do Certificado Digital por uma pessoa / entidade é descrito na ilustração a seguir.
Conforme mostrado na ilustração, o CA aceita o aplicativo de um cliente para certificar sua chave pública. A AC, após verificar devidamente a identidade do cliente, emite um certificado digital para esse cliente.
Autoridade de Certificação (CA)
Conforme discutido acima, a CA emite o certificado para um cliente e ajuda outros usuários a verificar o certificado. A CA se responsabiliza por identificar corretamente a identidade do cliente que solicita a emissão de um certificado, garante que as informações contidas no certificado estão corretas e o assina digitalmente.
Principais funções da CA
As principais funções de um CA são as seguintes -
Generating key pairs - A CA pode gerar um par de chaves de forma independente ou em conjunto com o cliente.
Issuing digital certificates- A CA pode ser considerada como o equivalente PKI de uma agência de passaportes - a CA emite um certificado depois que o cliente fornece as credenciais para confirmar sua identidade. A CA então assina o certificado para evitar a modificação dos detalhes contidos no certificado.
Publishing Certificates- A CA precisa publicar certificados para que os usuários possam localizá-los. Existem duas formas de o conseguir. Uma é publicar certificados no equivalente a uma lista telefônica eletrônica. A outra é enviar seu certificado para aquelas pessoas que você acha que podem precisar dele de uma forma ou de outra.
Verifying Certificates - O CA disponibiliza sua chave pública em ambiente para auxiliar na verificação de sua assinatura no certificado digital do cliente.
Revocation of Certificates- Às vezes, a CA revoga o certificado emitido por algum motivo, como comprometimento da chave privada pelo usuário ou perda de confiança no cliente. Após a revogação, a CA mantém a lista de todos os certificados revogados disponíveis para o ambiente.
Classes de certificados
Existem quatro classes típicas de certificado -
Class 1 - Esses certificados podem ser facilmente adquiridos fornecendo um endereço de e-mail.
Class 2 - Esses certificados exigem o fornecimento de informações pessoais adicionais.
Class 3 - Esses certificados só podem ser adquiridos após a verificação da identidade do solicitante.
Class 4 - Eles podem ser usados por governos e organizações financeiras que precisam de altos níveis de confiança.
Autoridade de Registro (RA)
A CA pode usar uma Autoridade de Registro (RA) de terceiros para realizar as verificações necessárias na pessoa ou empresa que está solicitando o certificado para confirmar sua identidade. O RA pode aparecer para o cliente como um CA, mas eles não assinam realmente o certificado que é emitido.
Sistema de gerenciamento de certificados (CMS)
É o sistema de gestão por meio do qual os certificados são publicados, temporariamente ou permanentemente suspensos, renovados ou revogados. Os sistemas de gerenciamento de certificados normalmente não excluem certificados porque pode ser necessário provar seu status em um determinado momento, talvez por motivos legais. Um CA junto com um RA associado executa sistemas de gerenciamento de certificados para ser capaz de rastrear suas responsabilidades e obrigações.
Tokens de chave privada
Enquanto a chave pública de um cliente é armazenada no certificado, a chave privada secreta associada pode ser armazenada no computador do proprietário da chave. Este método geralmente não é adotado. Se um invasor obtiver acesso ao computador, ele pode facilmente obter acesso à chave privada. Por esse motivo, uma chave privada é armazenada em um token de armazenamento removível seguro, ao qual é protegido por uma senha.
Diferentes fornecedores costumam usar formatos de armazenamento diferentes e, às vezes, proprietários para armazenar chaves. Por exemplo, a Entrust usa o formato .epf proprietário, enquanto a Verisign, GlobalSign e Baltimore usam o formato .p12 padrão.
Hierarquia de CA
Com vastas redes e requisitos de comunicações globais, é praticamente inviável ter apenas uma CA confiável de quem todos os usuários obtêm seus certificados. Em segundo lugar, a disponibilidade de apenas um CA pode levar a dificuldades se o CA estiver comprometido.
Nesse caso, o modelo de certificação hierárquica é de interesse, pois permite que certificados de chave pública sejam usados em ambientes onde duas partes que se comunicam não têm relações de confiança com a mesma CA.
A CA raiz está no topo da hierarquia de CA e o certificado da CA raiz é um certificado autoassinado.
As CAs, que são diretamente subordinadas à CA raiz (por exemplo, CA1 e CA2) têm certificados de CA assinados pela CA raiz.
Os CAs sob os CAs subordinados na hierarquia (por exemplo, CA5 e CA6) têm seus certificados de CA assinados pelos CAs subordinados de nível superior.
As hierarquias de autoridade de certificação (CA) são refletidas nas cadeias de certificação. Uma cadeia de certificados rastreia um caminho de certificados de uma ramificação na hierarquia até a raiz da hierarquia.
A ilustração a seguir mostra uma hierarquia de CA com uma cadeia de certificados que vai de um certificado de entidade por meio de dois certificados de CA subordinados (CA6 e CA3) ao certificado de CA para a CA raiz.
Verificar uma cadeia de certificados é o processo de garantir que uma cadeia de certificados específica seja válida, corretamente assinada e confiável. O procedimento a seguir verifica uma cadeia de certificados, começando com o certificado que é apresentado para autenticação -
Um cliente cuja autenticidade está sendo verificada fornece seu certificado, geralmente junto com a cadeia de certificados até a CA raiz.
O verificador pega o certificado e valida usando a chave pública do emissor. A chave pública do emissor é encontrada no certificado do emissor, que está na cadeia ao lado do certificado do cliente.
Agora, se o CA superior que assinou o certificado do emissor é confiável para o verificador, a verificação é bem-sucedida e pára aqui.
Caso contrário, o certificado do emissor é verificado de maneira semelhante à feita para o cliente nas etapas acima. Este processo continua até que qualquer CA confiável seja encontrada no meio ou continua até a CA raiz.