CS 683 - Security and Privacy Fall 2019
Instructor: Karim Eldefrawy
University of San Francisco
http://www.cs.usfca.edu/~keldefrawy/teaching /fall2019/cs683/cs683_main.htm
1
CS 683 - Security and Privacy Fall 2019 Instructor: Karim Eldefrawy - - PowerPoint PPT Presentation
CS 683 - Security and Privacy Fall 2019 Instructor: Karim Eldefrawy University of San Francisco http://www.cs.usfca.edu/~keldefrawy/teaching /fall2019/cs683/cs683_main.htm 1 Privacy cy and Anonymity 2 Privacy Privacy and Society
http://www.cs.usfca.edu/~keldefrawy/teaching /fall2019/cs683/cs683_main.htm
1
2
3 (Image from geekologie.com)
passes through them
gateways
4
marketers, archival/search entities (e.g., Google) as well as from criminals and snoops
5
buyer’s identity)
anarchy; that's an argument against work.” – Bob Black J
6
7
varies)
communication than they were before
8
9
pseudonyms”. Communications of the ACM, February 1981.
10
Before spam, people thought anonymous email was a good idea J
11
A C D E B
{r1,{r0,M}pk(B),B}pk(mix) {r0,M}pk(B),B {r2,{r3,M’}pk(E),E}pk(mix) {r4,{r5,M’’}pk(B),B}pk(mix) {r5,M’’}pk(B),B {r3,M’}pk(E),E
Adversary knows all senders and all receivers, but cannot link a sent message with a received message
A B
MIX {r1,{r0,M}pk(B),B}pk(mix) {r0,M}pk(B),B
M includes {K1,A}pk(mix’), K2 where K2 is a fresh public key and MIX’ is possibly different from MIX
Response MIX’
{K1,A}pk(mix’), {r2,M’}K2
A,{{r2,M’}K2}K1
Secrecy without authentication (good for an online confession service J)
guarantees some anonymity
13
expensive
between hops on the circuit
established circuits
compromised
14
15
16
Bob
Alice
[Reed, Syverson, Goldschlag 1997]
17
Bob Alice
{R2,k1}pk(R1),{ }k1 {R3,k2}pk(R2),{ }k2 {R4,k3}pk(R3),{ }k3 {B,k4}pk(R4),{ }k4 {M}pk(B)
Web browsing)
18
Router #1
19
with Onion Router #2
20
with Onion Router #3
21
circuit (also to multiple dst-s)
22
23
knowing where it is or who runs it
24
25
Server creates circuits to “introduction points” Server gives intro points’ descriptors and addresses to service lookup directory Client obtains service descriptor and intro point address from directory
26
Client creates a circuit to a “rendezvous point” Client sends address of the rendezvous point and any authorization, if needed, to server through intro point If server chooses to talk to client, connect to rendezvous point Rendezvous point matches the circuits from client & server
27
recipient untraceability.” Journal of Cryptology, 1988.
computational power
28
but wishes to remain anonymous. 1. Each diner flips a coin and shows it to his left neighbor.
2. Each diner announces whether the two coins are the same. If he is the payer, he lies (says the opposite). 3. IF Number of “same”=1 or 3 Þ NSA is paying IF Number of “same”=0 or 2 Þ one of them is paying
29
30
“same” “different”
payer payer
“same” “different”
Without knowing the coin toss between the other two, non-payer cannot tell which of them is lying
31
“same” “same”
payer payer
“same” “same”
Without knowing the coin toss between the other two, non-payer cannot tell which of them is lying
it to ONE neighbor
message bit occurs once
32
33
34
35
36
Deposit
Withdrawal
37
“OK”
Quantum Money” sent in 1970 to IEEE Transactions on Information Theory
propose (realizable) E-Cash using blind digital signatures
1000s of bits)
declared bankruptcy in 1998.
1970s 2000s 1990s
From Chaum’s “Blind Signatures for Untraceable Payments” paper:
and time of payment)
payment, or determine identity of payee under exceptional circumstance (e.g., by courts)
user 1 user 2
user 1 user 2
withdraw coins withdraw coins user 1 user 2
user 1 user 2
transfer coins user 2
Was it user 1
user 2
47
48
49
50
51
Tracing be used to fight big-time international crime
52
Heart of Each Coin is a Digital Signature
Secret Minting Key to Create Coins (Signatures)
Public Verification Key to Recognize Coins
53
E-Cash Withdrawer
SN= 12345 SN = 12345 BankSig SN= 12345 SN = 12345 BankSig
The Mint
54
One Dollar
SN 12345
The Mint E-Cash Withdrawer $1 signing key
55
E-Cash User The Mint
SN= 12345 SN = 12345 BankSig BankSig BankSig
56
One Dollar
The Mint $1 signing key E-Cash Withdrawer
57
E-Cash User The Mint
SN= 12345 SN = 12345 BankSig BankSig BankSig
58
SN= 12345
E-Cash User
Trustee 1 Trustee 2 escrow key1 escrow key2
59
primes of at least 2048 bits
Given exponent e and me (mod N), find m
60
(continued)
61
Public Information:
Private Minting Information: Key = p,q prime numbers such that N=pq A coin has the form: (x,H(x)d mod N), 1 < x < N
62
E-Cash User The Mint
x,H(x)
x,H(x)d
x,H(x)
x,H(x)d
63
= p,q
signed
message (unblinded one) similar to a standard digital signature
signer and author of message are different entities
linking the blinded message it signs to a later un-blinded version that it may be called upon to verify
(to withdraw coins: obtain Bank’s signature on a coin (m))
(6) I got this coin: sig(m) for coin m Was it M?
(4) transfer coins: sig(m) (1) send blinded coin/message (m’) (2) sign coin: sig(m’) (3) unblind the coin to obtain sig(m)
(6) Not sure!? I saw a random value: m’
(5) receive goods or services
66
E-Cash User The Mint
chooses random
x,H(x)
x, H(x)d
reH(x) reH(x)
rH(x)d rH(x)d
and e*d = 1 mod Φ(N)
a blinding factor. (GCD = greatest common divisor)
(to withdraw coins: obtain Bank’s signature on a coin (m))
(6) I got this coin: s = md * modN Was it M?
(4) transfer coins: send coin s (1) m’ = m * re modN (2) s’ = md * r modN (3) s = s’ * r-1 modN = md * modN
(6) Not sure!? I saw a random value: s’ = md * r modN
(5) receive goods or services
69
expressed as a number
*
= Coin = (ga mod p1, gb mod p1, H(ga,gb)d mod N) where I = ab mod p2
70
Buyer
ga mod p1, gb mod p1, H(ga,gb)1/3
Seller
71
Large Ecosystem Market Capitalization over $120 Billion (over $300 Billion in 2017) Number of transactions growing steadily
i.e., computationally infeasible to recreate data from hash value alone, e.g., the secure hash algorithm (SHA)
i. easy to compute hash value h( ) of any message m ii. given h(m) it is (computationally) infeasible to recover m iii. infeasible to modify m without h(m) being also modified iv. infeasible to find two different m with same hash (collision resistance)
economic measure to prevent denial-of-service and spam by requiring clients to solve computationally-demanding puzzles, e.g., find a number that has a certain preamble (say 3 zeros) in its hash
How to maintain integrity of a public ledger in a distributed manner (BTC answer: longest chain of verified transactions) How to use such a ledger for transactions (BTC answer: transferring coins via signatures) How to incentivize people to allocate CPU power to ensure integrity of the longest chain (BTC answer: reward with new minted coins when verifying transactions, also called mining)
ensuring integrity of transactions and keeping track of
available for anyone to inspect
Owner 0 is transferring Coin(s) to Owner 1 A (Bit)coin is defined as a chain of digital signatures.
the hash
into the hash
(the Btitcoin blockchain)
Hash Hash Block Item Item … Block Item Item …
256) the hash begins with a certain number of zeros (control
first transaction in a block is a special transaction that starts a new coin owned by the creator of the block.
Block Tx Tx … Previous Hash Nonce (to be found) Block Tx Tx … Previous Hash Nonce (to be found)
Additional Features:
trees to compress history of coins
handled with one transaction
Digital Currency Scheme Centralized/ Decentralized Can be Regulated? Security Guarantees Privacy/Anonymity Guarantees Resilience Guarantees Bitcoin, Namecoin Fully (P2P) Decentralized No SHA-256 proof-of- work Unrecoverable (but Linkable) Anonymity P2P Decentralized Ledger Litecoin Fully (P2P) Decentralized No Scrypt-based proof-of-work Unrecoverable (but Linkable) Anonymity P2P Decentralized Ledger Zerocoin Fully (P2P) Decentralized No SHA-256 proof-of- work Unrecoverable, Unlinkable Anonymity P2P Decentralized Ledger PPcoin Fully (P2P) Decentralized No SHA-256 proof-of- work/proof-of- stake Unrecoverable (but Linkable) Anonymity P2P Decentralized Ledger Ripple Fully (P2P) Decentralized No Trust-based consensus Anonymity Level Varies P2P Decentralized Ledger
–Essentially all following the Bitcoin blueprint –Ethereum is the new kid on the block (smart
contracts via a “Turing complete” language)