Dokone misli besposlenika o kriptografiji i zaštiti podataka

Dokone misli besposlenika o kriptografiji i zaštiti podataka

Zašto kriptografija? I sam imam prilično površna znanja o tome. Da, čitao sam klasično djelo Bruce Schneier, ali jako davno; Da, razumijem razliku između simetrične i asimetrične enkripcije, razumijem što su eliptične krivulje, ali to je to. Štoviše, postojeće kriptografske biblioteke, sa svojim simpatičnim običajem uključivanja punog naziva algoritma u ime svake funkcije i hrpom inicijalizatora koji strše, zadaju mi ​​užasnu neugodnost kao programeru.Dokone misli besposlenika o kriptografiji i zaštiti podataka
Pa zašto? Vjerojatno zato što čitajući aktualni val publikacija o zaštiti podataka, povjerljivih informacija i sl. imam osjećaj da kopamo negdje na krivom mjestu, točnije pokušavamo riješiti suštinske društvene probleme uz pomoć tehničkih znači (kriptografija) . Razgovarajmo o tome, ne obećavam epohalna otkrića, kao ni konkretne prijedloge, besposlene misli su samo to: besposlene.

Malo povijesti, samo malo

Godine 1976. Sjedinjene Države usvojile su savezni standard za algoritme simetrične enkripcije - DES. Bio je to prvi javni i standardizirani kriptografski algoritam stvoren kao odgovor na rastuće poslovne zahtjeve za zaštitom podataka.

Bradata radoznalost

Algoritam je objavljen greškom. Bio je optimiziran za hardversku implementaciju i smatran je presloženim i neučinkovitim za softversku implementaciju. Međutim, Mooreov zakon brzo je sve postavio na svoje mjesto.

Čini se - kraj priče, uzmite, šifrirajte, dešifrirajte, ako je potrebno, povećajte duljinu ključa. Možda sigurno znate da su Amerikanci u njemu ostavili oznake, onda postoji ruski analog za vas - GOST 28147-89, kojoj vjerojatno još manje vjerujete. Zatim upotrijebite obje, jednu na drugu. Ako vjerujete da su se FBI i FSB ujedinili radi vas i razmijenili svoje oznake, onda imam dobre vijesti za vas - niste paranoični, imate banalnu iluziju veličine.
Kako radi simetrična enkripcija? Oba sudionika znaju isti ključ, poznat i kao lozinka, a ono što je njime šifrirano može se njime i dešifrirati. Shema radi odlično za špijune, ali je potpuno neprikladna za moderni Internet, budući da se ovaj ključ mora unaprijed prenijeti svakom od sugovornika. Neko vrijeme, dok je relativno malo tvrtki štitilo svoje podatke u komunikaciji s otprije poznatim partnerom, problem se rješavao uz pomoć kurira i sigurne pošte, no onda je internet postao raširen i na scenu je došao.

Asimetrična kriptografija

