Nym: An anonymous, secure, peer-to-peer instant messenger By Seth Cooper, Adam Hoel, Elliott Hoel, Jeff Holschuh, and Hilde Schmitt.

Slides:



Advertisements
Similar presentations
Spring 2000CS 4611 Security Outline Encryption Algorithms Authentication Protocols Message Integrity Protocols Key Distribution Firewalls.
Advertisements

Internet and Intranet Protocols and Applications Lecture 9a: Secure Sockets Layer (SSL) March, 2004 Arthur Goldberg Computer Science Department New York.
Security S Wireless Personal, Local, Metropolitan, and Wide Area Networks1 Contents Security requirements Public key cryptography Key agreement/transport.
1 Network Security Outline Encryption Algorithms Authentication Protocols Message Integrity Protocols Key Distribution Firewalls.
Topic 8: Secure communication in mobile devices. Choice of secure communication protocols, leveraging SSL for remote authentication and using HTTPS for.
Encryption and Firewalls Chapter 7. Learning Objectives Understand the role encryption plays in firewall architecture Know how digital certificates work.
Client/Server Computing Model of computing in which very powerful personal computers (clients) are connected in a network with one or more server computers.
Lecture III : Communication Security, Services & Mechanisms Internet Security: Principles & Practices John K. Zao, PhD SMIEEE National Chiao-Tung University.
Kemal AkkayaWireless & Network Security 1 Department of Computer Science Southern Illinois University Carbondale CS 591 – Wireless & Network Security Lecture.
Cryptography Basic (cont)
Spring 2002CS 4611 Security Outline Encryption Algorithms Authentication Protocols Message Integrity Protocols Key Distribution Firewalls.
Secure communications Week 10 – Lecture 2. To summarise yesterday Security is a system issue Technology and security specialists are part of the system.
Security in Wireless LAN Layla Pezeshkmehr CS 265 Fall 2003-SJSU Dr.Mark Stamp.
8-1 What is network security? Confidentiality: only sender, intended receiver should “understand” message contents m sender encrypts message m receiver.
Cryptographic Technologies
Encryption An Overview. Fundamental problems Internet traffic goes through many networks and routers Many of those networks are broadcast media Sniffing.
Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.
Spring 2003CS 4611 Security Outline Encryption Algorithms Authentication Protocols Message Integrity Protocols Key Distribution Firewalls.
Cryptography April 20, 2010 MIS 4600 – MBA © Abdou Illia.
1 CS 194: Distributed Systems Security Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences.
TrustPort Public Key Infrastructure. Keep It Secure Table of contents  Security of electronic communications  Using asymmetric cryptography.
Encryption Methods By: Michael A. Scott
Cryptographic Security Cryptographic Mechanisms 1Mesbah Islam– Operating Systems.
Secure Systems Research Group - FAU Patterns for Digital Signature using hashing Presented by Keiko Hashizume.
Cryptography 101 Frank Hecker
CS5204 – Fall Cryptographic Security Presenter: Hamid Al-Hamadi October 13, 2009.
1 Introduction to Security and Cryptology Enterprise Systems DT211 Denis Manley.
Computer Security Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
.Net Security and Performance -has security slowed down the application By Krishnan Ganesh Madras.
SYSTEM ADMINISTRATION Chapter 13 Security Protocols.
AQA Computing A2 © Nelson Thornes 2009 Section Unit 3 Section 6.4: Internet Security Digital Signatures and Certificates.
Web Services Security. Introduction Developing standards for Web Services security – XML Key Management Specification (XKMS) – XML Signature – XML Encryption.
Network Security. Security Threats 8Intercept 8Interrupt 8Modification 8Fabrication.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
每时每刻 可信安全 1The DES algorithm is an example of what type of cryptography? A Secret Key B Two-key C Asymmetric Key D Public Key A.
Chapter 37 Network Security. Aspects of Security data integrity – data received should be same as data sent data availability – data should be accessible.
Dr. L. Christofi1 Local & Metropolitan Area Networks ACOE322 Lecture 8 Network Security.
Cryptography, Authentication and Digital Signatures
Secure Distributed Document Sharing System Dukyun Nam, Seunghyun Han, CDS&N Lab. ICU.
4 th lecture.  Message to be encrypted: HELLO  Key: XMCKL H E L L O message 7 (H) 4 (E) 11 (L) 11 (L) 14 (O) message + 23 (X) 12 (M) 2 (C) 10 (K) 11.
BASIC CRYPTOGRAPHIC CONCEPTS. Public Key Cryptography  Uses two keys for every simplex logical communication link.  Public key  Private key  The use.
1 Securing Data and Communication. 2 Module - Securing Data and Communication ♦ Overview Data and communication over public networks like Internet can.
1 © 2005 Cisco Systems, Inc. All rights reserved. 111 © 2004, Cisco Systems, Inc. All rights reserved. CNIT 221 Security 2 Module 3 City College of San.
Internet-security.ppt-1 ( ) 2000 © Maximilian Riegel Maximilian Riegel Kommunikationsnetz Franken e.V. Internet Security Putting together the.
IPsec IPsec (IP security) Security for transmission over IP networks –The Internet –Internal corporate IP networks –IP packets sent over public switched.
11-Basic Cryptography Dr. John P. Abraham Professor UTPA.
Cryptography (2) University of Palestine Eng. Wisam Zaqoot April 2010 ITSS 4201 Internet Insurance and Information Hiding.
4-Jun-164/598N: Computer Networks Differentiated Services Problem with IntServ: scalability Idea: segregate packets into a small number of classes –e.g.,
Privacy versus Authentication Confidentiality (Privacy) –Interceptors cannot read messages Authentication: proving the sender’s identity –The Problem of.
Lecture 16: Security CDK4: Chapter 7 CDK5: Chapter 11 TvS: Chapter 9.
31.1 Chapter 31 Network Security Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
CS 4244: Internet Programming Security 1.0. Introduction Client identification and cookies Basic Authentication Digest Authentication Secure HTTP.
1 CMPT 471 Networking II Authentication and Encryption © Janice Regan,
COEN 351 E-Commerce Security
Secure Messenger Protocol using AES (Rijndael) Sang won, Lee
© Copyright 2009 SSLPost 01. © Copyright 2009 SSLPost 02 a recipient is sent an encrypted that contains data specific to that recipient the data.
Lecture 11 Overview. Digital Signature Properties CS 450/650 Lecture 11: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
Network Security Celia Li Computer Science and Engineering York University.
Lecture 9 Overview. Digital Signature Properties CS 450/650 Lecture 9: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
Fall 2006CS 395: Computer Security1 Key Management.
9.2 SECURE CHANNELS JEJI RAMCHAND VEDULLAPALLI. Content Introduction Authentication Message Integrity and Confidentiality Secure Group Communications.
K. Salah1 Security Protocols in the Internet IPSec.
Secure Instant Messenger in Android Name: Shamik Roy Chowdhury.
SECURITY. Security Threats, Policies, and Mechanisms There are four types of security threats to consider 1. Interception 2 Interruption 3. Modification.
Department of Computer Science Chapter 5 Introduction to Cryptography Semester 1.
e-Health Platform End 2 End encryption
The Secure Sockets Layer (SSL) Protocol
Presentation transcript:

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 Dan Rather Bill O’Reilly John Doe Server Dan Rather: Bill O’Reilly: John Doe: IP Addresses

