Technikai tudnivalók

Telefonlehallgatás: Hogyan működik a Mistix rendszer?

Lássuk rettenetesen leegyszerűsítve, hogy mi történik a hívás során. Mindezt úgy, hogy aki nem ért az informatikához, az is megértse:
1. lépés: A telefon bejelentkezik a központi szerverünkre, hogy „Helló András vagyok, telefonálni szeretnék” ekkor a szerverünk visszaigazolja, hogy „Szia András, jogosult vagy használni a rendszert, mondd mit szeretnél?” ekkor a telefon közli, hogy mit szeretne „Balázst szeretném felhívni!”. Ekkor a szerver a válaszában elküldi András telefonjának, Balázs telefonja internetcímét. Ugyanis minden telefon időnként bejelentkezik a szerverre, hogy „Helló itt vagyok éppen, ha bárki keresne, ide irányítsd a hívásokat!” Jelzi azt is a szerver a telefonnak, hogy a továbbiakban őt hagyják ki a dologból, és rendezzék le egymás között, amit akarnak egymástól. Természetesen ez a bejelentkezés, engedélykérés, ez mind titkosítva zajlik, azaz egy külső hallgatózó nem tudja megállapítani, hogy Józsi mit akart a szervertől, és hogy a szerver mit válaszolt neki, csak úgy mint az internetes vásárlásoknál, ahol hasonlóan védik a bankkártya adatainkat.

2. lépés: Most, hogy András telefonja tudja, hogy az interneten hol találja aktuálisan Balázs telefonját, felveszi egymással a két telefon a kapcsolatot: „Hello Balázs, beszélni szeretnék veled, de mindezt persze titkosan. Adom a titkos kódot, hogy majd vissza tudd fejteni azt a sok titkosított hablatyot, amit mindjárt küldök. De hogy ne legyen ilyen egyszerű a dolog, ezt a titkos kódot is titkosítva küldöm, így senki nem tudja ellopni és kihallgatni majd a beszélgetést. Oké?” Ekkor a két telefon, köszönhetően két igen agyafúrt amerikai kriptográfusnak, akik 1976-ban feltaláltak egy erre szolgáló módszert, átadják egymásnak a titkos kulcsokat. Közben még ellenőrzik azt is, hogy valaki nem kotnyeleskedett-e bele a kommunikációba. Itt ugyanis elviekben a következőt lehetne elkövetni: Ha mondjuk Éva, le szeretné hallgatni Andrást és Balázst, azt csak úgy tehetné, ha ebben a pillanatban, amikor András és Balázs épp átadják egymásnak a titkos kulcsokat, ő beáll közéjük az internet kapcsolatba, András telefonjának azt hazudja, hogy ő Balázs, Balázsnak azt hazudja, hogy Ő András, és mindkettőjüknek egy-egy hamis kulcsot ad. Így András és Balázs azt hinnék, hogy közvetlenül egymással beszélnek titkosítva, de valójában mindketten Éván keresztül beszélnének, aki középen mindent hallana és továbbítana közöttük, hogy ne bukjon le, hogy ő hallgatózik. De szerencsére a már említett két kriptográfus erre is megtalálta a megoldást. A kulcsátadáskor, mindkét telefon ellenőrzi, hogy biztosan nincs-e valaki középen, aki mindenkinek hazudozik, és hamis kulcsokat osztogat. Ha ilyen történne, akkor a telefonok ezt azonnal érzékelnék, és jeleznék a felhasználóknak a problémát.

3. lépés: Miután a két telefon megtalálta egymást az interneten, és a lehallgathatatlan beszélgetéshez szükséges titkos kulcsokat is megosztották egymással, elindulhat maga a hívás. Eddig, ugyanis amiket leírtunk azok mind a másodperc töredéke alatt játszódtak le a háttérben. Mindezekből András és Balázs semmit nem vettek észre. Most viszont elindul a hívás, közvetlenül a két telefon között, amit garantáltan nem térített el egy harmadik személy, ugyanis ezt a telefonok érzékelték és jelezték volna. A hívás innentől pedig még bonyolultabb titkosítási kulccsal van védve. Olyannal, amit milliárd évek alatt lehetne csak feltörni, azaz gyakorlatilag kijelenthetjük, hogy a hívás lehallgathatatlan, a titkosítás feltörhetetlen.

Minden egyes hívásnál, ugyanez ismétlődik meg, minden alkalommal új kulcsok készülnek a telefonokon. Sem a mi szerverünk, sem mi, se senki más nem tudhatja előre, hogy a telefonok melyik híváshoz milyen új titkos kulcsot fognak használni, és megosztani egymással a kulcscsere során. Így minden egyes hívás maximálisan biztosított, lehallgathatatlan, feltörhetetlen.

Telefonlehallgatás: Milyen titkosítás nyújt nagyobb védelmet?

Mistix - Telefon lehallgatás elleni védelem - NIST

A világon több titkosítási algoritmus is használatban van. Ezek legtöbbje akkor készült, vagy szerzett hírnevet, amikor az Amerikai Szabványügyi és Technológiai Hivatal (NIST) egy pályázatot írt ki az egy nemzeti kriptográfiai szabvány elkészítésére, amit majd az amerikai kormányszervek használhatnak a bizalmas adatok titkosítására. Erre a nyílt pályázatra az egész világról több csapat is pályázott, ahol végül a Rijndael algoritmust találták a legjobbnak, több szempont alapján. Ezt az algoritmust ma AES (Advanced Encryption Standard) néven ismerik a szakemberek. Nem azért választották ezt az algoritmust, mert a pályázat elbírálásakor 2000-ben ez volt a legnagyobb biztonságot nyújtó, hanem mert különböző szempontok alapján, mint például az erőforrás igény, és az implementálás költsége, ez bizonyult a legjobb kompromisszumos megoldásnak. Azóta is ezt használja az összes amerikai hivatal, illetve a nemzetbiztonság a bizalmas adatok titkosítására.

De az eltelt több mint 14 év alatt sok minden változott, például a számítógépekben és mobiltelefonokban elérhető számítási teljesítmény megnőtt. Emiatt a 14 éve a nagyobb biztonságot nyújtó, de ezért nagyobb erőforrást megkövetelő algoritmusok ma már jobbnak számítanak, mivel a leglassúbb mobiltelefonban is 1000Mhz órajelű processzor található, míg 14 éve egy asztali számítógép is eldicsekedhetett ezzel a teljesítménnyel. Az erőviszonyok tehát átrendeződtek, mi pedig a korral haladva le is cseréltük a korábban általunk is használt AES-256 titkosító algoritmust egy másik, még annál is nagyobb biztonságot jelentő versenytársra.

A weboldalunkon többször is használjuk a "gyakorlatilag feltörhetetlen" kifejezést. Hogy ezt szemléltessük, illetve számokkal kifejezzük, íme pár adat: a Mistix rendszerben használt titkosítási algoritmus kulcsának 2256 variációja van, ezeket kellene végig próbálnia valakinek, ha meg akarja fejteni a titkosítást. Mivel a 2256 valószínű önnek se mond semmit, lássuk számmal kifejezve:
116,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000

Nem lepődnénk meg, ha ezt még mindig nem tudná értelmezni, mivel a hétköznapi életben nem használunk ilyen számokat, úgyhogy itt egy kis összehasonlítás. A Föld bolygónk légkörrel és mindennel együtt összesen ennyi atomból áll:
133,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000

Röviden összefoglalva: A mi titkosítási algoritmusunk kulcsát megtalálni, nem olyan mint tűt keresni a szénakazalban, nem is olyan, mint homokszemet a Szaharában, hanem még annál is nehezebb feladat, mint egy bizonyos atomot megtalálni a Föld bolygón. Reméljük, így már világos, miért is használjuk a "gyakorlatilag feltörhetetlen" kifejezést, és hogy ez nem egy légből kapott kijelentés, hanem ez a valóság.

Telefonlehallgatás: Hogyan működik a titkosítás?

Legegyszerűbb talán úgy elképzelni a dolgot, hogy a hanganyagot betesszük egy biztonsági dobozba, amit csak egy speciális kulccsal lehet kinyitni. Ezt a dobozt küldjük át a címzettnek a hanganyaggal, amit a címzett a kulcs birtokában kinyithat. Más hiába próbálkozik a hanganyag ellopásával szállítás közben, a kulcs nélkül a dobozt lehetetlen kinyitni. Így a doboz tartalma titok marad. Persze az eljárás során több problémát is le kell küzdeni:

Az első probléma, ha a kulcs túl egyszerű, akkor könnyű megfejteni mi a zár kombinációja. A mi esetünkben erre nem lehet panasz, ugyanis az általunk használt kulcs olyan bonyolult, hogy megfejteni, az összes variációt végig próbálni nyers erővel több milliárd év lenne, azaz maga a kulcs gyakorlatilag nem törhető fel.

Ez a kép a Mistix titkosítási kulcsot szemlélteti, ami a valóságban még ennél is sokkal hosszabb, de az nem fért ide a weboldalra:
Mistix - Lehallgatás ellen mobiltelefon titkosítás

A második probléma, hogy milyen gyakran cseréljük a kulcsokat. Ha ugyanis a címzett kap egy állandó kulcsot, akkor könnyen úgy járhatunk, hogy a kulcs valahogy rossz kezekbe kerül, és innentől kezdve minden titkos üzenetet meg lehet fejteni. Éppen ezért használunk egyszer használatos kulcsokat minden beszélgetéshez, azaz, ha az egyik kulcsot meg is szerezné valaki, a következő beszélgetéshez az már nem lenne használható.
Mistix - Titkosított mobiltelefon beszélgetés

A harmadik probléma, hogy ha folyton cseréljük a kulcsokat, hogyan juttassuk el az aktuálisat a címzetthez? Ha ugyanis maga a kulcs átadásakor ellopja valaki a kulcsot, onnantól a titkosítás nem ér semmit, mivel ott van hozzá a kulcs is. Ha viszont nem tudjuk odaadni a kulcsot, a címzett sem fogja érteni, amit küldünk neki. A megoldás szerencsére erre a problémára már 1976-ban megszületett. Két amerikai kriptográfus kitalált egy matematikai módszert, amivel két fél megoszthat meg egymással titkos adatokat egy nem biztonságos csatornán keresztül, a titkos adatok kiszivárgása nélkül. Ez a módszer azóta is világszerte használatban van.

Telefonlehallgatás: Hogyan történik a titkos kulcs átadása?

Mistix - Mobiltelefon lehallgatás ellen titkosítás Most bemutatjuk az eljárást, amiről az előző bekezdésben szó volt. Azaz hogyan tudunk átadni egy titkos kulcsot a partnerünknek nyilvánosan anélkül, hogy bárki megtudná mi a kulcs? Természetesen itt most nem valódi kulcsokról van szó hanem digitális adatokról. Az alábbi ábra a könnyebb érthetőség érdekében, színekkel mutatja be az eljárást. Először is András és Balázs választanak egy színt közösen. Ez mindenki számára nyilvános, bárki láthatja, a példában ez a sárga szín. Ezen kívül mindketten választanak egy másik színt titokban, amit senkinek nem mutatnak meg, még egymásnak sem. Ez után ezt a titkos színüket mindketten összekeverik a közösen választott sárga színnel, majd az így kapott keveréket mindketten átadják a másiknak.

Itt fontos észrevenni, hogy bár az átadás közben látható, hogy milyen színű keveréket adnak át egymásnak, de az nem derül ki, hogy a keveréket pontosan milyen arányban kevert, milyen színű festékből állították elő.

Most, hogy átadták egymásnak a keverékeiket, mindketten hozzáadják újra a saját titokban tartott színű festéküket, hogy előállítsák a végső, közös, titkos színt. Az a végső szín tartalmazza a közösen választott sárgát, valamint András és Balázs színeit is, mégpedig ugyanabban az arányban. Ezáltal mindkettőjüknél pontosan ugyanaz a szín jelenik meg. Ez a szín a közös titok, amit rajtuk kívül senki más nem ismer annak ellenére, hogy a keverék átadása mindenki számára látható volt.

