15-744: Computer Networking L-18 Privacy. Overview CCN 2.

Slides:



Advertisements
Similar presentations
Circumventing Web Censorship Nick Feamster. An Old Problem Many governments/companies trying to limit their citizens access to information –Censorship.
Advertisements

Privacy and Anonymity Nick Feamster CS 6262 Spring 2009.
SPATor: Improving Tor Bridges with Single Packet Authorization Paper Presentation by Carlos Salazar.
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Information-Centric Networks09c-1 Week 9 / Paper 3 VoCCN: Voice Over Content-Centric Networks –V. Jacobson, D. K. Smetters, N. H. Briggs, M. F. Plass,
Tor: The Second-Generation Onion Router
1 Internet Protocol Version 6 (IPv6) What the caterpillar calls the end of the world, nature calls a butterfly. - Anonymous.
PPPoE Last Update Copyright Kenneth M. Chipps Ph.D. 1.
Improving Wireless Privacy with an Identifier-Free Link Layer Protocol Ben Greenstein, Damon McCoy, Jeffrey Pang, Tadayoshi Kohno, Srinivasan Seshan, and.
1 Computer Networks: A Systems Approach, 5e Larry L. Peterson and Bruce S. Davie Chapter 8 Network Security Copyright © 2010, Elsevier Inc. All rights.
Modelling and Analysing of Security Protocol: Lecture 10 Anonymity: Systems.
How do Networks work – Really The purposes of set of slides is to show networks really work. Most people (including technical people) don’t know Many people.
Crowds: Anonymity for Web Transactions Paper by: Michael K. Reiter and Aviel D. Rubin, Presented by Eric M. Busse Portions excerpt from Crowds: Anonymity.
MOBILITY SUPPORT IN IPv6
Security Awareness: Applying Practical Security in Your World
Networking Theory (Part 1). Introduction Overview of the basic concepts of networking Also discusses essential topics of networking theory.
بسم الله الرحمن الرحيم NETWORK SECURITY Done By: Saad Al-Shahrani Saeed Al-Smazarkah May 2006.
Oct 21, 2004CS573: Network Protocols and Standards1 IP: Addressing, ARP, Routing Network Protocols and Standards Autumn
By: Bryan Carey Randy Cook Richard Jost TOR: ANONYMOUS BROWSING.
Link Setup Time (ms) Details : How do sender and receiver synchronize i ? Discovery/binding messages: infrequent and narrow interface  short term linkability.
Gnutella, Freenet and Peer to Peer Networks By Norman Eng Steven Hnatko George Papadopoulos.
Anonymization and Privacy Services Infranet: Circumventing Web Censorship and Surveillance, Feamster et al, Usenix Security Symposium 2002.
Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.
1 Chapter 13: Representing Identity What is identity Different contexts, environments Pseudonymity and anonymity.
1 Freenet  Addition goals to file location: -Provide publisher anonymity, security -Resistant to attacks – a third party shouldn’t be able to deny the.
The OSI Model A layered framework for the design of network systems that allows communication across all types of computer systems regardless of their.
Anonymity on the Web: A Brief Overview By: Nipun Arora uni-na2271.
0x1A Great Papers in Computer Security Vitaly Shmatikov CS 380S
Anonymizing Network Technologies Some slides modified from Dingledine, Mathewson, Syverson, Xinwen Fu, and Yinglin Sun Presenter: Chris Zachor 03/23/2011.
15-744: Computer Networking L-23 Privacy. 2 Overview Routing privacy Web Privacy Wireless Privacy.
FIREWALL TECHNOLOGIES Tahani al jehani. Firewall benefits  A firewall functions as a choke point – all traffic in and out must pass through this single.
Freenet: A Distributed Anonymous Information Storage and Retrieval System Presentation by Theodore Mao CS294-4: Peer-to-peer Systems August 27, 2003.
Freenet. Anonymity  Napster, Gnutella, Kazaa do not provide anonymity  Users know who they are downloading from  Others know who sent a query  Freenet.
CECS 5460 – Assignment 3 Stacey VanderHeiden Güney.
CEN Network Fundamentals Chapter 19 Binding Protocol Addresses (ARP) To insert your company logo on this slide From the Insert Menu Select “Picture”
Chapter 13 – Network Security
An efficient secure distributed anonymous routing protocol for mobile and wireless ad hoc networks Authors: A. Boukerche, K. El-Khatib, L. Xu, L. Korba.
Lecture#1 on Internet. Internet Addressing IP address: pattern of 32 or 128 bits often represented in dotted decimal notation IP address: pattern of 32.
1 Infranet: Submersible Surfing Nick Feamster Magdalena Balazinska Greg Harfst Hari Balakrishnan David Karger.
Freenet: A Distributed Anonymous Information Storage and Retrieval System Presenter: Chris Grier ECE 598nb Spring 2006.
Crowds: Anonymity for Web Transactions Michael K. Reiter Aviel D. Rubin Jan 31, 2006Presented by – Munawar Hafiz.
Network Security Lecture 20 Presented by: Dr. Munam Ali Shah.
1 Chapter Overview Password Protection Security Models Firewalls Security Protocols.
Network Security. 2 SECURITY REQUIREMENTS Privacy (Confidentiality) Data only be accessible by authorized parties Authenticity A host or service be able.
1 Network Administration Module 3 ARP/RARP. 2 Address Resolution The problem Physical networks use physical addresses, not IP addresses Need the physical.
Freenet “…an adaptive peer-to-peer network application that permits the publication, replication, and retrieval of data while protecting the anonymity.
CSE 592 INTERNET CENSORSHIP (FALL 2015) LECTURE 22 PHILLIPA GILL - STONY BROOK U.
Wireless Security Rick Anderson Pat Demko. Wireless Medium Open medium Broadcast in every direction Anyone within range can listen in No Privacy Weak.
Improving Wireless Privacy with an Identifier-Free Link Layer Protocol Ben Greenstein, Damon McCoy, Yoshi Kohno, Jeffrey Pang, Srini Seshan, and David.
ISDS 4120 Project 1 DWAYNE CARRAL JR 3/27/15. There are seven layers which make up the OSI (Open Systems Interconnection Model) which is the model for.
Doc.: IEEE /1022r0 Submission September 2008 Greenstein (Intel) et al. Slide 1 SlyFi: Enhancing Privacy by Concealing Link Layer Identifiers.
Firewalls A brief introduction to firewalls. What does a Firewall do? Firewalls are essential tools in managing and controlling network traffic Firewalls.
1 Transport Layer: Basics Outline Intro to transport UDP Congestion control basics.
Ad Hoc On-Demand Distance Vector Routing (AODV) ietf
Mobile IP 순천향대학교 전산학과 문종식
K. Salah1 Security Protocols in the Internet IPSec.
1 Anonymity. 2 Overview  What is anonymity?  Why should anyone care about anonymity?  Relationship with security and in particular identification 
Mobile IP THE 12 TH MEETING. Mobile IP  Incorporation of mobile users in the network.  Cellular system (e.g., GSM) started with mobility in mind. 
Hiding in the Dark: The Internet You Cannot See Marc Visnick
15-744: Computer Networking
Anonymous Internet Protocols
Practical Censorship Evasion Leveraging Content Delivery Networks
Anonymous Communication
Web Caching? Web Caching:.
0x1A Great Papers in Computer Security
Presentation by Theodore Mao CS294-4: Peer-to-peer Systems
Anonymous Communication
Privacy in Content-Oriented Networking: Threats and Countermeasures
Outline The spoofing problem Approaches to handle spoofing
Anonymous Communication
Presentation transcript:

