022.1 Lição 2
Certificado: |
Security Essentials |
---|---|
Versão: |
1.0 |
Tópico: |
022 Encriptação |
Objetivo: |
022.1 Criptografia e Infraestrutura de Chave Pública |
Lição: |
2 de 2 |
Introdução
Com base em princípios criptográficos, uma Infraestrutura de Chave Pública (PKI, na sigla em inglês) é fundamental para comunicações seguras e verificação de identidade no mundo digital. A PKI estabelece uma estrutura para o uso de chaves públicas e privadas na criptografia, garantindo que as entidades envolvidas na comunicação possam confiar umas nas outras.
No núcleo da PKI estão os certificados digitais, que vinculam uma chave pública a uma entidade, como uma pessoa ou organização, e são gerenciados por Autoridades Certificadoras (CAs). Esses certificados desempenham um papel crucial na criptografia de dados e validação de identidades, tornando a PKI indispensável para navegação segura na web, comunicação por e-mail e outras atividades online. Autoridades Certificadoras Raiz (Root CAs, na sigla em inglês) confiáveis formam o nível superior desse modelo de confiança, estabelecendo a cadeia de confiança que se estende aos certificados de usuários finais.
Essa relação estruturada garante que usuários e sistemas possam confiar na autenticidade dos certificados digitais que encontram. Compreender como a PKI e as CAs funcionam é essencial para entender a troca segura de informações e o papel dos certificados digitais na manutenção da integridade e segurança das comunicações online.
Infraestrutura de Chave Pública (Public Key Infrastructure - PKI)
A Infraestrutura de Chave Pública (PKI) é fundamental para estabelecer confiança e proteger as comunicações digitais. No seu núcleo, a PKI fornece uma estrutura organizada para gerenciar certificados digitais e pares de chaves público-privada, que são essenciais para a verificação de identidades e a segurança das trocas de dados na internet. Quando duas entidades, como um usuário e um site, precisam se comunicar de forma segura, a PKI garante que cada parte possa ter confiança na identidade da outra e na integridade dos dados compartilhados.
A PKI permite a comunicação segura por meio do gerenciamento de pares de chaves públicas e privadas. Entidades como sites, servidores ou indivíduos recebem um certificado digital que vincula sua identidade a uma chave pública.
Certificados digitais funcionam como um “passaporte” eletrônico para uma entidade — seja uma pessoa, dispositivo ou serviço. Este certificado é emitido por uma terceira parte confiável conhecida como Autoridade Certificadora (CA, na sigla em inglês).
Antes de emitir um certificado, a CA realiza um processo de verificação minucioso para confirmar a legitimidade da identidade da entidade. Esse processo impede que agentes maliciosos finjam ser outra pessoa. Uma vez que o certificado é emitido, ele pode ser usado para criptografar dados com a chave pública da entidade. Somente a chave privada correspondente, que é mantida de forma segura pela entidade, pode descriptografar esses dados, garantindo que informações confidenciais permaneçam protegidas e acessíveis apenas ao destinatário pretendido.
CAs e Autoridades Certificadoras Raiz Confiáveis (Trusted Root CAs)
No centro da PKI estão as Autoridades Certificadoras e as Autoridades Certificadoras Raiz Confiáveis, que formam a espinha dorsal da cadeia de confiança (chain of trust, na sigla em inglês) que sustenta a segurança dos certificados digitais usados na navegação na web, e-mails seguros e outras aplicações.
As Autoridades Certificadoras (CAs, na sigla em inglês) desempenham um papel crucial na Infraestrutura de Chaves Públicas, emitindo, validando e gerenciando certificados digitais. Uma vez emitido, o certificado pode ser confiável por outros usuários ou sistemas que dependem da autoridade da CA.
As Autoridades Certificadoras Raiz (Root CAs, na sigla em inglês) formam o topo da hierarquia de confiança na Infraestrutura de Chaves Públicas. As Root CAs emitem certificados para CAs intermediárias, criando uma cadeia de confiança que se estende até os certificados dos usuários finais. Os certificados raiz são pré-instalados em sistemas operacionais e navegadores, fornecendo a base para todos os certificados emitidos na hierarquia.
Essa cadeia de confiança é essencial, criando uma relação hierárquica entre as Autoridades Certificadoras Raiz (Root CAs, na sigla em inglês), as CAs intermediárias e as entidades às quais elas emitem certificados. Cada certificado na cadeia é validado pelo certificado imediatamente acima, levando, em última instância, a uma Root CA confiável. Esse modelo hierárquico garante que usuários e sistemas possam confiar nos certificados que encontram em interações digitais.
Exemplo da Cadeia de Confiança
Aqui está um exemplo de uma cadeia de confiança envolvendo uma Autoridade Certificadora Raiz (Root CA), uma CA intermediária e certificados de entidades finais.
Certificado da Autoridade Certificadora Raiz (Root CA)
A Autoridade Certificadora Raiz é a autoridade mais alta na cadeia e é confiável por todos os sistemas. Ela é autoassinada, o que significa que certifica a sua própria identidade.
- Root CA Name (Nome do CA Raiz): "GlobalTrust Root CA" - Subject (Assunto): "CN=GlobalTrust Root CA, O=GlobalTrust Inc., C=US" - Issuer (Emissor): "CN=GlobalTrust Root CA, O=GlobalTrust Inc., C=US" (Self-signed) - Public Key (Chave Pública): Contains the public key of GlobalTrust Root CA - Validity Period (Período de validade): 20 years (e.g., 2020-2040) - Signature (Assinatura): Self-signed using the Root CA's private key
O certificado da Root CA é pré-instalado na maioria dos sistemas operacionais e navegadores, estabelecendo-a como uma autoridade confiável.
Certificado da CA Intermediário
A CA Intermediária recebe um certificado da CA Raiz. Esta CA atua como uma ponte entre a CA Raiz e as entidades finais, permitindo uma melhor gestão de segurança e distribuição de confiança.
- Intermediate CA Name (Nome do CA intermediário): "GlobalTrust Intermediate CA 1" - Subject (Assunto): "CN=GlobalTrust Intermediate CA 1, O=GlobalTrust Inc., C=US" - Issuer (Emissor): "CN=GlobalTrust Root CA, O=GlobalTrust Inc., C=US" (Signed by Root CA) - Public Key (Chave Pública): Contains the public key of GlobalTrust Intermediate CA 1 - Validity Period (Período de validade): 10 years (e.g., 2022-2032) - Signature (Assinatura): Signed using the Root CA's private key
A CA Intermediária emite certificados para entidades finais, como sites ou aplicações, após validar sua identidade.
Certificado de Entidade Final (Site ou Aplicação)
O certificado de entidade final é emitido para um site ou aplicação pela CA Intermediária. É o que o usuário final vê ao se conectar a um site seguro.
- End-Entity Name (Nome da Entidade Final): "example.com" - Subject (Assunto): "CN=example.com, O=Example Inc., C=US" - Issuer (Emissor): "CN=GlobalTrust Intermediate CA 1, O=GlobalTrust Inc., C=US" (Signed by Intermediate CA) - Public Key (Chave Pública): Contains the public key of example.com - Validity Period (Período de validade): 1 year (e.g., 2023-2024) - Signature (Assinatura): Signed using the Intermediate CA's private key
Neste exemplo, cada certificado na cadeia é verificado pelo certificado acima dele, levando, por fim, a uma CA Raiz confiável, o que garante a integridade e a segurança da comunicação digital.
Quando um usuário visita o site example.com, seu navegador recebe esse certificado. O navegador então verifica a validade do certificado seguindo a cadeia de confiança:
-
Verificação do Certificado de Entidade Final
O navegador verifica se o certificado de example.com é assinado pela
GlobalTrust Intermediate CA 1
. -
Verificação do Certificado de CA Intermediária
O navegador verifica se o certificado da
GlobalTrust Intermediate CA 1
é assinado pelaGlobalTrust Root CA
. -
Verificação da CA Raiz
O navegador verifica se a CA Raiz é uma autoridade confiável pré-instalada em seu repositório de confiança.
Se todos os certificados na cadeia forem válidos e devidamente assinados, o navegador estabelece uma conexão segura com example.com, e o usuário pode interagir com o site de forma segura.
Certificados X.509
Certificados X.509 são o formato padrão de certificado digital usado na Infraestrutura de Chave Pública (PKI) e são essenciais para verificar a identidade de entidades em comunicações seguras. Frequentemente chamados de “passaportes digitais”, esses certificados estabelecem uma associação confiável entre a identidade de uma entidade e sua chave pública por meio da certificação por uma Autoridade Certificadora (CA) confiável.
Cada certificado X.509 contém campos que detalham a chave pública da entidade, o nome da CA emissora e informações específicas de identidade, como o nome de domínio ou o nome da organização da entidade. Esse formato padronizado garante que os certificados X.509 forneçam um método consistente e confiável para autenticar entidades em uma ampla gama de aplicações digitais.
Compreender o papel dos certificados X.509 é essencial, pois eles são utilizados para facilitar conexões seguras em muitas aplicações, incluindo HTTPS para navegação web segura, SSL/TLS para criptografia de dados e assinaturas digitais para verificar a autenticidade e integridade de documentos eletrônicos.
O certificado contém uma assinatura digital gerada pela CA usando sua chave privada, que vincula a chave pública à identidade da entidade. Essa assinatura digital pode ser verificada por qualquer pessoa usando a chave pública da CA, garantindo que o certificado não foi adulterado e que, de fato, provém da CA confiável.
Estrutura dos Certificados X.509
Um certificado X.509 contém vários campos que fornecem informações detalhadas sobre a entidade e o próprio certificado. Esses campos incluem o assunto (subject), que identifica a entidade para a qual o certificado foi emitido, e o emissor (issuer), que identifica a CA que emitiu o certificado. O certificado também contém a chave pública associada à entidade, bem como a assinatura digital da CA, que verifica a autenticidade do certificado.
O certificado também inclui um período de validade, indicando o intervalo de tempo durante o qual o certificado é considerado válido. Após esse período, o certificado deve ser renovado ou substituído para manter a comunicação segura. Além desses campos, os certificados X.509 podem incluir extensões que especificam o uso pretendido do certificado, como para autenticação de servidor ou criptografia de e-mail.
Solicitação e Emissão de Certificados X.509
O processo de obtenção de um certificado X.509 começa com a geração de uma Solicitação de Assinatura de Certificado (Certificate Signing Request - CSR). O CSR é um arquivo que contém a chave pública da entidade junto com informações de identificação, como o nome de domínio, organização e localização da entidade. Essas informações ajudam a identificar exclusivamente a entidade que está solicitando o certificado. Em seguida, o CSR é enviado para uma CA para validação.
A CA desempenha um papel fundamental na verificação da legitimidade das informações fornecidas no CSR. Esse processo de validação pode variar em rigor, dependendo do tipo de certificado solicitado. Por exemplo, um Certificado Validado por Domínio (Domain Validated - DV) exige que a CA verifique se a entidade controla o domínio especificado, geralmente por meio de uma simples verificação de e-mail ou DNS. Para certificados mais rigorosos, como os Certificados Validado por Organização (Organization Validated - OV) ou Validação Estendida (Extended Validation - EV), a CA realiza verificações adicionais, como verificar a existência legal e a localização física da organização.
Após a CA verificar com sucesso os detalhes da entidade, ela emite o certificado X.509 assinando-o digitalmente com a chave privada da CA. Essa assinatura digital garante a autenticidade e a integridade do certificado, de modo que ele possa ser confiável para qualquer entidade que reconheça a CA como uma autoridade confiável. O certificado emitido é então enviado de volta para a entidade solicitante, onde pode ser instalado em um servidor ou dispositivo.
Uma vez instalado, o certificado X.509 é utilizado para estabelecer comunicações seguras, habilitando a criptografia SSL/TLS. Quando um cliente (por exemplo, um navegador web) se conecta ao servidor, o servidor apresenta o certificado. O cliente, então, verifica a autenticidade do certificado, conferindo a assinatura da CA com sua lista de certificados raiz confiáveis. Se a verificação for bem-sucedida, um canal de comunicação criptografado é estabelecido, garantindo que todos os dados trocados entre o cliente e o servidor permaneçam confidenciais e protegidos contra interceptação.
Certificados X.509 em SSL/TLS
Os certificados X.509 desempenham um papel central no protocolo SSL/TLS, que é usado para proteger comunicações entre clientes e servidores na internet. Abaixo, segue um exemplo passo a passo de como gerar uma Solicitação de Assinatura de Certificado (CSR) para um domínio, usando o OpenSSL, uma biblioteca criptográfica amplamente utilizada.
Quando um usuário se conecta a um site seguro, o servidor apresenta seu certificado X.509 ao navegador do usuário como parte do handshake SSL/TLS. O navegador então verifica a autenticidade do certificado, checando a cadeia de confiança até uma CA raiz confiável. Se o certificado for válido e confiável, o navegador prossegue com o handshake SSL/TLS, estabelecendo uma conexão criptografada entre o usuário e o servidor.
Os certificados X.509 também são usados em outras aplicações, como a criptografia de e-mail e assinaturas digitais, para verificar a identidade do remetente e garantir a integridade da mensagem.
Let’s Encrypt
Existem dezenas de CAs ao redor do mundo, a maioria das quais oferece serviços pagos de emissão de certificados. CAs conhecidas incluem o Let’s Encrypt, que fornece certificados SSL/TLS gratuitos e automatizados, promovendo a ampla adoção do HTTPS.
O Let’s Encrypt transformou o processo de obtenção e gerenciamento de certificados X.509 ao oferecer certificados SSL/TLS gratuitos e automatizados. Essa iniciativa promove a ampla adoção do HTTPS, tornando a internet mais segura ao reduzir as barreiras para a criptografia.
Antes do Let’s Encrypt, obter certificados SSL/TLS era frequentemente um processo caro e tecnicamente complexo. O Let’s Encrypt simplifica isso ao automatizar o processo de emissão e renovação de certificados, permitindo que sites protejam suas comunicações de forma fácil e sem custo.
O Let’s Encrypt desempenhou um papel significativo no aumento da adoção do HTTPS, melhorando a segurança e a privacidade na web. No entanto, é importante notar que o Let’s Encrypt emite certificados de Validação de Domínio (DV), que verificam a propriedade do domínio, mas não oferecem o mesmo nível de garantia que os certificados de Validação de Organização (OV) ou Validação Estendida (EV).
Os certificados do Let’s Encrypt são válidos por apenas 90 dias. Esse curto período de validade garante que os certificados sejam atualizados regularmente, reduzindo o risco de uso indevido em caso de comprometimento. Devido à curta duração dos certificados do Let’s Encrypt, a renovação automática é crucial para manter a segurança.
Exercícios Guiados
-
Descreva como a Infraestrutura de Chave Pública (PKI) estabelece confiança nas comunicações digitais.
-
Qual é o papel dos certificados X.509 nos protocolos SSL/TLS?
-
Explique o conceito de cadeia de confiança na PKI. Por que a cadeia de confiança é importante para estabelecer comunicações seguras e como ela garante que os certificados digitais possam ser confiáveis?
Exercícios Exploratórios
-
Pesquise o papel dos certificados de Validação Estendida (EV) na segurança da web e explique como eles diferem dos certificados de Validação de Domínio (DV) e Validação de Organização (OV).
-
Gere um CSR para o domínio www.example.com usando o OpenSSL. Forneça o comando que você usaria e explique cada parte do comando.
Sumário
Esta lição explora a Infraestrutura de Chave Pública (PKI), examinando os papéis das Autoridades Certificadoras (CAs), dos certificados X.509 e da cadeia de confiança que sustenta as comunicações digitais seguras. Além disso, discute o advento do Let’s Encrypt e seu impacto na ampla adoção do HTTPS.
Respostas dos Exercícios Guiados
-
Descreva como a Infraestrutura de Chave Pública (PKI) estabelece confiança nas comunicações digitais.
A PKI estabelece confiança por meio de uma cadeia de confiança envolvendo Autoridades Certificadoras (CAs). As CAs emitem certificados digitais que vinculam a chave pública de uma entidade à sua identidade verificada. As CAs Raiz, confiáveis para navegadores e sistemas operacionais, ancoram a cadeia de confiança, validando certificados emitidos por CAs intermediárias. Essa estrutura hierárquica garante comunicações seguras ao verificar a autenticidade dos certificados digitais.
-
Qual é o papel dos certificados X.509 nos protocolos SSL/TLS?
Os certificados X.509 são usados nos protocolos SSL/TLS para autenticar a identidade de servidores e estabelecer comunicações seguras. Durante o handshake SSL/TLS, o servidor apresenta seu certificado X.509 ao cliente, que verifica a autenticidade do certificado por meio da cadeia de confiança. Se o certificado for válido, o handshake prossegue, e uma conexão criptografada é estabelecida.
-
Explique o conceito de cadeia de confiança na PKI. Por que a cadeia de confiança é importante para estabelecer comunicações seguras e como ela garante que os certificados digitais possam ser confiáveis?
A cadeia de confiança na PKI refere-se à relação hierárquica entre a Autoridade Certificadora Raiz (Root CA), as Autoridades Certificadoras intermediárias (CAs) e os certificados de entidades finais. A Root CA, no topo da hierarquia, é confiável por sistemas operacionais e navegadores. Ela emite certificados para CAs intermediárias, que, por sua vez, emitem certificados para entidades finais, como sites e servidores. Essa estrutura garante que cada certificado possa ser validado pelo certificado acima dele, conectando-se, por fim, à Root CA confiável.
A cadeia de confiança é crucial para comunicações seguras, pois permite que usuários e sistemas verifiquem a autenticidade dos certificados digitais. Se a cadeia for interrompida ou um certificado for comprometido, o sistema sinaliza a comunicação como insegura, protegendo os usuários contra possíveis ameaças.
Respostas dos Exercícios Exploratórios
-
Pesquise o papel dos certificados de Validação Estendida (EV) na segurança da web e explique como eles diferem dos certificados de Validação de Domínio (DV) e Validação de Organização (OV).
Os certificados de Validação Estendida (EV) oferecem o mais alto nível de garantia entre os certificados digitais. Diferentemente dos certificados de Validação de Domínio (DV) e de Validação de Organização (OV), que verificam principalmente o controle do domínio e detalhes básicos da organização, os certificados EV envolvem processos rigorosos de verificação. As Autoridades Certificadoras (CAs) devem verificar a existência legal, a localização física e o status operacional da entidade solicitante antes de emitir um certificado EV. Enquanto os certificados DV são mais fáceis de obter e suficientes para necessidades básicas de criptografia, os certificados EV focam em fornecer camadas adicionais de verificação de identidade, aumentando a confiança do usuário durante transações sensíveis, como em bancos online ou compras.
-
Gere um CSR para o domínio www.example.com usando o OpenSSL. Forneça o comando que você usaria e explique cada parte do comando.
Para gerar um CSR para www.example.com usando OpenSSL, você usaria o seguinte comando:
openssl req -new -key private.key -out example.csr
req -new
inicia a criação de um novo CSR.-key private.key
especifica o arquivo de chave privada a ser usado para gerar o CSR. Você deve ter criado essa chave privada anteriormente.-out example.csr
indica o nome do arquivo CSR que será criado.Após executar o comando, você será solicitado a inserir informações como o nome do domínio, organização e localização, que serão incluídas no CSR. Este arquivo pode então ser enviado a uma Autoridade Certificadora para solicitar um certificado X.509.