Skype security

Skype is a Voice over Internet Protocol (VoIP) system developed by Skype Technologies S.A. It is a peer-to-peer network where voice calls pass over the Internet rather than through a special-purpose network. Skype users can search for other users and send them messages.

Skype reports that it uses 256 bit Advanced Encryption Standard (AES)/ Rijnadel encryption to communicate between Skype clients; although when calling a telephone or mobile, the part of the call over the public switched telephone network (PSTN) is not encrypted. User public keys are certified by the Skype server at login with 1536-bit or 2048-bit RSA certificates. Skype's encryption is inherent in the Skype Protocol and is transparent to callers. Some private conversations through Skype such as audio calls, text messages, and file sending (image, audio, or video) can make use of end-to-end encryption, but it may have to be manually turned on.

Security policy
The company's security policy states that:


 * 1) Usernames are unique.
 * 2) Callers must present a username and password or another authentication credential.
 * 3) Each caller provides the other with proof of identity and privileges whenever a session is established. Each verifies the other's evidence before the session can carry messages.
 * 4) Messages transmitted between Skype users (with no PSTN users included) are encrypted from caller to caller. No intermediate node (router) has access to the meaning of these messages. This claim was undermined in May 2013 by evidence that Microsoft (owner of Skype) has pinged unique URLs embedded in a Skype conversation;  this could only happen if Microsoft has access to the unencrypted form of these messages.

Registration
Skype holds registration information both on the caller's computer and on a Skype server. Skype uses this information to authenticate call recipients and assure that callers seeking authentication access a Skype server rather than an impostor. Skype says that it uses public-key encryption as defined by RSA to accomplish this.

The Skype server has a private key and distributes that key's public counterpart with every copy of the software. As part of user registration, the user selects a desired username and password. Skype locally generates public and private keys. The private key and a password hash are stored on the user's computer.

Then a 256-bit AES-encrypted session is established with the Skype server. The client creates a session key using its random number generator.

The Skype server verifies that the selected username is unique and follows Skype's naming rules. The server stores the username and a hash of the user's password    [ H ( H ( P ) ) ]   {\displaystyle [H(H(P))]}   in its database.

The server now forms and signs an identity certificate for the username that binds the username, verification key, and key identifier.

Peer-to-peer key agreement
For each call, Skype creates a session with a 256-bit session key. This session exists as long as communication continues and for a fixed time afterward. Skype securely transmits the session key to the call recipient as part of connecting a call. That session key is then used to encrypt messages in both directions.

Session cryptography

Session cryptography
All traffic in a session is encrypted using the AES algorithm running in Integer Counter Mode (ICM). Skype encrypts the current counter and salt with the session key using the 256 bit AES algorithm. This algorithm returns the keystream, then XORed with the message content. Skype sessions contain multiple streams. The ICM counter depends on the stream and the location within the stream.

Random number generation
Skype uses random numbers for several cryptographic purposes. Purposes include protection against playback attacks, creation of RSA key pairs, and creation of AES key-halves for content encryption. The security of a Skype peer-to-peer session depends significantly on the quality of the random numbers generated by both ends of the Skype session. Random number generation varies by the operating system.

Cryptographic primitives
Skype uses standard cryptographic primitives to achieve its security goals. The cryptographic primitives used in Skype are the AES block cipher, the RSA public-key cryptosystem, the ISO 9796-2 signature padding scheme, the SHA-1 hash function, and the RC4 stream cipher.

Key agreement protocol
Key-agreement is achieved using a proprietary, symmetric protocol. To protect against a playback attack, the peers challenge each other with random 64-bit nonces. The challenge response is to customize the challenge in a proprietary way and returned it signed with the responder's private key.

The peers exchange Identity Certificates and confirm that these certificates are legitimate. Because an Identity Certificate contains a public key, each end can then confirm signatures created by the other peer. Each peer contributes 128 random bits to the 256-bit session key.

Automatic updates
Another security risk are automatic updates, which cannot be disabled from version 5.6 on, both on Mac OS and Windows branches, although in the latter, and only from version 5.9 on, automatic updating can be turned off in certain cases.

Eavesdropping by design
Chinese, Russian and United States law enforcement agencies have the ability to eavesdrop on Skype conversations and to have access to Skype users' geographic locations. In many cases, a simple request for information is sufficient, with no court approval needed. This ability was deliberately added by Microsoft for law enforcement agencies around the world after they purchased Skype in 2011. This is implemented by switching the Skype client for a particular user account from the client-side encryption to the server-side encryption, allowing dissemination of an unencrypted data stream.

Actual and potential flaws
While Skype encrypts users' sessions, other traffic, including call initiation, can be monitored by unauthorized parties.

The other side of security is whether Skype imposes risk on its users' computers and networks. In October 2005 a pair of security flaws were discovered and patched. Those flaws made it possible for hackers to run hostile code on computers running vulnerable versions of Skype. The first security bug affected only Microsoft Windows computers. It allowed the attacker to use a buffer overflow to crash the system or to force it to execute arbitrary code. The attacker could provide a malformed URL using the Skype URI format, and lure the user to request it to execute the attack. The second security bug affected all platforms; it used a heap-based buffer overflow to make the system vulnerable.

