TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco...
Transcript of TSEG-2 Ivan Sendin News T opicos em Seguranca˘ da …sendin/Cursos/TSEG/2S2019/aula2.pdf · Bloco...
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
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/
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 ′)
TSEG-2
Ivan Sendin
News...
News
Hashing
Autenticacao
Contas
Autenticacao
luke:kjdhsajk8798jkl
darth:kjdhsajk8798jkl
leia:kjdhsajk8798jkl
TSEG-2
Ivan Sendin
News...
News
Hashing
Autenticacao
Contas
Autenticacao
luke:kjdhsajk8798jkl
darth:kjdhsajk8798jkl
leia:kjdhsajk8798jkl
?????
Darth consegue adivinhar a senha de Luke....
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...)
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
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
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
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)) =?
TSEG-2
Ivan Sendin
News...
News
Hashing
Autenticacao
Contas
p(H(x1) == H(x2)) =?1
2160
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
TSEG-2
Ivan Sendin
News...
News
Hashing
Autenticacao
Contas hash de 160 bits: 12160
Mega Sena: 1237
37 para 160, um fator de 4....
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)
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?
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!!
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!
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?
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
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.
TSEG-2
Ivan Sendin
News...
News
Hashing
Autenticacao
Contas
Senhas e autenticacao
bola, vasoMemorize: “A bola quebrou o vaso”
https://xkcd.com/936/
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??
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
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!!!
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
TSEG-2
Ivan Sendin
News...
News
Hashing
Autenticacao
Contas
Meu Bloco - Versao ZERO
Altura
Dificuldade
Timestamp
Transacoes
"Random"
Anterior
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
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...
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”
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
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
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!!
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!
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)
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)
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)
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.
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