Skype.

Slides:



Advertisements
Similar presentations
Caltech Proprietary Videoconferencing Security in VRVS 3.0 and Future Videoconferencing Security in VRVS 3.0 and Future Kun Wei California Institute of.
Advertisements

Authenticating Users. Objectives Explain why authentication is a critical aspect of network security Explain why firewalls authenticate and how they identify.
Cryptography Chapter 7 Part 4 Pages 833 to 874. PKI Public Key Infrastructure Framework for Public Key Cryptography and for Secret key exchange.
Socket Layer Security. In this Presentation: need for web security SSL/TLS transport layer security protocols HTTPS secure shell (SSH)
An Introduction to Secure Sockets Layer (SSL). Overview Types of encryption SSL History Design Goals Protocol Problems Competing Technologies.
BASIC CRYPTOGRAPHY CONCEPT. Secure Socket Layer (SSL)  SSL was first used by Netscape.  To ensure security of data sent through HTTP, LDAP or POP3.
CSE 222a Final Project - UCSD Spring 2007 p2p DNS addressing Presented By- Anup Tapadia Alexander Loukissas Justin Wu.
Skype & Network Management Taken from class reference : An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol Salman A. Baset and Henning Schulzrinne.
CS Spring 2011 CS 414 – Multimedia Systems Design Lecture 38 – Voice-over-IP/Skype Klara Nahrstedt Spring 2011.
Voice over IP Skype.
1 An Analysis of the Skype Peer-to- Peer Internet Telephony Protocol Speaker : zcchen.
Review of a research paper on Skype
Comparison between Skype and SIP- based Peer-to-Peer Voice-Over-IP Overlay Network Johnson Lee EECE 565 Data Communications.
An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol Salman Baset and Henning Schuzrinne INFOCOMM 2006 Presenter - Bob Kinicki Presenter -
Addressing the P2P Bootstrap Problem for Small Overlay Networks David Wolinsky, Pierre St. Juste, P. Oscar Boykin, and Renato Figueiredo ACIS P2P Group.
Networks. User access and levels Most network security involves users having different levels of user access to the network. The network manager will.
Module 10: Troubleshooting Network Access. Overview Troubleshooting Network Access Resources Troubleshooting LAN Authentication Troubleshooting Remote.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
Secure communications Week 10 – Lecture 2. To summarise yesterday Security is a system issue Technology and security specialists are part of the system.
More about Skype. Overview Any node with a public IP address having sufficient CPU, memory and network bandwidth is a candidate to become a super node.
SSH : The Secure Shell By Rachana Maheswari CS265 Spring 2003.
Peer-to-Peer Intro Jani & Sami Peltotalo.
ISA 3200 NETWORK SECURITY Chapter 10: Authenticating Users.
Skype & its protocol Aaron Loar CPE 401. Introduction Skype’s Background Topology 3 Node Types Questions.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Application Layer Functionality and Protocols Network Fundamentals – Chapter.
KaZaA: Behind the Scenes Shreeram Sahasrabudhe Lehigh University
Port Knocking Software Project Presentation Paper Study – Part 1 Group member: Liew Jiun Hau ( ) Lee Shirly ( ) Ong Ivy ( )
SYSTEM ADMINISTRATION Chapter 13 Security Protocols.
CHAPTER 2 PCs on the Internet Suraya Alias. The TCP/IP Suite of Protocols Internet applications – client/server applications The client requested data.
Introduction to SQL Server 2000 Security Dave Watts CTO, Fig Leaf Software
An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol Ai-Chun Pang Graduate Institute of Networking and Multimedia Dept. of Comp. Sci. and.
Throughput: Internet scenario
 Introduction  VoIP  P2P Systems  Skype  SIP  Skype - SIP Similarities and Differences  Conclusion.