AOL Instant Messenger AOL Dan Rather Bill O’Reilly John Doe Server Confidential Information Dan Rather: Bill O’Reilly: John Doe: IP Addresses

AOL Instant Messenger AOL Dan Rather Bill O’Reilly John Doe Server Confidential Information Dan Rather: Bill O’Reilly: John Doe: IP Addresses

AOL Instant Messenger AOL Dan Rather Bill O’Reilly John Doe Big Tobacco Lawsuit Server Dan Rather: Bill O’Reilly: John Doe: IP Addresses

AOL Instant Messenger AOL Dan Rather Bill O’Reilly John Doe Big Tobacco John Doe: Server Dan Rather: Bill O’Reilly: John Doe: IP Addresses

AOL Instant Messenger AOL Dan Rather Bill O’Reilly John Doe Big Tobacco Lawsuit and job loss Server Dan Rather: Bill O’Reilly: John Doe: IP Addresses

Nym: Not just another AIM John Doe Dan Rather Amy Csizmar Dalal Bill O’Reilly Jeff Ondich

Nym: Not just another AIM John Doe Dan Rather Amy Csizmar Dalal Bill O’Reilly Jeff Ondich

Nym: Not just another AIM John Doe john_doe Dan Rather dan_rather Amy Csizmar Dalal amy_csizmar_dalal Bill O’Reilly bill_oreilly Jeff Ondich jeff_ondich

