Forse non tutti conoscono l'architettura con cui Skype funziona: in alcuni casi la banda dell'utente viene messa a disposizione per le telefonate altrui.


Le comunicazioni di Skype si appoggiano alle tecniche del peer-to-peer, per migliorare la qualità della voce e per far sì che l'azienda produttrice del software spenda il meno possibile.

Con peer-to-peer si intende un programma che utilizza un gran numero di computer client sempre collegati a Internet, senza rifarsi a onerosi server centralizzati. Questi client interagiscono tra di loro per supportare le chiamate e le chat: va da sé che la presenza dei client alla rete Skype è lo strumento attraverso il quale la rete stessa sopravvive


Utilizzando una tecnologia proprietaria chiamata Global Index Distribuited Directory, Skype delega ai client tutto il lavoro di autenticazione e comunicazione, creando una rete stabile pur basandosi su nodi inaffidabili; non è detto che un utente Skype sia sempre collegato, ma se gli utenti sono dei milioni in tutto il mondo quasi certamente ci sarà sempre qualcuno collegato.

Quando un utente si collega, può succedere che questo utente diventi il server per altri utenti (supernodo) e accetti da questi dei collegamenti. Quando in passato si utilizzavano software come Netmeeting in una rete aziendale si incorreva quasi sicuramente in un bel problema tecnico.

I software per il VoIP hanno essenzialmente due funzioni client e server: il client è la parte di software che effettua la chiamata, il server (come dice lo stesso nome) è il servizio che resta in attesa sul PC aspettando che qualcuno bussi alla porta e chieda di aprire una comunicazione. Quando un PC è dietro un router (o firewall o proxy) non è in alcun modo raggiungibile direttamente poiché il mondo esterno vede il router che si occupa di nascondere il fatto che dietro di lui ci sia una rete di uno o "n" computer.

Quando si usa un programma di questo genere e si è nascosti non è possibile essere chiamati: bisogna quindi contattare l'amministratore di rete che dovrà configurare il router affinchè inoltri le richieste che gli giungono per software come Netmeeting al PC interno alla rete e quindi non visibile dall'esterno.

Skype non ha bisogno di tutto questo. Poniamo che l'utente A (raggiungibile dal mondo esterno) cerchi di chiamare l'utente B che è nascosto dietro un router (o firewall o proxy); non riuscendoci, contatterà la rete distribuita con cui B (se è online) è in contatto, allora a B verrà detto di chiamare A. In questo caso per B sembrerà comunque che sia A a effettuare la chiamata, anche se non è vero.

Poniamo invece che l'utente A, nascosto dietro un router, cerchi di chiamare l'utente B, nascosto a sua volta. Non riuscendoci, A contatta la rete distribuita per effettuare la procedura di prima; ma anche A non può essere contattato, allora la chiamata avviene tramite un altro client (C) raggiungibile che fungerà da relay tra i due. Per dirla in breve, la telefonata passerà per C senza che lui se ne accorga. Va da sé che la banda utilizzata sarà quella di C, che vedrà rallentata (anche se di poco) la propria connessione.

Oltre a questa piccolo sfruttamento non autorizzato, c'è anche una implicazione di sicurezza: pur essendo criptate, le telefonate passano attraverso un altro computer. E se Skype avesse una falla di sicurezza non ancora pubblicata, ma utilizzata da qualche cracker? Vorrebbe dire che la vostra privacy non è più solo vostra, ma anche di qualcuno in ascolto.

Non è noto se le chiavi di crittaggio utilizzate risiedano all'interno del PC e quindi possano essere scoperte e utilizzate. Inoltre Skype si può aggiornare da solo: il problema è che l'aggiornamento non è criptato e magari, passando per un supernodo (C nel nostro esempio), questo potrebbe intercettare le chiavi.


Fonte