Když si vybíráš správce hesel, narazíš na spoustu marketingových vět typu "vojenské šifrování" nebo "naprosto bezpečné". Znějí dobře, ale nic neříkají o tom, jak to reálně funguje. Zkusíme to popsat konkrétněji.
Kde se heslo šifruje
Tvoje hlavní heslo se nikdy neposílá na server v čitelné podobě. Přímo v prohlížeči, ještě předtím, než cokoliv opustí tvoje zařízení, se z něj pomocí funkce PBKDF2 (s velkým počtem opakování, aby to bylo pomalé i pro útočníka se silným počítačem) odvodí šifrovací klíč. Tímhle klíčem se šifruje obsah trezoru pomocí AES-256-GCM — to samé, co používají banky.
Co vidí server
Na náš server dorazí jen zašifrovaný blok dat. Ne heslo, ne šifrovací klíč, ne obsah trezoru v čitelné podobě. To je princip Zero-Knowledge — doslova "nulová znalost". I kdyby se někdo dostal do naší databáze (a věř mi, děláme hodně pro to, aby se to nestalo), uvidí jen nečitelnou hromadu bytů. Bez tvého hlavního hesla je to k ničemu.
Co to znamená v praxi
Znamená to, že ani my sami nemůžeme obnovit tvoje hlavní heslo, když ho zapomeneš. Zní to jako nevýhoda, ale je to přímý důsledek toho, že to heslo opravdu nikdy neznáme. Je to kompromis, který bereme vážně — proto aplikace tolikrát upozorňuje, ať si hlavní heslo bezpečně uložíš, a proč existují záložní obnovovací kódy jako pojistka.
Proč o tom píšeme takhle otevřeně
Protože slib "věřte nám" u správce hesel nestačí. Radši ti popíšeme přesně, co se děje, a necháme tě posoudit, jestli ti to dává smysl. Detailní technický popis máme i na stránce o šifrování, pokud chceš jít ještě hlouběji.