Čo je zero-knowledge šifrovanie? Jednoduchý sprievodca
Zero-knowledge šifrovanie znamená, že poskytovateľ nemôže pristupovať k vašim dátam.
Zero-knowledge šifrovanie je kryptografická architektúra, kde poskytovateľ služby nemôže pristupovať k dátam používateľa, pretože šifrovacie kľúče sú odvodené a uložené výhradne v zariadení používateľa a nikdy nie sú prenášané na servery poskytovateľa. Na rozdiel od štandardného cloudového šifrovania, kde poskytovateľ drží kľúče, zero-knowledge šifrovanie znamená, že ani súdnym príkazom, pri úniku dát alebo od nepoctivého zamestnanca poskytovateľ nemá čo odovzdať. Pokyny NIST pre správu kľúčov (SP 800-57) stanovujú princíp, že správa kľúčov určuje prístup k dátam — zero-knowledge šifrovanie dotahuje tento princíp do logického záveru.
Ako zero-knowledge šifrovanie funguje
Najjednoduchšia analógia: hotelový trezor, kde kombináciu nastavíte len vy a hotel ju nikdy nezistí. Ak kombináciu zabudnete, hotel za vás trezor neotvorí. To nie je chyba v návrhu. To je zámer návrhu.
V technických pojmoch zero-knowledge šifrovanie funguje v troch krokoch:
Derivácia kľúča v zariadení. Používateľ poskytne prihlasovacie údaje (heslo, prístupovú frázu alebo vzor). Funkcia na deriváciu kľúča (typicky PBKDF2 alebo Argon2) kombinuje tieto údaje s jedinečnou kryptografickou soľou a vytvorí šifrovací kľúč. Toto sa deje výhradne v zariadení používateľa.
Šifrovanie pred prenosom. Všetky dáta sú šifrované v zariadení pomocou odvodeného kľúča ešte pred tým, než opustia zariadenie pre cloudové úložisko alebo zálohu. Šifrovaný výstup (šifrovaný text) je to, čo sa nahrá.
Poskytovateľ nikdy nevidí kľúč. Šifrovací kľúč existuje iba v pamäti zariadenia pri aktívnom použití. Nikdy nie je prenášaný na servery poskytovateľa. Poskytovateľ ukladá šifrované bloky, ktoré sú nerozoznateľné od náhodných dát.
Zásadné obmedzenie: ak používateľ stratí prihlasovacie údaje a nemá žiadnu obnovovaciu frázu, dáta sú trvalo nedostupné. Neexistuje žiadny postup „zabudnuté heslo", ktorý by fungoval bez nezávisle uloženého obnovovacieho mechanizmu. Ak služba ponúka reset hesla cez e-mail a vaše dáta sa znovu objavia, táto služba zero-knowledge šifrovanie nepoužíva. Drží vaše kľúče.
Zero-knowledge šifrovanie vs. iné typy šifrovania
Pojem „šifrovanie" sa objavuje v marketingových materiáloch takmer každej cloudovej služby. Rozdiely medzi typmi sú podstatné.
| Typ | Kto drží kľúč | Poskytovateľ môže čítať dáta | Prežije únik dát poskytovateľa | Príklad |
|---|---|---|---|---|
| Bez šifrovania | Nie je | Áno | Nie | Dropbox (štandardná úroveň) |
| Šifrovanie pri prenose (TLS) | Poskytovateľ | Áno (v pokoji na ich serveroch) | Nie | Google Fotky |
| Šifrovanie v pokoji na strane servera | Poskytovateľ | Áno (drží dešifrovací kľúč) | Čiastočne | iCloud (štandardný) |
| E2E šifrovanie spravované poskytovateľom | Poskytovateľ generuje, používateľ ukladá | Technicky nie, ale poskytovateľ mal prístup pri generovaní kľúča | Čiastočne | iCloud Pokročilá ochrana dát |
| Zero-knowledge šifrovanie | Iba používateľ (odvodené v zariadení) | Nie. Matematicky nemožné. | Áno. Šifrované bloby sú bez kľúča používateľa na nič. | Signal, Proton Mail, Vaultaire |
Rozdiel medzi „šifrovaním v pokoji" a „zero-knowledge šifrovaním" je najčastejšie zamieňaný. Pri šifrovaní v pokoji poskytovateľ šifruje vaše dáta na svojich serveroch pomocou kľúčov, ktoré kontroluje. Toto chráni pred fyzickou krádežou serverového hardvéru. Nechráni pred čítaním vašich dát poskytovateľom, vládnym predvolaním pre dáta a kľúče alebo vnútornou hrozbou.
Pri zero-knowledge šifrovaní poskytovateľ dešifrovaciu schopnosť nikdy nemá. Šifrované dáta na jeho serveroch sú pre neho rovnako nepriehľadné ako pre akéhokoľvek vonkajšieho útočníka.
Prečo na zero-knowledge šifrovaní záleží
Úniky dát postihujú každoročne miliardy záznamov
Centrum pre ochranu identity ITRC zaznamenalo v roku 2023 v USA 3 205 kompromitácií dát, ktoré postihli približne 353 miliónov osôb. Keď je kompromitovaný poskytovateľ, ktorý drží šifrovacie kľúče, útočník potenciálne získa prístup ako k šifrovaným dátam, tak aj ku kľúčom na ich dešifrovanie. Zero-knowledge architektúra toto riziko úplne eliminuje. Kompromitovaný server obsahuje iba šifrovaný text, ktorého výpočtové prelomenie je nepraktické.
Právne donútenie je reálna hrozba
Vládne agentúry v rôznych jurisdikciách môžu poskytovateľa prinútiť odovzdať uložené dáta. Ak poskytovateľ drží šifrovacie kľúče, musí vyhovieť. Pri zero-knowledge architektúre je odpoveďou poskytovateľa na predvolanie šifrovaný blob, ktorý je bez prihlasovacích údajov používateľa na nič.
„Verte nám" nie je bezpečnostná architektúra
Štandardné šifrovanie sa spolieha na sľub poskytovateľa, že nepristúpi k vašim dátam. Zero-knowledge šifrovanie nahrádza tento sľub matematickou zárukou. Poskytovateľ nemôže pristupovať k dátam, ani keď chce, ani keď zamestnanec zradí, ani keď ho kúpi spoločnosť s inými hodnotami súkromia. Architektúra toto obmedzenie vynucuje.
Štandard NIST za kryptografiou
AES-256-GCM, šifra najčastejšie používaná v zero-knowledge implementáciách, bola štandardizovaná Národným inštitútom štandardov a technológií v SP 800-38D (2007). „256" sa týka dĺžky kľúča v bitoch — 256-bitový kľúč má 2^256 možných hodnôt, číslo tak veľké, že jeho prelomenie hrubou silou by vyžadovalo viac energie, ako slnko vyprodukuje za zostatok svojej existencie.
GCM (Galois/Counter Mode) pridáva overené šifrovanie, čo znamená, že dešifrovací proces odhalí akékoľvek manipulácie so šifrovaným textom. PBKDF2 (Password-Based Key Derivation Function 2), špecifikovaný v RFC 8018, prevádza ľudsky poskytnuté prihlasovacie údaje na kryptografický kľúč prostredníctvom opakovaného hashovania. Spustenie hashovacej funkcie stotisíckrát robí každý pokus o uhádnutie hesla výpočtovo nákladným.
Ako Vaultaire implementuje zero-knowledge šifrovanie
Vaultaire je trezorová aplikácia pre iPhone postavená na zero-knowledge architektúre. Tu je popis implementácie na každej vrstve.
Derivácia kľúča. Používateľ nakreslí vzor na mriežke 5x5 s 25 bodmi. Sekvencia bodov v poradí je spracovaná cez PBKDF2 s HMAC-SHA512 a jedinečnou kryptografickou soľou špecifickou pre každý trezor. Výsledkom je 256-bitový šifrovací kľúč AES. Vzor nie je nikdy uložený v zariadení. Nie ako hash, nie ako reprezentácia, nie v žiadnej podobe.
Šifrovanie súborov. Každý importovaný súbor je šifrovaný pomocou AES-256-GCM s odvodeným kľúčom a náhodne generovaným inicializačným vektorom (IV) jedinečným pre daný súbor. Identické súbory produkujú rôzny šifrovaný text, pretože IV sa líši.
Šifrovanie metadát. Názvy súborov, dátumy vytvorenia a dáta náhľadov sú šifrované oddelene pomocou ChaCha20, inej šifry, ktorá poskytuje kryptografickú diverzitu.
Správa kľúčov. Apple Secure Enclave ukladá kľúčový materiál vo vyhradenom hardvérovom koprocesore s vlastnou šifrovanou pamäťou. Kľúče sú vymazané z pamäte aplikácie, keď sa Vaultaire zavrie alebo používateľ prepne inam.
Žiadny register trezorov. Neexistuje žiadna databáza so zoznamom trezorov, žiadny počet, žiadne názvy. Každý vzor otvára iný trezor. Aplikácia sama nemôže zistiť, koľko trezorov existuje. Prečítajte si celú bezpečnostnú architektúru a vysvetlenie šifrovania vzorom.
Ako zistiť, či aplikácia skutočne používa zero-knowledge šifrovanie
Tri testy, ktoré zaberú menej ako minútu:
Test zabudnutého hesla. Ak aplikácia dokáže resetovať vaše heslo cez e-mail a vaše dáta sa znovu objavia, aplikácia drží vaše šifrovacie kľúče. Nie je zero-knowledge.
Test nového zariadenia. Ak sa prihlásite na novom zariadení a vaše dáta sa zobrazia bez prenosu kľúčov zo starého zariadenia alebo zadania obnovovacej frázy, server má vaše kľúče. Nie je zero-knowledge.
Test účtu. Ak aplikácia vyžaduje e-mailovú adresu alebo telefónne číslo, poskytovateľ má prepojenie medzi vašou identitou a vašimi dátami.
Aplikácie, ktoré prejdú všetkými tromi testami: Signal, Proton Mail, Standard Notes, Vaultaire. Aplikácie, ktoré zlyhajú aspoň v jednom: väčšina cloudových úložných služieb, väčšina „trezorových" aplikácií v App Store.
Najčastejšie otázky
Je zero-knowledge šifrovanie totožné s end-to-end šifrovaním?
Prekrývajú sa, ale nie sú totožné. End-to-end šifrovanie (E2EE) znamená, že dáta sú šifrované v zariadení odosielateľa a dešifrované iba v zariadení príjemcu. Zero-knowledge šifrovanie znamená, že poskytovateľ nemôže pristupovať k dátam. Služba môže byť end-to-end šifrovaná bez toho, aby bola zero-knowledge, ak poskytovateľ kľúče vygeneroval alebo k nim mal prístup v nejakom okamihu. Zero-knowledge šifrovanie je prísnejší štandard.
Čo sa stane, ak stratím heslo pri zero-knowledge šifrovaní?
Vaše dáta sa stanú trvalo nedostupnými. Neexistuje žiadny hlavný kľúč, žiadne zadné dvierka a žiadny proces obnovy, ktorý by fungoval bez samostatne uloženej obnovovacej frázy. Toto je základný kompromis: absolútne súkromie vyžaduje absolútnu zodpovednosť. Niektoré zero-knowledge aplikácie (vrátane Vaultaire) generujú obnovovaciu frázu pri vytvorení trezoru, ktorá môže obnoviť šifrovací kľúč v prípade straty primárnych prihlasovacích údajov.
Môže polícia pristupovať k dátam šifrovaným pomocou zero-knowledge šifrovania?
Orgány môžu poskytovateľa prinútiť odovzdať uložené dáta. Pri zero-knowledge šifrovaní sú dáta, ktoré poskytovateľ odovzdá, šifrovaným blobom, ktorý je bez kľúča používateľa na nič. Či môžu orgány prinútiť používateľa poskytnúť kľúč, je samostatná právna otázka závisiacá od jurisdikcie.
Je zero-knowledge šifrovanie pomalšie ako bežné šifrovanie?
Šifrovacie a dešifrovacie operácie sú identické. AES-256-GCM beží rovnakou rýchlosťou bez ohľadu na to, kto drží kľúč. Jediné pridané náklady sú derivácia kľúča: spustenie PBKDF2 so stovkami tisíc iterácií trvá približne 0,5-2 sekundy na modernom iPhone. Toto sa deje raz pri odomknutí trezoru, nie pre každý súbor. V praxi používatelia rozdiel v rýchlosti nepozorujú.
Znamená zero-knowledge, že aplikácia vôbec nezbiera dáta?
Nie nevyhnutne. Zero-knowledge sa špecificky týka šifrovacej architektúry. Poskytovateľ nemôže pristupovať k šifrovanému obsahu. Aplikácia môže stále zbierať anonymnú analytiku, hlásenia o pádoch alebo metadáta o používaní, ak s tým používateľ súhlasí. Čo nemôže zbierať, je obsah šifrovaných súborov, šifrovací kľúč alebo prihlasovacie údaje použité na jeho odvodenie. Zásady ochrany súkromia Vaultaire opisujú presne, aké voliteľné dáta sú zbierané so súhlasom používateľa.
Ako sa zero-knowledge šifrovanie líši od Pokročilej ochrany dát Apple?
Pokročilá ochrana dát Apple (APD), zavedená v iOS 16.2, rozširuje end-to-end šifrovanie na väčšinu kategórií dát iCloud. S aktivovanou APD nemôže Apple pristupovať k chráneným dátam. Kľúčové rozdiely od dedikovanej zero-knowledge aplikácie: APD je opt-in (predvolene vypnuté), vyžaduje Apple ID a chráni dáta iba v ekosystéme Apple. Zero-knowledge trezorová aplikácia ako Vaultaire funguje nezávisle od infraštruktúry Apple, nevyžaduje účet a pridáva funkcie ako vierohodné poprenie a núdzový režim, ktoré APD neposkytuje.
Záver
Zero-knowledge šifrovanie je architektúra, kde poskytovateľ matematicky nemôže pristupovať k dátam používateľa, pretože šifrovacie kľúče nikdy neopustia zariadenie používateľa. Líši sa od štandardného šifrovania, šifrovania v pokoji a dokonca niektorých foriem end-to-end šifrovania v jednej zásadnej veci: neschopnosť poskytovateľa pristupovať k dátam je vynucovaná matematikou, nie zásadami. Kompromis — strata kľúča znamená stratu dát — nie je chyba. Je to mechanizmus, ktorý záruku robí skutočnou.