LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30...

56
Alma Mater Studiorum · Universit ` a di Bologna FACOLT ` A DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea Triennale in Matematica LA CRITTOGRAFIA NEL SISTEMA SKYPE Tesi di Laurea in Algoritmi della Teoria dei Numeri e Crittografia Relatore: Chiar.mo Prof. DAVIDE ALIFFI Presentata da: ELENA SGUBBI Sessione II Anno Accademico 2011 - 2012

Transcript of LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30...

Page 1: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

Alma Mater Studiorum · Universita di Bologna

FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI

Corso di Laurea Triennale in Matematica

LA CRITTOGRAFIA

NEL

SISTEMA SKYPE

Tesi di Laurea in Algoritmi della Teoria dei Numeri e Crittografia

Relatore:Chiar.mo Prof.DAVIDE ALIFFI

Presentata da:ELENA SGUBBI

Sessione IIAnno Accademico 2011 - 2012

Page 2: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo
Page 3: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

Indice

Indice I

Introduzione III

Nascita di Skype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . III

1 I servizi di Skype 1

2 La rete Skype 3

2.1 Struttura della rete peer-to-peer . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2 Firewall e NAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.3 Caratteristiche della rete Skype . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.3.1 Churn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.4 La rete peer-to-peer in VoIP . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.5 Comportamento degli utenti di Skype . . . . . . . . . . . . . . . . . . . . . 16

2.6 Rete Skype vs rete peer-to-peer . . . . . . . . . . . . . . . . . . . . . . . . . 17

3 La crittografia in Skype 19

3.1 Il protocollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.2 Implementazione di RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.3 La firma digitale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.4 La funzione hash: SHA-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.5 La generazione di numeri casuali . . . . . . . . . . . . . . . . . . . . . . . . 25

3.6 Registrazione di un utente Skype . . . . . . . . . . . . . . . . . . . . . . . . 26

3.7 La comunicazione tra utenti . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.8 La cifratura dei messaggi Skype . . . . . . . . . . . . . . . . . . . . . . . . . 29

4 Analisi sulla sicurezza di Skype 31

4.1 Attacchi al sistema Skype . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.1.1 Attacchi al protocollo . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.1.2 Attacchi alla password . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.1.3 Attacchi alla crittografia . . . . . . . . . . . . . . . . . . . . . . . . . 35

I

Page 4: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

II INDICE

4.2 Intercettazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

A 41A.1 La distribuzione Heavy-Tailed . . . . . . . . . . . . . . . . . . . . . . . . . . 41A.2 La distribuzione di Poisson . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

B 43B.1 RC4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43B.2 CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Bibliografia 47

Page 5: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

Introduzione

Nascita di Skype

Nell’ultimo decennio si e registrato un notevole incremento della tecnologia VoIP, Voiceover Internet Protocol, ovvero di quella tecnologia che permette la comunicazione telefonicasfruttando una connessione Internet.Skype e la tecnologia VoIP piu conosciuta e utilizzata al mondo. In una riga la possiamodefinire come un software VoIP proprietario e freeware basato su un network peer-to-peer.Skype e stato fondato nel 2003 dagli estoni Ahti Heinla, Priit Kasesalu, Jaan Tallin, daldanese Janus Friis e dallo svedese Niklas Zennstrom, i padri del software peer-to-peer difile sharing Kazaa. Precisamente nell’aprile 2003 vennero registrati i domini “skype.com”e “skype.net”, mentre nell’agosto dello stesso anno venne rilasciata la prima versione delsoftware. La sede legale di Skype si trova a Lussemburgo mentre la sede operativa e di-slocata in varie citta: Londra, Stoccolma, Praga, Tallin e Tartu in Estonia, e Palo Alto inCalifornia.

Gia nel 2005 Skype registra un tale successo da attirare su di se l’attenzione di gigantidel settore, come e-Bay che nel Settembre dello stesso anno acquista la societa Skype per2,6 miliardi di dollari.Tuttavia viene a crearsi una rottura tra i fondatori di Skype e i nuovi titolari, che, alla finedel 2007, porta i fondatori Niklas e Janus a lasciare la societa. Questa rottura causa unforte rallentamento nell’azienda, sia nell’ambito della crescita, sia nello sviluppo produtti-vo. Questo periodo di transizione viene gestito da Michael van Swaaij, nominato InterimCEO 1.Nel febbraio 2008 Skype elegge Josh Silverman come nuovo CEO, che rimarra in caricaper due anni e mezzo fino all’acquisizione da parte di Microsoft. Sotto la sua guida, Skyperilancia la sua produzione con nuovi software e aggiornamenti. In particolare la societasi incentra sul miglioramento delle video-chiamate ma soprattutto punta a conquistare ilmercato dei cellulari. Nel 2009 Skype lancia una nuova applicazione per iPhone che in

1L’acronimo CEO indica “Chief Executive Officer” ovvero l’Amministratore Delegato, mentre “InterimCEO” rappresenta una nomina di transizione.

III

Page 6: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

IV INTRODUZIONE

appena due giorni supera 1 milione di download, e si prepara a lanciare un nuovo softwareper piattaforme Android.Anche la campagna pubblicitaria lanciata da Skype e innovativa ed efficace. Silverman in-fatti ottiene l’appoggio di alcune importanti trasmissioni televisive, cosı, eventi come “TheOprah Winfrey Show” o quiz come “Who Wants To Be a Millionaire” utilizzano Skypeper mettere in collegamento audio-video i concorrenti in studio con i telespettatori a casa.Queste nuove scelte, sia produttive che di marketing, fanno sı che per Skype cominci unanuova fase di crescita.Il 2 settembre 2009 e-Bay vende il 65% della societa ad un gruppo di imprenditori privati,tra cui la Index Ventures e la Silver Lake Partners, per 1,9 miliardi di dollari. Questa quotaviene poi acquistata nel marzo 2011 dalla societa FREE Inc.Successivamente si apre una trattativa con Google e Facebook per l’acquisizione di Skype,ma il 10 maggio 2011 e il colosso Microsoft ad avere la meglio con l’offerta di 8,5 miliardidi dollari. Microsoft incorpora Skype nella propria societa creando una specifica divisionechiamata Microsoft Skype Division. Dopo pochi mesi, in agosto, Skype acquisisce GroupMe, un provider attivo con diverse applicazioni per i rispettivi smartphone, sottolineandoancora di piu il suo nuovo interesse per i telefoni cellulari.

Il successo di Skype e confermato anche dai dati riguardanti il numero di account regi-strati [1].Dopo tre anni dalla sua nascita, nel 2006, Skype conta gia 100 milioni di registrazioni checrescono esponenzialmente fino ad arrivare a 474 milioni nel 2009 e, con una crescita del28,5%, raggiungono i 663 milioni nel 2010. Sempre nel 2010, la media di utenti connessiogni mese e stata di 145 milioni, contro i 105 dell’anno precedente, anche la media mensiledei clienti che hanno scelto servizi Skype a pagamento e aumentata, passando dai 7,3 mi-lioni del 2009 agli 8,8 milioni nel 2010.Anche nel 2011 Skype ha raggiunto un nuovo record, infatti a Gennaio, con la possibilitadi effettuare video-chiamate Skype su iPhone, la societa ha registrato 27 milioni di utention-line simultaneamente, che sono cresciuti fino a 30 milioni a Marzo dello stesso anno.La figura 1 [2] mostra graficamente il successo di questo innovativo sistema VoIP, rappre-sentando il numero di utenti Skype on-line simultaneamente, dalla nascita nel 2003 fino aMarzo 2012. In questo modo e possibile osservare direttamente l’effettivo utilizzo di Skypee la sua continua e rapida crescita.Quando si considera il numero di utenti registrati bisogna precisare che, in realta, vienecontato il numero di account di tipo Skype e non il numero reale di utenti, poiche questihanno la possibilita di creare piu account Skype.Tuttavia basta considerare il fatturato di chiamate in minuti per capire che il fenomeno eugualmente in grande espansione. Nel 2009 sono stati effettuati 113,0 miliardi di minuti dichiamate e 194,3 miliardi di minuti nel 2010, gratuitamente, cioe di tipo Skype-to-Skype.Ma anche le chiamate a pagamento sono aumentate da 10,7 miliardi di minuti nel 2009 a12,8 miliardi di minuti nel 2010, con un costo medio mensile di 97 dollari per ogni utente.

Page 7: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

NASCITA DI SKYPE V

Figura 1: Utenti Skype on-line simultaneamente

I guadagni di questo colosso VoIP sono altrettanto imponenti. Nel 2009 la societa haincassato ben 718,9 milioni di dollari mentre nel 2010 Skype ha raggiunto gli 859,8 milionidi dollari.

Un numero cosı elevato di utenti e di accessi simultanei puo creare problemi nella retee nella sua gestione. Skype non e immune da queste problematiche.Il primo crash della rete Skype si e verificato il 16 agosto 2007. In base alle dichiarazioniufficiali rilasciate dalla societa, il problema e stato causato da un aggiornamento dei sistemiWindows. In quel giorno, infatti, si e avuto un aggiornamento massiccio di Windows e isistemi, dopo l’operazione, si sono automaticamente riattivati e di conseguenza hanno ef-fettuato il login a Skype. Il numero eccessivo di login avrebbe dovuto innescare un appositosistema di sicurezza, sviluppato per evitare sovraccarichi nei server di autenticazione, maun errore proprio in questo sistema ha provocato un blocco della rete.Per tale motivo questa data viene ricordata dagli utenti Skype come il “Patch Tuesday”,dove il termine “patch”, che letteralmente viene tradotto con “pezza”, in informatica indicaun file eseguibile rilasciato dai produttori del software stesso per risolvere un determinatoerrore di programmazione.A questo crash ne sono seguiti altri, come quello del 22 dicembre 2010 causato da unproblema nella versione 5.0.0.152 di Skype. La versione incriminata non permetteva unaggiornamento completo e automatico del software, come invece avviene normalmente nelle

Page 8: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

VI INTRODUZIONE

altre versioni, e questo ha provocato il blocco di alcuni supernodi, elementi alla base delsistema di rete Skype. Gli addetti al lavoro hanno quindi dovuto ricostruire nuovi super-nodi affinche fosse ristabilita la situazione.Un ultimo crash e avvenuto a maggio del 2011 dopo appena due settimane dall’acquisto diSkype da parte di Microsoft. Il blocco in questo caso e stato causato da un aggiornamentodati del sistema.

Una curiosita sul nome di questo famoso software VoIP.In origine i fondatori avevano pensato di chiamare questo sistema “Sky peer-to-peer”, poiabbreviato in “Skyper”. Tuttavia alcuni domini associati al nome “Skyper” erano gia oc-cupati, quindi si penso di sopprimere la “r” finale, ottenendo cosı il nome che ancora oggilo accompagna: Skype.

Page 9: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

Capitolo 1

I servizi di Skype

I servizi offerti agli utenti da parte di Skype sono molteplici.Oltre all’opportunita data dal file-sharing e dalla chat, Skype deve il suo successo alle ca-ratteristiche dei servizi telefonici offerti, che lo rendono competitivo rispetto alla telefoniatradizionale.

• Skype-to-Skype

La connessione peer-to-peer permette di comunicare via voce gratuitamente. In questocaso, sia il mittente che il destinatario devono essere collegati attraverso Internet ad unaccount di tipo Skype. Percio, questa applicazione viene anche chiamata Skype-to-Skype.

• SkypeOut

SkypeOut permette invece di effettuare telefonate a pagamento verso telefoni fissi o cel-lulari quando il destinatario non e collegato a Skype. L’appetibilita dell’offerta e datadai costi ridotti, dovuti al fatto che la telefonata viaggia per la maggior parte attraversoInternet e solo in prossimita del destinatario i dati vengono convertiti in analogico in mododa utilizzare solo la rete telefonica locale. Quindi, per esempio, una telefonata del tipoRoma-Pechino avra il costo di una telefonata locale e non intercontinentale.Con questa modalita e con questo meccanismo e possibile anche inviare sms a basso costoverso tutti i cellulari.

1

Page 10: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

2 CAPITOLO 1. I SERVIZI DI SKYPE

• SkypeIn

Se SkypeOut e un servizio telefonico del tipo mittente connesso a Skype e destinatariotradizionale, SkypeIn rappresenta il servizio simmetrico, essendo orientato verso quelle te-lefonate con mittente “analogico” e destinatario collegato a Skype.SkypeIn infatti permette, a basso costo, di acquistare un numero telefonico associato al-l’account di Skype. In questo modo il mittente puo comporre tale numero tramite fisso omobile, e la telefonata viene ricevuta sul computer che presenta l’account corrispondente,come una normale chiamata telefonica.Con questa modalita si puo anche richiedere la segreteria telefonica.Il numero Skype si puo ottenere nei seguenti Stati: Australia, Belgio, Cile, Colombia, Da-nimarca, Repubblica Dominicana, Estonia, Finlandia, Francia, Germania, Giappone, HongKong, Irlanda, Italia, Messico, Nuova Zelanda, Olanda, Polonia, Regno Unito, Romania,Stati Uniti, Sud Africa, Sud Corea, Svezia, Svizzera, Turchia e Uruguay.

• Video-chiamate

Nel gennaio 2006 e stata introdotta la possibilita di effettuare video-chiamate attraversouna webcam, prima su piattaforme Windows e Mac, successivamente, dal 2008 e statopossibile anche per sistemi Linux.Attualmente le chiamate audio supportano fino a 25 utenti contemporaneamente, mentrele video-chiamate fino a 5 utenti.

Al momento pero, Skype non puo sopperire totalmente al telefono fisso o mobile inquanto non e abilitato ad effettuare le chiamate d’emergenza.

Page 11: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

Capitolo 2

La rete Skype

Cio che rende innovativo il prodotto Skype e la combinazione di un sistema di tipoVoIP all’interno di una rete peer-to-peer. Questa caratteristica voleva essere evidenziataanche nel nome della societa che in origine, come gia accennato, doveva chiamarsi “Skypeer-to-peer” ma che per varie vicissitudini e diventata “Skype”.Una rete peer-to-peer e un network di tipo overlay, cioe “una rete sopra un’altra rete”;infatti il peer-to-peer e costituito da un insieme di nodi connessi tra loro attraverso linkvirtuali (e questo forma una rete) all’interno del sistema Internet (un’altra rete).

