Š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 slijepa za pružatelja usluge u kojoj usluga ne drž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 trezor gdje kombinaciju postavljate samo vi i hotel je nikada ne saznaje. Ako zaboravite kombinaciju, hotel neće otvoriti trezor 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 autentificiranih š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 mora biti objašnjeno tko čuva njegove ključeve. Ako samo poništavanje e-pošte vraća čitljiv sadržaj bez odobrenja starog uređaja, fraze 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 |
| Enkripcija na strani klijenta slijepa za pružatelja | 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 trezori i sustavi sigurnosnih kopija |
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.
S enkripcijom slijepom za 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, jedan proboj može razotkriti i pohranjene podatke i put za njihovo dešifriranje. Enkripcija slijepa za pružatelja razdvaja to dvoje: 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 Naprednu zaštitu podataka u iOS-u 16.2 kao izborno proširenje end-to-end enkripcije za podatke u iCloudu.
„Vjerujte nam" nije sigurnosna arhitektura
Enkripcija na strani poslužitelja oslanja se na ključeve i pravila kojima upravlja davatelj. Enkripcija slijepa za pružatelja 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, dobro osmišljenom oporavku, 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 uzorku ili zaporci, tako da su izbor vjerodajnica i izvanmrežna provjera i dalje važni.
Kako Vaultaire implementira odvajanje ključeva od pružatelja
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 sa soli iz Keychaina, zajedničkom za cijeli uređaj, tijekom 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 bazi podataka Keychain šifriranoj AES-GCM-om, a ne u otvorenim tekstualnim datotekama ili Vaultaire računu.
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 dio u nizu.
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čajene iOS Keychain stavke generičke lozinke zaštićene klasom dostupnosti WhenUnlockedThisDeviceOnly. Ključevi trezora izvedeni iz uzorka i nasumični glavni ključevi obrađuju se u memoriji aplikacije kroz CryptoKit. Zaključavanje ispušta aktivno stanje ključa, ali Swift i iOS ne jamče da je svaka prolazna kopija prebrisana.
Otkriće trezora. Normalno sučelje ne prikazuje popis trezora. Stranice svih trezora dijele jednu mapu s nasumičnim nazivima, pa nazivi datoteka ne pokazuju kojem trezoru datoteka pripada i ne otkrivaju uzorke, nazive ili sadržaj otvorenog teksta. Netko s pristupom spremniku aplikacije i dalje može procijeniti koliko trezora imate, jer broj arena pohrane ograničava taj broj. Pogledajte cijelu sigurnosnu arhitekturu 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 sa starog uređaja 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 autentificirani š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. Resetiranje ili glavni ključ koji kontrolira pružatelj oslabio bi granicu pružatelja, tako da oporavak mora biti dizajniran zasebno. Vaultaire generira prilagođenu frazu od 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će šifrirane CloudKit zapise.
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. Njegova analitika aplikacije i dijagnostika rušenja uključeni su prema zadanim postavkama i mogu se isključiti pomoću "Anonimno dijeli pogreške" u Postavkama. Politika dokumentiranih događaja isključuje sadržaj trezora, uzorke, fraze i ključeve za dešifriranje; pravila o privatnosti opisuju trenutna pravila prikupljanja i zadržavanja.
Kako se šifriranje s nultom spoznajom razlikuje od Appleove Napredne zaštite podataka?
Appleova napredna zaštita podataka (ADP), predstavljena u iOS-u 16.2, proširuje end-to-end enkripciju na dodatne kategorije podataka u iCloudu i koristi model oporavka Apple računa. Vaultaire šifrira sadržaj trezora na uređaju i ne zahtijeva Vaultaire račun identiteta; njegova iCloud sigurnosna kopija, uključena prema zadanim postavkama, te sinkronizacija i dijeljenje koriste CloudKit zapise šifrirane na strani klijenta u korisnikovu Apple računu. Vaultaire također nudi pristup trezoru odvojen uzorkom i način prisile, s ograničenjima pohrane i oporavka opisanim u dokumentaciji o vjerodostojnom poricanju.
Sažetak
Enkripciju bez znanja najbolje je tretirati kao tvrdnju o odvajanju ključa pružatelja usluga: usluga ne drž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 spriječeno svako kompromitiranje klijenta i uređaja. Prosudite proizvod prema hijerarhiji ključeva, dizajnu oporavka, implementaciji i neovisnom pregledu.