Índice
Um certificado SSL é, na verdade, um certificado digital que geralmente usa o protocolo TLS, embora muitas vezes seja chamado de Certificado SSL. O TLS usa criptografia assimétrica, que depende de uma infraestrutura de chave pública (PKI).
A PKI é responsável por gerenciar os certificados digitais, incluindo a criação, distribuição e revogação deles. Sem uma PKI adequada, a criptografia de chave pública seria inviável.
Na criptografia de chave pública, a chave usada para criptografar é diferente da chave usada para descriptografar. Por isso, ela é chamada de criptografia assimétrica. Cada usuário tem um par de chaves: uma chave pública, que qualquer pessoa pode usar para criptografar mensagens, e uma chave privada, que apenas o proprietário usa para descriptografar essas mensagens. Isso garante que apenas o destinatário pretendido possa ler a mensagem, protegendo-a de acessos não autorizados.
No entanto, existe um desafio: como garantir que a chave pública recebida realmente pertence ao destinatário pretendido? Por exemplo, se Daniel quer se comunicar com youtube.com, ele obtém a chave pública do site, criptografa sua mensagem com ela e a envia. Como só o youtube.com tem a chave privada correspondente, apenas ele pode ler a mensagem.
Mas, e se um atacante interceptar o pedido para obter a chave pública de youtube.com e enviar, em vez disso, sua própria chave pública? Daniel, sem saber, criptografaria a mensagem com a chave do atacante, que então poderia descriptografar e ler a mensagem.
Os certificados digitais resolvem esse problema, vinculando a chave pública a uma identidade específica. Isso garante que a chave pública pertence realmente ao youtube.com e não a um impostor.
Ao acessar um site, podemos verificar o certificado do servidor web. No Firefox, por exemplo, basta clicar no cadeado ao lado da barra de URL, selecionar "A conexão é segura" e depois "O certificado é válido!" para ver os detalhes.
O certificado contém informações importantes, como o Nome Comum, que é o nome do domínio associado à chave pública, e a data de validade do certificado, que precisa ser renovado regularmente.
As autoridades de certificação (CAs) são entidades autorizadas a emitir certificados. Elas fazem isso assinando criptograficamente um certificado. A identidade da CA é comprovada por um "Certificado CA". Assim como qualquer outro certificado, os certificados CA são assinados por outra CA, em um processo que continua até alcançar a "CA raiz" (root CA). A cadeia de certificados que vai desde a CA raiz até o certificado do usuário final é chamada de "cadeia de certificação" (certificate chain). Quando olhamos novamente para o certificado do youtube.com, podemos ver a cadeia de certificação, que consiste em três certificados:
Ao acessar um site, o navegador valida toda a cadeia de certificação. Se algum dos certificados contidos na cadeia for inválido ou inseguro, o navegador exibirá um aviso ao usuário. A identidade da CA raiz é verificada em relação a um conjunto pré-configurado de CAs confiáveis, armazenado em um "repositório de certificados" (certificate store), para evitar a falsificação de certificados de CA raiz.
Resumindo: Um certificado SSL, embora tecnicamente um certificado TLS, é um arquivo que autentica a identidade de um site e cria uma conexão criptografada entre o servidor e o navegador.