Při end to end šifrované komunikaci je potřeba získat veřejný klíč druhé strany. Tento klíč vám poskytne server, ke kterému jste připojeni. Pokud je server napaden, klíč vám může dát záměrně špatně, aby mohl vaši komunikaci odposlouchávat (takovýto útok se nazývá Man In The Middle - MITM).
Chceme-li tomuto útoku zabránit, je potřeba si přímo s daným kontaktem klíče ověřit (například si zavolat a přečíst si ověřovací kódy). Jedině tak si můžeme být jisti, že pro šifrování používáme správné klíče.
Naše aplikace využívá pro ověřování klíčů unikátní mechanismus, který pracuje s moderním bezpečným úložištěm, kde není možné, aby již jednou vložená data kdokoliv jakkoli modifikoval. Takovéto úložiště se nazývá blockchainová databáze.
Veřejné blockchainové DB jsou v současné době využívány výhradně pro kryptoměny. Největší a nejbezpečnější z nich je DB, kterou používá Bitcoin. Kromě toho, že je tato DB využívána k zápisu jednotlivých Bitcoinových transakcí, je možné do ní zapisovat i jiné údaje. V našem případě koncové zařízení s aplikací BabelApp zapíše do této databáze informace potřebné pro ověření veřejného klíče, které si mohou kdykoli přečíst ostatní účastníci komunikace.
Pokud má tedy BabelApp server aktivovanou ochranu pomocí Bitconové sítě, kdokoli s vámi může komunikovat bez obav z útoku MITM, aniž byste si před komunikací museli volat a ověřovat veřejné klíče.
Za vložení transakce do Bitcoinové sítě se platí poplatky, jak je to se zápisem informací o klíči?
Vždy při zápisu (vkládání dat do Bitcoinové sítě) je potřeba zaplatit poplatek. U BabelApp aplikace k zápisu dochází pouze při změně důležitých údajů, kterými jsou váš veřejný klíč a BabelApp adresa. K jejich změnám dochází jen ve výjimečných případech (například při ztrátě telefonu) - u většiny lidí se tedy platí pouze jednou. Částka za transakci se mění podle aktuální vytíženosti sítě a ceny Bitcoinu. Jsou to řádově desítky korun (v září 2018 asi 20 Kč).
Musí mít klient založenou Bitcoinovou peněženku?
Nemusí, o platby se stará BabelApp server, ke kterému jste připojeni.
Je potřeba aby všichni klienti (popřípadě servery) využívali Bitcoinovou síť?
Není, ale čím více serverů a klientů bude tuto ochranu využívat, tím bude síť bezpečnější. Pokud si budete chtít psát s někým, kdo v síti není, aplikace vás upozorní, že je potřeba si klíče ověřit jiným způsobem (například telefonicky).
Zapisují se do sítě nějaké citlivé údaje?
Zapisují se pouze data nutná pro ověření klíče. Nikdy se nezapisují žádné údaje o kontaktech, zprávách ani hovorech.
Bitcoinová databáze má několik stovek GB. Musí si ji telefon celou stáhnout?
Mobilní aplikace se nepřipojuje přímo k Bitcoinové síti, ale k BabelApp serverům, které bloky filtrují a zasílají pouze ty části, které jsou potřebné. Velikost se tímto sníží řádově na megabyty. Důležité je říci, že i když dochází k filtrování a přeposílání dat serverem, tak není snížena bezpečnost.
Jak dlouho trvá zápis do Bitcoinové sítě?
Zápis dat s veřejným klíčem trvá přibližně hodinu.