t opicos em seguranca˘ da informa˘c~ao cifrador aula 3 fun...

59
TSEG-3 Ivan Sendin Aula Ante-Passada Aula Passada Cifrador Fun¸ c˜oesTrapdoor Estabelecimento de Chaves Exercicios T´opicos em Seguran¸ ca da Informa¸ ao Aula 3 Ivan Sendin FACOM - Universidade Federal de Uberlˆ andia [email protected],[email protected] 30 de agosto de 2019

Upload: others

Post on 25-Oct-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Topicos em Seguranca da Informacao

Aula 3

Ivan Sendin

FACOM - Universidade Federal de [email protected],[email protected]

30 de agosto de 2019

Page 2: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Page 3: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

github

Go Lang, ML, Python, JavaScript, seguranca,criptografia,...

Page 4: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Aula Passada

Exponencial

PoW (Hashcash)

Diceware

Page 5: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Page 6: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Altura

Dificuldade

Timestamp

Transacoes

"Random"

Anterior

Page 7: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Altura

Dificuldade

Timestamp

Transacoes

"Random"

Anterior

Altura

Dificuldade

Timestamp

Transacoes

"Random"

Anterior

Altura

Dificuldade

Timestamp

Transacoes

"Random"

Anterior

Altura

Dificuldade

Timestamp

Transacoes

"Random"

Anterior

Page 8: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Page 9: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Cifrador

Confidencialidade

A/B compartilham uma chave secreta

(como??)

Cifram/Decifram a informacao

Page 10: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

openssl

openssl enc -d -aes-256-cbc -salt -in file.enc

-out saida.txt

-pass file:pass.txt

openssl enc -d -aes-256-cbc -salt -in file.enc

-out saida.txt

-pass file:pass.txt

Page 11: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Cifrador

Alice e Bob compartilham ”pass.txt”

Num mundo smples: pen drive, papel,...

Num mundo real: problemao!!

Como voce conecta com seguranca em um site dooutro lado do mundo??

Page 12: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Numeros Grandes

Criptografia usa numeros grandes

256 bits, 4096 bits...

+,-,×,...

”Vetor”de Inteiros

O tamaho do numero esta limitado pela memoria docomputador

(arquitetura do hardware)

Page 13: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Funcoes Trapdoor

Algumas computacoes sao faceis!

5× 7 = 35

Algumas sao difıceis

2|35?, 3|35, 5|35

Poly X Exp

Na pratica, existe um tamanho limite entre o quepode ser computado e o que nao pode!

Page 14: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Exponenciacao modular

an (mod p)

Page 15: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Exponenciacao modular

3n (mod 19)

Page 16: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Exponenciacao modular

n 3n 3n (mod 19)1 3 32 9 93 27 84 81 55 243 156 729 77 2187 28 6561 69 19683 18

10 59049 1611 177147 1012 531441 1113 1594323 1414 4782969 415 14348907 1216 43046721 1717 129140163 1318 387420489 1

Page 17: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Exponenciacao modular

O algoritmo e exponenciacao intuitivo gasta O(2n)operacoes de multiplicacao

(n e o numero de bits do expoente)

Um algoritmo mais inteligente tem ganhoexponencial de desempenho....

Por exemplo, para calcular k8:

Intuitivo: k .k .k .k .k .k .k .k

Inteligente: ((k2)2)2

Page 18: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Problema do logaritmo discreto

Dado l , b, p , determinar k tal que bk (mod p) = l

Dado 17 , determinar k tal que 3k (mod 19) = 17

Intratavel

O problema do log discreto pode ser computado emum computador classico em tempo polinomial?

Page 19: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Escolha de chaves

Alice e Bob querem conversar de forma privada

Eva (eavesdropper) fica escutando tudo...

Alice e Bob conhecem um bom cifrador

mas nao compartilham nenhum segredo....

Todos envolvidos conhecem o basico dematematica: multiplicacao (exponenciacao)

Page 20: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Escolha de chaves

Alice, Bob e Eva conhecem uma base g

(Alice pode escolher um numero aleatorio e colocarno blog dela...)

Alice escolhe uma chave a e calcula g a

Bob escolhe uma chave b e calculae gb

Alice faz um bradcast de g a, Bob faz de gb

Alice conhece: g , a, g a, gb

Bob conhece: g , b, gb, g a

Eva conhece: g , gb, g a

Page 21: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Escolha de chaves

Alice conhece: g , a, g a, gb

Alice faz (gb)a, obtendo g ab

Bob conhece: g , b, gb, g a

Bobo faz (g a)b, obtendo gba = g ab

Eva conhece: g , gb, g a

Eva faz o que??

g a+b!!!

A chave e g ab

Page 22: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Escolha de chaves

g = 5

Alice conhece a = 3

Bob conhece b = 4

