Articles

Symmetric Encryption Algorithms: Live Long & Encrypt

Much like tribbles in Star Trek, symmetric encryption is everywhere. Vamos explorar algoritmos de chave simétrica e levá-lo a lugares que nenhuma pessoa não-IT tenha ido antes

algoritmos de criptografia simétrica são os processos subjacentes que tornam as comunicações seguras possíveis. Se você colocar isso em termos relacionados ao Star Trek, algoritmos simétricos são o motor de warp para o sistema de propulsão da sua nave., Eles são parte integrante da segurança da informação e são o que ajuda seu negócio a avançar com a criptografia de dados de forma segura e a velocidades mais rápidas do que a luz.

(Sim, eu sei, eu realmente estou voando minha bandeira nerd alto hoje. Enquanto algoritmos de chave simétrica e fascinante não são exatamente ” luz ” ou leitura fácil — então eu tenho que ter algum divertimento ao escrever. Raios, Jim, sou um escritor de segurança cibernética, não um criptógrafo.)

certifique-se de refrescar o seu café (ou chá earl grey, se for mais a sua velocidade)., Estamos prestes a dar um mergulho profundo na exploração do que são algoritmos de criptografia simétrica, porque eles são importantes, e quais são os tipos mais comuns de algoritmos de criptografia simétrica.fá-lo.vamos resolver isto.Nota do Editor: Este artigo é o primeiro de uma série de artigos sobre criptografia simétrica., Certifique-se de verificar para fora os artigos relacionados abaixo:

  • Criptografia Simétrica 101: Definição, Como Funciona & Quando É Usado
  • Assimétrica vs Criptografia Simétrica: Definições & Diferenças
  • Cifra de Bloco vs Cifra de Fluxo: O que Eles São & Como Funcionam

o Que É um Algoritmo Simétrico e Como Funciona?

algoritmos simétricos são as funções criptográficas que são centrais à criptografia de chave simétrica., São um conjunto de instruções ou passos que os computadores seguem para executar tarefas específicas relacionadas com a criptografia e descriptografia de dados.acha que precisa de um tradutor universal? Muito bem, vamos analisar isto um pouco mais.

algoritmos de encriptação simétricos são usados (combinados com uma chave de encriptação) para fazer duas coisas Principais:

  1. cifrar. Converter texto legível (texto simples) em texto cifrado ilegível (cifrotexto).
  2. Decrypt. Converte o texto cifrado de volta para o texto simples.

algoritmos de encriptação simétricos usam a mesma chave de encriptação para tanto a encriptação como a descodificação., (Diferentemente de algoritmos de criptografia assimétrica, que usam duas chaves diferentes.)

algoritmos de criptografia, em geral, são baseados em matemática e podem variar de processos muito simples a muito complexos, dependendo de seu projeto. No caso de algoritmos de criptografia simétrica, eles são emparelhados com uma única chave para converter dados legíveis (texto simples) em giberarias ininteligíveis (cifrotexto). Eles então usam a mesma chave para então descodificar o texto cifrado de volta para o texto simples. E tudo isso é feito de uma forma que garante a confidencialidade dos dados e a privacidade. Muito fixe, não é?,algoritmos de cifragem simétrica são conhecidos por alguns nomes diferentes:

  • algoritmos de chave simétrica, Cifras simétricas, algoritmos de chave secreta, e cifras a granel. (Falaremos mais sobre Cifras em massa um pouco mais tarde.)

Em geral, o propósito ou objetivo da criptografia é torná-lo de modo que apenas alguém com a chave pode decifrar e ler a mensagem secreta., No caso de você precisar de um lembrete rápido de como a criptografia simétrica, que funciona, aqui está uma rápida visão geral de:

Este exemplo foi a mensagem criptografada usando o AES de 128 algoritmo de criptografia simétrica. O objetivo aqui é apenas mostrar como funciona uma criptografia simétrica.

