Segurança Informática em Redes e Sistemas -...
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