Qual e a chave de Alice/Bob?

O que Eva consegue obter?

Page 23: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Escolha de chaves

g = 5

Alice conhece g = 5, a = 3, envia g a = 125

Bob conhece b = 4, g = 5, envia gb = 625

Eva: g e captura 125, 625

Alice faz 6253 = 244140625

Bob faz 1254 = 244140625

a chave e 244140625

Eva?

Page 24: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Escolha de chaves

Calcular o logaritmo nao e uma tarefa realmentecomplicada...

Quem conhece g e g a, conhece a

O protocolo real e feito “modulo p”

g a (mod p)

O problema do logaritmo discreto e complexo(=muito tempo)

(repita as contas com p = 37)

Page 25: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Escolha de chaves - Versao Discreta

Valores publicos: g = 5, p = 37

Alice escolhe a = 3

Calcula g a = 125

125 (mod 37) = 14

Alice envia 14 pelo canal inseguro

Page 26: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Escolha de chaves - Versao Discreta

g = 5, p = 37, a′ = 14

Bob escolhe b = 4

calcula gb = 625

625 (mod 37) = 33

Page 27: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Escolha de chaves - Versao Discreta

g = 5, p = 37, a′ = 14, b′ = 33

Alice calcula (gb)a

333 = 35937

35937 (mod 37) = 10

Bob calcula (g a)b

144 = 38416

38416 (mod 37) = 10

a chave e 10

Page 28: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Escolha de chaves - Versao Discreta

g = 5, p = 37, a′ = 14, b′ = 33

Eva? 5, 37, 14, 33....

Por forca bruta calcula a (ou b)

4k bits

Page 29: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Troca de Chaves

Ou key agreement

Conhecido com Protocolo Diffie-Hellman (DH)

Ralph Merkle

1974 (Graduacao em UC Berkley)Projeto rejeitado pelo professorArtigo rejeitado pela ACM

I am sorry to have to inform you thatthe paper is not in the main stream ofpresent cryptography thinking and Iwould not recommend that it be publishedin the Communications of the ACM.

Page 30: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Troca de Chaves

Base para a criptografia de chave publica

Hashing (Merkle Tree /Patente 1979)

Diffie-Hellman

New directions in cryptography

Diffie-Hellman-Merkle key exchange

Page 31: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

RSA

Rivest Shamir Adleman - 1977

Clifford Cocks - 1973

Communications-Electronics Security Group(CESG)/MI51997

Seguranca esta atrelada a dificuldade de fatoracaode numeros (grandes)

1024/2048/4096

(Quase) Padrao para ciframento assimetrico

(Nao e verdade nas criptomoedas!)

Usado em assinaturas

Page 32: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

RSA - Exemplo

Para o RSA eu vou mostrar alguns exemplos....

omitir teoremas, lemas e provas

Page 33: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

’O’ = 79

e=263

79**263 =

119103633132394031611410757850229209301851346209308631116830

957951721807627305691976414497175853449195305231884529725564

155746411063263716015816443890687214665126154139978954049467

359585932731778014521575630696619093761510807110870269289641

327510266673413110636550743558068243455440126122503959437910

734602801604560325141268813807459657875679617035692376010619

422645904847024614161813532211602751388718141823845283790397

546382194733011031182480704891415251766845411408755167652731

99147375096105153839L

n=713

(79**263) % 713 = 168

Page 34: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

[168L]

d=527

(168**527)% 713 = 79

[’O’]

Page 35: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Existe um metodo pra gerar e=263, d=527 en=713.

Eles estao ammarados um no outro

O e e a chave publica(PK): todo mundo podeconhecer e associar a um determinado indivıduo

Todo mundo consegue cifrar

Apenas quem conhece d(chave privada/secreta SK)

Page 36: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Vamos inverter a ordem das operacoes...

’O’ = 79

79 ** 527 % 713 = 145

O individuo que conhece d gerou o par (79,145)!

Page 37: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

(79,145)

145**263 % 713 = 79

Page 38: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Somente o dono da chave SK consegue gerar o par(X , S)...

tal que Spk = X !!

(OK, com numeros deste tamanho eu tambemconsigo!)

Isso e uma assinatura digital

Sign(M) := Sign(H(M))

Page 39: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Curvas Elipticas

Curvas Elipticas

Outro sistema de chaves assimetricas

Assinaturas Digitais

chaves e assinaturas menores (256bits)

DH sobe um par ordenado

Bitcoin!

Page 40: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Uma transacao BTC

Uma ordem de transferencia de bitcoins de umendereco(≈conta) para outro endereco

Os bitcoins sao criados em uma transacao especialchamada de coinbase

E a primeira transacao de um bloco

As transacoes sao identificadas pele seu hash code

Pos Address Valor

1 Pk1 302 Pk2 20

TxHash 0xabcdef