Figura 2.1: Struttura di un network overlay

Una delle operazioni piu importanti in una rete peer-to-peer e il lookup delle risorse,ovvero il modo in cui vengono localizzate le risorse sulla rete. I primi sistemi peer-to-peerutilizzavano un lookup centralizzato basato su nodi fissi e il risultato era analogo ad unastruttura dall’approccio di tipo client-server. Questa scelta pero non era ottimale, le risorsespesso non fluivano bene andando a generare ingorghi. Inoltre un approccio centralizzatocausava fragilita nell’infrastruttura. Si sviluppa cosı un nuovo modello decentralizzato, ca-ratterizzato dalla mancanza di un lookup centrale, dove le informazioni vengono distribuite

3

Page 12: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

4 CAPITOLO 2. LA RETE SKYPE

sui nodi. Questo sistema permette una maggiore scalabilita ma ha come difetto l’aumentodella complessita della rete. Il lookup decentralizzato puo essere a sua volta di due tipi:strutturato e non strutturato. In una rete decentralizzata ma strutturata i peer si organiz-zano seguendo una topologia precisa con la presenza di una directory service distribuita,mentre un approccio non strutturato e caratterizzato dall’assenza di controllo sulla topo-logia della rete e dalla mancanza di una directory service.Skype utilizza un network peer-to-peer decentralizzato e non strutturato.

2.1 Struttura della rete peer-to-peer

La rete si sviluppa su due livelli, questo perche sono presenti due tipi di nodi:il nodo ordinario e il supernodo.I nodi ordinari, o ordinary host, sono terminali della rete che ospitano programmi a livelloapplicativo, per questo in inglese vengono definiti host ovvero ospiti, e permettono di ef-fettuare chiamate vocali e inviare messaggi istantanei.I supernodi sono nodi ordinari terminali della rete Skype con caratteristiche aggiuntive.Sono state eseguite diverse prove da parte dei ricercatori Saikat Guha della Cornell Univer-sity, di Neil Daswani e Ravi Jain per Google, con lo scopo di investigare sui criteri utilizzatida Skype per promuovere un nodo a supernodo [3]. Una di queste prove consisteva nel fargirare alcuni nodi Skype in diversi ambienti e aspettare fino a due settimane per osservarel’avvenuta o meno trasformazione. Si e cosı osservato che i nodi che presentano un collega-mento di rete saturo oppure che lavorano dietro NAT non sono stati promossi a supernodi,mentre i nodi con IP pubblico e con connessione Internet a 10 Mbps sono entrati a farparte della rete di supernodi in pochi minuti.Sembra quindi che i supernodi vengano scelti tra quei nodi che presentano abbondanza dibanda di rete libera e che sono pubblicamente raggiungibili.Ma diventare un supernodo presenta diversi svantaggi dati dal fatto che al supernodo ap-partengono degli oneri extra. I supernodi infatti, mettono a disposizione di Skype partedella propria banda di rete e delle proprie risorse per consentire la comunicazione, sia VoIPsia di trasferimento di file, tra tutti i client Skype. In particolare, come approfondiremoin seguito nel paragrafo 2.2 “Firewall e NAT”, Skype utilizza i supernodi per veicolarecompletamente le chiamate di due client entrambi, o uno solo, dietro NAT che altrimentinon potrebbero comunicare tra loro proprio perche il NAT, o il firewall, impedisce la con-nessione.

Un altro elemento fondamentale che caratterizza la rete peer-to-peer di Skype e il ser-ver d’accesso o login server.Ogni nodo deve connettersi al server d’accesso in modo da effettuare il login alla rete Sky-pe. In questo server infatti sono registrati i nomi degli utenti e le rispettive password,permettendo l’autenticazione dell’utente. Il server d’accesso garantisce anche il rispetto

Page 13: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

2.1. STRUTTURA DELLA RETE PEER-TO-PEER 5

delle norme di composizione e di unicita del nome utente e della password.Una lista cifrata di login server e codificata nel file eseguibile di Skype, il quale al momentodell’accesso si connette casualmente ad uno di questi server [4]:

• dir1.sd.skype.net:9010

• dir2.sd.skype.net:9010

• dir3.sd.skype.net:9010

• dir4.sd.skype.net:9010

• dir5.sd.skype.net:9010

• dir6.sd.skype.net:9010

• dir7.sd.skype.net:9010

• dir8.sd.skype.net:9010

• http1.sd.skype.net:80

• http2.sd.skype.net:80

• http3.sd.skype.net:80

• http4.sd.skype.net:80

• http5.sd.skype.net:80

• http6.sd.skype.net:80

• http7.sd.skype.net:80

• http8.sd.skype.net:80

La figura 2.2 [7] illustra la relazione tra nodi ordinari, supernodi e server d’accesso.A parte il login server per l’autenticazione e l’accesso alla rete, non e presente un servercentrale per le risorse di rete. Le informazioni degli utenti online e offline, infatti, sonomemorizzate e propagate in un modello decentralizzato, e cosı anche le richieste di ricercadegli utenti.

Page 14: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

6 CAPITOLO 2. LA RETE SKYPE

Figura 2.2: Struttura della rete Skype

E possibile elencare anche altre caratteristiche della rete Skype.Innanzitutto le porte utilizzate dal sistema. Un client Skype, che non sia dietro un firewallo un NAT, apre in ascolto la porta listening corrispondente al numero 80, ossia una portaHTTP di tipo TCP, e la porta corrispondente al numero 443 di tipo HTTPS. In aggiuntail client apre una porta listening di tipo TCP e UDP al numero configurato nella finestradi connessione del computer al momento dell’installazione. A differenza di altri protocolliInternet, Skype non ha un numero di porta fisso.Un’altra caratteristica di Skype e data dall’host cache, una lista di indirizzi IP e di portedei supernodi raggiungibili, che i client costruiscono e aggiornano periodicamente. Lahost cache deve contenere almeno un indirizzo IP e un numero di porta di un supernodoSkype online. Se il client utilizza un sistema operativo Windows allora questa lista vienememorizzata nel registro Windows in [7] :HKEY CURRENT USER/ SOFTWARE/ SKYPE/ PHONE/LIB/CONNECTION/HOSTCACHESono stati eseguiti diversi esperimenti, da parte di Salman A. Baset e Henning Schulzrinnedel Dipartimento di Computer Science della Columbia University [7], e si e arrivati allaconclusione che la host cache puo contenere, al massimo, informazioni per 200 supernodi.Il codec e un elemento indispensabile per l’efficienza di un sistema VoIP. Il codec comprime idati in modo da ridurre la banda richiesta per la trasmissione, per poi decomprimerli in fase

Page 15: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

2.2. FIREWALL E NAT 7

di lettura. Durante la fase di compressione, pero, viene ridotta la precisione dell’immaginenei file video, e del suono nei file audio. Per questo motivo e importante utilizzare unbuon codec in modo che la qualita della telefonata non venga compromessa. Skype utilizzaiLBC, iSAC e un terzo codec non noto, tutti a banda larga.Una caratteristica delle compagnie telefoniche tradizionali e dei sistemi VoIP in generale,e data dalla soppressione del silenzio. Con questo termine si descrive la scelta di nontrasmettere pacchetti sulla rete quando uno degli interlocutori della chiamata non parla.Skype, al contrario, non utilizza la tecnica della soppressione del silenzio, generando 33pacchetti al secondo per tutte le connessioni VoIP indipendentemente dalle caratteristichedel discorso.

2.2 Firewall e NAT

Il firewall, dall’inglese muro antifuoco, e un apparato di rete hardware o software la cuifunzione principale e creare un filtro sui pacchetti entranti e uscenti, in modo da innalzareil livello di sicurezza della rete. Questo perche il firewall ha la possibilita di esaminare unpacchetto IP per leggere le informazioni presenti nell’header e, talvolta, per leggere ancheil contenuto stesso del pacchetto (deep packet inspection). In tal modo l’apparato puoeseguire operazioni di controllo, modifica e monitoraggio.Una famiglia particolare di firewall sono i personal firewall ovvero software installati suicomputer che filtrano solo i pacchetti entranti e uscenti da quel calcolatore, in particolareeffettuano controlli su tutti i programmi presenti sul computer che tentano di accedere adInternet.Il funzionamento dei due firewall descritti non e lo stesso. Nel primo caso, le regole chegestiscono il flusso del traffico vengono impostate in base all’indirizzo IP sorgente, a quellodi destinazione e alla porta, mentre nel personal firewall e l’utente stesso che decide a qualiapplicazioni e concesso l’accesso alla rete Internet e a quali e negato.Il NAT, Network Address Translation ovvero traduzione degli indirizzi di rete, e una tecnicache consiste nel modificare gli indirizzi IP dei pacchetti all’interno di una comunicazione.E possibile distinguere tra source NAT e destination NAT a seconda che venga modificatol’indirizzo sorgente o l’indirizzo di destinazione del pacchetto che inizia una nuova connes-sione. Una tipologia di NAT e il NAT dinamico che permette di modificare non solo gliindirizzi IP ma anche le porte TCP e UDP delle connessioni.L’obiettivo dei NAT e quello di dare l’illusione di comunicare con un indirizzo IP diversoda quello effettivamente utilizzato. Questa tecnica viene usata per diverse ragioni, comeovviare alla scarsita di indirizzi IP pubblici disponibili oppure permettere una connessionetra le Intranet, ovvero reti private sviluppate sul modello di Internet ma con indirizzi IPprivati, e Internet stesso, che utilizza solo indirizzi IP pubblici. I NAT vengono usati ancheper ragioni di sicurezza, in quanto le tecniche utilizzate rendono i computer non diretta-mente raggiungibili da Internet.

Page 16: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

8 CAPITOLO 2. LA RETE SKYPE

Proprio le caratteristiche dei firewall e dei NAT creano notevoli problemi nella comunica-zione VoIP tra nodi che utilizzano queste tecniche. Alcune problematiche sono date dalfatto che [4] :

• gli indirizzi IP e i numeri di porte interni non sono ricavabili perche i NAT li riscrivono;

• l’uso di firewall e NAT blocca la sessione in fase di ricezione;

• il protocollo UDP non e utilizzabile per via delle caratteristiche dei NAT;

• il firewall blocca molte porte;

• la sessione da TCP a NAT e, di default, di sola andata.

Skype, tuttavia, riesce a districarsi tra le varie problematiche consentendo la comunicazio-ne anche tra client che usano firewall e NAT.Sono stati condotti diversi esperimenti, da parte dei ricercatori Saikat Guha della Cor-nell University, di Neil Daswani e Ravi Jain per Google [3], con lo scopo di esaminare indettaglio i meccanismi di comunicazione utilizzati da Skype. L’esperimento consisteva nel-l’avviare due client con versione Skype 1.1.0.13 per Linux su computer separati, e osservaregli indirizzi IP sorgenti e di destinazione dei pacchetti inviati e ricevuti, in risposta a varierichieste poste a livello applicativo.Si e quindi osservato che in Skype i nodi inviano traffico di controllo (control traffic) oltrea informazioni, messaggi istantanei e richieste per sessioni di tipo VoIP e di tipo trasferi-mento di file, attraverso i supernodi della rete peer-to-peer.Se le richieste inviate da un peer vengono accettate dalla controparte, allora viene stabilitauna connessione diretta tra i due client.Come gia accennato, i problemi si creano quando entrano in gioco firewall e NAT.Per studiare questo importante aspetto, i ricercatori hanno ripetuto l’esperimento primaper un client dietro NAT/firewall e successivamente per entrambi i client dietro differentiNAT/firewall.Si e quindi osservato che, se un solo client e dietro NAT/firewall, Skype usa una connessio-ne inversa (connection reversal) in cui e il nodo che utilizza NAT/firewall ad avviare unasessione TCP/UDP come mezzo per iniziare una sessione VoIP o di trasferimento file.Invece, se entrambi i client sono dietro NAT/firewall, Skype usa un attraversamento NATdi tipo STUN per stabilire una connessione diretta tra i client. Nel caso in cui l’attra-versamento NAT fallisca o il firewall blocchi alcuni pacchetti Skype, allora si ricorre adun approccio di tipo TURN, in cui la sessione e trasmessa da un supernodo raggiungibilepubblicamente.Approfondiamo questi nuovi dettegli.Per “attraversamento di NAT” si intende un insieme di tecniche che stabiliscono e man-tengono una connessione Internet con un utente dietro NAT. Queste vengono utilizzatesoprattutto per applicazioni di rete client-to-client, in particolar modo per rete peer-to-peer. Esistono molte tecniche di attraversamento ma non esiste un unico metodo che

Page 17: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

2.3. CARATTERISTICHE DELLA RETE SKYPE 9

permette di attraversare tutti i tipi di NAT, poiche il loro comportamento non e stan-dard. Per esempio, molti metodi richiedono l’assistenza di un server che generi indirizziIP pubblici, alcuni utilizzano questo server solo per stabilire la connessione, mentre altritrasmettono tutti i dati attraverso il server stesso.Il primo attraversamento NAT usato da Skype e, come appena visto, il Session TraversalUtilities for NAT, STUN. Questo permette al client di ottenere un indirizzo di trasporto,consistente in indirizzo IP e porta, adatto nel ricevere pacchetti provenienti da altri peer.Tuttavia gli indirizzi generati da protocolli STUN non sono utilizzabili da tutti gli utenti.Per questo motivo Skype utilizza, in secondo luogo, un attraversamento di tipo TURN,cioe Traversal Using Relays around NAT. Il TURN e un protocollo che fornisce le stessefunzioni di sicurezza garantite da un NAT/firewall ma allo stesso tempo permettere unaconnessione verso un altro singolo peer. I dati vengono trasmessi attraverso un server chegira, appunto turn, le tabelle contenenti indirizzi IP e porte, in modo tale da generare in-dirizzi di trasporto che permettano di ricevere pacchetti da quasi ogni peer. Quindi TURNfornisce al client quasi sempre la connettivita, ma cio richiede dei costi molto alti in terminidi efficienza, come l’aumento della latenza (ovvero del tempo di risposta di un sistema)causando dei ritardi nella comunicazione voce-video in tempo reale. Per questo motivoSkype utilizza il protocollo TURN solo come ultimo approccio nel caso in cui il protocolloSTUN non ottiene esiti positivi.