15-744: Computer Networking L-18 Privacy

Overview CCN 2

Biggest content source Third largest ISP source: ‘ATLAS’ Internet Observatory 2009 Annual Report’, C. Labovitz et.al. Level(3)Google Global Crossing Google… 3

: Textbook Internet 2009: Rise of the Hyper Giants source: ‘ATLAS’ Internet Observatory 2009 Annual Report’, C. Labovitz et.al. 4

ISP What does the network look like… 5

ISP What should the network look like… 6

CCN Model Packets say ‘what’ not ‘who’ (no src or dst) communication is to local peer(s) upstream performance is measurable memory makes loops impossible Data 7

Names Like IP, CCN imposes no semantics on names. ‘Meaning’ comes from application, institution and global conventions: /parc.com/people/van/presentations/CCN /parc.com/people/van/calendar/freeTimeForMeeting /thisRoom/projector /thisMeeting/documents /nearBy/available/parking /thisHouse/demandReduction/2KW 8

Signed by nytimes.com/web/george CCN Names/Security /nytimes.com/web/frontPage/v /s0/0x3fdc96a4... Signed by nytimes.com/web 0x1b signature key nytimes.com/web/george/desktop public key Signed by nytimes.com Per-packet signatures using public key Packet also contain link to public key 9

Names Route Interests FIB lookups are longest match (like IP prefix lookups) which helps guarantee log(n) state scaling for globally accessible data. Although CCN names are longer than IP identifiers, their explicit structure allows lookups as efficient as IP’s. Since nothing can loop, state can be approximate (e.g., bloom filters). 10

CCN node model 11

CCN node model get /parc.com/videos/WidgetA.mpg/v 3/s2 /parc.com/videos/WidgetA.mpg/v3/s2 0 P 12

