CZ EN HR
MENU

Technologie

Jak BabelApp funguje

Vše, co potřebujete vědět o technologickém řešení aplikace BabelApp.

Technologie

Jak funguje BabelApp

BabelApp je platforma pro bezpečnou komunikaci. Umožňuje prostřednictvím mobilních zařízení i stolních počítačů se systémy iOS, Android, Windows a macOS bezpečně zasílat a ukládat zašifrované textové zprávy a dokumenty. BabelApp využívá kombinace nejlepších kryptografických algoritmů a protokolů, které chrání vaše informace před aktivním i pasivním útokem.

Schéma jak funguje BabelApp

Jak se šifruje?

Každá zpráva je šifrována standardním symetrickým algoritmem AES s jedinečným klíčem Message Key, který náhodně generuje aplikace BabelApp na zařízení odesilatele. Stejný klíč potřebuje i příjemce pro rozšifrování zprávy, proto je Message Key také zašifrován, tentokrát klíčem Contact Key, který sdílí odesilatel s příjemcem a připojen ke zprávě. Contact Key je spočítán příjemcem i odesilatelem s použitím standardního algoritmu Diffie-Hellman. Pro tento výpočet musí mít obě strany k dispozici ověřenou hodnotu veřejného klíče protistrany. Tyto veřejné klíče bezpečně distribuuje na všechna registrovaná zařízení firemní BabelApp Messaging Server.

Schéma jak se šifruje

Jak se využívá technologie Blockchain?

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. Toto ú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í Bitcoinové 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.

Jak se telefonuje?

BabelApp zajišťuje šifrované hovory mezi mobilními zařízeními v datové síti prostřednictvím technologie VoIP. Přenos hlasu probíhá přímo mezi koncovými klienty, pokud to umožňuje způsob připojení klientů do internetu, nebo prostřednictvím TURN serveru (Traversal Using Relays around NAT) v případě, kdy je nutné přímé spojení reléovat.

BabelApp zajišťuje bezpečný přenos hlasu na základě aplikačního šifrování protokolem SRTP (Secure Real Time Protocol) mezi koncovými body přenosu. Pro nalezení sdílených šifrovacích klíčů je využita technologie Perfect Forward Secrecy, která zaručuje, že v případě kompromitace DH klíčů, nebo session klíčů relace nejsou kompromitovány klíče žádné jiné relace.

Jak se posílají zprávy?

Zašifrované zprávy jsou odeslány na BMS k doručení. BMS upozorní příjemce na novou zprávu připravenou k doručení prostřednictvím push notifikací a umožní její vyzvednutí. Pokud zpráva obsahuje přílohy, jsou v přijaté zprávě umístěny ve formě náhledů odkazy na stažení těchto příloh. Správce může nastavit maximální dobu, po kterou jsou zprávy respektive přílohy uloženy na serveru a je možné je vyzvednout, po překročení této doby jsou automaticky smazány.

Aby bylo možné zasílat zprávy i příjemcům, kteří mají účty na jiných serverech, než odesilatel, implementuje BabelApp komunikaci mezi servery.

Schéma jak se posílají zprávy

Jak se ukládají zprávy?

Odeslané i doručené zprávy zůstávají na zařízeních uloženy v zašifrované formě, jejich šifrovací klíč Message Key je při uložení zašifrován pomocí individuálního klíče zařízení Device Key. Device Key je na každém zařízení náhodně vygenerován při instalaci aplikace BabelApp. Device Key je šifrován klíčem odvozeným z hesla BabelApp.

Pro zobrazení zpráv je nutné zadat heslo BabelApp, ze kterého se odvodí klíč, pomocí kterého se dočasně rozšifruje Device Key. S použitím Device Key je pak možné rozšifrovat Message Key jakékoli zprávy uložené v aplikaci BabelApp a následně rozšifrovat a zobrazit tuto zprávu.

Jak se brání útokům?

Bezpečná komunikace je založena nejen na šifrování přenášených zpráv, ale i na jejich autentizaci a kontrole integrity, aby příjemce získal jistotu, že data pocházejí od legitimního odesilatele a nebyla změněna útočníkem. K tomuto účelu je zpráva nejprve zašifrována a poté je výsledný šifrový text „podepsán“ pomocí algoritmu HMAC s vlastním autentizačním klíčem (Encrypt-then-Authenticate). Další ochranný mechanismus umožní detekovat aktivní útoky na zadržení nebo naopak znovu odeslání nezměněné zprávy (replay attack) pomocí číslování posloupností zpráv a konverzací.

Komponenty BabelApp

BabelApp Messaging Server

Srdcem systému je BabelApp Messaging Server (BMS). Tento server udržuje databázi účtů uživatelů a registrovaných zařízení, ověřuje a bezpečně uchovává veřejné klíče uživatelů a synchronizuje je na registrovaná zařízení. BMS je vybaven serverovým SSL certifikátem a poskytuje klientské licence pro zařízení uživatelů.

BMS zprostředkovává datovou komunikaci mezi zařízeními uživatelů, neuchovává ovšem žádné privátní ani tajné klíče a neúčastní se šifrování zpráv. V případě, že odesilatel nebo příjemce nejsou připojeni on-line, zajišťuje BMS zasílání notifikací a asynchronní doručení šifrovaných zpráv.