Complessivamente il meccanismo impiegato da Skype per adempiere alle richieste VoIPe di trasferimento file risultano robuste anche per NAT e firewall, ottenendo inoltre un’ot-tima corrispondenza voce-video in tempo reale.

2.3 Caratteristiche della rete Skype

Come accennato nel primo capitolo, Skype e un sistema VoIP proprietario, quindi iprotocolli e le caratteristiche del sistema e della rete non sono resi noti. Tuttavia, equipedi studiosi hanno condotto diversi esperimenti con l’intento di studiare e analizzare lepeculiarita di questo sistema.In questo capitolo, attraverso gli studi condotti da diversi esperti, si cercano di esaminarealcune caratteristiche della rete peer-to-peer di Skype.

2.3.1 Churn

Con il termine churn si intende l’“agitazione” della rete peer-to-peer, ovvero il continuoprocesso di ingresso e di uscita di nodi dalla rete. Il churn e una caratteristica molto im-portante e da monitorare continuamente per far si che il traffico venga gestito in manieraottimale. Senza un controllo dei nodi presenti nella rete, e possibile che alcuni pacchet-ti vengano instradati verso nodi mancanti mentre invece alcuni nuovi nodi non vengono

Page 18: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

10 CAPITOLO 2. LA RETE SKYPE

considerati, riducendo cosı l’efficienza della rete. Per questo il churn e stato ampiamentestudiato soprattutto in reti di file-sharing peer-to-peer nelle quali questo parametro rag-giunge livelli molto alti. In queste reti infatti, il tempo di sessione di un nodo, ovverol’intervallo di tempo che intercorre tra l’ingresso di un nodo nella rete e la sua uscita, puoessere breve, anche di soli pochi minuti. In questi casi il churn e gestito attraverso frequen-ti aggiornamenti con ristrutturazioni dinamiche della rete e periodiche manutenzioni deltraffico, in modo da mantenere la compattezza della rete stessa.L’obiettivo di questo paragrafo e quello di studiare il churn nella rete dei supernodi diSkype. Per far cio e necessario introdurre tre esperimenti eseguiti in parallelo da parte deiricercatori Saikat Guha della Cornell University, di Neil Daswani e Ravi Jain per Google[3].

1. Attivita nella rete dei supernodi:in questa prova si e osservata l’attivita di un supernodo Skype nella rete per 135giorni, precisamente dal 1 Settembre 2005 al 14 Gennaio 2006, con versione 1.2.0.11per Linux. In totale sono stati raccolti 13 GB di dati inviati e ricevuti dal supernodorelativi a trasmissioni di tipo VoIP e di trasferimento file.

2. Popolazione dei supernodi:sono stati individuati gli indirizzi IP e i numeri di porte di nodi e supernodi nelperiodo compreso tra il 25 Luglio 2005 e il 12 Ottobre dello stesso anno. Skypeprevede che ogni client abbia una propria host cache, cioe una lista di indirizzi IP disupernodi e di porte alle quali accedere, che viene regolarmente aggiornata. E statoallora elaborato uno script che esegue diverse operazioni sulla host cache dell’utente.Innanzitutto lo script analizza la lista degli indirizzi IP dei supernodi per poi sostituireinteramente tale lista con un singolo indirizzo IP di un supernodo scelto dalla listastessa. Con questa operazione il client e costretto, al successivo accesso, ad utilizzareesclusivamente quel supernodo. Si attende poi l’aggiornamento della host cache coni nuovi indirizzi IP dei supernodi ai quali il nodo e connesso. Lo script, a questopunto, svuota nuovamente la lista e l’intero procedimento si ripete.Attraverso questo meccanismo e stato possibile effettuare una scansione della retedei supernodi. Inoltre, come effetto secondario, lo script ha memorizzato anche ilnumero degli utenti Skype online quando il client era connesso alla rete.

3. Istantanee di supernodi online:per ottenere le istantanee dei supernodi online, e stato creato uno script che invia deiping a livello applicativo verso i supernodi.Un ping e un programma che misura il tempo impiegato dai pacchetti per raggiungereun altro dispositivo di rete e poi tornare indietro. Tecnicamente un ping invia unpacchetto di tipo ICMP echo request verso un supernodo e rimane in attesa dellacorrispondente risposta che avviene con l’invio di un pacchetto di tipo echo reply. Ilprogramma calcola poi il numero di pacchetti inviati e ricevuti, la loro dimensione,

Page 19: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

2.3. CARATTERISTICHE DELLA RETE SKYPE 11

il tempo totale trascorso tra l’invio di ogni pacchetto e la ricezione della rispostacorrispondente, la media dei tempi e la percentuale di risposte ottenute. Per questo,il ping viene spesso utilizzato per attestare la raggiungibilita di un altro computerconnesso alla rete.Ogni istantanea e il risultato dell’invio di ping paralleli verso un set di 6000 supernodiscelti casualmente dalla host cache. Ogni istantanea e stata eseguita in 4 minuti eripetuta dopo un intervallo di 30 minuti. L’esperimento, di durata un mese, ha avutoinizio il 12 Settembre 2005.

I dati ottenuti da queste prove permettono di studiare il churn nella rete peer-to-peer deisupernodi di Skype.Vediamo in dettaglio.

Figura 2.3: Percentuale di nodi e supernodi attivi

La figura 2.3 [3] confronta il numero di supernodi con il numero di utenti online. Ilgrafico e diviso in due parti: la parte a sinistra mostra la variazione giornaliera dellapopolazione dei client e dei supernodi dal 18 Settembre al 4 Ottobre 2005, mentre a destraviene mostrato un particolare che evidenzia la variazione oraria relativa a mercoledı 22Settembre.Dall’analisi del grafico e possibile effettuare diverse osservazioni. Innanzitutto si evinceche il numero di supernodi e piu stabile rispetto a quello degli utenti online, in quanto lapopolazione dei client varia piu del 40% ogni giorno mentre la popolazione dei supernodi epiu stabile con una variazione inferiore al 25%. Tuttavia e necessario precisare che su 6000supernodi verso i quali sono stati inviati dei ping, come descritto nel terzo esperimento,solo 2078 supernodi hanno risposto almeno una volta e di questi solo il 30-40% erano onlinein qualsiasi momento.Dal grafico si rileva il massiccio utilizzo di Skype anche, e soprattutto, in ambito lavorativo.

Page 20: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

12 CAPITOLO 2. LA RETE SKYPE

Infatti sono evidenti importanti variazioni diurne con un picco di utilizzo durante le normaliore lavorative e con una riduzione anche del 40-50% durante la notte, come evidenziatonello zoom a destra del grafico 2.3. Anche le variazioni settimanali sono significative inquanto si ha un calo del 20% di utenti online nel fine settimana rispetto alla media deigiorni lavorativi.Anche il grafico 2.4 [3] conferma il massiccio uso di Skype durante le ore lavorative, ma inparticolare evidenzia la distribuzione geografica dei supernodi attivi.

Figura 2.4: Distribuzione geografica dei supernodi attivi

L’Europa contiene il 45-60% dei supernodi della rete Skype, il Nord America contribui-sce con il 15-25% mentre l’Asia rappresenta il 20-25% dei supernodi.Per le aree geografiche considerate, il picco di accessi a Skype si verifica intorno a mezzo-giorno, ora locale. Questa caratteristica differenzia Skype rispetto ad una classica rete difile-sharing peer-to-peer, infatti in quest’ultima gli utenti scaricano file avviando processiche hanno la durata di giorni, se non settimane.Le caratteristiche, quindi, in termini di tempo di sessione e di picchi di utilizzo sono diverserispetto a quelle registrate in Skype.

Grazie alle istantanee ottenute con il terzo esperimento, e possibile confermare che l’in-gresso di nodi nella rete Skype e concentrato soprattutto alla mattina, mentre le uscitedalla rete si verificano verso sera, come mostrato dall’ingrandimento della figura 2.5 [3] .La mediana del tempo di sessione di un supernodo e di 5.5 ore, valore piu alto rispetto allacorrispondente media calcolata su reti di file-sharing peer-to-peer. Bisogna pero precisareche in questo calcolo si e tenuto conto sia dei supernodi che dei nodi.

Page 21: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

2.3. CARATTERISTICHE DELLA RETE SKYPE 13

Figura 2.5: Percentuale di supernodi entranti e uscenti dalla rete

Figura 2.6: Grafico del complementare della CDF del tempo di sessione

Page 22: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

14 CAPITOLO 2. LA RETE SKYPE

La figura 2.6 [3] mostra il complementare della CDF del tempo di sessione dei supernodiSkype. Per CDF, Cumulativa Distribution Function, si intende la funzione di ripartizioneche associa ad ogni tempo di sessione la probabilita dell’evento “tempo di sessione ≤ x”.Questo tipo di distribuzione risulta utile soprattutto per identificare leggi di potenza, ov-vero leggi della forma: f(x) = axk + o(xk)Tenendo conto delle problematiche incontrate durante gli esperimenti e delle perdite deidati dovute all’elevato livello di sicurezza di Skype, e possibile approssimare il grafico ot-tenuto con un segmento. Dal grafico si ricava quindi una legge di potenza. La natura diquesta distribuzione suggerisce che le entrate e le uscite di supernodi nella rete Skype nonpossano essere modellate attraverso processi uniformi o di Poisson con parametro di pro-porzionalita costante. Conseguentemente, i risultati di esperimenti passati che modellanoil churn con questi processi, se applicati a Skype potrebbero risultare fuorvianti.Per modellare l’ingresso dei supernodi nella rete e necessario considerare un processo diPoisson con tassi orari variabili, piu alti alla mattina rispetto che alla sera per via dell’an-damento orario dell’ingresso dei supernodi nella rete, come gia analizzato.Considerando la definizione di distribuzione di Poisson con tasso variabile, e possibilecalcolare la probabilita che nell’intervallo di tempo (a, b] si verifichino k ingressi nella rete:

P [(N(b)−N(a)) = k] =e−λa,b(λa,b)

k

k!

dove:k = 0, 1, . . .N(b)−N(a) rappresenta il numero di eventi nell’intervallo di tempo (a, b] ;

λa,b =∫ ba λ(t) dt rappresenta il tasso variabile.

Concludendo, e risultato un churn molto piccolo nella rete dei supernodi, con un com-portamento diurno e un tempo di sessione medio di diverse ore. Inoltre la modellazionedel churn di Skype si ottiene con una distribuzione di Poisson con tassi variabili orari.Questa appartiene alla famiglia di distribuzioni heavy-tailed, nella quale le code sono piupesanti rispetto ad una distribuzione esponenziale e quindi tendono a zero piu lentamente(per maggiori chiarimenti e approfondimenti sulla distribuzione heavy-tailed e di Poissonsi rimanda all’Appendice A).Come accennato precedentemente, non solo la modellazione ma anche il monitoraggio delchurn e un aspetto importante nella gestione di una rete. Considerando il fatto che piudel 95% dei supernodi presente in un’istantanea e presente anche in quella successiva, ese-guita dopo un intervallo di 30 minuti, e d’obbligo concludere che Skype effettua periodicicontrolli e aggiornamenti della rete, in modo da mantenere costante la disponibilita deisupernodi.

Page 23: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

2.4. LA RETE PEER-TO-PEER IN VOIP 15

2.4 La rete peer-to-peer in VoIP

Skype, utilizzando una rete peer-to-peer per le trasmissioni di tipo VoIP, ha introdottoun nuovo modo di comunicare: sfruttare la rete disponibile e le risorse dei supernodi percoordinare le chiamate, utilizzando solo in alcuni casi, e comunque in minima parte, la retetelefonica tradizionale.In questo paragrafo, quindi, si vuole analizzare il ruolo che la rete peer-to-peer gioca nelcontesto VoIP di Skype, senza trascurare pero l’aspetto del trasferimento di file. Studiamopercio l’apporto che i supernodi danno alla rete peer-to-peer di Skype.

A questo scopo, e necessario analizzare il grafico 2.7 [3], il quale mostra la banda di reteutilizzata dai supernodi ad intervalli di tempo di 30 secondi.Risulta che per il 50% del tempo i supernodi consumano meno di 205 bps. Quindi sembrache i supernodi sostengano un costo di banda piccolo per la maggior parte del tempo.Ora, identifichiamo le varie tipologie di traffico e le separiamo tra loro. Otteniamo, cosı, iltraffico di controllo, il traffico dati di trasmissioni VoIP, il traffico del trasferimento di file eil traffico generato dalla messaggistica istantanea. Questa operazione di separazione e resadifficoltosa dall’utilizzo, da parte di Skype, di operazioni di cifratura sul proprio traffico dicontrollo e di dati. Si deve cosı ricorrere ad approcci statistici. Tuttavia questo metodo none ottimale, infatti puo classificare erroneamente piccoli trasferimenti di file come traffico dicontrollo, ma in generale fornisce una buona stima sul traffico di Skype.

Figura 2.7: CDF della banda utilizzata dai supernodi ad intervalli di 30 sec

Risulta che un supernodo e impegnato nella trasmissione dati per il 9.6% del tempo.Questo valore e piu piccolo di quanto ci si aspetta, ma cio e spiegabile dall’uso di validisistemi di attraversamento NAT, che stabiliscono sessioni dirette di tipo VoIP o di trasfe-

Page 24: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

16 CAPITOLO 2. LA RETE SKYPE

rimento file tra utenti dietro NAT o firewall.Durante questo tempo, per trasmettere i dati il supernodo usa mediamente 60 kbps oltread un piccolo consumo di potenza e memoria rispetto ad un nodo ordinario.

2.5 Comportamento degli utenti di Skype

Figura 2.8:(a) CDF del tempo che intercorre tra l’arrivo di due pacchetti successivi(b) CDF della durata delle conversazioni(c) CDF della dimensione dei file trasferiti

