Advanced Encryption Standard – AES: What It Is and How It Works
“O Advanced Encryption Standard (AES) especifica um algoritmo criptográfico aprovado pelo FIPS que pode ser usado para proteger dados eletrônicos. O algoritmo AES é uma cifra de bloco simétrico que pode criptografar (codificar) e descriptografar (decifrar) informações.
A criptografia converte os dados em uma forma ininteligível chamada texto cifrado; descriptografar o texto cifrado converte os dados de volta em sua forma original, chamada de texto simples.
O algoritmo AES é capaz de usar chaves criptográficas de 128, 192 e 256 bits para criptografar e descriptografar dados em blocos de 128 bits.” – NIST
Por Ross Thomas em 24 de abril de 2020
Compreender o padrão de criptografia avançado no nível básico não requer um grau superior em ciência da computação ou consciência no nível da Matriz – vamos quebrar a criptografia AES em termos leigos
Olá a todos. Sabemos que a segurança da informação é um assunto em alta desde, bem, para sempre. Confiamos nossas informações pessoais e confidenciais a muitas entidades importantes e ainda temos problemas com violações de dados, vazamentos de dados, etc. Parte disso acontece por causa de protocolos de segurança em rede ou práticas inadequadas de gerenciamento de autenticação – mas, na verdade, existem muitos maneiras pelas quais as violações de dados podem ocorrer. No entanto, o processo real de descriptografar um texto cifrado sem uma chave é muito mais difícil. Por isso, podemos agradecer os algoritmos de criptografia – como o popular padrão de criptografia avançado – e as chaves seguras que misturam nossos dados em uma linguagem indecifrável.
Vamos ver como o AES funciona e os diferentes aplicativos para ele. Estaremos estudando um pouco a matemática baseada em Matrix – então, pegue suas pílulas vermelhas e veja até onde essa toca de coelho vai.
Vamos discutir isso.
O que é criptografia AES (Advanced Encryption Standard)?
Você pode ter ouvido falar de padrão de criptografia avançado, ou AES para abreviar, mas pode não saber a resposta para a pergunta “o que é AES?” Aqui estão quatro coisas que você precisa saber sobre o AES:
O que está por trás do nome?
AES é uma variante da família Rijndael de algoritmos de criptografia de bloco simétrico, que é uma combinação dos nomes de dois criptógrafos belgas, Joan Daemen e Vincent Rijmen. (É uma espécie de combinação de nomes de celebridades como “Brangelina” e “Kimye”).
Onde o AES é usado?
A criptografia AES é comumente usada de várias maneiras, incluindo segurança sem fio, segurança do processador, criptografia de arquivo e SSL / TLS. Na verdade, seu navegador provavelmente usou AES para criptografar sua conexão com este site:
Por que o AES é tão popular?
O AES provou ser muito eficaz e eficiente e, dada a chave correta, adiciona pouca ou nenhuma diferença perceptível na sobrecarga de qualquer processo em que é utilizado. Essencialmente, o AES é uma forma de criptografia rápida e altamente segura, favorita de empresas e governos em todo o mundo.
Quão seguro é o AES?
Com uma chave de criptografia de 256 bits, o AES é muito seguro – virtualmente inquebrável. (Mais sobre isso em apenas um minuto.)
Por que o Advanced Encryption Standard é o padrão
O Instituto Nacional de Padrões e Tecnologia (NIST) estabeleceu o AES como um padrão de criptografia há quase 20 anos para substituir o antigo padrão de criptografia de dados (DES).
Afinal, as chaves de criptografia AES podem ir até 256 bits, enquanto o DES parava em apenas 56 bits. O NIST poderia ter escolhido uma cifra que oferecesse maior segurança, mas a compensação exigiria uma sobrecarga maior, o que não seria prático. Então, eles escolheram um que tinha um ótimo desempenho geral e segurança.
Os resultados da AES são tão bem-sucedidos que muitas entidades e agências os aprovaram e utilizam para criptografar informações confidenciais.
A National Security Agency (NSA), bem como outros órgãos governamentais, utilizam criptografia AES e chaves para proteger informações classificadas ou outras informações confidenciais. Além disso, o AES é frequentemente incluído em produtos de base comercial, incluindo, mas limitado a:
- Wi-Fi (pode ser usado como parte do WPA2)
- Aplicativos móveis (como WhatsApp e LastPass)
- Suporte a processador nativo
- Bibliotecas em muitas linguagens de desenvolvimento de software
- Implementações VPN
- Componentes do sistema operacional, como sistemas de arquivos
Quão forte é o padrão de criptografia avançada? Uma chave de 256 bits leva praticamente uma eternidade para ser quebrada
Embora não demorasse literalmente uma eternidade, levaria muito mais tempo do que qualquer uma de nossas vidas para quebrar uma chave de criptografia AES de 256 bits usando a tecnologia de computação moderna. Isso é do ponto de vista da força bruta, como ao tentar todas as combinações até ouvirmos o som de “clique” / desbloqueio. Certas proteções são colocadas em prática para evitar que coisas como essa aconteçam rapidamente, como um limite de tentativas de senha antes de um bloqueio, que pode ou não incluir um lapso de tempo, para ocorrer antes de tentar novamente. Quando estamos lidando com computação em milissegundos, esperar 20 minutos para tentar outras cinco vezes aumentaria seriamente o tempo necessário para quebrar uma chave.
Quanto tempo levaria? Estamos nos aventurando em “mil macacos trabalhando em mil máquinas de escrever para escrever ‘Um conto de duas cidades’” território. As combinações possíveis para criptografia AES de 256 bits são 2 256 . Mesmo que um computador possa executar vários quatrilhões de instruções por segundo, ainda estaremos naquele período de tempo de “erosão das asas de águia do Monte Everest”.
Desnecessário dizer que é waaaaaaaaaaaaaaaaaaay (não há memória suficiente em nossos computadores para suportar o número de letras “a” que desejo transmitir) há mais tempo do que nosso universo atual existe. E isso é apenas para um bloco de dados de 16 bytes. Portanto, como você pode ver, a força bruta AES – mesmo que seja AES de 128 bits – é fútil.
Isso provavelmente mudaria, no entanto, uma vez que a computação quântica se tornasse um pouco mais convencional, disponível e eficaz.
A computação quântica deve quebrar a criptografia AES e exigir outros métodos para proteger nossos dados – mas ainda temos um longo caminho a percorrer.
Como funciona o AES? Uma olhada nos blocos e chaves de criptografia
Para entender melhor o que é AES, você precisa entender como funciona. Mas para ver como o padrão de criptografia avançado realmente funciona, no entanto, primeiro precisamos ver como isso é configurado e as “regras” relativas ao processo com base na seleção do usuário da força da criptografia. Normalmente, quando discutimos o uso de níveis de bits mais altos de segurança, observamos coisas que são mais seguras e mais difíceis de quebrar ou hackear. Embora os blocos de dados sejam divididos em 128 bits, o tamanho da chave tem alguns comprimentos variados: 128 bits, 196 bits e 256 bits. O que isto significa? Vamos voltar por um segundo aqui.
Sabemos que a criptografia normalmente lida com a codificação de informações em algo ilegível e uma chave associada para descriptografar a codificação. Os procedimentos de embaralhamento AES usam quatro operações de embaralhamento em rodadas, o que significa que ele executará as operações e, em seguida, repetirá o processo com base nos resultados da rodada anterior X número de vezes. De forma simplista, se colocarmos X e obtivermos Y, isso seria uma rodada. Em seguida, colocaríamos Y à prova e obteríamos Z para a rodada 2. Enxágue e repita até termos concluído o número especificado de rodadas.
O tamanho da chave AES, especificado acima, determinará o número de rodadas que o procedimento executará. Por exemplo:
- Uma chave de criptografia AES de 128 bits terá 10 rodadas.
- Uma chave de criptografia AES de 192 bits terá 12 rodadas.
- Uma chave de criptografia AES de 256 bits terá 14 rodadas.
Conforme mencionado, cada rodada tem quatro operações.
Como ler os dados
Então, você chegou até aqui. Agora, você pode estar se perguntando: por que, ah, por que não tomei a pílula azul?
Antes de chegarmos às partes operacionais do padrão de criptografia avançado, vamos ver como os dados são estruturados. O que queremos dizer é que os dados sobre os quais as operações são realizadas não são sequenciais da esquerda para a direita como normalmente pensamos. Ele é empilhado em uma matriz 4 × 4 de 128 bits (16 bytes) por bloco em uma matriz que é conhecida como “estado”. Um estado se parece com isto:
Portanto, se sua mensagem fosse “pílula azul ou vermelha”, seria algo assim:
Então, só para ficar claro, este é apenas um bloco de 16 bytes – então, isso significa que cada grupo de 16 bytes em um arquivo é organizado dessa maneira. Nesse ponto, o embaralhamento sistemático começa com a aplicação de cada operação de criptografia AES.
O que são as 4 operações de criptografia AES e como funcionam
Conforme mencionado anteriormente, uma vez que tenhamos nosso arranjo de dados, existem certas operações vinculadas que realizarão o embaralhamento em cada estado. O objetivo aqui é converter os dados de texto simples em texto cifrado por meio do uso de uma chave secreta.
Os quatro tipos de operações AES são os seguintes (nota: entraremos na ordem das operações na próxima seção):
1. Expansão de chave e AddRoundKey
Conforme mencionado anteriormente, o tamanho da chave determina o número de rodadas de embaralhamento que serão realizadas. A criptografia AES usa o Rjindael Key Schedule, que deriva as subchaves da chave principal para realizar a expansão da chave.
A operação AddRoundKey obtém o estado atual dos dados e executa a operação booleana XOR na subchave round atual. XOR significa “Exclusivamente Ou,” que produzirá um resultado verdadeiro se as entradas forem diferentes (por exemplo, uma entrada deve ser 1 e a outra entrada deve ser 0 para ser verdadeira). Haverá uma subchave exclusiva por rodada, mais uma (que será executada no final).
2. SubBytes
A operação SubBytes, que significa bytes substitutos, pegará o bloco de 16 bytes e o executará por meio de uma S-Box (caixa de substituição) para produzir um valor alternativo. Simplificando, a operação pegará um valor e então o substituirá cuspindo outro valor.
A operação real do S-Box é um processo complicado, mas saiba que é quase impossível decifrar com a computação convencional. Juntamente com o resto das operações AES, ele fará seu trabalho para embaralhar e ofuscar com eficácia os dados de origem. O “S” na caixa branca na imagem acima representa a tabela de pesquisa complexa para a S-Box.
3. ShiftRows
A operação ShiftRows é um pouco mais direta e mais fácil de entender. Com base na organização dos dados, a ideia do ShiftRows é mover as posições dos dados em suas respectivas linhas com quebra automática. Lembre-se de que os dados são organizados empilhados e não da esquerda para a direita, como a maioria de nós está acostumada a ler. A imagem fornecida ajuda a visualizar esta operação.
A primeira linha permanece inalterada. A segunda linha desloca os bytes para a esquerda em uma posição com a quebra de linha. A terceira linha desloca os bytes uma posição além disso, movendo o byte para a esquerda por um total de duas posições com quebra de linha. Da mesma forma, isso significa que a quarta linha desloca os bytes para a esquerda em um total de três posições com a quebra da linha.
4. MixColumns
A operação MixColumns, em poucas palavras, é uma transformação linear das colunas do conjunto de dados. Ele usa multiplicação de matrizes e adição XOR bit a bit para gerar os resultados. Os dados da coluna, que podem ser representados como uma matriz 4 × 1, serão multiplicados por uma matriz 4 × 4 em um formato denominado campo Gallois e definido como um inverso de entrada e saída. Isso será parecido com o seguinte:
Como você pode ver, há quatro bytes em que são executados em uma matriz 4 × 4. Nesse caso, a multiplicação da matriz tem cada byte de entrada afetando cada byte de saída e, obviamente, produz o mesmo tamanho.
Ordem das Operações
Agora que temos um entendimento decente das diferentes operações utilizadas para embaralhar nossos dados por meio da criptografia AES, podemos examinar a ordem em que essas operações são executadas. Será assim:
- Expansão de chave define a lista de chave de rodada que é usada em cada rodada mais uma rodada adicional (e inicial, como você verá).
- AddRound é a primeira etapa para ofuscar os dados. Imediatamente, temos dados embaralhados.
- Agora entramos nas rodadas de intensa mistura de dados. Novamente, dependendo do bit de cifra selecionado, o número de rodadas será diferente.
- Para 9, 11 ou 13 rodadas, dependendo da seleção do bit de cifra, o seguinte será executado nesta ordem:
- SubBytes
- ShiftRows
- MixColumns
- AddRound
- No 10 ° , 12 ° , ou 14 ° rodada, respectivamente, que executam o conjunto final das operações, que são os seguintes:
- SubBytes
- ShiftRows
- AddRound
Nota: A operação MixColumns não está na rodada final. Sem entrar na matemática real disso, não há nenhum benefício adicional em realizar esta operação. Na verdade, isso simplesmente tornaria o processo de descriptografia um pouco mais oneroso em termos de sobrecarga.
Se considerarmos o número de rodadas e as operações por rodada que estão envolvidas, ao final disso, você deve ter um bom bloco embaralhado. E isso é apenas um bloco de 16 bytes. Considere quantas informações isso equivale no quadro geral. É minúsculo quando comparado aos tamanhos de arquivo / pacote de hoje! Portanto, se cada bloco de 16 bytes aparentemente não tiver um padrão discernível – pelo menos, qualquer padrão que possa ser decifrado em tempo hábil – eu diria que o AES fez seu trabalho.
Considerações finais sobre chaves e criptografias padrão de criptografia avançada
Sabemos que o algoritmo padrão de criptografia avançada em si é bastante eficaz, mas seu nível de eficácia depende de como ele é implementado. Ao contrário dos ataques de força bruta mencionados acima, os ataques eficazes são normalmente lançados na implementação e não no próprio algoritmo. Isso pode ser comparado a atacar usuários – como em ataques de phishing – versus atacar a tecnologia por trás do serviço / função que pode ser difícil de violar. Eles podem ser considerados ataques de canal lateral, em que os ataques são executados em outros aspectos de todo o processo e não no ponto focal da implementação de segurança.
Embora eu sempre defenda ir com uma opção de segurança razoável / eficaz, muita criptografia AES está acontecendo sem você mesmo saber. Ele está bloqueando pontos do mundo da computação que, de outra forma, estariam totalmente abertos. Em outras palavras, haveria muito mais oportunidades para os hackers capturarem dados se o padrão de criptografia avançado não fosse implementado. Precisamos apenas saber como identificar os orifícios abertos e descobrir como tapá-los. Alguns podem usar AES e outros podem precisar de outro protocolo ou processo.
Aprecie as implementações de criptografia que temos, use as melhores quando necessário e boa pesquisa!
Fonte: Advanced Encryption Standard (AES): What It Is and How It Works
Ross Thomas | April 24, 2020 | Advanced Encryption Standard, aes, Everything Encryption Understanding advanced encryption standard on basic level doesn’t require a higher degree in computer science or Matrix-level consciousness — let’s break AES encryption down into layman’s terms Hey, all. We… The post Advanced Encryption Standard (AES): What It Is and How It Works appeared first on Hashed Out by The … Read More
O Crypto ID é a maior fonte de consulta sobre criptografia no Brasil e na América Latina
Criptografia forte é o padrão que mantém bilhões de pessoas, empresas e nações seguras todos os dias
O Crypto ID é a sua porta de entrada para o mundo fascinante da criptografia, com conteúdos que exploram desde os fundamentos da cripto-agil até as mais recentes inovações em criptografia pós-quântica a geração de chaves baseada em fenômenos quânticos com o comportamento de partículas subatômicas.
Acesse agora a Coluna Criptografia e mantenha-se atualizado sobre as últimas tendências em segurança da informação.
Gostou? Compartilhe com seus amigos e colegas!