Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf ·...

32
1 © André Zúquete Segurança Informática e nas Organizações 1 Criptografia Criptografia Criptografia Criptografia © André Zúquete Segurança Informática e nas Organizações 2 Criptografia: terminologia (1/2) Criptografia: terminologia (1/2) Criptografia: terminologia (1/2) Criptografia: terminologia (1/2) Criptografia Arte ou ciência de escrever de forma escondida do Gr. kryptós, oculto + graph, r. de graphein, escrever Serve para garantir a privacidade da informação Esteganografia do Gr. steganós, oculto + graph, r. de graphein, escrever Criptanálise Arte ou ciência de violar sistemas criptográficos ou informação criptografada Criptologia Criptografia + criptanálise

Transcript of Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf ·...

Page 1: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

1

© André Zúquete Segurança Informática e nas Organizações 1

CriptografiaCriptografiaCriptografiaCriptografia

© André Zúquete Segurança Informática e nas Organizações 2

Criptografia: terminologia (1/2)Criptografia: terminologia (1/2)Criptografia: terminologia (1/2)Criptografia: terminologia (1/2)

� Criptografia� Arte ou ciência de escrever de forma escondida

� do Gr. kryptós, oculto + graph, r. de graphein, escrever� Serve para garantir a privacidade da informação� Esteganografia

� do Gr. steganós, oculto + graph, r. de graphein, escrever� Criptanálise

� Arte ou ciência de violar sistemas criptográficos ou informação criptografada

� Criptologia� Criptografia + criptanálise

Page 2: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

2

© André Zúquete Segurança Informática e nas Organizações 3

Criptografia: terminologia (2/2)Criptografia: terminologia (2/2)Criptografia: terminologia (2/2)Criptografia: terminologia (2/2)

� Cifra� Técnica concreta de criptografia

� Operação de uma cifraCifra: texto em claro � criptogramaDecifra: criptograma � texto em claro

Algoritmo: modo de transformação de dadosChave: parâmetro do algoritmo

cifra()

Criptogramatexto

decifra()

Chave(s)

© André Zúquete Segurança Informática e nas Organizações 4

Criptanálise: objectivosCriptanálise: objectivosCriptanálise: objectivosCriptanálise: objectivos

� Obtenção do texto original� Relativo a um criptograma

� Obtenção de uma chave de cifra� Ou de uma equivalente

� Obtenção do algoritmo de cifra� Ou de um equivalente� Normalmente os algoritmos não são secretos, mas

há exceções:� Lorenz, A5 (GSM), RC4, Crypto-1 (Mifare)� Algoritmos para DRM (Digital Rights Management)� Engenharia reversa normalmente revela-os

Page 3: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

3

© André Zúquete Segurança Informática e nas Organizações 5

Ataques de criptanálise:Ataques de criptanálise:Ataques de criptanálise:Ataques de criptanálise:AproximaçõesAproximaçõesAproximaçõesAproximações

cifra()

criptogramatexto

decifra()

chave(s)

Só com criptograma

Texto conhecido

Texto escolhido

© André Zúquete Segurança Informática e nas Organizações 6

Cifras: evolução da tecnologiaCifras: evolução da tecnologiaCifras: evolução da tecnologiaCifras: evolução da tecnologia

� Manuais� Algoritmos de substituição

ou transposição� Mecânicas

� A partir do Séc. XIX� Máquina Enigma� M-209 Converter

� Algoritmos de substituição ou transposição

� Informáticas� Surgem com o uso dos

computadores� Algoritmos de substituição

mais complexos� Algoritmos matemáticos

Page 4: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

4

© André Zúquete Segurança Informática e nas Organizações 7

Cifras: tipos básicos (1/3)Cifras: tipos básicos (1/3)Cifras: tipos básicos (1/3)Cifras: tipos básicos (1/3)

� Transposição� O texto original é “baralhado”

ooibh tonaa erard xilao tgel

� Permutações intra-blocos(13524) � pruem tceao snrit alcbo os

(25413) � eumpr aeotc irtsn bcoal so

� Substituição� Cada símbolo original é substituído por outro

� No passado eram letras, algarismos e pontuação� Atualmente os símbolos são blocos de bits

� Tipos de substituição� Monoalfabética (um�um)� Polialfabética (vários um�um)� Homofónica (um�muitos)

O O I B H

T O N A A

E R A R D

X I L A O

T G E L

© André Zúquete Segurança Informática e nas Organizações 8

Cifras: tipos básicos (2/3):Cifras: tipos básicos (2/3):Cifras: tipos básicos (2/3):Cifras: tipos básicos (2/3):MonoalfabéticasMonoalfabéticasMonoalfabéticasMonoalfabéticas

� Usam apenas um alfabeto de substituição� Com um número de elementos #A

� Exemplos� Aditivas (ou de translação)

� cripto-letra = (letra + chave) mod #A� letra = (cripto-letra – chave) mod #A� Número de chaves efectivas = #A� Cifra de César (ROT-x)

� Com frase-chaveABCDEFGHIJKLMNOPQRSTUVWXYZ

QTUWXYZCOMFRASEHVBDGIJKLNP

� Número de chaves efectivas = #alfabeto ! � 26! ≈ 288

� Problemas� Reproduzem padrões do texto original

� Letras, digramas, trigramas, etc.� A análise estatística facilita a criptanálise

� “The Gold Bug”, Edgar Alan Poe

53‡‡†305))6*;4826)4‡.)

4‡);806*;48†860))85;1‡

(;:‡*8†83(88)5*†;46(;8

8*96*?;8)*‡(;485);5*†2

:*‡(;4956*2(5*—4)88*;4

069285);)6†8)4‡‡;1(‡9;

48081;8:8‡1;48†85;4)48