I grafici riportati nella figura 2.8 [3] mostrano alcune tendenze degli utenti Skype.I dati, utilizzati per costruire tali grafici, sono ottenuti dall’esperimento 1 descritto pre-cedentemente. La cifratura del traffico Skype ha creato notevoli problematiche, limitandol’osservazione solo a sessioni di tipo VoIP e di trasferimento file trasmesse attraverso su-pernodi e non per sessioni dirette o di messaggistica istantanea. Questo ha impedito lostudio di gran parte del traffico, portando ad una perdita di dati stimata attorno al 85%,

Page 25: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

2.6. RETE SKYPE VS RETE PEER-TO-PEER 17

tanto che sono stati raccolti solo 1121 dati in 135 giorni di test.Per questi motivi non e possibile parlare di uno studio del comportamento degli utentiSkype, bensı solo di tendenze.Se la scarsita di dati raccolti e un fattore negativo per questo tipo di ricerche, dal puntodi vista della sicurezza della rete, invece, i risultati sono incoraggianti. Come approfondi-remo nel capitolo 4, la cifratura dei messaggi e del traffico, rende Skype impenetrabile adattacchi esterni.Ritornando al comportamento degli utenti, il grafico 2.8(a) confronta il tempo che inter-corre tra l’arrivo di due pacchetti successivi trasmessi attraverso supernodi, in sessioni ditipo VoIP e di trasferimento file. In entrambi i casi i tempi seguono una distribuzione diPoisson. In questo grafico e possibile anche fare un confronto tra le chiamate VoIP e itrasferimenti di file; si osserva cosı che gli utenti prediligono utilizzare Skype per effettuarechiamate rispetto a trasferimenti di file.Il grafico 2.8(b) mostra la durata delle chiamate effettuate con Skype. La durata mediadelle telefonate e di 12min 53sec, un valore piu alto rispetto alla media dei 3 min di chiama-te telefoniche tradizionali. La ragione di questa differenza e data dal fatto che le chiamateVoIP di tipo Skype-to-Skype sono gratuite, o comunque a basso costo, mentre le chiamatetelefoniche tradizionali hanno tariffe piu alte.Il grafico 2.8(c) mostra invece le dimensioni dei file trasferiti utilizzando Skype. La dimen-sione media e di 346 kB. Questa dimensione e piu piccola di quelle associate a file di tipoaudio o video, mentre e simile alle dimensioni di file di documenti, presentazioni e foto.In questo modo e possibile ottenere la tipologia dei file maggiormente scambiati tra utentiSkype.

Concludendo, gli utenti Skype hanno dei comportamenti diversi sia rispetto agli utentidi telefonia tradizionale, per quanto riguarda la durata delle chiamate, sia rispetto agliutenti di reti di file-sharing, per quanto riguarda la tipologia di file condivisi.

2.6 Rete Skype vs rete peer-to-peer

Come piu volte affermato, Skype si basa su una rete peer-to-peer per localizzare altriutenti, per trasmettere comunicazioni vocali, trasferimenti di file e per soddisfare le richie-ste degli utenti.Una rete peer-to-peer e una rete informatica che connette tra loro diversi calcolatori, per-mettendo condivisioni e scambi di dati. La particolarita di una rete peer-to-peer e datadall’assenza di una gerarchia tra i nodi, in inglese peer cioe pari. Essi infatti sono tra lorotutti equivalenti in quanto possono fungere sia da client che da server verso gli altri nodidella rete, cosı qualsiasi nodo e in grado di avviare un trasferimento di dati.Un esempio di rete peer-to-peer pura e la rete di file-sharing per la condivisione di file, e

Page 26: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

18 CAPITOLO 2. LA RETE SKYPE

rappresenta l’antitesi di un sistema di tipo client-server nei quali sono solo ed esclusiva-mente i server a gestire le risorse. Alcune reti usano invece un sistema peer-to-peer ibrido,riproducendo il modello client-server per alcuni compiti, come la ricerca di altri peer, men-tre usano il modello peer-to-peer per tutte le altre richieste.

La rete Skype, e una rete peer-to-peer ibrida, in quanto molti aspetti la differenzianoda una rete peer-to-peer pura.Innanzitutto Skype si affida ad un server centrale di autenticazione per identificare gli uten-ti e per distribuire gli aggiornamenti del software, al contrario di una rete pura peer-to-peerche non ammette server. La rete Skype comprende anche altri server di tipo secondariolocalizzati in vari Paesi per le funzioni di SkypeIn e SkypeOut, gia descritte precedente-mente, che raccordano la rete Skype con la rete telefonica tradizionale.Inoltre alcuni peer Skype vengono promossi a supernodi, secondo alcuni parametri datidalla disponibilita di banda, dall’assenza di NAT/firewall e dalla presenza di un indirizzoIP pubblico. I supernodi hanno diversi compiti, tra cui consentire la connessione tra uten-ti dietro NAT/firewall; quest’ultimi utenti infatti scansionano la rete Skype cercando deisupernodi e con essi formano e mantengono una connessione, in modo tale da permettereuna comunicazione anche tra peer dietro NAT/firewall. La presenza dei supernodi creauna gerarchia tra i nodi della rete, minando l’uguaglianza tra i peer.Anche alcuni comportamenti degli utenti Skype differiscono dai comportamenti degli utentidelle classiche reti peer-to-peer di file sharing. Come gia visto, gli utenti Skype prediligonoutilizzare le funzioni di chiamate VoIP, e quando ricorrono ai servizi di trasferimento filecondividono documenti, presentazioni o foto. Comportamento diverso per gli utenti difile-sharing che trasferiscono principalmente file di tipo audio-video.

Page 27: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

Capitolo 3

La crittografia in Skype

Skype utilizza la crittografia per diversi scopi. Nei capitoli precedenti e stato accennatol’uso della crittografia in Skype per cifrare il traffico in modo da non consentirne lo studio ela classificazione. Questo obiettivo e stato pienamente raggiunto. Come visto nei paragrafi2.5 e 2.6 del capitolo precedente, equipe di studiosi hanno provato a studiarne il traffico,ma la cifratura ha portato ad una perdita dei dati stimata attorno all’85% consentendo lostudio solo su un numero ristretto di dati. In particolare l’osservazione del traffico e limita-ta solo a sessioni di tipo VoIP e di trasferimento di file trasmesse esclusivamente attraversosupernodi, mentre viene negata la valutazione di sessioni di chat e qualsiasi sessione tra-smessa in maniera diretta tra i nodi. Anche la classificazione dei pochi dati ottenuti non eottimale, e infatti necessario utilizzare un approccio statistico che prevede la possibilita dierrori.Ma l’uso della crittografia da parte di Skype non si limita alla sola cifratura del traffico.La crittografia viene usata per risolvere uno dei problemi piu delicati per un sistema VoIP:l’autenticazione degli utenti. In Skype questo obiettivo viene raggiunto creando, per ogniutente, un Certificato di Identificazione firmato digitalmente dal Server Centrale. Cosı,quando si avvia una sessione, ogni peer verifica l’identita degli utenti attraverso tale certi-ficato.Un’altra innovazione introdotta da Skype riguarda la cifratura del contenuto dei messaggitrasmessi nella rete peer-to-peer, per consentire una comunicazione privata e una maggioresicurezza contro attacchi di tipo hacker.

Ed e proprio in questo capitolo che verra analizzato l’aspetto crittografico di Skype, siaper l’autenticazione che per la segretezza della comunicazione.

19

Page 28: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

20 CAPITOLO 3. LA CRITTOGRAFIA IN SKYPE

3.1 Il protocollo

Il protocollo utilizzato da Skype, sia per l’autenticazione degli utenti sia per criptare imessaggi trasmessi, e di tipo proprietario. Di conseguenza non e osservabile e studiabilese non dagli addetti ai lavori. Tuttavia diverse equipe di crittografi sono riuscite a dedur-re alcune caratteristiche del sistema. In particolare il crittografo Tom Berson con il suoAnagram Laboratories ha condotto diversi studi, finche nell’aprile 2005 e stato contattatodirettamente da Skype per analizzare, valutare e migliorare proprio il protocollo proprie-tario di sicurezza [8]. Questa equipe ha analizzato il codice base della versione 1.3 di Skype.

Dallo studio sul protocollo e risultato che, nonostante il sistema crittografico sia proprie-tario, Skype non utilizza un nuovo e proprio algoritmo di cifratura bensı assembla e unisceprimitive crittografiche standard, tra le quali:

• il cifrario a blocchi AES;

• il crittosistema a chiave pubblica RSA;

• lo standard per la firma digitale ISO 9796-2;

• la funzione hash SHA-1;

• la cifratura a flusso RC4.

Anche in sezioni non prettamente crittografiche vengono utilizzati criteri gia testati e affer-mati. Per esempio nella generazione di numeri primi viene impiegato il Test di Miller-Rabinmentre nella creazione di alcune chiavi private viene adottato il Metodo Montgomery.L’uso di standard crittografici e metodi numerici gia affermati rappresenta una scelta van-taggiosa sotto vari punti di vista. Innanzitutto e complesso e costoso realizzare un sistemacrittografico nuovo ed efficiente, inoltre sono necessarie molte prove, verifiche e test percontrollare la sua efficacia, la sua sicurezza, e per scovare i punti deboli che lo rendonovulnerabile. Per un prodotto come Skype, invece, il tempo e essenziale. In tali setto-ri e necessaria la tempestivita, e quindi sfruttare algoritmi gia affermati e validi risultavantaggioso.

3.2 Implementazione di RSA

L’RSA e un cifrario a chiave pubblica ideato, nel 1977, dai ricercatori Rivest, Shamir eAdleman, da qui la sigla RSA.Il vantaggio offerto da un sistema a chiave pubblica sta nel non richiedere la condivisionedi una chiave segreta. Questa tipologia di cifrari e basata sull’idea seguente. Un utenteA ha due chiavi, una privata e una pubblica. Un utente B invia ad A messaggi cifratiattraverso la chiave pubblica di A, ed essendo pubblica qualsiasi utente puo farlo, ma la

Page 29: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

3.2. IMPLEMENTAZIONE DI RSA 21

decifrazione puo essere eseguita solo con la chiave privata di A, quindi solo A stesso puodecifrare il messaggio che ha ricevuto.

Vediamo in dettaglio la generazione di un paio di chiavi RSA.Innanzitutto e necessario generare due numeri primi grandi, chiamati p e q.Skype genera dapprima due numeri casuali grandi con l’algoritmo RC4, che analizzeremonel paragrafo 3.5, successivamente utilizza il test di primalita di Miller-Rabin per determi-nare se i numeri considerati sono primi.Il numero di iterazioni di default del test di Miller-Rabin implementato da Skype e 25.In questo modo la probabilita che il test identifichi un numero composto come primo eestremamente bassa, precisamente la probabilita e inferiore a 10−16. Per calcolatori chehanno una limitata velocita di elaborazione, 25 iterazioni sono troppo dispendiose in ter-mini di tempo quindi Skype le riduce a sole 5. Ancora in questo caso il test garantisce unaprobabilita di errore bassa, pari a 0.00063, rendendo l’algoritmo efficiente anche per questicalcolatori.Una volta che i due numeri primi grandi, p e q, sono stati determinati, si calcola il loroprodotto andando a definire quello che viene chiamato il modulo di RSA: n = pqSi calcola la funzione di Eulero φ di n, cioe si calcola il numero dei valori interi positiviminori e primi con n stesso. Essendo n un numero di cui si conosce la scomposizione infattori primi allora il calcolo si limita ad una semplice operazione: φ(n) = (p− 1)(q − 1) .L’esponente di cifratura, che chiamo e, e un valore primo con φ(n).Si costruisce cosı la chiave pubblica RSA, costituita dalla coppia (e,n).La chiave privata, o esponente di decifrazione d, e calcolata in modo tale che valga laseguente relazione:

de ≡ 1 mod φ(n)

Per migliorare l’algoritmo di calcolo dell’esponente di decifrazione, Skype utilizza la ri-duzione di Montgomery anziche la riduzione di Euclide. Montgomery, sebbene usi calcoliaggiuntivi, sostituisce le divisioni richieste dal metodo Euclideo, che risultano computazio-nalmente onerose, con semplici e rapide divisioni per 2.

Nel cifrario RSA le funzioni di cifratura e decifrazione sono immediate.Sia (e,n) la chiave pubblica e m ∈ {0, 1, ..., n− 1} il messaggio da cifrare.La funzione di cifratura RSA che permette di trovare il messaggio cifrato c e:

c ≡ me mod n

mentre, data la chiave privata d, la funzione di decifrazione per ritrovare il messaggiooriginale e:

m ≡ cd mod n

Skype rende piu efficiente l’implementazione di RSA usando nei passaggi critici il linguag-gio assembly, ovvero il linguaggio di programmazione piu vicino al linguaggio macchina.

Page 30: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

22 CAPITOLO 3. LA CRITTOGRAFIA IN SKYPE

La sicurezza effettiva del sistema RSA non e conosciuta.Tuttavia e ritenuto un cifrario sicuro, perche l’unico modo finora noto per forzare RSA econoscere l’esponente di decifrazione d e cio equivale a conoscere il valore della funzione diEulero φ(n), ma non e possibile conoscere φ(n) senza conoscere p e q. Cioe, la sicurezzadi RSA e collegata alla capacita di fattorizzare il numero n, ma, ad oggi, non esistonoalgoritmi di fattorizzazione efficienti.

3.3 La firma digitale

La firma digitale e un meccanismo di sicurezza che presenta diversi scopi. Essa, infatti,autentica il mittente del messaggio per tutti gli utenti della rete, in quanto solo il soggettoautentico puo apporre la firma. Inoltre, la sua presenza attesta l’integrita del documentoin questione e la non ripudiabilita.

Skype utilizza la firma digitale principalmente per l’autenticazione degli utenti.Il sistema di firma impiegato da Skype agisce in ambito RSA.Tecnicamente, se m e il messaggio da firmare, (e,n) la chiave pubblica e d la chiave privatadel firmatario, la firma s corrispondente viene calcolata come segue:

s ≡ md mod n

Il destinatario riceve il messaggio firmato composto dalla coppia (m,s), e verifica la validitadella firma attraverso un’altra elevazione a potenza:

m ≡ se mod n