neste gráfico acima, movendo-se da esquerda para a direita, verá que começa com os dados de texto simples e legíveis. Uma vez que o algoritmo de criptografia simétrica e chave são aplicados a esses dados, torna-se cifrotexto ilegível., A maneira de descodificar essa mensagem para decifrar o seu significado é usar uma chave de descodificação. No caso da criptografia simétrica, a chave de decriptação é idêntica à chave que foi usada para criptografar os dados. Basicamente, usas a mesma chave duas vezes.

o que realmente fazem os algoritmos de cifragem simétrica?

In a nutshell, a symmetric algorithm is a set of instructions in cryptography that use one key to encrypt and decrypt data. Estes algoritmos e Chaves de criptografia são leves no sentido de que eles são projetados para a velocidade no processamento de grandes blocos ou fluxos de dados., (This is why symmetric encryption algorithms are known as bulk cifers.)

algoritmos e chaves assimétricas, por outro lado, são devoradores de recursos. As chaves são maciças e são caras de usar em escala. O que quero dizer é que eles sugam muitos dos seus recursos de processamento de CPU e tempo, energia da bateria, e largura de banda para executar.lembra – se de como descrevemos algoritmos simétricos como sendo um componente chave do seu motor de warp? Vamos continuar com essa analogia., Então, se você pensasse sobre o que são algoritmos de criptografia assimétrica, eles seriam o equivalente aos propulsores no sistema de propulsão. Claro, eles vão levar-te lá eventualmente, mas não são adequados para encriptação rápida à escala.no entanto, eles são ótimos para criptografar pequenos lotes de dados em canais públicos. E as trocas de chaves assimétricas (sobre as quais falaremos mais em breve) são uma ótima maneira de distribuir chaves nesses canais públicos inseguros.

é por isso que as pessoas muitas vezes se voltam para criptografia simétrica para codificar grandes quantidades de dados.,

o que determina a força de um algoritmo de encriptação simétrico?

como você vai descobrir em breve, nem todos os algoritmos simétricos são criados igualmente. Eles variam em termos de força — mas o que exatamente significa força em criptografia? A resposta curta é que a força criptográfica é sobre o quão difícil é para um hacker quebrar a criptografia para obter acesso aos dados. A resposta mais longa, é claro, pode variar dependendo do tipo de algoritmo que você avalia., Mas, em geral, força criptográfica normalmente resume-se a algumas características:

  • O comprimento, a aleatoriedade e imprevisibilidade da chave simétrica,
  • O algoritmo a capacidade de resistir ou ser resistente a ataques conhecidos, e
  • ausência das portas traseiras ou intencional vulnerabilidades.

criptografia simétrica pode ser um pouco um ato de equilíbrio porque você precisa de algoritmos e chaves que são computacionalmente difíceis, mas práticos o suficiente para usar com desempenho aceitável.,

algoritmos de encriptação simétricos não podem estar por conta própria em canais públicos

enquanto algoritmos de cifragem simétricos podem soar como as ferramentas mais lógicas para todos os tipos de encriptação de dados on-line, não é assim tão simples. Assim como o sempre lógico Spock e o carismático Capitão Kirk, a criptografia simétrica também tem fraquezas — especialmente quando usada por conta própria em canais públicos., Estas fraquezas vir na forma de distribuição de chaves e os principais problemas de gestão:

  • Você precisa de uma conexão segura para distribuir chaves simétricas e
  • Tentando manter-se com todos que tem uma cópia da chave pode ser uma dor, se você deu a ele para fora um monte de pessoas.

ao usar encriptação simétrica, idealmente, você e a pessoa com quem se está a comunicar resolvam a sua chave secreta antes do tempo (antes de a usar para qualquer intercâmbio de dados). Isso significa que para compartilhar uma chave simétrica de forma segura com alguém, você precisa encontrar-se com eles pessoalmente para dá-la a eles., Mas e se estiveres do outro lado do país? Ou pior, e se estiveres do outro lado do mundo deles?embora isso não fosse um problema no universo de “Star Trek”, onde você poderia simplesmente transportar de um lugar para outro em segundos, isso não é viável em nosso mundo sem transportadores do século 21. Aqui, as pessoas estão trocando informações com servidores web em todo o mundo a cada momento de cada dia. Isso significa que as pessoas não podem se encontrar antes do tempo para distribuir ou receber chaves. Então, temos que confiar em outros meios para trocar chaves de forma segura com outras partes.,

