O que é sigilo de encaminhamento perfeito?

Na criptografia, algumas cifras podem ser rotuladas com o acrônimo PFS. Isso significa Perfect Forward Secrecy. Algumas implementações podem simplesmente se referir ao PFS como FS. Esta sigla significa Forward Secrecy ou Forward Secure. De qualquer forma, todos eles falam sobre a mesma coisa. Entender o que significa Perfect Forward Secrecy exige que você entenda os fundamentos da troca de chaves criptográficas.

Noções básicas de criptografia

Para se comunicar com segurança, a solução ideal é usar algoritmos de criptografia simétrica. Estes são rápidos, muito mais rápidos do que os algoritmos assimétricos. Eles, no entanto, têm um problema fundamental. Como a mesma chave é usada para criptografar e descriptografar uma mensagem, você não pode enviar a chave por um canal inseguro. Como tal, você precisa ser capaz de proteger o canal primeiro. Isso é feito usando criptografia assimétrica na prática.

Nota: Também seria possível, se inviável, usar um canal seguro fora da banda, embora a dificuldade permaneça em proteger esse canal.

Para proteger um canal inseguro, um processo chamado troca de chaves Diffie-Hellman é realizado. Na troca de chaves Diffie-Hellman, uma parte, Alice, envia sua chave pública para a outra parte, Bob. Bob então combina sua chave privada com a chave pública de Alice para gerar um segredo. Bob então envia sua chave pública para Alice, que a combina com sua chave privada, permitindo que ela gere o mesmo segredo. Nesse método, ambas as partes podem transmitir informações públicas, mas acabam gerando o mesmo segredo, sem nunca precisar transmiti-lo. Esse segredo pode então ser usado como a chave de criptografia para um algoritmo de criptografia simétrica rápida.

Observação: a troca de chaves Diffie-Hellman não oferece autenticação nativa. Um invasor em uma posição de Man in the Middle ou MitM poderia negociar uma conexão segura com Alice e Bob e monitorar silenciosamente as comunicações descriptografadas. Esse problema é resolvido via PKI ou Public Key Infrastructure. Na Internet, isso assume a forma de autoridades de certificação confiáveis ​​assinando certificados de sites. Isso permite que um usuário verifique se está se conectando ao servidor que espera.

O problema com padrão Diffie-Hellman

Embora o problema de autenticação seja fácil de resolver, esse não é o único problema. Os sites têm um certificado, assinado por uma autoridade de certificação. Este certificado inclui uma chave pública, para a qual o servidor possui a chave privada. Você pode usar esse conjunto de chaves assimétricas para se comunicar com segurança, no entanto, o que acontecerá se essa chave privada for comprometida?

Se uma parte maliciosa e interessada quisesse descriptografar os dados criptografados, eles teriam dificuldades. A criptografia moderna foi projetada de tal forma que levaria pelo menos muitos milhões de anos para ter uma chance razoável de adivinhar uma única chave de criptografia. Um sistema criptográfico, no entanto, é tão seguro quanto a chave. Portanto, se o invasor conseguir comprometer a chave, por exemplo, invadindo o servidor, ele poderá usá-la para descriptografar qualquer tráfego que foi usado para criptografar.

Este problema obviamente tem alguns grandes requisitos. Primeiro, a chave precisa ser comprometida. O invasor também precisa de qualquer tráfego criptografado que deseja descriptografar. Para o atacante médio, esse é um requisito bastante difícil. Se, no entanto, o invasor for um ISP mal-intencionado, provedor de VPN, proprietário de ponto de acesso Wi-Fi ou estado-nação, ele estará em um bom lugar para capturar grandes quantidades de tráfego criptografado que poderá descriptografar em algum momento.

O problema aqui é que, com a chave privada do servidor, o invasor pode gerar o segredo e usá-lo para descriptografar todo o tráfego que já foi usado para criptografar. Isso pode permitir que o invasor descriptografe anos de tráfego de rede para todos os usuários de um site de uma só vez.

Sigilo de Encaminhamento Perfeito

