Decentralizing Privacy: Using Blockchain to Protect Personal Data - - PowerPoint PPT Presentation

decentralizing privacy using blockchain to protect
SMART_READER_LITE
LIVE PREVIEW

Decentralizing Privacy: Using Blockchain to Protect Personal Data - - PowerPoint PPT Presentation

Decentralizing Privacy: Using Blockchain to Protect Personal Data Guy Zyskind , Oz Nathan, Alex Sandy Pentland Guy Zyskind Decentralizing Privacy: 2 Using Blockchain to Protect Personal Data The problem of


slide-1
SLIDE 1

Guy Zyskind Decentralizing Privacy: Using Blockchain to Protect Personal Data

  • 2

Decentralizing Privacy: Using Blockchain to Protect Personal Data

  • Guy Zyskind, Oz Nathan, Alex ‘Sandy’ Pentland
slide-2
SLIDE 2

Guy Zyskind Decentralizing Privacy: Using Blockchain to Protect Personal Data

  • 3

The problem of protecting personal data

User perspective:

  • Security breaches: a single point of

failure

  • Users don’t own their data (lack of
  • wnership)
  • Users can’t audit (lack of

transparency)

  • Data are stored centrally (Trusted Third Party model):
slide-3
SLIDE 3

Guy Zyskind Decentralizing Privacy: Using Blockchain to Protect Personal Data

  • 4

The problem of protecting personal data

User perspective:

  • Security breaches: a single point of

failure

  • Users don’t own their data (lack of
  • wnership)
  • Users can’t audit (lack of

transparency)

  • Data are stored centrally (Trusted Third Party model):

Service perspective:

  • Cost (compliancy, security audits,

Hiring CS PhDs…)

  • Brand reputation
  • Simplicity
slide-4
SLIDE 4

Guy Zyskind Decentralizing Privacy: Using Blockchain to Protect Personal Data

  • 5

General idea – A (verifiable) privacy-preserving decentralized cloud

Service Registry Server Service

blockchain

DHT DHT

slide-5
SLIDE 5

Guy Zyskind Decentralizing Privacy: Using Blockchain to Protect Personal Data

  • 6

General idea – Simulate TTPs with a P2P network + blockchain

Service Registry Server Service

blockchain

DHT DHT

Eliminates trust. Decentralized:

  • Access-control (Blockchain)
  • Storage (DHT)
  • Privacy-preserving Computations

(MPC)

slide-6
SLIDE 6

Guy Zyskind Decentralizing Privacy: Using Blockchain to Protect Personal Data

  • 7
  • Proposed in 2008 in a paper by

Satoshi Nakamoto (pseudonym).

  • Enables parties to directly transfer

a digital currency (Bitcoins) without a TTP (i.e., banks).

  • Instead, a network of untrusted

peers ensures the validity of all transactions.

  • All correct transactions are

publicly verifiable through a public ledger (the blockchain).

A brief introduction to Bitcoin

slide-7
SLIDE 7

Guy Zyskind Decentralizing Privacy: Using Blockchain to Protect Personal Data

  • 8

How does Bitcoin work? In a nutshell ..

Goal: Construct a public time-stamped log of all valid transactions without using TTPs.

slide-8
SLIDE 8

Guy Zyskind Decentralizing Privacy: Using Blockchain to Protect Personal Data

  • 9

How does Bitcoin work? In a nutshell ..

Goal: Construct a public time-stamped log of all valid transactions without using TTPs. How? Every ~10 minutes (expected time), reach a distributed consensus ensuring valid mempool (floating) transactions are grouped into a block. Then, append the block to the end of the chain. The blockchain is the desired public log.

slide-9
SLIDE 9

Guy Zyskind Decentralizing Privacy: Using Blockchain to Protect Personal Data

  • 10

Distributed consensus mechanism

Nakamoto consensus (AKA – Proof of Work): For every round t and every miner m:

slide-10
SLIDE 10

Guy Zyskind Decentralizing Privacy: Using Blockchain to Protect Personal Data

  • 11

Distributed consensus mechanism

Nakamoto consensus (AKA – Proof of Work): For every round t and every miner m:

  • Collect mempool transactions (tx’s) and validate them. Construct block bm,t
slide-11
SLIDE 11

Guy Zyskind Decentralizing Privacy: Using Blockchain to Protect Personal Data

  • 12

Distributed consensus mechanism

