Šifrovanie uložených dát — trezor hesiel, zálohy a AES-256

Citlivé údaje ako heslá k schránkam, prístupové kľúče či zálohy prihlásenia ukladáme a prenášame zašifrované AES-256-GCM, ktoré je odolné aj voči kvantovým počítačom.

Po ľudsky

Šifrovanie „na ceste“ (HTTPS) chráni dáta, kým idú sieťou. Rovnako dôležité je, ako ležia uložené. Heslá k e-mailovým schránkam, FTP serverom či prístupové kľúče k službám preto neukladáme ako čitateľný text, ale zamknuté v trezore. Kľúč od trezoru leží inde než samotné dáta — ako keď banka drží kľúč od schránky oddelene od schránok. Keby sa niekto dostal k databáze, uvidí len nečitateľné znaky. Používame AES-256, symetrickú šifru, ktorá podľa súčasných poznatkov odolá aj budúcim kvantovým počítačom.

Technicky

AES-256-GCM — blokovú šifru AES (FIPS 197) s 256-bitovým kľúčom používame v režime GCM (NIST SP 800-38D). GCM šifruje a zároveň overuje integritu: ak niekto v zašifrovaných dátach zmení čo i len jeden bit, dešifrovanie zlyhá namiesto toho, aby vrátilo pozmenené dáta. Pre každé šifrovanie sa generuje nový náhodný 96-bitový inicializačný vektor (nonce).

Prečo je 256-bit AES odolný aj voči kvantovým počítačom: kvantový počítač ohrozuje najmä asymetrické algoritmy (RSA, eliptické krivky) Shorovým algoritmom. Na symetrické šifry je najlepší známy kvantový útok Groverov algoritmus, ktorý hľadanie kľúča zrýchli „len“ kvadraticky — 256-bitový kľúč tak oslabí približne na úroveň 128 bitov, čo sa považuje za dostatočné aj do budúcnosti.

Odvodenie kľúča z hesla (PBKDF2) — keď má dáta chrániť heslo, ktoré si človek pamätá, nepoužije sa priamo. PBKDF2-HMAC-SHA256 (RFC 8018, NIST SP 800-132) z neho so soľou odvodí kľúč cez státisíce opakovaní, takže každý pokus o uhádnutie hesla je pre útočníka drahý.

Hybridné post-kvantové zapuzdrenie kľúča — pri prenose medzi zariadeniami, kde si kľúč nemôžu vopred dohodnúť, sa použije asymetrická výmena. Kombinujeme ML-KEM-768 (NIST FIPS 203) a X25519 (RFC 7748); obe zdieľané tajomstvá prejdú funkciou HKDF-SHA-256 (RFC 5869) a výsledný kľúč šifruje dáta cez AES-256-GCM.

Ako to máme my

Trezor v Module — heslá a prístupové údaje k externým službám (e-mailové schránky IMAP/SMTP, pripojenia pre Veredariu a Veredar, prístupy k integráciám, obnovovacie tokeny Google a ďalšie) sú v databáze uložené zašifrované AES-256-GCM. Kľúč trezoru nie je v databáze — je to tajomstvo prostredia, ku ktorému má prístup len bežiaca aplikácia. Z databázy samotnej (napríklad zo zálohy alebo exportu) sa tieto údaje prečítať nedajú.

Záloha pripojení vo Veredarii — pripojenia sa dajú uložiť do súboru. Heslá sa do zálohy zapíšu len ak si to zvolíte, a vtedy výhradne zašifrované heslom zálohy: PBKDF2-SHA256 (310 000 opakovaní) → AES-256-GCM. Bez hesla zálohy obsahuje súbor len zoznam pripojení bez hesiel.

Synchronizácia profilu Veredaru — šifruje sa koncovo priamo v zariadení: z hlavného hesla sa odvodí kľúč (PBKDF2-HMAC-SHA256, 600 000 opakovaní), profil sa zašifruje AES-256-GCM a na server ide len šifrovaný balík. Šifrovací kľúč zariadenie nikdy neopustí; server si drží len odtlačok overovacieho údaja, nie heslo. Heslá k schránkam sa nesynchronizujú vôbec.

Heslá v aplikáciách na zariadení — Veredar aj Veredaria ukladajú heslá do systémového trezoru (Kľúčenka na Apple zariadeniach, Správca poverení vo Windows, Secret Service v Linuxe), nie do vlastných súborov.

Prenos prihlásenia medzi tabletmi Kioskbase (Android, od verzie 1.25.0) — pri výmene tabletu za nový sa uložené prihlásenia prenesú koncovo a post-kvantovo:

  1. nový tablet vytvorí pár kľúčov ML-KEM-768 a X25519 a ukáže šesťmiestny kód,
  2. starý tablet po zadaní kódu z oboch verejných kľúčov odvodí spoločné tajomstvo (HKDF-SHA-256) a zálohu zašifruje AES-256-GCM,
  3. server prenáša len šifrovaný balík, ktorý sám otvoriť nevie; balík platí 10 minút a prenos je možný len medzi tabletmi toho istého zákazníka.

Záložné kódy dvojfázového overenia, tokeny zariadení a odkazy na obnovu hesla sa neukladajú zašifrované, ale ako jednosmerný odtlačok (SHA-256) — pozri článok o tokenoch a kľúčoch zariadení.

Časté otázky

Ak niekto ukradne databázu, získa heslá k našim schránkam?

Nie priamo. Heslá sú v nej zašifrované AES-256-GCM a kľúč od trezoru v databáze nie je.

Vidí prevádzkovateľ synchronizačného servera Veredaru môj profil?

Nie. Profil sa šifruje ešte vo vašom zariadení kľúčom odvodeným z hlavného hesla a server dostane len nečitateľný balík. Preto si hlavné heslo dobre zapamätajte — bez neho sa synchronizovaný profil obnoviť nedá.

Je AES-256 „post-kvantové“?

AES-256 nie je nový post-kvantový algoritmus, ale podľa súčasných poznatkov kvantovým počítačom odolá: najlepší známy kvantový útok ho oslabí približne na úroveň 128 bitov, čo sa považuje za bezpečné.

Musím pri zálohe Veredarie zadávať heslo?

Len ak chcete zálohovať aj heslá. Bez hesla zálohy sa uloží len zoznam pripojení a heslá sa do súboru nezapíšu.

Všetky články školenia