Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484...

30
CSE 484 / CSE M 584: Computer Security and Privacy Anonymity and Secure Messaging Fall 2016 Ada (Adam) Lerner [email protected] Thanks to Franzi Roesner, Dan Boneh, Dieter Gollmann, Dan Halperin, Yoshi Kohno, John Manferdelli, John Mitchell, Vitaly Shmatikov, Bennet Yee, and many others for sample slides and materials ...

Transcript of Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484...

Page 1: Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484 / CSE M 584 - Fall 2016 6 • Client proxy extends the circuit by establishing

CSE484/CSEM584:ComputerSecurityandPrivacy

AnonymityandSecureMessaging

Fall2016

Ada(Adam)[email protected]

ThankstoFranziRoesner,DanBoneh,DieterGollmann,DanHalperin,YoshiKohno,JohnManferdelli,JohnMitchell,VitalyShmatikov,BennetYee,andmanyothersforsampleslidesandmaterials...

Page 2: Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484 / CSE M 584 - Fall 2016 6 • Client proxy extends the circuit by establishing

Tor

•  Second-generationonionroutingnetwork–  https://www.torproject.org/– Nowalargeopensourceprojectwithanon-profitorganizationbehindit

–  Specificallydesignedforlow-latencyanonymousInternetcommunications

•  RunningsinceOctober2003•  “Easy-to-use”clientproxy–  Freelyavailable,canuseitforanonymousbrowsing

12/9/16 CSE484/CSEM584-Fall2016 2

Page 3: Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484 / CSE M 584 - Fall 2016 6 • Client proxy extends the circuit by establishing

TorBrowserBundle

•  Asingle,downloadablebrowserappwhichdoestherightthing.

12/9/16 CSE484/CSEM584-Fall2016 3

Page 4: Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484 / CSE M 584 - Fall 2016 6 • Client proxy extends the circuit by establishing

TorCircuitSetup(1)

12/9/16 CSE484/CSEM584-Fall2016 4

•  ClientproxyestablishesasymmetricsessionkeyandcircuitwithOnionRouter#1

Page 5: Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484 / CSE M 584 - Fall 2016 6 • Client proxy extends the circuit by establishing

TorCircuitSetup(2)

12/9/16 CSE484/CSEM584-Fall2016 5

•  ClientproxyextendsthecircuitbyestablishingasymmetricsessionkeywithOnionRouter#2–  TunnelthroughOnionRouter#1

Page 6: Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484 / CSE M 584 - Fall 2016 6 • Client proxy extends the circuit by establishing

TorCircuitSetup(3)

12/9/16 CSE484/CSEM584-Fall2016 6

•  ClientproxyextendsthecircuitbyestablishingasymmetricsessionkeywithOnionRouter#3–  TunnelthroughOnionRouters#1and#2

Page 7: Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484 / CSE M 584 - Fall 2016 6 • Client proxy extends the circuit by establishing

UsingaTorCircuit

12/9/16 CSE484/CSEM584-Fall2016 7

•  ClientapplicationsconnectandcommunicateovertheestablishedTorcircuit.

Page 8: Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484 / CSE M 584 - Fall 2016 6 • Client proxy extends the circuit by establishing

TorManagementIssues

•  Manyapplicationscanshareonecircuit– MultipleTCPstreamsoveroneanonymousconnection

•  Torrouterdoesn’tneedrootprivileges–  Encouragespeopletosetuptheirownrouters– Moreparticipants=betteranonymityforeveryone

•  Directoryservers– Maintainlistsofactiveonionrouters,theirlocations,

currentpublickeys,etc.–  Controlhownewroutersjointhenetwork

•  “Sybilattack”:attackercreatesalargenumberofrouters

–  Directoryservers’keysshipwithTorcode

12/9/16 CSE484/CSEM584-Fall2016 8

Page 9: Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484 / CSE M 584 - Fall 2016 6 • Client proxy extends the circuit by establishing

LocationHiddenService

•  Goal:deployaserverontheInternetthatanyonecanconnecttowithoutknowingwhereitisorwhorunsit

•  Accessiblefromanywhere•  Resistanttocensorship•  Cansurviveafull-blownDoSattack•  Resistanttophysicalattack–  Can’tfindthephysicalserver!

