Životní cyklus klíčů
Tento dokument popisuje, jak v GrataQ kryptografické klíče vznikají, kde žijí a jak zanikají: generování na zařízení, uložení, rotace, záloha a obnova, ztráta nebo kompromitace, ověření identity protistranou i smazání účtu. Je určen pro DPO, CISO a auditní tým instituce.
Legenda štítků
Funkce v tomto dokumentu jsou označeny podle stavu. Nasazeno znamená, že je funkce součástí aktuálního produktu a v provozu. Roadmapa označuje plánované rozšíření, které zatím není k dispozici. Bez štítku jsou popsány vlastnosti, které jsou inherentní celému návrhu.
1. Dva druhy klíčů
GrataQ pracuje se dvěma odlišnými druhy kryptografického materiálu, které mají různý účel i životnost:
- Identita — dlouhodobý klíčový pár
ML-DSA-65(digitální podpisy). Reprezentuje příjemce v systému a trvá po celou dobu existence účtu. - Pre-keys — jednorázové klíčové páry
ML-KEM-768(zapouzdření klíčů) sloužící k zašifrování jednotlivých souborů. Každý se použije právě jednou.
| Klíč | Algoritmus | Účel | Životnost |
|---|---|---|---|
| Identita | ML-DSA-65 (FIPS 204) |
Identita příjemce, podpisy, autentizace k serveru | Trvalá — do smazání účtu |
| Pre-key | ML-KEM-768 (FIPS 203) |
Šifrování jednoho konkrétního souboru | Jednorázová — smaže se po použití |
Symetrické šifrování samotného obsahu probíhá pomocí AES-256-GCM. Všechny algoritmy odpovídají NIST Level 3 (kvantově odolná kryptografie).
2. Identita příjemce
Klíčový pár ML-DSA-65 vzniká na zařízení uživatele v okamžiku založení účtu. Privátní klíč zařízení nikdy neopouští v čitelné podobě — na server odchází pouze veřejná část.
Identifikátor účtu (ID) je otisk SHA-256 veřejného ML-DSA klíče. Je tedy odvozený z klíče, nikoli volený uživatelem — uživatel si jej nemůže vybrat ani vymyslet, vzniká deterministicky z kryptografické identity.
Autentizace k serveru nepoužívá heslo ani OAuth. Probíhá protokolem challenge-response: server pošle náhodný nonce, klient ho podepíše svým privátním ML-DSA klíčem a server podpis ověří proti uloženému veřejnému klíči. Privátní klíč při tom zařízení neopouští.
- Veřejný klíč → uložen na serveru, slouží ostatním k bezpečnému odeslání souboru.
- Privátní klíč → zůstává u uživatele na zařízení.
- ID účtu →
SHA-256(veřejný ML-DSA klíč), odvozený a neměnný pro danou identitu.
3. Pre-keys a per-file forward secrecy
Při registraci aplikace vygeneruje 100 jednorázových ML-KEM pre-keys. Veřejné části každého pre-key jsou podepsány identitou příjemce (ML-DSA) a nahrány na server; privátní části zůstávají na zařízení.
Proces odeslání jednoho souboru:
- Odesílatel si vyžádá jeden pre-key příjemce.
- Provede operaci Encapsulate nad veřejnou částí pre-key → vznikne unikátní sdílené tajemství.
- Z tajemství se odvodí unikátní
AES-256klíč pro tento jeden soubor, kterým se obsah zašifruje. - Po použití se daný pre-key smaže a už nikdy se znovu nepoužije.
Aplikace si zásobu pre-keys automaticky doplňuje: jakmile jich zbývá méně než 20, dogeneruje další dávku.
1 soubor = 1 klíč
Každý soubor je chráněn vlastním, jednorázovým klíčem. Případné prozrazení klíče k jednomu souboru proto neohrozí žádný jiný soubor. Toto je podstata per-file forward secrecy.
4. Kde klíče žijí
Rozdělení mezi zařízení a server je zásadní pro posouzení rizika:
- Na zařízení příjemce: privátní klíč identity (ML-DSA) a privátní části všech pre-keys (ML-KEM).
- Na serveru: pouze veřejný klíč identity, veřejné části pre-keys a jejich ML-DSA podpisy.
Server nemá žádný privátní klíč
Server vystupuje jako prostředník, který přeposílá podepsané veřejné pre-keys a šifrované bloby. Nedrží žádný privátní klíč a nedokáže obsah dešifrovat. Co server skutečně ukládá, podrobně rozebírá dokument Co server ukládá a loguje.
5. Záloha a obnova Nasazeno
Uživatel si může svou identitu zazálohovat a později ji obnovit na jiném (např. novém) zařízení. Záloha má podobu šifrovaného balíčku chráněného uživatelovým tajemstvím, který drží sám uživatel — nikoli server.
Protože server privátní klíč identity nikdy nemá, platí přímý důsledek:
Bez zálohy nelze ztracenou identitu obnovit
Pokud uživatel přijde o zařízení a nemá zálohu, identitu nelze obnovit — server klíč nedrží a nemůže ho nikomu vydat. Pravidelná záloha identity je proto u institucí provozní povinností.
6. Ztráta nebo kompromitace zařízení
Návrh počítá s několika scénáři:
- Ztráta bez zálohy — přístup k budoucím souborům odeslaným na původní identitu zaniká, protože privátní klíč je nenávratně pryč. Řešením je založení nové identity (nového účtu / nového ID) a rozeslání nového přijímacího odkazu protistranám.
- Obnova ze zálohy — pokud uživatel zálohu má, obnoví na novém zařízení tutéž identitu (stejné ID) ze šifrované zálohy a pokračuje bez přerušení.
- Podezření na kompromitaci — doporučeným postupem je založit novou identitu a tu si nechat znovu ověřit u protistran (viz ověření identity níže), aby protistrany přestaly důvěřovat původnímu, potenciálně kompromitovanému ID.
Více zařízení se sdílenou identitou (tatáž identita aktivní na více zařízeních současně) je plánované rozšíření. Roadmapa
7. Ověření identity protistranou
Aby si odesílatel mohl být jistý, komu soubor posílá, nabízí GrataQ nezávislé modely ověření identity příjemce:
- Model A — Fingerprint Nasazeno — protistrana porovná otisk
SHA-256veřejného klíče jiným kanálem (out-of-band), např. naskenováním QR kódu při osobním setkání nebo přečtením otisku po telefonu. Bezpečnost nestojí na utajení otisku, ale na tom, že přichází jinou cestou než klíč ze serveru. - Model B — Ověřená doména Nasazeno — instituce naváže svou identitu na vlastní doménu (kontrola přes DNS). Odesílatel pak na upload stránce vidí označení „Ověřená doména". Tento model je otestován v reálném provozu.
- Další nezávislé vrstvy Roadmapa — kombinace DNSSEC + DNS TXT a veřejný transparency log (Sigstore Rekor), které přidají další nezávislé kotvy důvěry.
8. Rotace klíčů
Rotace probíhá u každého druhu klíče jinak:
- Pre-keys se „rotují" přirozeně už ze své podstaty — jsou jednorázové, po každém použití se mažou a zásoba se automaticky doplňuje. Žádné dva soubory nesdílejí klíč.
- Identita je dlouhodobá. „Mění se" tak, že uživatel založí novou identitu (nové ID) — typicky po ztrátě zařízení nebo při podezření na kompromitaci. Protistrany si pak novou identitu ověří znovu.
Automatická periodická rotace identity není součástí produktu — identita zůstává stabilní, dokud ji uživatel sám nezmění založením nové.
9. Smazání účtu Nasazeno
Při smazání účtu dojde k následujícímu:
- Na serveru se odstraní veřejný klíč identity, všechny pre-keys a data účtu.
- Privátní klíč na zařízení smaže uživatel — server k němu nikdy neměl přístup, takže ho ani nemůže odstranit za uživatele.
Po smazání už na dané ID nelze přijímat soubory a identitu nelze obnovit, pokud si ji uživatel předem nezazálohoval.
Související dokumenty:
- Whitepaper — kompletní technický a kryptografický popis systému.
- Model hrozeb — co GrataQ chrání, proti čemu a za jakých předpokladů.
- Co server ukládá a loguje — přesný rozsah dat na straně serveru.