Nym: Not just another AIM John Doe john_doe Dan Rather dan_rather Bill O’Reilly bill_oreilly Confidential Information To bill_oreilly To dan_rather

Nym: Not just another AIM John Doe john_doe Dan Rather dan_rather Bill O’Reilly bill_oreilly Confidential Information To bill_oreilly

Nym: Not just another AIM John Doe john_doe Dan Rather dan_rather Bill O’Reilly bill_oreilly Big Tobacco ? Lawsuit Job = Safe

Goals Implement a peer-to-peer network that provides: Implement a peer-to-peer network that provides: Decentralization Decentralization Anonymity Anonymity Security Security Reliability Reliability Scalability Scalability

Decentralization Significantly minimize the application’s reliance on a central server Significantly minimize the application’s reliance on a central server Peer-to-peer communication Peer-to-peer communication Normally centralized tasks are distributed among nodes 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. 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. 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. 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. 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: 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 Pseudonyms Virtual addressing Virtual addressing Decentralization Decentralization Security Security Nondeterministic/probabilistic routing Nondeterministic/probabilistic routing

Node A John Doe Node B Node C Routing Demo Node D Dan Rather Node E Bill O'Reilly Nym Network

Node A John Doe Node B Node C Routing Demo Node D Dan Rather Node A’s Channel List Bill Dan Node E Bill O'Reilly Nym Network

Node A John Doe Node B Node C Routing Demo Node D Dan Rather Node A’s Channel List Bill Dan Packet sent Broadcast Node E Bill O'Reilly Nym Network

Node A John Doe Node B Node C Routing Demo Node D Dan Rather Node A’s Channel List Bill Dan Packet sent Broadcast Packet sent Node E Bill O'Reilly Nym Network

Node A John Doe Node B Node C Routing Demo Node D Dan Rather Node A’s Channel List Bill Dan Packet sent Broadcast Packet sent Packet received Node E Bill O'Reilly Nym Network

Node A John Doe Node B Node C Routing Demo Node D Dan Rather Node A’s Channel List Bill Dan Response packet sent Node E Bill O'Reilly Nym Network

Node A John Doe Node B Node C Routing Demo Node D Dan Rather Node A’s Channel List Bill Dan Response packet sent Packet sent Node E Bill O'Reilly Nym Network

Node A John Doe Node B Node C Routing Demo Node D Dan Rather Node A’s Channel List Bill Dan Response packet sent Packet sent Node E Bill O'Reilly Nym Network

Node A John Doe Node B Node C Routing Demo Node D Dan Rather Node A’s Channel List Bill Dan B Response packet sent Packet sent Packet received Node E Bill O'Reilly Nym Network

Node A John Doe Node B Node C Routing Demo Node D Dan Rather Node A’s Channel List Bill Dan B Node E Bill O'Reilly Nym Network

Node A John Doe Node B Node C Routing Demo Node D Dan Rather Node A’s Channel List Bill Dan B Node E Bill O'Reilly Packet sent Nym Network