Quindi la firma dipende da tre elementi: la chiave privata, la chiave pubblica e il messaggio.La dipendenza dalla chiave privata permette solamente al mittente di apporre la propriafirma, mentre la chiave pubblica consente ad ogni utente di effettuare l’autenticazione. Larelazione tra il messaggio e la firma garantisce, invece, l’integrita del messaggio stesso.

Skype utilizza la chiave RSA in modo conforme allo standard ISO 9796-2.Questo standard, emanato nel 2002 dall’International Organization for Standardization,si occupa, fra gli altri argomenti, dello schema di firma digitale basato sul meccanismo difattorizzazione di interi.Seguendo questo standard non viene firmato il messaggio in se, ma una combinazione didati che comprende anche il messaggio. Precisamente, per un piccolo flusso di dati dafirmare, la sequenza di bit che viene firmata puo assumere una della due forme seguenti,espresse in base esadecimale [8]:

Page 31: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

3.4. LA FUNZIONE HASH: SHA-1 23

4A < messaggio >< sha1(messaggio) > BC

4BBB...BA < messaggio >< sha1(messaggio) > BC

Per un grande flusso di dati, il messaggio viene scomposto in piu parti. Ognuna di questeparti viene firmata concatenata con altri dati seguendo lo standard:

6A < messaggio parziale >< sha1(messaggio completo) > BC

Lo standard ISO 9796-2 prevede la firma di tale combinazione solo per il primo blocco delmessaggio, mentre nei successivi blocchi viene firmato direttamente il testo del messaggio .Per il controllo della firma, Skype decifra prima l’RSA con la chiave pubblica poi controllala combinazione di bit ottenuta, che viene chiamata anche padding.

3.4 La funzione hash: SHA-1

Una funzione hash e un’applicazione h : {0, 1}∗ → {0, 1}n unidirezionale, dove il domi-nio {0, 1}∗ rappresenta l’insieme delle stringhe di lunghezza arbitraria, mentre il codominioe costituito da stringhe con lunghezza fissata da n. Il valore di n cambia in base al tipo difunzione hash che si utilizza. Nelle funzioni SHA si parte da 160 bit, fino ad arrivare a 512bit.Il risultato finale di una funzione hash viene chiamato message digest, ovvero impronta delmessaggio.Per definizione di unidirezionalita, se y ∈ {0, 1}n allora e computazionalmente impossibilericavare un x appartenente a {0, 1}∗ tale che h(x) = y .Un’altra caratteristica molto importante per una funzione hash e data dalla resistenza allecollisioni. Ovvero, data una funzione hash h, e computazionalmente impossibile trovaredue valori m1 e m2 diversi ma tali che abbiano la stessa immagine, h(m1) = h(m2) .Un esempio, molto usato in crittografia, e dato dalle funzioni SHA, Secure Hash Algorithm,sviluppate a partire dal 1993 dalla National Security Agency, NSA.Della famiglia SHA fanno parte 5 funzioni: SHA-1, SHA-224, SHA-256, SHA-384 eSHA-512.L’applicazione piu utilizzata e la SHA-1 che produce un digest di 160 bit.

Anche Skype, per proteggere i propri dati sia nell’autenticazione degli utenti, sia nellacifratura dei messaggi che in altri ambiti, utilizza la funzione hash SHA-1.Tuttavia l’algoritmo SHA-1 implementato da Skype non e completamente uguale a quellooriginale rilasciato dall’NSA. Secondo l’analisi effettuata da Tom Berson e l’Anagram La-boratories [8], il codice usato da Skype risulta piu semplice, pulito ed essenziale rispettoall’originale.La sua validita e comunque garantita, grazie alle verifiche eseguite dall’equipe con l’ausilio

Page 32: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

24 CAPITOLO 3. LA CRITTOGRAFIA IN SKYPE

di vettori test. Questi sono vettori noti e dei quali si conosce il risultato nel codice origina-le. La prova consiste nell’inserire i vettori test come input nell’algoritmo da testare e poiconfrontare i risultati ottenuti con quelli noti. Se il risultato prodotto corrisponde a quelloconosciuto allora si puo affermare che i due algoritmi si equivalgono.Un esempio di verifica per la funzione SHA-1 e dato dai vettori test di Jim Gillogly eFrancois Grieu [9].Per vedere piu in dettaglio questi vettori conviene indicare con bitstring#n la stringa co-stituita dalla ripetizione dei bit in bitstring per n volte e con il simbolo | l’operazione diconcatenazione. Quindi, per esempio, vale l’uguaglianza: 110#3|1 = 1101101101I vettori test di Gillogly e Grieu con i corrispettivi risultati sono i seguenti:

110#148|11 : CE7387AE577337BE54EA94F82C842E8BE76BC3E1

110#149 : DE244F063142CB2F4C903B7F7660577F9E0D8791

110#149|1 : A3D2982427AE39C8920CA5F499D6C2BD71EBF03C

110#149|11 : 351AAB58FF93CF12AF7D5A584CFC8F7D81023D10

110#170 : 996386921E480D4E2955E7275DF3522CE8F5AB6E

110#170|1 : BB5F4AD48913F51B157EB985A5C2034B8243B01B

110#170|11 : 9E92C5542237B957BA2244E8141FDB66DEC730A5

110#171 : 2103E454DA4491F4E32DD425A3341DC9C2A90848

011#490 : B4B18049DE405027528CD9E74B2EC540D4E6F06B

011#490|0 : 34C63356B308742720AB966914EB0FC926E4294B

011#490|01 : 75FACE1802B9F84F326368AB06E73E0502E9EA34

011#491 : 7C2C3D62F6AEC28D94CDF93F02E739E7490698A1

Il test viene eseguito come descritto prima, verificando le corrispondenze tra i risultati.Ma per un controllo piu approfondito e sicuro, e possibile usare vettori ancora piu lunghi:

110#1431655764|11 : 1EEF5A18969255A3B1793A2A955C7EC28CD221A5

110#1431655765 : 7A1045B914672AFACE8D90E6D19B3A6ADA3CB879

110#1431655765|1 : D5E09777A94F1EA9240874C48D9FECB6B634256B

110#1431655765|11 : EB2569043C3014E51B2862AE6EB5FB4E0B851D99

011#1431655764|01 : 4CB0C4EF69143D5BF34FC35F1D4B19F6ECCAE0F2

011#1431655765 : 47D92F911FC7BB74DE00ADFC4E981A8105556D52

011#1431655765|0 : A3D7438C589B0B932AA91CC2446F06DF9ABC73F0

011#1431655765|01 : 3EEE3E1E28DEDE2CA444D68DA5675B2FAAAB3203

Per quanto riguarda l’implementazione di SHA-1 in Skype non sono state identificateanomalie, percio l’algoritmo SHA-1 originale e quello modificato da Skype si equivalgono,anche e soprattutto dal punto di vista della sicurezza.

Page 33: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

3.5. LA GENERAZIONE DI NUMERI CASUALI 25

3.5 La generazione di numeri casuali

La qualita del metodo di generazione di numeri casuali e un fattore rilevante per quantoriguarda la sicurezza delle sessioni peer-to-peer.La generazione di numeri casuali e piuttosto complessa, perche attraverso un algoritmo(quindi attraverso una serie di istruzioni deterministiche) si devono creare numeri che nonseguano criteri e logiche di sequenze.Skype utilizza i numeri casuali per diversi scopi crittografici, per esempio nella generazionedi coppie di chiavi RSA e di chiavi AES, o nella verifica dell’autenticazione dell’identita.A seconda dell’utilizzo futuro dei numeri casuali, Skype genera questi numeri con metodidiversi.

Per la creazione di chiavi AES, viene utilizzato il programma di generazione di numericasuali della piattaforma del client, che quindi varia in base al sistema operativo.I sistemi operativi con potenza di elaborazione limitata costituiscono un ambiente difficol-toso per generare tali numeri e, di conseguenza, la qualita della casualita dei numeri non eefficiente. Nelle piattaforme Windows invece, la generazione di numeri casuali e efficienteed il meccanismo e di piu facile studio.In tal caso, Skype effettua chiamate di sistema Win32 ad una funzione del sistema ope-rativo. Queste chiamate restituiscono dei bit, ai quali sono aggiunti alcuni salt, ovverosequenze di bit. Il risultato viene ulteriormente modificato attraverso una funzione hash,in particolare attraverso la funzione SHA-1, ottenendo una sequenza da 64 bit. Viene cal-colata poi l’entropia delle chiamate di sistema che sono state effettuate.L’entropia, nella teoria dell’informazione, misura in bit la quantita di informazione pre-sente in un segnale aleatorio. Matematicamente, l’entropia H di una variabile aleatoria Xe la media dell’autoinformazione I(xi) dei possibili valori della variabile X = (x1, . . . xn).Precisamente:

H(X) = E[I(xi)] =n∑i=1

I(xi) P (xi) =n∑i=1

P (xi) log21

P (xi)

Il protocollo, a questo punto, segue le indicazioni descritte in un documento RFC.In generale il Request For Comments, e un documento che riporta informazioni e specifi-che riguardanti innovazioni e metodologie da utilizzare su Internet. Le RFC sono prodottedall’Internet Engineering Task Force, un’organizzazione internazionale fondata nel 1986 ilcui obiettivo e sviluppare e promuovere documenti tecnici per migliorare la gestione e losviluppo dei protocolli Internet. La caratteristica principale dell’IETF e data dal liberoaccesso ai gruppi di ricerca, cosı ogni persona puo partecipare e fornire suggerimenti.Skype utilizza l’RFC 1750 che tratta della generazione di numeri casuali. Seguendo laprocedura standard descritta, vengono mescolati i bit in base all’entropia calcolata.Il risultato ottenuto e la generazione di un numero che e possibile considerare casuale.

Page 34: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

26 CAPITOLO 3. LA CRITTOGRAFIA IN SKYPE

Per la creazione di chiavi RSA serve un generatore di numeri casuali grandi e Skype utilizzal’algoritmo RC4.L’implementazione di RC4 e standard e la chiave di input fornita da Skype all’algoritmoe costituita da una serie di bit casuali (per approfondire il funzionamento dell’algoritmo sirimanda all’Appendice B).I numeri cosı generati vengono considerati come presunti numeri primi e la loro primalitae verificata con il test di Miller-Rabin. Se risultano primi, allora, andranno a creare unacoppia di chiavi RSA.

3.6 Registrazione di un utente Skype

La registrazione e uno dei passi piu importanti e delicati in un sistema di tipo VoIPper quanto riguarda la sicurezza. Qui si pongono le basi per un efficiente meccanismo diautenticazione degli utenti.

Per la registrazione, Skype utilizza il protocollo RSA a chiave pubblica.Al momento dell’installazione del software Skype, in ogni client vengono memorizzate di-verse informazioni tra le quali anche la chiave pubblica VS del Server Centrale e un iden-tificatore per la verifica della firma digitale.La chiave privata del Server, invece, la indico con SS .Il Server possiede due coppie di chiavi di diversa lunghezza, una da 1536 bit e l’altra da2048 bit. La scelta sulla lunghezza della chiave viene fatta dal Server in base alla richiestada parte dell’utente di poter accedere ad alcuni servizi chiamati premium, come SkypeIn oSkypeOut. Se l’utente effettua una registrazione standard, senza acquistare servizi, allorail Server utilizza la coppia di chiavi di modulo piu basso, da 1536 bit. Se l’utente effettuala registrazione Skype attraverso il diretto acquisto di un servizio premium allora il ServerCentrale utilizza la coppia di chiavi con modulo piu lungo, da 2048 bit. Se l’acquisto diun servizio premium avviene successivamente alla registrazione, il server aggiorna la chiaveutilizzando il modulo piu lungo.

Avvenuta l’installazione, puo incominciare il procedimento di registrazione dell’utente.L’utente sceglie lo username, che chiamo A, e la password corrispondente, che chiamo PA.Il client genera quindi una coppia di chiavi RSA per l’utente, (SA, VA). Analogamente allacoppia di chiavi del Server, indico con SA la chiave privata e con VA la chiave pubblicadell’utente con username A.Ora, la chiave privata SA, e la password protetta dall’azione di una funzione hash H(PA),vengono memorizzate in modo sicuro nella piattaforma dell’utente.Nel caso specifico di un client con piattaforma Windows, queste informazioni vengono me-

Page 35: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

3.7. LA COMUNICAZIONE TRA UTENTI 27

morizzate attraverso Windows CryptProtectData API1.Il client stabilisce, poi, una sessione con il Server Centrale. La sessione stabilita e protettada un sistema AES con chiave di lunghezza 256 bit, generata dal client attraverso il gene-ratore di numeri casuali della piattaforma su cui lavora l’utente.Stabilita la sessione, il client verifica l’autenticita del Server con cui e connesso. Anche inquesto caso l’autenticazione avviene attraverso la verifica con la chiave pubblica che erastata memorizzata nel client al momento dell’installazione.Una volta appurata l’attendibilita, il client invia al Server Centrale diverse informazioni tracui lo username A scelto dall’utente, la password protetta da una funzione unidirezionalehash H(PA) e la chiave pubblica VA.Al Server Centrale spetta il compito di stabilire la regolarita dei dati ricevuti. In primoluogo verifica che l’utente abbia rispettato le regole imposte per la scelta dello username,per esempio non devono esserci spazi e non devono comparire caratteri speciali. Anche nel-la scelta della password ci sono delle regole, per esempio la lunghezza da 6 a 20 caratteri.Il server verifica poi l’unicita dello username A scelto.Accertate queste regolarita il Server Centrale memorizza in un database la coppia di dati(A,H(H(PA))).

Il Server Centrale crea e firma digitalmente il Certificato d’Identita per l’utente A, ICA. IlServer memorizza all’interno del Certificato ICA lo username e la chiave pubblica legandolitra loro attraverso la firma privata del Server: (A, VA)SS . Come ultimo passo il Server inviail Certificato d’Identita ICA al client corrispondente.

3.7 La comunicazione tra utenti

Anche nell’ambito della comunicazione tra utenti, la verifica dell’identita dei peer ela riservatezza sul contenuto della conversazione sono elementi fondamentali per un buonsistema VoIP. Per tale motivo Skype affida questi compiti alla crittografia.Verra ora analizzato il protocollo per la comunicazione Skype tra due utenti.