12/9/16 CSE484/CSEM584-Fall2016 9

Page 10: Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484 / CSE M 584 - Fall 2016 6 • Client proxy extends the circuit by establishing

CreatingaLocationHiddenServer

12/9/16 CSE484/CSEM584-Fall2016 10

ServercreatescircuitsTo“introductionpoints”

Servergivesintropoints’descriptorsandaddressestoservicelookupdirectory

Clientobtainsservicedescriptorandintropointaddressfromdirectory

Page 11: Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484 / CSE M 584 - Fall 2016 6 • Client proxy extends the circuit by establishing

UsingaLocationHiddenServer

12/9/16 CSE484/CSEM584-Fall2016 11

Clientcreatesacircuittoa“rendezvouspoint”

Clientsendsaddressoftherendezvouspointandanyauthorization,ifneeded,toserverthroughintropoint

Ifserverchoosestotalktoclient,connecttorendezvouspoint

Rendezvouspointsplicesthecircuitsfromclient&server

Page 12: Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484 / CSE M 584 - Fall 2016 6 • Client proxy extends the circuit by establishing

AttacksonAnonymity

•  Passivetrafficanalysis–  Inferfromnetworktrafficwhoistalkingtowhom–  Tohideyourtraffic,mustcarryotherpeople’straffic!

•  Activetrafficanalysis–  Injectpacketsorputatimingsignatureonpacketflow

•  Compromiseofnetworknodes–  Attackermaycompromisesomerouters–  Itisnotobviouswhichnodeshavebeencompromised

•  Attackermaybepassivelyloggingtraffic–  Betternottotrustanyindividualrouter

•  Assumethatsomefractionofroutersisgood,don’tknowwhich

12/9/16 CSE484/CSEM584-Fall2016 12

Page 13: Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484 / CSE M 584 - Fall 2016 6 • Client proxy extends the circuit by establishing

DeployedAnonymitySystems