Node A John Doe Node B Node C Routing Demo Node D Dan Rather Node A’s Channel List Bill Dan B Node E Bill O'Reilly Packet sent Nym Network

Node A John Doe Node B Node C Routing Demo Node D Dan Rather Node A’s Channel List Bill Dan B Node E Bill O'Reilly Packet sent Nym Network

Node A John Doe Node B Node C Routing Demo Node D Dan Rather Node A’s Channel List Bill Dan B C Node E Bill O'Reilly Packet sent Packet received Nym Network

Node A John Doe Node B Node C Routing Demo Node D Dan Rather Packet sent Broadcast Node A’s Channel List Bill Dan B C Node E Bill O'Reilly Nym Network

Node A John Doe Node B Node C Routing Demo Node D Dan Rather Packet sent Broadcast Packet sent Node A’s Channel List Bill Dan B C Packet received Node E Bill O'Reilly Nym Network

Node A John Doe Node B Node C Routing Demo Node D Dan Rather Response packet sent Node A’s Channel List Bill Dan B C Node E Bill O'Reilly Nym Network

Node A John Doe Node B Node C Routing Demo Node D Dan Rather Response packet sent Node A’s Channel List Bill Dan B C Packet sent Node E Bill O'Reilly Nym Network

Node A John Doe Node B Node C Routing Demo Node D Dan Rather Response packet sent Node A’s Channel List Bill Dan B C Packet sent Node E Bill O'Reilly Nym Network

Node A John Doe Node B Node C Routing Demo Node D Dan Rather Response packet sent Node A’s Channel List Bill Dan C B C Packet sent Packet received Node E Bill O'Reilly Nym Network

Node A John Doe Node B Node C Routing Demo Node D Dan Rather Node A’s Channel List Bill Dan C B C Node E Bill O'Reilly Nym Network

Node A John Doe Node B Node C The channel list builds up… Node D Dan Rather Node A’s Channel List Bill Dan C B B C C B C Node E Bill O'Reilly Nym Network

Node A John Doe Node B Node C Now, we can route! Node D Dan Rather Node A’s Channel List Bill Dan C B B C C B C Node E Bill O'Reilly Nym Network

Node A John Doe Node B Node C Now, we can route! Node D Dan Rather Node A’s Channel List Bill Dan C B B C C B C Node E Bill O'Reilly Select a node at random from the Dan column: Nym Network

Node A John Doe Node B Node C Now, we can route! Node A’s Channel List Bill Dan C B B C C B C Node E Bill O'Reilly So send to node C: Node D Dan Rather Nym Network

Node A John Doe Node B Node C Note that there is a natural weighting of nodes in the list Node A’s Channel List Bill Dan C B B C C B C Node E Bill O'Reilly This means that there are preferred routes. Node D Dan Rather Nym Network

Node A John Doe Node B Node C Sometimes, we pick at random from an unweighted channel list Node D Dan Rather Node A’s Channel List Bill Dan C B B C C B C Node E Bill O'Reilly This prevents any routing patterns that may occur. Nym Network

Security Confidentiality Confidentiality Information should be kept secret from unauthorized parties. Information should be kept secret from unauthorized parties. Integrity Integrity Information should be tamper evident. Information should be tamper evident. The authenticity of the source of information should be verifiable. The authenticity of the source of information should be verifiable. Availability Availability Services should be resilient to malicious attacks Services should be resilient to malicious attacks

Security in Nym Link-to-link encryption Link-to-link encryption Digital signing and verifying of text messages Digital signing and verifying of text messages

Link-to-link versus end-to-end Link-to-link encryption Link-to-link encryption Messages are encrypted and decrypted at each node in the network 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 Messages intercepted by parties outside the network will be unable to read the encrypted text End-to-end encryption End-to-end encryption Messages are encrypted with a secret key by the sender and are not decrypted until they reach the recipient Messages are encrypted with a secret key by the sender and are not decrypted until they reach the recipient

