• Nenhum resultado encontrado

Resumo Segurança em Redes de Computadores

N/A
N/A
Protected

Academic year: 2021

Share "Resumo Segurança em Redes de Computadores"

Copied!
11
0
0

Texto

(1)

1

Segurança em Redes de

Computadores

Capítulo 2

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, 2015

2

Resumo

• 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

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

(2)

5

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)

6

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

7

Tempo médio necessário para tentar

descobrir chave com busca exaustiva

2.15 milisegundos

2

32

= 4.3 x 10

9

32

5.9 x 10

30

anos

2

168

= 3.7 x 10

50

168

5.4 x 10

18

anos

2

128

= 3.4 x 10

38

128

10 horas

2

56

= 7.2 x 10

16

56

Tempo necessário a 10

6

tentativas

/µs

Nro. de chaves

possíveis

Tam. chave

(bits)

8

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:

(3)

9

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

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

(4)

13 14

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

15

Tempo para decifrar

(10

6

tentativas/µs)

16

Triplo DES

• Triple Data Encryption Standard (3DES), ANSI 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)

(5)

17

Triplo DES

18

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

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 (256tentativas em 1 segundo), levaria aprox. 149 trilhões de anos para quebrar o AES com chave de 128 bits

(6)

21 22

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)

23

Cifradores STREAM e RC4

• Um cifrador STREAM

– processa sua entrada continuamente, elemento por elemento (byte, bit)

– tem implementação fácil que ocupa pouca memória

– tem execução muito rápida

– é bastante apropriado para aplicações que requeiram criptografia / decriptografia rápida de stream de dados, tais como aplicações Web

24

(7)

25

Cifradores STREAM e RC4

• Cifrador stream RC4

– Desenvolvido por Ron Rivest para a RSA Security em 1987

– Usa chave de tamanho variável

– Orientado a byte

– Usa permutação randômica

– Estudos mostram que o período de repetição de cifragem é superior a 10100 – Usa de 8 a 16 instruções de máquina por byte cifrado (muito eficiente)

– É usado em SSL/TLS (Secure Socket Layer / Transport Layer Security), WEP (Wired Equivalent Privacy), WPA (WiFi Protected Access)

– Foi mantido secreto pela RSA até 1994, quando foi divulgado anonimamente na Internet na lista pública CypherPunks

26

Cifradores STREAM e RC4

• Algoritmo RC4

– K – chave de 1 a 256 bytes (8 a 2048 bits)

– S - vetor de estado de 256 bytes - a cada iteração S é permutado com base em T

– T – vetor temporário, gerado a partir de K

Para criptografar/decritografar, um byte k é gerado a partir de S e se processa:

• byteCifrado = byteOrigem XOR k ou • byteOrigem = byteCifrado XOR k

Cifradores STREAM e RC4

Performance do RC4

Cifrador

Tam. da Chave

(bits)

Velocidade

(Mbps)

DES

56

9

3DES

168

3

RC4

8 a 2048

45

Outros Cifradores de Stream

• RC5 (sucessor do RC4)

– Ron Rivest, 1994 (RFC 2040)

– Implementável em hardware ou software

– Rápido e simples

– Adaptável a processadores de diferentes tamanho de palavra

– Número varíavel de iterações

– Chave de tamanho variável

– Executa em pouca memória

– Alta segurança

– Rotação (transposição) dependente dos dados (torna o texto criptografado mais difícel de sofrer cripto-análise)

• Cast-128

– Carlisle Adams e Sttaford Tavares, Entrust Technologies, 1997

– Chave entre 40 e 128 bits

(8)

29

Resumo de Cifradores

Algoritmo Tam. Chave Nro de Iterações

Operações Aplicações DES 56 16 Xor, shift fixo SET, Kerberos 3DES 112 ou 168 48 Xor, shift fixo Aplic.

comercial, PGP, S/MIME IDEA 128 8 Xor, (+), (*) PGP BlowFish Até 448 16 Xor, shift variável, (+) Aplic.

comercial RC5 Até 2048 Até 255 Xor, (+), (-), rotação Aplic.

comercial CAST-128 40 a 128 16 Xor, (+), (-), shift fixo,

rotação

PGP

30

Modos de operação na cifragem de bloco

• Um cifrador simétrico de bloco processa um bloco de dados por vez - Pi

• Para cada bloco de dados tem de haver um bloco de cifragem Ki, derivado da chave K

• Sendo o bloco de cifragem constante (a chave não muda), para grandes quantidades de dados de entrada, aumenta a probabilidade de ocorrer dois blocos cifrados iguais a partir de dois blocos de dados iguais

– Ci = E( K, Pi) == Cj = E(K, Pj), se Pi == Pj

• Esse modo de operação é chamado de Eletronic Codebook - ECB

31

Modos de operação na cifragem de bloco

• Uma alternativa usada é minimizar a probabilidade de ocorrência de dois blocos de dados iguais sendo fornecidos para a cifragem (embora eles possam ocorrer livremente nos dados de entrada)

– A entrada para o algoritmo de criptografia é o XOR do bloco atual de dados com o bloco anterior de texto cifrado

• Ci= E(K, Pixor Ci-1]

– Assim, blocos idênticos de texto original não se repetem como texto criptografado