A solução para isso é não usar a mesma chave de criptografia para tudo. Em vez disso, você deseja usar chaves efêmeras. O sigilo de encaminhamento perfeito exige que o servidor gere um novo par de chaves assimétricas para cada conexão. O certificado ainda é usado para autenticação, mas não é realmente usado para o processo de negociação de chaves. A chave privada é mantida na memória apenas o tempo suficiente para negociar o segredo antes de ser apagada. Da mesma forma, o segredo só é mantido enquanto estiver em uso antes de ser esclarecido. Em sessões particularmente longas, pode até ser renegociado.

Dica: Em nomes de cifras, as cifras com Perfect Forward Secrecy são normalmente rotuladas com DHE ou ECDHE. O DH significa Diffie-Hellman, enquanto o E no final significa Ephemeral.

Ao usar um segredo exclusivo para cada sessão, o risco de comprometimento da chave privada é bastante reduzido. Se um invasor conseguir comprometer a chave privada, ele poderá descriptografar o tráfego atual e futuro, mas não poderá usá-lo para descriptografar em massa o tráfego histórico.

Como tal, o sigilo de encaminhamento perfeito fornece ampla proteção contra a captura de tráfego de rede geral. Embora no caso do servidor ser comprometido, alguns dados podem ser descriptografados, são apenas dados atuais, não todos os dados históricos. Além disso, uma vez que o comprometimento foi detectado, o problema pode ser resolvido, deixando apenas uma quantidade relativamente pequena do tráfego vitalício total sendo descriptografada pelo invasor.

Conclusão

Perfect Forward Secrecy é uma ferramenta para proteção contra vigilância histórica geral. Um invasor capaz de coletar e armazenar vastos tesouros de comunicações criptografadas pode ser capaz de descriptografá-las se obtiver acesso à chave privada. O PFS garante que cada sessão use chaves efêmeras exclusivas. Isso limita a capacidade do invasor de “apenas” descriptografar o tráfego atual, em vez de todo o tráfego histórico.



Como clonar um disco rígido

Como clonar um disco rígido

Na era digital moderna, onde os dados são um bem valioso, a clonagem de um disco rígido no Windows pode ser um processo crucial para muitos. Este guia completo

Como consertar o driver WUDFRd que falhou ao carregar no Windows 10?

Como consertar o driver WUDFRd que falhou ao carregar no Windows 10?

Você está enfrentando a mensagem de erro ao inicializar o computador, informando que o driver WUDFRd falhou ao carregar no seu computador?

Como corrigir o código de erro NVIDIA GeForce Experience 0x0003

Como corrigir o código de erro NVIDIA GeForce Experience 0x0003

Você está enfrentando o código de erro 0x0003 da experiência NVIDIA GeForce em sua área de trabalho? Se sim, leia o blog para descobrir como corrigir esse erro de forma rápida e fácil.

Noções básicas de impressão 3D: adesão à base da impressora

Noções básicas de impressão 3D: adesão à base da impressora

Aprendendo sobre impressão 3D? Aqui está o que você precisa saber sobre a adesão da base da impressora.

Como remover uma GPU do Windows PC em 2023

Como remover uma GPU do Windows PC em 2023

Você precisa remover a GPU do seu PC? Junte-se a mim enquanto explico como remover uma GPU do seu PC neste guia passo a passo.

Como instalar um SSD NVMe em um desktop e laptop

Como instalar um SSD NVMe em um desktop e laptop

Comprou um novo SSD NVMe M.2, mas não sabe como instalar? Continue lendo para saber como instalar um SSD NVMe em um laptop ou desktop.

O que é uma bomba lógica?

O que é uma bomba lógica?

Uma bomba lógica é um incidente de segurança em que um invasor configura uma ação atrasada. Continue lendo para saber mais.

O que é Stuxnet?

O que é Stuxnet?

O Stuxnet era um worm autopropagado. Foi o primeiro uso de uma arma cibernética e a primeira ocorrência de malware.

O que é um hacker ético?

O que é um hacker ético?

Um hacker ético é um hacker que age dentro das restrições da lei. Continue lendo para saber mais sobre o assunto.

O que é criptografia simétrica?

O que é criptografia simétrica?

Existem muitas partes diferentes da criptografia. Se você deseja criptografar alguns dados, existem dois tipos de algoritmos que você pode usar: simétrico