The Man-in-the-Middle Secure end-to-end encryption is impossible in an anonymous network 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. An intermediary node between the sender and recipient can easily intercept a key exchange. Link-to-link encryption Link-to-link encryption More robust against man in the middle attacks More robust against man in the middle attacks

Link to link (Symmetric key) A 56-bit DES key is generated and exchanged when a connection is made with a neighbor 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 Both parties share this key, but no one else knows it Much quicker than asymmetric encryption Much quicker than asymmetric encryption

RSA public/private key pair RSA key pair is generated from username and password RSA key pair is generated from username and password Public key is essentially the virtual address Public key is essentially the virtual address Asymmetric key pair is only used for digital signatures Asymmetric key pair is only used for digital signatures To send a message to someone, sign it with your private key To send a message to someone, sign it with your private key The recipient uses your public key to validate it The recipient uses your public key to validate it

Digital Signatures Allow us to verify Allow us to verify who a message is from who a message is from that the message has not been changed since it was sent that the message has not been changed since it was sent Use the SHA-1 hash algorithm Use the SHA-1 hash algorithm Takes the message (under 2^64 bits) Takes the message (under 2^64 bits) Returns 160 bit “message digest” Returns 160 bit “message digest” Use RSA key pair Use RSA key pair

How digital signatures work User AUser B At Login Username A Password A Public Key A Private Key A Username B Password B Public Key B Private Key B Virtual Address B Virtual Address A

How digital signatures work User AUser B Public Key A Private Key A Public Key B Private Key B

How digital signatures work User A Message text User B

How digital signatures work User A Message text Message digest SHA-1 User B

How digital signatures work User A Message text Message digest SHA-1 Encrypt with Private key A Digital signature User B

How digital signatures work User A Message text Message digest SHA-1 Encrypt with Private key A Digital signature User B Message

How digital signatures work User A Message text Message digest SHA-1 Encrypt with Private key A Digital signature User B Message text Digital signature Message

How digital signatures work User A Message text Message digest SHA-1 Encrypt with Private key A Digital signature User B Message text Message digest SHA-1 Digital signature Message

How digital signatures work User A Message text Message digest SHA-1 Encrypt with Private key A Digital signature User B Message text Message digest SHA-1 Digital signature Decrypt with Public key A Message digest Message

How digital signatures work User A Message text Message digest SHA-1 Encrypt with Private key A Digital signature User B Message text Message digest SHA-1 Digital signature Decrypt with Public key A Message digest Compare Message

Instant Messaging Text communication Text communication Presence notification Presence notification Contact list maintenance Contact list maintenance Distributed search Distributed search User friendly interface User friendly interface

DEMO

Tradeoffs and Limitations Anonymity Anonymity Statistical analysis Statistical analysis Textual analysis Textual analysis Accidental disclosure Accidental disclosure Scalability Scalability Test results and predictions Test results and predictions Reliability Reliability Routing loop avoidance Routing loop avoidance

Extensions Increased fault tolerance for dropped packets and routing loops Increased fault tolerance for dropped packets and routing loops Group chat Group chat Testing and research on anonymity scheme Testing and research on anonymity scheme

Acknowledgements Amy Csizmar Dalal and the CS department for guidance and support Amy Csizmar Dalal and the CS department for guidance and support Michael N. Tie and ITS for helping make our equipment work Michael N. Tie and ITS for helping make our equipment work MUTE and Jason Rohrer MUTE and Jason Rohrer Our friends and family for putting up with us Our friends and family for putting up with us You all for being here today You all for being here today

References Rohrer, Jason. “MUTE Technical Details” Rohrer, Jason. “MUTE Technical Details” Sun Microsystems Sun Microsystems Freenet Freenet RFC 3921: XMPP RFC 3921: XMPP “The Gnutella Protocol Specification v0.4” ol_0.4.pdf “The Gnutella Protocol Specification v0.4” ol_0.4.pdf ol_0.4.pdf ol_0.4.pdf