|
Skype is to heavy for me to write. Here is a copy of
wikipedia. See full article with all References and Notes here :
https://secure.wikimedia.org/wikipedia/en/wiki/Skype_security
Skype security -From Wikipedia, the free
encyclopedia
Skype is a Voice over Internet Protocol (VoIP) system
developed by Skype Technologies S.A. It is a peer-to-peer network
in which voice calls pass over the Internet rather than through a
special purpose network. Skype users search for other users to
connect to, enabling them to search other Skype users and send them
messages. Skype uses 256 bit AES encryption to encrypt
communication between users, complicating the decryption of these
communications. Skype's encryption is inherent in the Skype
Protocol and is transparent to callers. Because of this integration
the communication between users is considered to be private,
although several security concerns exist.
The company's Security Policy includes:
Usernames are unique. Callers must present a username
and password or other authentication credential. Each caller
provides the other with proof of identity and privileges whenever a
session is established. Each verifies the other’s proof before the
session is allowed to carry messages. Messages transmitted are
encrypted from caller to caller. No intermediate node (router) has
access to the meaning of these messages.
Implementation and protocols
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 to assure that callers seeking
authentication are accessing a Skype server rather than an
impostor. Skype 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 hash of the password are stored as securely as possible 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 that follows Skype's naming rules. The server stores the
username and a hash of the hash of the user's password [H(H(P))] in
its database.
The server now forms and signs an identity certificate for the
username that binds the username, its verification key and the 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. As part of connecting a call, Skype
securely transmits the session key to the call recipient. That
session key is then used to encrypt messages in both
directions.
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 a salt with the session key using the 256 bit
AES algorithm. This returns the key stream, which is then XORed
with the message content. This produces encrypted ciphertext, which
is then transmitted to the recipient. 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, for instance as a 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 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.
Flaws 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 user's 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.
- By default, Skype also 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 makes it hard to enforce a corporate security policy
- Lack of peer review prohibits external security code
verification.
- Skype creates a file called 1.com in the temp directory which
is capable of reading all BIOS data from a PC. According to Skype
this is used to identify computers and provide DRM protection for
plug-ins.
- 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, packets
containing advertisements are unencrypted which 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 the 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 filters text
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 not named 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 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 is exempt from CALEA and similar
laws which regulate US phone companies, and in fact it is not clear
whether Skype could support wiretapping even if it wanted to.
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
|
|