Nézzük meg mi történt egy harmadik fél (Éva, a lehallgató) szemszögéből. Éva látta, hogy mindketten kiválasztják a közös sárga színt, majd valamit titokban kevergetnek és átadnak egymásnak egy kékes és egy narancssárgás keveréket. Éva ügyesen még mintát is szerez ezekből a keverékekből, de nem tudja megállapítani, hogy pontosan miből mennyit kevert hozzá András és Balázs, hogy ilyen keverék legyen a végeredmény, és azt sem tudja, hogy milyen színből mennyit kellene hozzáadni, hogy megkapja a végső színt. Természetesen tippelhet, de millió színárnyalat közül kellene eltalálnia pontosan azt, amelyik a titok nyitja.

A valóságban természetesen nem színekkel, hanem olyan hatalmas számokkal végezzük el ezt az eljárást, amik több száz számjegy hosszúságúak. Ezeket a hatalmas nagy számokat emeljük egymás hatványára, osztjuk egymással, mint ahogy a színeket kevernénk. A két telefont, amikor fenti módszerrel megbeszélik egymással, hogy mi legyen a beszélgetést titkosító kulcs, fölösleges lehallgatni. Egy harmadik, hallgatózó fél, sosem fogja megszerezni a matematikai feladvány összes összetevőjét, ami a megoldáshoz szükséges lenne. A feladvány titkos összetevői, ugyanis sosem hagyják el a telefonokat, ahogy András és Balázs sem árulták el soha senkinek, hogy mi volt a titkos színük, vagy mi volt az a szám, amit a fent bemutatott példában választottak. Ha pedig ezek a kulcs fontosságú adatok soha nem hagyják el a telefont, akkor egyszerűen nincs mit lehallgatni, nincs meg megfejteni.

Ha a kulcscsere sikeresen megtörtént, akkor a feladó és a címzett nyugodtan kommunikálhatnak, mivel az adatokat a már a korábbiakban említett, nyers erővel gyakorlatilag feltörhetetlen kulcs védi. Azaz hiába is rögzíti bárki az interneten átküldött adatokat, azokat nem lesz képes értelmezni. Az általunk használt kulcs ellen a mai napig nem létezik sikeresen alkalmazott matematikai támadási módszer, míg a sokak által használt AES-256 algoritmust elméleti szinten feltörhetőnek találták 2011-ben. Mi ekkor váltottunk egy másik, még nagyobb biztonságot nyújtó titkosítási algoritmusra, amit több mint kétszer olyan nehéz lenne megfejteni mint egy AES-256 kulcsot.

Telefonlehallgatás: Miért jobb a szoftveres megoldás, mint a hardveres?

Modernebb technológia: A ma kapható legolcsóbb mobiltelefon is 850Mhz sebességű processzort tartalmaz, ami több mint elég bármilyen titkosítási feladatra. Manapság, már nincs szükség hardveres titkosítási megoldásokra, ugyanis a technika annyit fejlődött az elmúlt évtizedben, ami szükségtelenné tette az egykoron hasznos, mára viszont teljesen elavult célhardvereket. A Mistix rendszerhez nem szükséges külön hardveres kiegészítő, mert a telefonban lévő processzor, minden szempontból maradéktalanul, és tökéletesen alkalmas a titkosítási feladatra. Mi, valahogy úgy tekintünk a hardveres titkosító eszközökre mint a VHS videomagnókra. Volt idő amikor hasznos volt, de ma már inkább csak megmosolyogtató kuriózum.

Kevesebb hibalehetőség: Az informatikában nagyon fontos szabály, hogy ha lehet, ne legyen a rendszernek olyan eleme, aminek a meghibásodása az egész rendszer működését veszélyezteti. Nekünk ezért is van úgy kialakítva a rendszerünk, és van világszerte 74 szerverünk, hogy ha bármelyik le is áll, attól még a szolgáltatás zavartalanul működik tovább. Lássunk egy példát! Mi történik Andrással és Balázzsal, akik épp Bangladesben vannak üzleti úton? András szoftveres megoldást használ hívásai titkosítására a telefonján, míg Balázs egy drága hardveres megoldást, amikor hirtelen jön a monszun, mindketten bőrig áznak. Mindkettőjük telefonja, illetve Balázs hardveres titkosító eszköze is, tönkremegy. András az első mobil boltban vesz egy olcsó Androidos telefont, letölti a Mistix alkalmazást, és már hívhatja is titkosítva a partnereit. Balázs ezzel szemben nagy bajban van, ugyanis Bangladesben esélytelen hogy szerezzen egy másikat a tönkrement hardveres titkosító eszköz helyett. Legalább még két hétig, amíg haza nem utazik, nem tud titkosított telefonhívásokat bonyolítani. Természetesen a termék értékesítésekor Balázst meggyőzték arról, hogy ez a termék még soha, senkinél nem hibásodott meg, és erre semmi esély nincs.

