Mind map
6.2 - Algoritmos de Criptografia
Map content
6.2 - Algoritmos de Criptografia
Algoritmos simétricos
- São conhecidos por utilizar a mesma chave para encriptar e decriptar; Compartilhamento da chave é o maior problema desse tipo de algoritmo; São mais velozes que os assimétricos
- AES
- Advanced encryption standard; Suporta chaves de 128, 192 e 256; Não existem ataques eficientes contra esse algoritmo, até o presente momento
- DES
- Data encryption standard; Chave de 56 bits; Foi substituido pelo AES
- 3DES
- Evolução do DES; Utiliza 3 chaves de 56 bits, totalizando 168 bits; Mais lento que o DES; Apesar de descontinuado, ainda largamente utilizado
- RC4
- Rivest Cipher; RC1 ,RC2, RC3, RC4, RC5, RC6; É um stream cipher; Pode usar chaves de 8 a 2048 bits; A mais utilizada é a de 128 bits; 10x mais rápido que o DES; Sua maior fraqueza é a geração de chaves fracas
- Blowfish/Twofish
- Blowfish é do tipo Block cipher; As chaves variam de 32 a 448 bits; Twofish também é block cipher; Chaves de 256 bits
Cipher Modes
- CBC
- Aplica uma função XOR ,utilizando o bloco previamente criptografado, para criptografar o bloco atual, Utiliza vetor de inicialização para randomizar o primeiro bloco; Por depender do primeiro bloco, não pode ser paralelizado para performance; Pela natureza do processo, a partir de dois blocos adjacentes, um bloco não criptografado pode ser recuperado ü Ataque POODLE é um exemplo
- GCM
- Pode ser integrado ao CTM (counter mode); Adiciona autenticação ao cipher mode; Pode ser paralelizado; Utilizado alguns padrões internacionais, como o IEEE 802.1ad e o IEEE 802.1AE
- ECB
- Possui a operação mais simples de todos; A mensagem a ser encriptada é dividida em blocos, e cada bloco é encriptado separadamente; Identificação de blocos iguais é uma de suas maiores fraquezas; Possibilidade de reordenar pacotes; Seu uso não é recomendado
- CTM/CTR
- Utiliza a geração de um NONCE para cada bloco criptografado; Funciona da seguinte maneira: Coleta o valor da função NONCE, criptografa usando a chave designada e aplica um XOR; Suporta multithread; São considerados seguros e largamente utilizados
- Stream vs block
- Modos de operação aplicados a dados; Block cipher habilita substituição e transposição; Utilizado em grandes quantidades de dados; Stream é voltado para operações menores; Habilita apenas substituição; Oferece proteção menos robusta que o block cipher
- Em algoritmos simétricos e de bloco, existe uma necessidade de saber o que fazer com blocos de dados de informações idênticas; Essa atenção é necessária para evitar que seja possível identificar a entrada de dados iguais, em um cenário de criptografia; Existem diversos métodos para garantir essa proteção, que descreveremos a seguir
- CBC
Algortimos assimétricos
- RSA
- Um dos primeiros e mais famosos já criados (Ron Rivest, Adi Shamir e Leonard Adleman), publicado em 1977; É 100 vezes mais lento que o DES, por exemplo; É utilizado para assinaturas digitais e criptografia; Normalmente é combinado com um algoritmo simétrico, onde o RSA é utilizado para realizar o envio da chave simétrica em uma comunicação. Esse processo é chamado de eletronic key exchange
- DSA
- Habilita rastreabilidade de quem assinou a mensagem; Garante integridade da mensagem assinada; Derivado do El Gamal; Se baseia no uso de um valor randômico denominado K; Sua reutilização pode gerar a possibilidade de descoberta da chave privada, como ocorreu com a implementação utilizada pela Sony
- Diffie - Hellman
- Um dos protocolos mais utilizados atualmente; É utilizando no processo de eletronic key exchange para os protocolos TLS, SSL, SSH e para a suite de protocolos IPSec; Para a prova, é importante saber as diferenças entre DHE e ECDHE
- DH - Groups
- Determinam a força da chave em uso, durante o processo de key exchange; Números de grupo maiores são mais seguros, mas requerem mais recursos computacionais; DH1 consiste em uma chave de 768 bits e o DH2 em uma de 1024. O DH5 possui chave de 1536. Os demais grupos seguem suportados, com suas respectivas chaves
- DHE – Diffie - Hellman Ephemeral
- Variante do Diffie - Hellman, onde uma chave temporária é utilizada no processo de key exchange, ao invés de utilizar a mesma chave
- ECDHE – Eliptic curve Diffie - Hellman
- Variante do Diffie - Hellman que utiliza ECC; Pode ser utilizado em conjunto com ephemeral keys, habilitando o uso de PFS (perfect forward secrecy)
- Elipitic courve
- Adequado para plataformas com poder computacional limitado; Ainda não foi largamente testado, tendo sua segurança questionada; Seu maior uso é em ambiente mobile
- PGP/GPG
- Pretty good privacy, datado de 1991; Originalmente gratuito, mas o PGP atualmente é comercializado pela Symantec; Utiliza criptografia simétrica e assimétrica, fazendo uso do melhor de cada uma; Gnu privacy guard (GPG) ou GnuPG é a versão open source do padrão OpenPGP
- Possuem características diferentes dos algoritmos simétricos, a começar pela gerência da chave; Conhecido como criptografia de chave pública; São mais lentos que os simétricos; Normalmente mais robustos
- RSA
Algoritmos de hash
- MD5
- Muito utilizado por diversos anos; Em 2007, foi descoberta uma saída igual para duas entradas distintas, colocando a estabilidade do algoritmo em risco; Foi descontinuado e substituído pelo SHA
- SHA
- Conjunto de algoritmos publicados pelo NIST e NSA; Possui as seguintes versões: SHA - 1, SHA - 224, SHA - 256, SHA - 384 e SHA - 512; SHA3 é sua versão mais recente, mas ainda pouco utilizado; SHA - 2 (224,256,384 e 512) é o mais comum, uma vez que o SHA - 1 se mostrou vulnerável a ataques de colisão
- HMAC
- É utilizado para definir se uma mensagem foi alterada em trânsito ou não; Adiciona autenticidade além de integridade, quando você insere uma função criptográfica e uma chave privada ao MAC (Message authentication code)
- RIPEMD
- Função de hash desenvolvida pelo consórcio RIPE; Originalmente provia 128 bits de hash e demostrou ter problemas com colisão; Surgiu então a versão 160 bits, baseada no MD4; Ainda existem as versões 256 e 320
- Método utilizado para garantir integridade de informações; Também utilizado para armazenamento de senhas; São via de mão única. Uma vez executados, não é possível derivar a entrada à partir do resultado, sem conhecer o algoritmo e chave
- MD5
Key stretching algorithms
- Stretching é um mecanismo acionado para chaves fracas, no intuito de tornar elas mais fortes contra ataques de força bruta; Funciona como se “esticasse” a chave, aumentando ela
- BCRYPT
- Utiliza blowfish e salt ,além de utilizar funções adaptativas para aumentar o número de interações; O resultado é similar ao de outros mecanismos de stretching, mas gera maior proteção para ataques de brute force
- PBKDF2
- Função de derivação de chave desenhada para gerar uma chave baseada em uma senha; Utiliza senha ou passphrase, aplicando salt e HMAC a entrada de dados, algumas milhares de vezes; A repetição torna a força bruta ineficiente
Obfuscação
- Tem o propósito de esconder o real objetivo de uma comunicação; Sozinha esta técnica é frágil, sendo necessário adicionar algoritmos para reforçar sua resistência; É útil, sob o aspecto de aumentar a complexidade sobre o processo de descobrir a mensagem escondida
- XOR
- Operação simples realizada através da inserção do texto, da chave e da utilização de um módulo aritimético tipo 2; Pode encriptar e decriptar a informação, apenas aplicando a função novamente com a chave; É um componente comum de algoritmos complexos de criptografia; Sua maior fraqueza reside no tratamento de textos maiores que a chave, forçando a reutilização da chave
- ROT13
- Caso especial da cifra de césar; Cada caracter é substituido por outro 13 posições após no alfabeto; Exemplo:H E L L O W O R L D U R Y Y B J B E Y Q
- Substituição
- Trabalha com a substituição de caracteres 1 a 1, dependendo do esquema aplicado; Relativamente fácil de quebrar, considerando a análise do texto cifrado; Substituição polialfabética é mais complexa e robusta
Information
- Description
- Comptia Security + (Criptografia - 12%) Mind Map on 6.2 - Algoritmos de Criptografia, created by Henrique Luiz on 02/05/2019.
- Created by
- Henrique Luiz
- Views
- 2
- Rating