é aqui que algoritmos assimétricos — ou, mais especificamente, protocolos de troca de chaves — entram em jogo. As trocas de chaves assimétricas permitem a troca de chaves simétricas em canais públicos de outra forma inseguros. O que você pode ou não perceber é que você está realmente usando esta combinação de técnicas de criptografia simétricas e assimétricas agora.

as técnicas assimétricas tornam possível a encriptação simétrica segura através da Internet

vamos considerar a sua ligação ao nosso site como um exemplo. Vês aquele ícone de cadeado no teu navegador?, Significa que estás ligado a um site seguro.

Então, quando você inicialmente ligado a TheSSLstore.com, o seu browser teve que realizar um processo com nosso servidor que é conhecido como um handshake TLS. Este aperto de mão é uma forma de o servidor provar ao seu navegador que é legítimo e não é um impostor. Porque os criminosos cibernéticos adoram fingir ser outras pessoas para enganar as pessoas a ligarem-se a elas. São como os Romulanos, sempre a fazer subterfúgios., O processo de aperto de mão usa criptografia assimétrica e processos de troca de chaves assimétricas para fazer isso.

  • o processo de encriptação assimétrica verifica as assinaturas digitais.
  • o processo de troca de chaves assimétrica criptografa o segredo pré-mestre que o seu navegador e o servidor web irão usar para criar uma chave de sessão simétrica.

é claro, existem algumas versões do aperto de mão — TLS 1.0, TLS 1.2, TLS 1.3 — e há diferenças específicas em como eles funcionam. (Por exemplo, a Internet Engineering Task Force pressiona para o uso estrito de cifras em TLS 1.,3-mas isso é um tópico para outra altura.) Saiba apenas que apenas o aperto de mão TLS 1.2 deve ser o mínimo utilizado. A partir de outubro de 2020, o Qualys SSL Labs relata que 99% dos sites suportam o protocolo TLS 1.2 e 39,8% suportam o protocolo TLS 1.3.

não vamos entrar em detalhes de como o aperto de mão TLS funciona aqui, mas saiba que envolve o uso de suites de cifra., Estes grupos de cifras são o que ajuda a torná-lo possível estabelecer um seguro, conexão HTTPS, determinando que de cada um dos seguintes procedimentos para utilização:

  • Um protocolo TLS ()
  • assimétrico algoritmo de troca de chaves (tais como a troca Diffie-Hellman)
  • Uma massa de criptografia de codificação
  • Uma assinatura digital
  • Uma função de hash (como SHA2-2)
  • Um código de autenticação de mensagem (MAC) função

Você pode ler mais sobre o processo neste explainer blog sobre como o TLS handshake de obras. Mas por agora, vamos ficar com o tópico na mão de algoritmos de criptografia simétrica.,

os dois tipos de algoritmos simétricos (Cifras)

durante a criptografia simétrica que ocorre quando você se conecta de forma segura a um site, você está usando uma cifra em massa para fazer isso acontecer. Existem duas subcategorias de cifras a granel: cifras de bloco e cifras de fluxo.

cifras de bloco

neste tipo de cifra, os dados de texto simples dividem-se em grupos fixos de bits conhecidos como blocos (que são tipicamente conectados através de um processo conhecido como encadeamento). Cada bloco então é criptografado como uma unidade, o que torna este processo um pouco lento., E se não houver dados suficientes para preencher completamente um bloco,” enchimento ” (normalmente um número acordado de 0s) é então usado para garantir que os blocos cumprem os requisitos de comprimento fixo.

a cifra de bloco ideal tem um enorme comprimento de chave que não é prático, assim muitas Cifras modernas têm que escalar tamanhos de chave para torná-los utilizáveis. Mas apenas como uma nota rápida: ao contrário da criptografia assimétrica, tamanhos de chave de criptografia simétrica não determinam o tamanho dos blocos de dados.,