Si considerino due utenti Skype: A e B. Precisamente, sia A il chiamante e sia B ilchiamato e tra essi non sussista alcuna sessione di comunicazione Skype preesistente.Viene creata una nuova chiave condivisa di sessione da 256 bit, SKAB, che permette distabilire una nuova sessione di comunicazione tra i due utenti. Questa nuova sessione avraluogo per tutta la durata della conversazione, o meglio, finche sara presente del traffico inambo le direzioni e successivamente per un intervallo di tempo prefissato.Una volta che la sessione termina, la chiave condivisa viene memorizzata finche uno dei

1API indica Application Programming Interface, e un’interfaccia di programmazione che rappresentaun insieme di funzioni scritte in linguaggio C e assembly per cifrare dati in particolari strutture chiamatedataBlob contenenti un numero arbitrario di array di bytes.

Page 36: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

28 CAPITOLO 3. LA CRITTOGRAFIA IN SKYPE

due client esce dalla rete Skype. Quando questo si verifica, la chiave SKAB viene azzerata.Supponiamo invece, che gli utenti A e B abbiano gia stabilito precedenti sessioni di comuni-cazione Skype. In tal caso, quando il chiamante A contatta il chiamato B, viene ristabilitala sessione ripristinando la precedente chiave condivisa SKAB che era stata memorizzata.

Essendo Skype un sistema su rete peer-to-peer dove tutti gli utenti sono equivalenti traloro, dove nessun peer ha vantaggi rispetto agli altri, si ha che il protocollo per la genera-zione della chiave condivisa e simmetrico.I due utenti A e B contribuiscono entrambi e in ugual misura alla creazione di SKAB

generando ciascuno 128 dei 256 bit della chiave. La creazione di questi bit avviene attra-verso un meccanismo che si basa sulla generazione di numeri casuali, i quali vengono poielaborati per mezzo di vari processi. I particolari di questa elaborazione variano in basealla piattaforma del client dell’utente. Nel paragrafo 3.5 e stato descritto piu in dettagliotale procedimento per un sistema operativo Windows.I due contributi vengono poi scambiati tra gli utenti sotto forma di crittogrammi RSA inmodo che la chiave finale sia condivisa da entrambi. A questo punto le due parti vengonoassemblate con un sistema di tipo cryptographically sound2 per formare la chiave finale disessione condivisa.

Un nodo cruciale nella sicurezza della comunicazione e, come piu volte accennato, l’au-tenticazione degli utenti. Per raggiungere questo scopo Skype esegue un doppio controllosull’identita.Innanzitutto i peer si scambiano i propri Certificati d’Identita, in questo caso ICA e ICB, ene accertano la validita. Poiche ogni Certificato e firmato dal Server Centrale con la chiaveprivata SS , e possibile controllare l’autenticita utilizzando la chiave pubblica del Server VSmemorizzata nel client di ogni utente al momento dell’installazione.Un’ulteriore verifica avviene al momento dell’avvio della sessione di comunicazione.Il client A genera in modo casuale una sequenza di 64 bit, chiamata challenge, e la inviaall’altro peer B. Il client di B modifica il challenge ricevuto con operazioni standard, ilrisultato, chiamato response, viene poi firmato con la chiave privata di B e rinviato al-l’utente di partenza A. L’utente A verifica la correttezza del response grazie alla chiavepubblica di B estrapolata dal Certificato d’Identita ICB. Lo stesso iter e svolto da B neiconfronti di A.Questo viene eseguito piu volte. Se si verificano errori la sessione viene bloccata, altrimentisi ha la conferma dell’identita dell’altro utente.Tale meccanismo risulta analogo al protocollo SSH. In questo modo si ha l’autenticazionetra due utenti, senza che avvenga uno scambio di informazioni private attraverso un canalenon ancora sicuro.

2Per sistema cryptographically sound si intende un sistema con una forza crittografica sufficiente darendere un attacco crittoanalitico computazionalmente impraticabile.

Page 37: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

3.8. LA CIFRATURA DEI MESSAGGI SKYPE 29

3.8 La cifratura dei messaggi Skype

Per rendere segrete e private le comunicazioni tra utenti, Skype utilizza un sistemadi cifratura avanzato. Come per la registrazione di un utente, anche in questo caso sonoadoperati standard crittografici, combinati in modo tale da ottenere un risultato ottimale.Skype impiega il sistema crittografico Advanced Encryption Standard, AES.

Analizziamo in dettaglio la procedura per criptare i messaggi Skype.Poiche AES e un cifrario a blocchi, il testo viene suddiviso in blocchi di 128 bit.Ogni blocco viene cifrato con il sistema CRT.La struttura classica del cifrario CRT e caratterizzata da un contatore (counter), della stes-sa lunghezza dei blocchi. Il contatore varia da blocco a blocco e solitamente la variazionee data dall’incremento di un’unita durante il passaggio ad un blocco successivo.A questo punto avviene la cifratura: il contatore viene cifrato con un sistema crittografico,poi si applica la funzione XOR tra il contatore cifrato e il blocco del testo in chiaro.L’operatore XOR somma due valori espressi in bit secondo le regole mostrate in tabella3.1. Si osserva che questo operatore e equivalente alla somma mod 2.Il risultato di tale meccanismo e un blocco cifrato.Il processo di decifrazione e analogo alla cifratura. Innanzitutto e necessario considerarelo stesso contatore e lo stesso sistema crittografico utilizzati per la cifratura del messaggioconsiderato. Adoperando la funzione XOR tra il blocco del testo cifrato e il contatorecifrato, si ottiene il messaggio originale in chiaro.

Il CRT utilizzato da Skype ha un meccanismo del tutto analogo.Il counter di Skype e una sequenza di 128 bit data dalla seguente concatenazione [8]:

salt : salt : packet index : block#

dove

• ogni salt rappresenta un valore del tutto casuale di 32 bit ed entrambi i client coinvoltinella conversazione contribuiscono alla loro generazione;

• il packet index e un valore di 48 bit che varia da buffer a buffer;

• il block# e un valore di 16 bit che varia da blocco a blocco.

Il contatore viene criptato, come da procedura standard CRT, e il sistema di cifraturautilizzato da Skype e proprio AES.La chiave per avviare AES ha lunghezza 256 bit e corrisponde alla chiave condivisa disessione SKAB.L’AES implementato da Skype e standard. Il crittografo Tom Berson e l’Anagram Labo-ratories [8] hanno confrontato l’AES di Skype con l’AES standard per mezzo di chiavi e

Page 38: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

30 CAPITOLO 3. LA CRITTOGRAFIA IN SKYPE

vettori test. I risultati ottenuti confermano la corrispondenza tra i due sistemi.A questo punto del processo di cifratura, si applica la funzione XOR tra il blocco del testoin chiaro e il contatore cifrato con AES.Si e ottenuto un blocco cifrato.Passando a cifrare il blocco successivo, il contatore viene incrementato e solo i bit di ordi-ne piu basso subiscono un cambiamento. In questo modo l’unica parte del contatore cheprevede una modifica e la variabile block#.Si itera questo procedimento per tutti i blocchi del testo in chiaro del buffer.

Riassumendo, il procedimento di cifratura segue lo schema seguente:P1 ⊗AESSK(X1) = C1;P2 ⊗AESSK(X2) = C2;. . .Pi ⊗AESSK(Xi) = Ci;. . .dove Pi rappresenta l’i-esimo blocco del testo in chiaro, Xi il contatore al passo i-esimo eCi l’i-esimo blocco cifrato.

Al termine di tale operazione, vengono aggiunti due byte che sono direttamente legatialla cifratura dei blocchi precedenti.Per determinare questi byte, infatti, viene calcolato il CRC sul messaggio cifrato prece-dentemente (in Appendice B verra discusso il funzionamento del Controllo a RidondanzaCiclica, CRC).Poi, viene applicato l’operatore XOR tra il CRC appena calcolato e gli ultimi due bytedella variabile chiamata packet index che fa parte del contatore. Tale somma viene me-morizzata negli ultimi due byte del buffer.A questo punto si passa alla cifratura del buffer successivo e anche la variabile packet indexcambia, in quanto dipende dal buffer stesso.

Iterando il procedimento si ottiene la cifratura del messaggio originale scambiato tra dueutenti Skype.

Tabella 3.1: Regole dell’operatore XOR

A B A xor B

0 0 00 1 11 0 11 1 0

Page 39: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

Capitolo 4

Analisi sulla sicurezza di Skype

L’analisi sulla sicurezza del sistema Skype e resa complessa da molteplici fattori.In primo luogo e necessario conoscere la sicurezza e la potenza dei computer utilizzati daentrambi gli utenti della conversazione, in quanto, come gia visto, la chiave di sessione con-divisa e creata equamente da entrambi i computer coinvolti. Bisogna poi tener conto che ilsistema e di tipo peer-to-peer, quindi puo verificarsi un attacco da parte di qualsiasi utentedella rete. Inoltre, ad ogni accesso il software Skype controlla se ci sono aggiornamentidisponibili e, in caso affermativo, si aggiorna automaticamente. Ma il problema principalee dato dal protocollo proprietario e segreto. Le sole informazioni che si hanno provengonodalla societa Skype, mentre le equipe di ricerca non autorizzate dalla compagnia non sonoriuscite a estrapolare niente di nuovo e rilevante.

Comunque affinche un sistema VoIP sia considerato sicuro ed efficiente, devono esseresoddisfatte alcune proprieta [10].

• Privacy

Il sistema deve impedire a terzi di ascoltare, disturbare, modificare la conversazione trautenti.Per questo motivo Skype cifra tutte le conversazioni attraverso protocolli e algoritmi, comeanalizzato nel capitolo precedente. Per rendere piu robusto il sistema, viene cifrato ancheil traffico in modo che sia difficoltoso individuarlo.Tuttavia il sistema potrebbe presentare dei punti deboli. Per esempio, sebbene Skype nonconsenta la registrazione delle conversazioni vocali, tuttavia memorizza la messaggisticaistantanea in un “history” file. Attraverso l’uso di spyware, o altre applicazioni, questofile potrebbe essere recuperato e letto da terzi. Un altro punto critico per la privacy siha nei servizi di SkypeOut e SkypeIn. Quando la comunicazione viaggia attraverso la reteInternet, le informazioni e il traffico sono cifrati secondo gli standard Skype, ma, duranteil passaggio alla rete telefonica tradizionale, la comunicazione viene decifrata ed e soggettaalle intercettazioni come una qualunque comunicazione telefonica.

31

Page 40: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

32 CAPITOLO 4. ANALISI SULLA SICUREZZA DI SKYPE

• Autenticita

Il sistema deve garantire l’autenticazione degli username, ovvero, quando un utente comu-nica con un altro utente, deve avere la certezza di dialogare proprio con la persona indicatadallo username.Il procedimento di verifica e di autenticazione di un utente avviene grazie al rilascio di unCertificato d’Identita da parte del Server di Autenticazione Skype secondo le modalita giadescritte precedentemente. Ma anche in questo caso possono crearsi dei punti deboli nelsistema. Infatti esistono diversi metodi per attaccare le password, come analizzeremo inseguito.Tuttavia, Skype e, prevalentemente, un sistema di comunicazione vocale e questo consenteagli utenti un metodo di autenticazione aggiuntivo. In Skype la voce e biometrica, quindiuna persona e identificabile anche dalla caratteristica vocale. Se poi si pensa alla video-comunicazione allora l’autenticazione e scontata, sempre che si conosca la voce e l’aspettodell’utente con cui si comunica.

• Disponibilita

In generale il servizio Internet offre una minore disponibilita rispetto alla rete telefonicatradizionale PSTN. Sebbene Internet sia stato progettato in modo da risultare piu efficienterispetto alla linea tradizionale di comunicazione, la rete PSTN offre una disponibilita cheraggiunge il 99,99905%.Conseguentemente, anche Skype non puo raggiungere risultati ottimali in questo ambito.Inoltre ci sono diversi aspetti che compromettono la sua disponibilita potenziale. Peresempio, se si verificassero problemi al Server Centrale di autenticazione, le comunicazioniverrebbero interrotte.

• Sopravvivenza

Se la rete Skype risulta danneggiata, la comunicazione deve essere comunque garantita eil sistema deve fare in modo che questa non venga interrotta.Skype cerca sempre di connettere direttamente gli utenti tra loro. Ma, quando questonon risulta possibile, esso sfrutta la sua caratteristica rete peer-to-peer. Con l’ausilio deisupernodi, viene cercato il percorso alternativo piu veloce ed efficiente possibile, cosı chela comunicazione possa avere successo.

• Elasticita

L’elasticita di una rete rispecchia la velocita con la quale la comunicazione viene ristabilitain caso di danneggiamento della rete stessa.Skype, come gia accennato, ha subito diversi crash dovuti a varie cause: da un numeroeccessivo di login simultanei a un problema nell’aggiornamento di sistema. In questi casii tecnici hanno presto ristabilito la rete grazie anche alla creazione di nuovi supernodi chehanno permesso nuovi collegamenti tra gli utenti e ripristinato, cosı, le comunicazioni.

Page 41: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

4.1. ATTACCHI AL SISTEMA SKYPE 33

• Integrita della conversazione

Un sistema VoIP deve fare in modo che i file trasmessi arrivino intatti ai destinatari e chenon vengano persi pacchetti e informazioni durate la loro trasmissione.Come per gli altri protocolli, anche in questo caso non si conoscono esattamente i mezziadottati da Skype per controllare il proprio traffico. Tuttavia le misure analizzate nelcapitolo precedente forniscono un quadro generale di come anche questo aspetto non vengatrascurato. Un esempio e dato dall’uso del CRT per la cifratura dei messaggi. Il CRTadopera un contatore che permette al client di controllare l’esatta sequenza dei pacchetticifrati, garantendo una verifica della corretta trasmissione e ricezione del messaggio.

• Integrita del sistema

