360 likes | 525 Views
Department of Computer Science. Group Project Presentation. Anonymous IM. Group Members. Ioannis Gyftakis Michail - Georgios Leivadas Chris Mantas Angelos Sakellaropoulos. Benefits of anonymous communication. Circumvent censorship of dissidents (eg. from oppressive government).
E N D
Department of Computer Science Group Project Presentation Anonymous IM Group Members • Ioannis Gyftakis • Michail - Georgios Leivadas • Chris Mantas • Angelos Sakellaropoulos
Benefits of anonymous communication • Circumvent censorship of dissidents (eg. from oppressive government) • Corporate "whistleblowing" of activities that are illegal or harmful to society • Confidential business negotiations • Anonymous participation in elections / polls etc. • Law enforcement • (secret agents in drug cartels - sting operations and honeypots) • Assure anonymity in sensitive conversations • (psychological support "hotline")
The Anonymity problem I am talking to Alice but I don’t know who she really is or what is her IP I am talking to Bob but I don’t know who he really is or what is his IP Bob Live video Alice Inst. messaging Mail Scalable design Who is Bob and who is Alice? Are they talking to each other? Preserve forward secrecy Eve/ Mallory
The Anonymity problem In the context of instant messaging the ultimate goals of anonymity is to protect: • The mapping between the application level user ID and the IP address (physical location) • The inability to confirm that two items of interest (e.g. IP addresses, user IDs), participate in a conversation with each other • The fact that a user participates in an active conversation at a given time
Threat model • Local Eavesdropper Initiator LAN • Intermediate (possibly collaborating) compromised nodes • Malicious responder Responder Initiator 07/30
Background - General B B B A E B C E B E D
Background General - Onion Routing Alice R2 R4 R1 R3 Bob {M}pk(B) {B,k4}pk(R4),{ }k4 {R4,k3}pk(R3),{ }k3 {R3,k2}pk(R2),{ }k2 {R2,k1}pk(R1),{ }k1
Background – Related work I2P CONNECT Tunel Bob Alice Inbound Gateway Inbound Participant Outbound Participant Outbound Gateway Establishing a Connection Network Database
Background – Related work Mix rings 2 Mixnet Tunel 3 4 Initiator 1
Related Work - Timeline Mixnets Mix Rings Invisible Mix Rings Mixnets with Restricted Routes Mix Cascades AnonIM • Unlike MixNets users not free to choose which route to take. • Forced to route their messages through a predefined sequence of mixes. • Enhancement of Mix Rings • Hybrid P2P system that introduces Cluster Escape and Random Extend mechanisms into Mix Rings • Highlights that a middle ground exists between free mix networks, and extremely restrictive mix cascades. • The theory is based on the properties of Expander Graphs Tarzan • All peers are potential originators of traffic • All peers are potentional relays • Tries to make nodes to be in diverse subnets • Uses DHT, Gossip Protocol later • Generic protocol not strictly coupled to a specific app. Invincible Internet Project Tor instead of IP Onion Routing Tor • ISP design level • Uses mailboxes and polling mechanisms for tackling DoS attacks 1981 1997 2002 2003 2004 2006 2011 2012
Simulator • Real data from Rocketfuel project (got them from running many traceroutes) • We plan to run our (semi)final version of our implementation on PlanetLab • Latency • Throughput • Fault Tolerance 09/30
Bootup • Alice registers herself with the directory service. • H(IP) IP , Alice’s Pkey • Pkey is NOT for Instant messages
Bootup • The directory service (only) stores her for other nodes to use her as a relay • A once-per user policy is enforced • Either the directory service is trusted or each user also has some kind of certificate • You probably need to trust someone…
Looking up random Nodes (2) And so on …
Ring Establishment Messages • Alice sends messageM1 to I1 • I1decrypts M1 with its PK • Inside M1, the message M2 is included • M1establishes a rule on I1 • Whatever I give you from now on, try and decrypt with SK1 • See if there is something for you in the message and forward rest to I2 • Else forward to I2
Entry Point • In node “In” a rule is established: • Forward any outside messages in the ring
Cover Traffic • Inside the ring • Outbound • Inbound (hopefully)
How will Bob find Alice? • Alice and Bob share a secret:RAB (agreed offline) • Bob will use H(Alice, RAB) to lookup Alice • Alice needs a way to inform Bob of her in-proxy, “In” • Enter The Rendezvous Service
The Big Picture Lookup H( Bob, RAB ) Lookup H( Alice, RAB )
Development Approach - Tailored Feature Driven Development Method Process 1: Overall Model Entry requirements Exit criteria Project manager • Class diagrams with model shape • Informal features list Roles have been finalized Development manager Development manager is responsible for the above to be correct Software engineer Proceed to next process System architect Task 2 Develop small group using pair programming technique Task1 • Study Documents (Research) • Domain Walkthrough Task 3 Informal features list
Development Approach - Tailored Feature Driven Development Method Process 2: Build feature list Process 3: Plan by feature Entry requirements Entry requirements Successfully completed process #1 The features-list has already been created Task 1 Task 1 • Determine the development sequence • Assign workload on a feature set • Identify features, form feature sets Task 2 Task 2 • Prioritize features, divide complex features ( simulator , implementation) • Prioritize features, divide complex features Exit criteria Exit criteria Feature sets with completion dates Development managers assigned to feature sets • Identify features, form feature sets A detailed development plan
Development Approach - Tailored Feature Driven Development Method Process 4: Design by feature Process 5: Build by feature Entry requirements Entry requirements Successfully completed process 3 Successfully completed process 4 For every feature Task 1 Task 1a Task 1b Task 2 Implement classes & methods Refine the object model Design Inspection Study the reference documents Task 2 Code refactoring Task 3 Unit Test Done in pairs Exit criteria Exit criteria • Supporting documentation • A to-do list for the next process (optional) • The pair team must complete the development of one or more features
Team Structure Development manager Project manager Ioannis Angelos Members are assigned a role in a rotational fashion • Phase 1 • Phase 2 • Phase 3 Michail-Georgios Chris Software engineer System architect
Features List Simulator’s feature set Implementation’s feature set Simulate point-to-point & end-to-end latencies (possibly based on “Rocketfuel”) Directory service Rendezvous service Ring establishment (complex feature) Simulate creating & resetting anonymizing 'onion rings' Messages among participants of the ring Incoming & outgoing traffic Simulate end-to-end message reception End-to-end message reception Recovery from a failure node Simulate node failure & ring recovery End user interface
Gantt chart Phase 1 - Groundwork Phase 2 - Core Design Phase 3 - Simulation Phase 4 - Implementation & Testing These phases start together Phase 5 - Evaluation & Optimization Phase 6 - Final Documentation
Resources Gantt chart John Angelos Chris Michail - Georgios
Collaboration Tools • Source code management system (SCM) • Online repository • Code backup • Version control • Wikispaces - url: anonim-ncs.wikispaces.com • Google groups - mailing lists • Skype conferences