a maioria dos algoritmos de criptografia simétrica modernos estão dentro do campo de cifra de bloco, e estes tipos de cifras têm uso mais amplo e oportunidades de Aplicação. Por isso, vamos concentrar-nos neles aqui. Mas se você está se perguntando quais são as cifras de fluxo mais populares ou comuns, não se preocupe, nós temos você coberto.

cifras de fluxo

com este tipo de cifra, cifra dados de texto simples um bit de cada vez. Como tal, os dados são processados em um fluxo ao invés de em pedaços como em cifras de bloco. Isto torna o processo menos intensivo em recursos e mais rápido de alcançar.,

Agora, nós não vamos entrar em todas as especificidades de cifras de bloco e cifras de fluxo — esse é um tópico completamente diferente. Mas a boa notícia é que já escrevemos um artigo que cobre cifras de bloco contra cifras de fluxo. Então, certifique-se de verificar esse para uma olhada mais aprofundada no que eles são e como eles funcionam.

ok, agora é aqui que as coisas começam a ficar excitantes (ou mais complicadas, dependendo da sua perspectiva). Com criptografia de chave compartilhada, existem vários algoritmos de chave simétrica bem conhecidos para saber., Vamos separá-los para entender o que são e como funcionam.

lista de algoritmos simétricos: os 3 tipos de algoritmos simétricos mais comuns

para esta secção, nós montamos uma lista de algoritmos simétricos que nos ajudarão a navegar pelas Cifras simétricas mais comuns. Vamos começar com um dos mais antigos e trabalhar nosso caminho até o “mais recente e maior” — significado, o algoritmo que normalmente usamos hoje para criptografia simétrica moderna.

Data Encryption Standard (DES)

First up on our list is the data encryption standard., DES, também conhecido como DEA (abreviação de data encryption algorithm), é um dos primeiros algoritmos de criptografia simétrica que desde então tem sido depreciado. É baseado na cifra de Feistel (como muitas outras variedades de cifras de bloco) e foi realmente considerado um dos primeiros algoritmos simétricos a ser adotado como um padrão Federal de processamento de informação (FIPS) em 1976.

DES Data do início dos anos 1970, quando sua forma original (“Lucifer”) foi desenvolvida pelo criptógrafo IBM Horst Feistel., A IBM relata que o método de criptografia foi originalmente criado a pedido do Lloyds Bank do Reino Unido. O National Bureau of Standards (agora conhecido como National Institute of Standards, ou NIST) acabou buscando propostas para um aplicativo comercial para criptografia, e IBM apresentou uma variação do mesmo. Foi até desejado para uso pela Agência de Segurança Nacional (NSA) para proteger seus dados.

Este tipo de mapeamento simétrico entradas de um comprimento específico para saídas de um comprimento específico., Como tal, ele opera em blocos de 64 bits — o que significa que ele poderia criptografar dados em grupos de até 64 blocos simultaneamente-e tem um tamanho chave de 56 bits. Existem também 8 bits de paridade adicionais para a chave, que servem como uma maneira de verificar para erros de transmissão de dados. No entanto, é importante notar que bits de paridade não são algo que você jamais usaria para criptografia.

Esta chave de tamanho é realmente muito pequena pelos padrões atuais, o que a torna altamente suscetível a ataques de Força bruta., Além disso, os comprimentos das chaves e dos blocos diferem dos comprimentos originais das chaves de Lucifer e dos blocos, ambos reduzidos de 128 bits.

para saber mais sobre como funcionam as redes DES encryption e Feistel, confira este grande vídeo da Coursera e da Universidade de Stanford.

o documento padrão de criptografia de dados (DES) (FIPS PUB 46-3) foi oficialmente retirado em 19 de Maio de 2005, juntamente com os documentos FIPS 74 e FIPS 81., O National institute of Standards and Technology’s Secretary of Commerce publicou o seguinte no Federal Register:

“estes FIPS são retirados porque FIPS 46-3, DES, já não fornece a segurança necessária para proteger a informação do Governo Federal. Os FIPS 74 e 81 são normas associadas que prevêem a implementação e o funcionamento do DES.”

DES encryption was succeeded by triple data encryption algorithm (TDEA) for some applications, although not all., No entanto, DES foi substituído principalmente como uma recomendação pelo advanced encryption standard, ou o que é conhecido como AES encryption, em 2000. Isto é o que mais comumente usamos hoje para criptografia simétrica.

Agora, vamos explorar esses dois outros tipos de algoritmos de criptografia simétrica.

Triple Data Encryption Algorithm (TDEA)

The triple data encryption algorithm, which was created in the late 1990s, is a bit tricky as it actually goes by several abbreviations: TDEA, TDES, and 3DES., Mas como você pode provavelmente adivinhar a partir de seu nome, 3DES é baseado no conceito de DES, mas com uma reviravolta.

Ao contrário de seu antecessor, TDEA usa várias chaves separadas para criptografar dados — uma variação de TDEA usa duas chaves e a outra variação usa três chaves (daí o “triplo” em seu nome). O mais forte dos dois é aquele que usa três chaves.,

Aqui está uma ilustração de como o três-chave TDEA processo de obras:

Este é um visual simplificado do processo para mostrar como o TDEA trabalha para criptografar dados de texto sem formatação em indecifráveis cifrado.

O uso de várias teclas de processamento de dados lenta e aumenta a sobrecarga computacional, que é por isso que as organizações, muitas vezes, ignorados sobre 3DES e passou direto para o AES.

TDEA opera usando um tamanho de chave decente de 168 bits., No entanto, como o DES, o 3DES também opera em pequenos blocos de 64 bits. Seu pequeno tamanho de bloco tornou-o suscetível à vulnerabilidade sweet32 (CVE-2016-2183 e CVE-2016-6329), ou o que é conhecido como o ataque de aniversário sweet32. Esta exploração aproveita – se de uma vulnerabilidade que permite às partes não intencionais aceder a partes de dados codificados DES/TDEA.

O algoritmo de criptografia de chave simétrica de TDEA é definido para depreciar em termos de ser útil para proteção criptográfica em 2023. Entretanto, NIST SP 800-76 Rev., 2 especifica que o 3DES pode ser usado por organizações do governo federal para proteger dados sensíveis não classificados, desde que seja usado “no contexto de um programa de segurança total.”Tal programa incluiria:

  • boas práticas de segurança da informação, procedimentos fortes de segurança física e controles de acesso à rede de computadores ou de sistemas.

Advanced Encryption Standard (AES)

AES é o tipo mais comum de algoritmo de encriptação simétrica que usamos hoje. Na verdade, até a NSA usa encriptação AES para ajudar a proteger os seus dados sensíveis.,

AES é uma variante da família Rijndael de algoritmos de criptografia simétrica. Ao contrário dos seus homólogos do DES ou do TDEA, é baseado numa rede de permutação de substituição. Então, ele usa isso como seu fundamento em vez da cifra de Feistel. Você vai encontrar o padrão avançado de criptografia em uso para tudo, desde a criptografia SSL/TLS até a segurança sem fio e processador. É rápido, seguro, e não aumenta visivelmente o seu processamento acima (pelo menos, quando você usa a chave certa).,

AES opera em blocos de tamanho de 128 bits, independentemente do tamanho da chave usada, e realiza operações de criptografia em várias rodadas.

Existe um total de quatro sub-processos de encriptação AES:

  1. AddRoundKey
  2. Sub-bytes
  3. ShiftRows

  4. MixColumns

as rondas, que são realizadas nos dados do texto puro, usa substituições de uma tabela de pesquisa. Assim, uma das rodadas de aparência semelhante a este:

Este é um exemplo ilustrativo de ShiftRows operação.,

