Upload
benedito-correia-prado
View
229
Download
2
Embed Size (px)
Citation preview
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
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)
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
5
Introdução
Texto puro (arquivo ou mensagem)
Encriptação
cifra (armazenada ou transmitida de maneira segura)
Decriptação
Texto puro (arquivo ou mensagem)
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
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
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
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
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
11
Caesar Cipher
Exemplo:
In: ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_Out:DEFGHIJKLMNOPQRSTUVWXYZ1234567890_ABC
Nao irei a festa hojeQdrcluhlcdcjhvwdckrmh1 a cada 4 caracteres em média é espaço
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
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
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
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
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
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
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
19
CuriosidedaCriptografia Simétrica Para 10 pessoas envolvidas são necessárias
45 chaves
Geralmente, n pessoas requerem: (n)(n-1)/2 chaves secretas
20
Criptografia Simétrica
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
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
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
Curiosidade DES
25
Curiosidade - DES
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]]]
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
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
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
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
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
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?
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