Prazne misli brezdelnega človeka o kriptografiji in zaščiti podatkov

Prazne misli brezdelnega človeka o kriptografiji in zaščiti podatkov

Zakaj kriptografija? Sam imam o tem dokaj površno znanje. Da, bral sem klasično delo Bruce Schneier, ampak zelo dolgo nazaj; Da, razumem razliko med simetričnim in asimetričnim šifriranjem, razumem, kaj so eliptične krivulje, ampak to je to. Še več, obstoječe kriptografske knjižnice, s svojo srčkano navado, da v ime vsake funkcije vključijo polno ime algoritma, in kopico inicializatorjev, ki štrlijo ven, me kot programerja strašno motijo.Prazne misli brezdelnega človeka o kriptografiji in zaščiti podatkov
Torej zakaj? Verjetno zato, ker ob prebiranju trenutnega vala objav o varstvu podatkov, zaupnih informacijah ipd. dobim občutek, da kopljemo nekje na napačnem mestu, oziroma konkretno skušamo bistveno družbene probleme reševati s pomočjo tehničnih pomeni (kriptografija) . Pogovorimo se o tem, ne obljubljam epohalnih odkritij, pa tudi konkretnih predlogov, prazne misli so samo to: prazne.

Malo zgodovine, samo malo

Leta 1976 so ZDA sprejele zvezni standard za algoritme simetričnega šifriranja - DES. To je bil prvi javni in standardiziran kriptografski algoritem, ustvarjen kot odgovor na naraščajoče poslovne zahteve po varstvu podatkov.

Bradata radovednost

Algoritem je bil objavljen pomotoma. Optimiziran je bil za strojno implementacijo, za programsko implementacijo pa je veljal za preveč zapletenega in neučinkovitega. Vendar je Moorov zakon hitro vse postavil na svoje mesto.

Zdi se - konec zgodbe, vzemite, šifrirajte, dešifrirajte, po potrebi povečajte dolžino ključa. Morda zagotovo veste, da so Američani v njem pustili zaznamke, potem je za vas ruski analog - GOST 28147-89, ki mu verjetno še manj zaupate. Nato uporabite oba, enega na vrhu drugega. Če verjamete, da sta se FBI in FSB združila zaradi vas in izmenjala svoje zaznamke, potem imam dobro novico za vas - niste paranoični, imate banalno iluzijo veličine.
Kako deluje simetrično šifriranje? Oba udeleženca poznata isti ključ, znan tudi kot geslo, in tisto, kar je šifrirano z njim, je mogoče z njim tudi dešifrirati. Shema deluje odlično za vohune, vendar je popolnoma neprimerna za sodoben internet, saj je treba ta ključ vnaprej posredovati vsakemu od sogovornikov. Nekaj ​​časa, ko je razmeroma malo podjetij varovalo svoje podatke pri komunikaciji z že znanim partnerjem, so težavo reševali s pomočjo kurirjev in varne pošte, potem pa se je internet razširil in prišel na vrsto.

Asimetrična kriptografija