Issues, including several potentially affecting security, include:
 * Skype code is proprietary and closed source, and it is not planned to become open-source software, according to Niklas Zennström, co-founder of Skype, who responded in 2004 to questions on the Skype security model saying "We could do it but only if we re-engineered the way it works and we don't have the time right now". If the software source were available peer review would be able to verify its security.
 * On 13 November 2012 a Russian user published a flaw in Skype security which allowed any non-professional attacker to take over a Skype account knowing only the victim's email in seven simple steps. This vulnerability was claimed to exist for months, and was not corrected until more than 12 hours after it was published widely.
 * The fact that Skype records data about calls (but not the message contents) in a "History" file saved on the user's computer. Attackers who gain access to the computer can obtain the file.
 * Skype can consume other users' bandwidth. Although this is documented in the license agreement (EULA), there is no way to tell how much bandwidth is being used in this manner.
 * There are some 20,000 supernodes out of many millions of users logged on. Skype Guide for network administrators claims that supernodes carry only control traffic up to 10 kB/s and relays may carry other user data traffic up to 15 kB/s (for one audio conference call). A relay should not normally handle more than one "relayed connection".
 * Skype's file-transfer function does not integrate with any antivirus products, although Skype claims to have tested its product against antivirus "Shield" products.
 * Skype does not document all communication activities. This lack of clarity as to content means that systems administrators cannot be sure what it is doing. (The combination of an invited and a reverse-engineered study taken together suggest Skype is not doing anything hostile). Skype can be easily blocked by firewalls.
 * Skype consumes network bandwidth, even when idle (even for non-supernodes, e.g., for NAT traversal). For example, if there were only 3 Skype users in the world and 2 were communicating, the 3rd computer would be taxed to support the application, even if not using Skype at the time. The large number of Skype computers means that this activity is diffuse, it can lead to performance issues on standby Skype users, and presents a conduit for security breaches.
 * Skype implicitly trusts any message stream that obeys its protocols
 * Skype does not prohibit a parallel Skype-like network
 * Skype prior to version 3.0.0.216 created a file called 1.com in the temp directory which was capable of reading all BIOS data from a PC. According to Skype this was used to identify computers and provide DRM protection for plug-ins. They later removed this file, but it is not known whether the BIOS-reading behavior was removed.
 * The URI handler that checks URLs for verification of certain file extensions and file formats uses case sensitive comparison techniques and doesn't check all potential file formats.
 * While Skype does encrypt most of its communications, unencrypted packets containing advertisements are pulled from several places, exposing a cross-site scripting vulnerability. These ads can easily be hijacked and replaced with malicious data.
 * The privacy of Skype traffic may have limits. Although Skype encrypts communication between users, a Skype spokesman did not deny the company's ability to intercept communication. On the question of whether Skype could listen in on their users' communication, Kurt Sauer, head of the security division of Skype, replied evasively: "We provide a secure means of communication. I will not say if we are listening in or not." In China text is filtered according to government requirements. This suggests that Skype has the capacity to eavesdrop on connections. One of Skype's minority owners, eBay, has divulged user information to the U.S. government.
 * Security researchers Biondi and Desclaux have speculated that Skype may have a back door, since Skype sends traffic even when it is turned off and because Skype has taken extreme measures to obfuscate their traffic and functioning of their program.
 * Several media sources have reported that at a meeting about the "Lawful interception of IP based services" held on 25 June 2008, high-ranking but unnamed officials at the Austrian interior ministry said that they could listen in on Skype conversations without problems. Austrian public broadcasting service ORF, citing minutes from the meeting, have reported that "the Austrian police are able to listen in on Skype connections". Skype declined to comment on the reports.
 * The Skype client for Linux has been observed accessing the Firefox profile folder during execution. This folder contains all the saved passwords in plain text if no master password is used, it also contains the user's browsing history. Access to this file was confirmed by tracing system calls made by the Skype binary during execution.
 * The Skype client for Mac has been observed accessing protected information in the system Address Book even when integration with the Address Book (on by default) is disabled in the Skype preferences. Users may see a warning about Skype.app attempting to access protected information in the address book under certain conditions, e.g. launching Skype while syncing with a mobile device.
 * Skype has no legitimate reason to access the Address Book if the integration is not enabled. Further, the extent of the integration is to add all cards from the Address Book to the list of Skype contacts along with their phone numbers, which can be accomplished without accessing any protected information (neither the name nor numbers on cards are protected) and thus the attempt to access information beyond the scope of the integration, regardless of whether or not that integration is enabled, raises deeper questions as to possible spying on users.
 * The United States Federal Communications Commission (FCC) has interpreted the Communications Assistance for Law Enforcement Act (CALEA) as requiring digital phone networks to allow wiretapping if authorized by an FBI warrant, in the same way as other phone services.
 * In February 2009 Skype said that, not being a telephone company owning phone lines, it was exempt from CALEA and similar laws which regulate US phone companies. It is also not clear whether wiretapping of Skype communications is technically possible. According to the ACLU, the Act is inconsistent with the original intent of the Fourth Amendment to the U.S. Constitution; more recently, the ACLU has expressed the concern that the FCC interpretation of the Act is incorrect.