Skype protocol is a closed source, peer-to-peer architecture of protocol used by Skype. As Skype protocol is closed source, only Skype uses the protocol. Previously we wrote about VoIP or Voice Over IP, Skype Protocol is not interoperable with other VoIP network protocols. Mentionaly, Skype was the first peer-to-peer IP telephony network.
Architecture of Skype Protocol
Skype Protocol contains three types of sub entities –
- Nodes or ordinary nodes
- Login server.
Each client device itself maintains a host cache with the IP address and port numbers of reachable supernodes. The Skype user directory is decentralized and distributed among the supernodes in the network.
The structure was so cleverly done, before 2012; actually any client device used to become a supernode itself. Supernodes relay communications on behalf of two other clients, both of which are behind firewalls or “one-to-many” Network address translation. There is no usage of Firewall by Skype Protocol, neither it support the use of the IPv6 protocol, making Skype Protocol a existing protocol with questionable privacy.
Other Notes on Skype Protocol
The RC4 encryption algorithm is used to obfuscate the payload of datagrams. It has two parts – the CRC32 of public source and destination IP and Skype’s packet ID which are taken Skype obfuscation layer’s initialization vector (IV). The XOR of these two 32-bit values is transformed to an 80-byte RC4 key using an unknown key engine. A notable misuse of RC4 in Skype can be found on TCP stream.
On 10 May 2011, Microsoft Corporation acquired Skype Communications for US$8.5 billion. Reverse engineering of the Skype protocol by inspecting/disassembling binaries is prohibited by the terms and conditions of Skype’s license agreement. However European Union law allows reverse-engineering a computer program without getting a permission from an author for inter-operability purposes. In the United States, the Digital Millennium Copyright Act grants a safe harbor to reverse engineer software for the purposes of interoperability with other software.
There are some claimed reversed engineered projects available against Skype Protocol :
There is a open source alternative of Skype Protocol but with much more security, named Jitsi.