Segurança Informática em Redes e Sistemas -...

Post on 27-Jan-2019

215 views 0 download

Transcript of Segurança Informática em Redes e Sistemas -...

Segurança Informática em Redes e Sistemas

W5a - Criptografia

Grupo 6Maria CouceiroJoão MartinsPedro Santinhos

Tipos e Modos de Cifra

Criptografia

Arte ou ciência de escrever de forma a ocultar conteúdos

kryptós + graph

Permite troca de informação

Inteligível para terceiros

Estenografia

Permite ocultar conteúdos sensíveis dentro de conteúdos aparentemente inocentes e correctos

stéganos+ graph

Tinta invisível

Conteúdos dentro de uma imagem

Criptanálise

Arte ou ciência de violar informação criptografada ou sistema criptográfico

Técnicas Criptográficas

Métodos de Criptanálise

Criptologia

Criptografia + Criptanálise

É importante saber• Técnicas de criptografia

• Riscos das Técnicas

• Métodos de Criptanálise

Terminologia

Cifra: técnica concreta de criptografia

cifra

decifraTexto em

claroCriptograma

Algoritmo

+

Chave

Criptanálise

• Obter texto a partir do criptograma

• Obter chave de cifra

• Obter algoritmo de cifra

Criptanálise - Técnicas

• Ataques

– Ciphertext-only

– Known-plaintext

– Chosen-plaintext

– Adaptive-chosen-plaintext

– Chosen-ciphertext

– Birthday

Tipos de cifras

• Cifras monoalfabéticas

• Cifras polialfabéticas

Cifras monoalfabéticas

Substituição de caracteres

– Alfabeto de Substituição

• Cifra aditiva

• Cifra multiplicativa

• Cifra afim

• Cifra frase-chave

Cifras polialfabéticas

Aplicação sucessiva de cifras monoalfabéticas

Cifra de Vigenère• Texto original ola

• Cifra abc

• Criptograma ???

A B C

O O P Q

L L M N

A A B C

Aproximações à criptografia

• Cifra perfeita

– Cifra de Vernam

• Para cada texto:– Uma chave diferente e aleatória

– Chave ≥ Texto

Não é usada na prática

Aproximações à criptografia

• Na prática

– Cifras “seguras na prática”

• Não permitem criptanálise em tempo útil

• Relação custo-benefício

Aproximações à criptografia

• Critérios para qualidade (Shanon)

– Quantidade de secretismo

– Dimensão da chave

– Simplicidade de realização/exploração

– Propagação de erros

– Dimensão do criptograma

Difusão e Confusão

• Confusão

– Relação entre texto e criptograma

• Difusão

– Cada pedaço do criptograma depende de um pedaço grande do texto original

Cifras contínuas

• Aproximação da cifra de Vernan

• Chaves Aleatórias Gerador pseudo-aleatório

gerador geradorK

Chave contínua Chave contínua

criptogramaTexto em

claro

Texto em

claro

Cifras Modernas

Modo de Operação

• Por blocos

• Contínuas

Tipos de Chaves

• Simétricas (chave secreta)

• Assimétricas (chave partilhada)

• Mista/Híbrida

Modo de Operação

• Cifras por blocos– Cifras monoalfabéticas

– Facilita a análise

• Cifras contínuas– Cifras polialfabéticas

– Cifras de um bloco depende dos blocos anteriores

– Necessita de mecanismos de inicialização

Tipos de Chaves

• Simétricas

– Usam valor comum (chave secreta)

– Vantagem

• Muito eficientes

– Desvantagem

• Elevado número de chaves

– Problema:

• Distribuição de chaves

Tipos de Chaves

• Assimétricas

– Par de chaves (privada+pública)

– Vantagem

• Pouco número de chaves

– Desvantagem

• Pouco eficientes

– Problemas

• Distribuição das chaves públicas

• Tempo de vida dos pares de chaves

Cifras Simétricas por Blocos

• Aproximações usadas:

– Confusão

– Difusão

– Difusão, confusão

– Blocos de grandes dimensões

• Algoritmos mais usados:

– DES (Data Encryption Standard )

– IDEA (International Data Encryption Algorithm)

– AES (Advanced Encryption Standard)

Feistel Network

• N chaves geradas a partir da chave

• A cifra e a decifra são idênticas

– Diferença somente no escalonamento da chave

Feistel Network

DES: Data Encryption Standard

• Usa técnicas de substituição e permutação

• Blocos de 64 bits

• Chaves de 56 bits

• Muito rápido

• Pouco seguro

• 16 iterações com redes de Feistel

• Aproximações usadas:

– Desenho de geradores pseudo-aleatórios seguros

– Normalmente sem sincronização

– Normalmente não permitem acesso aleatório eficiente

• Algoritmos mais usados:

– A5 (GSM)

– RC4

– SEAL

Cifras Simétricas Contínuas

Linear Feedback Shift Register

• Máquina de estados que produz sequências cíclicas de bits.

• Formado por um registo de N bits com deslocamento e por uma função de realimentação.

Linear Feedback Shift Register

Linear Feedback Shift Register

Linear Feedback Shift Register

Linear Feedback Shift Register

Linear Feedback Shift Register

Linear Feedback Shift Register

Linear Feedback Shift Register

Linear Feedback Shift Register

Linear Feedback Shift Register

Linear Feedback Shift Register

Linear Feedback Shift Register

