Certificados digitais

Este artigo trata sobre certificados digitais e os seus principais usos em protocolos da internet. Faz parte da série sobre criptografia. Pode ler a parte anterior aqui.

Fernando Souza
Prognosys
4 min readApr 21, 2020

--

Photo by My Foto Canva on Unsplash.

No artigo anterior, sobre criptografia assimétrica, falamos sobre como resolver a troca de chaves criptográficas entre duas partes de modo seguro. Mas como saber que essa chave é realmente de quem diz ser? É aí que entra o certificado digital.

Definição

Imagine que você queira fazer uma viagem internacional. Ao chegar ao aeroporto de destino, algum oficial do país de destino vai te pedir uma identificação. Esse documento de identificação, nesse caso, é o passaporte. Ele contém algumas informações, tais como foto, nacionalidade, assinatura, data de nascimento, data de validade e outras informações. Tudo isso é analisado pelo oficial e então ele decide se você pode entrar ou não no país.

Mas você não pode sair fabricando passaportes para você mesmo ou para outras pessoas. Isso é delegado à entidades específicas, dentro de cada país, que possuem a autoridade para emitir um passaporte em seu nome. É essa entidade que garante que você é você mesmo e que tem as permissões indicadas nesse documento. No mundo digital, o certificado digital funciona de forma análoga.

Certificado digital é uma credencial que facilita a verificação de identidades entre usuários em uma transação.

Assim como o passaporte, o propósito do certificado digital é estabelecer a identidade de usuários dentro do ecossistema. E, assim como no caso do passaporte, exitem também outras entidades que emitem esse certificado para você, garantindo assim a autenticidade e a integridade desse certificado. Isso garante e mantém o sistema fidedigno.

No mundo digital, essa outra entidade é normalmente conhecida como Autoridade Certificadora ou CA (do inglês, Certificate Authority).

Autoridade Certificadora (CA)

Como dito anteriormente, uma entidade que emite certificados digitais de forma segura e reconhecida por todos é conhecida como Autoridade Certificadora (CA).

O certificado digital garante a validade da propriedade de uma chave pública para o seu dono e permite que outros usuários confiem nas suas assinaturas ou garantias feitas pela chave privada que corresponde ao certificado. Dessa forma, a CA age como um terceiro confiável no processo, confiado tanto pelo dono da chave quanto pelo cliente usando a chave.

Processo para se obter um certificado digital.

Para emitir um certificado, uma pessoa ou organização deve enviar para a CA uma requisição de certificação (conhecido como CSR, Certificate Signing Request), contendos os dados necessários para a sua identificação correta (domínio, validade, nome, entre outros). A CA então verifica a informação e então assina esse certificado com sua própria chave. E o dono desse certificado o usa em seu site para provar a outros que ele realmente é quem diz ser.

Então, quando você acessa um site que está sob o protocolo HTTPS, ele envia o certificado assinado para que o browser possa verificar. Mas como o browser faz isso? A CA distribui o que se chama de cadeia de certificados, que contém vários outros certificados e chaves públicas públicas necessárias para validar que o certificado sendo recebido pelo cliente seja válido.

Cadeia de certificados.

Essa cadeia de certificado é instalada automaticamente pelo sistema operacional, de forma independente, garantindo que alguém mal-intencionado não consiga burlar esse sistema.

Certificado

Existem vários tipos de certificados, cada um usado para um devido fim, tais como cliente/servidor de SSL/TLS, certificado raiz, intermediário, E-mail, entre outros. Cada tipo de certificado determina quais campos e informações devem conter nele e qual o propósito daquele certificado (e, consequentemente, da chave que contém).

O formato mais comum para o certificado é definido pelo padrão X.509, que utiliza o padrão ASN.1 para expressar os dados. Os dados mais comuns encontrados são esses:

  • Serial Number: usado para identificar unicamente o certificado dentro do sistema da CA.
  • Subject: a entidade a que o certificado pertence (uma máquina, indivíduo ou organização).
  • Issuer: entidade que verificou a informação e assinou o certificado.
  • Not Before: data antes da qual o certificado ainda não é válido.
  • Not After: data depois da qual o certificado não é mais válido.
  • Key Usage: uso para a chave pública. Exemplo: validação de assinatura digital, encriptação de chave, assinatura de certificado.
  • Chave Pública: chave pública que pertence ao dono do certificado.
  • Signature Algorithm: qual algoritmo foi usado para assinar o certificado.
  • Signature: assinatura do corpo do certificado pela chave privada do emissor.

Toda a comunicação HTTPS se baseia em certificados e cadeias de certificados para garantir a autenticidade das chaves e informações enviadas. Quando você acessa um site que contém o símbolo do cadeado, isso indica que o site contém um certificado válido para aquele fim e aquele endereço, e que este foi validado pelo navegador (ou seja, é autêntico e íntegro).

Símbolo indicando que o caminho é seguro e o certificado é válido.

Conclusão

Nesse artigo, vimos um pouco sobre os certificados digitais e seus usos dentro do sistema digital.

--

--

Fernando Souza
Prognosys

Enthusiast of programming, electronics, technology and beer, not necessarily in that order. BuyMeACoffee: buymeacoffee.com/ustropo