Tabla de Contenido
Vídeo – Criptografia
No início do tópico anterior, a criptografia é mencionada como parte da tríade de segurança da informação da CIA. Neste tópico, você vai se aprofundar nos vários tipos de criptografia e como eles são usados para proteger a rede.
Clique em Reproduzir na figura para ver um vídeo sobre criptografia.
Protegendo Comunicações
As organizações devem fornecer suporte para proteger os dados enquanto eles trafegam pelos links. Isso pode incluir tráfego interno, mas é ainda mais importante proteger os dados que viajam para fora da organização para sites de filiais, sites de telecomutador e sites de parceiros.
Estes são os quatro elementos das comunicações seguras:
- Integridade de dados – Garante que a mensagem não foi alterada. Quaisquer alterações nos dados em trânsito serão detectadas. A integridade é garantida pela implementação de algoritmos de geração de hash Message Digest versão 5 (MD5) ou Secure Hash Algorithm (SHA).
- Autenticação de origem – Garante que a mensagem não é uma falsificação e realmente vem de quem é declarada. Muitas redes modernas garantem autenticação com protocolos, como código de autenticação de mensagem hash (HMAC).
- Confidencialidade dos dados – Garante que apenas usuários autorizados possam ler a mensagem. Se a mensagem for interceptada, não poderá ser decifrada em um período de tempo razoável. A confidencialidade dos dados é implementada usando algoritmos de criptografia simétricos e assimétricos.
- Não Repúdio de Dados – Garante que o remetente não pode repudiar ou refutar a validade de uma mensagem enviada. O não-repúdio depende do fato de que apenas o remetente tem as características exclusivas ou a assinatura de como a mensagem é tratada.
A criptografia pode ser usada em quase qualquer lugar onde haja comunicação de dados. Na verdade, a tendência é que todas as comunicações sejam criptografadas.
Integridade de dados
As funções hash são usadas para garantir a integridade de uma mensagem. Eles garantem que os dados da mensagem não foram alterados acidentalmente ou intencionalmente.
Na figura, o remetente está enviando uma transferência de dinheiro de $ 100 para Alex.
Algoritmos Hash
O remetente deseja garantir que a mensagem não seja alterada no caminho para o destinatário.
- O dispositivo de envio insere a mensagem em um algoritmo de hash e calcula seu hash de comprimento fixo de 4ehiDx67NMop9.
- Esse hash é então anexado à mensagem e enviado ao destinatário. Tanto a mensagem quanto o hash estão em texto simples.
- O dispositivo receptor remove o hash da mensagem e a insere no mesmo algoritmo de hash. Se o hash calculado for igual ao anexado à mensagem, a mensagem não foi alterada durante o trânsito. Se os hashes não forem iguais, conforme mostrado na figura, a integridade da mensagem não será mais confiável.
Funções Hash
Existem três funções hash bem conhecidas.
MD5 com resumo de 128 bits
MD5 é uma função unilateral que produz uma mensagem hash de 128 bits, conforme mostrado na figura. MD5 é um algoritmo legado que só deve ser usado quando nenhuma alternativa melhor estiver disponível. Em vez disso, use SHA-2.
Na figura, uma mensagem de texto simples é passada por meio de uma função hash MD5. O resultado é uma mensagem hash de 128 bits.
Algoritmo de hash SHA
SHA-1 é muito semelhante às funções hash MD5, conforme mostrado na figura. Existem várias versões. SHA-1 cria uma mensagem hash de 160 bits e é um pouco mais lento que MD5. SHA-1 tem falhas conhecidas e é um algoritmo legado. Use SHA-2 quando possível.
Na figura, uma mensagem de texto simples é passada por meio de uma função hash SHA. O resultado é uma mensagem hash.
SHA-2
Isso inclui SHA-224 (224 bits), SHA-256 (256 bits), SHA-384 (384 bits) e SHA-512 (512 bits). SHA-256, SHA-384 e SHA-512 são algoritmos de última geração e devem ser usados sempre que possível.
Embora o hashing possa ser usado para detectar mudanças acidentais, ele não pode ser usado para proteger contra mudanças deliberadas. Não há informações de identificação exclusivas do remetente no procedimento de hashing. Isso significa que qualquer pessoa pode calcular um hash para qualquer dado, se tiver a função de hash correta.
Por exemplo, quando a mensagem atravessa a rede, um agente de ameaça potencial pode interceptar a mensagem, alterá-la, recalcular o hash e anexá-lo à mensagem. O dispositivo receptor só validará em relação a qualquer hash anexado.
Portanto, o hashing é vulnerável a ataques man-in-the-middle e não fornece segurança aos dados transmitidos. Para fornecer integridade e autenticação de origem, algo mais é necessário.
Autenticação de Origem
Para adicionar autenticação à garantia de integridade, use um código de autenticação de mensagem hash com chave (HMAC). O HMAC usa uma chave secreta adicional como entrada para a função hash.
Clique em cada botão para obter uma ilustração e explicação sobre a autenticação de origem usando HMAC.
Confidencialidade de dados
Existem duas classes de criptografia usadas para fornecer confidencialidade de dados. Essas duas classes diferem na forma como usam as chaves.
Algoritmos de criptografia simétricos como (DES), 3DES e Advanced Encryption Standard (AES) são baseados na premissa de que cada parte que se comunica conhece a chave pré-compartilhada. A confidencialidade dos dados também pode ser garantida usando algoritmos assimétricos, incluindo Rivest, Shamir e Adleman (RSA) e a infraestrutura de chave pública (PKI).
A figura destaca algumas diferenças entre cada método de algoritmo de criptografia.
Criptografia simétrica
Algoritmos simétricos usam a mesma chave pré-compartilhada para criptografar e descriptografar dados. Uma chave pré-compartilhada, também chamada de chave secreta, é conhecida pelo remetente e pelo receptor antes que qualquer comunicação criptografada possa ocorrer.
Para ajudar a ilustrar como funciona a criptografia simétrica, considere um exemplo em que Alice e Bob vivem em locais diferentes e desejam trocar mensagens secretas um com o outro por meio do sistema de correio. Neste exemplo, Alice deseja enviar uma mensagem secreta para Bob.
Na figura, Alice e Bob têm chaves idênticas para um único cadeado. Essas chaves foram trocadas antes do envio de qualquer mensagem secreta. Alice escreve uma mensagem secreta e a coloca em uma pequena caixa que ela tranca usando o cadeado com sua chave. Ela envia a caixa para Bob. A mensagem é trancada com segurança dentro da caixa enquanto a caixa segue seu caminho pelo sistema dos correios. Quando Bob recebe a caixa, ele usa sua chave para destrancar o cadeado e recuperar a mensagem. Bob pode usar a mesma caixa e cadeado para enviar uma resposta secreta a Alice.
Exemplo de criptografia simétrica
Hoje, algoritmos de criptografia simétricos são comumente usados com tráfego VPN. Isso ocorre porque os algoritmos simétricos usam menos recursos da CPU do que os algoritmos de criptografia assimétricos. A criptografia e descriptografia de dados são rápidas ao usar uma VPN. Ao usar algoritmos de criptografia simétrica, como qualquer outro tipo de criptografia, quanto mais longa a chave, mais tempo levará para alguém descobrir a chave. A maioria das chaves de criptografia tem entre 112 e 256 bits. Para garantir que a criptografia seja segura, use um comprimento mínimo de chave de 128 bits. Use uma chave mais longa para comunicações mais seguras.
Algoritmos de criptografia simétricos bem conhecidos são descritos na tabela.
Algoritmos de criptografia simétrica | Descrição |
---|---|
Data Encryption Standard (DES) | Este é um algoritmo de criptografia simétrica legado. Ele pode ser usado no modo de codificação de fluxo, mas geralmente opera no modo de bloco criptografando dados no tamanho de bloco de 64 bits. Uma cifra de fluxo criptografa um byte ou um bit de cada vez. |
3DES (Triple DES) | Esta é uma versão mais recente do DES, mas repete o processo do algoritmo DES três vezes. O algoritmo básico foi bem testado em campo por mais de 35 anos. É considerado muito confiável quando implementado com durações de chave muito curtas. |
Advanced Encryption Standard (AES) | AES é um algoritmo seguro e mais eficiente do que 3DES. É um algoritmo de criptografia simétrica popular e recomendado. Ele oferece nove combinações de comprimento de chave e bloco usando um comprimento de chave variável de chave de 128, 192 ou 256 bits para criptografar blocos de dados de 128, 192 ou 256 bits. |
Software-Optimized Encryption Algorithm (SEAL) | SEAL é um algoritmo de criptografia simétrica alternativa mais rápido para DES, 3DES e AES. Ele usa uma chave de criptografia de 160 bits e tem um impacto menor na CPU em comparação com outros algoritmos baseados em software. |
Rivest ciphers (RC) series algorithms | Este algoritmo foi desenvolvido por Ron Rivest. Diversas variações foram desenvolvidas, mas o RC4 é o mais prevalente em uso. RC4 é uma cifra de fluxo e é usada para proteger o tráfego da web em SSL e TLS. |
Criptografia assimétrica
Os algoritmos assimétricos, também chamados de algoritmos de chave pública, são projetados de forma que a chave usada para criptografia seja diferente da chave usada para descriptografia, conforme mostrado na figura. A chave de criptografia não pode, em um período de tempo razoável, ser calculada a partir da chave de criptografia e vice-versa.
Os algoritmos assimétricos usam uma chave pública e uma chave privada. Ambas as chaves podem realizar o processo de criptografia, mas a chave complementar emparelhada é necessária para a descriptografia. O processo também é reversível. Os dados criptografados com a chave pública requerem a chave privada para descriptografar. Algoritmos assimétricos alcançam confidencialidade, autenticação e integridade usando este processo.
Exemplo de criptografia assimétrica
Como nenhuma das partes possui um segredo compartilhado, devem ser usados comprimentos de chave muito longos. A criptografia assimétrica pode usar comprimentos de chave entre 512 e 4.096 bits. Comprimentos de chave maiores ou iguais a 1.024 bits podem ser confiáveis, enquanto comprimentos de chave mais curtos são considerados não confiáveis.
Exemplos de protocolos que usam algoritmos de chave assimétrica incluem:
- Internet Key Exchange (IKE) – Este é um componente fundamental das VPNs IPsec.
- Secure Socket Layer (SSL) – agora é implementado como o padrão IETF Transport Layer Security (TLS).
- Secure Shell (SSH) – Este protocolo fornece uma conexão de acesso remoto seguro aos dispositivos de rede.
- Pretty Good Privacy (PGP) – Este programa de computador fornece autenticação e privacidade criptográfica. Geralmente é usado para aumentar a segurança das comunicações por email.
Os algoritmos assimétricos são substancialmente mais lentos do que os algoritmos simétricos. Seu projeto é baseado em problemas computacionais, como fatorar números extremamente grandes ou calcular logaritmos discretos de números extremamente grandes.
Por serem lentos, os algoritmos assimétricos são normalmente usados em mecanismos criptográficos de baixo volume, como assinaturas digitais e troca de chaves. No entanto, o gerenciamento de chaves de algoritmos assimétricos tende a ser mais simples do que algoritmos simétricos, porque geralmente uma das duas chaves de criptografia ou descriptografia pode ser tornada pública.
Exemplos comuns de algoritmos de criptografia assimétricos são descritos na tabela.
Algoritmo de criptografia assimétrica | Comprimento da Chave | Descrição |
---|---|---|
Diffie-Hellman (DH) | 512, 1024, 2048, 3072, 4096 | O algoritmo Diffie-Hellman permite que duas partes concordem sobre uma chave que podem usar para criptografar mensagens que desejam enviar uma para a outra. A segurança desse algoritmo depende da suposição de que é fácil elevar um número a uma certa potência, mas difícil calcular qual potência foi usada, dado o número e o resultado. |
Padrão de assinatura digital (DSS) e Algoritmo de assinatura digital (DSA) | 512 – 1024 | DSS especifica DSA como o algoritmo para assinaturas digitais. DSA é um algoritmo de chave pública baseado no esquema de assinatura ElGamal. A velocidade de criação da assinatura é semelhante ao RSA, mas é 10 a 40 vezes mais lenta para verificação. |
Algoritmos de criptografia Rivest, Shamir e Adleman (RSA) | 512 to 2048 | RSA é para criptografia de chave pública baseada na dificuldade atual de fatorar números muito grandes. É o primeiro algoritmo conhecido por ser adequado tanto para assinatura quanto para criptografia. É amplamente utilizado em protocolos de comércio eletrônico e é considerado seguro, dadas as chaves suficientemente longas e o uso de implementações atualizadas. |
EIGamal | 512 – 1024 | Um algoritmo de criptografia de chave assimétrica para criptografia de chave pública que se baseia no acordo de chave Diffie-Hellman. Uma desvantagem do sistema ElGamal é que a mensagem criptografada torna-se muito grande, cerca de duas vezes o tamanho da mensagem original e por isso só é usada para mensagens pequenas, como chaves secretas. |
Técnicas de curva elíptica | 160 | A criptografia de curva elíptica pode ser usada para adaptar muitos algoritmos criptográficos, como Diffie-Hellman ou ElGamal. A principal vantagem da criptografia de curva elíptica é que as chaves podem ser muito menores. |
Diffie-Hellman
Diffie-Hellman (DH) é um algoritmo matemático assimétrico onde dois computadores geram uma chave secreta compartilhada idêntica sem terem se comunicado antes. A nova chave compartilhada nunca é realmente trocada entre o remetente e o destinatário. No entanto, como ambas as partes sabem disso, a chave pode ser usada por um algoritmo de criptografia para criptografar o tráfego entre os dois sistemas.
Aqui estão três exemplos de casos em que DH é comumente usado:
- Os dados são trocados usando uma VPN IPsec.
- Os dados são criptografados na Internet usando SSL ou TLS.
- Os dados SSH são trocados.
Para ajudar a ilustrar como o DH opera, consulte a figura.
As cores na figura serão usadas em vez de números longos complexos para simplificar o processo de acordo de chave DH. A troca de chaves DH começa com Alice e Bob concordando em uma cor comum arbitrária que não precisa ser mantida em segredo. A cor combinada em nosso exemplo é o amarelo.
Em seguida, Alice e Bob selecionarão, cada um, uma cor secreta. Alice escolheu vermelho enquanto Bob escolheu azul. Essas cores secretas nunca serão compartilhadas com ninguém. A cor secreta representa a chave privada secreta escolhida por cada parte.
Alice e Bob agora misturam a cor comum compartilhada (amarelo) com suas respectivas cores secretas para produzir uma cor pública. Portanto, Alice vai misturar o amarelo com sua cor vermelha para produzir uma cor pública de laranja. Bob irá misturar o amarelo e o azul para produzir uma cor pública de verde.
Alice envia sua cor pública (laranja) para Bob e Bob envia sua cor pública (verde) para Alice.
Alice e Bob misturam a cor que receberam com sua própria cor secreta original (vermelho para Alice e azul para Bob). O resultado é uma mistura de cor marrom final que é idêntica à mistura de cor final do parceiro. A cor marrom representa a chave secreta compartilhada resultante entre Bob e Alice.
A segurança do DH se baseia no fato de ele usar números muito grandes em seus cálculos. Por exemplo, um número DH 1024 bits é quase igual a um número decimal de 309 dígitos. Considerando que um bilhão é 10 dígitos decimais (1.000.000.000), pode-se facilmente imaginar a complexidade de trabalhar não com um, mas com vários números decimais de 309 dígitos.
Infelizmente, os sistemas de chave assimétrica são extremamente lentos para qualquer tipo de criptografia em massa. É por isso que é comum criptografar a maior parte do tráfego usando um algoritmo simétrico, como 3DES ou AES, e usar o algoritmo DH para criar chaves que serão usadas pelo algoritmo de criptografia.
[note note_color=”#21ab5136″ text_color=”#2c2c2d” radius=”3″ class=”” id=””]Bem-vindo: este tópico faz parte do Capítulo 14 do curso Cisco CCNA 3, para um melhor acompanhamento do curso você pode ir para a seção CCNA 2 para orientá-lo durante um pedido.[/note]