Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Módulo 3a-1Criptografia simétrica e confidencialidade de mensagem
Slides por H. Johnson & S. Malladi; Modificados por S. J. Fritz, 2006;Modificados e traduzidos por P.S. Nicolletti, 2007
Modificados / Revisados por P.S. Nicolletti, 2019
1
Resumo (módulos p3a1 e p3a2) Criptografia simétrica - princípios
Criptografia simétrica – algoritmos
Cifragem em ‘stream’ e RC4
Modos de operação de cifragem em blocos
Localização de dispositivos de criptografia
Distribuição de chaves
2
Criptografia simétrica – princípios
Um esquema de criptografia envolve 5 elementos Texto original (Plain text - P) Algoritmo de criptografia (Encryption - E) Chave secreta (Key - K) Texto criptografado (Cipher text - C) Algoritmo de decriptografia (Decryption - D)
Requisitos Algoritmos tem de ser robustos - um oponente não deve conseguir decriptografar
a informação criptografada nem descobrir a chave secreta mesmo tendo acesso ao algoritmo, à informação original e à informação criptografada
O remetente e o destinatário devem obter cópias da chave secreta de modo seguro e mantê-las em segurança; se o oponente conseguir obter a chave secreta, toda a comunicação baseada nela fica comprometida
3
Criptografia simétrica – princípios
4
Criptografia Classificada de acordo com 3 dimensões diferentes:
O tipo de operação usada para transformar texto original em texto criptografado Transformação – altera o valor da informação original (E.g. troca todo ‘a’ por ‘e’,
todo ‘e’ por ‘i’, etc.) Transposição – altera a posição da informação original (E.g. altera toda
sequência original ‘12345678’ de 8 bytes por ‘21436587’) Misto – combinação das duas anteriores
O número de chaves usadas 1 chave (chave única, chave secreta, chave privada)
criptografia simétrica 2 chaves (chave dupla, chave pública-privada)
criptografia assimétrica
A forma como o texto original é processado Stream – processado em sequência direta, byte a byte (ou bit a bit) Block – processado em blocos de N bytes (ou bits)
5
Cripto-análise Processo para tentar descobrir o texto original ou a chave
Um esquema de criptografia é computacionalmente seguro se o texto criptografado atende a pelo menos um dos critérios:
O custo de decifrar o texto criptografado excede o valor da informação a ser obtida
O tempo necessário para decifrar o texto criptografado excede o tempo de vida útil da informação a ser obtida
6
Tempo médio necessário para tentar descobrirchave com busca exaustiva
7
2.15 milisegundos232 = 4.3 x 10932
5.9 x 1030 anos2168 = 3.7 x 1050168
5.4 x 1018 anos2128 = 3.4 x 1038128
10 horas256 = 7.2 x 101656
Tempo necessário a 106
tentativas /µsNro. de chaves
possíveisTam. chave
(bits)
Estrutura de Cifragem de Feistel
Virtualmente todos os algoritmos de criptografia simétrica por blocos, incluindo o Data Encription Standard (DES), tem uma estrutura que foi primeiramente descrita por Horst Feistel da IBM em 1973 – Rede Feistel
A implementação de uma boa Rede Feistel depende da escolha dos seguintes elementos:
(próximo slide)
8
Estrutura de Cifragem de Feistel
Tam. do bloco: blocos maiores implicam em maior segurança
Tam. da chave: chaves maiores implicam em maior segurança
Nro. de iterações: quanto mais iteração, maior a segurança (mas mais lento é o processo)
Algoritmo de geração de subchave: maior complexidade implica em maior dificuldade para cripto-análise
Função de iteração: maior complexidade, implica maior segurança
Velocidade de criptografia/decriptografia: quanto maior a segurança definida pelos elementos acima, mais lento o processo – tem de haver análise de custo/ benefício – e pode ser necessária implementação em hardware
Facilidade de análise do algoritmo: embora deva ser difícil fazer cripto-análise do algoritmo, o mesmo deve ser de fácil compreenção para que seja fácil verificar suas vulnerabilidades à cripto-análise
9
10
Criptografia simétrica - Algoritmos Data Encryption Standard (DES)
Adotado pelo National Institute of Standards and Technology (NIST) em 1977 como Federal Information Processing Standards 46 (FIPS PUB 46) para uso pelo governo (EUA)
O esquema mais popularmente usado durante muitos anos O algoritmo original é chamado Data Encryption Algorithm (DEA) O DES é um cifrador de blocos O texto original é processado em blocos de 64 bits (8 bytes) A chave tem 56 bits Não mais usado pelo governo (EUA)
11
12
13
Criptografia simétrica - Algoritmos O processamento em cada iteração:
Li = Ri-1
Ri = Li-1 xor F(Ri-1, Ki)
Preocupações:
O algoritmo e o tamanho da chave (56 bits)
Foi quebrado em julho/1998 pela Eletronic Frontier Foundation (EFF) em menos de 3 dias de processamento
14
Tempo para decifrar (106 tentativas/µs)
15
Triplo DES Triple Data Encryption Standard (3DES), ANSI (American National Standards
Institute) X.9.17, 1985
Usa 3 chaves e 3 execuções do DES (criptografa-decriptografa-criptografa)
C = E(K, P) = E(K3, D(K2, E(K1, P)))
P = D(K, C) = D(K1, E(K2, D(K3, C)))
P = texto original (plaintext) C = texto cifrado (ciphertext) E(K, X) = criptografia de X usando a chave K D(K, Y) = decriptografia de Y usando a chave K
Tamanho efetivo da chave K: 168 bits (K1, K2 e K3, derivadas de K têm 56 bits cada)
16
Triplo DES
17
Triplo DES
3DES é FIPS 46-3
DES só deveria ser usado em sistemas legados (antigos) por pouco tempo
Orgãos do governo (EUA) que usavam DES deveriam mudar o mais rapidamente possível para 3DES
3DES e AES (Advanced Encryption Standard) são FIPS aprovados para conduzir uma migração gradual de DES para [somente] AES
18
Advanced Encryption Standard (AES) 3DES, embora robusto e fácil de entender
tem concepção originária da década de 1970 sendo lento para processamento em software
Usa bloco de 64 bits - para aumentar segurança e eficiência blocos maiores são desejáveis
AES aparece como FIPS PUB 197 em novembro de 2001, como algoritmo de Rijndael, proposto por Joan Daemen e Vincent Rijmen (pesquisadores belgas) Bloco de 128 bits Chave de 128, 192 ou 256 bits Usa transformação e permutação Muito robusto: se um máquina conseguisse quebrar o DES em 1 segundo (256
tentativas em 1 segundo), levaria aprox. 149 trilhões de anos para quebrar o AES com chave de 128 bits
19
Outros Cifradores de Bloco International Data Encryption Algorithm (IDEA)
Xuejia Lai e James Massey, Swiss Federal Institute, 1991
Chave de 128 bit, bloco de 64 bits, 16 rounds
Usado no Pretty Good Privacy (PGP) – muito usado em E-mail
Blowfish
Bruce Schneir, 1993
Chave de 32 a 448 bits (padrão 128 bits), bloco de 64 bits, 8 rounds
Fácil de implementar
Grande velocidade de execução
Pouca ocupação de memória (menos de 5KB)
20