Když si vytvoříte účet u služby soukromých zpráv, obvykle si zvolíte heslo. Potud normální. Co není tak normální, je to, co se děje pod povrchem.
U většiny služeb je vaše heslo klíčem ke všemu. Pokud ho ztratíte, ztratíte přístup. Pokud je ukradeno, ztratíte vše. Svou identitu, zprávy, soubory. Vše závisí na jedné věci, kterou jste napsali na klávesnici jednoho úterního odpoledne.
24 slov funguje jinak. Nejde o heslo, které si zvolíte. Je to klíč, který systém vygeneruje náhodně, s 256 bity skutečné entropie. Pro představu: prolomit tento klíč hrubou silou by vyžadovalo více energie, než slunce vyprodukuje za celý svůj život. To není metafora. Je to matematický výpočet.
Dva klíče ke dvěma dveřím
Vaše heslo vás připojuje ke službě. Je to klíč od předních dveří. Pokud ho zapomenete, můžete vstoupit zadními dveřmi pomocí svých 24 slov. Pokud je vaše heslo ukradeno, můžete ho okamžitě změnit, aniž by se cokoli jiného změnilo.
Vašich 24 slov je něco jiného. Jsou reprezentací vašeho hlavního klíče. Klíče, ze kterého je odvozena vaše kryptografická identita, který chrání vaše data, který vás identifikuje před vašimi kontakty. Pokud ztratíte 24 slov i heslo, vaše data jsou nevratně ztracena. Jako u Bitcoinu. A to, i když to zní tvrdě, je přesně to, co od bezpečného systému chcete.
Protože alternativou je, že někdo může obnovit vaše data za vás. A pokud někdo může obnovit vaše data, může k nim také přistupovat.
Papír je důležitý
Zapište si svých 24 slov na papír. Skutečný papír, staromódní. Uložte ho na bezpečné místo. Ne v telefonu, ne v digitální poznámce, ne v emailu sobě samému. Papír v šuplíku, v trezoru, nebo tam, kde uchováváte věci, na kterých záleží.
Může to vypadat zastarale. Ale papír nelze hacknout na dálku, nelze zachytit přes internet a nepotřebuje baterii. Někdy je nejstarší technologie ta nejbezpečnější.
Pro ty, kteří chtějí jít hlouběji
24 slov sleduje standard BIP39, používaný bitcoinovými peněženkami. Představují 256 bitů entropie generovaných CSPRNG operačního systému (crypto.getRandomValues). Z těchto 256 bitů je odvozen klíč identity (Ed25519 pro podpis + X25519 pro výměnu klíčů) pomocí HKDF-SHA256 se separací domén. Heslo obalí tento klíč pomocí Argon2id + AES-256-GCM před odesláním na server. Server uchovává šifrovaný blob, ale nemůže ho přečíst.