Composição de LFSR: A5/1

• Usado em comunicações GSM

• Usa internamente 3 LFSR

• Chaves até 64 bits

• Aproximações usadas

– Complexidade matemática

• Algoritmos mais usados

– RSA

– ElGamal

Cifras Assimétricas por Blocos

RSA: Rivest Shamir Adleman

• Factorização

• Logaritmos modulares

1.Escolha de p e q

2.n = p · q

3.φ(n) = (p - 1) · (q - 1)

4.e : co-primo de φ(n)

5. d : e · d = 1 · (mod φ(n))

Alta complexidade

Rivest Shamir Adleman

C = Pe mod nP = Cd mod n

Crip

tog

ram

a

Te

xto

em

cla

ro

Modos de Cifra

Definição

• Estabelecem modelos de aplicação

de um algoritmo de cifra a um texto

de dimensão arbitrária.

• Não usam chaves para alterar o

comportamento.

Modos de cifra

• Modos de cifra para blocos:– Manipula blocos de texto e de criptogramas que

compõe de diferentes maneiras antes e depois da cifra/decifra

– Exemplos:• ECB (Electronic Code Book)• CBC (Cipher Block Chaining)

• Modos de cifra de cadeias de caracteres:– Usa-se um algoritmo de cifra por blocos para

realizar a cifra contínua.– Exemplos:

• OFB (Output Feedback Mode)• CFB (Cipher Feedback Mode)

ECB (1/2)

ECB (2/2)

• O texto é dividido em blocos independentes e contíguos de igual dimensão que são cifrados independentemente.

Problema:

– Reprodução de padrões do texto original.

Imagem

original

Imagem cifrada

com o ECB

(original de

Larry Ewing)

CBC (1/2)

CBC (2/2)

• Semelhante ao ECB, mas é introduzida realimentação.

• Vector de inicialização:– Evita a replicação de padrões do ECB.

– Pode ser secreto ou não.

• Problemas:– Análise estrutural do texto original.

– Alterações determinísticas do texto original recuperado após decifra.

OFB e CFB de n bits

OFB

• Realimentação feita a partir da saída do gerador.

• Mesmo valor inicial em ri para quem cifra e quem decifra.

CFB

• Realimentação feita a partir do criptograma.

• Valor inicial em ri pode não ser igual para quem cifra e quem decifra: auto-sincronização.

Comparação dos modos de cifra (1/2)

ECB CBC OFB CFB

Reforço de segurança

Não exposição de

padrões do texto

Sim Sim Sim

Confusão na

entrada da cifra

SimSó com

contador interno

Sim

Mesma chave de cifra para mensagens diferentes

Sim Sim

VI diferentes para chave contínua diferente

VI diferentes para chave

com os n bits iniciais

diferentes

Alteração

determinística do texto em

claro

difícil Possível Fácil Fácil

Comparação dos modos de cifra (2/2)

ECB CBC OFB CFB

Optimização

Pré-processamento

Sim

Paralelização

Sim Na decifra

Pré-computação

da chave contínua

Na decifraAcesso

aleatório homogéneo

Tolerância a faltas

Propagação de erros no

criptograma

Não: apenas o bloco

correspondente

Bloco seguinte

Não: bit de texto

correspondente

Alguns bits seguintes

Recuperação de

sincronismo

Perda de blocos

completos

Perda de blocos

completos

Perda de blocos

completos de n bits

Tratamento de sub-blocos (1/3)

• ECB e CBC: texto pode ter dimensão diferente da dimensão fixa dos blocos, logo é necessário ter um procedimento especial para cifrar e decifrar o sub-bloco final da mensagem.

• Duas abordagens: padding e ciphertext stealing.

Tratamento de sub-blocos (2/3)

• Introdução de excipiente (padding):– O criptograma final será maior que o texto

original.

– Excipiente, cujo comprimento tem de ser conhecido, é retirado após a decifra do último bloco. Exemplos:

• A mensagem tem um campo com o seu comprimento efectivo.

• O excipiente contém a indicação do seu comprimento.

• No envio do criptograma é indicado, por via terceira, o comprimento da mensagem original ou do excipiente.

Tratamento de sub-blocos (3/3)

• Tratar o sub-bloco final garantindo que o criptograma resultante tem o comprimento do texto original e que o sub-bloco final é cifrado. Duas técnicas:

– Cifrar o último bloco completo do criptograma e somá-lo (módulo 2) com o sub-bloco final.

• Problema: permite alterações determinísticas do sub-bloco cifrado.

– Roubo de criptograma ou ciphertext stealing.• O processamento de todos os blocos, excepto dos dois

últimos, não é alterado.

Reforço de segurança (1/3)

• DES: comprimento reduzido da chave torna-o viável a pesquisas exaustivas.

• Chaves maiores:

– Cifra múltipla

– Branqueamento (whitening)

Reforço de Segurança (2/3)

• Cifra múltipla:

– Cifrar o texto mais do que uma vez, usando em cada cifra um chave diferente.

– Segurança vs desempenho

– Cifra dupla: não reforça a segurança

• 2n+1 em vez de 22n

– Cifra tripla:

• EDE (Encrypt – Decrypt – Encrypt)

Reforço de Segurança (3/3)

• Branqueamento (whitening):

– Comprimento máximo da chave de cifra:

• Comprimento de K + 2 x bloco

• DESX: 184 bits