Čo je zero-knowledge šifrovanie? Jednoduchý sprievodca
Zero-knowledge šifrovanie znamená, že poskytovateľ nemôže pristupovať k vašim dátam.
Šifrovanie s nulovými znalosťami je architektúra obmedzená na poskytovateľa, v ktorej služba nedrží kľúč potrebný na dešifrovanie uloženého používateľského obsahu. Na rozdiel od štandardného cloudového šifrovania, kde obsahový kľúč riadi poskytovateľ, môže šifrovanie na strane klienta zachovať túto schopnosť na používateľských zariadeniach. Právna žiadosť, porušenie alebo zasvätené osoby môžu stále odhaliť šifrovaný text, záznamy o účte, údaje o prevádzke alebo iné metadáta, ktoré poskytovateľ uchováva. Pokyny NIST pre správu kľúčov robia z úschovy kľúčov ústredný bod prístupu, ale klientska aplikácia, operačný systém a odomknuté zariadenie zostávajú súčasťou hranice dôvery.
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:
Odvodenie kľúča na zariadení. Používateľ poskytne poverenie, ako je heslo, prístupová fráza alebo vzor. Funkcia odvodenia kľúča založená na hesle ju kombinuje so soľou a vytvára kľúč na zariadení používateľa. Dobre oddelený dizajn môže použiť tento kľúč na odomknutie náhodného kľúča na šifrovanie obsahu namiesto šifrovania každého súboru priamo pomocou ľudského poverenia.
Š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ľ nedostane žiadny kľúč obsahu vo forme čistého textu. Kľúče obsahu nevyhnutne existujú v pamäti klienta počas používania a môžu byť tiež uložené lokálne alebo vzdialene vo vnútri overených šifrovaných obálok. Poskytovateľ môže ukladať šifrovaný text a zabalené kľúče bez toho, aby musel držať používateľské tajomstvo potrebné na ich otvorenie. Metadáta účtu, návštevnosti, veľkosti záznamu a časovania môžu zostať viditeľné.
Kritické obmedzenie: ak používateľ stratí všetky platné poverenia a cestu obnovy, šifrovaný obsah sa stane nedostupným. Obnova môže stále existovať, ale musí byť vysvetlená úschova kľúča. Ak samotný reset e-mailu obnoví čitateľný obsah bez schválenia starého zariadenia, frázy na obnovenie, kľúča na obnovenie alebo ekvivalentného tajomstva uchovávaného používateľom, poskytovateľ si zachoval efektívnu cestu späť k čistému textu.
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ý) |
| Šifrovanie typu end-to-end platformy | Klientske zariadenia a systém obnovy účtu | Nie cez bežnú servisnú cestu | Závisí od klienta, obnovy a vystavenia metadát | iCloud s rozšírenou ochranou údajov |
| Šifrovanie na strane klienta naslepo poskytovateľa | Klientom a používateľom riadená cesta obnovy | Žiadny kľúč obsahu vo forme čistého textu uchovávaný poskytovateľom | Obsah môže zostať šifrovaný; metadáta a šifrový text môžu stále unikať | Šifrovaný trezor a zálohovacie systémy |
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 zdrojov pre krádeže identity oznámilo v roku 2023 v Spojených štátoch 3 205 kompromitov údajov, ktoré postihli približne 353 miliónov jednotlivcov. Keď poskytovateľ vlastní kľúče obsahu, jedno porušenie môže odhaliť uložené údaje aj cestu na ich dešifrovanie. Šifrovanie naslepo od poskytovateľa oddeľuje tieto aktíva: narušenie servera môže stále odhaliť šifrovaný text a metadáta, ale nie obsahový kľúč otvoreného textu uchovávaný poskytovateľom. Hádanie poverení a kompromis klienta zostávajú samostatnými rizikami.
Právne donútenie je reálna hrozba
Poskytovatelia môžu byť požiadaní, aby zverejnili údaje, ktoré uchovávajú. Návrh naslepo poskytovateľa môže obmedziť túto odozvu na šifrovaný text a dostupné metadáta účtu, prevádzky, fakturácie alebo služby, pretože poskytovateľ nedrží kľúč obsahu otvoreného textu. Či môže iná strana získať poverenie používateľa, zneužiť klienta alebo vynútiť zverejnenie, je samostatná otázka. Apple predstavil Advanced Data Protection v r iOS 16.2 ako voliteľné rozšírenie end-to-end šifrovania pre iCloud údajov.
„Verte nám" nie je bezpečnostná architektúra
Šifrovanie na strane servera sa spolieha na kľúče a pravidlá riadené poskytovateľom. Šifrovanie zaslepené poskytovateľom mení úschovu kľúča, takže zdokumentovaná cesta k službe neobsahuje kľúč obsahu vo forme obyčajného textu. To je silnejšia architektonická hranica, ale jej sila stále závisí od správneho klientskeho kódu, dodania overeného softvéru, obnovy zvuku, bezpečných zariadení a implementácie, ktorá zodpovedá špecifikácii.
Štandard NIST za kryptografiou
AES-GCM bol štandardizovaný Národným inštitútom pre štandardy a technológie v r SP 800-38D (2007). Samotný AES bol vybraný NIST prostredníctvom verejnej súťaže v roku 2001. „256“ v AES-256 označuje 256-bitový kľúč. Vyčerpávajúce vyhľadávanie cez jednotne náhodný kľúč je výpočtovo neuskutočniteľné, ale ľudské heslo alebo vzor môže poskytnúť oveľa menšiu entropiu, aj keď funkcia odvodenia kľúča vydáva 256 bitov.
PBKDF2 (Funkcia odvodenia kľúča na základe hesla 2), špecifikovaná v RFC 8018, konvertuje poverenie poskytnuté človekom na kľúčový materiál s pevnou dĺžkou prostredníctvom opakovaných volaní pseudonáhodných funkcií. Viac iterácií zvyšuje cenu každého odhadu. Nepridávajú entropiu k predvídateľnému vzoru alebo heslu, takže na výbere poverení a offline overení stále záleží.
Ako Vaultaire implementuje oddelenie kľúča poskytovateľa
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.
Odvodenie kľúča. Používateľ nakreslí vzor na mriežku 5x5 s 25 bodkami. PBKDF2-HMAC-SHA512 kombinuje túto sekvenciu s jedným zariadením Keychain soľ pre 600 000 iterácií na odvodenie 256-bitového kľúča trezoru. Kľúč trezoru overuje zašifrovaný index a obalí samostatný náhodný 256-bitový hlavný kľúč. Informácie o obnove vrátane vzoru sú uložené v súbore AES-GCM zašifrované Keychain databázu namiesto súborov vo formáte obyčajného textu alebo účtu Vaultaire.
Šifrovanie súborov. Každý importovaný súbor je zašifrovaný pomocou AES-256-GCM pod náhodným hlavným kľúčom. CryptoKit vytvára overené zapečatené boxy s čerstvými nonce a streamingový formát odvodzuje zreteľný nonce pre každý objednaný kus.
Šifrovanie metadát. názvy súborov, MIME typy, dátumy, indexové záznamy a údaje miniatúr sú tiež chránené pomocou AES-256-GCM. Vaultaire nepoužíva ChaCha20 pre metadáta trezora.
Správa kľúčov. Vaultaire ukladá svoju soľ zariadenia a šifrovanú databázu obnovy ako obyčajnú iOS Keychain položky všeobecného hesla chránené pomocou WhenUnlockedThisDeviceOnly trieda prístupnosti. Kľúče trezora odvodené zo vzoru a náhodné hlavné kľúče sa spracúvajú v pamäti aplikácie CryptoKit. Uzamknutie zníži aktívny stav kľúča, ale Swift a iOS nepodporujú záruku, že každá prechodná kópia bude prepísaná.
Ako zistiť, či aplikácia skutočne používa zero-knowledge šifrovanie
Tri testy, ktoré zaberú menej ako minútu:
Test zabudnutia hesla. Ak samotný reset e-mailu obnoví čitateľné údaje, opýtajte sa, ktorý mechanizmus držaný poskytovateľom obnovil efektívny kľúč obsahu. Používateľské frázy na obnovenie, schválenie starého zariadenia a resetovanie riadené poskytovateľom sú rôzne návrhy.
Test nového zariadenia. Ak nové zariadenie obnoví čitateľný obsah, identifikujte tajné alebo dôveryhodné zariadenie, ktoré ho autorizovalo. Samotné prihlásenie účtu naznačuje cestu obnovy riadenú poskytovateľom; fráza obnovy plus šifrované záložné záznamy môžu zachovať oddelenie kľúča poskytovateľa.
Test účtu. E-mailová adresa alebo telefónne číslo spája identitu s metaúdajmi služby, ale sama o sebe nedokazuje, že poskytovateľ dokáže dešifrovať obsah. Skontrolujte hierarchiu kľúčov, návrh obnovy, klientsky kód alebo audit, politiku metadát a či overený šifrovaný text umožňuje offline kontroly poverení.
Tieto testy sú filtre, nie bezpečnostný dôkaz. Koherentná špecifikácia by mala pomenovať kľúč obsahu, kľúč na odomknutie, soli, parametre odvodenia, formát overeného šifrovania, pravidlá nonce, obálky na obnovenie, miestne tajné úložisko, metadáta v cloude a miesto, kde existujú kľúče otvoreného textu. Nezávislá recenzia je silnejším dôkazom ako označenie produktu.
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 údaje sa stanú trvalo nedostupnými, ak sa stratia všetky platné poverenia a obnovovacia obálka. Reset alebo hlavný kľúč riadený poskytovateľom by oslabili hranicu poskytovateľa, takže obnovenie musí byť navrhnuté samostatne. Vaultaire vygeneruje vlastnú frázu obsahujúcu 9 samostatných slov, ktorej odvodený obnovovací kľúč otvorí zašifrovanú obálku kľúča trezora. Fráza negeneruje ani nekóduje kľúč a obnova nového zariadenia tiež vyžaduje šifrovanie zhody CloudKit záznamy.
Môže polícia pristupovať k dátam šifrovaným pomocou zero-knowledge šifrovania?
Poskytovateľ môže musieť zverejniť uložený šifrovaný text a metadáta účtu, prevádzky, fakturácie alebo služby, ktoré uchováva. Bez kľúča obsahu vo forme čistého textu, ktorý vlastní poskytovateľ, nemôže tento poskytovateľ použiť svoju normálnu cestu služby na dešifrovanie obsahu. Zneužívanie zariadenia, zisťovanie poverení, obnovovacie kópie a vynútené zverejnenie sú samostatné cesty, ktorých zákonnosť a účinnosť sa líši podľa jurisdikcie a faktov.
Je zero-knowledge šifrovanie pomalšie ako bežné šifrovanie?
AES-256-GCM výkon nezávisí od toho, kto má kľúč. Odvodzovanie na základe hesla pridáva prácu počas odomykania a jeho trvanie závisí od algoritmu, počtu iterácií, zariadenia a implementácie. Aplikácie by mali merať tieto náklady na podporovaný hardvér a vyrovnávať rýchlosť odozvy s nákladmi na každý odhad offline.
Znamená zero-knowledge, že aplikácia vôbec nezbiera dáta?
Nie nevyhnutne. Tento výraz sa týka hranice obsahu a kľúča poskytovateľa, nie každého toku údajov. Aplikácia môže naďalej spracovávať údaje účtu, analýzy, správy o zlyhaní, adresy IP, veľkosti záznamov, načasovanie alebo iné metadáta služby. Vaultaire nevyžaduje žiadny účet identity a tvrdí, že jeho analýzy založené na súhlase vylučujú obsah trezora, vzory, frázy a dešifrovacie kľúče; jeho zásady ochrany osobných údajov popisuje aktuálne pravidlá zhromažďovania a uchovávania.
Ako sa zero-knowledge šifrovanie líši od Pokročilej ochrany dát Apple?
Pokročilá ochrana údajov spoločnosti Apple (ADP), predstavená v r iOS 16.2, rozširuje end-to-end šifrovanie na ďalšie iCloud kategórie a používa model obnovenia účtu Apple. Vaultaire v predvolenom nastavení uchováva obsah trezoru lokálny a nevyžaduje žiadny účet identity Vaultaire; voliteľné zálohovanie, synchronizácia a zdieľanie používajú šifrovanie na strane klienta CloudKit záznamy v účte Apple používateľa. Vaultaire tiež ponúka vzorovo oddelený prístup k trezoru a nátlakový režim, pričom limity ukladania a obnovy sú opísané v ňom hodnoverná dokumentácia.
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.
Šifrovanie s nulovými znalosťami sa najlepšie považuje za nárok na oddelenie kľúča od poskytovateľa: služba neuchováva kľúč otvoreného textu potrebný na dešifrovanie uloženého obsahu. To je silnejšie ako šifrovanie na strane servera pomocou kľúčov riadených poskytovateľom, ale nie je to tvrdenie, že kľúče existujú iba v pamäti, že metadáta zmiznú alebo že každý kompromis medzi klientom a zariadením je porazený. Posúďte produkt podľa jeho kľúčovej hierarchie, návrhu obnovy, implementácie a nezávislej kontroly.