Moedas Aula 9 - FACOMsendin/Cursos/TSEG/2S2019/aula7x.pdf · 2019. 9. 27. · TSEG-9 Ivan Sendin...

Post on 25-Aug-2020

4 views 0 download

Transcript of Moedas Aula 9 - FACOMsendin/Cursos/TSEG/2S2019/aula7x.pdf · 2019. 9. 27. · TSEG-9 Ivan Sendin...

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 Uberlandiaivansendin@yahoo.com,sendin@ufu.br

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