740 likes | 898 Views
Nym: An anonymous, secure, peer-to-peer instant messenger. By Seth Cooper, Adam Hoel, Elliott Hoel, Jeff Holschuh, and Hilde Schmitt. AOL Instant Messenger. AOL. IP Addresses. Dan Rather: 162.27.1.102 Bill O’Reilly: 24.26.105.25 John Doe: 137.22.4.60. Server. Dan Rather 162.27.1.102.
E N D
Nym: An anonymous, secure, peer-to-peer instant messenger By Seth Cooper, Adam Hoel, Elliott Hoel, Jeff Holschuh, and Hilde Schmitt
AOL Instant Messenger AOL IP Addresses Dan Rather: 162.27.1.102 Bill O’Reilly: 24.26.105.25 John Doe: 137.22.4.60 Server Dan Rather 162.27.1.102 John Doe 137.22.4.60 Bill O’Reilly 24.26.105.25
AOL Instant Messenger AOL IP Addresses Dan Rather: 162.27.1.102 Bill O’Reilly: 24.26.105.25 John Doe: 137.22.4.60 Server Confidential Information Dan Rather John Doe Bill O’Reilly
AOL Instant Messenger AOL IP Addresses Dan Rather: 162.27.1.102 Bill O’Reilly: 24.26.105.25 John Doe: 137.22.4.60 Server Confidential Information Dan Rather John Doe Bill O’Reilly
AOL Instant Messenger Lawsuit Big Tobacco AOL IP Addresses Dan Rather: 162.27.1.102 Bill O’Reilly: 24.26.105.25 John Doe: 137.22.4.60 Server Dan Rather John Doe Bill O’Reilly
AOL Instant Messenger Big Tobacco AOL IP Addresses Dan Rather: 162.27.1.102 Bill O’Reilly: 24.26.105.25 John Doe: 137.22.4.60 Server John Doe: 137.22.4.60 Dan Rather John Doe Bill O’Reilly
AOL Instant Messenger Big Tobacco AOL IP Addresses Dan Rather: 162.27.1.102 Bill O’Reilly: 24.26.105.25 John Doe: 137.22.4.60 Server Lawsuit and job loss Dan Rather John Doe Bill O’Reilly
Nym: Not just another AIM John Doe Dan Rather Amy Csizmar Dalal Jeff Ondich Bill O’Reilly
Nym: Not just another AIM John Doe 137.22.4.60 Dan Rather 162.27.1.102 Amy Csizmar Dalal 207.251.23.142 Jeff Ondich 82.65.100.55 Bill O’Reilly 24.26.105.25
Nym: Not just another AIM John Doe john_doe Dan Rather dan_rather Amy Csizmar Dalal amy_csizmar_dalal Jeff Ondich jeff_ondich Bill O’Reilly bill_oreilly
Nym: Not just another AIM John Doe john_doe Dan Rather dan_rather Confidential Information To dan_rather To bill_oreilly Bill O’Reilly bill_oreilly
Nym: Not just another AIM John Doe john_doe Dan Rather dan_rather Confidential Information To bill_oreilly Bill O’Reilly bill_oreilly
Nym: Not just another AIM John Doe john_doe Dan Rather dan_rather Big Tobacco Job = Safe Lawsuit ? Bill O’Reilly bill_oreilly
Goals • Implement a peer-to-peer network that provides: • Decentralization • Anonymity • Security • Reliability • Scalability
Decentralization • Significantly minimize the application’s reliance on a central server • Peer-to-peer communication • Normally centralized tasks are distributed among nodes
Decentralization in Nym • Message routing, searching, presence updates and text messaging functionality occurs between peers without the help of any central servers. • However, on first launch a client connects to a node that caches the IP addresses of other Nym clients.
Anonymity • Anonymity is the state of having an undisclosed identity. • On a network, anonymous communication must ensure that information related to the source of a message (e.g. the originating machine’s IP address) cannot be determined.
Why is anonymity important? • According to the Electronic Frontier Foundation: “Anonymity is a shield from the tyranny of the majority...It thus exemplifies the purpose behind the Bill of Rights, and of the First Amendment in particular: to protect unpopular individuals from retaliation…at the hand of an intolerant society.”
Anonymity in Nym • Pseudonyms • Virtual addressing • Decentralization • Security • Nondeterministic/probabilistic routing
Routing Demo Node B Nym Network Node A John Doe Node D Dan Rather Node C Node E Bill O'Reilly
Routing Demo Node A’s Channel List BillDan Node B Nym Network Node A John Doe Node D Dan Rather Node C Node E Bill O'Reilly
Routing Demo Node A’s Channel List BillDan Node B Packet sent Broadcast Nym Network Node A John Doe Packet sent Node D Dan Rather Node C Node E Bill O'Reilly
Routing Demo Node A’s Channel List BillDan Broadcast Packet sent Node B Packet sent Broadcast Nym Network Node A John Doe Packet sent Broadcast Node D Dan Rather Packet sent Node C Node E Bill O'Reilly
Routing Demo Node A’s Channel List BillDan Broadcast Packet sent Node B Packet sent Broadcast Nym Network Node A John Doe Packet received Packet sent Broadcast Node D Dan Rather Packet sent Node C Node E Bill O'Reilly
Routing Demo Node A’s Channel List BillDan Node B Nym Network Response packet sent Node A John Doe Node D Dan Rather Node C Node E Bill O'Reilly
Routing Demo Node A’s Channel List BillDan Packet sent Node B Nym Network Response packet sent Node A John Doe Node D Dan Rather Node C Node E Bill O'Reilly
Routing Demo Node A’s Channel List BillDan Packet sent Packet sent Node B Nym Network Response packet sent Node A John Doe Node D Dan Rather Node C Node E Bill O'Reilly
Routing Demo Node A’s Channel List BillDan B Packet sent Packet sent Node B Nym Network Packet received Response packet sent Node A John Doe Node D Dan Rather Node C Node E Bill O'Reilly
Routing Demo Node A’s Channel List BillDan B Node B Nym Network Node A John Doe Node D Dan Rather Node C Node E Bill O'Reilly
Routing Demo Node A’s Channel List BillDan B Node B Nym Network Packet sent Node A John Doe Node D Dan Rather Node C Node E Bill O'Reilly
Routing Demo Node A’s Channel List BillDan B Node B Nym Network Packet sent Node A John Doe Node D Dan Rather Packet sent Node C Node E Bill O'Reilly
Routing Demo Node A’s Channel List BillDan B Node B Nym Network Packet sent Node A John Doe Packet sent Node D Dan Rather Packet sent Node C Node E Bill O'Reilly
Routing Demo Node A’s Channel List BillDan B C Node B Nym Network Packet received Packet sent Node A John Doe Packet sent Node D Dan Rather Packet sent Node C Node E Bill O'Reilly
Routing Demo Node A’s Channel List BillDan B C Node B Packet sent Broadcast Nym Network Node A John Doe Packet sent Node D Dan Rather Node C Node E Bill O'Reilly
Routing Demo Node A’s Channel List BillDan B C Broadcast Packet sent Node B Packet sent Broadcast Nym Network Node A John Doe Packet sent Broadcast Node D Dan Rather Packet sent Node C Packet received Node E Bill O'Reilly
Routing Demo Node A’s Channel List BillDan B C Node B Nym Network Node A John Doe Node D Dan Rather Response packet sent Node C Node E Bill O'Reilly
Routing Demo Node A’s Channel List BillDan B C Node B Nym Network Node A John Doe Node D Dan Rather Packet sent Response packet sent Node C Node E Bill O'Reilly
Routing Demo Node A’s Channel List BillDan B C Node B Nym Network Node A John Doe Packet sent Node D Dan Rather Packet sent Response packet sent Node C Node E Bill O'Reilly
Routing Demo Node A’s Channel List BillDan CB C Node B Nym Network Packet received Node A John Doe Packet sent Node D Dan Rather Packet sent Response packet sent Node C Node E Bill O'Reilly
Routing Demo Node A’s Channel List BillDan CB C Node B Nym Network Node A John Doe Node D Dan Rather Node C Node E Bill O'Reilly
The channel list builds up… Node A’s Channel List BillDan CB B C C C B C Node B Nym Network Node A John Doe Node D Dan Rather Node C Node E Bill O'Reilly
Now, we can route! Node A’s Channel List BillDan CB B C C C B C Node B Nym Network Node A John Doe Node D Dan Rather Node C Node E Bill O'Reilly
Now, we can route! Node A’s Channel List BillDan CB B C C C B C Select a node at random from the Dan column: Node B Nym Network Node A John Doe Node D Dan Rather Node C Node E Bill O'Reilly
Now, we can route! Node A’s Channel List BillDan CB B C C C B C So send to node C: Node B Nym Network Node A John Doe Node D Dan Rather Node C Node E Bill O'Reilly
Note that there is a natural weighting of nodes in the list Node A’s Channel List BillDan CB B C C C B C This means that there are preferred routes. Node B Nym Network Node A John Doe Node D Dan Rather Node C Node E Bill O'Reilly
Sometimes, we pick at random from an unweighted channel list Node A’s Channel List BillDan CB B C C C B C This prevents any routing patterns that may occur. Node B Nym Network Node A John Doe Node D Dan Rather Node C Node E Bill O'Reilly
Security • Confidentiality • Information should be kept secret from unauthorized parties. • Integrity • Information should be tamper evident. • The authenticity of the source of information should be verifiable. • Availability • Services should be resilient to malicious attacks
Security in Nym • Link-to-link encryption • Digital signing and verifying of text messages
Link-to-link versus end-to-end • Link-to-link encryption • Messages are encrypted and decrypted at each node in the network • Messages intercepted by parties outside the network will be unable to read the encrypted text • End-to-end encryption • Messages are encrypted with a secret key by the sender and are not decrypted until they reach the recipient