Threema slibuje nejlepší šifrování ze všech komunikátorů

21. 5. 2018 | Jindřich Zechmeister

Pokračujeme v představování bezpečných komunikátorů. Threema je mobilní aplikace pro šifrovanou komunikaci s pětiletou historií a 3.5 miliony uživatelů. Tvůrci komunikátoru vyzdvihují zejména bezpečnost aplikace a svou nezávislost, která má být zaručena sídlem ve Švýcarsku. Výhodou komunikátoru je desktopová verze i podpora mobilní platformy Windows. Nevýhodou pro někoho může být fakt, že aplikace je placená a není zdarma.

Další z mnoha "messengerů"?

Bezpečné komunikátory získaly na popularitě v důsledku prozrazených špehování vládních agentur (nejznámější je kauza Snowden). Uživatelé poptávají ochranu před odposlechem komunikace a tu jim poskytuje End-to-end šifrování mezi oběma komunikujícími stranami. Nejde jen o běžné šifrování dat při přenosu mezi telefony a serverem provozovatele, při kterém se neřeší další nakládání s daty "v cíli" - tedy u poskytovatele. Ke konverzacím se tak v případě běžného šifrování můžete dostat i v databázi poskytovatele a v paměti telefonu. Threema těmto rizikům zabraňuje právě end-to-end šifrováním, takže zprávy nepřečte ani poskytovatel služby. Podobně jako Signal používá vlastní řešení, jehož detaily najdete v samostatném odstavci.

Threema se nezaměřuje pouze na bezpečnost, ale chce být také praktickým komunikátorem příjemným na používání. Možnost sdílení různých typů dat je nadstandardní (viz odstavec o použití aplikace). Za zmínku také stojí desktopová verze messengeru - k vyměňování zpráv můžete použít i běžné PC (podobně jako u Signalu). Tato možnost přibyla v únoru 2017 a více se o desktopovém klientu dozvíte ve zprávě výrobce.

Bezpečnost aplikace

Hlavní devízou komunikátoru Threema je šifrování komunikace mezi dvěma subjekty. Aplikace je placená a proto je v zájmu vývojářů, aby bylo zabezpečení transparentní a dostatečně aktraktivní pro uživatele (laiky i odborníky). 

Na webu výrobce jsou uvedeny principy použitého zabezpečení. Podle tvůrců je zabezpečení na referenční úrovni, protože šifrování v aplikaci má dvě úrovně zamezující odposlechu. Informace jsou nejen zabezpečeny end-to-end šifrováním, ale i šifrovány při přenosu.

Dvě úrovně šifrování. Zdroj: threema.ch

Zašifrování a dešifrování zpráv probíhá přímo na zařízení komunikujících subjektů. Threema používá asymetrické šifry ECC o 256 bitech. Pro symetrickou komunikaci používá šifru XSalsa20. Pro výměnu klíčů používá ECDH s použitím Curve25519. Kromě přenosu dat je nutné zabezpečit i data uložená v telefonu; toho Threema dosahuje použitím zabezpečených databází a sandboxu, který znemožňuje přístup ostatních aplikací k těmto datům.

Samozřejmostí je i tzv. "forward secrecy" zamezující budoucímu prolomení zaznamenané síťové komunikace. Threema při komunikaci se serverem používá dočasné klíče uložené v RAM, které se mění při každém restartu aplikace.

Detailní popis principů zabezpečení dávají autoři odborníkům k dispozici v dokumentu Threema Cryptography Whitepaper. Taková míra transparentnosti je hodna následování ostatními softwarovými výrobci.

Použití aplikace Threema

Pokud vás odstavec výše přesvědčil o bezpečnosti aplikace, tak ji zakupte v obchodu svého smartphone. V následujících odstavcích najdete základní návod pro použití aplikace, který vám pomůže začít ji používat.