Per studiare l’integrita del sistema si considera se e come Skype disturbi altre applicazionipresenti nel computer dell’utente.In particolare il sistema puo essere sfruttato da terzi come mezzo per infettare il clientattraverso spyware. Tuttavia questo e un rischio che presentano anche altri software ditipo VoIP.Per quanto riguarda invece l’integrita del sistema quando si utilizzano servizi di condivisionedi file, e necessario comparare Skype con altri programmi di file-sharing, come KaZaA.Questi ultimi sono dotati di una protezione che scansiona i programmi scaricati dall’utentee rileva eventuali virus e programmi dannosi, anche perche la fonte da cui si scaricano i filepuo essere sconosciuta e non sicura. Skype non presenta tale meccanismo di protezione,ma in questo caso lo scambio di file avviene con utenti specifici e, si suppone, noti.

4.1 Attacchi al sistema Skype

Un modo per testare la forza di un sistema e simulare vari tipi di attacchi ai protocollie studiare la loro efficacia.L’equipe Anagram Laboratories guidata dallo studioso Tom Berson [8], ha effettuato diversitest a riguardo.

4.1.1 Attacchi al protocollo

Alcuni attacchi mirano a forzare il protocollo di autenticazione di un sistema in modoche l’attaccante possa essere scambiato per un altro utente.Un esempio e dato dall’attacco Man In The Middle, MITM, con lo scopo di impersonare lafigura del chiamante o del chiamato per accedere all’intera conversazione. In questo modole informazioni passeranno dal mittente all’attaccante e poi al destinatario, e viceversa.Per raggiungere questo obiettivo, pero, l’avversario incontra diversi ostacoli dati dai mec-canismi di sicurezza imposti da Skype.

Page 42: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

34 CAPITOLO 4. ANALISI SULLA SICUREZZA DI SKYPE

Innanzitutto e necessario convincere il mittente/destinatario di essere il destinatario/mittente.Per fare cio, l’utente ostile deve procurarsi il Certificato d’Identita degli altri utenti. Taledocumento puo essere una copia di quello reale, oppure lo stesso Certificato autentico.Inoltre l’attaccante deve essere in grado di intercettare e bloccare tutto il traffico Skypedella comunicazione senza destare sospetti.Il Man In The Middle va ad intaccare direttamente il protocollo di autenticazione di Sky-pe. Come gia accennato, l’autenticazione di un utente Skype avviene per mezzo di unCertificato d’Identita rilasciato solo dal Server Centrale di Skype. Ed e sempre il ServerCentrale che ne garantisce l’autenticita con la sua chiave privata. Siccome non si fa uso diautorita di certificazione esterne, tutti i passaggi di identificazione di un utente rimangonoall’interno del sistema Skype, per cui risulta difficile per un utente malevolo falsificare unCertificato d’Identita.

Altri attacchi cercano di aggredire il protocollo sulla comunicazione tra due utenti, inmodo da ricavare la chiave per la cifratura dei messaggi.L’attacco replay rappresenta un esempio di questa tipologia. Il suo nome deriva dalla suastrategia di attacco.Nel sistema Skype, al momento dell’avvio della sessione di comunicazione, il software ese-gue una verifica per accertare l’identita degli utenti. Precisamente, l’utente A genera inmodo casuale una sequenza da 64 bit, chiamata challenge e la invia al secondo utente B.Questo modifica l’informazione ricevuta seguendo un iter standard proprio di Skype e invial’esito, chiamato response, ad A che ne verifica la correttezza. Questo meccanismo vieneripetuto diverse volte e, se viene rilevato anche un solo errore, la sessione viene interrotta.Lo scopo dell’attaccante e quello di inserirsi proprio al momento dell’avvio della comuni-cazione. Per fare cio l’aggressore osserva e registra gli scambi di dati e informazioni tral’utente con cui vuole comunicare e uno dei nodi interessati. In questo modo ha accessoa molteplici valori di challenge e ai suoi corrispettivi response. Questa parte dell’attaccoe passiva, ma una volta registrato un numero sufficiente di dati, ha inizio la parte attiva.L’attaccante invia un challenge all’utente che rimanda il corrispondente response. Questaparte dell’autenticazione e sicuramente valida. Ora, e l’utente ad inviare un challenge pereffettuare la seconda parte dell’autenticazione. Se il challenge che l’attaccante riceve euguale a uno di quelli che ha precedentemente registrato allora il nemico risponde con ilcorrispondente response registrato, altrimenti la comunicazione fallisce.La probabilita che tale coincidenza si verifichi e molto bassa. Poiche il challenge e sceltocasualmente e ha lunghezza di 64 bit, la probabilita su N osservazioni fatte e di N/264 .Tuttavia, anche se il numero delle osservazioni e abbastanza alto e viene verificata la corri-spondenza tra challenge e response, l’attaccante non entra ancora in possesso della chiaveAES di decifrazione. Per la costruzione della chiave, ogni utente deve contribuire con unasequenza di 128 bit casuali che viene condivisa con il secondo utente. I due contributivengono poi assemblati con un procedimento cryptographically suond.Quindi, solo se i 128 bit scelti casualmente dall’utente corrispondono ad una delle sequenze

Page 43: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

4.1. ATTACCHI AL SISTEMA SKYPE 35

registrate precedentemente dall’attaccante, questo ha la possibilita di conoscere la chiavedi cifratura finale. Ma la probabilita che questo si verifichi su N osservazioni fatte e diN/2128; una aspettativa ancora piu bassa.

4.1.2 Attacchi alla password

Esistono vari metodi per tentare di scoprire la password di un utente: dall’ingegne-ria sociale, che attraverso le informazioni sulla vita dell’utente studia varie combinazionipossibili, al cosiddetto “attacco del dizionario”, che consiste nel provare con ogni parolapresente nel dizionario. Per questi motivi e necessario fare molta attenzione nella sceltadella password, preferendo una combinazione di caratteri e numeri non facilmente ricava-bile. Il Server Centrale di Skype, per prevenire questi attacchi, consente solo un numerolimitato di tentativi.Quando viene persa una password, si ha la possibilita di chiedere al sistema Skype unae-mail con la password recuperata. Ma questo servizio puo risultare anche dannoso per unutente se la mail con il recupero della password viene intercettata da un utente nemico.Skype fornisce anche un altro servizio: la memorizzazione della propria password nellapiattaforma del computer che si sta utilizzando. Per esempio in piattaforme Windows, lapassword viene protetta con l’applicazione Windows CryptProtectData. Cosı, utilizzandoquel computer, un utente puo accedere a Skype senza dover digitare ogni volta la password.Tuttavia se il computer viene preso da terzi, questo avra la possibilita di accedere all’ac-count Skype dell’utente originario senza neanche inserire la password.Un altro tipo di attacco che mira a ricavare la password di un utente e dato da programmidi keystroke loggers, che controllano costantemente la tastiera dell’utente memorizzandoogni digitalizzazione fatta. La difesa da questi attacchi, pero, non compete a software comeSkype ma dipende solo da una efficace protezione del computer.

4.1.3 Attacchi alla crittografia

Alcuni attacchi mirano a colpire direttamente l’apparato crittografico del sistema, cer-cando di sfruttarne i punti deboli.Un esempio e dato dall’algoritmo di Controllo a Ridondanza Ciclica, CRC, che viene uti-lizzato per individuare in modo affidabile ed efficiente eventuali bit di errore che si possonopresentare durante una comunicazione. Il CRC ha un approccio lineare e questo, se dauna parte gli conferisce una maggiore semplicita, dall’altra puo essere sfruttato da terziper creare disordine inserendo intenzionalmente degli errori nei messaggi.Questo problema e stato scoperto nel WEP, una parte dello standard IEEE 802.11 chespecifica il protocollo per rendere sicure le trasmissioni delle reti Wi-Fi.In molti aspetti, Skype utilizza il CRC in modo analogo al WEP e quindi anche i puntideboli sono simili.Un altro punto debole e stato trovato dal gruppo di “code breakers”guidato da Sean O’Neil,

Page 44: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

36 CAPITOLO 4. ANALISI SULLA SICUREZZA DI SKYPE

specialista nell’infrazione di codici segreti[11], che ha dichiarato di aver ricostruito l’im-plementazione dell’algoritmo RC4 utilizzato da Skype per la creazione di chiavi RSA. Ilrisultato e stato raggiunto grazie ad una sofisticata operazione di reverse-engineering che,procedendo a ritroso, consente di ricostruire passo dopo passo l’algoritmo in esame.Ma nonostante questo, non si puo di certo affermare che la sicurezza dell’intero sistema dicomunicazione Skype sia compromessa. Infatti questi due algoritmi non sono direttamenteresponsabili della cifratura dei messaggi.Ma puo succedere che, in un sistema, un punto debole sia intrinseco al sistema stesso.Infatti, le implementazioni crittografiche consentono una trasmissione sicura dei messaggi,ma, possono anche creare dei danni al messaggio stesso. Per esempio possono andare persidei bit del messaggio o della chiave. Contro tale inconveniente, che assale tutti i sistemiche usano la crittografia, non ci sono difese.In piu, un utente malevole potrebbe approfittare della situazione. Se nella piattaformasulla quale lavora Skype e presente un programma maligno, questo potrebbe avere la pos-sibilita di conoscere alcuni bit perfino della chiave privata dell’utente.Tuttavia, bisogna precisare che un programma maligno puo causare danni direttamente alclient dell’utente, molto piu gravi di quello appena descritto.

4.2 Intercettazioni

Sono stati studiati diversi attacchi alla sicurezza del sistema ed e stato osservato chetali attacchi non sono pienamente efficaci.Questo, da una parte tutela la privacy degli utenti, ma dall’altra puo essere sfruttata damalavitosi per organizzare i propri traffici in tutta sicurezza.Infatti, dalle intercettazioni telefoniche di polizia ed FBI e risultato che i clan mafiosi uti-lizzano le classiche telefonate solo per decidere su account, banda larga e altre informazioninecessarie per collegarsi attraverso Internet, poi rimandano su Skype quelli che loro chia-mano gli “altri discorsi”. La frase simbolo che esprime la rivoluzione nelle comunicazionianche di tipo mafioso e stata intercettata dagli uomini della Guardia di Finanza di Milano:“di quei due chili ne parliamo poi, su Skype” [12].Un tecnico che collabora con la procura di Milano ha affermato che “Skype e riuscita aportare il proprio sistema di sicurezza a livelli militari, assolutamente lontani da quellidegli altri software creati per fare telefonate attraverso Internet. Cio rende impossibile agliinvestigatori ogni tentativo di intercettazione” [12]. Inoltre sui tabulati non rimane tracciadelle conversazioni Skype, cosı non si puo sapere ne quando ne dove vengono fatte. E comese le chiamate Skype fossero invisibili.La Direzione investigativa antimafia, insieme ad altri apparati, sta facendo diversi tentativiper cercare una soluzione a questo problema. Innanzitutto e stata chiesta la collaborazionedi Skype. Ma la sua sede legale si trova in Lussemburgo, quindi la societa non e soggettaalla normativa italiana del Codice di Comunicazione, che prevede su ordine della magistra-

Page 45: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

4.2. INTERCETTAZIONI 37

tura, l’obbligo da parte degli operatori a violare la segretezza delle comunicazioni tra dueprivati cittadini.Vista la mancanza di risultati, e stata intrapresa la via della rogatoria internazionale. MaStefano Aterno, docente di informatica forense e criminologia informatica all’Universita laSapienza di Roma, afferma che questa e “una strada impervia, in quanto capita spesso cheSkype dica di non essere in grado o di non voler mettere a disposizione la tecnologia ne-cessaria a decrittare le conversazioni. E il tutto si risolve in una grande perdita di tempo”[12].Gli investigatori cercano, allora, di contenere i danni provocati da questa non collabora-zione, utilizzando dei metodi alternativi. Per esempio, prima si ricorre alle intercettazioniambientali che cercano di individuare i terminali utilizzati nella conversazione, poi, at-traverso vari espedienti, vengono installate delle microspie nelle attrezzature, come cuffie,microfoni, tastiera, che permettono agli inquirenti di ascoltare le conversazioni che avven-gono nell’ambiente circostante e non solo attraverso Skype.Il problema e che non sempre e possibile individuare i terminali utilizzati perche, comedetto, le chiamate Skype risultano invisibili sui tabulati. A volte anche se il terminaleviene individuato, questo risulta essere un Internet Point oppure un cellulare.

Altre scorciatoie per intercettare le conversazioni Skype senza doversi confrontare con ilsistema crittografico, sono state trovate dal programmatore Ruben Unteregger per contodell’azienda svizzera ERA IT Solution [13].Si tratta di due trojan, chiamati minipanzer e megapanzer, in grado di interfacciarsi conle API di Skype e registrare il flusso audio sia in entrata che in uscita, in un file MP3.Il nodo cruciale sta in quel breve momento in cui le parole non sono ancora cifrate e, vi-ceversa, appena le parole vengono decifrate. In quel frangente il cavallo di troia registra ilflusso audio e lo comprime in formato MP3. L’operazione di registrazione non e rilevantein termini di prestazioni per il computer e lo scarso spazio occupato dai file MP3 fa sıche l’intero attacco non venga notato dall’utente. Inoltre il trojan, aprendo una backdoor,permette all’attaccante di scaricare i file audio ottenuti e anche di cancellare ogni tracciadell’infezione.Questo programma pero, ha efficacia solo in mancanza di antivirus.

Non solo in Italia ma anche all’estero si registra la stessa emergenza sulle intercettazio-ni Skype.Nel 2005 il Ministero Francese della Ricerca, su consiglio della Segreteria Generale dellaDifesa Nazionale, ha espresso la sua disapprovazione sull’uso di Skype sia in ambito lavora-tivo che in quello educativo. La Francia e caratterizzata da una forte campagna anti-Skype,tanto che il sito francese “IS Decisions” ha pubblicato SkypeKiller: un software gratuitoche permette di bloccare l’applicazione Skype nei computer dove e installato.Anche gli Stati Uniti hanno cercato di convincere Skype a cooperare con le autorita.Nel Maggio 2006 la Federal Communications Commission, FCC, ha approvato l’applica-

Page 46: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

38 CAPITOLO 4. ANALISI SULLA SICUREZZA DI SKYPE

