OSTN
OSTN
Postojeća aplikacija za android telefone biti će marginalno kompleksnija u odnosu na standardno pozivanje telefonskog broja, uz to bazirana kompletno na otvorenim standardima. Aplikacija je bazirana na “open source” client kodu dodjeljenom od CsipSimple, pjsip i ZORG projekata. Koordinira sa mrežom pouzdanih, “open source” pružitelja diljem svijeta koji pružaju besplatnu i komercijalnu uslugu korisnicima, da bi osigurali da korisnici imaju automatiziran rezervacijski proces spajanja.
OSTN spaja razne projekte da bi osigurao kompatibilnost sa novim standardima u “peer-to-peer” VOIP komunikaciji. Traži interoperabilnost s drugim konkurentnim rješenjima od privatnih tvrtki te predlaže da njihova implementacija postane dizajn za privatnost te sigurnosne standarde.
--Nikola.svenda 21:30, 8. lipnja 2013. (CEST)
Client software – Ostel
Ostel je javna testna platforma za OSTN projekat, sa ciljem promoviranja korištenja besplatnih, otvorenih protokola,standarda te software-a da bi poboljšalji end-to-end sigurnosnu glasovnu komunikaciju na mobilnim telefonima, isto kao i na stolnim računalima.
Gledano sa tehničke strane to znači da koristi TLS ili SSL protokole da bi osigurao SIP signalni promet te podržao RTP protok medija proxy poslužitelja za stvarne glasovne te video pozive, bez ikakve interferencije sa ZRTP enkripcijom koja prolazi kroz nju.
--Nikola.svenda 21:30, 8. lipnja 2013. (CEST)
Protokoli koje koristi OSTN
TLS – SSL protokol
TLS protokol omogućava klijent-server aplikacijama da komuniciraju preko mreže na način koji sprečava prisluškivanje i petljanje u komunikaciju. Pošto protokol može funkcionirati sa i bez TLS-a, nužno je za klijenta da indicira serveru želi li uspostaviti TLS konekciju ili ne.
Postoje 2 načina za to:
1. korištenje različitih brojeva porta za TLS konekciju (443 za HTTPS)
2. regularan broj porteva i zahtjev klijenta serveru da prebaci vezu na TLS koristeči specifični mehanizam protokola (na primjer STARTTLS za mailove i protokole vijesti)
--Nikola.svenda 21:30, 8. lipnja 2013. (CEST)
ZRTP je kriptografski ključ – sporazumni protokol koji razmjenjuje ključeveve za enkripciju između dvije točke u VoIP (Glas preko internet protokola) mobilnoj telefoniji baziranoj na protokolu prenosa podataka u realnom vremenu. Koristi Diffie-Hellman razmjenu ključeva te Sigurnosni prijenos podataka u realnom vremenu “SRTP” za enkripciju.
RTP protok medija se uspostavlja pomoću signalnih protokola kao što su “Session Initiation Protocol” (SIP). To stvara djeljivu tajnu koja se kasnije koristi za generiranje ključeva za Sigurni protok medija ili SRTP sesija. Prednost ZRTP protokola je da se ne oslanja na SIP signalizaciju za upravljanje ključevima ili na bilo koji drugi server. Podržava oportunističnu enkripciju pomoću auto-sensing (auto-osječanja) ako drugi VoIP klijent podržava ZRTP.
Taj protokol ne zahtjeva predhodno djeljenu tajnu (shared secret), ne ovisi o javnom ključu (PKI – public key infrastructure) te o certificiranim autorizacijama, zapravo kratkotrajni Diffie-Hellman ključevi se generiraju kod svake uspostavljene sesije što omogućava zaobilaženje kompleksnosti stvaranja i održavanja povjerljivih third-party-a. Ovi ključevi doprinose generaciji “session secret”, od kojih su izvezeni ključevi sesije i parametri za SRTP , sa prethodno djeljenim tajnama (shared secrets) ako su postojale. To doprinosi obrani protiv man-in-the-middle(čovjek u sredini) napadima, samo ako napadač nije bio prisutan kod prve sesije između dvije točke.
ZRTP se može koristiti sa bilo kojim signalnim protokolom uključujuči SIP,H.323,Jingle i tako dalje. ZRTP je neovisan o signalnom sloju, jer njegova izmjena ključeva nastaje preko RTP protoka podataka.
ZRTP/S je ekstenzija ZRTP protokola te se može vrtjeti na bilo kojoj legacy telefonskoj mreži uključujuči GSM, UMTS, ISDN, PSTN, SATCOM, UHF/VHF radio zato što je uskopojasno orjentirani protokol protoka podataka te omogućuje izmjenu ključeva unutar protoka podataka između dvije krajnje točke.
--Nikola.svenda 21:30, 8. lipnja 2013. (CEST)
Diffie-Hellman ključ koji koristi ZRTP enkripcija
Pretpostavimo da su dvije strane uspješno uspostavile razmjenu, sljedeća faza zahtjeva obje strane da uspostave djeljivi ključ. To je učinjeno upotrebom Diffie-Hellman ključa. Parametri su razmjenjeni u prethodnoj fazi te su potegnuti s liste koju definira RFC3526 – grupa za razmjenu interent ključeva.
Diffie-Hellman razmjena bi funkcionirala ovako:
1. Nikola odabere a, te šalje g^a poruku.
2. Dejan odabere b, te šalje g^b poruku.
3. Obje strane računaju g^ab i HMAC (hash message authentication code) tu vrijednost zajedno da raznim drugim stvarima da bi izveli s0 .
4. Obje strane računaju 32-bitnu kratku autentifikacijsku vrijednost kao funkciju od s0 , zatim pretvaraju to u ljudsku čitljivu kratku autentifikaciju SAS, te uspoređuju vrijednosti verbalno.
Problem sa tradicionalnim Diffie-Hellman protokolom je to da nije baš najbolji sa SAS (Session Authentication Strategy) mehanizmom. Recimo da MiTM napadač X uspostavi konekciju sa dejanom, tjekom koje su se složili oko SAS vrijednosti Z. Napadač sada može pokrenuti offline napad, pokušavajuči milione kombinacija b vrijednosti dok ne dobije takvu kakva je došla sa SAS porukom između Nikole i Dejana koja je također Z. To stvara problem, jer Nikola i Dejan vide isti SAS bez obzira na to što ih napadač X vara.
ZRTP to rješava na način da prisili jednu stranu (Dejan) da se obaveže na g^b prije nego što protokol započne. Tako da Dejan odabere b te šalje H(g^b) prije nego Nikola pošalje prvu poruku. Na taj način veza je prenesena preko obavezane poruke. Na taj način se spriječava Dejana da se predomisli nakon što je vidio Nikolinu poruku, na taj način udaljena strana ima najviše jednu šansu da uspije pogoditi SAS poruku po pokrenutom protokolu. Što bi značilo da napadač X nema sreće.
--Nikola.svenda 21:30, 8. lipnja 2013. (CEST)
Sigurnosni protokol za prijenos podatak u realnom vremenu (SRTP) definira profil protokola za prijenos podataka u realnom vremenu (RTP) namjenjenog za pružanje enkripcije, autentifikaciju i integritet poruke te ponovnu zaštitu RTP podataka u obje unicast i multicast aplikacije. Budući da je RTP usko povezan sa RTCP (real time control protocol) koji se može koristiti u RTP sesiji, SRTP također ima sestrinski protokol SRTCP. SRTCP (secure real time control protocol) pruža iste sigurnosno-povezane funkcije RTCP-u kao što SRTP pruža RTP-u. Korištenje SRTP (SRTCP) je opcionalna korištenju RTP-a (RTCP-a) ali ako je SRTP/SRTCP korišten sve pružane opcije kao što su enkriptiranje i autentifikacija su opcionalne te se mogu odvojene ugasiti ili upaliti. Jedina iznimka je opcija za autentifikacija poruke potrebna kod korištenja SRTCP-a.
--Nikola.svenda 21:30, 8. lipnja 2013. (CEST)
Enkripcija protoka podataka – SRTP način enkripcije
Za enkriptiranje i dekriptiranje protoka podataka SRTP zajedno sa SRTCP koristi AES kao defaultnu šifru. Postoje dva moda šifre koje dozvoljavaju originalnom bloku šifre AES da se koristi kao šifra protoka:
SICM - Segmented Integer Counter Mode
Tipičan mod brojača, koji dozvoljava nasumičan pristup bilo kojem bloku koji je esencialan za RTP promet koji koristi nepouzdanu mrežu sa mogućim gubicima paketa.
Skoro se svaka funkcija može koristiti kao uloga brojača sa pretpostavkom da se ta funkcija ne ponavlja dugi niz iteracija. AES koji se vrti u tom modu je standardni enkripcijski algoritam, sa standardnim enkripcijskim ključom od 128 bitova te standardnim sesijskim salt ključom dužine 112 bitova.
F8-mod
Varijacija izlaznog povratnog moda, poboljšana da može biti pretražena i sa promjenjenom inicializacijskom funkcijom. Standardne vrijednosti enkripcijskog ključa i salt ključa su iste kao i za AES u modu brojača. AES koji radi u tom modu odabran je kod korištanja UMTS 3G mreža.
--Nikola.svenda 21:30, 8. lipnja 2013. (CEST)
SIP protokol
SIP (Session Initiation Protocol) je protokol signalne komunikacije, široko korišten za kontroliranje multimedijskih komunikacijskih sesija kao što su glasovni i video pozivi preko internet protokol mreža. Protokol definira poruke koje su poslane između dvije točke koji kontrolira uspostavu, prekidanje i druge esencialne elemente poziva. SIP se može koristiti za stvaranje, modificiranje i prekidanje dvostruke ili višestruke sesije koje se sastoje od jednog ili više medijskih protoka.
SIP radi u spoju sa nekoliko drugih protokola aplikacijskog sloja koji identificira i prenosi medij sesije. Identifikacija medija je postignua sa SDP (Session Description Protocol). Za prenos medijskog protoka (glas,video) SIP obično koristi RTP (Real-time Transport Protocol) koji se može osigurati sa SRTP(Secure Real-time Transport Protocol). Za siguran prijenos SIP poruka protokol se može enkriptirati sa TLS-om (Transport Layer Security).
--Nikola.svenda 21:30, 8. lipnja 2013. (CEST)
SDP (Session Description Protocol)
SDP je format za opis inicijalizacijskih parametara medijskog protoka. SDP je počeo kao komponenta SAP(Session Announcment Protocol) ali je pronašao drugu svrhu u spoju sa RTP protokolom, RTSP protokolom, SIP protokolom i kao samostalan format za opisivanje višestrukih sesija.
--Nikola.svenda 21:30, 8. lipnja 2013. (CEST)
Autoritet za certifikate (SSL Certificate Authority)
U kriptografiji, autoritet za certifikate je entitet koji izdaje digitalne certifikate. Digitalni certifikati certificiraju posjedovanje javnog ključa po imenu subjekta u certifikatu. To omogućuje drugim stranama koji se oslanjaju na potpise sačinjene iz privatnog ključa koji korespondira javnom ključu koji je certificiran.
--Nikola.svenda 21:30, 8. lipnja 2013. (CEST)
Prijetnje i koristi sigurnih razgovora
Kripto čarobnjaci su stvorili i rafinirali algoritme koji donose snažniju enkripciju u svakodnevnoj upotrebi. Sve više i više sigurnost je komprimitirana od korisnikčkih grešaka. To je problem korištenja. Veća je opasnost od gubljenja enkripcije nego da korisnik uopće ne enkriptira podatke. Primjerice vladini P25 ručni radio uređaji imaju tako slabu enkripciju da su istraživači za enkripcije pronašli mnoge razgovore vladinih agenata koji su slučajno odašiljali osjetljive informacije. ZRTP i CsipSimple implementiraju puno bolju enkripciju.
Korisničke prijetnje
ZRTP je jedan od najjednostavnijih načina da se enkriptira end-to-end komunikacija. Postoje dva koncepta koja bi korisnici trebali razumjeti:
Verifikacija:
Prvi puta kada je poziv uspostavljen sa ZRTP enkripcijam poruka je prikazana koja traži oba korisnika da potvrde da vide SAS(Short Authentication String) poruku. Nakon potvrde taj identitet će ostati u OSTN korisničkom računu te ukoliko zovemo istu osobu ta poruka neće biti prikazana. U slučaju da poziv nije verificiran postoji mogućnost da je taj poziv podložan određenim vrstama napada (MITM – man in the middle) koji omogućava nekome da prisluškuje vaše pozive.
Na korisniku leži odgovornost da pazi na SAS poruku na početku razgovora. Ključevi se pamte nakon prve verifikacija tako da ako se SAS poruke ne pojave velika je vjerojatnost da su oba korisnika nesvjesno pritisnula OK.
Oportunistička enkripcija : Označava da je enkripcija samo pokušana, tj da nije forsirana. Ako je enkripcija upaljena, a uspjevate razgovarati sa korisnikom koji je na neki način uspio ugasiti enkripciju, vrlo je vjerojatno da će vaš poziv neće biti enkriptiran. Budući da se enkripcija nemože forsirati, korisnik nesmije očekivati da je enkriptiran već bi trebao provjeriti provjeriti postavke prije svakog poziva. Na taj način bi oportunistička enkripcija trebala raditi, no korisniku će biti lako pretpostaviti suprotno. Nemojte to raditi !
Prijetnje kontradiktornosti
MITM: Kao što već znamo neverificirani razgovori podležni su prisluškivanjima. To je rješivo verificiranjem svakog razgovora pomoću djeljenja 4-znamenkastog koda prije početka razgovora. Da bi se to dogodilo morate ignorirati SAS poruku. Nemojte !
Forsiranje clear-voice komunikacije :
Oportunistička enkripcija predstavlja interesantan problem. Postoji mogućnost da netko selektivno blokira ZRTP izmenjive pakete. Na taj način bi se natjeralo korisnike da započnu clear-voice komunikaciju usprkos njihovim postavkama u kojima je uključena ZRTP enkripcija. Korisnicima bi trebalo to biti vidljivo ako provjere postoji li znak lokota na ekranu, no prijatelji koji ćesto komuniciraju preko OSTN-a nerijetko će zaboraviti napraviti isto. To bi se moglo spriječiti postavljanjem enkripcije na “Force Mode” prisilan način rada. U tom slučaju poziv bi se jednostavno prekinuo. Napadač koji ima mogučnost filtriranja vašeg prometa na aplikacijskom sloju bi mogao izvršitit takav napad. ISP, Vlade i protivnici na vašoj lokalnoj mreži su u mogućnosti obaviti isti.
MITM napad može migrirati sa verifikacijom. Selektivno blokiranje ZRTP paketa nemože se izbjeći ,jer ZRTP nije u mogućnosti zaustaviti cenzuru, ali posljedice se mogu ublažiti pažnjom kod enkriptiranja poziva.
--Nikola.svenda 21:30, 8. lipnja 2013. (CEST)
Kako poboljšati ZRTP
S obzirom na prijetnje koje se mogu pojaviti , postoje nekoliko stvari koje možemo učiniti da bi poboljšali ZRTP
Forsirana ZRTP enkripcija:
ZRTP u CsipSimple aplikaciji ima dva moda ugašeno i oportunistički. Moj predlog bi bio postavljanje opcija na ZRTP ugašen, Pokušaj ZRTP i Forsiraj ZRTP. Forsiranje ZRTP enkripcije će uvelike pridonjeti sigurnosnim beneficijama korisničkom računu u CsipSimple aplikaciji.
Trenutne ZRTP opcije u CsipSimple aplikaciji:
Verifikacijski status: Trenutno možemo zaključiti ako je poziv enkriptiran sa ZRTP ako je na displeju prikazan lokot. To je odlično iz razloga što korisnik može izbječi oportunističku enkripciju ili downgrade napad.
Verifikacijske opcije:
Trenutno kada verificiramo identitet korisnika isti je prikazan na displeju u SAS poruci. Postoji opcija OK ili Cancel. Cancel (prekid) efektivno ignorira taj korak, dok OK označava da je SAS verificiran.
CsipSimple je eksperimentalan software te zahtjeva “nightly release” na OSTN podršci. Dobra stvar je da bi jednostavna implementacija ZRTP klijenta trebala imati sve beneficije protokola zahvaljujuči jednostavnom i elegantnom dizajnu.
--Nikola.svenda 21:30, 8. lipnja 2013. (CEST)
Kako VoIP funkcionira
Uspostava poziva
Uspostavljanje poziva zahtjeva rezoluciju adrese. Što znači da pozivatelj može identificirati drugu stranu, po telefonskom broju, imenu, IP adresi što znači da svi ti načini moraju biti mapirani na IP adresu osobe koja se javlja .
Inicijacija poziva
Nakon uspostave poziva, manager poziva inicira poziv koristeči H.225, SIP ili signalizaciju za kontaktiranje druge strane. Nakon uspješnog povezivanja, manager poziva prepušta komunikaciju na dvije povezane strane. Ako se poziv nemože uspostaviti jer je bilo zauzeto ili na nekin način nedostupno , čuvar vrata “gatekeeper” će nakon toga informirati pozivatelja sa signalom zauzetosti ili preusmjeriti poziv na automatsku sekretaricu ako je uključena.
Kontrola poziva
Manager poziva pruža neke usluge koje pruža i tradicionalan PBX kao što su poziv na čekanju, prebacivanje poziva, preusmjeravanje, te čekanje poziva.
Kontrola propusnosti
Spajanje može biti odbijeno u slučaju da sustav nema više mogućnosti propusta. Postotak propusnosti mreže može biti rezerviran za podatke ili neke važnije servise. Manager poziva također može ograničiti broj učesnika u video/audio konferenciji.
Upravljanje zonama
Manager poziva će upravljati svojom zonom, koja je definirana nakon što se krajnji uređaji registriraju na istu. Na taj način zna kada je poziv u toku da bi znao poslati signal zauzetosti ako je to potrebno.
Dodatni servisi
Manager poziva može biti dodjeljena kutija, integrirana sa drugom kutijom kao što je ruter ili može biti software na strani servera.
Funkcije kontrole poziva koje koristi manager poziva su H.323 i SIP plus neki dodatni protokoli kao štu je Cisco SKINNY.
Primjer OSTN-a
--Nikola.svenda 21:30, 8. lipnja 2013. (CEST)
Instalacija i upotreba OSTel-a (CSipSimple)
Instalacija se provodi u sljedećim koracima:
1.Korak – ako nemate otvorem e-mail račun, potrebno je otvoriti.
2.Korak – nakon otvaranja računa, potrebno se registrirati sa tom e-mail adresom na sljedećoj stranici https://ostel.co/
3.Korak – nakon logiranja dobivate podatke za komunikaciju:
4.Korak – instalacija aplikacije na mobilni uređaj (koristili smo Android OS)
Ovaj dio se nalazi na stranici nalon logiranja na dnu.
Klikom na CsipSimple se otvara novi prozor u kojem se otvara aplikacija Google play ako ste e-mail račun napraviti na google-u. U donjem lijevom kutu se pojavi Vaš mobilni uređaj na kojem ste isto spojeni na google račun, i piše obavijest da li je kompatibilno sa vašim uređajem. Ako jest kompatibilno, kliknete na instaliraj iznad te obavjesti i aplikacija CsipSimple se automatski instalira na vašem mobilnom uređaju.
5.Korak – podešavanje aplikacije na mobilnom uređaju Sada kad je aplikacija CSipSimple instalirana, idite na mapu Programi i otvorite CSipSimple.
Trebali biste vidjeti "Easy Configuration" zaslon s postavkama.
Pročitajte ove postavke da znate odabrati kada će Ostel koristiti dolazne i odlazne pozive kroz dostupne veze ( 3G, WiFi samo, itd). Kliknite Save da nastavi.
Zatim kliknite na "Add Account" za dodati Ostel račun. Sada bi trebali vidjeti popis pod nazivom "Choose Wizard" s popisom od VOIP usluga.Odaberete OSTN.
Trebao bi se otvoriti sljedeći prozor:
U ovom prozoru upisujete podatke koje ste dobili na prvoj stranici kada ste se ulogirali na strabicu ostel.co. Nakon upisivanja podataka, trebao bi se pojaviti završni prozor za podešavanje:
Ako kad kliknete na OSTN dođe poruka ispod nje kao na slici „Registered“, spremni ste za razgovore.
Prozor za pozivanje. Poziva se na način da se klikne na txt u desnom doljnjem kutu ako nemate u kontaktima i tražite osobu preko njegovog ostel imena.
Prozor u kojem se nalazi povijest poziva.
Izgled prozora za razgovor.
--Dejan.vibovic 12:31, 9. lipnja 2013. (CEST)
Literatura
1. http://en.wikipedia.org/wiki/Session_Initiation_Protocol
2. https://guardianproject.info/wiki/Ostel
3. http://en.wikipedia.org/wiki/Session_Description_Protocol
4. http://en.wikipedia.org/wiki/Certificate_authority
5. https://guardianproject.info/2012/07/10/threats-and-usability-of-secure-voice/
6. http://en.wikipedia.org/wiki/ZRTP
7. http://en.wikipedia.org/wiki/Secure_Real-time_Transport_Protocol
8. http://en.wikipedia.org/wiki/Transport_Layer_Security
9. http://blog.cryptographyengineering.com/2012/11/lets-talk-about-zrtp.html