Top Banner
TSEG-2 Ivan Sendin News... News Hashing Autentica¸c˜ ao Contas T´opicos em Seguran¸ ca da Informa¸ ao Aula 2 Ivan Sendin FACOM - Universidade Federal de Uberlˆ andia [email protected],[email protected] 23 de agosto de 2019
38

TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

Aug 18, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

Topicos em Seguranca da Informacao

Aula 2

Ivan Sendin

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

23 de agosto de 2019

Page 2: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

https://br.cointelegraph.com/news/

cryptojacking-code-found-in-eleven-open-libraries-thousands-infected

https://www.wired.co.uk/article/

new-zealand-bitcoin-salary-tax-libra-cryptocurrency

Nunca esqueca da Oferta-Procura

Limite de B21 milhoes

O mundo tem 35 milhoes de milionarios (em US$)

https://www.reddit.com/r/Bitcoin/

comments/7x2t2l/if_every_millionaire_

wanted_1_btc_they_couldnt/

Page 3: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

Funcoes de hashing

h = H(x)

Propriedade Tem Nao consegue

Unidirecionalidade h x ′, h = H(x ′)Resistencia a 2a Pre-Imagem x , h x ′, h = H(x ′)Resistencia a colisoes - x , x ′,H(x) = H(x ′)

Page 4: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

Autenticacao

luke:kjdhsajk8798jkl

darth:kjdhsajk8798jkl

leia:kjdhsajk8798jkl

Page 5: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

Autenticacao

luke:kjdhsajk8798jkl

darth:kjdhsajk8798jkl

leia:kjdhsajk8798jkl

?????

Darth consegue adivinhar a senha de Luke....

Page 6: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

Autenticacao

luke:kjdhsajk8798jkl:Meu mestre

darth:kjdhsajk8798jkl:Carinha verde

leia:kjdhsajk8798jkl:Try Not

Dados de sistemas comprometidos sao (em geral)publicados

Lembrete de senhas (3a coluna...)

Page 7: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

Autenticacao

Rainbow Table

Pre-Computacao

Tabela h(x), x

Indexada por h(x)

x vem de dicionarios GIGANTESCOS

space/time trade-off

h() e caixa-preta

Page 8: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

Autenticacao com Salt

Salt

r bits gerados aleatoriamente...

Hs(x) = r |H(r |x)

luke:kjdhsajk8798jkl

darth:mncnkdjiip879k

leia:hjkkancloeyuiqqw

(os n primeiros caracteres sao de salt.... a senha e amesma)

Aumenta a complexidade/tempo em 2|r |

Inviabiliza pre-computacao

senhas iguais → hashes diferentes

(Equivalente a usar funcoes diferentes!!)

USO OBRIGATORIO

Page 9: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

Fatos exponenciais....

Dobras Resultado

0 0.1 mm1

1 0.2 mm9 5/6 cm - resma

43 Lua / 384.000 km53 Sol / 150.000.000 km

1Chute

Page 10: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas hash de 160 bits

Dado x1 e x2, x1 6= x2

p(H(x1) == H(x2)) =?

Page 11: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

p(H(x1) == H(x2)) =?1

2160

Page 12: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

Mega Sena

≈ 606

(6.10)6

≈ (2.3.23.3)6

≈ (2.22.23.3)6

(26.3)6

≈ 237

Page 13: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas hash de 160 bits: 12160

Mega Sena: 1237

37 para 160, um fator de 4....

Page 14: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

hash de 160 bits: 12160

Mega Sena: 1237

Muito, mas muito, distante!!

(Curiosidades : https://rationalwiki.org/

wiki/Improbable_things_happen)

Page 15: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

Algoritmo para inverter...

h = H(1000 random bits)

repita

t = H(1000 random bits)

until t==h

Quantas vezes o laco se repete para uma funcao de 10bits?

Page 16: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

Hash - Seguranca

A probabilidade de inverter e muito pequena

Na pratica: p() == 0 (para n > 160)

Facil: dicionario!!

Page 17: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

DiceWare

Senhas: com !,$,#,...

Anotar ou nao anotar!

a posse de criptomoedas se da peloconhecimento de chaves privadas!

Page 18: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

Diceware

Arnold Reinhold

Lista com 7776 palavras curtas e “faceis”

Sem duvidas ortograficas: xuxu ou chuchu ?

existem listas diferentes para paıses diferentes...

Pq 7776 palavras?

Page 19: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

Diceware

...

43136 mulct

43141 mule

43142 mull

43143 multi

43144 mum

43145 mummy

43146 munch

43151 mung

...

Fonte: https://en.wikipedia.org/wiki/Diceware7776 = 65

Page 20: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

Senhas e autenticacao

Download da lista

Escolha 5 dados honestos

(compre o jogo War e descarte 1 dado!)

Repita X vezes:

Jogue os 5 dados

Ache a palavra correspondente e anote

Forme uma frase mnemonica com as palavras

Quime o papel, os dados e testemunhas.

Page 21: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

Senhas e autenticacao

bola, vasoMemorize: “A bola quebrou o vaso”

https://xkcd.com/936/

Page 22: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

Senhas e autenticacao

Qual e a seguranca deste metodo?