K BMS se všechna zařízení musí registrovat s využitím jednorázového hesla. Při registraci BMS získá a ověří veřejný klíč uživatele a synchronizuje jej na registrovaná zařízení ostatních uživatelů. Po dokončené registraci se zařízení připojují k serveru automaticky, bez zásahu uživatele.

Address Book

BabelApp poskytuje službu centrálního adresáře a uživatelských adresářů kontaktů. Kontakty jsou odesilatelé a příjemci zpráv, jejich veřejné klíče jsou základem kryptografického modelu pro šifrování zpráv.

Kontakty jsou organizovány do skupin, například podle organizační struktury, projektů nebo zákazníků. Každý kontakt může být členem libovolného množství skupin. Uživatelům lze nastavit práva pro vyhledávání kontaktů ve skupinách.

Uživatelské adresáře jsou vytvářeny na serveru a synchronizovány na všechna zařízení uživatele. Uživatelské adresáře eliminují extenzivní množství kontaktů, které by bylo nutné synchronizovat na lokální zařízení a současně umožňují efektivně vyhledávat a používat kontakty, s kterými se často komunikuje.

BabelApp Attachment Server

BMS je integrován s BabelApp Attachment Serverem (BAS), který zajišťuje dočasné uložení a asynchronní stažení šifrovaných dokumentů přiložených k zprávám. Možnost zasílání dokumentů ve formě příloh zprávy je volitelná, správce jí může povolit, nebo zakázat. Zprávy obsahují pouze metadata příloh, vlastní přílohy je nutné samostatně stáhnout na základě informací uvedených ve zprávě. BAS umožňuje nastavit maximální velikost příloh a maximální dobu pro jejich dočasné uložení.

BabelApp Messaging Gateway

BabelApp Messaging Gateway (BMG) je speciální proxy klient, určený pro automatické, softwarově řízené rozesílání šifrovaných zpráv a dokumentů. BMG je integrován s BMS, a poskytuje jednoduché REST API aplikacím třetích stran. Tyto aplikace se autentizují k BMG a bezpečným kanálem poskytují data k zašifrování a odeslání na libovolné zařízení s klientem BabelApp. BMG je ideální řešení pro automatické rozesílání šifrovaných zpráv, upozornění, dokumentů, jednorázových autentizačních hesel, výplatních lístků, údajů o proběhlých transakcích apod.

BabelApp Push Proxy

Mobilní zařízení se systémy iOS a Android umožňují příjem aplikačních push notifikací, které upozorňují na zprávu čekající na serveru na doručení, i když klientská aplikace BabelApp běží na pozadí, nebo není spuštěna.

Push notifikace jsou zařízením rozesílány v rámci infrastruktury Apple/Google notifikačních serverů.

Pro zasílání požadavků k rozeslání push notifikací prostřednictvím Apple/Google notifikačních serverů slouží BabelApp Push Notification Gateway. Zaslání požadavků je volitelné a správce je může povolit, nebo zakázat. Požadavek na zaslání push notifikace musí být elektronicky podepsán s použitím privátního klíče, který má k dispozici pouze Push Notification Gateway a certifikátu, který je registrován u Apple/Google notifikačních serverů.

V upozornění se neposílají žádné informace obsažené ve zprávě, pouze oznámení, že BMS má zprávu k doručení. Použití upozornění je nepovinné, pokud není nastaveno, může být doručení zpráv zpožděno.

Klienti BabelApp

Klienti BabelApp umožnují šifrovat, dešifrovat, odesílat a přijímat zprávy a přiložené dokumenty prostřednictvím BMS/BAS, pořizovat a přehrávat vybrané formáty dokumentů přímo v aplikaci (fotografie, videa, hlasové nahrávky), ukládat zprávy a dokumenty v zašifrovaném tvaru, pracovat s konverzacemi více účastníků, vyhledávat kontakty v aplikaci i v centrálním adresáři.

Klienti BabelApp jsou k dispozici pro všechny významné platformy mobilních i stolních zařízení.

Každý uživatel může mít pod svým účtem registrováno více zařízení s libovolnou kombinací klientů.

Každé zařízení může být připojeno k více serverům

Webová administrativní konzole

Firemní správce provádí administraci serveru, uživatelů, skupin a zařízení prostřednictvím web rozhraní administrativní konzole BabelApp. Prostřednictvím konzole lze konfigurovat připojení k firemnímu LDAP adresáři, import uživatelských účtů a autentizaci pomocí SSO. Správce může generovat QR kódy pro registraci uživatelských zařízení, revokovat klíče, zařízení a uživatele a sledovat jejich připojení k serveru a statistiky provozu.

Webová správa zařízení uživatele

Uživatelé mají k dispozici web stránky pro správu svých zařízení s klientem BabelApp. Uživatelé mohou registrovat nová zařízení k BMS nebo zrušit stávající registrovaná zařízení.

Whitepaper

Zjistěte, co všechno BabelApp umí v našem Whitepaperu.

Stáhnout whitepaper.pdf