Flow/Congestion Control One Interest pkt  one data packet All xfers are done hop-by-hop – so no need for congestion control Sequence numbers are part of the name space 13

“But... “this doesn’t handle conversations or realtime. Yes it does - see ReArch VoCCN paper. “this is just Google. This is IP-for-content. We don’t search for data, we route to it. “this will never scale. Hierarchically structured names give same log(n) scaling as IP but CCN tables can be much smaller since multi-source model allows inexact state (e.g., Bloom filter). 14

What about connections/VoIP? Key challenge - rendezvous Need to support requesting ability to request content that has not yet been published E.g., route request to potential publishers, and have them create the desired content in response 15

16

Summary Data Link Physical Applications The Hourglass Model ‘Thin Waist’ Limits Application Innovation Increases Data Delivery Flexibility UDPTCP Data Link Physical Applications The Hourglass Model Innovation Flexibility Network (IP/Other) Moving up the Transport (TCP/Other) 17

Overview Routing privacy Privacy and Accountability Wireless Privacy 18

Randomized Routing Hide message source by routing it randomly Popular technique: Crowds, Freenet, Onion routing Routers don’t know for sure if the apparent source of a message is the true sender or another router 19

Onion Routing Sender chooses a random sequence of routers Some routers are honest, some controlled by attacker Sender controls the length of the path R R4R4 R1R1 R2R2 R R R3R3 Bob R R R Alice 20

Route Establishment R4R4 R1R1 R2R2 R3R3 Bob Alice {R 2,k 1 } pk(R 1 ),{ } k 1 {R 3,k 2 } pk(R 2 ),{ } k 2 {R 4,k 3 } pk(R 3 ),{ } k 3 {B,k 4 } pk(R 4 ),{ } k 4 {M} pk(B) Routing info for each link encrypted with router’s public key Each router learns only the identity of the next router 21

Tor Second-generation onion routing network Developed by Roger Dingledine, Nick Mathewson and Paul Syverson Specifically designed for low-latency anonymous Internet communications Running since October s nodes on four continents, thousands of users “Easy-to-use” client proxy Freely available, can use it for anonymous browsing 22

How does Tor work? 23

How does Tor work? 24

Tor Circuit Setup (1) Client proxy establish a symmetric session key and circuit with Onion Router #1 25

Tor Circuit Setup (2) Client proxy extends the circuit by establishing a symmetric session key with Onion Router #2 Tunnel through Onion Router #1 26

Tor Circuit Setup (3) Client proxy extends the circuit by establishing a symmetric session key with Onion Router #3 Tunnel through Onion Routers #1 and #2 27

Using a Tor Circuit Client applications connect and communicate over the established Tor circuit 28

Location Hidden Servers Goal: deploy a server on the Internet that anyone can connect to without knowing where it is or who runs it Accessible from anywhere Resistant to censorship Can survive full-blown DoS attack Resistant to physical attack Can’t find the physical server! 29

Creating a Location Hidden Server Server creates onion routes to “introduction points” Server gives intro points’ descriptors and addresses to service lookup directory Client obtains service descriptor and intro point address from directory 30

Using a Location Hidden Server Client creates onion route 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 mates the circuits from client & server 31

Overview Routing privacy Privacy and Accountability Wireless Privacy 32

anti-spoofing mechanism + shutoff protocol cryptographic addresses Accountability Privacy VS operators want to know who sends each packet so they can stop malicious senders users want to hide who sends certain packets so they can do stuff without the whole world knowing Accountable Internet Protocol [Andersen et al., SIGCOMM 2008] No Privacy Shutoff is Stop-Gap Fix Requires “Smart NIC” Tor Instead of IP [Liu et al., HotNets 2011] routers act as onion nodes Heavyweight No Accountability unforgeable source addresses hidden source addresses 33

Destination Address Source Address … return address accountability sender identity error reporting flow ID 34

Destination Address … Return Address Accountability Address Separate Accountability and Return Addresses 35

Accountable and Private Internet Protocol APIP: Destination Address … Return Address Accountability Address Separate Accountability and Return Addresses + Delegated Accountability + Hidden Return Addresses Return Address 36

SenderReceiver Accountability Delegate P brief(P) verify(P) shutoff(P) P Delegated Accountability OK 37

brief(P) “I sent this packet.” Sender to Delegate: P Delegate Sender F(P)F(P) FINGERPRINT CACHE 04AF4DE779 B217C e26e83b2 cf24dba5f0 b0afd9c282 Batch fingerprints in Bloom filter Delegate does not learn packet contents 38

SenderReceiver Accountability Delegate brief(P) verify(P) shutoff(P) PP Delegated Accountability 39