kjer sta vpletena dva ključa: javnosti, ki se ne taji in se komu posreduje; in zasebno, ki ga pozna le njegov lastnik. Kar je šifrirano z javnim ključem, je mogoče dešifrirati le z zasebnim in obratno. Tako lahko kdorkoli izve javni ključ prejemnika in mu pošlje sporočilo, le prejemnik ga bo prebral. Zdi se, da je problem rešen?
Vendar internet tako ne deluje, se problem pojavi v polni meri avtentikacija in še posebej, začetno avtentikacijo, in v nekem smislu nasprotni problem anonimnost. Skratka, kako sem lahko prepričan, da je oseba, s katero govorim, res oseba, s katero sem nameraval govoriti? in javni ključ, ki ga uporabljam, dejansko pripada osebi, s katero sem nameraval govoriti? Še posebej, če prvič komuniciram z njim? In kako lahko partnerju vlijete zaupanje in hkrati ohranite anonimnost? Že tukaj, če natančno pogledate, lahko opazite notranje protislovje.
Poglejmo na splošno, kakšni vzorci interakcije med udeleženci obstajajo in se uporabljajo v praksi:

  • strežnik - strežnik (ali posel - posel, v tem kontekstu sta ista stvar): to je najpreprostejša klasična shema, za katero povsem zadostuje simetrična kriptografija, udeleženci vedo vse drug o drugem, vključno s stiki zunaj omrežja. Vendar upoštevajte, da tu niti ne govorimo o nobeni anonimnosti, število udeležencev pa je strogo omejeno na dva. To pomeni, da je to skoraj idealna shema za izjemno omejeno število komunikacij in je v splošnem očitno malo uporabna.
  • strežnik - anonimni (oz. posel - odjemalec): tu je nekaj asimetrije, ki ji asimetrična kriptografija uspešno služi. Ključna točka pri tem je pomanjkanje avtentikacije odjemalca, strežniku je vseeno, s kom točno izmenjuje podatke; če je nenadoma potrebno, strežnik izvede sekundarna avtentikacija z uporabo vnaprej dogovorjenega gesla, nato pa se vse skrči na prejšnji primer. Na drugi strani pa stranka izjemno pomembno avtentikacijo strežnika, želi biti prepričan, da njegovi podatki dosežejo točno tisto osebo, ki ji jih je poslal, ta stran v praksi temelji na sistemu certifikatov. Na splošno je ta shema precej priročno in pregledno pokrita s protokolom https://, vendar se na stičišču kriptografije in sociologije pojavi nekaj zanimivih točk.
    1. zaupanje v strežnik: tudi če sem nekaj informacij poslal na sever na popolnoma varen način, imajo tehnično tujci tam dostop do njih. Ta težava je popolnoma zunaj obsega šifriranja, vendar vas prosim, da si zapomnite to točko, pojavila se bo pozneje.
    2. zaupanje v potrdilo strežnika: hierarhija potrdil temelji na dejstvu, da obstaja določena root certifikat vreden absolutno zaupanje. Tehnično lahko dovolj vpliven napadalec [prosimo, da besedo napadalec obravnavate kot strokovni izraz in ne kot obrekovanje ali žalitev obstoječe vlade] nadomesti certifikat katere koli nižje stopnje, vendar se predpostavlja, da sistem certificiranja potrebujejo vsi enako, tj. ta overitelj bo takoj izobčen in vsi njegovi certifikati bodo preklicani. Tako je, a vseeno upoštevajte, da sistem ne temelji na tehničnih sredstvih, ampak na nekakšni družbeni pogodbi. Mimogrede, o vročemAli je kdo v okviru pričakovane omladitve runeta na sodnem dnevu analiziral morebitno omladitev ruskega korenskega potrdila in posledice? Če je kdo že bral/pisal na to temo, naj mi pošlje linke, jih dodam, se mi zdi tema zanimiva
    3. posredna deanonimizacija na strežniku: tudi boleča tema, tudi če strežnik nima formalne registracije/avtentikacije, obstaja veliko načinov za zbiranje informacij o stranki in njeno končno identifikacijo. Zdi se mi, da je koren problema v obstoječem protokolu http:// in njemu podobnih, ki pričakovano niso mogli predvideti takšnega zgražanja; in da bi bilo povsem mogoče ustvariti vzporedni protokol brez teh lukenj. Vendar je to v nasprotju z vsemi obstoječimi praksami monetizacije in je zato malo verjetno. Še vedno se sprašujete, ali ga je kdo poskusil?
  • anonimen - anonimen: dve osebi se srečata na spletu, (možnost - pravkar sem se spoznal), (možnost - ne dva, ampak dva tisoč), in želita klepetati o svojih stvareh, vendar tako, da Veliki brat ni slišal (možnost: mama ni izvedela, vsak ima svoje prioritete). Morda boste v mojem glasu slišali ironijo, a to je zato, ker je to to. Uporabimo Schneierjev postulat za problem (vsak algoritem je mogoče razbiti, če je vloženih dovolj sredstev, torej denar in čas). S tega vidika prodiranje v takšno skupino z družbenimi metodami ne predstavlja nobene težave, da ne omenjam denarja, torej kriptografske moči algoritma. nič z najbolj sofisticiranimi metodami šifriranja.
    Vendar pa imamo za ta primer drugi bastion - anonimnost, in nanj polagamo vse upe, čeprav nas vsi poznajo, a nas nihče ne najde. Ali resno mislite, da imate ob najsodobnejših tehničnih načinih zaščite možnosti? Naj vas spomnim, da zdaj govorim samo o anonimizaciji, z varstvom podatkov smo, kot kaže, že prepričljivo opravili. Da bo jasno, se dogovorimo, da če vaše ime postane znano ali domači naslov ali IP naslov, udeležba popolnoma ni uspela.
    Ko smo že pri ip-ju, tukaj nastopi zgoraj navedeno zaupanje v strežnik, brez dvoma pozna vaš IP. In tukaj vse igra proti vam - od preproste človeške radovednosti in nečimrnosti do korporativnih politik in enake monetizacije. Samo ne pozabite, da sta VPS in VPN tudi strežnika; za teoretike kriptografije so te okrajšave nekako nepomembne; Da, in pristojnost strežnika ne igra vloge v primeru velike potrebe. To vključuje tudi šifriranje od konca do konca – sliši se lepo in solidno, a mora strežnik vseeno verjeti na besedo.
    Kakšna je splošna vloga strežnika v takem messengerju? Prvič, nepomembno je, da poštar, če prejemnika ni doma, pride pozneje. Ampak tudi, kar je veliko bolj pomembno, je to točka srečanja, pisma ne morete poslati neposredno prejemniku, pošljete ga strežniku za nadaljnji prenos. In kar je najpomembnejše, strežnik vodi potrebna avtentikacija, ki vsem potrjuje, da ste vi, in vam - da je vaš sogovornik res tisti, ki ga potrebujete. In to počne z vašim telefonom.
    Se vam ne zdi, da vaš glasnik ve preveč o vas? Ne, ne, seveda mu verjamemo (in mimogrede tudi svojemu telefonu, hmm), a kriptografi nam zagotavljajo, da je to zaman, da ne moremo verjeti prav nikomur.
    Niste prepričani? Obstaja pa tudi enak socialni inženiring, če imaš v skupini sto sogovornikov, moraš preprosto predvidevati, da je 50 % sovražnikov, 49 % pa je nečimrnih, neumnih ali preprosto malomarnih. In preostali en odstotek, ne glede na to, kako močni ste v metodah informacijske varnosti, se verjetno ne morete upreti dobremu psihologu v klepetu.
    Zdi se, da je edina obrambna strategija izgubiti se med milijoni podobnih skupin, a tu ne gre več za nas, spet za neke vohune-teroriste, ki ne potrebujejo spletne slave ali monetizacije.