zione di legge che consente le intercettazioni. Ma Skype ha rifiutato di aderire.Tuttavia in Cina la politica adottata da Skype e diametralmente opposta. Qui, insieme adaltre compagnie, come Google, Microsoft e Yahoo, la societa coopera con il governo cineseper ceare un sistema di censura di Internet. Per effettuare il controllo sulla comunicazio-ne, la compagnia Internet cinese TOM Online installa un filtro a qualunque societa vogliausufruire del servizio Internet offerto. Per questa scelta Skype e stata duramente criticata,ma, lo stesso Niklas Zennstrom, uno dei fondatori del software Skype, ha affermato che“queste sono le regole. Mi possono piacere oppure non piacere le leggi e le regole per farebusiness nel Regno Unito o in Germania o negli Stati Uniti, ma se io faccio affari lı allorascelgo di attenermi a quelle leggi e regole. Posso provare ad influenzarli per cambiare, maho bisogno di attenermi alle loro leggi. La Cina non fa eccezione” [5].

Ma il problema delle intercettazioni sembra aver preso una svolta decisiva.Nel Giugno 2011 l’Ufficio Brevetti e Marchi degli Stati Uniti ha approvato il brevetto LegalIntercept di Microsoft [16], depositato nel 2009 due anni prima dell’acquisizione di Sky-pe. Questo software dovrebbe permettere l’intercettazione delle comunicazioni VoIP e inparticolare di quelle che avvengono con Skype. Precisamente, i dati vengono alterati inmodo che seguano un percorso alternativo che include un agente di registrazione in gradodi registrare silenziosamente la comunicazione.Ma e nel Marzo 2012 che Microsoft rivoluziona la struttura della rete Skype.In precedenza il numero di supernodi era, in media, di 48.000, e ognuno gestiva circa 800utenti. Secondo uno studio effettuato da Kostya Kortchinsky e confermato parzialmenteda Mark Gillet, un ingegnere Skype, attualmente si hanno poco piu di 10.000 supernodiLinux controllati direttamente da Microsoft. Ognuno di questi supernodi supervisiona me-diamente 4.100 utenti ma il limite massimo teorico raggiunge i 100.000 utenti.Microsoft giustifica questa rivoluzionaria operazione col miglioramento del sistema a livellodi prestazioni e disponibilita. Questa motivazione viene avvalorata dallo stesso Kortchin-sky, secondo il quale la nuova architettura garantisce una maggiore sicurezza della rete.Infatti in un supernodo scelto casualmente puo essere presente un software malevolo, maquesto sicuramente non si verifica se il supernodo e controllato. Di parere contrario sonoalcuni esperti di sicurezza, che vedono in questa drastica riduzione del numero dei super-nodi una maggiore opportunita per controllare e intercettare le comunicazioni.Il 26 Luglio 2012 il Washington Post pubblica un articolo nel quale rivela la nuova politicadi gestione della sicurezza Skype. Microsoft annuncia di voler cooperare con i governi,rendendo accessibili le conversazioni delle chat Skype, la cronologia dei messaggi e i datipersonali degli utenti. Tuttavia, Microsoft garantisce che il contenuto delle chiamate au-dio e video rimarranno non intercettabili. Ma lo stesso Washington Post si interroga perquanto ancora le telefonate saranno inaccessibili, visto che Skype e tuttora un servizio inforte espansione.

Page 47: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

4.2. INTERCETTAZIONI 39

Con l’apertura di Microsoft alle intercettazioni legali, viene meno la filosofia originariadi Skype. Questo innovativo sistema VoIP, nato per consentire chiamate private e a bassocosto, attraverso varie acquisizioni da parte di importanti multinazionali, ha perso la bat-taglia sulla non intercettabilita delle comunicazioni cedendo alle pressioni dei Governi.Nonostante cio, Skype rimane un sistema estremamente sicuro da attacchi e intercettazio-ni da parte di malintenzionati, e il fatto che la Magistratura debba chiedere il consenso aMicrosoft per ottenere le informazioni, conferma questa tesi.Il grande merito di Skype rimane quello di aver introdotto un nuovo modo di comunicare,essendo il primo sistema VoIP con una rete peer-to-peer, ed il continuo e crescente successone dimostra la validita.

Page 48: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

40 CAPITOLO 4. ANALISI SULLA SICUREZZA DI SKYPE

Page 49: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

Appendice A

A.1 La distribuzione Heavy-Tailed

Una distribuzione di tipo heavy-tailed appartiene ad una famiglia di distribuzioni diprobabilita le cui code sono piu pesanti rispetto ad una distribuzione esponenziale, quindi,all’infinito, le code tendono a zero piu lentamente.Per avere una distribuzione heavy-tailed non e necessario che entrambe le code siano pe-santi. In molte applicazioni e la coda destra della distribuzione, che e anche quella dimaggiore interesse statistico, ad essere pesante, mentre in altri casi e la coda di sinistra atendere a zero piu lentamente.

Attraverso il grafico A.1 e possibile confrontare una distribuzione heavy-tailed, rappresen-tata da una distribuzione t di Student, con una distribuzione esponenziale, nello specificouna distribuzione normale standard.In questo modo e possibile osservare direttamente le differenze tra le due distribuzioni.All’infinito, la distribuzione t di Student tende a zero piu lentamente rispetto a quellanormale, ed entrambe le code risultano piu pesanti.

Figura A.1: Confronto tra una distribuzione haevy-tailed e una distribuzione esponenziale

41

Page 50: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

42 APPENDICE A.

Un esempio di distribuzione heavy-tailed, infatti, e la distribuzione t di Student.Questa e una distribuzione di probabilita continua che gestisce due variabili aleatorie, lequali presentano andamenti diversi: la prima variabile segue una distribuzione normalestandard mentre la seconda e tale che il suo quadrato presenta distribuzione chi-quadro.Quindi, se considero Z e S2 due variabili aleatorie indipendenti con, rispettivamente, distri-buzione normale standard N(0, 1) e distribuzione chi-quadro χ2(n), allora la distribuzionet di Student rappresenta la seguente variabile aleatoria:

T =Z√S2

n

A.2 La distribuzione di Poisson

La distribuzione di Poisson e una distribuzione di probabilita discreta che descrive unaclasse di eventi indipendenti in un dato intervallo di tempo.

Precisamente, sia X la variabile aleatoria che indica il numero di volte in cui si verifica unevento in un dato intervallo di tempo, ossia il numero di successi, allora la probabilita cheX assuma il valore k ∈ N e data dalla distribuzione di Poisson:

f(k) = P (X = k) = e−λλk

k!dove λ > 0 e il parametro della distribuzione e rappresenta il numero medio di successinell’intervallo di tempo considerato.

Figura A.2: Distribuzione di Poisson con diversi parametri λ

Page 51: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

Appendice B

B.1 RC4

L’algoritmo RC4 e stato ideato nel 1987 da Ronald Rivest, il crittofrafo che ha con-tribuito anche alla creazione nel sistema RSA. Infatti, RC e semplicemente l’acronimo diRivest Cipher.L’RC4 e un algoritmo che genera un flusso di bit pseudo-casuali grazie alla combinazionedi due algoritmi: RC4-KSA e RC4-PRGA.

Analizziamo il primo algoritmo.L’RC4-KSA inizializza un vettore S da 256 elementi, composto dai valori crescenti da 0 a255: S[0] = 0; S[1] = 1; S[2] = 2; . . . S[255] = 255.Il cuore dell’algoritmo scambia due elementi di S con l’ausilio di una chiave key fornita ininput, la cui lunghezza (keylength) puo variare da 40 a 256 bit. In totale vengono effettuati255 scambi, ovvero swap.Per maggiori dettagli si riporta lo pseudocodice [14].

for i = 0 to 255

S[i] = i

next

j = 0

for i = 0 to 255

j = (j + S[i] + key[i mod keylength]) mod 256

swap (S[i], S[j])

next

L’RC4-KSA ha terminato il suo compito: la gestione della chiave, ovvero Key-SchedulingAlgorithm (KSA).Il vettore finale altro non e che un rimescolamento degli elementi di S, e costituira l’inputdell’algoritmo successivo.

43

Page 52: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

44 APPENDICE B.

Il secondo algoritmo, l’RC4-PRGA, si occupa della generazione dei numeri pseudo-casuali.Infatti, PRGA e l’acronimo di Pseudo-Random Generation Algorithm.Lo speudocodice [14] seguente chiarisce gli swap e gli artifici usati per generare numeripseudo-casuali a partire dal vettore S modificato dall’RC4-KSA.

for i = 0 to 255

i = (i + 1) mod 256

j = (j + S[i]) mod 256

swap (S[i], S[j])

return S[(S[i] + S[j]) mod 256]

next

L’algoritmo RC4 puo essere utilizzato anche per cifrare un testo.In questo caso il flusso di numeri pseudo-casuali viene combinato mediante l’operazioneXOR con il testo in chiaro, ottenendo cosı il testo cifrato.Poiche l’operatore XOR e simmetrico, il processo di decifrazione e analogo a quello di ci-fratura.

B.2 CRC

Il controllo a ridondanza ciclica, Cyclic redundancy check, e un metodo per il calcolodi checksum, cioe di sequenze di bit che, associate al pacchetto trasmesso, permettono diverificare la presenza di errori di trasmissione. Questo metodo risale al 1961 per opera diW. Wesley Peterson.

Il codice CRC e caratterizzato da un particolare polinomio chiamato polinomio genera-tore, che indico g(x) con grado g. In base al polinomio utilizzato si distinguono diversi tipidi CRC:

• CRC-12: g(x) = x12 + x11 + x3 + x2 + x+ 1

• CRC-16: g(x) = x16 + x15 + x2 + 1

• CRC-16-CCITT: g(x) = x16 + x12 + x5 + 1

In ogni caso il funzionamento del codice non subisce variazioni [15].Al messaggio di n bit da trasmettere, viene associato un polinomio b(x) di grado n− 1.Viene poi costruito il polinomio p(x) mediante l’operazione: p(x) = x · g · b(x)Sostanzialmente p(x) si ottiene traslando a sinistra b(x) di g posizioni, ovvero sommandoogni esponente del polinomio b(x) con il valore di g. Il grado di p(x) e dato da h = n−1+g.Successivamente, grazie alla divisione modulo 2 tra p(x) e g(x), si definiscono altri due po-linomi: il quoziente q(x) e il resto r(x).

Page 53: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

B.2. CRC 45

Il messaggio trasmesso attraverso il canale di comunicazione sara dato dai coefficienti di unulteriore polinomio m(x) ottenuto sottraendo a p(x) il polinomio r(x): m(x) = p(x)–r(x)

Vediamo il motivo per cui il polinomio m(x) rappresenta il messaggio originario e per-mette di verificare la presenza di errori di trasmissione.Il polinomio p(x) si puo rappresentare anche attraverso la divisione vista precedentemente:p(x) = q(x) · g(x) + r(x)Sostituendo questa nuova scrittura nella definizione di m(x) si ottiene:m(x) = q(x) · g(x) + r(x)–r(x)Per le leggi dell’algebra sui campi finiti, sottraendo un polinomio a se stesso si ottiene ilpolinomio nullo, quindi: m(x) = q(x) · g(x)Cioe il messaggio finale m(x) e divisibile per il polinomio generatore g(x) con resto nullo.Questa e la caratteristica fondamentale utilizzata per verificare la presenza di errori ditrasmissione.L’utente destinatario infatti, divide il messaggio ricevuto m(x) con il polinomio generatoreg(x) del CRC utilizzato, e ne controlla il resto. Se la divisione modulo 2 produce resto al-lora il messaggio presenta degli errori dovuti al rumore di fondo del canale di trasmissione,altrimenti il messaggio e arrivato a destinazione integro. In quest’ultimo caso, per ottenereil messaggio originale, rappresentato da b(x), e sufficiente traslare m(x) verso destra delvalore del grado g.

Il codice CRC e molto diffuso, in quanto e matematicamente semplice ed efficiente perla rilevazione di errori di trasmissione. Tuttavia, proprio la sua semplicita impedisce alcodice CRC di riconoscere manomissioni intenzionali dovuti ad attacchi esterni.

Page 54: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

46 APPENDICE B.

Page 55: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

Bibliografia

[1] http://www.telecompaper.com/news/skype-grows-fy-revenues-20-reaches-663-mln-users

[2] http://news.hitb.org/content/skype-tightening-security-reducing-supernodes

[3] S. Guha, N. Daswani e R. Jain (2006)An Experimental Study of the Skype Peer-to-Peer VoIP Systemhttp://saikat.guha.cc/pub/iptps06-skype

[4] http://en.wikipedia.org/wiki/Skype protocol

[5] http://en.wikipedia.org/wiki/Skype Technologies

[6] F. RissoIntroduzione alla rete Skypehttp://netgroup.polito.it/teaching/tsr/Skype.pdf

[7] S. A. Baset e H. Schulzinne (2004)An Analysis of the Skype Peer-to-Peerhttp://www1.cs.columbia.edu/∼library/TR-repository/reports/reports-2004/cucs-039-04.pdf

[8] T. Berson (2005)Skype Security Evaluationhttp://www.anagram.com/berson/skyeval.pdf

[9] http://www.mail-archive.com/[email protected]/msg00613.html

[10] S. L. Garfinkel (2005)VoIP and Skype Securityhttp://skypetips.internetvisitation.org/files/VoIP%20and%20Skype.pdf

[11] http://www.ilsole24ore.com/art/tecnologie/2010-07-15/codici-skype-mirino-maroni-080532.shtml?uuid=AYQAxw7B

47

Page 56: LA CRITTOGRAFIA NEL SISTEMA SKYPE - unibo.it · on-line simultaneamente, che sono cresciuti no a 30 milioni a Marzo dello stesso anno. La gura 1 [2] mostra gra camente il successo

48 BIBLIOGRAFIA

[12] http://www.spysystem.it/portale/wi-fi/67-skype-rende-impossibili-le-intercettazioni.html

[13] http://punto-informatico.it/2700193/PI/News/skype-intercettare-si-puo.aspx

[14] http://it.wikipedia.org/wiki/RC4

[15] http://it.wikipedia.org/wiki/Cyclic redundancy check

[16] http://windows.digital.it/ microsoft-consentira-le-intercettazioni-su-skype-4053.html