verify(P) “Do you vouch for this packet?” Verifier to Delegate: A A’s Delegate P A → B Verified Flows A → B TWO CHECKS: 1.P A ➞ B in fingerprint cache 2.Flow A ➞ B not shut off verify(P) OK verify(P) Most effective at first hop Verified flow entries periodically expire Routers keep no state during verification 40

SenderReceiver Accountability Delegate brief(P) verify(P) shutoff(P) PP Delegated Accountability 41

shutoff(P) “Stop this flow.” Receiver to Delegate: B A’s Delegate P A → B Verified Flows A → B P A → B shutoff(P) P A → B verify(P) DROP_FLOW BLOCKED FLOWS A → B Signature proves receiver sent shutoff Delegate also facilitates long-term fix Filtering happens at router, not NIC 42

Flow Granularity One flow ID for all clients Large Anonymity Set Granularity: Delegate Destination One flow ID per connection No Collateral Damage for Shutoff Granularity: TCP Flow 43

Assigning Flow IDs Unique No Collateral Damage Shared Large Anonymity Set Variety of Classes Flexible Delegate Delegate’s Clients Flow IDs 44

Destination Address … Return Address Accountability Address Separate Accountability and Return Addresses + Delegated Accountability Accountable and Private Internet Protocol APIP: + Hidden Return Addresses Return Address Real-World Deployment 45

Hiding Return Addresses End-To-End EncryptionAddress Translation 12 Destination … Return Accountability Destination … Return Accountability Destination … Opaque ID Accountability Protection From: Source Domain ✓ Local Observers ✓ Transit Networks Receiver Protection From: Source Domain Local Observers ✓ Transit Networks ✓ Receiver 46

Example Deployments FINGERPRINT CACHE Source Domain BORDER ROUTER + DELEGATE Specialized Companies as Delegates Source Domains as Delegates No burden on source domains Larger anonymity set EXTERNAL DELEGATE DESTINATION RETURN DESTINATION ACCOUNTAB ILITY DESTINATION RETURN ACCOUNTAB ILITY No briefing overhead Lower verification latency 47

Accountability Privacy unforgeable source addresses hidden source addresses every packet carries an accountability address for reporting misbehavior Delegated Accountability return address can be hidden since network just needs accountability address Hidden Return Addresses Return Address VS& 48

Overview Routing privacy Privacy and Accountability Wireless Privacy 49

Our Wireless World 50

Best Security Practices SSID: Bob’s Network Key: 0x … Username: Alice Key: 0x348190… Bootstrap Out-of-band (e.g., password, WiFi Protected Setup) Confidentiality Authenticity Integrity 51

MAC addr, seqno, … Bootstrap Privacy Problems Remain Is Bob’s Network here? Proof that I’m Bob Bob’s Network is here MAC addr, seqno, … Many exposed bits are (or can be used as) identifiers that are linked over time Confidentiality Authenticity Integrity 52

Problem: Long-Term Linking Alice Alice? Easy to identify and relate devices over time Alice’s friend? 53

Problem: Long-Term Linking Linking enables location tracking, user profiling, inventorying, relationship profiling, … [Greenstein, HotOS ’07; Jiang, MobiSys ’07; Pang, MobiCom ’07, HotNets ’07] Home header Is “djw” here? “djw” is here 54

Problem: Short-Term Linking 12:34:56:78:90:ab, seqno: 1, … 12:34:56:78:90:ab, seqno: 2, … 12:34:56:78:90:ab, seqno: 3, … 12:34:56:78:90:ab, seqno: 4, … 00:00:99:99:11:11, seqno: 103, … 00:00:99:99:11:11, seqno: 104, … 00:00:99:99:11:11, seqno: 102, … Easy to isolate distinct packet streams 3-9 data streams overlap each 100 ms, on average 55

Problem: Short-Term Linking Isolated data streams are more susceptible to side- channel analysis on packet sizes and timing – Exposes keystrokes, VoIP calls, webpages, movies, … [Liberatore, CCS ‘06; Pang, MobiCom ’07; Saponas, Usenix Security ’07; Song, Usenix Security ‘01; Wright, IEEE S&P ‘08; Wright, Usenix Security ‘07] ≈ DFT transmission sizes Video compression signatures Devicefingerprints Keystroketimings 56

Bootstrap Fundamental Problem Many exposed bits are (or can be used as) identifiers that are linked over time Is Bob’s Network here? Proof that I’m Bob Bob’s Network is here MAC addr, seqno, … 57

Goal: Make All Bits Appear Random Bootstrap SSID: Bob’s Network Key: 0x … Username: Alice Key: 0x348190… ? ? 58

Challenge: Filtering without Identifiers Which packets are mine? 59