gdje su uključena dva ključa: javnost, koji se ne drži u tajnosti i nikome se ne priopćava; I privatna, koju zna samo njen vlasnik. Ono što je kriptirano javnim ključem može se dešifrirati samo privatnim i obrnuto. Tako svatko može saznati javni ključ primatelja i poslati mu poruku, samo će je primatelj pročitati. Čini se da je problem riješen?
Ali internet ne radi tako, problem nastaje punom snagom ovjera i pogotovo, početna provjera autentičnosti, au nekom smislu i suprotan problem anonimnost. Ukratko, kako mogu biti siguran da je osoba s kojom razgovaram stvarno osoba s kojom sam namjeravao razgovarati? a javni ključ koji koristim zapravo pripada osobi s kojom sam namjeravao razgovarati? Pogotovo ako mi je ovo prvi put da komuniciram s njim? A kako možete uliti povjerenje svom partneru, a pritom zadržati anonimnost? Već ovdje, ako pažljivo pogledate, možete primijetiti unutarnju kontradikciju.
Pogledajmo općenito koji obrasci interakcije između sudionika postoje i koriste se u praksi:

  • poslužitelj - poslužitelj (ili posao - posao, u ovom kontekstu to je isto): ovo je najjednostavnija klasična shema, za koju je sasvim dovoljna simetrična kriptografija, sudionici znaju sve jedni o drugima, uključujući i kontakte izvan mreže. No, napominjemo da ovdje niti ne govorimo o anonimnosti, a broj sudionika je strogo ograničen na dva. To jest, ovo je gotovo idealna shema za iznimno ograničen broj komunikacija i, u općenitom slučaju, očito je od male koristi.
  • poslužitelj - anonimni (ili poslovni - klijent): ovdje postoji neka asimetrija, koju uspješno opslužuje asimetrična kriptografija. Ključna točka ovdje je nedostatak autentifikacije klijenta, poslužitelju je svejedno s kim točno razmjenjuje podatke; ako iznenada zatreba, poslužitelj provodi sekundarna provjera autentičnosti pomoću unaprijed dogovorene lozinke, a onda se sve svodi na prethodni slučaj. S druge strane klijent iznimno bitno autentifikaciju poslužitelja, želi biti siguran da njegovi podaci stižu točno do osobe kojoj ih je poslao, ova strana se u praksi temelji na sustavu certifikata. Općenito, ova je shema prilično prikladno i transparentno pokrivena https:// protokolom, ali nekoliko zanimljivih točaka pojavljuje se na raskrižju kriptografije i sociologije.
    1. povjerenje u poslužitelj: čak i ako sam poslao neke informacije na sjever na apsolutno siguran način, tehnički im autsajderi tamo imaju pristup. Ovaj problem je potpuno izvan opsega enkripcije, ali molim vas da zapamtite ovu točku, pojavit će se kasnije.
    2. povjerenje u certifikat poslužitelja: hijerarhija certifikata temelji se na činjenici da postoji određena korijen certifikat vrijedan apsolutni povjerenje. Tehnički, dovoljno utjecajan napadač [molimo da riječ napadač shvatite kao tehnički termin, a ne kao klevetu ili uvredu postojeće vlasti] može zamijeniti certifikat bilo koje niže razine, ali se pretpostavlja da je sustav certificiranja potreban svima podjednako, tj. ovaj certifikator će biti odmah izopćen i svi njegovi certifikati će biti opozvani. Dakle, to je tako, ali ipak napominjemo da se sustav ne temelji na tehničkim sredstvima, već na nekakvom društvenom ugovoru. Usput, o vrućemJe li itko analizirao moguće umnožavanje ruskog korijenskog certifikata i posljedice kao dio očekivanog umnožavanja Runeta sudnjeg dana? Ako je netko čitao/pisao o ovoj temi, neka mi pošalje linkove, ja ću ih dodati, mislim da je tema zanimljiva
    3. neizravna deanonimizacija na poslužitelju: također bolna tema, čak i ako poslužitelj nema formalnu registraciju/autentifikaciju, postoji mnogo načina za prikupljanje informacija o klijentu i njegovu identifikaciju. Čini mi se da je korijen problema u postojećem protokolu http:// i njemu sličnim, koji, očekivano, nisu mogli predvidjeti ovakav bijes; i da bi bilo sasvim moguće stvoriti paralelni protokol bez tih uboda. Međutim, to je u suprotnosti sa svim postojećim praksama monetizacije i stoga je malo vjerojatno. Još uvijek se pitate, je li netko probao?
  • anoniman - anoniman: dvoje ljudi upoznaju se online, (opcija - upravo su se upoznali), (opcija - ne dvoje nego dvije tisuće), i žele razgovarati o svojim stvarima, ali na način da Veliki Brat nije čula (opcija: mama nije saznala, svatko ima svoje prioritete). Možda ćete čuti ironiju u mom glasu, ali to je zato što je to to. Primijenimo Schneierov postulat na problem (svaki algoritam se može probiti ako se uloži dovoljno resursa, odnosno novac i vrijeme). S ove točke gledišta prodor u takvu skupinu društvenim metodama ne predstavlja nikakvu poteškoću, a kamoli novac, odnosno kriptografska snaga algoritma nula s najsofisticiranijim metodama šifriranja.
    Međutim, za ovaj slučaj imamo drugi bastion - anonimnost, i sve nade polažemo u njega, makar nas svi poznavali, ali nas nitko ne može pronaći. Ipak, uz najsuvremenije tehničke metode zaštite, mislite li ozbiljno da imate šanse? Podsjećam da sada govorim samo o anonimizaciji, čini se da smo već uvjerljivo riješili zaštitu podataka. Da budemo jasni, dogovorimo se da ako vaše ime postane poznato ili kućna adresa ili IP adresa, odaziv nije uspio.
    Govoreći o ip-u, ovdje dolazi do izražaja gore navedeno povjerenje u poslužitelj, bez sumnje zna tvoj IP. I ovdje sve igra protiv vas - od obične ljudske znatiželje i taštine, do korporativnih politika i iste monetizacije. Samo imajte na umu da su VPS i VPN također poslužitelji; za teoretičare kriptografije ove su kratice nekako nevažne; Da, i nadležnost poslužitelja ne igra ulogu u slučaju velike potrebe. Ovo također uključuje end-to-end enkripciju - zvuči lijepo i solidno, ali poslužitelj mu ipak mora vjerovati na riječ.
    Koja je opća uloga poslužitelja u takvom messengeru? Prvo, beznačajno je da poštar, ako primatelj nije kod kuće, dođe kasnije. Ali isto tako, što je puno značajnije, ovo je mjesto susreta, ne možete poslati pismo izravno primatelju, šaljete ga poslužitelju na daljnji prijenos. I što je najvažnije, poslužitelj provodi potrebnu provjeru autentičnosti, potvrđujući svima da ste vi, a vama - da je vaš sugovornik zaista onakav kakav trebate. I on to radi pomoću vašeg telefona.
    Ne misliš li da tvoj glasnik zna previše o tebi? Ne, ne, naravno da mu vjerujemo (i usput, našem telefonu u isto vrijeme, hmm), ali kriptografi nas uvjeravaju da je to uzalud, da ne možemo vjerovati baš nikome.
    Niste uvjereni? Ali postoji i isti socijalni inženjering, ako imate stotinu sugovornika u grupi, jednostavno morate pretpostaviti da su 50% njih neprijatelji, 49% su ili tašti, glupi ili jednostavno nemarni. A preostalih jedan posto, koliko god bili jaki u metodama informacijske sigurnosti, vrlo vjerojatno ne možete odoljeti dobrom psihologu u chatu.
    Čini se da je jedina obrambena strategija izgubiti se među milijunima sličnih grupa, ali ovdje se više ne radi o nama, opet o nekakvim špijunima-teroristima koji nemaju potrebu za online slavom ili zaradom.