Voce trocaria a sua senha pelo Diceware??

Page 23: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

HashCash

Servicos gratuitos podem cobrar inversoes parciais,evitando abusos

email X spam

Solucao: colocar no header do email uma campo,com um string S tal que:

H(S |subject|Recipient|timestamp...) < K

Page 24: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

H(S |subject|Recipient|timestamp...) < K

S deve ser gerado por busca exaustiva

Para K = 1, temos 12n

...

Para n = 10 e K = 102, temos p = 1/10 em cadatentativa...

O servidor verifica em apenas um passo!

Email legitimo: ok, voce pode esperar um miniyopara enviar!

Spam com milhares de emails: NAO!!!

Page 25: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

PoW

O Proof of Work e o mecanismo de obtencao deconsenso do Bitcoin

E de outras moedas

O Bitcoin e implementado em uma rede P2P comnos que nunca se viram antes!!

Compartilham e atualizam uma ED: Blockchain

Page 26: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

Meu Bloco - Versao ZERO

Altura

Dificuldade

Timestamp

Transacoes

"Random"

Anterior

Page 27: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

Bloco - Transacoes

Vetor,lista

Transacoes que circularam na rede P2P

Validades

”Conta Origem”→ ”Conta Destino”

A primeira transacao e especial: nao tem Origem

Cada minerador escolhe o destino

Page 28: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

Bloco - Mineracao

O Hash do bloco deve ser menor que umdeterminado valor

(Campo Dificuldade)

Cabe ao minerador1 Coletar e validar as transacoes2 “montar” o bloco2

3 Gerar - por tentativa e erro - o ”random”4 Propagar o bloco quando ele for minerado ou5 Acatar os blocos corretos recebidos!

2Lembrando que o bloco apresentado e uma versao...

Page 29: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

Bloco - Encadeamento

Os blocos “apontam” para o anterior....

Quanto mais antigo bloco, mais difıcil e ”forjar”umnovo conteudo

Os blocos que estao nas ultima posicoes podemsofrer alteracoes!!!

Para transacoes de valores grandes, e aconselhavelaguardar o bloco ficar ”antigo”

Page 30: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

Paradoxo do aniversario

Qual e a probabilidade de 2 pessoas fazeremaniversario no mesmo dia??

1365

(Considerando uma distribuicao uniforme...)

Aniversario no mesmo dia ≡ colisao

Qual o tamanho minimo um grupo deve ter paraque a probabilidade seja ≥ 1

2

Page 31: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

Paradoxo do aniversario- Contas

P(haver pelo menos um par)

(dois pares, um trio)

P(haver...) = 1 -P(Nao haver...)

P(Nao haver...) = 365365

.364365

.363365

. . . .

P(Nao haver...) = 0.49 para 23 termos

P(haver...) = 0.51 para 23 termos

Page 32: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

Paradoxo do aniversario- Contas

Encontrar um colisao e mais facil do que a nossaintuicao diz

E mais facil do que inverter

O tamanho de seguranca do hash code depende daaplicacao!!

Page 33: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

Paradoxo do aniversario - Forja....

Produzir uma colisao

Mi 6= Mj

H(Mi) == H(Mj)

Produzir n sequencias aleatorias

Calcular o hash de cada uma delas

Para n = 2h/2, p() ≈ 0.5

Em resumo/pratica: o tamanho do hash seguro e odobro do tamanho da chave segura

Detalhe: gasta muita memoria!

Page 34: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

Compromissos - Commitments

Eu preciso me comprometer com uma informacao:M

Eu nao posso/quero revelar a informacao nomomento

Eu publico H(M)

Page 35: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

Compromissos - Commitments /

Aplicacoes

Leilao de Envelope fechado

Os candidatos enviam envelopes fechados e lacradosate uma data limite

No dia do leilao, o leiloeiro abre os envelopes edetermina o melhor lance

(comum em licitacoes/privatizacoes)

Page 36: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

Compromissos - Commitments /

Aplicacoes

Leilao de Envelope fechado

O candidato i envia hi = H(Mi)

Cada hi e publicado

Apos a fase de compromisso, os candidatos revelamMi

O leiloeiro e os demais candidatos podem verificar alegitimidade de cada Mi

(Diferente do sistema de envelope o candidato podedesistir sem revelar Mi)

Page 37: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

Exercicios do Dia

Escolha um deles...

Valor: 7/100

Data:29/Agosto (PDF por email)

PoW Implementar uma funcao de PoW.Parametros um limite K e uma string base.Rodar e ver o tempo conforme a variacao deK .

Colisao/Aniversario Implementar uma funcao queencontre colisoes - usando o Paradoxo doAniversario. Tamanho da colisaoparametrizavel. Rodar e ver o tempoconforme a variacao do tamanho da colisao.

Page 38: TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco - Minera˘c~ao O Hash do bloco deve ser menor que um determinado valor (Campo Di

TSEG-2

Ivan Sendin

News...

News

Hashing

Autenticacao

Contas

Exercicios do Dia

Google Authenticator Gerar uma string de 6 digitosdecimais usando um segredo e o relogio,com um intervalo de 30s.

Contas Defina como calcular o numero esperadotentativas para inverter um hash