Design Requirements When A generates Message to B, she sends: PrivateMessage = F(A, B, Message) where F has these properties: –Confidentiality: Only A and B can determine Message. –Authenticity: B can verify A created PrivateMessage. –Integrity: B can verify Message not modified. –Unlinkability: Only A and B can link PrivateMessages to same sender or receiver. –Efficiency:B can process PrivateMessages as fast as he can receive them. 60

Solution Summary Unlinkability Integrity Authenticity Efficiency Confidentiality WPA MAC Pseudonyms Public Key Symmetric Key SlyFi: Discovery/Binding SlyFi: Data packets Only Data Payload Only Data Payload Only Data Payload 61

Straw man: MAC Pseudonyms Idea: change MAC address periodically Per session or when idle [Gruteser ’05, Jiang ‘07] Other fields remain (e.g., in discovery/binding) No mechanism for data authentication/encryption Doesn’t hide network names during discovery or credentials during authentication Pseudonyms are linkable in the short-term Same MAC must be used for each association Data streams still vulnerable to side-channel leaks 62

Solution Summary Unlinkability Integrity Authenticity Efficiency Confidentiality WPA MAC Pseudonyms Public Key Symmetric Key SlyFi: Discovery/Binding SlyFi: Data packets Only Data Payload Long Term Only Data Payload Only Data Payload 63

Straw man: Encrypt Everything Bootstrap SSID: Bob’s Network Key: 0x … Username: Alice Key: 0x348190… Idea: Use bootstrapped keys to encrypt everything 64

Straw man: Public Key Protocol Probe “Bob” Key-private encryption (e.g., ElGamal) K Bob Check signature: Try to decrypt K -1 Bob K Alice Based on [Abadi ’04] K -1 Alice Sign: ClientService 65

Straw man: Symmetric Key Protocol Probe “Bob” ClientService Symmetric encryption (e.g., AES w/ random IV) Check MAC: MAC:K AB Try to decrypt with each shared key K Shared1 K Shared2 K Shared3 … Different symmetric key per potential sender Can’t identify the decryption key in the packet or else it is linkable 66

Solution Summary Unlinkability Integrity Authenticity Efficiency Confidentiality WPA MAC Pseudonyms Public Key Protocol Symmetric Key Protocol SlyFi: Discovery/Binding SlyFi: Data packets Long Term Only Data Payload Only Data Payload Only Data Payload 67

SlyFi Symmetric key almost works, but tension between: Unlinkability: can’t expose the identity of the key Efficiency: need to identify the key to avoid trying all keys Idea: Identify the key in an unlinkable way Approach: Sender A and receiver B agree on tokens: T 1, T 2, T 3, … A attaches T i to encrypted packet for B AB 68

SlyFi Probe “Bob” ClientService Symmetric encryption (e.g., AES w/ random IV) Check MAC: MAC:K AB Lookup T i in a table to get K AB AB Required properties: –Third parties can not link T i and T j if i ≠ j –A doesn’t reuse T i –A and B can compute T i independently Required properties: –Third parties can not link T i and T j if i ≠ j –A doesn’t reuse T i –A and B can compute T i independently AB Main challenge: Sender and receiver must synchronize i Main challenge: Sender and receiver must synchronize i 69

SlyFi: Data Transport Data messages: Only sent over established connections  Expect messages to be delivered  Use implicit transmission number to synchronize i AB TiTi T i+1 AB T i +2 AB T i +3 AB 70

SlyFi: Data Transport Data messages: Only sent over established connections  Expect messages to be delivered  Use implicit transmission number to synchronize i On receipt of T i, B computes next expected: T i+1 Handling message loss: –On receipt of T i save T i+1, …, T i+k in table –Tolerates k consecutive losses (k=50 is enough) –No loss  compute one token per reception AB 71

SlyFi: Discovery/Binding Discovery & binding messages: Often sent when other party is not present  Can’t expect most messages to be delivered  Can’t rely on transmission reception to synchronize i Is Bob’s Network here?TiTi AB i = ? Is Bob’s Network here?T i +1 AB Is Bob’s Network here?T i +3 AB Is Bob’s Network here?T i +2 AB.. …... Nope. 72

SlyFi: Discovery/Binding Discovery & binding messages: Infrequent: only sent when trying to associate Narrow interface: single application, few side-channels  Linkability at short timescales is usually OK  Use loosely synchronized time to synchronize i AB probe beacon auth TiTi AB TiTi TiTi BA TiTi 73

SlyFi: Discovery/Binding Discovery & binding messages: Infrequent: only sent when trying to associate Narrow interface: single application, few side-channels  Linkability at short timescales is usually OK  Use loosely synchronized time to synchronize i AB At the start of time interval i compute T i Handling clock skew: –Receiver B saves T i-s, …, T i+s in table –Tolerates clock skew of 5  s minutes AB 74

