tópicos avançados em redes prof. alessandro brawerman

33
Tópicos Avançados em Redes Prof. Alessandro Brawerman

Upload: benedito-correia-prado

Post on 07-Apr-2016

231 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Tópicos Avançados em Redes Prof. Alessandro Brawerman

Tópicos Avançados em Redes

Prof. Alessandro Brawerman

Page 2: Tópicos Avançados em Redes Prof. Alessandro Brawerman

2

Introdução Encriptação é o processo que converte dados

sensíveis para uma forma codificada Quando recuperada por usuários autorizados,

esta forma codificada é então convertida (decodificada) em texto com significado novamente

A encriptação esconde ou disfarça a informação de recipientes mal-intencionados, mas permite que usuários autorizados a recuperem

Page 3: Tópicos Avançados em Redes Prof. Alessandro Brawerman

3

Introdução O estudo da comunicação secreta é

chamado criptologia A prática ou arte de codificar mensagens é

chamada de criptografia Dados não criptografados são chamados de

texto puro (plaintext) A saída criptografada é chamada de texto

cifra ou só cifra (ciphertext ou cipher)

Page 4: Tópicos Avançados em Redes Prof. Alessandro Brawerman

4

Introdução

Criptografia já é usada desde os tempos de Nero, na Roma antiga

Foi muito usada na II Guerra Aumento de interesse na década de 70

Page 5: Tópicos Avançados em Redes Prof. Alessandro Brawerman

5

Introdução

Texto puro (arquivo ou mensagem)

Encriptação

cifra (armazenada ou transmitida de maneira segura)

Decriptação

Texto puro (arquivo ou mensagem)

Page 6: Tópicos Avançados em Redes Prof. Alessandro Brawerman

6

Introdução

Criptógrafos Inventam algoritmos de criptografia. Códigos

secretos Criptoanalistas

Encontrar maneiras de quebrar os códigos Decifrar uma mensagem

Encontrar uma maneira de chegar no texto puro, sem a chave ou algoritmo secreto

Page 7: Tópicos Avançados em Redes Prof. Alessandro Brawerman

7

Introdução

Quebrar um código Encontrar uma maneira sistemática de decifrar as

cifras criadas com o código secreto, usando recursos normais

Algoritmos de criptografia são provavelmente confiáveis se eles não são quebrados após vários criptoanalistas testarem

Implica que tais algoritmos poderiam ser publicados

Page 8: Tópicos Avançados em Redes Prof. Alessandro Brawerman

8

Introdução

Manter um algoritmo secreto faz com que a possibilidade de quebrar o código seja muito mais difícil

Mas, como o executável do algoritmo deve estar em cada localização que o use, fica muito difícil de distribuí-lo

Page 9: Tópicos Avançados em Redes Prof. Alessandro Brawerman

9

Criptografia

Criptógrafos adoram XOR 0 XOR 0 ou 1 XOR 1 = 0 0 XOR 1 ou 1 XOR 0 = 1 Exemplo:

Texto puro – 1010 Chave – 0011 Cifra – 1001 A combinação de duas sempre resulta na outra

Page 10: Tópicos Avançados em Redes Prof. Alessandro Brawerman

10

Caesar Cipher Letras e símbolos formam uma roleta

A chave é um número inteiro de posições a serem puladas

Pode ser positiva ou negativa

Page 11: Tópicos Avançados em Redes Prof. Alessandro Brawerman

11

Caesar Cipher

Exemplo:

In: ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_Out:DEFGHIJKLMNOPQRSTUVWXYZ1234567890_ABC

Nao irei a festa hojeQdrcluhlcdcjhvwdckrmh1 a cada 4 caracteres em média é espaço

Page 12: Tópicos Avançados em Redes Prof. Alessandro Brawerman

12

Tipos de Criptografia Simétrica

1 chave secreta Texto | chave | cifra Cifra | chave | text

Assimétrica 1 par de chaves Chave privada e pública Texto | chave pública | cifra Cifra | chave privada | texto

Page 13: Tópicos Avançados em Redes Prof. Alessandro Brawerman

13

Computacionalmente Seguro Um esquema de criptografia é

computacionalmente seguro se a cifra gerada alcança um de 2 objetivos: O custo de quebrar a cifra excede o valor da

informação criptografada O tempo para quebrar a cifra excede o tempo

útil de vida da informação

Page 14: Tópicos Avançados em Redes Prof. Alessandro Brawerman

14

Computacionalmente Seguro

Assumindo que não há fraquezas matemáticas no algoritmo, então o único ataque possível é o de força bruta

Este ataque envolve testar cada uma das possíveis chaves até se chegar a uma informação legível

Page 15: Tópicos Avançados em Redes Prof. Alessandro Brawerman

15

Curiosidade Computacionalmente Seguro

Na média, metade de todas as chaves possíveis devem ser tentadas para chegar na chave verdadeira

Assuma que leva-se 1s para executar uma decodificação, razoável para as máquinas de hoje

Com processamento paralelo pode-se atingir ordens ainda maiores

Page 16: Tópicos Avançados em Redes Prof. Alessandro Brawerman

16

Curiosidade Computacionalmente Seguro

Tamanho da Chave (bits)

Número de Chaves

Tempo usando 1 por s

Tempo usando 106

por s32 232 = 4.3 x 109 231 s = 35.8 min 2.15 ms