1 Telematica di Base Applicazioni P2P. 2 The Peer-to-Peer System Architecture  peer-to-peer is a network architecture where computer resources and services.
Skype Bruce Maggs. 2 Gratuitous Quote of the Day "There have been members of the Maggs family in south east Suffolk since the great subsidy of 1327 but.
Characteristics of Communication Systems
1 NAT Network Address Translation Motivation for NAT To solve the insufficient problem of IP addresses IPv6 –All software and hardware need to be updated.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Application Layer Functionality and Protocols.
Skype P2P Kedar Kulkarni 04/02/09.
Behzad Akbari Spring 2012 (These slides are based on lecture slides by Lawrie Brown)
Internet Addresses. Universal Identifiers Universal Communication Service - Communication system which allows any host to communicate with any other host.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Network Services Networking for Home and Small Businesses – Chapter 6.
1 Section 10.9 Internet Security Association and Key Management Protocol ISAKMP.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
2: Application Layer 1 Chapter 2: Application layer r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail  SMTP,
Implementing a Port Knocking System in C Honors Thesis Defense by Matt Doyle.
1 Securing Data and Communication. 2 Module - Securing Data and Communication ♦ Overview Data and communication over public networks like Internet can.
Security in Skype Prepared by Prithula Dhungel. Security in Skype2 The Skype Service P2P based VoIP software Founded by the founders of Kazaa Can be downloaded.
An analysis of Skype protocol Presented by: Abdul Haleem.
Security, NATs and Firewalls Ingate Systems. Basics of SIP Security.
Lecture 10. P2P VoIP D. Moltchanov, TUT, Fall 2014
Alex Leifheit NETWORKS. NETWORK A number of interconnected computers, machines, or operations. Key Components Network components, Network Architecture,
© Copyright 2009 SSLPost 01. © Copyright 2009 SSLPost 02 a recipient is sent an encrypted that contains data specific to that recipient the data.
© 1stworks Corp. The Connected Community 85% of US corporations have a PC 75% of these PCs have an Internet connection 50% of US households have a PC 80%
WebRTC Don McGregor Research Associate MOVES Institute
Firewalls A brief introduction to firewalls. What does a Firewall do? Firewalls are essential tools in managing and controlling network traffic Firewalls.
VPN. CONFIDENTIAL Agenda Introduction Types of VPN What are VPN Tokens Types of VPN Tokens RSA How tokens Work How does a user login to VPN using VPN.
Peer-to-Peer Networks - Skype Hongli Luo CEIT, IPFW.
SSH. 2 SSH – Secure Shell SSH is a cryptographic protocol – Implemented in software originally for remote login applications – One most popular software.
IP Security (IPSec) Matt Hermanson. What is IPSec? It is an extension to the Internet Protocol (IP) suite that creates an encrypted and secure conversation.
Cryptography CSS 329 Lecture 13:SSL.
SOSIMPLE: A Serverless, Standards- based, P2P SIP Communication System David A. Bryan and Bruce B. Lowekamp College of William and Mary Cullen Jennings.
Principles of Network Applications
Introduction to SQL Server 2000 Security
Chapter 2 Introduction Application Requirements VS. Transport Services
VPN-Implementation Using UBUNTU OS and OpenVPN and Hamachi in client-server environment. By Ruphin Byamungu, Kusinza United States International University-Nairobi.
Skype P2P communication
Chapter 15 – Part 2 Networks The Internal Operating System
WJEC GCSE Computer Science
Presentation transcript:

Skype

Overview P2P architecture Closed and proprietary design Encryption of data Obfuscation of protocol Knowledge of protocol is due to analysis, not to standards or code Different client platforms, e.g. mobile devices

Features Voice Video Conferencing Chat File transfer Client to client Skypein and Skypeout connection with Telephone networks Video Conferencing Chat Usual features: e.g. status, profiles etc. File transfer

History Developed by the same Estonians that developed Kazaaa: Ahti Heinla, Priit Kasesalu and Jaan Tallinn 2003 - First version 2005 – Purchased by eBay

Network Architecture Skype Login server Super node Host node Only centralized node Authenticates users Super node Assists in calls Location of peers NAT traversal Must not be behind firewall or NAT Host node Skypein servers Skypeout servers

Registration Register a username with Skype web server No real identity check Install Skype client Client software contains hard-coded, obfuscated list of login servers Obfuscation? Various tricks to hide what is actually there Example: list of super nodes is encrypted and decryption only occurs when the software is running

Host Cache Each client has a host cache Stores a list of super nodes and login servers Similar in function to Chord finger table or Gnutella neighborhood List of super nodes is updated during regular Skype operation Upon login, client will attempt to contact one of the hosts in the host cache In Windows XP, appears in C:\Documents and Settings\user\Application Data\Skype\shared.xml

Ports Each client listens on several ports At installation a random port P is chosen The client listens on P in UDP The client listens on P in TCP TCP 80 (HTTP) TCP 443 (HTTPS)

