Title: Nym: An anonymous, secure, peertopeer instant messenger
1(No Transcript)
2Nym An anonymous, secure, peer-to-peer instant
messenger
- By Seth Cooper, Adam Hoel, Elliott Hoel, Jeff
Holschuh, and Hilde Schmitt
3AOL Instant Messenger
AOL
IP Addresses
Dan Rather 162.27.1.102 Bill OReilly
24.26.105.25 John Doe 137.22.4.60
Server
Dan Rather 162.27.1.102
John Doe 137.22.4.60
Bill OReilly 24.26.105.25
4AOL Instant Messenger
AOL
IP Addresses
Dan Rather 162.27.1.102 Bill OReilly
24.26.105.25 John Doe 137.22.4.60
Server
Confidential Information
Dan Rather
John Doe
Bill OReilly
5AOL Instant Messenger
AOL
IP Addresses
Dan Rather 162.27.1.102 Bill OReilly
24.26.105.25 John Doe 137.22.4.60
Server
Confidential Information
Dan Rather
John Doe
Bill OReilly
6AOL Instant Messenger
Lawsuit
Big Tobacco
AOL
IP Addresses
Dan Rather 162.27.1.102 Bill OReilly
24.26.105.25 John Doe 137.22.4.60
Server
Dan Rather
John Doe
Bill OReilly
7AOL Instant Messenger
Big Tobacco
AOL
IP Addresses
Dan Rather 162.27.1.102 Bill OReilly
24.26.105.25 John Doe 137.22.4.60
Server
John Doe 137.22.4.60
Dan Rather
John Doe
Bill OReilly
8AOL Instant Messenger
Big Tobacco
AOL
IP Addresses
Dan Rather 162.27.1.102 Bill OReilly
24.26.105.25 John Doe 137.22.4.60
Server
Lawsuit and job loss
Dan Rather
John Doe
Bill OReilly
9Nym Not just another AIM
John Doe
Dan Rather
Amy Csizmar Dalal
Jeff Ondich
Bill OReilly
10Nym 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 OReilly 24.26.105.25
11Nym Not just another AIM
John Doe john_doe
Dan Rather dan_rather
Amy Csizmar Dalal amy_csizmar_dalal
Jeff Ondich jeff_ondich
Bill OReilly bill_oreilly
12Nym Not just another AIM
John Doe john_doe
Dan Rather dan_rather
Confidential Information
To dan_rather
To bill_oreilly
Bill OReilly bill_oreilly
13Nym Not just another AIM
John Doe john_doe
Dan Rather dan_rather
Confidential Information
To bill_oreilly
Bill OReilly bill_oreilly
14Nym Not just another AIM
John Doe john_doe
Dan Rather dan_rather
Big Tobacco
Job Safe
Lawsuit
?
Bill OReilly bill_oreilly
15Goals
- Implement a peer-to-peer network that provides
- Decentralization
- Anonymity
- Security
- Reliability
- Scalability
16Decentralization
- Significantly minimize the applications reliance
on a central server - Peer-to-peer communication
- Normally centralized tasks are distributed among
nodes
17Decentralization 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.
18Anonymity
- 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 machines IP
address) cannot be determined.
19Why 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
retaliationat the hand of an intolerant society.
20Anonymity in Nym
- Pseudonyms
- Virtual addressing
- Decentralization
- Security
- Nondeterministic/probabilistic routing
21Routing Demo
Node B
Nym Network
Node A John Doe
Node D Dan Rather
Node C
Node E Bill O'Reilly
22Routing Demo
Node As Channel List Bill Dan
Node B
Nym Network
Node A John Doe
Node D Dan Rather
Node C
Node E Bill O'Reilly
23Routing Demo
Node As Channel List Bill Dan
Node B
Packet sent
Broadcast
Nym Network
Node A John Doe
Packet sent
Node D Dan Rather
Node C
Node E Bill O'Reilly
24Routing Demo
Node As Channel List Bill Dan
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
25Routing Demo
Node As Channel List Bill Dan
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
26Routing Demo
Node As Channel List Bill Dan
Node B
Nym Network
Response packet sent
Node A John Doe
Node D Dan Rather
Node C
Node E Bill O'Reilly
27Routing Demo
Node As Channel List Bill Dan
Packet sent
Node B
Nym Network
Response packet sent
Node A John Doe
Node D Dan Rather
Node C
Node E Bill O'Reilly
28Routing Demo
Node As Channel List Bill Dan
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
29Routing Demo
Node As Channel List Bill Dan 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
30Routing Demo
Node As Channel List Bill Dan B
Node B
Nym Network
Node A John Doe
Node D Dan Rather
Node C
Node E Bill O'Reilly
31Routing Demo
Node As Channel List Bill Dan B
Node B
Nym Network
Packet sent
Node A John Doe
Node D Dan Rather
Node C
Node E Bill O'Reilly
32Routing Demo
Node As Channel List Bill Dan B
Node B
Nym Network
Packet sent
Node A John Doe
Node D Dan Rather
Packet sent
Node C
Node E Bill O'Reilly
33Routing Demo
Node As Channel List Bill Dan 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
34Routing Demo
Node As Channel List Bill Dan 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
35Routing Demo
Node As Channel List Bill Dan 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
36Routing Demo
Node As Channel List Bill Dan 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
37Routing Demo
Node As Channel List Bill Dan B C
Node B
Nym Network
Node A John Doe
Node D Dan Rather
Response packet sent
Node C
Node E Bill O'Reilly
38Routing Demo
Node As Channel List Bill Dan 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
39Routing Demo
Node As Channel List Bill Dan 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
40Routing Demo
Node As Channel List Bill Dan C B 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
41Routing Demo
Node As Channel List Bill Dan C B C
Node B
Nym Network
Node A John Doe
Node D Dan Rather
Node C
Node E Bill O'Reilly
42The channel list builds up
Node As Channel List Bill Dan C B 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
43Now, we can route!
Node As Channel List Bill Dan C B 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
44Now, we can route!
Node As Channel List Bill Dan C B 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
45Now, we can route!
Node As Channel List Bill Dan C B 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
46Note that there is a natural weighting of nodes
in the list
Node As Channel List Bill Dan C B 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
47Sometimes, we pick at random from an unweighted
channel list
Node As Channel List Bill Dan C B 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
48Security
- 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
49Security in Nym
- Link-to-link encryption
- Digital signing and verifying of text messages
50Link-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
51The Man-in-the-Middle
- Secure end-to-end encryption is impossible in an
anonymous network - An intermediary node between the sender and
recipient can easily intercept a key exchange. - Link-to-link encryption
- More robust against man in the middle attacks
52Link to link (Symmetric key)
- A 56-bit DES key is generated and exchanged when
a connection is made with a neighbor - Both parties share this key, but no one else
knows it - Much quicker than asymmetric encryption
53RSA public/private key pair
- RSA key pair is generated from username and
password - Public key is essentially the virtual address
- Asymmetric key pair is only used for digital
signatures - To send a message to someone, sign it with your
private key - The recipient uses your public key to validate it
54Digital Signatures
- Allow us to verify
- who a message is from
- that the message has not been changed since it
was sent - Use the SHA-1 hash algorithm
- Takes the message (under 264 bits)
- Returns 160 bit message digest
- Use RSA key pair
55How digital signatures work
At Login
User A
User B
Public Key A
Public Key B
Username A
Username B
Private Key A
Private Key B
Password A
Password B
Virtual Address A
Virtual Address B
56How digital signatures work
User A
User B
Public Key A
Private Key A
Private Key B
Public Key B
57How digital signatures work
User A
User B
Message text
58How digital signatures work
User A
User B
Message text
SHA-1
Message digest
59How digital signatures work
User A
User B
Message text
SHA-1
Encrypt with Private key A
Message digest
Digital signature
60How digital signatures work
User A
User B
Message
Message text
SHA-1
Encrypt with Private key A
Message digest
Digital signature
61How digital signatures work
User A
User B
Message
Digital signature
Message text
Message
Message text
SHA-1
Encrypt with Private key A
Message digest
Digital signature
62How digital signatures work
User A
User B
Message
Digital signature
Message text
Message
Message text
SHA-1
SHA-1
Message digest
Encrypt with Private key A
Message digest
Digital signature
63How digital signatures work
User A
User B
Message
Digital signature
Message text
Decrypt with Public key A
Message
Message text
SHA-1
SHA-1
Message digest
Message digest
Encrypt with Private key A
Message digest
Digital signature
64How digital signatures work
User A
User B
Message
Digital signature
Message text
Decrypt with Public key A
Message
Message text
SHA-1
SHA-1
Message digest
Message digest
Encrypt with Private key A
Message digest
Digital signature
Compare
65Instant Messaging
- Text communication
- Presence notification
- Contact list maintenance
- Distributed search
- User friendly interface
66DEMO
67Tradeoffs and Limitations
- Anonymity
- Statistical analysis
- Textual analysis
- Accidental disclosure
- Scalability
- Test results and predictions
- Reliability
- Routing loop avoidance
68Extensions
- Increased fault tolerance for dropped packets and
routing loops - Group chat
- Testing and research on anonymity scheme
69Acknowledgements
- Amy Csizmar Dalal and the CS department for
guidance and support - Michael N. Tie and ITS for helping make our
equipment work - MUTE and Jason Rohrer
- Our friends and family for putting up with us
- You all for being here today
70(No Transcript)
71References
- Rohrer, Jason. MUTE Technical Details
http//mute-net.sourceforge.net/technicalDetails.s
html - http//www.bouncycastle.org/
- Sun Microsystems http//java.sun.com
- Freenet http//freenet.sourceforge.net
- RFC 3921 XMPP http//www.xmpp.org
- The Gnutella Protocol Specification v0.4
http//www9.limewire.com/developer/gnutella_protoc
ol_0.4.pdf