No, zdi se mi, da sem nekako utemeljil (ne, nisem dokazal, samo utemeljil sem) svoja ostra razmišljanja o varstvu podatkov v sodobnem modelu družbe. Sklepi so preprosti, a žalostni - ne smemo računati na večjo pomoč šifriranja podatkov, kot jo že imamo, kriptografija je naredila vse, kar je lahko, in dobro, vendar je naš model interneta popolnoma v nasprotju z našo željo po zasebnosti in izniči vsa naša prizadevanja. . Pravzaprav nikoli nisem pesimist in zdaj bi res rad povedal nekaj svetlega, pa enostavno ne vem, kaj.
Poskusite pogledati v naslednji razdelek, vendar vas opozarjam - obstajajo popolnoma rožnate neznanstvene fantazije, vendar lahko nekoga pomirijo in vsaj nekoga samo zabavajo.

Ali je sploh mogoče kaj narediti?

No, na primer, razmislite o tej temi, po možnosti tako, da osvobodite svojo zavest in zavržete predsodke. Na primer, začasno popolnoma žrtvujmo anonimnost, pa naj se sliši še tako grozno. Naj ima vsak od rojstva edinstven osebni javni ključ in seveda pripadajoči zasebni ključ. Ni treba kričati name in topotati z nogami, idealni svet to je zelo priročno - tukaj imate potni list, davčno številko in celo telefonsko številko v eni steklenici. Poleg tega, če temu dodate posamezno potrdilo, dobite univerzalni avtentifikator/prijavo; in tudi žepni notar z možnostjo overitve vseh dokumentov. Sistem lahko naredite večnivojski - javno dostopna sta samo javni ključ in potrdilo, za prijatelje (katerih seznam ključev je priložen tukaj) lahko daste na voljo svoj telefon in kaj še zaupajo prijateljem, morda je še globlje ravni, vendar to že pomeni nepotrebno zaupanje v strežnik.
S to shemo je zasebnost posredovanih informacij dosežena samodejno (čeprav po drugi strani, zakaj, v idealnem svetu?), Alice nekaj piše Bobu, vendar tega ne bo prebral nihče, razen samega Boba. Vsi messengerji samodejno prejmejo šifriranje od konca do konca, njihova vloga je zmanjšana na poštne predale in načeloma ni mogoče pritoževati nad vsebino. In strežniki sami postanejo zamenljivi, lahko pošiljate prek enega, prek drugega ali celo prek verige strežnikov, kot je e-pošta. Lahko ga pošljete tudi neposredno prejemniku, če je njegov IP znan, ne da bi se sploh obrnili na posrednike. Ali ni to super? Škoda le, da nam ne bo treba živeti v tem čudovitem času - ne zame ne za vas. Nn-ja, spet govorim o žalostnih stvareh.
Naprej, kam vse to shraniti? No, na pamet mi je ustvariti odprt hierarhični sistem, nekaj takega kot trenutni DNS, le močnejši in obsežnejši. Da ne bi skrbnikov root DNS obremenjevali z dodatki in spremembami, lahko naredite brezplačno registracijo, potrebno je le preverjanje unikatnosti. všeč >>" Pozdravljeni, nas je pet ljudi, družina Ivanov. Tukaj so naša imena/vzdevki, tukaj so javni ključi. Če kdo vpraša, naj nam ga pošlje. In tukaj je seznam sto petsto babic iz našega konca s svojimi ključi, če jih prosijo, nam jih pošljite tudi vi.«
Samo namestitev in konfiguracijo takšnega domačega strežnika morate narediti izjemno preprosto in priročno, da se lahko vsakdo znajti, če hoče, spet nihče ne bo več nalagal nobenih uradnih državnih strežnikov.
Stop!, kaj pa ima potem država s tem?

