Kam jinam
Koncové šifrování v podnikových aplikacích
- Důvody pro koncové šifrování
- Omezení koncového šifrování aneb proč se nepoužívá
- Inteligentní šifrování
- Kde je end-to-end šifrování použitelné a kde ne
- Jak end-to-end šifrování ve frameworku funguje
- Technická dokumentace k šifrování
Podnikové systémy koncové (end-to-end) šifrování většinou nemají důvod ani možnost používat. Brání zpracování informací a obecně používání funkcí aplikačního serveru. Framework AyMINE tuto možnost ale nabízí, navíc velmi dobře konfigurovatelnou.
Důvody pro koncové šifrování
Úniky dat jsou stále častější a stejně tak se zvyšují požadavky na jejich zabezpečení. Šifrování dat na serveru v takovém případě trochu pomáhá, ale jeho možnosti jsou omezené. Vždy je totiž na serveru i mechanismus pro jejich dešifrování. Pokud je zdatnější útočník (např. někdo z IT) a má více času (což např. hackeři, kteří se prolomí do infrastruktury mají), tak serverové šifrování obejdou. Koncové šifrování ale obejít nemohou.
Omezení koncového šifrování aneb proč se nepoužívá
Firemní systémy - a framework AyMINE je na takové systémy vytvářen - mají zpracování na aplikačních serverech. Pokud informace budou zašifrované, jejich zpracování to většinou znemožní.
Stejně tak databáze slouží k třídění, filtrování a vyhledávání v informacích, ale když jsou zašifrované, databáze se zpracováním nepomůže.
Inteligentní šifrování
Omezení daná šifrováním žádný framework nedostraní. Částečným řešením je inteligentní šifrování, které framework AyMINE implementuje. Co framework nabízí:
- Možnost nastavit, jaké informace se šifrují a jaké ne
- Pro různé skupiny informací nastavit šifrování různě
- Pracovat společně s šifrovanými a nešifrovanými daty. Díky tomu, že šifrování nevytrhává informace z kontextu a hromadného zpracování, je pohodlné a současně dává smysl jeho použití jen na ty informace, kde je to důležité
- Vytvářet různé skupiny lidí, kteří mohou informace sdílet
Kde je end-to-end šifrování použitelné a kde ne
Šifrování je ve frameworku určeno pro textové inforamce, které obsahují cenní firemní know-how, utajované plány, ale i hesla potřebná např. v případě havárie, nečekané absence správce apod.
Příklady použití koncového šifrování:
- Dokumentace k serverům pro pracovníky technické podpory (helpdesk)
- Požadavky na software, které obsahují utajované algorirmy
- Komunikace k novému produktu, o kterém ještě většina firmy neví
- Technická dokumentace k výrobkům a výrobním postupům
- Citlivé osobní údaje v personalistice
Kde se end-to-end použít nedá:
- Hodnoty, podle kterých potřebujete vyhledávat. Např. jména pracovníků
- Hodnoty, které systém generuje do reportů a tiskových výstupů. Např. rodná čísla, pokud systém generuje smlouvy
- Údaje, které vznikají přímo v systému. Ty může zašifrovat až uživatel na koncovém zařízení
Jak end-to-end šifrování ve frameworku funguje
Systém využívá šifrovací knihovny, které jsou v internetových prohlížečích, resp. přímo v operačním systému klientských zařízení. Data jsou dešifrována po jejich příchodu ze serveru a zašifrována při odesílání.
Pro šifrování se používají dlouhá hesla (řádově stovky znaků) a symetrické šifry, typicky AES-256 nebo AES-512. Symetrické šifry umožňují sdílení informací a jsou také odolné proti prolomení šifer kvantovými počítači.
Záznamy, která jsou šifrovány, jsou vkládány do datových trezorů. Každý záznam může být jen v jednom trezoru, protože každý trezor má vlastní heslo a šifrování. I po vložení do trezoru ale záznamy zůstávají uloženě ve stejné struktuře spolu s ostatními záznamy, takže se na ně dál vztahuje kontrola práv, organizacce dat i možnost je v omezené míře zpracovávat běžnými funkcemi. (Omezení je dáno tím, že funkce nesmí pracovat s texty, které jsou zašifrované.)
Co se šifruje
Framework podporuje obecně šifrování textových inforamcí. Z technických důvodů není možné šifrovat jiné než textové informace, protože i zašifrované údaje jsou ukládány do relační databáze, která kontroluje datové typy. Do pole pro datum není možné uložit datum zašifrované v řetězci znaků.
V rámci popisu objektu je možné stanovit několik úrovní šifrování. Každý datový trezor pak volí úroveň šifrování, kterou vyžaduje.
Proč úrovně šifrování
Více úrovní šifrování umožňuje uživatelům rozhodnout, jaký rozsah inforamcí je zašifrován a jaké funkce systém tím budou omezeny. Pokud jsou pro záznamy šifrovány např. i názvy, není možné podle názvu vyhledávat. Většinou je ale výhodné nechat naopak název nešifrovaný a šifrovat jenom textový obsah. Vyhledávání podle klíčových slov pak umožní hledat podle názvu.
Jak framework chrání hesla
Pro šifrování jsou použita dlouhá hesla, která uživatel nezná. Hesla jsou ukládána v datové peněžence, která je sama šifrována za pomoci hesla uživatele a dalších dat. Heslo musí uživatel zadat, aby mohl se zašifrovanými daty pracovat a heslo k peněžence se nikdy nikam neukládá ani se nikdy nepřenáší z koncového zařízení. Jeho bezpečnost je tak výhradně v režii uživatele.
Uživatel se ale nemusí bát, že by o přístupy přišel, když přijde o zařízení. Zašifrovaná peněženka s hesly k datovým trezorům je ukládána na serveru a je možné ji používat na všech zařízeních uživatele. Z koncového zařízení se ale vždy ukládá zašifrovaná, takže získání hesel na serveru není možné.
Technická dokumentace k šifrování
Dokumentaci k šifrování najdete zde (anglicky)
Pokud se rozhodnete využívat framework pro vývoj vlastních systémů, získáte kompletní popis řešení i zdrojové kódy.