Solution Summary Unlinkability Integrity Authenticity Efficiency Confidentiality WPA MAC Pseudonyms Public Key Symmetric Key SlyFi: Discovery/Binding SlyFi: Data packets Long Term Long Term Only Data Payload Only Data Payload Only Data Payload 75

Next Lecture… Read: BlindBox: Deep Packet Inspection over Encrypted Traffic Attend Justine Sherry’s talk “Middleboxes as a cloud service” Monday, March 28th 10:00 AM GHC 6115 Today's networks do much more than merely deliver packets. Through the deployment of middleboxes, enterprise networks today provide improved security -- e.g., filtering malicious content -- and performance capabilities -- e.g., caching frequently accessed content. Although middleboxes are deployed widely in enterprises, they bring with them many challenges: they are complicated to manage, expensive, prone to failures, and challenge privacy expectations. In this talk, we aim to bring the benefits of cloud computing to networking. We argue that middlebox services can be outsourced to cloud providers in a similar fashion to how mail, compute, and storage are today outsourced. We begin by presenting APLOMB, a system that allows enterprises to outsource middlebox processing to a third party cloud or ISP. For enterprise networks, APLOMB can reduce costs, ease management, and provide resources for scalability and failover. For service providers, APLOMB offers new customers and business opportunities, but also presents new challenges. Middleboxes have tighter performance demands than existing cloud services, and hence supporting APLOMB requires redesigning software at the cloud. We re-consider classical cloud challenges including fault-tolerance and privacy, showing how to implement middlebox software solutions with throughput and latency 2-4 orders of magnitude more efficient than general- purpose cloud approaches. Some of the technologies discussed in this talk are presently being adopted by industrial systems used by cloud providers and ISPs. 76

Overview Routing privacy Web Privacy Wireless Privacy 77

An “Old” Problem Many governments/companies trying to limit their citizens’ access to information Censorship (prevent access) Punishment (deter access) China, Saudi Arabia, HP How can we defeat such attempts? Circumvent censorship Undetectably 78

Proxy-Based Web Censorship Government manages national web firewall Not optional---catches ALL web traffic Block certain requests Possibly based on content More commonly on IP address/publisher China: Western news sites, Taiwan material Log requests to detect troublemakers Even without blocking, may just watch traffic But they don’t turn off the whole net Creates a crack in their barrier 79

Goal Circumvent censor via innocent web activity Normal web server and client cooperate to create covert channel Without consequence for client And without consequence for server Broad participation increases system robustness Ensure offering service doesn’t lead to trouble e.g., loss of business through being blocked Also, “law knows no boundaries” 80

The Big Picture 81

Requirements Client deniability Detection could be embarrassing or worse Client statistical deniability Even suspicion could be a problem Server covertness/statistical deniability If server detected, can be blocked Communication robustness Even without detecting, censor could scramble covert channel Performance (bandwidth, latency) 82

(Un)related Work SSL Encrypted connection---can’t tell content Suspicious! Doesn’t help reach blocked servers Govt. can require revealing SSL keys Anonymizing Proxies Prevent servers from knowing identity of client But proxy inside censor can’t reach content And proxy outside censor can be blocked And use of proxy is suspicious 83

Safeweb/Triangle boy Operation Client contacts triangle-boy “reflector” Reflector forwards requests to blocked server Server returns content to client (IP spoof) Circumvents censorship But still easily detected “Local monitoring of the user only reveals an encrypted conversation between User and Triangle Boy machine.” (Safeweb manual) 84

Summary Easy to hide what you are getting Just use SSL And easy to circumvent censors Safeweb But hard to hide that you are doing it 85

Circumventing Censors Censors allow certain traffic Use to construct a covert channel Talk to normal servers Embed requests for censored content in normal-seeming requests Receive censored content hidden in normal- seeming responses Requester: client asking for hidden content Responder: server covertly providing it 86

System Architecture 87

Receiving Content is Easier Half Responder is a normal web server, serving images (among other things) Encrypt data using requestor key Embed in “unimportant, random” bits of images E.g., high order color bits Watermarking Encrypted data looks random---only requestor can tell it isn’t (and decrypt) 88

Example One image has embedded content You can’t tell which (shows it’s working) 89

Goals Analysis Client looks innocent (receives images) Infranet users & nonusers indistinguishable Server less so Any one image seems innocent But same image with different “random bits” in each copy is suspicious Evasion: never use same image-URL twice Justify: per-individual customized web site Human inspection might detect odd URL usage Evasion: use time-varying image (webcam) Performance: 1/3 of image bits 90