56 (DES) 256 = 7.2 x 1016 255 s = 1142 anos

10 horas

128 2128 = 3.4 x 1038 2127 s = 5.4 x 1024 anos

5.4 x 1018

anos

168 2168 = 3.7 x 1050 2167 s =5.9 x 1036 anos

5.9 x 1030

anos

Page 17: Tópicos Avançados em Redes Prof. Alessandro Brawerman

17

Criptografia Simétrica Comunicação segura entre 2 participantes é

efetuada pela troca de uma chave secreta (privada)

A chave é usada tanto para codificar quanto para decodificar mensagens

Idealmente, a chave não deveria ser trocada eletronicamente, mas sim pessoalmente

Page 18: Tópicos Avançados em Redes Prof. Alessandro Brawerman

18

Criptografia Simétrica

Vantagem: velocidade com que as mensagens são encriptadas e decriptadas

Desvantagem: Número de chaves requeridas quando mais

pessoas estão envolvidas Troca inicial das chaves secretas

Page 19: Tópicos Avançados em Redes Prof. Alessandro Brawerman

19

CuriosidedaCriptografia Simétrica Para 10 pessoas envolvidas são necessárias

45 chaves

Geralmente, n pessoas requerem: (n)(n-1)/2 chaves secretas

Page 20: Tópicos Avançados em Redes Prof. Alessandro Brawerman

20

Criptografia Simétrica

Page 21: Tópicos Avançados em Redes Prof. Alessandro Brawerman

21

Algoritmos de Criptografia Simétrica Um bloco de cifra processa o texto puro dado

como entrada em um bloco de tamanho fixo, produzindo um bloco de cifra de mesmo tamanho

Mais comuns: DES - Data Encryption Standard TDES - Triple DES AES - Advanced Encryption Standard

Page 22: Tópicos Avançados em Redes Prof. Alessandro Brawerman

22

CuriosidadeDES Texto puro é de 64 bits de tamanho Textos puros maiores são transformados em

blocos de 64 bits Chave é de 56 bits Processamento é de 3 fases para o texto

Texto puro é permutado, rearranchando os bits 16 rodadas da mesma função, metades trocadas Inverso da permutação original

Page 23: Tópicos Avançados em Redes Prof. Alessandro Brawerman

23

Curiosidade DES Para a chave

A chave passa por uma permutação inicial A cada rodada a chave é dividida em duas

metades de 28 bits cada, denominadas C0 e D0

C e D passam por uma combinação de um shift left circular de 1 ou 2 bits, junção e uma permutação

O processo de decodificação é feito na ordem reversa

Page 24: Tópicos Avançados em Redes Prof. Alessandro Brawerman

Curiosidade DES

Page 25: Tópicos Avançados em Redes Prof. Alessandro Brawerman

25

Curiosidade - DES

Page 26: Tópicos Avançados em Redes Prof. Alessandro Brawerman

26

Triple DES Usa 3 chaves e 3 execuções do DES Segue Encriptação-Decriptação-Encriptação

(EDE) para criptografia Segue Decriptação-Encriptação-Decriptação

(DED) para decriptação Encriptação

C = EK3 [DK2 [EK1 [M]]] Decriptação

M = DK1 [EK2 [DK3 [C]]]

Page 27: Tópicos Avançados em Redes Prof. Alessandro Brawerman

27

TDES - Chaves de 168 bits

c1

D Key3

E Key2

D Key1

m1

Decryption

m1

E

D

E

c1

Key1

Key2

Key3

Encryption There are168 uniquebits in key

Page 28: Tópicos Avançados em Redes Prof. Alessandro Brawerman

28

TDES - Chaves de 112 bits

c1

D Key1

E Key2

D Key1

m1

Decryption

m1

E

D

E

c1

Key1

Key2

Key1

Encryption There are112 uniquebits in key

Page 29: Tópicos Avançados em Redes Prof. Alessandro Brawerman

29

IDEA - International Data Encryption Algorithm Chaves de 128 bits Difere do DES na função das rodadas e no

algoritmo de geração de sub-chaves F é uma combinação de XOR, adição e

multiplicação binária Algoritmo de geração de chaves é feita

através de shifts circulares

Page 30: Tópicos Avançados em Redes Prof. Alessandro Brawerman

30

Blowfish

Fácil de implementar e alta velocidade Compacto, roda em menos de 5K de

memória 16 rodadas Chaves até 448 bits, normalmente 128 bits

Page 31: Tópicos Avançados em Redes Prof. Alessandro Brawerman

31

RC5

Bom desempenho para hardware e software Rápido Número de rodadas variáveis Tamanho de chaves variádos Baixa memória Alta segurança Rotações dependentes de dados

Page 32: Tópicos Avançados em Redes Prof. Alessandro Brawerman

32

AES O TDES é baseado no DES, portanto foi

muito testado durante os anos Nenhum erro foi encontrado e nenhum

ataque, a não ser o de força bruta no DES foi feito

Então por que o TDES não se tornou o padrão?

Page 33: Tópicos Avançados em Redes Prof. Alessandro Brawerman

33

AES Porque o DES foi feito em hardwares, a

implementação do TDES via software é muita lenta

Performance é um problema Tem uma segurança ainda maior que o

TDES e melhora a performance para software

Tamanho do bloco é de 128 bits Suporta chaves de 128, 192 e 256 bits