Co je zero-knowledge šifrování? Jednoduchý průvodce
Zero-knowledge šifrování znamená, že poskytovatel nemůže přistupovat k vašim datům.
Šifrování s nulovými znalostmi je architektura omezená na poskytovatele, ve které služba neuchovává klíč potřebný k dešifrování uloženého uživatelského obsahu. Na rozdíl od standardního cloudového šifrování, kde klíč obsahu řídí poskytovatel, může šifrování na straně klienta zachovat tuto schopnost na uživatelských zařízeních. Právní požadavek, porušení nebo zasvěcená osoba mohou stále odhalit šifrovaný text, záznamy o účtu, provozní údaje nebo jiná metadata, která poskytovatel uchovává. Pokyny pro správu klíčů NIST činí úschovu klíčů ústředním bodem přístupu, ale klientská aplikace, operační systém a odemčené zařízení zůstávají součástí hranice důvěry.
Jak zero-knowledge šifrování funguje
Nejjednodušší analogie: hotelový trezor, kde kombinaci nastavíte jen vy a hotel ji nikdy nezjistí. Pokud kombinaci zapomenete, hotel za vás trezor neotevře. To není chyba v návrhu. To je záměr návrhu.
V technických pojmech zero-knowledge šifrování funguje ve třech krocích:
Odvození klíče na zařízení. Uživatel poskytne pověření, jako je heslo, přístupová fráze nebo vzor. Funkce odvození klíče na základě hesla jej kombinuje se solí a vytváří klíč na zařízení uživatele. Dobře oddělený design může tento klíč použít k odemknutí náhodného klíče pro šifrování obsahu namísto šifrování každého souboru přímo pomocí lidského pověření.
Šifrování před přenosem. Veškerá data jsou šifrována v zařízení pomocí odvozeného klíče ještě před tím, než opustí zařízení pro cloudové úložiště nebo zálohu. Šifrovaný výstup (šifrový text) je to, co se nahraje.
Poskytovatel neobdrží žádný klíč obsahu ve formátu prostého textu. Klíče obsahu nutně existují v paměti klienta během používání a mohou být také uloženy lokálně nebo vzdáleně uvnitř ověřených šifrovaných obálek. Poskytovatel může ukládat šifrovaný text a zabalené klíče, aniž by držel uživatelské tajemství potřebné k jejich otevření. Metadata účtu, provozu, velikosti záznamu a načasování mohou zůstat viditelná.
Kritické omezení: pokud uživatel ztratí všechna platná pověření a cestu k obnově, šifrovaný obsah se stane nepřístupným. Obnova může stále existovat, ale musí být vysvětlena její úschova klíčů. Pokud samotný reset e-mailu obnoví čitelný obsah bez schválení starého zařízení, fráze pro obnovení, klíče pro obnovení nebo ekvivalentního tajemství drženého uživatelem, poskytovatel si ponechal účinnou cestu zpět k prostému textu.
Zero-knowledge šifrování vs. jiné typy šifrování
Termín "šifrování" se objevuje v marketingových materiálech téměř každé cloudové služby. Rozdíly mezi typy jsou podstatné.
| Typ | Kdo drží klíč | Poskytovatel může číst data | Přežije únik dat poskytovatele | Příklad |
|---|---|---|---|---|
| Bez šifrování | Není | Ano | Ne | Dropbox (standardní úroveň) |
| Šifrování při přenosu (TLS) | Poskytovatel | Ano (v klidu na jejich serverech) | Ne | Google Fotky |
| Šifrování v klidu na straně serveru | Poskytovatel | Ano (drží dešifrovací klíč) | Částečně (závisí na rozsahu úniku) | iCloud (standardní) |
| Šifrování typu end-to-end platformy | Klientská zařízení a systém obnovení účtu | Ne přes normální servisní cestu | Závisí na klientovi, obnově a vystavení metadat | iCloud s pokročilou ochranou dat |
| Šifrování na straně klienta zaslepené poskytovatelem | Cesta obnovy řízená klientem a uživatelem | Žádný klíč obsahu ve formátu prostého textu držený poskytovatelem | Obsah může zůstat šifrovaný; metadata a šifrový text mohou stále unikat | Šifrovaný trezor a zálohovací systémy |
Rozdíl mezi "šifrováním v klidu" a "zero-knowledge šifrováním" je nejčastěji zaměňovaný. Při šifrování v klidu poskytovatel šifruje vaše data na svých serverech pomocí klíčů, které kontroluje. To chrání před fyzickou krádeží serverového hardware. Nechrání před čtením vašich dat poskytovatelem, vládním předvoláním pro data a klíče nebo vnitřní hrozbou. Poskytovatel má dešifrovací schopnost.
S šifrováním na straně klienta zaslepeným poskytovatelem není službě prostřednictvím zdokumentovaného protokolu přidělen klíč obsahu ve formátu prostého textu. Uložený šifrovaný text může zůstat pro daného poskytovatele neprůhledný, zatímco klientský software, cesta pro obnovení, metadata účtu a kanál pro doručování softwaru stále vyžadují důvěru a kontrolu.
Proč na zero-knowledge šifrování záleží
Úniky dat postihují každoročně miliardy záznamů
Středisko zdrojů pro krádež identity oznámilo v roce 2023 ve Spojených státech 3 205 kompromitací dat, které postihly přibližně 353 milionů jednotlivců. Když poskytovatel drží klíče obsahu, jedno porušení může odhalit uložená data i cestu k jejich dešifrování. Šifrování naslepo poskytovatele odděluje tato aktiva: narušení serveru může stále odhalit šifrovaný text a metadata, ale ne obsahový klíč prostého textu držený poskytovatelem. Hádání pověření a kompromitace klienta zůstávají samostatnými riziky.
Právní donucení je reálná hrozba
Poskytovatelé mohou být požádáni, aby zveřejnili údaje, které uchovávají. Návrh naslepo poskytovatele může omezit tuto odpověď na šifrovaný text a dostupná metadata účtu, provozu, fakturace nebo služby, protože poskytovatel nemá obsahový klíč ve formátu prostého textu. Zda může jiná strana získat pověření uživatele, zneužít klienta nebo vynutit zveřejnění, je samostatná otázka. Apple představil Advanced Data Protection v iOS 16.2 jako volitelné rozšíření end-to-end šifrování pro iCloud dat.
"Věřte nám" není bezpečnostní architektura
Šifrování na straně serveru závisí na klíčích a zásadách řízených poskytovatelem. Šifrování naslepo poskytovatele mění úschovu klíčů, takže zdokumentovaná cesta ke službě postrádá klíč obsahu ve formátu prostého textu. To je silnější architektonická hranice, ale její síla stále závisí na správném klientském kódu, autentizovaném dodání softwaru, obnově zvuku, zabezpečených zařízeních a implementaci, která odpovídá specifikaci.
Standard NIST za kryptografií
AES-GCM byla standardizována Národním institutem pro standardy a technologie v r SP 800-38D (2007). Samotný AES byl vybrán NIST prostřednictvím veřejné soutěže v roce 2001. „256“ in AES-256 odkazuje na 256bitový klíč. Vyčerpávající vyhledávání přes jednotně náhodný klíč je výpočetně neproveditelné, ale lidské heslo nebo vzor může poskytnout mnohem menší entropii, i když funkce odvozování klíče vydává 256 bitů.
GCM (Galois/Counter Mode) přidává autentizované šifrování, což znamená, že dešifrovací proces odhalí jakékoli manipulace se šifrovým textem. Pokud je jediný bit šifrovaných dat pozměněn, dešifrování selže namísto vytvoření poškozeného výstupu. To zabrání útočníkům manipulovat se šifrovanými daty bez odhalení.
PBKDF2 (Funkce odvození klíče na základě hesla 2), specifikovaná v RFC 8018, převádí pověření poskytnuté člověkem na klíčový materiál pevné délky prostřednictvím opakovaných volání pseudonáhodných funkcí. Více iterací zvyšuje cenu každého odhadu. Nepřidávají entropii k předvídatelnému vzoru nebo heslu, takže na výběru pověření a offline ověřování stále záleží.
Jak Vaultaire implementuje oddělení klíče poskytovatele
Vaultaire je na straně klienta šifrovaný trezor pro iPhone. Ve smyslu produktu, který je často uváděn na trh jako „nulové znalosti“, jeho užším zdokumentovaným tvrzením je, že Wraxle nepřijímá obsah trezoru v prostém textu ani klíče potřebné k jeho dešifrování. Zde je návod, jak implementace a zbývající hranice důvěry fungují na každé vrstvě.
Odvození klíče. Uživatel nakreslí vzor na mřížku 5x5 s 25 body. PBKDF2-HMAC-SHA512 kombinuje tuto sekvenci s jedním zařízením pro celé zařízení Keychain salt pro 600 000 iterací k odvození 256bitového klíče trezoru. Klíč trezoru ověřuje šifrovaný index a obaluje samostatný náhodný 256bitový hlavní klíč. Informace o obnově, včetně vzoru, jsou uloženy v souboru AES-GCM zašifrované Keychain databázi spíše než soubory ve formátu prostého textu nebo účet Vaultaire.
Šifrování souborů. Každý importovaný soubor je zašifrován pomocí AES-256-GCM pod náhodným hlavním klíčem. CryptoKit vytváří ověřené zapečetěné krabice s čerstvými nonce a formát streamování odvozuje pro každý objednaný blok odlišnou nonce.
Šifrování metadat. názvy souborů, MIME typy, data, rejstříkové záznamy a data miniatur jsou také chráněny pomocí AES-256-GCM. Vaultaire nepoužívá ChaCha20 pro metadata trezoru.
Správa klíčů. Vaultaire ukládá svou sůl zařízení a šifrovanou databázi obnovy jako běžnou iOS Keychain položky s obecným heslem chráněné pomocí WhenUnlockedThisDeviceOnly třída přístupnosti. Klíče úložiště odvozené ze vzoru a náhodné hlavní klíče jsou zpracovány v paměti aplikace CryptoKit. Uzamčením se sníží stav aktivního klíče, ale Swift a iOS nepodporují záruku, že každá přechodná kopie bude přepsána.
Objev trezoru. Normální rozhraní nezobrazuje seznam úschoven. Místní formát ukládá přesně 1 zašifrovaný indexový soubor pro každý vault a kód údržby může tyto soubory vyčíslit. Někdo s přístupem ke kontejneru aplikace proto může počítat zašifrované indexy, ačkoli názvy souborů neodhalují vzory, názvy ani obsah ve formátu prostého textu. Zobrazit celý bezpečnostní architektura a vysvětlení šifrování vzorů.
Jak zjistit, zda aplikace skutečně používá zero-knowledge šifrování
Začněte třemi rychlými testy a poté ověřte publikovanou architekturu:
Test zapomenutého hesla. Pokud samotný reset e-mailu obnoví čitelná data, zeptejte se, jaký mechanismus držený poskytovatelem obnovil efektivní klíč obsahu. Uživatelské fráze pro obnovení, schválení starého zařízení a resetování řízené poskytovatelem jsou různé návrhy.
Test nového zařízení. Pokud nové zařízení obnoví čitelný obsah, identifikujte tajné nebo důvěryhodné zařízení, které jej autorizovalo. Samotné přihlášení k účtu navrhuje cestu obnovení řízenou poskytovatelem; fráze pro obnovení a šifrované záznamy zálohy mohou zachovat oddělení klíče poskytovatele.
Test účtu. E-mailová adresa nebo telefonní číslo propojuje identitu s metadaty služby, ale sama o sobě nedokazuje, že poskytovatel může obsah dešifrovat. Zkontrolujte hierarchii klíčů, návrh obnovy, klientský kód nebo audit, zásady metadat a zda ověřený šifrovaný text umožňuje offline kontroly pověření.
Tyto testy jsou filtry, nikoli bezpečnostní důkaz. Souvislá specifikace by měla pojmenovat obsahový klíč, odemykací klíč, soli, parametry odvození, formát ověřeného šifrování, pravidla nonce, obálky pro obnovení, místní tajné úložiště, cloudová metadata a místo, kde existují klíče otevřeného textu. Nezávislá recenze je silnějším důkazem než označení produktu.
Nejčastější otázky
Je zero-knowledge šifrování totéž co end-to-end šifrování?
Překrývají se, ale nejsou totožné. End-to-end šifrování (E2EE) znamená, že data jsou šifrována v zařízení odesílatele a dešifrována pouze v zařízení příjemce. Zero-knowledge šifrování znamená, že poskytovatel nemůže přistupovat k datům. Služba může být end-to-end šifrována bez toho, aby byla zero-knowledge, pokud poskytovatel klíče vygeneroval nebo k nim měl přístup v nějakém okamžiku. Zero-knowledge šifrování je přísnější standard.
Co se stane, když ztratím heslo při zero-knowledge šifrování?
Vaše data se stanou trvale nedostupnými, pokud ztratíte všechna platná pověření a obálku pro obnovení. Resetování nebo hlavní klíč řízený poskytovatelem by oslabil hranici poskytovatele, takže obnovení musí být navrženo samostatně. Vaultaire vygeneruje vlastní frázi obsahující 9 samostatných slov, jejíž odvozený obnovovací klíč otevře šifrovanou obálku s klíčem trezoru. Fráze negeneruje ani nekóduje klíč a obnovení nového zařízení také vyžaduje odpovídající šifrování CloudKit záznamy.
Může policie přistupovat k datům šifrovaným pomocí zero-knowledge šifrování?
Poskytovatel možná bude muset zveřejnit uložený šifrovaný text a metadata účtu, provozu, fakturace nebo služby, která uchovává. Bez klíče obsahu ve formátu prostého textu drženého poskytovatelem nemůže tento poskytovatel použít svou běžnou cestu služby k dešifrování obsahu. Zneužívání zařízení, zjišťování pověření, obnovovací kopie a vynucené zveřejnění jsou samostatné cesty, jejichž zákonnost a účinnost se liší podle jurisdikce a faktů.
Je zero-knowledge šifrování pomalejší než běžné šifrování?
AES-256-GCM výkon nezávisí na tom, kdo drží klíč. Odvozování na základě hesla přidává práci během odemykání a jeho trvání závisí na algoritmu, počtu iterací, zařízení a implementaci. Aplikace by měly měřit tyto náklady na podporovaný hardware a vyrovnávat rychlost odezvy s náklady na každý odhad offline.
Znamená zero-knowledge, že aplikace vůbec neshromažďuje data?
Ne nutně. Termín se týká hranice obsahu a klíče poskytovatele, nikoli každého datového toku. Aplikace může stále zpracovávat data účtu, analýzy, zprávy o selhání, IP adresy, velikosti záznamů, načasování nebo jiná metadata služeb. Vaultaire nevyžaduje žádný účet identity a říká, že jeho analýzy založené na souhlasu vylučují obsah trezoru, vzory, fráze a dešifrovací klíče; jeho zásady ochrany osobních údajů popisuje aktuální pravidla shromažďování a uchovávání.
Jak se zero-knowledge šifrování liší od Pokročilé ochrany dat Apple?
Apple Advanced Data Protection (ADP), představený v iOS 16.2, rozšiřuje end-to-end šifrování na další iCloud kategorie a používá model obnovení účtu Apple. Vaultaire ve výchozím nastavení udržuje obsah vaultu místní a nevyžaduje žádný účet identity Vaultaire; volitelné zálohování, synchronizace a sdílení používají šifrování na straně klienta CloudKit záznamy v účtu Apple uživatele. Vaultaire také nabízí vzorově oddělený přístup do trezoru a nátlakový režims limity úložiště a obnovy popsanými v něm věrohodnou dokumentaci.
Shrnutí
S šifrováním s nulovými znalostmi se nejlépe zachází jako s nárokem na oddělení klíče poskytovatele: služba neuchovává klíč ve formátu prostého textu potřebný k dešifrování uloženého obsahu. To je silnější než šifrování na straně serveru pomocí klíčů řízených poskytovatelem, ale není to tvrzení, že klíče existují pouze v paměti, že metadata zmizí nebo že každý kompromis klienta a zařízení je poražen. Posuzujte produkt podle jeho klíčové hierarchie, návrhu obnovy, implementace a nezávislé kontroly.