•  Tor(http://tor.eff.org)– Overlaycircuit-basedanonymitynetwork– Bestforlow-latencyapplicationssuchasanonymousWebbrowsing

•  Mixminion(http://www.mixminion.net)– Networkofmixes– Bestforhigh-latencyapplicationssuchasanonymousemail

•  Not:YikYakJ

12/9/16 CSE484/CSEM584-Fall2016 13

Page 14: Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484 / CSE M 584 - Fall 2016 6 • Client proxy extends the circuit by establishing

SomeCaution

•  Torisn’tcompletelyeffectivebyitself– Trackingcookies,fingerprinting,etc.– Exitnodescanseeeverything!

12/9/16 CSE484/CSEM584-Fall2016 14

Page 15: Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484 / CSE M 584 - Fall 2016 6 • Client proxy extends the circuit by establishing

IdentifyingWebPages:TrafficAnalysis

Herrmannetal.“WebsiteFingerprinting:AttackingPopularPrivacyEnhancingTechnologieswiththeMultinomialNaïve-BayesClassifier”CCSW2009

12/9/16 CSE484/CSEM584-Fall2016 15

Page 16: Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484 / CSE M 584 - Fall 2016 6 • Client proxy extends the circuit by establishing

OTRANDSECUREMESSAGING

12/9/16 CSE484/CSEM584-Fall2016 16

Page 17: Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484 / CSE M 584 - Fall 2016 6 • Client proxy extends the circuit by establishing

OTR–“OffTheRecord”

•  Protocolforend-to-endencryptedinstantmessaging

•  End-to-end:Onlytheendpointscanreadmessages.– PGP,iMessage,WhatsApp,andavarietyofotherservicesprovidesomeformofend-to-endencryptiontoday.

(Borisov,Goldberg,Brewer2014)

12/9/16 CSE484/CSEM584-Fall2016 17

Page 18: Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484 / CSE M 584 - Fall 2016 6 • Client proxy extends the circuit by establishing

OTR–“OffTheRecord”

•  End-to-endencryption•  Authentication•  Deniability,afterthefact•  PerfectForwardSecrecy

12/9/16 CSE484/CSEM584-Fall2016 18

Page 19: Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484 / CSE M 584 - Fall 2016 6 • Client proxy extends the circuit by establishing

OTR–“OffTheRecord”

•  End-to-endencryption•  Authentication•  Deniability/Repudability,afterthefact•  PerfectForwardSecrecy

12/9/16 CSE484/CSEM584-Fall2016 19

Page 20: Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484 / CSE M 584 - Fall 2016 6 • Client proxy extends the circuit by establishing

OTR:Deniability/Repudability

12/9/16 CSE484/CSEM584-Fall2016 20

Eve

Alice Bob

“Somethingincriminating”

Page 21: Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484 / CSE M 584 - Fall 2016 6 • Client proxy extends the circuit by establishing

OTR:Deniability/Repudability

•  Duringaconversationsession,messagesareauthenticatedandunmodified.

•  AuthenticationhappensusingaMACderivedfromasharedsecret.

12/9/16 CSE484/CSEM584-Fall2016 21

Page 22: Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484 / CSE M 584 - Fall 2016 6 • Client proxy extends the circuit by establishing

OTR:Deniability/Repudability

•  Duringaconversationsession,messagesareauthenticatedandunmodified.

•  AuthenticationhappensusingaMACderivedfromasharedsecret.

•  Q1

12/9/16 CSE484/CSEM584-Fall2016 22

Page 23: Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484 / CSE M 584 - Fall 2016 6 • Client proxy extends the circuit by establishing

OTR:Deniability/Repudability

•  Can’tprovetheotherpersonsentthemessage,becauseyoualsocouldhavecomputedtheMAC!

12/9/16 CSE484/CSEM584-Fall2016 23

Page 24: Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484 / CSE M 584 - Fall 2016 6 • Client proxy extends the circuit by establishing

OTR:Deniability/Repudability

•  Can’tprovetheotherpersonsentthemessage,becauseyoualsocouldhavecomputedtheMAC!

•  OTRtakesthisonestepfarther:Afteramessagingsessionisover,AliceandBobsendtheMACkeypubliclyoverthewire!

12/9/16 CSE484/CSEM584-Fall2016 24

Page 25: Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484 / CSE M 584 - Fall 2016 6 • Client proxy extends the circuit by establishing

OTR:Deniability/Repudability

•  EvenowknowstheMACkey,sotechnicallyspeaking,shealsohastheabilitytoforgemessagesfromAliceorBob.

12/9/16 CSE484/CSEM584-Fall2016 25

Page 26: Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484 / CSE M 584 - Fall 2016 6 • Client proxy extends the circuit by establishing

PerfectForwardSecrecy

12/9/16 CSE484/CSEM584-Fall2016 26

Eve

Alice Bob

Page 27: Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484 / CSE M 584 - Fall 2016 6 • Client proxy extends the circuit by establishing

PerfectForwardSecrecy

12/9/16 CSE484/CSEM584-Fall2016 27

Eve

Alice Bob

Publicinfo,e.g.C1C2C3…Cn

SecretsA SecretsB

Page 28: Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484 / CSE M 584 - Fall 2016 6 • Client proxy extends the circuit by establishing

PerfectForwardSecrecy

12/9/16 CSE484/CSEM584-Fall2016 28

Eve

Alice Bob

Publicinfo,e.g.C1C2C3…Cn

SecretsA SecretsBIfEvecompromisesAliceorBob’scomputersatalaterdate,wewouldliketopreventherfrombeingabletolearnwhatM1,M2,M3,etc.correspondtoC1,C2,C3,etc.

Page 29: Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484 / CSE M 584 - Fall 2016 6 • Client proxy extends the circuit by establishing

OTR:Ratcheting

•  Idea:Useanewkeyforeverysession/message/timeperiod.

12/9/16 CSE484/CSEM584-Fall2016 29

Page 30: Anonymity and Secure Messaging - courses.cs.washington.edu · Tor Circuit Setup (3) 12/9/16 CSE 484 / CSE M 584 - Fall 2016 6 • Client proxy extends the circuit by establishing

Signal

12/9/16 CSE484/CSEM584-Fall2016 30

•  End-to-endencryptedchat/IMbasedonOTR

•  Providesvariationsonratcheting,deniability,etc.

•  Widelyused,publiccode,audited.