Threema funguje stejně jako ostatní komunikátory. Uživatelský účet však není svázán s konkrétním e-mailem či účtem (Messenger) nebo telefonním číslem (Signal). Aplikace po spuštění vytváří náhodné a unikátní ID uživatele.

Na screenshotech níže vidíte průvodce nastavením aplikace. Kromě vytvoření uživatelského jména a přezdívky může Threema propojit účet s e-mailem a telefonem (viz dále) a vyhledat v telefonu kontakty, které také aplikaci využívají. Ty potom uvidíte v seznamu kontaktů v aplikaci.

Propojení s číslem a e-mailem

Jak jsem už zmínil výše, průvodce nastavením umožňuje propojení Threema ID s telefonním číslem. Díky telefonnímu číslu a e-mailu může aplikace prohledat adresář telefonu a hledat ostatní uživatele Threemy (tak jako například WhatsApp). Telefonní číslo potvrzuje Threema SMS zprávou s kódem a odkazem; po jeho navštívení se telefonní číslo spáruje v aplikaci s Threema účtem.

Potvrzení telefonního čísla v aplikaci

Propojení e-mailu s účtem funguje klasicky kliknutím na zaslanou zprávu, avšak samotné kliknutí na odkaz nestačí. Musíte také zadat své uživatelské jméno z aplikace Threema.

Potvrzení propojení e-mailu s Threema

Potvrzení propojení vašeho e-mailu s Threema (vyžaduje zadání ID)

Po těchto dvou potvrzeních má Threema váš e-mail a mobilní číslo, o čemž se můžete přesvědčit v aplikaci. Přes e-mail probíhá reset hesla účtu.

Používání aplikace

Aplikace má čtyři hlavní obrazovky - seznam kontaktů (Contacts), zprávy (Messages), detaily mého ID (My ID) a nastavení (Settings). V kontaktech najdete ostatní uživatele z vašeho telefonního seznamu, kteří Threemu používají. Můžete jim napsat. Aktivní rozhovory jsou potom v položce zprávy. V detailech ID jsou informace o vás (uživateli Threemy) a nastavení slouží pro volby aplikace. 

Detail vašeho profilu vidíte níže. Obsahuje i čárový kód, který můžete nechat naskenovat přítele s aplikací a ten si tak váš kontakt snadno přidá do aplikace. Kromě naskenování QR kódu je možné do Threemy přidat uživatelské ID aplikace; avšak proč to neudělat jednodušeji...

V používání se Threema příliš neliší od ostatních komunikátorů. Zajímavou vlastností komunikátoru je nativní práce s multimediálními přílohami. Kromě fotek, hlasových zpráv a videí, které můžeme u takové aplikace očekávat, můžete posílat i soubory s příponou PDF, GIF, MP3, DOC nebo ZIP.  Threema umí i skupinový chat.

Možnosti vložení multimédií do konverzace jsou opravdu široké

Za zmínku stojí tři tečky, které jsou u jména každého kontaktu v seznamu. Je to indikace "bezpečnosti komunikace" s daným uživatelem a znamená toto:

  • Level 1 (červená tečka) - ID uživatele a veřejný klíč byly získány ze serveru, protože jste dostali zprávu od tohoto kontaktu poprvé, nebo jste ho přidali manuálně. V adresáři nemáte odpovídající kontakt a proto nemůžete věřit identitě tohoto kontaktu.
  • Level 2 (dvě oranžové tečky) - ID uživatele souhlasí s kontaktem ve vašem adresáři. Je tedy pravděpodobné, že kontakt je tím, za koho se vydává.
  • Level 3 (tři zelené tečky) - osobně jste potvrdili ID kontaktu a jeho klíč pomocí naskenování jeho kódu. Pokud tedy nebyl mobil této osoby hacknut, máte jistotu, že komunikujete právě s ní. Výměna klíče při setkání je nejbezpečnější a nejdůvěryhodnější metodou přidání kontaktu do Threemy (i výměny šifrovacích klíčů obecně).