Upstream (Requests) is Harder No “random content bits” that can be fiddled to send messages to responder Solution: let browsing pattern itself be the message Suppose web page has k links. GET on i th link signifies symbol “ i ” to requestor Result: log 2 (k) message bits from link click Can be automated To prevent censor from seeing message, encrypt with responder key 91

Goals Analysis Deniability: requestor generates standard http GETs to allowed web sites Fact of GETs isn’t itself proof of wrongdoing Known rule for translating GETs to message, but message is encrypted, so not evidence Statistical deniability Encrypting message produces “random” string Sent via series of “random” GETs Problem: normal user browsing not random Some links rare Conditional dependence of browsing on past browsing 92

Performance vs. Deniability Middling deniability, poor performance Request URL may be (say) 50 characters 16 Links/Page (say) means 4 bits So need 100 GETs to request one URL! And still poor statistical deniability Can we enhance deniability? Yes, by decreasing performance further Can we enhance performance? Yes, and enhance deniability at same time 93

Paranoid Alternative Settle for one message bit per GET Odd/even links on page Or generalize to “mod k” for some small k User has many link choices for each bit Can choose one that is reasonable Incorporate error correcting code in case no reasonable next link sends correct bit Drawback: user must be directly involved in sending each message bit Very low bandwidth vs time spent 94

Higher Performance Idea: arithmetic coding of requests If request i has probability p i, then entropy of request distribution is –  p i log p i Arithmetic coding encodes request i using log p i bits Result: expected request size equals entropy Optimal Problem: requestor doesn’t know probability distribution of requests Doesn’t have info needed for encoding 95

Solution: Range Mapping Adler-Maggs Exploit asymmetric bandwidth Responder sends probability distribution to requester using easy, downstream path Requestor uses this “dictionary” to build arithmetic code, send encoded result Variation for non-binary Our messages aren’t bits, they are clicks And server knows different clicks should have different probabilities 96

Toy Example Suppose possible requests fewer than links on page Responder sends dictionary: “link 1 means “link 2 means Assigns common requests to common GETs Requestor GETs link matching intended request One GET sends full (possibly huge) request Problem: in general, ∞ possible requests Can’t send a dictionary for all 97

98

Overview P2P Privacy 99

Freenet Addition goals to file location: Provide publisher anonymity, security Resistant to attacks – a third party shouldn’t be able to deny the access to a particular file (data item, object), even if it compromises a large fraction of machines Files are stored according to associated key Core idea: try to cluster information about similar keys Messages Random 64bit ID used for loop detection TTL TTL 1 are forwarded with finite probablity Helps anonymity Depth counter Opposite of TTL – incremented with each hop Depth counter initialized to small random value 100

Data Structure Each node maintains a common stack id – file identifier next_hop – another node that store the file id file – file identified by id being stored on the local node Forwarding: Each message contains the file id it is referring to If file id stored locally, then stop Forwards data back to upstream requestor Requestor adds file to cache, adds entry in routing table If not, search for the “closest” id in the stack, and forward the message to the corresponding next_hop id next_hop file … … 101

Query Example Note: doesn’t show file caching on the reverse path 4 n1 f4 12 n2 f12 5 n3 9 n3 f9 3 n1 f3 14 n4 f14 5 n3 14 n5 f14 13 n2 f13 3 n6 n1 n2 n3 n4 4 n1 f4 10 n5 f10 8 n6 n5 query(10) ’4’ 5 102

Freenet Requests Any node forwarding reply may change the source of the reply (to itself or any other node) Helps anonymity Each query is associated a TTL that is decremented each time the query message is forwarded; to obscure distance to originator: TTL can be initiated to a random value within some bounds When TTL=1, the query is forwarded with a finite probability Each node maintains the state for all outstanding queries that have traversed it  help to avoid cycles If data is not found, failure is reported back Requestor then tries next closest match in routing table 103

Freenet Request 1 AB C D E F Data Request Data Reply Request Failed

Freenet Search Features Nodes tend to specialize in searching for similar keys over time Gets queries from other nodes for similar keys Nodes store similar keys over time Caching of files as a result of successful queries Similarity of keys does not reflect similarity of files Routing does not reflect network topology 105

Freenet File Creation Key for file generated and searched  helps identify collision Not found (“All clear”) result indicates success Source of insert message can be change by any forwarding node Creation mechanism adds files/info to locations with similar keys New nodes are discovered through file creation Erroneous/malicious inserts propagate original file further 106

Cache Management LRU Cache of files Files are not guaranteed to live forever Files “fade away” as fewer requests are made for them File contents can be encrypted with original text names as key Cache owners do not know either original name or contents  cannot be held responsible 107

