poznáme.itBezpečnosťAko chatovat bezpečne?

Ako chatovat bezpečne?

V predchádzajúcom článku Ako sa nenechať vykradnúť sme si veľmi zľahka naznačili problém, ktorým častokrát trpí komunikácia cez internet. Áno, správne – je to súkromie. Nainštalovali sme si Jabber klienta, vytvorili účet na serveri a niečo príjemné napísali kamošovi. Teraz sa ponoríme trošku hlbšie a pozrieme sa na to, ako vlastne vyzerá naša správa pri ceste sieťou ku konečnému adresátovi.

Porovnajte si nasledovný obrázok naľavo a napravo.

Ako chatovat bezpečne? 2

 Obr. 1: Porovnanie komunikácie bez a s použitím Off-the-Record rozšírenia

Áno, vaša komunikácia pri chatovaní cez Facebook alebo pokec vyzerá presne tak, ako je to na ľavej strane. Možno vám tie značky čo sú okolo nič nehovoria, každopádne je jasné, čo bolo v prvom prípade obsahom správy. Aj keby ste sa na Jabber server pripojili cez SSL (samozrejme odporúčam), bude obsah správy viditeľný minimálne prevádzkovateľom jabber servera. Ten si môže tieto správy na pozadí zapisovať na disk, preposielať niekomu tretiemu a dovolím si tvrdiť, že aj cenzúrovať, prípadne modifikovať a posielať adresátovi pozmenenú správu.

Prevádzkovateľ jabber servera je ako klebetná poštárka, ktorá presne vie, odkiaľ ste si domov posielali pozdrav z dovolenky, kedy ste doma, v ktorej banke máte vedený účet alebo v ktorej poisťovni máte poistenú domácnosť. Ak sa vám chce, zapnite si v Pidgine (váš jabber klient) XMPP konzolu (Tools -> Plugins -> XMPP Console) a môžete sa na svoju komunikáciu pozrieť sami.

Ako chatovat bezpečne? 3Obr. 2: Zapnutie XMPP konzoly v Pidgine

Vo virtuálnom svete si ale súkromie môžete chrániť pomerne jednoducho. Všimli ste si ten text v pravej časti prvého obrázka? Áno, ten čo začína značkou <body> a pokračuje ?OTR:AAMD9wj…. Pre vás je v tejto chvíli nečitateľný a nečitateľný je aj pre všetkých ostatných s výnimkou jedného adresáta. Iba ten má správny kľúč na dešifrovanie správy.

Paráda, nie? :-)

Všetko čo sme spravili bolo to, že sme si v Pidgine zapli rozšírenie Off-the-Record a overili si navzájom s naším partnerom identitu nasledovným spốsobom:

V chatovacom okne klikneme najprv na tlačidlo Not private a vyberieme možnosť Start private conversation. Ak máte na oboch stranách klientov, ktorí podporujú OTR, tak sa za pomoci Diffie-Hellman algoritmu dohodnú šifrovacie kľúče a nadviaže bezpečná komunikácia. Funguje to dokonca aj cez nezabezpečený kanál, kde by mohol hroziť MITM útok. Nadviazanie bezpečnej komunikácia začína takouto správou.

<body>?OTRv23?

zc.mi1733546524bbaj@17335465242-tse1733546524t-rto1733546524/ has requested an Off-the-Record private conversation <http://otr.cypherpunks.ca/>.

However, you do not have a plugin to support that.

See http://otr.cypherpunks.ca/ for more information.</body>

Ak druhá strana OTR nepodporuje, správa sa zobrazí a vložený odkaz naviguje užívateľa na stránku autorov OTR, kde získa bližšie informácie. Ak druhá strana OTR podporuje, prebehne na pozadí dohodnutie kľúčov a užívateľovi sa už iba zobrazí správa o tom, že komunikácia je od tejto chvíle zabezpečená.Ako chatovat bezpečne? 5