Prvek indikace bezpečnosti komunikace s protějškem pomocí tří teček je zcela srozumitelný i pro laika a rozhodně ho chválím. V aplikaci by však mohl být význam lépe ozřejmen, protože málokdo bude význam teček hledat v nápovědě na webu.

Threema umí zálohovat uživatelské ID v šifrované podobě na externí úložiště. Přenos aplikace do nového telefonu pak probíhá snadně z této zálohy. Více informací je přímo na webu výrobce. Exportovat můžete dokonce i jednotlivé chaty (pokud nemáte Windows Phone)!

Srovnání s konkurencí

Threema je často srovnávána s komunikátorem Signal. Oproti němu má několik výhod:

  • Threema používá anonymní ID a účet nemusí být svázán s telefonním číslem.
  • Aplikace pro Android má modulární práva a nemusí mít práva například k mikrofonu a fotoaparátu.
  • Threema funguje i bez SIM karty.
  • Zobrazuje indikátor zabezpečení u kontaktů.
  • Může posílat přílohy až o 20MB.

Zkušenosti uživatelů a zejména diskuzi o rozdílech mezi Threema a Signal najdete v tomto vláknu na Reddit; ostatní diskuze o aplikaci jsou v samostatné sekci o Threemě.

Srovnání bezpečnosti Threemy a Signalu je předmětem diskuze odborníků na šifrování. Signal využívá vlastní protokol (dříve využíval TextSecure Protocol), který je založený na použití algoritmu Double Ratchet. Uživatelům Signal umožňuje nezávislé porovnání otisků veřejných klíčů, které vidí v aplikaci; tím mohou vyloučit MITM ve své komunikaci.

Bezpečnost Signal protokolu posoudily nezávisle na sobě dva bezpečnostní audity a oba považují jeho zabezpečení za kryptograficky pevné. Z tohoto auditu čerpá veřejnost své přesvědčení o bezpečnosti aplikace, protože tvůrci Signalu detaily protokolu nezveřejnili (audit proběhl na základě zdrojového kódu). Protokol Signalu převzal i Facebook Messenger pro své "tajné zprávy", WhatsApp či Google Allo. Mezi uživatele Signalu se řádí například Edward Snowden nebo Bruce Schneier.

Signal i Threemu lze považovat za bezpečné komunikátory, avšak mimo technickou rovinu může pro Threemu hovořit nezávislost a svoboda autorů ve Švýcarsku. Naopak tvůrcům Signalu se jí nemusí v budoucnu v USA dostávat (vzpomeňme na konec Lavabitu pod tlakem vládních agentur).

Nápovědu hledejte u výrobce, nebo v komunitě

Threema je stále poměrně jednoduchá aplikace, ale někdy mohou být některé funkce nejasné. V takovém případě je potřeba využít nápovědu (FAQ) na oficiálním webu aplikace, nebo se podívat na již zmíněné diskuzní vlákno na Reddit. Pokud ani zde nenajdete odpověď, tak můžete kontaktovat oficiální podporu výrobce. To je další výhoda placené aplikace.

Threema není jediná aplikace pro šifrování mezi uživateli

Threema není jediná aplikace pro šifrovanou komunikaci. End-to-end šifrování umí kromě Signalu či Facebook Messengeru také aplikace WhatsApp. Tu si představíme v některém z příštích návodů a rozšíříme tento seriál o bezpečných a šifrovaných komunikátorech..

Zdroje:

  1. Threema FAQ.
  2. Threema Cryptography Whitepaper.
  3. Signal's protocol gets glowing reviews in first security audit.
  4. SIGNAL AUDIT REVEALS PROTOCOL CRYPTOGRAPHICALLY SOUND.

Ing. Jindřich Zechmeister
Specialista pro bezpečnostní SSL certifikáty
DigiCert TLS/SSL Professional
e-mail: jindrich.zechmeister(at)zoner.cz