5†528806*81(‡9;48;(88;

4(‡?34;48)4‡;161;:188;

‡?;

a good glass in the

bishop's hostel in the

devil's seat fifty-one

degrees and thirteen

minutes northeast and

by north main branch

seventh limb east side

shoot from the left eye

of the death's-head a

bee line from the tree

through the shot forty

feet out

Page 5: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

5

© André Zúquete Segurança Informática e nas Organizações 9

Cifras: tipos básicos (3/3):Cifras: tipos básicos (3/3):Cifras: tipos básicos (3/3):Cifras: tipos básicos (3/3):PolialfabéticasPolialfabéticasPolialfabéticasPolialfabéticas

� Usam N alfabetos de substituição� Têm período N

� Exemplo� Cifra de Vigenère

� Problemas� Conhecido o período, podem ser criptanalisadas tal como

as monoalfabéticas� O período pode ser descoberto usando estatística� Método de Kasiski

� Factorização de distâncias entre blocos iguais do criptograma� Índice de coincidência

� Factorização de deslocamentos relativos que produzem mais coincidências na sobreposição do criptograma

© André Zúquete Segurança Informática e nas Organizações 10

Cifra de Vigenère (ou quadrado de Vigenère)Cifra de Vigenère (ou quadrado de Vigenère)Cifra de Vigenère (ou quadrado de Vigenère)Cifra de Vigenère (ou quadrado de Vigenère)a b c d e f g h i j k l m n o p q r s t u v w x y z

a A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

b B C D E F G H I J K L M N O P Q R S T U V W X Y Z A

c C D E F G H I J K L M N O P Q R S T U V W X Y Z A B

d D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

e E F G H I J K L M N O P Q R S T U V W X Y Z A B C D

f F G H I J K L M N O P Q R S T U V W X Y Z A B C D E

g G H I J K L M N O P Q R S T U V W X Y Z A B C D E F

h H I J K L M N O P Q R S T U V W X Y Z A B C D E F G

i I J K L M N O P Q R S T U V W X Y Z A B C D E F G H

j J K L M N O P Q R S T U V W X Y Z A B C D E F G H I

k K L M N O P Q R S T U V W X Y Z A B C D E F G H I J

l L M N O P Q R S T U V W X Y Z A B C D E F G H I J K

m M N O P Q R S T U V W X Y Z A B C D E F G H I J K L

n N O P Q R S T U V W X Y Z A B C D E F G H I J K L M

o O P Q R S T U V W X Y Z A B C D E F G H I J K L M N

p P Q R S T U V W X Y Z A B C D E F G H I J K L M N O

q Q R S T U V W X Y Z A B C D E F G H I J K L M N O P

r R S T U V W X Y Z A B C D E F G H I J K L M N O P Q

s S T U V W X Y Z A B C D E F G H I J K L M N O P Q R

t T U V W X Y Z A B C D E F G H I J K L M N O P Q R S

u U V W X Y Z A B C D E F G H I J K L M N O P Q R S T

v V W X Y Z A B C D E F G H I J K L M N O P Q R S T U

w W X Y Z A B C D E F G H I J K L M N O P Q R S T U V

x X Y Z A B C D E F G H I J K L M N O P Q R S T U V W

y Y Z A B C D E F G H I J K L M N O P Q R S T U V W X

z Z A B C D E F G H I J K L M N O P Q R S T U V W X Y

� Exemplo da cifra da letra M com a chave S, originando o criptograma E

Page 6: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

6

© André Zúquete Segurança Informática e nas Organizações 11

Criptanálise de um criptograma Vigenère:Criptanálise de um criptograma Vigenère:Criptanálise de um criptograma Vigenère:Criptanálise de um criptograma Vigenère:Exemplo (1/2)Exemplo (1/2)Exemplo (1/2)Exemplo (1/2)

� Texto:Eles não sabem que o sonho é uma constante da vidatão concreta e definida como outra coisa qualquer,como esta pedra cinzenta em que me sento e descanso,como este ribeiro manso, em serenos sobressaltoscomo estes pinheiros altos

� Cifra com o quadrado de Vigenère e chave “poema”texto elesnaosabemqueosonhoeumaconstantedavidataoconcretaedefinida

chave poemapoemapoemapoemapoemapoemapoemapoemapoemapoemapoemapoema

criptograma tzienpcwmbtaugedgszhdsyyarcretpbxqdpjmpaiosoocqvqtpshqfxbmpa

� Teste de Kasiski� Com o texto acima:

� Com o poema completo:

© André Zúquete Segurança Informática e nas Organizações 12

Criptanálise de um criptograma Vigenère:Criptanálise de um criptograma Vigenère:Criptanálise de um criptograma Vigenère:Criptanálise de um criptograma Vigenère:Exemplo (2/2)Exemplo (2/2)Exemplo (2/2)Exemplo (2/2)

� Índice de coincidência (c/ poema completo)

C oi nc i de nc e inde x

0

5

10

15

20

25

0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180

T r ansl at i on shi f t

Page 7: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

7

© André Zúquete Segurança Informática e nas Organizações 13

MáquinasMáquinasMáquinasMáquinas de de de de rotoresrotoresrotoresrotores (1/3)(1/3)(1/3)(1/3)

David J Morgan, www.flickr.com

© André Zúquete Segurança Informática e nas Organizações 14

Máquinas de rotores (2/3)Máquinas de rotores (2/3)Máquinas de rotores (2/3)Máquinas de rotores (2/3)

� As máquinas de rotores concretizam cifras polialfabéticas complexas� Cada rotor efetua uma permutação do alfabeto

� Que consiste num conjunto de substituições� A posição do rotor concretiza um alfabeto de substituição� A rotação de um rotor concretiza uma cifra polialfabética� Acumulando vários rotores em sequência e rodando-os de forma

diferenciada consegue-se uma cifra polialfabética complexa� A chave de cifra é:

� O conjunto de rotores usado� A ordem relativa dos rotores� A posição de avanço do rotor seguinte� A posição original dos rotores

� Rotores simétricos (bidirecionais)permitem decifras usando cifras duplas� Usando um disco refletor (meio-rotor)

Sarah Witherby, www.flickr.com

Page 8: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

8

© André Zúquete Segurança Informática e nas Organizações 15

Máquinas de rotores (3/3)Máquinas de rotores (3/3)Máquinas de rotores (3/3)Máquinas de rotores (3/3)

� Operação recíproca com um reflector� O operador emissor carrega em “A” (o texto em claro) e

obtém “Z” como criptograma, o qual é transmitido� O operador receptor carrega em “Z” (o criptograma) e

obtém “A” como texto em claro� Uma letra nunca pode ser cifrada para si própria!

© André Zúquete Segurança Informática e nas Organizações 16

EnigmaEnigmaEnigmaEnigma

� Máquina de rotores usada pelosAlemães na 2ª GG

� Originalmente apresentada em 1919� Enigma I, com 3 rotores

� Foram usadas diversas variantes� Com diferentes números de rotores� Com cablagem para permutar alfabetos

� Seleções de chaves distribuídas em livros de códigos

Page 9: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

9

© André Zúquete Segurança Informática e nas Organizações 17

Criptografia: aproximações teóricasCriptografia: aproximações teóricasCriptografia: aproximações teóricasCriptografia: aproximações teóricas

� Espaço de texto� Número de combinações de texto diferentes (M)

� Espaço do criptograma� Número de combinações de criptograma diferentes (C)

� Espaço das chaves� Número de chaves diferentes para um algoritmo de cifra (K)

� Cifra perfeita� Dado cj ∈ C, p(mi, kj) = p(mi)� #K ≥ #M� Cifra de Vernam

� One-time pad

XOR

Criptogramatexto

XOR

Chave aleatória

infinita

© André Zúquete Segurança Informática e nas Organizações 18

Criptografia: aproximações práticas (1/4)Criptografia: aproximações práticas (1/4)Criptografia: aproximações práticas (1/4)Criptografia: aproximações práticas (1/4)

� Teoricamente seguras vs. seguras na prática� Uso teórico ≠ exploração prática� Práticas incorretas podem comprometer boas cifras

� Exemplo: reutilização de one-time-pads� Cifras seguras na prática

� A segurança é assegurada pela dificuldade computacional de realizar a criptanálise

� Têm uma segurança baseada em limites razoáveis:� Custo de uma solução técnica de criptanálise� Infraestrutura reservada para a criptanálise� Tempo útil de criptanálise

Page 10: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

10

© André Zúquete Segurança Informática e nas Organizações 19

Criptografia: aproximações práticas (2/4)Criptografia: aproximações práticas (2/4)Criptografia: aproximações práticas (2/4)Criptografia: aproximações práticas (2/4)

� 5 critérios de Shannon� A quantidade de secretismo oferecida

� e.g o comprimento da chave� A complexidade na escolha das chaves

� e.g. geração da chave, deteção de chaves fracas� A simplicidade da realização� A propagação de erros

� Relevante em ambientes onde podem surgir erros� e.g. canais de comunicação ruidosos

� A dimensão do criptograma� Relativamente aos respetivos textos originais

© André Zúquete Segurança Informática e nas Organizações 20

Criptografia: aproximações práticas (3/4)Criptografia: aproximações práticas (3/4)Criptografia: aproximações práticas (3/4)Criptografia: aproximações práticas (3/4)

� Confusão� Complexidade na relação entre o texto, a chave e o

criptograma� Os bits resultantes (criptograma) devem depender dos bits

de entrada (texto e chave) de um forma complexa

� Difusão� Alteração de grandes porções do criptograma em

função de uma pequena alteração do texto� Se um bit de texto se alterar, então o criptograma deverá

mudar substancialmente, de uma forma imprevisível e pseudoaleatória

� Efeito de avalanche

Page 11: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

11

© André Zúquete Segurança Informática e nas Organizações 21

Criptografia: aproximações práticas (4/4)Criptografia: aproximações práticas (4/4)Criptografia: aproximações práticas (4/4)Criptografia: aproximações práticas (4/4)

� Assumir sempre o pior caso� O criptanalista conhece o algoritmo

� A segurança está na chave� O criptanalista possui grande número de criptogramas gerados com um algoritmo e chave� Os criptogramas não são secretos

� Os criptanalista conhecem parte dos textos originais� É normal haver alguma noção do texto original� Ataques com texto conhecido ou escolhido

© André Zúquete Segurança Informática e nas Organizações 22

Cifras contínuas (Cifras contínuas (Cifras contínuas (Cifras contínuas (streamstreamstreamstream) (1/2)) (1/2)) (1/2)) (1/2)

� Mistura de uma chave contínua (keystream) com o texto ou criptograma� Chave contínua aleatória (cifra de Vernam, com one-time pad)� Chave contínua pseudoaleatória (produzida por gerador)

� Função de mistura invertível� e.g. XOR bit a bit� C = P ⊕ ks P = C ⊕ ks

� Cifra polialfabética� Cada símbolo da chave contínua define um alfabeto

mistura criptogramatexto

chave contínua gerador chave

mistura-1

gerador

texto

Page 12: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

12

© André Zúquete Segurança Informática e nas Organizações 23

Cifras contínuas (2/2)Cifras contínuas (2/2)Cifras contínuas (2/2)Cifras contínuas (2/2)

� Uma chave contínua pode ser infinita mas periódica� O período depende do gerador

� Questões de segurança prática� As chaves contínuas não devem ser reutilizadas

� Caso contrário, a soma de criptogramas produz a soma de textosC1 = P1 ⊕ Ks, C2 = P2 ⊕ Ks � C1 ⊕ C2 = P1 ⊕ P2

� O comprimento do texto deverá ser inferior ao período de Ks� A exposição da chave contínua é total caso se conheça o texto� A repetição de ciclos facilita a criptanálise se se conhecer o

período e amostras do texto� Tem que existir controlo de integridade

� Não há difusão!� É fácil alterar de forma determinística o texto cifrado

© André Zúquete Segurança Informática e nas Organizações 24

Lorenz (Lorenz (Lorenz (Lorenz (TunnyTunnyTunnyTunny))))

� Máquina de cifra contínua com 12 rotores� Usada pelo alto-comando Alemão durante a 2ª GG� Concretiza uma cifra contínua

� Cada símbolo de 5 bits é misturado com 5 chaves contínuas� Operação

� 5 rotores rodados regularmente (S)� 5 rotores rodados irregularmente (K)

� Política “todos ou nenhuns”� 2 rotores de controlo (M)

� Para rodar os rotores K� O número de posições em cada rotor

é coprimo com os demais

Page 13: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

13

© André Zúquete Segurança Informática e nas Organizações 25

Criptanálise de Tunny em Bletchley Park (1/3)Criptanálise de Tunny em Bletchley Park (1/3)Criptanálise de Tunny em Bletchley Park (1/3)Criptanálise de Tunny em Bletchley Park (1/3)

� A estrutura da máquina Lorenz não era conhecida� Só no final da guerra a conseguiram observar� Sabiam que ela existia porque intercetavam

comunicações cifradas usando símbolos de 5 bits� Usando o código de 32 símbolos de Baudot em vez do

código Morse

© André Zúquete Segurança Informática e nas Organizações 26

Criptanálise de Tunny em Bletchley Park (2/3)Criptanálise de Tunny em Bletchley Park (2/3)Criptanálise de Tunny em Bletchley Park (2/3)Criptanálise de Tunny em Bletchley Park (2/3)

� O erro (30 de agosto de 1941)� Um operador alemão tinha uma grande mensagem para enviar (~4,000 caracteres)

� Configurou a sua Lorenz e enviou um indicador de 12 letras (posição inicial dos rotores) para o recetor

� Depois de ter escrito ~4,000 caracteres, manualmente, recebeu do recetor “envie outra vez”

� O operador emissor recolocou a sua Lorenz na mesma posição inicial� Mesma chave contínua! Completamente proibido!

� O emissor recomeçou o envio da mensagem, manualmente� Mas escreveu algo ligeiramente diferente!

� A descoberta� A mensagem começava com um texto padrão: SPRUCHNUMMER — número de mensagem

� Na primeira vez o operador escreveu S P R U C H N U M M E R� Na segunda vez escreveu S P R U C H N R� Assim, imediatamente após o N os dois criptogramas eram diferentes!

� As mensagens foram completamente decifradas por John Tiltman, em Bletchley Park, usando combinações aditivas dos criptogramas (chamados Depths) � A segunda mensagem era cerca de 500 caracteres mais curta que a primeira

� Assim se conseguiu obter, pela 1ª vez, um exemplar longo de uma chave contínua Lorenz� Tiltman ainda não sabia como a Lorenz operava, apenas sabia que o que tinha era o

resultado da sua operação!

Page 14: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

14

© André Zúquete Segurança Informática e nas Organizações 27

Criptanálise de Tunny em Bletchley Park (3/3):Criptanálise de Tunny em Bletchley Park (3/3):Criptanálise de Tunny em Bletchley Park (3/3):Criptanálise de Tunny em Bletchley Park (3/3):ColossusColossusColossusColossus

� A estrutura da cifra foi deduzida ada chave contínua capturada� Mas a decifra dependia do

conhecimento da posiçãoinicial dos rotores

� Os alemães começaram a usarnúmeros para definir o estado inicial dos rotores� Bill Tutte desenvolveu um método para o encontrar� A máquina Colossus foi desenvolvida para o aplicar

� Colossus� Conceção começou em março de 1943� O Colossus Mark 1 (1500 válvulas) operacional em jan. de 1944� Reduziu o tempo de criptanálise de semanas para horas

Chris Monk, www.flickr.com

© André Zúquete Segurança Informática e nas Organizações 28

Cifras modernas: tiposCifras modernas: tiposCifras modernas: tiposCifras modernas: tipos

� Quanto à operação� Por blocos (monoalfabéticas)� Contínuas (polialfabéticas)

� Quanto ao tipo de chave� Simétricas (chave secreta ou segredo partilhado)

� Potencialmente sujeitas a caução (escrowing)� Assimétricas (chave pública)

� CombinatóriaPor blocos Contínuas

Simétricas

Assimétricas

Page 15: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

15

© André Zúquete Segurança Informática e nas Organizações 29

Cifras simétricasCifras simétricasCifras simétricasCifras simétricas

� Chave secreta� Partilhada por 2 ou mais interlocutores

� Permitem� Confidencialidade para todos os conhecedores da chave� Autenticação de mensagens (cifra por blocos)

� Vantagens� Desempenho (normalmente muito eficientes)

� Desvantagens� N interlocutores, 2 a 2 secretamente � N x (N-1)/2 chaves

� Problemas� Distribuição de chaves

© André Zúquete Segurança Informática e nas Organizações 30

Cifras simétricas por blocosCifras simétricas por blocosCifras simétricas por blocosCifras simétricas por blocos

� Aproximações usadas� Blocos de grande dimensão

� 64, 128, 256, etc.� Difusão, confusão

� Permutação, substituição, expansão, compressão� Feistel Networks

� Li=Ri-1 Ri=Li-1⊕f(Ri-1,Ki)� Iterações

� Algoritmos mais usados� DES (Data Enc. Stand.), D=64; K=56� IDEA (Int. Data Enc. Alg.), D=64; K=128� AES (Adv. Enc. Stand., aka Rijndael), D=128, K=128, 192, 256� Outros (Blowfish, CAST, RC5, etc.)

Li Ri

Li-1 Ri-1

f(Ki)

Page 16: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

16

© André Zúquete Segurança Informática e nas Organizações 31

DES (DES (DES (DES (Data Encryption StandardData Encryption StandardData Encryption StandardData Encryption Standard) (1/4)) (1/4)) (1/4)) (1/4)

� 1970: necessidade de uma cifra padrão que para a sociedade civil

� 1972: NBS abre um concurso para uma nova cifra com os seguintes requisitos:� Alto nível de segurança� Completamente especificado, fácil de perceber� Algoritmo público

� secretismo dependente apenas das chaves� Multiusos� Economicamente realizável em dispositivos eletrónicos � Eficiente� Suscetível de validação� Suscetível de exportação

© André Zúquete Segurança Informática e nas Organizações 32

DES (2/4)DES (2/4)DES (2/4)DES (2/4)

� 1974: novo concurso� Proposta baseada no Lucifer da IBM� Blocos de 64 bits� Chaves de 56 bits, subchaves de 48 bits� Difusão, confusão

� Redes de Feistel� Permutação, substituição, expansão, compressão� 16 iterações

� Vários modos de funcionamento� ECB (Electronic Code Book), CBC (Cypher Block Chaining)� OFB (Output Feedback Mode), CFB (Cypher Feedback Mode)

� 1976: adotado nos EU como padrão federal

Page 17: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

17

© André Zúquete Segurança Informática e nas Organizações 33

DES (3/4)DES (3/4)DES (3/4)DES (3/4)

Input (64)

P I

L0 R0

Li Ri

L1 R1

KS1

L16 R16

KS16

inverso PI

output (64)

Li-1 Ri-1

Ri

E + P

S-Box i

K (56)

[i] [i]

C + P

P-box

KSi

Permutations

& iterations

Feistel

networks

Substitutions (S-boxes),

permutations (P-Boxes),

expansions,

compressions

© André Zúquete Segurança Informática e nas Organizações 34

DES: segurança oferecidaDES: segurança oferecidaDES: segurança oferecidaDES: segurança oferecida

� Escolha de chaves� Chaves fracas, semi-fracas e quasi-fracas� Fáceis de identificar

� Ataques conhecidos� Pesquisa exaustiva

� Dimensão das chaves� 56 bits são actualmente insuficientes

� A pesquisa exaustiva é tecnica e economicamente viável� Solução: cifra múltipla

� Cifra dupla não é completamente segura (teoricamente ...)� Cifra tripla: 3DES (Triple-DES)

� Com duas ou três chaves� Chaves equivalentes de 112 ou 168 bits

Page 18: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

18

© André Zúquete Segurança Informática e nas Organizações 35

Cifras simétricas contínuasCifras simétricas contínuasCifras simétricas contínuasCifras simétricas contínuas

� Aproximações usadas� Desenho de geradores pseudo-aleatórios seguros

� Baseados em LFSRs� Baseados em cifras por blocos� Outras aproximações (famílias de funções, etc.)

� Normalmente sem sincronização� Normalmente sem possibilidade de acesso aleatório rápido

� Algoritmos mais usados� A5 (GSM)� RC4 (802.11 WEP, etc.)� SEAL (com acesso aleatório rápido)

© André Zúquete Segurança Informática e nas Organizações 36

Linear Feedback Shift Register (LFSR)Linear Feedback Shift Register (LFSR)Linear Feedback Shift Register (LFSR)Linear Feedback Shift Register (LFSR)

� 2n-1 sequências não nulas� Se uma delas tiver período 2n-1 então todas o têm

� Funções de realimentação primitivas� Todas as sequências não nulas têm comprimento 2n - 1

Sn-1 S1 S0

Cn-1 C2 C1 C0

Estado inicial (chave)Função de realimentação

Ck

Page 19: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

19

© André Zúquete Segurança Informática e nas Organizações 37

Geradores com composições de LFSR:Geradores com composições de LFSR:Geradores com composições de LFSR:Geradores com composições de LFSR:A5/1 (GSM)A5/1 (GSM)A5/1 (GSM)A5/1 (GSM)

LFSR1

LFSR2

LFSR3

19 bits

22 bits

23 bits

MaioriaCk se = àmaioria

Maioria

© André Zúquete Segurança Informática e nas Organizações 38

Cifras assimétricas (por blocos)Cifras assimétricas (por blocos)Cifras assimétricas (por blocos)Cifras assimétricas (por blocos)

� Par de chaves� Uma privada, pessoal e intransmissível� Um pública

� Permitem� Confidencialidade sem troca de segredos� Autenticação

� De conteúdos (integridade)� De autoria (assinaturas digitais)

� Desvantagens� Desempenho (normalmente pouco eficientes)

� Vantagens� N interlocutores, N pares de chaves

� Problemas� Distribuição de chaves públicas� Tempo de vida dos pares de chaves

Page 20: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

20

© André Zúquete Segurança Informática e nas Organizações 39

Confidencialidade c/ cifras assimétricasConfidencialidade c/ cifras assimétricasConfidencialidade c/ cifras assimétricasConfidencialidade c/ cifras assimétricas

� Menos chaves� C = E(K, P) P = D(K-1, C)� Para comunicar confidencialmente com X basta conhecer a chave

pública de X (KX)� Não há autenticação

� X não sabe quem produziu o criptograma� Se KX for efetivamente pública, qualquer um o pôde fazer

KX (pública)

mensagem

KX-1 (privada)

criptograma mensagemcifra decifra

Mr. X

© André Zúquete Segurança Informática e nas Organizações 40

Autenticidade da fonte c/ cifras assimétricasAutenticidade da fonte c/ cifras assimétricasAutenticidade da fonte c/ cifras assimétricasAutenticidade da fonte c/ cifras assimétricas

� O criptograma não pode ser alterado� C = E(K-1, P) P = D(K, C);� Só X conhece a chave KX

-1 com que foi gerado� Não há confidencialidade

� Quem conhecer KX decifra o criptograma� Se KX for verdadeiramente pública, qualquer um o pode fazer

KX (pública)

mensagem

KX-1 (privada)

criptograma mensagemcifra decifra

Mr. X

Page 21: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

21

Cifras assimétricas (por blocos)Cifras assimétricas (por blocos)Cifras assimétricas (por blocos)Cifras assimétricas (por blocos)

� Aproximações: complexidade matemática� Cálculo de logaritmos discretos� Factorização de grandes números� Problema da mochila (knapsack)

� Algoritmos mais usados� RSA� ElGamal

� Outras técnicas com chave pública� Diffie-Hellman (negociação de chaves)

© André Zúquete Segurança Informática e nas Organizações 41

© André Zúquete Segurança Informática e nas Organizações 42

RSA (Rivest, Shamir, Adelman)RSA (Rivest, Shamir, Adelman)RSA (Rivest, Shamir, Adelman)RSA (Rivest, Shamir, Adelman)

� Publicado em 1978� Complexidade matemática

� Dificuldade de factorização de grandes números� Dificuldade de cálculo de logaritmos discretos

� Operações e chaves� K = (e, n) K-1 = (d, n)� C = Pe mod n P = Cd mod n� C = Pd mod n P = Ce mod n

� Escolha dos valores das chaves� n de grande dimensão (centenas ou milhares de bits)� n = p × q p e q primos, de grande dimensão� Escolher e coprimo de (p-1)×(q-1)� Procurar um d tal que e×d ≡ 1 mod (p-1)×(q-1)� Não se consegue deduzir d a partir de e ou de n

Page 22: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

22

© André Zúquete Segurança Informática e nas Organizações 43

RSA: exemploRSA: exemploRSA: exemploRSA: exemplo

� p = 5 q = 11(pequenos números primos)� n = p x q = 55� (p-1)(q-1) = 40

� e = 3� Coprimo de 40

� d = 27� e x d ≡ 1 mod 40

� P = 26 (note que P, C∈[0, n-1])� C = Pe mod n = 263 mod 55 = 31� P = Cd mod n = 3127 mod 55 = 26

© André Zúquete Segurança Informática e nas Organizações 44

ElGamalElGamalElGamalElGamal

� Publicado por El Gamal em 1984� Semelhante ao RSA

� Mas baseado apenas na dificuldade de cálculo de logaritmos discretos

� Uma variante é muito usada em assinaturas digitais� DSA (Digital Signature Algorithm)� US Digital Signature Standard (DSS)

� Operações e chaves (para assinaturas)� β = αx mod p K = (β, α, p) K-1 = (x, α, p)� k aleatório, k×k-1 ≡ 1 mod (p-1)� Assinatura de M: (γ,δ) γ = αk mod p δ = k-1 (M - xγ) mod (p-1)� Validação da assinatura de M: βγγδ ≡ αM (mod p)

� Problema� O valor de k precisa de ser secreto� O seu conhecimento revela x!

Page 23: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

23

Randomização de cifras com chave públicaRandomização de cifras com chave públicaRandomização de cifras com chave públicaRandomização de cifras com chave pública

� O resultado de uma cifra com chave pública não deverá ser determinístico (previsível)� N cifras do mesmo valor, coma mesma chave, devem produzir N resultados diferentes

� Objetivo: impedir a descoberta de valores cifrados por tentativa e erro

� Técnicas� Concatenação do valor a cifrar com dois valores

� Um fixo (para controlo de erros)� Um aleatório (para randomização)

© André Zúquete Segurança Informática e nas Organizações 45

Randomização de cifras com chave pública:Randomização de cifras com chave pública:Randomização de cifras com chave pública:Randomização de cifras com chave pública:OEAP (OEAP (OEAP (OEAP (Optimal Asymmetric Encryption PaddingOptimal Asymmetric Encryption PaddingOptimal Asymmetric Encryption PaddingOptimal Asymmetric Encryption Padding))))

© André Zúquete Segurança Informática e nas Organizações 46

Page 24: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

24

© André Zúquete Segurança Informática e nas Organizações 47

Aplicação das cifras:Aplicação das cifras:Aplicação das cifras:Aplicação das cifras:Modos de cifraModos de cifraModos de cifraModos de cifra

� Inicialmente propostos para o DES� ECB (Electronic Code Book)� CBC (Cipher Block Chaining)� OFB (Output Feeback Mode)� CFB (Cipher Feedback Mode)

� Podem ser usados com outras cifras� Em princípio ...

� Existem ainda outros modos de cifra� CTR (Counter Mode)

© André Zúquete Segurança Informática e nas Organizações 48

Modos de cifra:Modos de cifra:Modos de cifra:Modos de cifra:ECB e CBCECB e CBCECB e CBCECB e CBC

Electronic Code BookCi = EK(Ti)Ti = DK(Ci)

Cipher Block ChainingCi = EK(Ti ⊕ Ci-1)Ti = DK(Ci ) ⊕ Ci-1

T1 T2 Tn

C1 C2 Cn

EK EK EK EK

DK DK DK DK

T1 T2 Tn

T1 T2 Tn-1 Tn

C1 C2 Cn-1 Cn

EK EK EK EK EK

T1 T2 Tn-1 Tn

DK DK DK DK DK

IV

IV

Page 25: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

25

Modos de cifra ECB/CBC:Modos de cifra ECB/CBC:Modos de cifra ECB/CBC:Modos de cifra ECB/CBC:Problemas causados por subProblemas causados por subProblemas causados por subProblemas causados por sub----blocos blocos blocos blocos

� Os modos de cifra ECB e CBC requerem entradas alinhadas ao bloco� Sub-blocos terminais precisam de um tratamento especial

� Alternativas� Alinhamento com excipiente (padding)

� No último bloco, excipiente facilmente identificável� PKCS #7

� X = B – (M mod B)� X octetos extra, com o valor X

� PKCS #5� Igual ao PKCS #7 para B = 8

� Processamento diferente dos últimos blocos� Introduz complexidade

© André Zúquete Segurança Informática e nas Organizações 49

X X X

B

X

M

© André ZúqueteSegurança Informática e nas Organizações 50

Modos de cifra ECB/CBC:Modos de cifra ECB/CBC:Modos de cifra ECB/CBC:Modos de cifra ECB/CBC:Tratamento especial para subTratamento especial para subTratamento especial para subTratamento especial para sub----blocosblocosblocosblocos

� Cifra contínua � Ciphertext stealing

Cn-1

Tn

Cn

EK

Tn

EK

Cn-1

EK

DK

Tn-1

EK

DK

Tn-1

Cn

Tn

C’

C’

Tn C’

Tn-1

Cn-1

EK EK

Tn-1

DK DK

Cn

Tn

0

0

Tn C’

Cn-2

EK

Page 26: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

26

© André Zúquete Segurança Informática e nas Organizações 51

Modos de cifra:Modos de cifra:Modos de cifra:Modos de cifra:nnnn----bit OFB (Output Feedback)bit OFB (Output Feedback)bit OFB (Output Feedback)bit OFB (Output Feedback)

Ci = Ti ⊕ EK(Si)Ti = Ci ⊕ EK(Si)Si = f(Si-1, EK(Si-1))S0 = IV

T C

EK

IV

Realimentação

n

T1

C1

EK EK EK

Tn

Cn

EK EK EK

T1 Tn

IV

IV

© André Zúquete Segurança Informática e nas Organizações 52

Modos de cifra:Modos de cifra:Modos de cifra:Modos de cifra:nnnn----bit CFB (Ciphertext Feedback)bit CFB (Ciphertext Feedback)bit CFB (Ciphertext Feedback)bit CFB (Ciphertext Feedback)

Ci = Ti ⊕ EK(Si)Ti = Ci ⊕ EK(Si)Si = f(Si-1, Ci)S0 = IV

T C

EK

IV

Realimentação

n

T1

C1

EK EK EK

Tn

Cn

T1 Tn

IV

EK EK EKIV

Page 27: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

27

© André Zúquete Segurança Informática e nas Organizações 53

Modos de cifra:Modos de cifra:Modos de cifra:Modos de cifra:nnnn----bit CTR (Counter)bit CTR (Counter)bit CTR (Counter)bit CTR (Counter)

Ci = Ti ⊕ EK(Si)Ti = Ci ⊕ EK(Si)Si = Si-1+1S0 = IV

T C

EK

IV

Realimentação

+1

T1

C1

EK EK EK

Tn

Cn

T1 Tn

IV

+1 +1

EK EK EKIV

+1 +1n

© André Zúquete Segurança Informática e nas Organizações 54

Modos de cifra:Modos de cifra:Modos de cifra:Modos de cifra:ComparaçãoComparaçãoComparaçãoComparação

ECB CBC OFB CFB CTR

Não exposição padrões ���� ���� ���� ����

Confusão na entrada da cifra ���� ����contador secreto

Mesma chave para mensagens diferentes

���� ���� outro IV outro IVoutro IV(contador)

Dificuldade de alteração ���� ���� (...)

Pré-processamento ���� ����

Paralelização���� decifra com pré-

processam. decifra ����Acesso aleatório uniforme

Propagação de errosbloco

seguinte

alguns bits

seguintes

Capacidade de recuperar a sincronização

perda de blocos

perda de blocos

perda de múltiplos de n-bits

Page 28: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

28

© André Zúquete Segurança Informática e nas Organizações 55

Modos de cifra:Modos de cifra:Modos de cifra:Modos de cifra:Reforço da segurançaReforço da segurançaReforço da segurançaReforço da segurança

� Cifra múltipla� Cifra dupla

� Violável por intromissão em 2n+1 tentativas� Com 2 ou mais blocos de texto conhecido� Usando 2n blocos de memória ...

� Não é (teoricamente) muito mais segura ...� Cifra tripla (EDE)

� Ci = EK1(DK2 (EK3 (Ti))) Pi = DK3(EK2 (DK1 (Ci))� Normalmente usa-se K1=K3

� Se K1=K2=K3 transforma-se numa cifra simples

� Branqueamento (whitening)� Técnica simples e eficiente de introdução de confusão

� Ci = EK(K1 ⊕⊕⊕⊕ Ti ) ⊕⊕⊕⊕ K2 Ti = K1 ⊕⊕⊕⊕ DK(K2 ⊕⊕⊕⊕ Ci )

© André Zúquete Segurança Informática e nas Organizações 56

Funções de síntese (Funções de síntese (Funções de síntese (Funções de síntese (digestdigestdigestdigest))))

� Resultado de dimensão constante com entradas de dimensão variável� Uma espécie de “impressão digital” dos textos

� Resultados muito diferentes para entradas similares� Funções de dispersão criptográficas unidirecionais

� Propriedades relevantes:� Resistência à descoberta de um texto

� Dada uma síntese, é difícil encontrar um texto que o produza� Resistência à descoberta de um 2º texto

� Dado um texto, é difícil encontrar um segundo texto com a mesma síntese� Resistência à colisão

� É difícil encontrar dois textos com a mesma síntese� Paradoxo do aniversário

Page 29: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

29

© André Zúquete Segurança Informática e nas Organizações 57

Função de

compressão

� Aproximações� Difusão e confusão em funções de compressão� Construção Merkle-Damgård

� Compressão iterativa� Padding com o comprimento

� Algoritmos mais comuns� MD5 (128 bits)

� Já não é seguro! É fácil descobrir colisões!� SHA-1 (Secure Hash Algorithm, 160 bits)

� Ainda não se conhecem colisões (por enquanto)� Não se conhece nenhuma forma de as gerar (por enquanto)

� Outros� SHA-2, aka SHA-256/SHA-512, SHA-3, etc.

Funções de sínteseFunções de sínteseFunções de sínteseFunções de síntese((((digestdigestdigestdigest))))

IV

T1

síntese

Tn

Código de autenticação de mensagemCódigo de autenticação de mensagemCódigo de autenticação de mensagemCódigo de autenticação de mensagem((((Message Authentication Code Message Authentication Code Message Authentication Code Message Authentication Code , MAC), MAC), MAC), MAC)� Síntese gerada com recurso a uma chave

� Só os conhecedores da chave conseguem gerar/validar o MAC� Aproximações:

� Cifrando uma síntese normal� Por exemplo, com uma cifra simétrica por blocos

� Usando uma função chaveada, realimentação e propagação de erros� ANSI X9.9 (ou DES-MAC) com DES CBC (64 bits)

� Usando uma chave nos parâmetros da função� Keyed-MD5 (128 bits)

MD5(K, keyfill, texto, K, MD5fill)� Construção HMAC (dimensão da função de síntese usada)

H(K, opad, H(K, ipad, texto)) ipad = 0x36 B vezesopad = 0x5C B vezesHMAC-MD5, HMAC-SHA, etc.

© André Zúquete Segurança Informática e nas Organizações 58

Page 30: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

30

© André Zúquete Segurança Informática e nas Organizações 59

Assinaturas digitaisAssinaturas digitaisAssinaturas digitaisAssinaturas digitais

� Objectivo� Autenticar o conteúdo de um documento

� Garantir a sua integridade� Autenticar o seu assinante

� Assegurar a identidade do criador/originador� Poder assegurar a autenticação perante terceiros

� Os autores genuínos não podem negar a autoria� Não-repúdio

� Aproximações usadas� Cifra de chave pública� Funções de síntese

� Apenas para aumentar o desempenho!� Algoritmos

Assinatura: Ax(doc) = info + E(Kx-1, digest(doc+info))

Verificação: info�KxD(Kx, Ax(doc)) ≡≡≡≡ digest(doc + info)

© André Zúquete Segurança Informática e nas Organizações 60

Diagramas de assinatura e validaçãoDiagramas de assinatura e validaçãoDiagramas de assinatura e validaçãoDiagramas de assinatura e validação

wikipedia, http://en.wikipedia.org/wiki/Digital_signature

Page 31: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

31

© André Zúquete Segurança Informática e nas Organizações 61

Assinatura digital num eAssinatura digital num eAssinatura digital num eAssinatura digital num e----mail:mail:mail:mail:Conteúdos MIME multiparte, assinatura c/ certificadosConteúdos MIME multiparte, assinatura c/ certificadosConteúdos MIME multiparte, assinatura c/ certificadosConteúdos MIME multiparte, assinatura c/ certificados

From - Fri Oct 02 15:37:14 2009

[…]

Date: Fri, 02 Oct 2009 15:35:55 +0100

From: =?ISO-8859-1?Q?Andr=E9_Z=FAquete?= <[email protected]>

Reply-To: [email protected]

Organization: IEETA / UA

MIME-Version: 1.0

To: =?ISO-8859-1?Q?Andr=E9_Z=FAquete?= <[email protected]>

Subject: Teste

Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg=sha1; boundary="------------ms050405070101010502050101"

This is a cryptographically signed message in MIME format.

--------------ms050405070101010502050101

Content-Type: multipart/mixed;

boundary="------------060802050708070409030504"

This is a multi-part message in MIME format.

--------------060802050708070409030504

Content-Type: text/plain; charset=ISO-8859-1

Content-Transfer-Encoding: quoted-printable

Corpo do mail

--------------060802050708070409030504—

--------------ms050405070101010502050101

Content-Type: application/x-pkcs7-signature; name="smime.p7s"

Content-Transfer-Encoding: base64

Content-Disposition: attachment; filename="smime.p7s"

Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIamTCC

BUkwggSyoAMCAQICBAcnIaEwDQYJKoZIhvcNAQEFBQAwdTELMAkGA1UEBhMCVVMxGDAWBgNV

[…]

KoZIhvcNAQEBBQAEgYCofks852BV77NVuww53vSxO1XtI2JhC1CDlu+tcTPoMD1wq5dc5v40

Tgsaw0N8dqgVLk8aC/CdGMbRBu+J1LKrcVZa+khnjjtB66HhDRLrjmEGDNttrEjbqvpd2QO2

vxB3iPTlU+vCGXo47e6GyRydqTpbq0r49Zqmx+IJ6Z7iigAAAAAAAA==

--------------ms050405070101010502050101--

© André Zúquete Segurança Informática e nas Organizações 62

Assinaturas às cegas (com ofuscação)Assinaturas às cegas (com ofuscação)Assinaturas às cegas (com ofuscação)Assinaturas às cegas (com ofuscação)

� Assinaturas digitais em que o assinante “não vê” o que assina� Semelhantes a uma assinatura sobre um envelope fechado com

um documento e papel-químico dentro� Servem para garantir o anonimato e a não alteração da

informação assinada� O assinante X sabe quem lhe pede a assinatura (Y)� X assina T1, mas Y depois recupera a assinatura sobre T2

� T2 não é qualquer, está relacionado com T1

� O requerente pode apresentar T2 assinado por X� Mas não pode alterar T2

� X não consegue associar T2 ao T1 que viu e assinou

Page 32: Criptografia - SWEETsweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/3-cryptography.pdf · Criptografia: aproximações práticas (2/4) 5 critérios de Shannon A quantidade de secretismo

32

© André Zúquete Segurança Informática e nas Organizações 63

Assinaturas às cegas de ChaumAssinaturas às cegas de ChaumAssinaturas às cegas de ChaumAssinaturas às cegas de Chaum

� Usa RSA� Ofuscação (blinding)

� Fator de cegamento K aleatório� k × k-1 ≡ 1 (mod N)� m’ = ke × m mod N

� Assinatura normal� Ax (m’) = (m’)d mod N

� Anulação da ofuscação (unblinding)� Ax (m) = k-1 × Ax (m’) mod N