Freenet Naming Freenet deals with keys But humans need names Keys are flat  would like structure as well Could have files that store keys for other files File /text/philiosophy could store keys for files in that directory  how to update this file though? Search engine  undesirable centralized solution 108

Freenet Naming - Indirect files Normal files stored using content-hash key Prevents tampering, enables versioning, etc. Indirect files stored using name-based key Indirect files store keys for normal files Inserted at same time as normal file Has same update problems as directory files Updates handled by signing indirect file with public/private key Collisions for insert of new indirect file handled specially  check to ensure same key used for signing Allows for files to be split into multiple smaller parts 109

110

How does Tor work? 111

How does Tor work? 112

How does Tor work? 113

Building a circuit Create c 1, E(g x1 ) Created c 1, g y1, H(K 1 ) Relay c 1 (Extend, OR 2, E(g x1 )) Create c 2 E(g x2 ) Created c 2, g y2, H(K 2 ) Relay c 1 (Extended, g y2, H(K 2 ) 114

Fetching a web page Last onion router should get the IP address of Bob’s website to protect Alice’s anonymity. Relay c 1 (Begin ) Relay c 2 (Begin ) TCP Handshake Relay c 2 (Connected) Relay c 1 (Connected) 115

operators want to know who sends each packet so they can stop malicious senders users want to hide who sends certain packets so they can do stuff without the whole world knowing Accountability Privacy VS 116

Accountable Internet Protocol Tor Instead of IP Accountability Privacy VS [Andersen et al., SIGCOMM 2008] [Liu et al., HotNets 2011] anti-spoofing mechanism + shutoff protocol No Privacy Shutoff is Stop-Gap Fix Requires “Smart NIC” routers act as onion nodes Heavyweight No Accountability cryptographic addresses 117

Accountable Internet Protocol Tor Instead of IP Accountability Privacy VS unforgeable source addresses hidden source addresses 118

Destination Address Source Address … return addressaccountability sender identityerror reportingflow ID 119

Destination Address … Source Address Return Address Accountability Address 120

Destination Address … Return Address Accountability Address Separate Accountability and Return Addresses + Delegated Accountability + Hidden Return Addresses Return Address Real-World Deployment Accountable and Private Internet Protocol APIP: 121

Destination Address … Return Address Accountability Address Separate Accountability and Return Addresses + Delegated Accountability + Hidden Return Addresses Return Address Real-World Deployment How it Works Feasibility Flow Granularity Accountable and Private Internet Protocol APIP: 122

brief(P) “I sent this packet.” Sender to Delegate: 123

brief(P) P Delegate Sender F(P)F(P) FINGERPRINT CACHE 04AF4DE779 B217C e26e83b2 cf24dba5f0 b0afd9c

brief(P) Batch fingerprints in Bloom filter Delegate does not learn packet contents 125

verify(P) “Do you vouch for this packet?” Verifier to Delegate: 126

verify(P) A A’s Delegate P A → B Verified Flows DROPPED P (PENDING VERIFICATION) A → B TWO CHECKS: 1.P A ➞ B in fingerprint cache 2.Flow A ➞ B not shut off verify(P) OK verify(P) 127

verify(P) Most effective at first hop Verified flow entries periodically expire Routers keep no state during verification 128

shutoff(P) “Stop this flow.” Receiver to Delegate: 129

shutoff(P) B A’s Delegate P A → B Verified Flows A → B P A → B shutoff(P) P A → B verify(P) DROP_FLOW BLOCKED FLOWS A → B 130

shutoff(P) Signature proves receiver sent shutoff Delegate also facilitates long-term fix Filtering happens at router, not NIC 131

SenderReceiver Accountability Delegate verify(P) shutoff(P) PP Delegated Accountability Is This Technically Feasible? brief(P) 132

Is This Technically Feasible? brief(P) < 1GB Storage Overhead fingerprints at delegate ? 0.5% Network Overhead sending fingerprints ? 133

SenderReceiver Accountability Delegate verify(P) shutoff(P) PP Is This Technically Feasible? brief(P) 134

Is This Technically Feasible? verify(P) 78K verifies per sec 94MB ? Computational Overhead at delegate ? Storage Overhead verified flow list at router CuckooFilter: [Zhou et al., CoNEXT 2013]ed25519: [Bernstein et al., 2012] 135

SenderReceiver Accountability Delegate verify(P) shutoff(P) PP Is This Technically Feasible? brief(P) 136

Accountability Privacy unforgeable source addresses hidden source addresses VS 137

Accountability Privacy VS every packet carries an accountability address for reporting misbehavior Delegated Accountability return address can be hidden since network just needs accountability address Hidden Return Addresses Return Address 138