Nagyobb biztonság: A hardveres megoldások esetében a gyártók gyakran hangoztatják, hogy a titkosításhoz használt kulcsok, a speciális hardver egységben vannak tárolva és megszerezhetetlenek onnan. Semmi sem megszerezhetetlen, mint ahogy a NASA vagy a CIA emberei is tapasztalták, amikor a számítógépes rendszerükbe bejutottak hackerek. Egyedül azt nem lehet megszerezni, egyedül azzal nem lehet visszaélni, ami nincs. A Mistix egyszerűen nem tárol semmiféle kulcsot a telefonon, ugyanis mindig a hívás indításkor készít egy új kulcsot a program, amit a hívás közben többször cserél, majd a hívás végén rögtön meg is semmisít. A biztonság ezen szinte egyszerűen összehasonlíthatatlan a hardveres megoldásokkal, amik folyamatosan tárolják a kulcsot. Ezen kívól hardveres titkosításból csak olyan létezik, ami az AES algoritmust használja, amihez egyes források szerint az amerikai titkosszolgálatnak van "mesterkulcsa" illetve ahogy már említettük a weboldalunkon, az AES-nél manapság már van nagyobb biztonságot nyújtó algoritmus is, amihez még csak elméleti szinten sem létezik feltörési módszer.

Naprakész védelem: A szoftveres megoldás bármikor frissíthető. Ha szükséges, akár egy nap alatt tudunk módosítani a programon, új biztonsági intézkedéseket vezethetünk be, vagy a régi, időközben elavultakat lecserélhetjük újabbra, modernebbre, biztonságosabbra. A technika, és az informatika ugyanis folyamatosan fejlődik, és nekünk követnünk kell ezt a fejlődést, hogy folyamatosan tudjuk biztosítani a maximális biztonságot ügyfeleink részére. A hardveres megoldások ezzel szemben nem tudják követni a technika fejlődését. Ha például holnap megjelenik egy kritikus sebezhetőség, ami miatt alapjaiban kell módosítani a titkosítási eljáráson, mi egy program frissítéssel erre azonnal tudunk ezt reagálni. A hardveres titkosítást használóknak ezzel szemben, meg kell tervezni az újabb eszközt, mintapéldányokat gyártan belőle tesztelésre, amikor a teszt eszköz megfelelően működik, akkor meg kell kezdeni a végleges termék gyártását, annak elkészülte után pedig, az összes ügyfélnek a módosított eszköz kiszállítását. Ez optimális esetben, ha semmilyen nehézség nem merül fel a fejlesztés, a tesztelés, vagy a gyártás során, akkor is hónapokat vesz igénybe, és ez idő alatt az ügyfelek védtelenek, a hívásaik lehallgathatóak, mivel az elavult hardver eszköz már nem nyújt védelmet, az új pedig még nem áll rendelkezésünkre.

Alacsonyabb költségek: A hardveres titkosítási megoldások indokolatlanul sokba kerülnek, ugyanis meg kell vásárolnia magát az eszközt. Ráadásul nem csak egyet, hanem annyit, amennyi titkosított végpontot szeretne. Ráadásul, ha az Ön hibájából meghibásodik a titkosító hardver, például elázik monszun idején, vagy ellopják a telefonjával együtt, akkor a saját költségén kell újat vásárolnia, ami megint emeli a rendszer működési költségét. A Mistix ezzel szemben a ma kapható legolcsóbb Androidos telefonokon is tökéletesen működik, illetve ha már Androidos telefont használ, akkor nincs szükség semmilyen plusz befektetésre.