Pa, čini mi se da sam nekako potkrijepio (ne, nisam dokazao, samo sam potkrijepio) svoja oštra razmišljanja o zaštiti podataka u modernom modelu društva. Zaključci su jednostavni, ali tužni - ne trebamo računati na veću pomoć enkripcije podataka nego što već imamo, kriptografija je učinila sve što je mogla, i to dobro, ali naš model interneta potpuno je u suprotnosti s našom željom za privatnošću i poništava sav naš trud . Zapravo, nikad nisam pesimist i stvarno bih sada htio reći nešto vedro, ali jednostavno ne znam što.
Pokušajte pogledati sljedeći odjeljak, ali upozoravam vas - ima potpuno ružičastih neznanstvenih fantazija, ali one mogu nekoga razuvjeriti, a nekoga barem samo zabaviti.

Može li se uopće nešto učiniti?

Pa, na primjer, razmislite o ovoj temi, po mogućnosti oslobađajući svoju svijest i odbacujući predrasude. Na primjer, privremeno potpuno žrtvujmo anonimnost, koliko god to strašno zvučalo. Neka svatko od rođenja dobije jedinstveni osobni javni ključ, naravno i pripadajući privatni ključ. Nema potrebe da vičeš na mene i lupaš nogama, idealan svijet ovo je izuzetno zgodno - ovdje imate putovnicu, porezni broj, pa čak i telefonski broj u jednoj bočici. Štoviše, ako tome dodate pojedinačni certifikat, dobit ćete univerzalni autentifikator/prijavu; a također i džepni bilježnik s mogućnošću ovjere bilo kakvih dokumenata. Sustav možete napraviti na više razina - javno su dostupni samo javni ključ i certifikat, za prijatelje (čiji je popis ključeva priložen ovdje) možete staviti svoj telefon na raspolaganje i što još vjeruju prijateljima, možda postoji i dublje razine, ali to već implicira nepotrebno povjerenje u poslužitelj.
Ovom shemom automatski se postiže privatnost prenesenih informacija (iako s druge strane, zašto, u idealnom svijetu?), Alice nešto piše Bobu, ali to nitko neće pročitati osim samog Boba. Svi messengeri automatski dobivaju end-to-end enkripciju, njihova je uloga svedena na poštanske sandučiće i, u načelu, ne može biti pritužbi na sadržaj. I sami poslužitelji postaju međusobno zamjenjivi, možete slati preko jednog, ili preko drugog, ili čak kroz lanac poslužitelja, poput e-pošte. Također ga možete poslati izravno primatelju ako je njegov IP poznat, bez kontaktiranja posrednika. Nije li to super? Šteta je samo što nećemo morati živjeti u ovo divno vrijeme - ni za mene ni za tebe. Nn-da, opet govorim o tužnim stvarima.
Zatim, gdje sve to pohraniti? Pa, na pamet mi je stvoriti otvoreni hijerarhijski sustav, nešto poput sadašnjeg DNS-a, samo moćniji i opsežniji. Kako ne biste opterećivali administratore root DNS-a dodacima i izmjenama, možete izvršiti besplatnu registraciju, potrebna je samo provjera jedinstvenosti. Kao >>" Pozdrav, nas je petero ljudi, obitelj Ivanov. Ovdje su naša imena/nadimci, ovdje su javni ključevi. Ako netko traži, pošaljite nam. A evo i popisa sto petsto baka s našeg područja s ključevima, ako ih zamole, pošaljite nam i njih.«
Vi samo trebate napraviti instalaciju i konfiguraciju takvog kućnog poslužitelja krajnje jednostavnom i praktičnom, tako da to svatko može shvatiti ako želi, opet, nitko više neće učitavati službene državne poslužitelje.
Stop!, ali što onda država ima s tim?

