Conceitos-chave na criptografia
Última revisão: January 01, 2025
Em algumas circunstâncias, a criptografia pode ser bastante automática e simples. Mas há maneiras pelas quais a criptografia pode dar errado. Quanto mais você entender o assunto, mais seguro estará contra essas situações. Antes de entrarmos no assunto, recomendamos que você leia primeiro o guia "O que devo saber sobre criptografia?", caso ainda não o tenha lido.
Neste guia, examinaremos cinco conceitos importantes para entender a criptografia em trânsito:
- Cifras e chaves
- Criptografia simétrica e assimétrica
- Chaves privadas e públicas
- Verificação de identidade para pessoas (impressões digitais de chave pública)
- Verificação de identidade para sítios (certificados de segurança)
Cifras e chaves
Primeiro, vamos começar com alguns termos do glossário que usaremos:
A criptografia é um processo matemático usado para embaralhar informações, de modo que elas só possam ser desembaralhadas, ou "descriptografadas", com conhecimento especial. O processo envolve uma cifra e uma chave.
Uma cifra é um conjunto de regras (um algoritmo) seguido por um computador ao criptografar e descriptografar dados . As mesmas etapas e regras usadas para criptografar dados devem ser seguidas exatamente para descriptografá-los.
Uma chave é um pedaço de informação que instrui a cifra sobre como criptografar e descriptografar. As chaves são um dos conceitos mais importantes para entender a criptografia.
Uma chave ou muitas chaves?
Na criptografia simétrica, há uma única chave para criptografar e descriptografar informações.
![]()
|
As formas mais antigas de criptografia eram simétricas. Para a "cifra de César" usada por Júlio César, a chave para criptografar e descriptografar uma mensagem era um deslocamento de três. Por exemplo, "A" seria alterado para "D". Assim, usando a chave de três, a mensagem "CRIPTOGRAFIA E LEGAL" seria criptografada como "FULSWRJUDIKD H OHDO". Essa mesma chave seria usada para descriptografá-la de volta à mensagem original. |
A criptografia simétrica ainda é usada hoje em dia - geralmente vem na forma de "cifras de fluxo" e "cifras de bloco", que dependem de processos matemáticos complexos para tornar a criptografia difícil de decifrar. Atualmente, a criptografia inclui muitas etapas de embaralhamento de dados para dificultar a revelação do conteúdo original sem a chave válida. Os algoritmos modernos de criptografia simétrica, como o algoritmo Advanced Encryption Standard (AES), são robustos e rápidos.
A criptografia simétrica é amplamente usada por computadores para tarefas como criptografar arquivos, criptografar partições em um computador, criptografar completamente dispositivos e computadores usando criptografia de disco completo e criptografar bancos de dados como os de gerenciadores de senhas. Para descriptografar essas informações criptografadas simetricamente, geralmente é solicitada uma senha . É por isso que recomendamos o uso de senhas fortes.
Ter uma única chave pode ser ótimo se você for a única pessoa que precisa acessar essas informações. Mas há um problema em ter uma única chave: e se você quiser compartilhar informações criptografadas com um amigo que esteja longe? E se você não puder se encontrar com seu amigo pessoalmente para compartilhar a chave? Como você poderia compartilhar a chave com seu amigo de forma segura por meio de uma conexão de Internet aberta?
A criptografia assimétrica, também conhecida como criptografia de chave pública , resolve esses problemas. A criptografia assimétrica envolve duas chaves: uma chave privada (para descriptografia) e uma chave pública (para criptografia).
Criptografia simétrica
|
Criptografia assimétrica
|
|
|
|
|
|
|
|
|
|
|
A criptografia simétrica e a assimétrica costumam ser usadas juntas para criptografar dados em trânsito.
Criptografia assimétrica: Chaves públicas e privadas
As chaves privadas e públicas vêm em pares combinados, porque a chave privada e a chave pública estão matematicamente ligadas. Você pode pensar nisso como uma pedra que é dividida ao meio. Quando unidas novamente, as duas metades formam o todo. Nenhuma outra metade de rocha servirá. Os arquivos de chave pública e de chave privada são muito parecidos, mas, em última análise, são compostos de representações legíveis por computador de números muito grandes.
Embora seja chamada de "chave pública", ela não tem exatamente a função de uma chave real e literal para abrir coisas. Em vez disso, ela pode ser considerada como um cadeado para os dados. Para obter informações mais sobre chaves públicas e chaves privadas, consulte nosso artigo mergulho profundo sobre criptografia de chave pública.
![]()
|
Uma chave pública é um arquivo que você pode fornecer a qualquer pessoa ou publicar publicamente. Quando alguém quiser lhe enviar uma mensagem criptografada de ponta a ponta, precisará da sua chave pública para fazer isso. Atualmente, isso acontece automaticamente com a maioria dos softwares de bate-papo que suportam criptografia de ponta a ponta.
|
|
Sua chave privada permite que você descriptografe essa mensagem criptografada. Como a chave privada permite que você leia mensagens criptografadas, é muito importante proteger sua chave privada. Além disso, sua chave privada pode ser usada para assinar documentos para que outras pessoas possam verificar se eles realmente vieram de você.
|
Como a chave privada é um arquivo no seu dispositivo que requer proteção, recomendamos que você proteja com senha e criptografe os dispositivos em que a chave privada está armazenada. Temos guias para senhas fortes e criptografia de dispositivos.
Chave pública
|
Chave privada
|
|
|
|
|
|
|
De certa forma, você pode pensar em enviar informações em trânsito como se estivesse enviando um cartão postal. Na ilustração do cartão postal à esquerda (abaixo), um remetente escreve: "Oi(Hi)!! :-)" O remetente endereça a mensagem ao destinatário. A mensagem abaixo, à esquerda, não está criptografada, e qualquer pessoa que passe pela mensagem ao longo do caminho poderá lê-la.
À direita está o mesmo cartão postal, com a mensagem criptografada entre o remetente e o destinatário. A mensagem ainda transmite a mensagem "Oi(Hi)! :-)" mas agora se parece com um bloco de palavras sem sentido criptografadas para o resto de nós.
Como isso é feito? O remetente encontrou a chave pública do destinatário. O remetente endereça a mensagem à chave pública do destinatário, que criptografa a mensagem. O remetente também incluiu sua assinatura para mostrar que a mensagem criptografada é realmente dele.
Observe que os metadados - de quem está enviando e quem está recebendo a mensagem, bem como informações adicionais, como horário de envio e recebimento, por onde passou e assim por diante - ainda estão visíveis. Podemos ver que o remetente e o destinatário estão usando criptografia, podemos dizer que eles estão se comunicando, mas não podemos ler o conteúdo da mensagem.
Para quem você está criptografando? Eles são quem realmente dizem ser?
Você pode estar se perguntando: "Entendo que minha chave pública permite que alguém me envie uma mensagem criptografada e que minha chave privada permite que eu leia essa mensagem criptografada. Mas se alguém fingir ser eu? E se essa pessoa criar uma nova chave pública e privada e se passar por mim?"
É nesse ponto que a criptografia de chave pública é especialmente útil: ela permite que você verifique sua identidade e a identidade do destinatário. Vamos examinar mais detalhadamente os recursos da chave privada.
Além de permitir que você leia as mensagens criptografadas enviadas para sua chave pública, sua chave privada permite que você coloque assinaturas digitais não falsificáveis nas mensagens enviadas a outras pessoas, como se dissesse "Sim, sou eu mesmo que estou escrevendo isso".
O destinatário verá sua assinatura digital junto com a mensagem e a comparará com as informações listadas na sua chave pública.
Vamos dar uma olhada em como isso funciona na prática.
Verificação de identidade para pessoas: Impressões Digitais de Chave Pública
Quando enviamos qualquer tipo de mensagem, contamos com a boa-fé das pessoas que participam. Por exemplo, não esperamos que um entregador de correspondência se intrometa no conteúdo de nossa correspondência. Também não esperamos que alguém intercepte a carta de um amigo para nós, abra-a, modifique-a e a envie para nós, como se nada tivesse sido alterado. Mas existe o risco de isso acontecer.
As mensagens criptografadas têm esse mesmo risco de serem alteradas. No entanto, a criptografia de chave pública nos permite verificar se informações foram adulteradas, conferindo a identidade digital de alguém com sua identidade na vida real.
A chave pública é um bloco gigante de texto em um arquivo. Ela também é representada em um atalho legível por humanos chamado de impressão digital da chave.
A palavra "impressão digital" tem muitos significados diferentes no campo da segurança de computadores.
Um uso do termo é uma "impressão digital de chave", uma sequência de caracteres como "65834 02604 86283 29728 37069 98932 73120 14774 81777 73663 16574 23234" que deve permitir que você verifique de forma exclusiva e segura se alguém na Internet está usando a chave privada correta.
Em alguns aplicativos, essas informações podem ser representadas como um código QR que você e seu amigo escaneiam nos dispositivos um do outro.
Você pode verificar novamente se a identidade digital de alguém corresponde a quem ela diz ser por meio de algo chamado "verificação de impressão digital". Para ter uma ideia de como isso funciona na prática, experimente no Signal ou no WhatsApp.
A verificação da impressão digital é melhor feita na vida real. Se você puder se encontrar com seu amigo pessoalmente, tenha a impressão digital de sua chave pública disponível e permita que ele verifique novamente se cada caractere da impressão digital de sua chave pública corresponde ao que ele tem como impressão digital de sua chave pública. A verificação de uma longa sequência de caracteres como "342e 2309 bd20 0912 ff10 6c63 2192 1928" é entediante, mas é uma etapa crucial para proteger suas comunicações. Se não for possível encontrar-se pessoalmente, você pode disponibilizar sua impressão digital por meio de outro canal seguro, como outro sistema de mensagens ou bate-papo com criptografia de ponta a ponta.
A verificação da impressão digital da chave de alguém lhe dá um grau mais alto de certeza de que se trata realmente da pessoa. Mas não é perfeito. Se as chaves privadas forem copiadas ou roubadas (digamos que você tenha um programa malicioso no dispositivo ou que alguém tenha acessado fisicamente o dispositivo e copiado o arquivo), outra pessoa poderá usar a mesma impressão digital. Por esse motivo, se uma chave privada for "roubada", você deverá gerar um novo par de chaves pública e privada e fornecer a seus amigos a nova impressão digital da chave pública.
Resumo: Recursos de criptografia de chave pública
Em geral, o uso da criptografia de chave pública pode fornecer aos usuários:
Confidencialidade: Uma mensagem criptografada com criptografia de chave pública permite que o remetente crie uma mensagem secreta, de modo que somente o destinatário pretendido possa lê-la.
Autenticidade: Um destinatário de uma mensagem assinada com criptografia de chave pública pode verificar se a mensagem foi criada autenticamente pelo remetente se tiver a chave pública do remetente.
Integridade: Uma mensagem assinada ou criptografada com criptografia de chave pública, em geral, não pode ser modificada, pois não será descriptografada ou verificada corretamente. Isso significa que até mesmo a interrupção não intencional de uma mensagem (por exemplo, devido a um problema temporário na rede) será detectável.
Verificação de identidade para sites e serviços: Certificados de segurança
Você pode se perguntar: "Posso verificar impressões digitais de chaves públicas, mas qual é o equivalente para a Web? Como posso verificar novamente se estou usando um sitio que realmente é o sitio que diz ser? Como posso ter certeza de que ninguém estiver interferindo na minha conexão com um serviço?"
Ao usar a criptografia de camada de transporte, seu computador verifica automaticamente se a chave pública de um serviço é quem realmente diz ser e se está criptografando o serviço pretendido. Isso é chamado de "certificado de segurança ".
Abaixo, você pode ver um exemplo do certificado de segurança para SSD em um navegador da Web genérico. Essas informações geralmente podem ser acessadas clicando no cadeado HTTPS ou no painel de opções do navegador da Web e acessando os detalhes do certificado.
O navegador da Web em seu computador pode fazer conexões criptografadas com sites que usam HTTPS. Os sites geralmente usam certificados de segurança para provar ao navegador que você tem uma conexão segura com o sitio real, e não com algum outro sistema que esteja adulterando sua conexão. Os navegadores da Web examinam os certificados para verificar as chaves públicas dos nomes de domínio (como www.duckduckgo.com, www.wikipedia.org ou ssd.eff.org). Os certificados são uma forma de tentar determinar se você conhece a chave pública correta de uma pessoa ou sitio, para que possa se comunicar com eles de forma segura.
Mas como seu computador sabe qual é a chave pública correta para os sites que você visita?
Os navegadores e sistemas operacionais modernos incluem uma lista de autoridades de certificação (CAs) confiáveis. As chaves públicas dessas CAs são fornecidas previamente quando você faz o download do navegador ou compra um computador. As autoridades de certificação assinam a chave pública dos sites depois de validá-los como operadores legítimos de um domínio (como www.example.com). Quando seu navegador visita um sitio HTTPS, ele verifica se o certificado fornecido pelo sitio foi realmente assinado por uma CA em que ele confia. Isso significa que um terceiro confiável verificou se o sitio é quem ele diz ser.
O fato de o certificado de segurança de um sitio ter sido assinado por uma autoridade de certificação não significa que o sitio seja seguro. Há limites para o que uma CA pode verificar - ela não pode verificar se um sitio é honesto ou confiável. Por exemplo, um sitio pode ser "seguro" usando HTTPS, mas ainda assim hospedar golpes e programas maliciosos. Fique atento e saiba mais nosso guia sobre malware e phishing.
De vez em quando, verá mensagens de erro relacionadas a certificados na Web. Geralmente, isso ocorre porque uma rede de hotel ou café está tentando interceptar sua conexão com um sitio para direcioná-lo ao portal de login deles antes de acessar a Web ou devido a um erro burocrático no sistema de certificados. Mas, às vezes, é porque um hacker, ladrão ou agência policial ou de espionagem está quebrando a conexão criptografada. Infelizmente, é extremamente difícil distinguir entre esses casos.
Isso significa que você nunca deve clicar além de um aviso de certificado se ele estiver relacionado a um sitio no qual você tenha uma conta ou esteja lendo informações confidenciais.
Juntando tudo: Chaves Simétricas, Chaves Assimétricas e Impressões Digitais de Chaves Públicas
O Exemplo de Handshakes de Segurança da Camada de Transporte
Ao usar a criptografia de camada de transporte, o navegador do seu computador e o computador do sitio que você esteja visitando usam algoritmos simétricos e algoritmos assimétricos.
Vamos examinar um exemplo concreto de como todas essas ideias funcionam juntas: quando você se conecta a esse sitio HTTPS (https://ssd.eff.org/), o que acontece?
Quando um sitio usa HTTPS, seu navegador e o servidor do sitio têm um conjunto muito rápido de interações chamado "handshake"(“aperto de mão”). Seu navegador - Google Chrome, Mozilla Firefox, Tor Browser e assim por diante - está conversando com o servidor que hospeda nosso sitio, https://ssd.eff.org.
No handshake, o navegador e o servidor primeiro enviam notas um ao outro para verificar se têm alguma preferência compartilhada por algoritmos de criptografia (conhecidos como "conjuntos de cifras"). Você pode pensar nisso como se o seu navegador e o nosso servidor ssd.eff.org tivessem uma conversa rápida: eles estão perguntando um ao outro quais métodos de criptografia ambos conhecem e devem se comunicar, bem como quais métodos de criptografia preferem.
É mais ou menos assim: "Nós dois sabemos como usar um algoritmo assimétrico como o RSA em combinação com um algoritmo simétrico como o AES? Sim, ótimo. Se essa combinação de algoritmos de criptografia não funcionar para nós, que outros algoritmos de criptografia nós dois conhecemos?"
Em seguida, seu navegador usa criptografia assimétrica: ele envia um certificado de chave pública para ssd.eff.org para provar que você é quem diz ser. O servidor do sitio verifica esse certificado de chave pública em relação à sua chave pública. O servidor do sitio compara esse certificado de chave pública com sua chave pública. Isso evita que um computador mal-intencionado intercepte sua conexão.
Depois que sua identidade é confirmada, o servidor do sitio usa criptografia simétrica: ele gera um novo arquivo de chave secreta simétrica. Em seguida, ele criptografa assimetricamente a chave pública do navegador e a envia para ele. O navegador usa sua chave privada para descriptografar esse arquivo.
Se essa chave simétrica funcionar, seu navegador e o servidor do sitio a usarão para criptografar o restante de suas comunicações. Esse conjunto de interações é o handshake de segurança da camada de transporte (TLS). Portanto, se tudo der certo no handshake, sua conexão com ssd.eff.org será exibida como segura, com HTTPS antes de ssd.eff.org.
Para um mergulho mais profundo na verificação de chaves , leia este guia a seguir.