Nakamoto consensus (AKA – Proof of Work): For every round t and every miner m:

  • Collect mempool transactions (tx’s) and validate them. Construct block bm,t
  • Attempt to solve a hard computational puzzle [SHA-256(SHA-256(bm,t)) <

target].

slide-12
SLIDE 12

Guy Zyskind Decentralizing Privacy: Using Blockchain to Protect Personal Data

  • 13

Distributed consensus mechanism

Nakamoto consensus (AKA – Proof of Work): For every round t and every miner m:

  • Collect mempool transactions (tx’s) and validate them. Construct block bm,t
  • Attempt to solve a hard computational puzzle [SHA-256(SHA-256(bm,t)) <

target].

  • First miner to solve broadcasts the solution. All other miners independently

validate the solution (work + all included transactions). If correct, they append it to their local copy of the blockchain.

slide-13
SLIDE 13

Guy Zyskind Decentralizing Privacy: Using Blockchain to Protect Personal Data

  • 14

Distributed consensus mechanism

Nakamoto consensus (AKA – Proof of Work): For every round t and every miner m:

  • Collect mempool transactions (tx’s) and validate them. Construct block bm,t
  • Attempt to solve a hard computational puzzle [SHA-256(SHA-256(bm,t)) <

target].

  • First miner to solve broadcasts the solution. All other miners independently

validate the solution (work + all included transactions). If correct, they append it to their local copy of the blockchain.

  • Solver receives newly minted coins and tx fees.
slide-14
SLIDE 14

Guy Zyskind Decentralizing Privacy: Using Blockchain to Protect Personal Data

  • 15

How are transactions deemed valid? Scripts!

  • Every transaction is associated with a script (actually, every tx output is

associated with a script called scriptPubKey).

  • Nodes validate transactions by executing the script with the arguments given

in the tx by the sender (most importantly – her sig).

  • Can run arbitrary verifications – not just financial (smart contracts).
slide-15
SLIDE 15

Guy Zyskind Decentralizing Privacy: Using Blockchain to Protect Personal Data

  • 16

Our framework (Overview)

Goal: when a user installs a mobile app, she can control and audit what data are stored and how they are used. Access should be revokable.

slide-16
SLIDE 16

Guy Zyskind Decentralizing Privacy: Using Blockchain to Protect Personal Data

  • 17

Our framework (Overview)

Goal: when a user installs a mobile app, she can control and audit what data are stored and how they are used. Access should be revokable. Solution: Store access-policies to personal data on the blockchain. Then, let the blockchain nodes moderate access to a DHT.

read data read data

service

approved?

slide-17
SLIDE 17

Guy Zyskind Decentralizing Privacy: Using Blockchain to Protect Personal Data

  • 18
  • User u and service s each

generate a signing key pair.

  • A symmetric encryption key is

generated and shared over a secure channel.

  • The user approves the list of

permissions POLICYu,s

  • u sends Taccess(pku,s, pks,u,

POLICYu,s) to the blockchain.

  • Also used for uninstall/modify.

Sign up (or user downloads the app)

sku,s

(enc)

  • service

(pku,s , sku,s ) (pks,u , sks,u )

Blockchain

slide-18
SLIDE 18

Guy Zyskind Decentralizing Privacy: Using Blockchain to Protect Personal Data

  • 19

Storing data:

  • Send Tdata(Ev,’w’) . Nodes verify

sig against policy.

  • Set k=SHA-256(Eu,s(v))

Storing & loading data

Blockchain

write tx + enc. data key reference to the data

  • (key stored on blockchain,

data stored on DHT).

slide-19
SLIDE 19

Guy Zyskind Decentralizing Privacy: Using Blockchain to Protect Personal Data

  • 20

Storing data:

  • Send Tdata(Ev,’w’) . Nodes verify

sig against policy.

  • Set k=SHA-256(Eu,s(v))

Reading data:

  • Send Tdata(k,’r’). Nodes verify sig

against policy.

  • Return v ß DHT[k]

Storing & loading data

Blockchain

read tx + key

  • enc. data
  • iff approved

service

slide-20
SLIDE 20

Guy Zyskind Decentralizing Privacy: Using Blockchain to Protect Personal Data

  • 21

Security and privacy analysis

  • An adversary controlling any number of DHT nodes

cannot compromise privacy (because of encryption).

For ¡every ¡real ¡ ¡ adversary ¡A ¡

