Archive:Skype protocol: Difference between revisions
m Reverted edits by 108.161.0.237 (talk) to last version by 193.0.220.1 |
m 50 revisions imported: Import with full history |
||
| (32 intermediate revisions by 21 users not shown) | |||
| Line 1: | Line 1: | ||
{{ | <!-- Please do not remove or change this AfD message until the discussion has been closed. --> | ||
{{Article for deletion/dated|page=Skype protocol|timestamp=20261023092959|year=2026|month=October|day=23|substed=yes|help=off|outcome=merging|target=Skype}} | |||
{{ | <!-- Once discussion is closed, please place on talk page: {{Old AfD multi|page=Skype protocol|date=23 October 2026|result='''keep'''}} --> | ||
{{ | <!-- End of AfD message, feel free to edit beyond this point --> | ||
{{Update|date=May 2016}} | {{Multiple issues|{{original research|date=May 2009}} | ||
}} | {{Update|date=May 2016}}}} | ||
{{short description|Proprietary Internet telephony network}} | |||
{{Skype Limited}} | {{Skype Limited}} | ||
The '''Skype protocol''' is a [[proprietary protocol|proprietary]] Internet telephony | The '''Skype protocol''' is a discontinued [[proprietary protocol|proprietary]] network used for Internet telephony. Its specifications are not publicly available, and all official applications based on the protocol are [[closed-source]]. It lacks [[interoperability]] with most [[Voice over IP]] (VoIP) networks, so it would require licensing from [[Skype Technologies|Skype]] for any integration. | ||
On June 20, 2014, Microsoft announced | Many attempts to [[reverse engineering|reverse-engineer]] the protocol have been made to study its security features or to enable unofficial clients. On June 20, 2014, [[Microsoft]] announced that the old Skype protocol would be deprecated. Users had to upgrade to the 2014 version of Skype to continue accessing services, and older clients could no longer [[Login|log in]].<ref>{{cite web |date=20 June 2014 |title=Making Way for the Next Generation of Skype on Desktop |url=https://blogs.skype.com/news/2014/06/20/making-way-for-the-next-generation-of-skype-on-desktop/}}</ref><ref>{{cite web |last=Keizer |first=Gregg |date=21 June 2014 |title=Update: Skype to retire recent editions for Windows, Mac; upgrades mandatory |work=Computerworld |url=http://www.computerworld.com/s/article/9249275/Update_Skype_to_retire_recent_editions_for_Windows_Mac_upgrades_mandatory |access-date=25 June 2014 |archive-date=8 August 2014 |archive-url=https://web.archive.org/web/20140808064037/http://www.computerworld.com/s/article/9249275/Update_Skype_to_retire_recent_editions_for_Windows_Mac_upgrades_mandatory |url-status=dead }}</ref> As of the second week of August 2014, the new protocol, [[Microsoft Notification Protocol#MSNP24|Microsoft Notification Protocol 24]], was implemented to improve offline messaging and message synchronization across devices.<ref>{{cite web |author=Chris Merrimen |date=15 August 2014 |title=Skype stops working on older Android phones leaving Linux users in the dark |url=http://www.theinquirer.net/inquirer/news/2360604/skype-stops-working-on-older-android-phones-leaving-linux-users-in-the-dark |url-status=unfit |archive-url=https://web.archive.org/web/20140816183820/http://www.theinquirer.net/inquirer/news/2360604/skype-stops-working-on-older-android-phones-leaving-linux-users-in-the-dark |archive-date=August 16, 2014 |access-date=2 October 2014 |publisher=[[CNET]]}}</ref> | ||
==Peer-to-peer architecture== | ==Peer-to-peer architecture== | ||
Skype | Skype pioneered [[peer-to-peer]] (P2P) technology for IP telephony.<ref>{{cite arXiv |eprint=cs/0412017v1 |author1=Salman A. Baset |author2=Henning Schulzrinne |title=An analysis of the Skype peer-to-peer Internet telephony protocol |year=2004 |page=11}}</ref> Its architecture includes [[Supernode (networking)|supernodes]], ordinary nodes, and a login server. Each client maintains a cache of reachable supernodes, while user directory data is distributed across these supernodes, organized into slots and blocks.{{cn|date=November 2022}} | ||
Initially, any client with sufficient bandwidth and processing power could become a supernode. This setup posed challenges for users behind [[firewall (networking)|firewalls]] or [[Network address translation|Network Address Translation]] (NAT) because their connections could be used to facilitate calls between other clients. In 2012, Microsoft transitioned control of supernodes to its data centers to enhance performance and scalability,<ref>{{cite news |last=Branscombe |first=Mary |date=27 July 2012 |title=Forget the conspiracy theories: Skype's supernodes belong in the cloud |url=https://www.zdnet.com/article/forget-the-conspiracy-theories-skypes-supernodes-belong-in-the-cloud/ |access-date=17 June 2013 |newspaper=500 words into the future (ZDNet)}}</ref><ref>{{cite news |date=2 May 2012 |title=Skype replaces P2P supernodes with Linux boxes hosted by Microsoft (updated) |url=https://arstechnica.com/business/2012/05/skype-replaces-p2p-supernodes-with-linux-boxes-hosted-by-microsoft/ |access-date=17 June 2013 |newspaper=Ars Technica}}</ref> raising privacy concerns<ref>{{cite news |last=Kosner |first=Anthony |date=18 July 2012 |title=Will Microsoft's Changes To The Architecture Of Skype Make It Easier To Snoop? |url=https://www.forbes.com/sites/anthonykosner/2012/07/18/did-microsoft-change-the-architecture-of-skype-to-make-it-easier-to-snoop/ |access-date=17 June 2013 |newspaper=Forbes blog}}</ref> that were later highlighted by the [[PRISM (surveillance program)|PRISM]] surveillance revelations in 2013.<ref>{{cite news |last=Gallagher |first=Ryan |date=6 June 2013 |title=Newly Revealed PRISM Snooping Makes Verizon Surveillance Look Like Kids' Stuff |url=http://www.slate.com/blogs/future_tense/2013/06/06/nsa_prism_surveillance_private_data_from_google_microsoft_skype_apple_yahoo.html |access-date=17 June 2013 |newspaper=Slate blog}}</ref><ref>{{cite news |last=Greenwald |first=Glenn |author-link=Glenn Greenwald |date=7 June 2013 |title=NSA Prism program taps in to user data of Apple, Google and others |url=https://www.theguardian.com/world/2013/jun/06/us-tech-giants-nsa-data |access-date=17 June 2013 |newspaper=The Guardian}}</ref> | |||
Skype does not support [[IPv6]],<ref>{{cite web |date=1 Nov 2012 |title=Skype does not support IPv6. |url=https://twitter.com/SkypeTalks/status/264057558262747136 |access-date=4 Nov 2012 |publisher=Skype official Twitter account}}</ref> which could simplify its communication infrastructure. | |||
=== Communication challenges === | |||
Supernodes relay communications for clients that are behind firewalls or NAT, enabling calls that would otherwise be impossible. However, issues may arise, such as: | |||
* Non-derivable external port numbers or IP addresses due to NAT | |||
* Firewalls blocking incoming sessions | |||
* UDP issues like timeouts | |||
* Port restrictions | |||
==Protocol details== | |||
Signaling in Skype is encrypted using [[RC4]], but this method is considered weak because the encryption key can be recovered from the traffic. Voice data is protected with [[Advanced Encryption Standard|AES]] encryption.<ref>[http://www.ossir.org/windows/supports/2005/2005-11-07/EADS-CCR_Fabrice_Skype.pdf Introduction Skype analysis Enforcing anti-Skype policies], Skype uncovered Security study of Skype, Desclaux Fabrice, 7/11/2005, EADS CCR/STI/C</ref> The Skype [[API]] allows developers to access the network for user information and call management. | |||
The | The code remains closed-source,<ref>{{cite web |title=Which protocols does Skype use? |url=http://support.skype.com/en_US/faq/FA153/Which-protocols-does-Skype-use |archive-url=https://web.archive.org/web/20090303112252/http://support.skype.com/en_US/faq/FA153/Which-protocols-does-Skype-use |archive-date=March 3, 2009 |website=Help |publisher=Skype}}</ref> and parts of the client utilize an open-source socket communication library called [[Internet Direct (Indy)]].{{Citation needed|date=December 2008}} | ||
In July 2012, a researcher revealed insights gained from reverse-engineering the Skype client.<ref>{{cite web |title=Posts under Skype Reverse Category |url=http://www.oklabs.net/category/skype-reverse/ |website=oKLabs}}<br />{{cite web |title=Skype Reverse Engineering: The (long) journey ;).. |url=http://www.oklabs.net/skype-reverse-engineering-the-long-journey/ |website=oKLabs}}</ref> | |||
===Protocol detection=== | ===Protocol detection=== | ||
Various networking and security firms claim to have methods for detecting Skype's protocol. While their specific methods are proprietary, some published techniques include [[Pearson's chi-squared test]] and stochastic characterization using [[Naive Bayes classifier]]s.<ref>{{cite journal |author=Dario Bonfiglio |display-authors=etal |title=Revealing Skype Traffic: When Randomness Plays with You |url=https://www.dpacket.org/articles/revealing-skype-traffic-when-randomness-plays-you |url-status=dead |journal=ACM SIGCOMM Computer Communication Review |volume=37 |issue=SIGCOMM 2007 |pages=37–48 |archive-url=https://web.archive.org/web/20110430074127/https://www.dpacket.org/articles/revealing-skype-traffic-when-randomness-plays-you |archive-date=2011-04-30}}</ref> | |||
==Obfuscation layer== | ==Obfuscation layer== | ||
Skype employs [[RC4]] to obfuscate the payload of data packets. The [[initialization vector]] (IV) is derived from a combination of the public source and destination IPs and a packet ID, transformed into an RC4 key. | |||
Notably, the misuse of RC4 can occur on TCP streams, where the first 14 bytes of a stream are XOR-ed with the RC4 stream, impacting data security.<ref>{{cite conference |author1=Fabrice Desclaux |author2=Kostya Kortchinsky |date=2006-06-17 |title=Vanilla Skype part 2 |url=http://www.recon.cx/en/f/vskype-part2.pdf |book-title=RECON2006}}</ref> | |||
== | == Packet structure and compression == | ||
Most Skype traffic is encrypted, with commands and their parameters organized in an object list that can be compressed using a variant of [[arithmetic coding|arithmetic compression]]. | |||
The Skype | ==Legal considerations== | ||
The terms of Skype's license agreement prohibit reverse engineering. However, [[European Union|EU]] law allows for reverse engineering for interoperability purposes,<ref>[http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2009:111:0016:01:EN:HTML Directive 2009/24/EC of the European Parliament and of the Council of 23 April 2009 on the legal protection of computer programs]</ref> and the U.S. [[Digital Millennium Copyright Act]] provides similar protections.<ref>17 U.S.C. Sec. 1201(f).</ref><ref>[[WIPO Copyright and Performances and Phonograms Treaties Implementation Act]]</ref><ref>{{cite journal |author=Pamela Samuelson |author-link=Pamela Samuelson |author2=Suzanne Scotchmer |name-list-style=amp |date=May 2002 |title=The Law and Economics of Reverse Engineering |url=http://www.yalelawjournal.org/pdf/111-7/SamuelsonFINAL.pdf |url-status=dead |journal=Yale Law Journal |volume=111 |issue=7 |pages=1575–1663 |doi=10.2307/797533 |jstor=797533 |archive-url=https://web.archive.org/web/20110716095222/http://www.yalelawjournal.org/pdf/111-7/SamuelsonFINAL.pdf |archive-date=2011-07-16 |access-date=2015-03-17}}</ref> Certain countries also permit copying for reverse engineering.<ref>In the French "intellectual property" law set, there is an exception that allows any software user to reverse engineer it. See [http://legifrance.gouv.fr/affichCodeArticle.do?cidTexte=LEGITEXT000006069414&idArticle=LEGIARTI000006278920&dateTexte=20080329&categorieLien=cid ''code de la propriété intellectuelle''] {{in lang|fr}}. This law is the national implementation of a piece of EU legislation: [http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=CELEX:31991L0250:EN:NOT Council Directive 91/250/EEC], since then repealed by [http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=CELEX:32009L0024:EN:NOT Directive 2009/24/EC of the European Parliament and of the Council of 23 April 2009 on the legal protection of computer programs] which also has a very similar provision allowing reverse engineering/decompilation for the purposes of development and testing of independent but inter-operating programs).</ref> (See also [[Sega v. Accolade]] and [[Sony Computer Entertainment, Inc. v. Connectix Corp.|Sony v. Connectix]].) | |||
== | ==References== | ||
{{Reflist|30em}} | {{Reflist|30em}} | ||
== | ==Other sources== | ||
{{Refbegin}} | {{Refbegin}} | ||
* {{Cite web|author1=P. Biondi |author2=F. Desclaux |name-list-style=amp | title = Silver Needle in the Skype | url = https://www.blackhat.com/presentations/bh-europe-06/bh-eu-06-biondi/bh-eu-06-biondi-up.pdf | date = March 3, 2006}} | |||
* {{Cite web|author1=P. Biondi |author2=F. Desclaux | | * {{Cite web|author1=F. Desclaux |author2=K. Kortchinsky |name-list-style=amp | title = Vanilla Skype - part 1 | url = http://www.recon.cx/en/f/vskype-part1.pdf| date = June 6, 2006}} | ||
* {{Cite web|author1=F. Desclaux |author2=K. Kortchinsky | | * {{Cite web|author1=F. Desclaux |author2=K. Kortchinsky |name-list-style=amp | title = Vanilla Skype - part 2 | url = http://www.recon.cx/en/f/vskype-part2.pdf| date = June 17, 2006}} | ||
* {{Cite web|author1=F. Desclaux |author2=K. Kortchinsky | | |||
* {{Cite web|author1=L. De Cicco |author2=S. Mascolo |author3=V. Palmisano | title = An Experimental Investigation of the Congestion Control Used by Skype VoIP. | work = WWIC 07 | publisher = Springer | date = May 2007 | url = http://c3lab.poliba.it/images/d/d2/Skype_wwic07.pdf}} | * {{Cite web|author1=L. De Cicco |author2=S. Mascolo |author3=V. Palmisano | title = An Experimental Investigation of the Congestion Control Used by Skype VoIP. | work = WWIC 07 | publisher = Springer | date = May 2007 | url = http://c3lab.poliba.it/images/d/d2/Skype_wwic07.pdf}} | ||
* {{Cite web|author1=L. De Cicco |author2=S. Mascolo |author3=V. Palmisano | title = A Mathematical Model of the Skype VoIP Congestion Control Algorithm. | work = Proc. of IEEE Conference on Decision and Control 2008 | date = December 9–11, 2008 | url = http://c3lab.poliba.it/images/2/22/Skype_voip_model.pdf }} | * {{Cite web|author1=L. De Cicco |author2=S. Mascolo |author3=V. Palmisano | title = A Mathematical Model of the Skype VoIP Congestion Control Algorithm. | work = Proc. of IEEE Conference on Decision and Control 2008 | date = December 9–11, 2008 | url = http://c3lab.poliba.it/images/2/22/Skype_voip_model.pdf }} | ||