Skype sistem i softver

 

Skype koristi internet mrežu i radi zahvaljujući VoIP protokolu. Glavna razlika između skype-a i standardnih VoIP klijenata je da skype radi preko posebnog peer-to-peer modela (originalno zasnovanog u Kazaa softveru). Drugi VoIP klijenti su zasnovani na korišćenju modela klijent-server. Skype je potpuno decentralizovan i omogućava lako širenje mreže korisnika (trenutno ima oko 480 miliona registrovanih korisnika).

            Skype radi kao VoIP protokol, a internet telefonija je omogućena zahvaljujući Skype protokolu. Ovaj protokol nije dostupan javnosti, a oficijalne aplikacije koje su korišćene za razvoj ovog protokola su zatvorenog tipa. Skype se ne oslanja na SIP protokol. Mana skype-a jeste otežana međusobna povezanost sa SIP-zasnovanim VoIP mrežama.

Skype koristi različite metode za audio kompresiju kao što su G.729 i SVOPC.

 

U skype okruženju prisutni su nedostaci koji se tiču privatnosti razgovora. Ovu tehnologiju ne mogu da koriste službe koje zahtevaju veliku diskreciju i razgovore bez ometanja i prisluškivanja. Šef za bezbednost u skype-u izneo je sledeći stav: “Mi obezbeđujemo sigurnu komunikacionu opciju. Ja vam neću reći da li nas neko prisluškuje ili ne”. Februara 2009. Eurojust (Evropska agencija za organizovani kriminal) počela je da se bavi prisluškivanjem Skype-a i VoIP-a.

 

  Skype protokol

 

Skype mreža je peer-to-peer mreža i sastoji se od tri glavna entiteta: super čvorišta, običnih čvorišta i servera za “login”. Svaki klijent gradi i osvežava listu dostupnih čvorišta poznatih kao “host cache”. Host cache sadrži IP adrese i brojeve portova od super čvorišta. Super čvorišta komuniciraju sa ostalim klijentima iza zaštitnog zida. Svaki skype klijent može postati super čvorište ukoliko ima dobar propusni opseg, nema zaštitni zid i poseduje adekvatnu procesirajuću snagu. Super čvorišta su grupisana u slotove (1 slot = 9, 10 super čvorišta). Slotovi su grupisani u blokove (1 blok = 8 slotova). Skype takođe rutira pozive preko ostalih uređaja na mreži kako bi olakšali rad Simetričnog NAT (Network Address Translator) i zaštitnih zidova. Prilikom login-a, skype klijent proverava autentičnost podataka sa serverom, pokazuje ostalima da je korisnik na mreži i determiniše tip NAT-a i zaštitnog zida. Takođe skype klijent otkriva čvorišta koja imaju javne IP adrese. Mora biti uspostavljena TCP konekcija, u suprotnom login neće uspeti.

 

Primer uspostavljanje konekcije:

1.  start
 2.  send UDP packet(s) to HC
 3.  if no response within 5 seconds then
 4.    attempt TCP connection with HC
 5.    if not connected then
 6.      attempt TCP connection with HC on port 80 (HTTP)
 7.      if not connected then
 8.        attempt TCP connection with HC on port 443 (HTTPS)
 9.        if not connected then
10.          attempts++
11.          if attempts==5 then 
12.            fail
13.          else
14.            wait 6 seconds
15.            goto step 2
16.  Success

 

Prilikom svake login sesije, skype generiše ključ sesije od 192 slučajno izabrana bita. Nakon ovoga ključ je dekodovan sa 1536 bita i tako formira novi kriptovani ključ sesije. Ovaj ključ se zatim šalje ka serveru.

Na strani servera se vrši inverzan postupak i proveravaju informacije formirane u prvobitnom ključu. Podaci prilikom prijave se zatim uklanjaju od strane super čvorišta. Podaci se nakon uspostave poziva šalju i preko TCP-a i preko UDP-a.