Apos esta transacao Pk1 e Pk2 estao aptos a gastarseus bitcoins

Page 41: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Nota: Uma transacao bitcoin e mais complexa do quevoce vera na aula de hoje. Uma transacao e o resultadoda execucao de um script que permite a implantacao dealgumas funcionalidades interessantes. A aula de hojemodela uma transacao para uma moeda bem simples!

Page 42: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Uma transacao BTC - Gastando!

Definir a entrada

Definir a saıda

Assinar

Enviar para a rede P2P do BTC

(Para o usuario e mais simples!)

Page 43: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Uma transacao BTC - Gastando!

O ”dono”da Pk1 gasta seus B20 em uma transacaoindicando a(s) entrada(s):

1 O TxHash da transacao: 0xabcdef2 A posicao na transacao: 1

Page 44: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Uma transacao BTC - Gastando!

O ”dono”da Pk1 gasta seus B20 em uma transacaoindicando a(s) saida(s):

1 PKo ,Vo

2 PKp,Vq

3 PKr ,Vs

A soma dos valores deve ser inferior ou igual aototal da entrada

A transacao e gasta integralmente!

Bem diferente de uma conta de banco.

Page 45: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Uma transacao BTC - Gastando!

E possıvel que existam enderecos de troco

Pode ser igual ao da entrada (fortementedesaconselhavel!)

Page 46: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Uma transacao BTC - Gastando!

A diferenca entre os valores de entrada e saıda e aremuneracao dos mineradores

tip/taxa

(os mineradores recebem mais do que o valor datransacao de coinbase)

Nao existe padrao para este valor

No futuro, os mineradores receberao apenas estastaxas

No criterio de escolha de mineracao de uma tx,incluem valor da taxa, tamanho, idade,...

Page 47: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Uma transacao BTC - Gastando!

Uma vez que as entradas e saıdas sao definidas

A tx deve ser assinada por cada SK correspondentea PK da entrada

Agora e so mandar para a rede!

Page 48: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

UTXO

Unspent Transaction Output

Quando a TX chega na rede os mineradoresverificam se cada uma das transacoes da entradaainda nao foram gastas

(Alem da assinatura!)

Os minerados precisam manter um ED com astransacoes disponıveis

(muita memoria!!)

Page 49: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Uma transacao BTC

PKs (sem CPF,RG,...)

pseudo anonimato do BTC!

Existem moedas mais anonimas que o Bitcoin

Page 50: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Tx e Anonimato

Se voce faz varios gastos usando oa entrada comotroco....podemos aprender sobre os seus habitos deconsumo!

Existem heurısticas aplicadas no troco

Page 51: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Tx e Anonimato

As entradas de um xt precisam ser assinadas...

Momento sensıvel e ıntimo

Quase uma regra: PKs na entrada de umatransacao pertencem a mesma pessoa!!

Transitivo

Page 52: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Tx e Anonimato

Dusting

Alguem espalha uma quantidade minima de BTCem diversas PKs

Quando algum for gastar, o software queadministra a carteira tem a tendencia a juntar estespequenos valores na entrada da tx

Revela um entidade na blockchain

Page 53: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Word Cloud

Automatico/automatizado

Selecionar alguns sites

web scraping/parsing

Resultado: codigo(s), lista de palavras, links dossites, e a imagem

Page 54: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Aniversario

Implementacao de Analise

O Paradoxo do Aniversario e um metodo parabuscar colisoes

Ingenuo: Par a Par (ou Fixo)

Paradoxo: Conjunto

Page 55: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Aniversario

Implementar a busca ingenua e usando o paradoxo

comparar a media do numero de operacoes dehash necessarias para achar uma colisao detamanho n

Grafico comparativo

Page 56: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Forca Bruta no RSA

pk = (e, n)

c = pe (mod n)

Sao conhecidos: c , e, n

Como descobrir p??

Page 57: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Forca Bruta no RSA

Como descobrir p??

Forca Bruta!!

para t : 2..(n − 1),

execute o ciframento e verifique a igualdade

(biblioteca de numeros grandes!)

Page 58: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Forca Bruta no RSA

Entrada: link no site

Entrega: codigo e medicoes de tempo

Page 59: T opicos em Seguranca˘ da Informa˘c~ao Cifrador Aula 3 Fun ...sendin/Cursos/TSEG/2S2019/aula3.pdf · -pass file:pass.txt openssl enc -d -aes-256-cbc -salt -in file.enc-out saida.txt-pass

TSEG-3

Ivan Sendin

AulaAnte-Passada

Aula Passada

Cifrador

Funcoes Trapdoor

Estabelecimentode Chaves

Exercicios

Exercicios - Resumo

Word Cloud: 5

Aniversario/analise: 7

Forca Bruta no RSA: 6

Alvo:1, Maximo: 2.