TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
Topicos em Seguranca da Informacao
Aula 9
Ivan Sendin
FACOM - Universidade Federal de [email protected],[email protected]
27 de setembro de 2019
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
ImplementacaoO Bitcoin prove pseudo-anonimato
Precisamos de dinheiro anonimo??
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
O Bitcoin prove pseudo-anonimato
Precisamos de dinheiro anonimo??
Terrorismo?Armas de destruicao emmassa?Pornografia infantil?
Uso legitimo??
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
Existem bitcoins ”congelados”/vigiados
Darket Markeplace, Ransomware, (s)extorsao,ponzi,...
Em geral deixam rastro, as carteiras sao conhecidas!
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
Silk Road
Silk Road
Marketplace especializado em produtos ilegais
Dread Pirate Robert
https://guiadobitcoin.com.br/
governo-dos-eua-arrecada-48-milhoes-com-a-venda-dos-bitcoins-apreendidos-no-silkroad/
https://news.bitcoin.com/
rogue-silk-road-agent-admits-to-stealing-bitcoins-seized-by-u-s-marshals/
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
Anonimizacao e Lavagem
Desassociacao de uma carteira suja
Outras carteiras, identidade fısica
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
Anonimizacao e Lavagem
ATM
Exchanges: permitem saues em moeda fiat.Recentemente houve um endurecimento das regras(passaporte?)
Apostas
Mixer Servicos especializados em misturar astransacoes. Barreira legal(?)
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
Fonte: Bitcoin Laundering : An Analysis of Illicit Flows into Digital Currency Services. / elliptic.com
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
Privacidade
privacy coins
A buscaOs requisitos pra obtencao de pivacidadeesta no projeto da moeda
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
Monero
web.monero.org
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
Monero - Stealth Adddresses
Stealth addresses
Os enderecos sao de uso unico (por definicao deprojeto)
Existem os enderecos publicos associados aentidades
Os enderecos destino de uma transacao sao a“mistura” do endereco publico com um salt
Diffie Hellman
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
Monero - Ring Signatures
Ring Signatures
Um grupo de pessoas esta autorizada assinar
O verificador nao sabe quem assinou
How to leak a secret. Rivest, Shamir, and Tauman,ASIACRYPT 2001.
Servico de mixing “dentro” da moeda
mixin level
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
Monero - Kovri
I2P / Kovri
Ciframento
Identificacao por PK
roteadores
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
Outras
Zcash: fork do Bitcoin, usa zk-SNARKs paraexecutar as transacoes
Dash: CoinJoin
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
(Mais) Referencias
Bitcoin Laundering : An Analysis of Illicit Flows intoDigital Currency Services. Fanusie, Yaya J andRobinson, Tom
An anlysis of Bitcoin Laundry Services. Balthasar,Thibault and Julio, Hernandez-Castrom
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao O que sao provas??
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
O que sao provas??
E uma processo de convencimento (WalterCarnielli-?)
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
O que sao provas??
E uma processo de convencimento (WalterCarnielli-?)
”E uma sequencia de simbolos obedecendo certasregras”
”Prova e uma computacao”
”processo fisico mecanico, se esse processo terminaem um estado particular, voce deve aceitar oteorema como verdadeiro!”
https://www.scottaaronson.com/democritus/
lec12.html
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
Coloracao de mapas
Um mapa pode ser colorido com 4 cores
Cuidado com os cantos/arestas
1800 - 5 cores
Varias provas ”desprovadas”
Appel-Haken (John A. Koch) 1976
1,936 configuracoes geradas e checadas por umcomputador
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
ImplementacaoComo voce prova que voce e voce ?
(Banco, sistema computacional,...)
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
Como voce prova que voce e voce ?
(Banco, sistema computacional,...)
Voce e voce pq voce conhece um segredo.
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
Como voce prova que voce e voce ?
(Banco, sistema computacional,...)
Voce e voce pq voce conhece um segredo.
Voce prova que e voce contando o segredo!
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
Contar um segredo nao e a forma mais segura deprovar que voce sabe um segredo!!
Quando voce prova, voce esta ensinado alguem...
Replay
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao Gostarıamos de provar sem ensinar nada...
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
Exemplo 1
Em algum momento na nossa evolucao a nossacapacidade de enxergar cores surgiu ( P&B paracolorido) (OK... nau funcina assim!)
OU
Amigo daltonico, que nao acredita nas outras cores
Como convencer alguem que voce consegue enxegarmais cores?
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
Exemplo 1
2 bolas de bilhar (verde a azul)
O seu amigo segura cada uma com uma das maos
Escondido, decide trocar ou nao de mao
Voce diz se ele troucou ou nao
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
Exemplo 1
Conincidencia??
Repita n vezes!
(http://www.wisdom.weizmann.ac.il/oded/ poster.high.jpg)
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
ZK
Provas de Conhecimento (Liberado) Zero
Goldwasser and Silvio Micali
Geralmente Iterativas
Desafio-Resposta
Acaba com o Replay
Man in the middle(?)
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
ZK - Propriedades
Completeness Verificador sera convencido por umprovador honesto
Soundness Verificador detecta um provador desonesto(probabilistico)
ZK Verificador nao aprende nada
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
Exemplo 2 - Coloracao de Grafos
Decidir se G pode ser colorido com 3 cores e NPC
Colorir G toma tempo exponencial...inviavel paraem G razoavelmente grande!
Quero provar que eu conheco a 3-Coloracao de umdeterminado grafo
Este e o meu segredo... e a prova que eu sou eu
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
Exemplo 2
1 V conhece um grafo G
2 P conhece um grafo G 3-Colorido
3 P : Gera para cada vertice:
H(Randomi |Vi tem cor G )
4 Envia para V
5 V : Escolhe uma aresta (u, v)
6 P : Envia (Randomu,Randomv , coru, corv )
7 V verifica
8 Passo 3...
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
Exemplo 2
1 V conhece um grafo G
2 P conhece um grafo G 3-Colorido
3 P : Permutacao aleatoria das cores dografo:{R ,G ,B} → {G ,R ,B}
4 P : Gera para cada vertice:
H(Randomi |Vi tem cor G )
5 Envia para V
6 V : Escolhe uma aresta (u, v)
7 P : Envia (Randomu,Randomv , coru, corv )
8 V verifica
9 Passo 3...
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
Exemplo 2
Como modelar a confianca de V ?
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
Exemplo 2
Quanto de confianca V ganha em cada iteracao?
Uma coloracao nao e valida se existe ao menos um(u, v) com cor(u) = cor(v)
Probabilidade do falso provador ser descoberto:
≥ 1
|E |Probabilidade do falso provador enganar :
< (1− 1
|E |)
Apos n iteracoes
1− (1− 1
|E |)n
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
Exemplo 2
Decidir se G pode ser colorido com 3 cores e NPC
Colorir G toma tempo exponencial...inviavel paraem G razoavelmente grande!
(de fato e isso que queremos!)
Onde esta o segredo??
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
Exemplo 2
O segredo esta em colorir um grafo sem arestas
Crie um grafo grande com centenas de vertices
Divida estes vertices em 3 grupos/cores
Sorteie vertices de cores diferentes e crie uma arestaentre eles
Repita ate cansar!(Cudado!)
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
Sudoku
Vamos supor que resolver sudoku seja realmentedifıcil...
Vamos supor que voce tenha um dom especial deresolver sudoku
Implementacao do ZK Sudoku!
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
Sudoku
O verificador fornece um sudoku inicial
O provador finaliza o jogo
O provador prova que finalizou o jogo em mostrar ojogo finalizado
ZK
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
Sudoku
Data: 3/Outubro
Valor: 10
TSEG-9
Ivan Sendin
Anonimato ePrivacidade
Moedas
Provas
ZK em grafos
Implementacao
Enderecos e Google
Scrapping de paginas/site buscando enderecosbitcoins nao me parece ser muito eficiente
O Google ja tem tudo issoem sua base de dados?
Como perguntar para o google?
google hacking, google API, expressoes regulares
EXTRA nao sei se tem solucao razoavel!
Valor 5 pontos
Data: 3/Outubro