AES, que se tornou o novo padrão de criptografia aprovado FIPS após substituir DES e substituir 3DES, tem um tamanho máximo de chave de até 256 bits. Isto é cerca de 4,5 vezes maior do que uma chave DES. Qualquer maior, e não seria prático para aplicações em escala. Agora, o tamanho da chave determina quantas rodadas de operações será executado, por exemplo, uma chave de 128 bits terá 10 rodadas, enquanto uma chave de 256 bits vai ter 14.

é claro que a encriptação AES é incrivelmente forte., Assim, qualquer tentativa de quebrar AES através da Força bruta usando a moderna tecnologia de computador é “fútil”, como um certo coletivo de indivíduos cibernéticos adoram dizer. Mesmo o Tenente-Comandante Data provavelmente lutaria com tal esforço computacional. Digo isto porque nem os computadores quânticos são esperados para ter um efeito tão grande no algoritmo de encriptação simétrica como terá, digamos, nos modernos métodos de encriptação assimétrica. (Os métodos de encriptação simétrica exigiriam chaves maiores para serem resistentes quantum, enquanto os métodos de chave pública não serão mais seguros-período.,)

para uma análise mais aprofundada do padrão avançado de encriptação, não se esqueça de verificar o nosso outro artigo sobre o tópico. Lá, você vai ter uma visão altamente técnica de como AES funciona.

é claro, estes não são os únicos três algoritmos simétricos em uso …

Existem muitos outros tipos de algoritmos de criptografia simétrica que são úteis para diferentes propósitos e funções criptográficas. Apenas para dar-lhe um gosto rápido, a lista de alguns desses algoritmos incluem:

claro, existem outras cifras, também — mas não vamos incluí-las todas aqui., Mas isso ao menos dá alguns exemplos do que está lá fora no que diz respeito aos algoritmos do AES.

onde você vai encontrar algoritmos simétricos no trabalho

algoritmos simétricos de encriptação, quando usados por conta própria, são mais adequados para encriptar dados em repouso ou em canais não públicos. Eu digo isso porque eles são freqüentemente encontrados protegendo dados em repouso em várias situações, incluindo bancos de dados, serviços on-line, e transações relacionadas com bancos. (Este último deve-se ao facto de as normas de segurança dos dados do sector dos cartões de pagamento, ou DSS PCI, o exigirem a curto prazo.,)

no entanto, esses não são os únicos lugares que eles são úteis. Oh, não-você também vai encontrar algoritmos simétricos em uso através da internet., Quando você usá-los em conjunto com a criptografia assimétrica para a troca de chaves, tais como quando você se conectar a um site seguro — em seguida, a criptografia simétrica, que vem para jogar com serviços, tais como:

  • Site de trocas de dados
  • do Google G Suite de serviços online
  • CodeGuard site da ferramenta de cópia de segurança
  • SalesForce platform

o Que discutidos em Algoritmos de Criptografia Simétricos (TL;DR)

não tinha vontade de mergulhar em todas as técnicas patranhas? (Ou não me apeteceu ler através dos meus cromos comparações de Star Trek de algoritmos de encriptação simétricos?, Não te preocupes. Aqui estão alguns dos principais takeaways deste artigo sobre algoritmos de chave simétrica:

  • algoritmos de criptografia são basicamente direções passo-a-passo para executar funções criptográficas (tais como criptografia, decriptação, hashing, etc.). Algoritmos vêm em variedades assimétricas e simétricas. Na primeira, uma chave criptografa dados e outra descriptografa dados. Neste último, uma chave executa as funções de criptografia e decriptação.algoritmos simétricos são processos eficientes que são projetados para criptografar dados em canais seguros e não voltados para o público.,
  • um processo conhecido como um aperto de mão TLS torna possível para você usar uma forma de criptografia simétrica em canais públicos.
  • Existem muitos tipos diferentes de algoritmos de chave simétrica que têm sido usados nos últimos anos. Três dos mais comuns incluem DES, TDEA/3DES e AES.

certifique-se de ficar sintonizado para o nosso próximo capítulo nesta série de blogs sobre criptografia simétrica nas próximas semanas. E até à próxima vida longa e apropriada.

  • #algoritmos de encriptação
  • #simétrico