Toda zdaj lahko skrbno obnovite anonimnost. Če lahko kdo zase generira osebni ključ in ga potrdi z individualnim certifikatom in si namesti nižji CA strežnik, ali vpraša soseda, ali na kakšen javni strežnik, zakaj je sploh potrebna ta uradništvo? In potem se ni treba navezati na pravi lik, popolna zasebnost, varnost in anonimnost. Dovolj je, da je na začetku hierarhije nekdo vreden zaupanja, no, mi verjamemo v TM ali Let's Encrypt, znani javni DNS-ji pa še nikogar niso poslali v stepo. Zdi se, da tudi od birokratov ne bi smelo biti pritožb, se pravi, pritožbe seveda bodo, ampak zakaj?
Morda bo nekoč nastal tak sistem ali kaj podobnega. In seveda nimamo na koga računati kot nase, nobena od meni znanih držav ne bo zgradila takega sistema. Na srečo že obstoječi Telegram, i2p, Tor in verjetno še kdo, na katerega sem pozabil, kažejo, da v osnovi nič ni nemogoče. To je naše omrežje in ga moramo opremiti, če nismo zadovoljni s trenutnim stanjem.
Brrr, po nesreči sem končal na patetični noti. Pravzaprav tega ne maram, nekako imam raje sarkazem.

PS: to so seveda vse roza smrklji in dekliške sanje
PPS: če pa se nenadoma kdo odloči poskusiti, rezervirajte vzdevek zame degs prosim, navajen sem
PPPS: in izvedba se mimogrede zdi precej preprosta

Vir: www.habr.com

Dodaj komentar