Buddy List List of users which client “knows” Can open a session with buddy Aware of buddy presence In Windows XP appears in C:\Documents and Settings\user\Application Data\Skype\Skype name\config.xml Buddy list is also stored on a central Skype server Skype stores 4 bytes per contact (this is some function of both the contact and the current user, i.e. two users with the same buddy have a different 4-byte identifier)

Login Functions Login proceeds by connecting to: Connect to Skype network Authenticate Skype client Determine if client is behind NAT and discover real address and port Update software version (if necessary) Advertise presence Login proceeds by connecting to: Host in host cache (if exists) One of hard-coded servers Repeat many times

It just works Skype users are a cross section of society Many are not knowledgeable about technology Skype login may be hindered by NAT Firewall rules: blocking UDP, blocking certain IP addresses etc. The Skype login process needs to work in the background and overcome obstacles

Connect to Skype Network Choose a host from Host Cache (one of at most 200 possible choices) Attempt to establish contact on host’s UDP port If unsuccessful try next host in cache If unsuccessful for 20 hosts Assume that there is a firewall blocking Skype Repeat the above with TCP ports If unsuccessful, attempt to establish contact with 7 bootstrap nodes Connect to UDP 33033 and if unsuccessful Connect to TCP 33033

Skype Authentication Function: network authenticates Skype client If client passes authentication, it can connect to other clients If client doesn’t pass authentication, it can’t connect The authenticator is a central node – one of the Skype login servers The nodes that require data on the authentication are other nodes How can the other nodes know of the authentication result?

(Failed) Attempts Login server contacts all nodes and notifies them of authentication result Login server gives Skype client a “cookie”, a unique random quantity that identifies it as legitimate Skype client routes all its connections through login server Login server generates a key for symmetric authentication and sends it to Skype client who uses it for every authentication

Overview of Skype Authentication The last idea is not bad except we need a public key instead of a symmetric key How does a node know that a public key is authorized by the login server? A signature by the login server! Two stages The client authenticates to the login server using a <username, password> pair The login server returns a signed public key

Authentication Process Skype has a list of trusted RSA public keys Client and login server have a shared key Hashed password Client generates a random session key RSA with 1024 bit modulus Client encrypts the shared secret with: Symmetric encryption (AES 256 bits) The key is a hash of the session key Client uses one of the trusted RSA keys to encrypt a concatenation of Session key Random string

Authentication process (cont.) Client sends to login server Encrypted session key Encrypted shared key Login server decrypts both keys Login server verifies that shared key is correct If shared key is correct

Authentication (client – login server) Quoted from “Skype uncovered Security study of Skype” by Desclaux Fabrice1

Global Index Many Skype operations are based on a Skype client finding data What is my buddy’s IP address (to place a call) What is the status of a contact Find a user based on profile information Relevant data must be published to network, e.g. Client status How does this work? Skype needs the same functionality that Chord has It is called Global Index (by Joltid corporation), but details are not public

Global Index (What is known?) Super nodes have hierarchy 9-10 super nodes to a slot 8 slots per block In 2006 there were 2050 slots (so about 20000 super nodes) Each super node knows almost any other super node Data is replicated (unlike Chord) Finding an object requires limited multicast (request data from 4 super nodes, then 8 super nodes, then 16 etc.) Skype claims that any user that has been logged on in the last 72 hours can be found

Global Index (cont.) Failed search for users goes through central login servers Possibly, these servers store all users who have logged on in the past 72 hours.

Skype Super Node Map (2006) Quotes from “An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol” bySalman Baset and Henning Schulzrinne

Voice call The call can be placed between two buddies Two stages Signaling Media Several cases Both peers have public addresses One behind NAT Both behind NAT

Two Public IP addresses Signaling Direct TCP connection between initiator and responder Includes negotiation on CODEC, agreement on encryption key etc. Includes extended services e.g. conferences Media Direct UDP connection between them

Addresses behind NAT One address behind NAT Two addresses behind NAT Signaling through super node Media directly between the peers Two addresses behind NAT Both signaling and media are relayed through one or more super nodes

Encryption RC-4 to obfuscate packet headers AES 256-bit key to encrypt data (media, IM etc.) RC-4 key is computed based on publicly available data such as the IP address (but what happens with NAT?) AES key is transferred using the client’s RSA session key