Što je šifriranje s nultom spoznajom? Jednostavan vodič
Šifriranje s nultom spoznajom znači da davatelj usluge ne može pristupiti vašim podacima.
Enkripcija bez znanja je arhitektura ograničena na pružatelja usluge u kojoj usluga ne sadrži ključ potreban za dešifriranje pohranjenog korisničkog sadržaja. Za razliku od standardne enkripcije u oblaku gdje pružatelj kontrolira ključ sadržaja, enkripcija na strani klijenta može zadržati tu mogućnost na korisničkim uređajima. Pravni zahtjev, povreda ili insajder i dalje mogu otkriti šifrirani tekst, evidenciju računa, podatke o prometu ili druge metapodatke koje pružatelj zadržava. NIST-ove smjernice za upravljanje ključevima čine skrbništvo ključeva središnjim za pristup, ali klijentska aplikacija, operativni sustav i otključani uređaj ostaju dio granice povjerenja.
Kako šifriranje s nultom spoznajom funkcionira
Najjednostavnija analogija: hotelski sef gdje kombinaciju postavljate samo vi i hotel je nikada ne saznaje. Ako zaboravite kombinaciju, hotel neće otvoriti sef umjesto vas. To nije mana u dizajnu. To je namjera dizajna.
U tehničkim pojmovima šifriranje s nultom spoznajom funkcionira u tri koraka:
Izvođenje ključa na uređaju. Korisnik daje vjerodajnicu kao što je lozinka, zaporka ili uzorak. Funkcija derivacije ključa temeljena na lozinci kombinira ga sa soli kako bi proizvela ključ na korisničkom uređaju. Dobro odvojeni dizajn može upotrijebiti taj ključ za otključavanje nasumičnog ključa za šifriranje sadržaja umjesto šifriranja svake datoteke izravno s ljudskom vjerodajnicom.
Šifriranje prije prijenosa. Svi podaci šifriraju se na uređaju izvedenim ključem prije nego što napuste uređaj za cloud pohranu ili sigurnosnu kopiju. Šifrirani izlaz (šifrat) je ono što se prenosi.
Davatelj ne prima ključ sadržaja otvorenog teksta. Ključevi sadržaja nužno postoje u memoriji klijenta tijekom upotrebe i također se mogu pohraniti lokalno ili udaljeno unutar provjerenih šifriranih omotnica. Davatelj može pohraniti šifrirani tekst i zamotane ključeve bez zadržavanja korisničke tajne potrebne za njihovo otvaranje. Metapodaci računa, prometa, veličine zapisa i vremena mogu i dalje ostati vidljivi.
Kritično ograničenje: ako korisnik izgubi sve valjane vjerodajnice i put oporavka, šifrirani sadržaj postaje nedostupan. Oporavak još uvijek može postojati, ali njegovo ključno skrbništvo mora biti objašnjeno. Ako samo poništavanje e-pošte vraća čitljiv sadržaj bez odobrenja starog uređaja, izraza za oporavak, ključa za oporavak ili ekvivalentne tajne koju čuva korisnik, pružatelj je zadržao učinkovit put natrag do otvorenog teksta.
Šifriranje s nultom spoznajom vs. ostale vrste šifriranja
Pojam „šifriranje" pojavljuje se u marketinškim materijalima gotovo svake cloud usluge. Razlike između vrsta su suštinske.
| Vrsta | Tko drži ključ | Davatelj može čitati podatke | Preživljava curenje podataka davatelja | Primjer |
|---|---|---|---|---|
| Bez šifriranja | Nema | Da | Ne | Dropbox (standardni nivo) |
| Šifriranje u prijenosu (TLS) | Davatelj | Da (u mirovanju na njihovim poslužiteljima) | Ne | Google Fotografije |
| Šifriranje u mirovanju na strani poslužitelja | Davatelj | Da (drži ključ dešifriranja) | Djelomično (ovisi o opsegu curenja) | iCloud (standardni) |
| Enkripcija platforme s kraja na kraj | Klijentski uređaji i sustav za oporavak računa | Ne kroz uobičajeni put usluge | Ovisi o klijentu, oporavku i izloženosti metapodataka | iCloud s naprednom zaštitom podataka |
| Provider-blind enkripcija na strani klijenta | Put oporavka kojim upravljaju klijenti i korisnici | Nema ključa otvorenog teksta koji čuva davatelj usluga | Sadržaj može ostati šifriran; metapodaci i šifrirani tekst još uvijek mogu procuriti | Šifrirani trezor i sigurnosni sustavi |
Razlika između „šifriranja u mirovanju" i „šifriranja s nultom spoznajom" je najčešće zamjenjivana. Uz šifriranje u mirovanju davatelj šifrira vaše podatke na svojim poslužiteljima koristeći ključeve kojima upravlja. To štiti od fizičke krađe serverskog hardvera. Ne štiti od čitanja vaših podataka od strane davatelja, vladine pozivnice za podatke i ključeve ili unutarnje prijetnje. Davatelj ima sposobnost dešifriranja.
Sa slijepom enkripcijom na strani pružatelja usluga, usluga ne dobiva ključ sadržaja otvorenog teksta putem dokumentiranog protokola. Pohranjeni šifrirani tekst može ostati neproziran za tog pružatelja usluga, dok klijentski softver, put oporavka, metapodaci računa i kanal za isporuku softvera i dalje zahtijevaju povjerenje i pregled.
Zašto je šifriranje s nultom spoznajom važno
Curenja podataka pogađaju milijarde zapisa godišnje
Resursni centar za krađu identiteta izvijestio je o 3205 kompromitacija podataka u Sjedinjenim Državama u 2023., što je utjecalo na približno 353 milijuna pojedinaca. Kada pružatelj ima ključeve sadržaja, jedno kršenje može razotkriti i pohranjene podatke i put za njihovo dešifriranje. Provider-blind enkripcija odvaja ta sredstva: proboj poslužitelja i dalje može razotkriti šifrirani tekst i metapodatke, ali ne i ključ sadržaja otvorenog teksta koji čuva pružatelj. Pogađanje vjerodajnica i kompromitacija klijenta ostaju odvojeni rizici.
Pravna prisila je stvarna prijetnja
Od pružatelja usluga može se zahtijevati da otkriju podatke koje čuvaju. Dizajn slijep za davatelja može ograničiti taj odgovor na šifrirani tekst i dostupne metapodatke o računu, prometu, naplati ili usluzi jer davatelj ne drži ključ sadržaja otvorenog teksta. Može li druga strana dobiti korisničku vjerodajnicu, iskoristiti klijenta ili prisiliti na otkrivanje je zasebno pitanje. Apple je uveo Advanced Data Protection godine iOS 16.2 kao izborno proširenje end-to-end enkripcije za iCloud podataka.
„Vjerujte nam" nije sigurnosna arhitektura
Enkripcija na strani poslužitelja oslanja se na ključeve i pravila kojima upravlja davatelj. Provider-blind enkripcija mijenja nadzor nad ključem tako da dokumentiranom putu usluge nedostaje ključ sadržaja otvorenog teksta. To je jača arhitektonska granica, ali njezina snaga i dalje ovisi o ispravnom kodu klijenta, autentificiranoj isporuci softvera, oporavku zvuka, sigurnim uređajima i implementaciji koja odgovara specifikaciji.
NIST standard iza kriptografije
AES-GCM standardizirao je Nacionalni institut za standarde i tehnologiju u SP 800-38D (2007). Sam AES odabrao je NIST putem javnog natječaja 2001. "256" u AES-256 odnosi se na 256-bitni ključ. Iscrpna pretraga preko ravnomjerno nasumičnog ključa računalno je neizvediva, ali ljudska lozinka ili uzorak mogu pružiti daleko manju entropiju čak i kada funkcija derivacije ključa daje 256 bita.
GCM (Galois/Counter Mode) dodaje autentificirano šifriranje, što znači da proces dešifriranja otkriva svaku manipulaciju šifratom. Ako se promijeni jedan bit šifriranih podataka, dešifriranje ne uspijeva umjesto stvaranja oštećenog izlaza. Time se sprječava napadačima manipuliranje šifriranim podacima bez otkrivanja.
PBKDF2 (Funkcija derivacije ključa temeljena na lozinci 2), navedena u RFC 8018, pretvara vjerodajnicu koju je dao čovjek u materijal ključa fiksne duljine putem ponovljenih poziva pseudoslučajnih funkcija. Više ponavljanja povećava cijenu svakog pogađanja. Oni ne dodaju entropiju predvidljivom obrascu ili zaporci, tako da su izbor vjerodajnica i izvanmrežna provjera i dalje važni.
Kako Vaultaire implementira odvajanje ključeva dobavljača
Vaultaire je šifrirani trezor na strani klijenta za iPhone. U smislu proizvoda koji se često reklamira kao "nula znanja", njegova uža dokumentirana tvrdnja je da Wraxle ne prima sadržaj trezora otvorenog teksta ili ključeve potrebne za dešifriranje. Evo kako funkcioniraju implementacija i preostale granice povjerenja na svakom sloju.
Izvođenje ključa. Korisnik crta uzorak na mreži 5x5 od 25 točaka. PBKDF2-HMAC-SHA512 kombinira taj niz s jednim na cijelom uređaju Keychain soli za 600 000 ponavljanja da bi se dobio 256-bitni ključ trezora. Ključ trezora provjerava autentičnost šifriranog indeksa i omotava zasebni nasumični 256-bitni glavni ključ. Informacije o oporavku, uključujući uzorak, pohranjuju se u AES-GCM šifrirano Keychain baze podataka umjesto otvorenih tekstualnih datoteka ili Vaultaire računa.
Enkripcija datoteke. Svaka uvezena datoteka šifrirana je s AES-256-GCM pod nasumičnim glavnim ključem. CryptoKit stvara autentificirane zapečaćene kutije sa svježim nonce-ovima, a format strujanja izvodi različiti nonce za svaki naručeni dio.
Enkripcija metapodataka. imena datoteka, MIME vrste, datumi, zapisi indeksa i podaci sličica također su zaštićeni s AES-256-GCM. Vaultaire ne koristi ChaCha20 za metapodatke trezora.
Upravljanje ključem. Vaultaire pohranjuje svoju sol uređaja i šifriranu bazu podataka za oporavak kao uobičajenu iOS Keychain stavke generičke lozinke zaštićene s WhenUnlockedThisDeviceOnly klasa pristupačnosti. Ključevi trezora izvedeni iz uzorka i nasumični glavni ključevi obrađuju se u memoriji aplikacije CryptoKit. Zaključavanje ispušta aktivno stanje ključa, ali Swift i iOS ne podržavaju jamstvo da je svaka prolazna kopija prebrisana.
Otkriće trezora. Normalno sučelje ne prikazuje popis trezora. Lokalni format pohranjuje točno 1 šifriranu indeksnu datoteku za svaki trezor, a kod za održavanje može nabrojati te datoteke. Netko s pristupom spremniku aplikacije stoga može brojati šifrirane indekse, iako nazivi datoteka ne otkrivaju uzorke, nazive ili sadržaj otvorenog teksta. Pogledajte cijeli sigurnosna arhitektura i objašnjenje enkripcije uzorka.
Kako utvrditi koristi li aplikacija stvarno šifriranje s nultom spoznajom
Započnite s tri brza testa, a zatim provjerite objavljenu arhitekturu:
Test zaboravljene lozinke. Ako samo poništavanje e-pošte vraća čitljive podatke, pitajte koji je mehanizam davatelja usluga vratio efektivni ključ sadržaja. Fraze za oporavak koje drže korisnici, odobrenje za stari uređaj i resetiranje koje kontrolira davatelj usluga različiti su dizajni.
Test novog uređaja. Ako novi uređaj vrati čitljiv sadržaj, identificirajte tajni ili pouzdani uređaj koji ga je autorizirao. Sama prijava na račun sugerira put oporavka koji kontrolira pružatelj; fraza za oporavak plus šifrirani zapisi sigurnosne kopije mogu očuvati razdvajanje ključeva pružatelja usluga.
Test računa. Adresa e-pošte ili telefonski broj povezuje identitet s metapodacima usluge, ali sam po sebi ne dokazuje da pružatelj može dekriptirati sadržaj. Pregledajte hijerarhiju ključeva, dizajn oporavka, kod klijenta ili reviziju, politiku metapodataka i dopušta li provjereni šifrirani tekst izvanmrežne provjere vjerodajnica.
Ovi testovi su filtri, a ne sigurnosni dokaz. Koherentna specifikacija treba imenovati ključ sadržaja, ključ za otključavanje, soli, parametre derivacije, format autentificirane enkripcije, nonce pravila, omotnice za oporavak, lokalnu tajnu pohranu, metapodatke u oblaku i točku gdje postoje ključevi otvorenog teksta. Neovisni pregled je jači dokaz od etikete proizvoda.
Često postavljana pitanja
Je li šifriranje s nultom spoznajom isto što i end-to-end šifriranje?
Preklapaju se, ali nisu identični. End-to-end šifriranje (E2EE) znači da su podaci šifrirani na uređaju pošiljatelja i dešifriraju se samo na uređaju primatelja. Šifriranje s nultom spoznajom znači da davatelj usluge ne može pristupiti podacima. Usluga može biti end-to-end šifrirana bez nulte spoznaje ako je davatelj generirao ključeve ili im je imao pristup u nekom trenutku. Šifriranje s nultom spoznajom je stroži standard.
Što se dogodi ako izgubim lozinku pri šifriranju s nultom spoznajom?
Vaši podaci postaju trajno nedostupni ako se izgubi svaka važeća vjerodajnica i omotnica za oporavak. Poništavanje ili glavni ključ koji kontrolira pružatelj oslabio bi granicu pružatelja, tako da oporavak mora biti dizajniran zasebno. Vaultaire generira prilagođenu frazu koja sadrži 9 zasebnih riječi čiji izvedeni ključ za oporavak otvara šifriranu omotnicu ključa trezora. Fraza ne regenerira niti kodira ključ, a vraćanje novog uređaja također zahtijeva odgovarajući šifrirani CloudKit zapisa.
Može li policija pristupiti podacima šifriranim šifriranjem s nultom spoznajom?
Davatelj će možda morati otkriti pohranjeni šifrirani tekst i metapodatke o računu, prometu, naplati ili usluzi koje zadržava. Bez ključa otvorenog teksta koji drži davatelj usluga, taj davatelj ne može koristiti svoj uobičajeni put usluge za dešifriranje sadržaja. Iskorištavanje uređaja, otkrivanje vjerodajnica, kopije za oporavak i prisilno otkrivanje zasebni su putevi čija se zakonitost i učinkovitost razlikuju ovisno o nadležnosti i činjenicama.
Je li šifriranje s nultom spoznajom sporije od uobičajenog šifriranja?
AES-256-GCM učinak ne ovisi o tome tko drži ključ. Izvođenje na temelju lozinke dodaje rad tijekom otključavanja, a njegovo trajanje ovisi o algoritmu, broju ponavljanja, uređaju i implementaciji. Aplikacije bi trebale mjeriti taj trošak na podržanom hardveru i uravnotežiti odzivnost u odnosu na trošak nametnut svakom izvanmrežnom nagađanju.
Znači li nulta spoznaja da aplikacija uopće ne prikuplja podatke?
Nije nužno. Pojam se odnosi na pružateljevu granicu ključa sadržaja, a ne na svaki protok podataka. Aplikacija i dalje može obrađivati podatke računa, analitiku, izvješća o rušenju programa, IP adrese, veličine zapisa, vrijeme ili druge metapodatke usluge. Vaultaire ne zahtijeva račun identiteta i kaže da njegova analitika temeljena na pristanku isključuje sadržaj trezora, obrasce, fraze i ključeve za dešifriranje; njegov politika privatnosti opisuje trenutna pravila prikupljanja i čuvanja.
Kako se šifriranje s nultom spoznajom razlikuje od Appleove Napredne zaštite podataka?
Appleova napredna zaštita podataka (ADP), predstavljena godine iOS 16.2, proširuje end-to-end enkripciju na dodatne iCloud kategorije i koristi model oporavka Apple računa. Vaultaire prema zadanim postavkama čuva sadržaj trezora lokalnim i ne zahtijeva Vaultaire račun identiteta; izborna sigurnosna kopija, sinkronizacija i dijeljenje koriste šifriranje na strani klijenta CloudKit zapise u korisničkom Apple računu. Vaultaire također nudi pristup trezoru odvojen uzorkom i način prisile, s ograničenjima pohrane i oporavka opisanim u plausible-deniability dokumentacija.
Sažetak
Enkripciju bez znanja najbolje je tretirati kao tvrdnju o odvajanju ključa pružatelja usluga: usluga ne sadrži ključ otvorenog teksta koji je potreban za dekriptiranje pohranjenog sadržaja. To je jače od enkripcije na strani poslužitelja pod ključevima koje kontrolira pružatelj usluga, ali nije tvrdnja da ključevi postoje samo u memoriji, da metapodaci nestaju ili da je svaki kompromis klijenta i uređaja poražen. Prosudite proizvod prema hijerarhiji ključeva, dizajnu oporavka, implementaciji i neovisnom pregledu.