• Esse modo de operação é chamado de Cipher Block Chaining Mode (CBC)

32

(9)

33

Modos de operação na cifragem de bloco

• É possível converter qualquer cifrador de blocos em um cifrador stream (tipicamente com unidade de 8 bits)

– Não precisa ajustar a entrada para tamanho múltiplo de bloco

– Saída cifrada tem o mesmo tamanho da entrada

– Apropriado para processamento em tempo real (navegação WEB protegida)

• Esse modo de operação é chamado Cipher Feedback Mode (CFB)

34

Modos de operação na cifragem de bloco

Localização de Dispositivos de Criptografia

• Criptografia de enlace

– Muitos dispositivos de criptografia

– Alto nível de segurança

– Decriptografia de cada pacote a cada nó da rede

• Criptografia fim-a-fim

– A origem criptografa e o destino decriptografa

– A carga útil é criptografada

– O cabeçalho não é criptografado

• Alta segurança: Ambos os esquemas devem ser usados

(10)

37

Distribuição de Chaves

• Para criptografia simétrica funcionar, as duas entidades que desejam trocar dados confidencialmente precisam compartilhar a mesma chave (que deve ser protegida também)

– A mudança frequente da chave é desejável para limitar a quantidade de dados violados quando a chave é descoberta

– A robustez de um sistema de criptografia repousa, em grande parte, na técnica de distribuição de chaves usada (como compartilhar a chave com quem de direito de modo seguro)

38

Distribuição de Chaves

• A distribução de chaves pode ocorrer de várias formas. Para duas entidades A e B, poderíamos ter:

– 1) Uma chave poderia ser selecionada por A e entregue diretamente (fisicamente) para B

– 2) Um terceiro poderia selecionar a chave e fisicamente entregar para A e B

• Opções 1) e 2) são tipicamente manuais, sendo aceitáveis para enlace ponto-a-ponto; para fim-a-fim são inaceitáveis

– 3) Se A e B usaram previamente uma chave, um poderia definir e transmitir para o outro uma nova chave, criptografada com a chave corrente

• Mas se uma chave for comprometida, todas as outras o estarão – 4) Se A e B têm uma conexão criptografada com um terceiro (C), C poderia

entregar uma chave pelos enlaces criptografados para A e B • É a opção preferível para fim-a-fim

39

Distribuição de Chaves

• Em um bom modelo de distribuição de chave fim-a-fim, temos:

– Chave de sessão

• Usada para a criptografia de dados durante uma sessão de troca de dados entre duas entidades; ao fim da sessão a chave é destruída

– Chave permanente

• Usada entre as entidades na distribuição de chaves de sessão

– Centro de Distribuição de de chaves

• Define que entidades podem se comunicar entre si e fornece chave de sessão para elas

– Módulo de segurança de serviço

• Esse módulo (que pode ser funcionalidade em camada de protocolo), faz criptografia fim-a-fim e obtém chave de sessão automaticamente

40

(11)

41

Leituras

• Obrigatória

Stallings, W., Network Security Essentials, 3rd Ed., Cap. 2

• Recomendada

Stallings, W., Cryptography and Network Security: Principles and Practice

42

Questões de Revisão

• Quais são os ingredientes essenciais de um cifrador simétrico?

• Quais são as duas funções básicas usadas em algoritmos de criptografia?

• Quantas chaves são necessárias para duas pessoas se comunicarem via um cifrador simétrico?

• Qual a diferença entre um cifrador de bloco e um cifrador ”stream”?

• Quais são os dois enfoques gerais para atacar um cifrador?

• Por que alguns modos de operação de alguns cifradores de blocos usam somente criptografia enquanto de outros usam criptografia e decriptografia?

• O que é criptografia tripla?

• Porque a porção do meio do 3DES é decriptografia ao invés de criptografia?

• Qual é a diferença entre criptografia de enlace e fim-a-fim?

• Liste formas como uma chave secreta pode ser distribuída para duas entidades se comunicando

• Qual é a diferença entre uma chave de sessão e uma chave mestra?

Referências

Documentos relacionados

A prática delas também é norteada pelos saberes adquiridos com a experiência, esta é produzida por elas no seu cotidiano docente, num processo permanente de reflexão

Segundo o mesmo autor, a animação sociocultural, na faixa etária dos adultos, apresenta linhas de intervenção que não se esgotam no tempo livre, devendo-se estender,

O sistema tem como cenários de utilização a gestão de agendamentos de atendimentos da Área de Saúde, a geração automática de relacionamento entre cliente e profissional

Foram desenvolvidas duas formulações, uma utilizando um adoçante natural (stévia) e outra utilizando um adoçante artificial (sucralose) e foram realizadas análises

5.2 Importante, então, salientar que a Egrégia Comissão Disciplinar, por maioria, considerou pela aplicação de penalidade disciplinar em desfavor do supramencionado Chefe

A Secretaria de Administração do Município de Condeúba, Estado da Bahia, no uso de suas atribuições e devidamente autorizado pelo Excelentíssimo Senhor Prefeito Municipal, convoca

III - Vias Coletoras (V-3) - recebem e distribuem o tráfego entre as vias locais e arteriais, apresentando equilíbrio entre fluidez de tráfego e acessibilidade, possibilitando