slide-21
SLIDE 21

Guy Zyskind Decentralizing Privacy: Using Blockchain to Protect Personal Data

  • 22

Security and privacy analysis

  • An adversary controlling any number of DHT nodes

cannot compromise privacy (because of encryption).

  • An adversary controlling less than 50% of the

computational power of miners cannot compromise privacy or resiliency (Nakamoto consensus & forging digital signatures)

For ¡every ¡real ¡ ¡ adversary ¡A ¡

slide-22
SLIDE 22

Guy Zyskind Decentralizing Privacy: Using Blockchain to Protect Personal Data

  • 23

Security and privacy analysis

  • An adversary controlling any number of DHT nodes

cannot compromise privacy (because of encryption).

  • An adversary controlling less than 50% of the

computational power of miners cannot compromise privacy or resiliency (Nakamoto consensus & forging digital signatures)

  • An adversary controlling the service can learn as

much as permissions allows, but traceable. An improved model follows.

For ¡every ¡real ¡ ¡ adversary ¡A ¡

slide-23
SLIDE 23

Guy Zyskind Decentralizing Privacy: Using Blockchain to Protect Personal Data

  • 24

Security and privacy analysis

  • An adversary controlling any number of DHT nodes

cannot compromise privacy (because of encryption).

  • An adversary controlling less than 50% of the

computational power of miners cannot compromise privacy or resiliency (Nakamoto consensus & forging digital signatures)

  • An adversary controlling the service can learn as

much as permissions allows, but traceable. An improved model follows.

  • In general, an adversary can’t learn anything, as that

implies forging either the user or the service’s sig.

For ¡every ¡real ¡ ¡ adversary ¡A ¡

slide-24
SLIDE 24

Guy Zyskind Decentralizing Privacy: Using Blockchain to Protect Personal Data

  • 25

Adding secure computation

Problem: Malicious services could read the raw data and store them. In addition, encrypted DHTs are mainly useful for random search.

slide-25
SLIDE 25

Guy Zyskind Decentralizing Privacy: Using Blockchain to Protect Personal Data

  • 26

Adding secure computation

Problem: Malicious services could read the raw data and store them. In addition, encrypted DHTs are mainly useful for random search. Solution: Instead of direct-access, use secure MPC. The network already exists!

slide-26
SLIDE 26

Guy Zyskind Decentralizing Privacy: Using Blockchain to Protect Personal Data

  • 27

Adding secure computation

Problem: Malicious services could read the raw data and store them. In addition, encrypted DHTs are mainly useful for random search. Solution: Instead of direct-access, use secure MPC. The network already exists! Implementation (sketch):

  • Instead of encrypting data, secret-share them. Policies now allow services to

compute functions over private data, but they can’t obtain the raw data.

  • Taccess and Tdata require small modifications. Off-chain network needs to be

extended from storage only to MPC.

slide-27
SLIDE 27

Guy Zyskind Decentralizing Privacy: Using Blockchain to Protect Personal Data

  • 28

Security and privacy analysis (MPC)

Key observations:

  • An adversary controlling the service can never

reveal the raw data. Specifically, if x are the secret shared data, the service can only obtain f(x).

  • Privacy and resiliency follows feasibility results of

secure MPC [BGW87] (unconditionally secure and resilient against a dishonest minority. Better bounds exist with computational assumptions).

For ¡every ¡real ¡ ¡ adversary ¡A ¡

slide-28
SLIDE 28

Guy Zyskind Decentralizing Privacy: Using Blockchain to Protect Personal Data

  • 29

Reputation and trust

  • Bitcoin’s PoW is an expensive way to reach distributed consensus.
  • It weighs each node based on its computational power (trustn ∝ resources(n))
  • Instead, approximate trust (or reputation) by node’s honesty. For example:

* A plausible example; this is an open question requiring significant research.

slide-29
SLIDE 29

Guy Zyskind Decentralizing Privacy: Using Blockchain to Protect Personal Data

  • 30

Conclusions and future work

  • Blockchains are a practical tool for removing TTPs from the equation.
  • Can be used to govern access-control and ensure transparency.
  • Personal data are not stored centrally (DHT); third-parties run MPC protocols
  • n the network without accessing raw data directly.
  • Future work: making secure MPC scalable for large n & high dimensional data;

formalizing atomicity of operations; ease-of-use (a parser).