Ali sada možete pažljivo vratiti anonimnost. Ako bilo tko može sam za sebe generirati osobni ključ i potvrditi ga pojedinačnim certifikatom i instalirati CA server niže razine za sebe, ili pitati susjeda, ili nekom javnom serveru, zašto je potrebna sva ta službenost? I tada nema potrebe vezati se za pravi lik, potpuna privatnost, sigurnost i anonimnost. Dovoljno je da na početku hijerarhije stoji netko od povjerenja, dobro, vjerujemo u TM ili Let's Encrypt, a poznati javni DNS-i još nikoga nisu poslali u stepu. Čini se da ne bi trebalo biti pritužbi ni od strane birokrata, odnosno, naravno da će ih biti, ali s kojim ciljem?
Možda će se jednog dana napraviti takav sustav ili nešto slično. I naravno, nemamo na koga računati osim na sebe, nijedna od meni poznatih država neće izgraditi takav sustav. Srećom, već postojeći Telegram, i2p, Tor, a vjerojatno i još netko koga sam zaboravio, pokazuju da ništa nije fundamentalno nemoguće. To je naša mreža i moramo je opremiti ako nismo zadovoljni sadašnjim stanjem.
Brrr, slučajno sam završio na patetičnoj noti. Zapravo, ne volim ovo, nekako mi je draži sarkazam.

PS: ovo su sve, naravno, ružičasti balavi i djevojački snovi
PPS: ali ako netko iznenada odluči isprobati, rezervirajte nadimak za mene stupnjeva molim te, navikao sam
PPPS: usput se implementacija čini vrlo jednostavnom

Izvor: www.habr.com

Dodajte komentar