Obr. 3: Detaily ohľadom výmeny kľúčov cez Diffie-Hellman algoritmus sú pred užívateľom skryté

Och áno, bezpečnostní experti si teraz pri tomto zjednodušenom vysvetlení trhajú vlasy na hlave, lebo som zamlčal fakt, že MITM útočník si mohol dohodnúť zvlášť kľúč s vami a zvláśt kľúč s vašim partnerom, takže si vy myslíte, že komunikujete dôverne, no v skutočnosti si útočník v tichosti dešifruje vašu správu svojim kľúčom, zašífruje kľúčom váško kamoša a prepošle mu ju (či už modifikovanú alebo nie). Preto je mimoriadne dôležité overiť odtlačok (fingerprint) kľúča druhej strany. Situácia pri MITM útoku totiž vyzerá zhruba takto:

Ako chatovat bezpečne? 6Obr. 4: MITM útok

Že užívateľ je informovaný iba o úspešnom nadviazaní šifrovanej komunikácie a zvyšok sa deje transparentne na pozadí je skvelé. A navyše je to bez zníženia úrovne zabezpečenia! Presne toto by mohlo pomôcť širšiemu používaniu šifrovania a zvýšeniu úrovne súkromia. Lenže ešte sa musíme vrátiť k tomu overeniu odtlačku kľúča a teda k overeniu identity druhej strany.

Tuto sa ukazuje profesionalita návrhu OTR protokolu: užívateľ nie je zaťažovaný tým, aký neuveriteľne-dlhý-nezrozumiteľný odtlačok kľúča musí potvrdiť a že prečo je tá kombinácia hexa čísel taká dôležitá. Preddefinovanou voľbou je totiž overenie identity druhej strany otázkou a odpoveďou. Jasné, geeci si môžu overenie spraviť cez porovnanie fingerprintov, ale bežnému užívateľovi ten rad čísel naozaj nič nehovorí.

Ako chatovat bezpečne? 7Obr. 5: Overenie identity druhej strany – voľba otázky a odpovede

Prvý užívateľ vymyslí teda otázku a odpoveď, ktorú by mal poznať iba ten náš komunikačný partner. V praxi to možno zjednodušiť tak, že do oboch polí naťukáme niečo náhodné a cez nezávislý kanál (napr. si môžete zatelefonovať) druhej strane prezradíte odpoveď. A pozor: toto overenie je potrebné spraviť aj v jednom smere aj v druhom! Takéto user-friendly overenie identity sa mi páči a je viac prirodzené, ako porovnanie odtlačkov kľúčov. Veď porovnajte sami predchádzajúci a nasledujúci obrázok, ktorý sa vám páči viac

Ako chatovat bezpečne? 8
 Obr. 6: Manuálne overenie identity cez kontrolu odtlačkov kľúčov (fingerprintov)

Nabudúce môžeme ísť ešte viac do hĺbky a prebrať jednotlivé vlastnosti takéhoto šifrovania trošku detailnejšie. Minimálne Deniability stojí určite za povšimnutie.

Dobrý článok? Chceš dostávať ďalšie?

Už viac ako 6 200 ITečkárov dostáva správy e-mailom. Nemusíš sa báť, nie každé ráno. Len občasne.

Súhlasím so spracovaním mojich osobných údajov. ( Viac informácií. )

Tvoj email neposkytneme 3tím stranám. Posielame naňho len informácie z robime.it. Kedykoľvek sa môžeš odhlásiť.

Ľubomír Host
Ľubomír Hosthttp://blog.hostname.sk/
IT je moje hobby a zároveň mám to štastie, že sa ním živím profesionálne. Fandím Open Source a mám rád nové technológie. Hľadám cestu, ako zoptimalizovať svoj čas, lebo je ho málo a záujmov veľa. S obľubou riešim hlavolamy a logické hádanky, prípadne sa v niečom vŕtam pekne hlboko a snažím sa to pochopiť.

Čítaj ďalej: