Conteúdo Show
A criptografia simétrica é a técnica criptográfica mais antiga que existe, mas ainda oferece um alto nível de segurança. Baseia-se no uso de uma única chave secreta que se encarregará de criptografar e descriptografar as informações, sejam informações em trânsito com protocolos como o TLS, ou informações em um dispositivo de armazenamento removível. A criptografia simétrica foi o primeiro método utilizado para criptografar as informações, ela se baseia no fato de que a mesma senha será utilizada tanto para criptografar quanto para descriptografar, portanto, é essencial que todos os usuários que desejam criptografar ou descriptografar a mensagem, tenham esta chave secreta, caso contrário, eles não conseguirão. Graças à criptografia simétrica, podemos fazer comunicações ou armazenar arquivos com segurança. Criptografia usar uma chave simétrica significa que pelo menos dois usuários devem ter a chave secreta. Usando essa chave, todas as mensagens transmitidas através do canal não seguro, como a Internet, serão criptografadas e descriptografadas, portanto, precisamos da criptografia de dados para manter a confidencialidade. Qualquer usuário que deseja acessar a mensagem criptografada deve ter esta senha de descriptografia, caso contrário, ela ficará ilegível. O método para criptografar os dados é baseado no fato de que o remetente irá criptografar a mensagem com sua chave privada, ele irá enviá-la pelo canal não seguro, e o destinatário terá que descriptografá-la com a mesma senha ou chave privada que o remetente usou. Existem vários pontos que um algoritmo de chave simétrica deve atender a fim de ser seguro em uso:
Ataques de força bruta são o verdadeiro inimigo dos algoritmos de criptografia simétrica , deve-se ter em mente que esses algoritmos são públicos e que sua força depende diretamente de quão complexo o algoritmo é internamente, e também do comprimento da chave usada para prevenir esses ataques. O mais importante na criptografia simétrica é proteger a chave privada ou a senha. O principal problema que surge é a distribuição dessa chave privada ou senha a todos os usuários, remetentes e destinatários das informações, para criptografar e descriptografar as informações da mensagem. É imprescindível que todos os usuários do sistema protejam a chave privada ou senha da melhor maneira possível, pois se cair em mãos erradas, todo o sistema ficará comprometido, tendo que gerar uma nova chave e redistribuir a chave privada para os diferentes participantes. Uma das diferenças que temos entre a criptografia simétrica e assimétrica é que na simétrica todos os usuários possuem a mesma chave de criptografia / descriptografia, se tivermos mais de um canal de comunicação, teremos tantas chaves privadas quanto canais de comunicação paralelos. Porém, nas assimétricas, cada usuário terá um par de chaves (públicas e privadas) para todos os canais de comunicação, não importando o número de canais seguros a manter, basta proteger a chave privada. A vantagem dos algoritmos de criptografia simétrica é que eles são rápidos, muito rápidos, além disso, nos últimos anos, a aceleração de criptografia de hardware foi incorporada em processadores de computador, servidores, roteadores e outros dispositivos, desta forma, podemos transferir dados via VPN muito depressa. A velocidade também depende do algoritmo de criptografia simétrica a ser utilizado, por exemplo, AES e ChaCha20 são dois dos mais rápidos e seguros que temos hoje, mas o hardware dos equipamentos influencia muito. Agora vamos falar em detalhes sobre dois algoritmos simétricos que são usados continuamente hoje, seja em conexões HTTPS com TLS 1.2 e TLS 1.3, em redes privadas virtuais com IPsec, OpenVPN ou WireGuard, e também em outras áreas onde a criptografia de dados é usada, como no VeraCrypt. AES (Padrão Avançado de Criptografia)O algoritmo AES simétrico foi responsável por substituindo DES e atualmente é usado em todos os canais e protocolos seguros, como TLS, FTPES, redes virtuais privadas e muito mais. A criptografia AES pode ser usada em software e hardware, AES é um algoritmo de criptografia de bloco, o tamanho do bloco fixo é de 128 bits . O comprimento da chave pode ser escolhido, e nós temos 128, 192 e 256 bits disponíveis , sendo o comprimento de 128 bits o padrão, mas 256 bits também são amplamente utilizados. Um aspecto muito importante é que o AES é responsável por gerar uma matriz 4 × 4 e, em seguida, uma série de rodadas de criptografia são aplicadas a ela. Para uma chave de 128 bits, 10 rodadas de criptografia são aplicadas, para uma chave de 192 bits, 12 rodadas são aplicadas, e para uma chave de 256 bits, as rodadas aplicadas são 14. Desde o início, muitos criptógrafos duvidam de sua segurança, e é que os ataques foram registrados em uma série de rodadas perto da rodada final, especificamente 7 rodadas para chaves de 128 bits, 8 rodadas para chaves de 192 bits e 9 rodadas para chaves de 256 bits foram descriptografadas. O modo de criptografia é a forma como os blocos de mensagens criptografados em AES são tratados. Existem diferentes tipos e cada um deles funciona de maneira diferente. Por exemplo, existe AES-CBC, AES-CFB e AES-OFB , vamos explicar o que exatamente é isso que aparece em bibliotecas criptográficas como OpenSSL e LibreSSL.
Como você viu, AES é atualmente um dos algoritmos de criptografia simétrica mais importantes e amplamente usados no mundo, no entanto, o modo de criptografia mais recomendado é AES-GCM, uma vez que incorpora AEAD. ChaCha20O algoritmo ChaCha20 é um algoritmo de criptografia simétrica que suporta 128 bits e 256 bits e chaves de alta velocidade, ao contrário do AES, que é uma cifra de bloco, ChaCha20 é uma cifra de fluxo. Possui características semelhantes a seu antecessor Salsa20 mas com uma função primitiva de 12 ou 20 rodadas diferentes. Seu código foi publicado, padronizado pela IETF na RFC 7539 e em implementações de software, é muito mais eficiente e rápido que o AES, por isso rapidamente conquistou um lugar entre os algoritmos mais usados hoje. Para descobrir por que ele se tornou tão famoso, vamos colocar o Google no meio para que tudo seja entendido com muito mais rapidez. As conexões HTPPS estão focadas em oferecer a máxima segurança nos sites que visitamos todos os dias, foi a próxima etapa do protocolo HTTP que não tinha proteção alguma. A criptografia, no entanto, varia de navegador para navegador. Até alguns anos atrás, cromo por Android tem usado AES-GCM como seu algoritmo de criptografia simétrica; no entanto, o Google tem trabalhado em uma criptografia mais atual, segura e rápida por muitos anos. O salto na popularidade ocorre quando, após seu lançamento na versão desktop do Chrome, o novo ChaCha20 para criptografia e Poly1305 para autenticação chega ao Android. Um trabalho titânico que se traduz em um algoritmo simétrico que oferece mais segurança e que é imune a vários tipos de ataques. No entanto, o mais notável é que atinge um desempenho três vezes maior do que protocolos um pouco mais antigos, como AES, desta forma, as capacidades do CPU também são melhor aproveitados e uma redução de 16% na largura de banda utilizada, o que permite aproveitar ainda mais a conexão. ChaCha20 é amplamente usado em conexões HTTPS, em conexões SSH para gerenciar servidores e até mesmo o popular protocolo VPN WireGuard usa apenas ChaCha20 para criptografia simétrica de dados. É bem possível que em breve também vejamos ChaCha20 em conexões IPsec, entretanto, você deve usar AES-GCM sempre que possível. Até agora a explicação da criptografia simétrica, comentamos sobre os dois algoritmos que são frequentemente usados hoje, existem muitos mais que no passado foram muito relevantes, especialmente para o desenvolvimento dos atuais, já que as bases dos novos são eles estabeleceu-se na experiência do velho, seus erros e suas vantagens. Algoritmos como DES, 3DES, RC5 ou IDEA abriram caminho para os novos, de modo que hoje temos algoritmos de criptografia realmente fortes, com capacidade de resistir a ataques e proteger todas as nossas informações de mãos indesejadas e maliciosas. Criptografia assimétrica ou criptografia de chave públicaA criptografia de chave assimétrica também é conhecida como chave pública, usa duas chaves diferentes em cada extremidade da comunicação para criptografar e descriptografar . Cada usuário da comunicação terá uma chave pública e uma chave privada. A chave privada deverá ser protegida e mantida pelo próprio usuário, será secreto e não deve ser conhecido por absolutamente ninguém, nem deve ser enviado a ninguém. A chave pública estará acessível a todos os usuários do sistema que desejam se comunicar. A força do sistema pelo qual este tipo de algoritmo assimétrico é seguro é que ele se baseia em funções matemáticas que são fáceis de resolver em um sentido , mas de quem resolução na direção oposta é extremamente complicada , a menos que a chave seja conhecida. . As chaves públicas e privadas são geradas simultaneamente e vinculadas entre si. A relação entre as duas deve ser muito complexa, pelo que é muito difícil obtermos uma chave do outro, neste caso, obter a chave privada, uma vez que a chave pública é conhecida por todos os que estão ligados ao sistema. Os pares de chaves possuem funções diversas e muito importantes, entre as quais destacamos:
Criptografia de chave assimétricaSe uma pessoa com um par de chaves criptografar uma mensagem com a chave pública do destinatário, essa mensagem só poderá ser descriptografada com a chave privada associada. Se criptografarmos uma mensagem com a chave privada, não poderemos descriptografá-la com a própria chave privada, devemos usar a pública (neste caso não é considerada criptografia, mas a autenticidade do remetente é verificada, com isso verificaremos se o remetente é quem realmente diz ser). A estrutura matemática de como funciona a criptografia assimétrica é esta:
Como comentamos antes, ao falar sobre criptografia de chave simétrica, a criptografia simétrica fornece confidencialidade (apenas o destinatário pode ler a mensagem). A criptografia assimétrica fornece outras propriedades: autenticidade, integridade e não repúdio. Para que um algoritmo seja considerado seguro, ele deve estar em conformidade com o seguinte:
A vantagem da criptografia assimétrica sobre a criptografia simétrica é que a chave pública pode ser conhecida por todos os usuários do sistema, porém, isso não acontece com a chave privada e, como resultado da criptografia simétrica, os dois usuários devem conhecer a mesma chave. (e a senha deve ser enviada a cada um dos diferentes usuários através do canal de comunicação estabelecido). Operação do sistema simétrico e assimétricoA principal desvantagem de este tipo de criptografia é sua lentidão , o uso desse tipo de chave retarda o processo de criptografia da comunicação. A solução para isso é usar criptografia assimétrica e simétrica (como protocolos como IPSec ou OpenVPN para redes virtuais privadas, HTTPS para conexões seguras da web ou em conexões SFTP / FTPES). Essa combinação de cifras ocorre da seguinte maneira. Criamos a chave do algoritmo simétrico, criptografamos com a chave pública do destinatário, enviamos os dados criptografados pelo canal de comunicação inseguro e, em seguida, o destinatário descriptografa os dados usando sua chave privada. Com a chave do algoritmo simétrico nos dois pontos, é quando a comunicação usando criptografia simétrica pode começar, o que torna a comunicação muito mais rápida do que se usássemos apenas criptografia assimétrica em todas as comunicações. O exemplo claro de onde este tipo de método combinado é usado são VPNs, como OpenVPN ou IPsec, em que a chave de sessão que é conhecida pelos usuários é regenerada de vez em quando para aumentar ainda mais a segurança da comunicação, sem acarretar um atraso significativo na transferência de dados . Resposta do desafioPara aumentar a segurança, este método verifica se o remetente é realmente quem afirma ser , para isso um texto é enviado ao remetente e ele irá criptografá-lo com sua chave privada (o que ele está realmente fazendo é assiná-lo), o remetente irá nos enviar o texto criptografado (assinado) e nós iremos descriptografar a chave (nós iremos verificar a assinatura) aproveitando o fato de termos a chave pública do emissor e, por fim, compararemos que a mensagem obtida é a mesma que enviamos anteriormente. Se um usuário personificar o emissor real, ele não teria a chave privada, então o “desafio” não teria sido bem-sucedido e os dados não seriam comunicados. Assinatura digitalA assinatura digital permite ao destinatário de uma mensagem que a origem é autêntica , também podemos verificar se a mensagem foi modificada. Falsificar uma assinatura digital é quase impossível, a menos que eles conheçam a chave privada da pessoa que está assinando (e já dissemos antes que a chave privada deve ser salva e ninguém deveria sabê-la). Aqui estão as duas fases para a realização da assinatura digital:
Em assinaturas digitais, funções hash como SHA2-256 e SHA2-512 são usadas, pois, como explicamos anteriormente, a criptografia assimétrica é lenta. O remetente da comunicação aplicará a função HASH à mensagem original para obter a impressão digital. A impressão digital será então criptografada com a chave privada e enviada ao destinatário pelo canal inseguro para descriptografia. O destinatário também fará o hash dos seus dados e comparará os resultados (o que obteve e o que recebeu). Se o resultado da comparação desses dados for negativo, ou seja, houver diferenças entre o que foi obtido e o que foi recebido, as informações foram alteradas e os dados da impressão digital terão mudado. Se o resultado for o mesmo, a comunicação ocorrerá sem problemas. Com tudo isso cumprimos:
Se quisermos introduzir confidencialidade na comunicação, tudo o que temos a fazer é fazer com que o remetente criptografe a mensagem original com a chave pública do destinatário. Algoritmos de criptografia de chave assimétricaAgora listaremos os dois algoritmos assimétricos principais que são usados hoje e explicaremos como eles funcionam. Diffie-HellmanNão é um algoritmo assimétrico em si, é um protocolo de estabelecimento de chave, é usado para gerar uma chave privada em ambas as extremidades de um canal de comunicação inseguro . É usado para obter a chave privada com a qual as informações serão posteriormente criptografadas em conjunto com um algoritmo de criptografia simétrica. O ponto forte do Diffie-Hellman é que sua segurança reside na dificuldade de calcular o logaritmo discreto de grandes números (Diffie-Hellmann também permite o uso de curvas elípticas). O problema desse algoritmo é que ele não fornece autenticação, não pode validar a identidade dos usuários, portanto, se um terceiro usuário ficar no meio da comunicação, ele também receberá as chaves e, portanto, poderá estabelecer comunicações com o remetente e o destinatário falsificando identidades. Para evitar isso, existem várias soluções que amenizam e resolvem o problema, como a utilização de certificados digitais. RSAO algoritmo assimétrico por excelência, este algoritmo é baseado no par de chaves , o público e o privado de que já falamos anteriormente. A segurança desse algoritmo reside no problema de fatorar inteiros muito grandes e no problema RSA, porque descriptografar totalmente um texto cifrado com RSA atualmente não é possível, embora a descriptografia parcial seja possível. Algumas características muito importantes do RSA é o comprimento da chave, atualmente pelo menos um comprimento de 2048 bits deve ser usado, embora seja recomendado que seja de 4096 bits ou mais para maior segurança. Vantagem:
Desvantagens:
DSAEsse algoritmo também é puramente assimétrico, uma desvantagem do DSA é que ele deseja muito mais tempo de computação do que o RSA para igualdade de hardware. O DSA é amplamente usado como um algoritmo de assinatura digital, atualmente é um padrão, mas o DSA não é usado para criptografar dados, apenas como uma assinatura digital. Este algoritmo é amplamente utilizado em conexões SSH para verificar a assinatura digital de clientes, além disso, existe uma variante do DSA baseada em curvas elípticas (ECDSA), e está disponível em todas as bibliotecas criptográficas atuais como OpenSSL, GnuTLS ou LibreSSL. Outra característica do DSA é o comprimento da chave, o comprimento mínimo da chave é 512 bits, embora o mais comum seja o uso de 1024 bits. Agora que você conhece os dois tipos de criptografia e as propriedades de cada um, com isso saberá onde vale a pena usar um tipo e onde o outro . Com o tempo, esses métodos irão variar ou serão atualizados para outros mais seguros, uma vez que com o crescimento do desempenho do computador, os ataques a esse tipo de método de segurança são aprimorados, mas agora, aqueles que estão em vigor e continuam a ser usados para não tendo sido expulsos ainda, são eles que acabamos de explicar a você. Que tipo de criptografia usa duas chaves de diferentes Uma pública para o remetente é uma confidencialidade para o destinatário?A criptografia assimétrica, também conhecida como criptografia de chave pública, é baseada em 2 tipos de chaves de segurança — uma privada e a outra pública. Elas são usadas para cifrar mensagens e verificar a identidade de um usuário.
Quais os 2 tipos de chaves de criptografia?Chaves simétricas e assimétricas
Em criptografia existem dois tipos básicos de algoritmos: os de chave simétrica e assimétrica. Os primeiros utilizam uma única chave para cifrar e decifrar os dados, enquanto os segundos adotam par de chaves, sendo uma para cifrar e a outra para decifrar.
Qual dos métodos de criptografia a seguir utiliza chave privada e pública?B A criptografia de chave simétrica é um método de codificação que utiliza uma chave pública e uma chave privada para codificar e decodificar a mesma informação.
Como funciona a criptografia RSA?A criptografia RSA utiliza a teoria dos números para a codificaç˜ao e decodificaç˜ao de mensagens. Esta é uma criptografia que se utiliza de chaves assimétricas, ou seja, existem duas chaves distintas, uma pública e outra privada.
|