módulo 3a-1 criptografia simétrica e confidencialidade de

20
Módulo 3a-1 Criptografia 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

Upload: others

Post on 21-Jul-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Módulo 3a-1 Criptografia simétrica e confidencialidade de

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

Page 2: Módulo 3a-1 Criptografia simétrica e confidencialidade de

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

Page 3: Módulo 3a-1 Criptografia simétrica e confidencialidade de

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

Page 4: Módulo 3a-1 Criptografia simétrica e confidencialidade de

Criptografia simétrica – princípios

4

Page 5: Módulo 3a-1 Criptografia simétrica e confidencialidade de

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

Page 6: Módulo 3a-1 Criptografia simétrica e confidencialidade de

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

Page 7: Módulo 3a-1 Criptografia simétrica e confidencialidade de

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)

Page 8: Módulo 3a-1 Criptografia simétrica e confidencialidade de

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

Page 9: Módulo 3a-1 Criptografia simétrica e confidencialidade de

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

Page 10: Módulo 3a-1 Criptografia simétrica e confidencialidade de

10

Page 11: Módulo 3a-1 Criptografia simétrica e confidencialidade de

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

Page 12: Módulo 3a-1 Criptografia simétrica e confidencialidade de

12

Page 13: Módulo 3a-1 Criptografia simétrica e confidencialidade de

13

Page 14: Módulo 3a-1 Criptografia simétrica e confidencialidade de

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

Page 15: Módulo 3a-1 Criptografia simétrica e confidencialidade de

Tempo para decifrar (106 tentativas/µs)

15

Page 16: Módulo 3a-1 Criptografia simétrica e confidencialidade de

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

Page 17: Módulo 3a-1 Criptografia simétrica e confidencialidade de

Triplo DES

17

Page 18: Módulo 3a-1 Criptografia simétrica e confidencialidade de

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

Page 19: Módulo 3a-1 Criptografia simétrica e confidencialidade de

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

Page 20: Módulo 3a-1 Criptografia simétrica e confidencialidade de

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