subota, 20 aprila, 2024
Internet, mreže i komunikacije

Šifrovani čet (6. deo) – Žici (Jitsi)

Autor: Petar Simović

Žici (eng. Jitsihttps://jitsi.org/) je popularni multiplatformski (Vindouz, Mek OS X, GNU-Linuks, Android verzija je eksperimentalna i dostupna na https://goo.gl/Eawqc ) klijent za glasovnu komunikaciju (eng. VoIP — Voice over IP), video-konferencije i živo dopisivanje, tj. dopisivanje u realnom vremenu (eng. Instant messaging). I, kao što smo do sada opisivali klijente koji koriste razne metode šifrovanja za protokole koji služe za razmenu teksta, Žici šifruje i audio-video protokol pomoću ZRTP-a (eng. Zimmermann Real-time Transport Protocol, https://goo.gl/lvU1oR), protokola za uspostavljanje zajedničkog ključa, koji ćemo bolje opisati u ovom delu.jitsi-logo

Protokol

Zapravo, radi se o protokolu koji omogućava uspostavljanje šifrovane sigurne komunikacije između dve strane pretpostavljajući da se veza između učesnika prisluškuje. Iako zvuči skoro nemoguće da se dve strane dogovore oko zajedničkog ključa preko veze koju treća strana stalno prisluškuje, ovo je zapravo moguće upotrebom Difi-Helmanovog metoda za razmenu ključa (eng. Diffie–Hellman key exchange, https://goo.gl/BtEm2d), koji svakodnevno koristimo pretražujući internet preko HTTPS-a (eng. Hypertext Transfer Protocol Secure). Kada se upotrebom ovog protokola uspostavi simetričan (isti) ključ između dva korisnika, svi podaci (audio, video i tekst) se nadalje tokom te sesije šifruju i dešifruju tim ključem. Za svaku novu sesiju se uspostavlja novi deljeni jednokratni tajni ključ.

Međutim, protokol u određenim slučajevima može biti podložan presretanju. U ovoj situaciji onaj ko presreće vašu komunikaciju (eng. Man-in-The-Middle) može vašem sagovorniku da se lažno predstavi kao vi, a vama kao da je vaš željeni sagovornik.

Kako bi se ovo izbeglo, ZRTP koristi „kratku autentifikacionu nisku” karaktera (eng. Short Authentication String) kako bi korisnici mogli da se uvere da pričaju sa pravom osobom i da komunikacija nije ni presretnuta ni hakovana. Iako ovo ne zvuči baš ubedljivo, najjednostavnije kratko objašnjenje je da je veoma malo verovatno da bi napadač uspeo da imitira tuđi glas, kao i da namesti i vama i vašem sagovorniku iste autentifikacione karaktere, jer se oni ne biraju ručno već po sigurnom kriptografskom protokolu.

maninthemiddleattackjitsi-en-win-45

Instalacija i podešavanja

Ako već nemate instaliran Žici na vašem sistemu, to možete izvesti iz terminala komandom:

sudo apt-get install jitsi

Kada se instalira, pokrenite ga i dodajte novi nalog za neki od podržanih protokola. Na prozoru koji sâm iskoči pri prvom startovanju ponuđeni protokoli su Fejsbuk, IksMPP (iks-em-pe-pe), Gugl tok (eng. Google Talk) i SIP. Ovo nisu svi, pored ovih podržani su još i AIM, ICKju (eng. ICQ), IPPI, IPTEL, Jahu (eng Yahoo!) i naravno IRC.

11-sign_in_jitsiadd_new_account

Mi ćemo se ovde fokusirati na IksMPP koji smo do sada opisali za Pidžin u prošlom broju, stoga, ako već imate nalog, možete ga koristiti i sa Žicijem. Kad smo već kod kreiranja naloga, to može biti problem ako želite to da uradite direktno iz Žicija za IksMPP na GNU-Linuks sistemima, pa ćete novi nalog za ovaj protokol morati da registrujete iz internetskog pregledača na serveru koji odaberete (IksMPP serveri se mogu naći na: https://xmpp.net/directory.php, https://list.jabber.at/).

*Ako želite da se prijavite sa već postojećim IksMPP nalogom koji koristite na Pidžinu, ali ste za njega zaboravili šifru, nije nikakav problem, jer Pidžin čuva sve informacije o vašim nalozima u folderu .purple (/home/$user$/.purple/) gde možete naći accounts.xml fajl koji čuva sve informacije za kreirane naloge za Pidžin u čitljivom obliku za ljude. Ovo može biti i opasno ako ne koristite enkripciju celog diska jer pri krađi računara napadač može lako da se predstavi kao vi vašim sagovornicima imajući nalog, šifru, enkripcioni ključ i otisak iz ovog nezaštićenog fajla.

Sledeće što je potrebno jeste da generišemo ključeve za sigurnu komunikaciju, kao što smo to radili sa Pidžinom u prošlom broju. Potrebno je odabrati opciju alati pa opcije pa bezbednost (eng. Tools > Options > Security). Zatim odabrati nalog za koji se ključevi kreiraju, ako ih imate više, i pritisnuti dugme generisati (eng. generate). Generisanje ovog ključa je za šifrovano dopisivanje pomoću OTR protokola (eng. Off The Record), opisanog detaljno u prošlom delu. Dok OTR ključ morate da generišete pritiskom na dugme, ZRTP je podrazumevano omogućen kao i autentifikacija kratkom niskom od četiri karaktera.

account-activeoptions-generate_key

Za razliku od Pidžina, u Žiciju ne morate instalirati nikakve dodatke (eng. plugins) za šifrovanje jer su OTR i ZRTP omogućeni, ali postoji još nekoliko podešavanja koja se savetuju da korisnici učine kako bi unapredili svoju privatnost. Prvo, čuvanje istorije razgovora svakako nije dobro za privatnost, pa ćemo to isključiti:

  • Idite na Alate > Opcije > Generalna podešavanja (Tools > Options > General) i opciju za logovanje (beleženje) istorije namestite da ne bude štiklirana kao na slici ispod:

options-logigng

  • Zatim u Sigurnosnim opcijama (Tools > Options > Security) namestite da omogućite, odobrite i zahtevate privatno dopisivanje:

options-generate_key

  • I, na kraju, u Naprednim podešavanjima u opciji za Logovanje (Tools > Options > Advanced > Logging) namestite da ne bude štiklirano da se loguju paketi:

options-logging

To bi bilo sve što se tiče sigurnosnih podešavanja. Sada možemo da dodamo novi kontakt, da pokrenemo komunikaciju (File > New contact) i da unesemo IksMPP adresu osobe s kojom želimo da kontaktiramo. Kada to uradimo, moramo sačekati da nas sagovornik prihvati i odobri. Nakon toga možemo osim dopisivanja, glasovnog poziva i video-komunikacije da pošaljemo fajl, ili da podelimo naše radno okruženje (eng. Desktop) sa sagovornikom, što može biti korisno ako nekome treba da asistiramo na projektu ili problemu preko interneta.

add_contact

Kada vas sagovornik prihvati, potrebno je, kao i kod Pidžina, da jedan drugog autentifikujete za OTR šifrovano privatno dopisivanje. Ovo se radi samo jednom i odnosi sa samo na dopisivanje. Svaki sledeći put treba samo da kliknete na katanac kada konverzacija počne.

jitsi_005 sagovornik_005 maximilijan_005 authenticate_buddysagovornik_007-sifrovano

Ali, kao što smo rekli, Žici nije samo tu za dopisivanje, pa ćemo ukratko opisati i kako se sigurno uspostavljaju video-komunikacija i poziv.

Za video-komunikaciju sa nekim kontaktom potrebno je kliknuti na ikonicu kamere ispod imena kontakta. Treba da uporedite karaktere kratke autentifikacione niske ako ključić nije zelene boje i šifrovani video biće uspostavljen.

jitsi-call

Za kraj bismo pomenuli da je Žici zgodan za korišćenje i kada se radi o šifrovanim pozivima, a njegova upotreba nikako nije ograničena samo na stone računare i laptope. Naime, pored IksMPP-a, Žici podržava i SIP za audio komunikaciju tj. pozive, a ZRTP za uspostavljanje sigurne šifrovane komunikacije nije vezan za IksMPP ili bilo koji drugi vid komunikacije, pa se tako lako primenjuje i na SIP, čime obezbeđuje jednostavno šifrovanje razgovora između dve strane. Naravno, ovakvi pozivi su mogući dok imate pristup internetu na telefonu i ništa ne koštaju, a u isto vreme niko između strana koje razgovaraju ne može prisluškivati jer se komunikacija šifruje. O ovoj temi biće više reči kada se budemo bavili aplikacijama otvorenog koda za zaštitu privatnosti korisnika Androida. U međuvremenu očekujte nastavak u kojem ćemo se više baviti programima koji podrazumevano koriste Tor mrežu, a do tada svim čitaocima želimo srećnu Novu godinu i praznike.