Gândurile neîncetate ale unei persoane curioase despre criptografie și protecția datelor

Gândurile neîncetate ale unei persoane curioase despre criptografie și protecția datelor

De ce criptografie? Am cunoștințe destul de superficiale despre ea. Da, am citit lucrarea clasică Bruce Schneier, dar foarte demult; da, înțeleg diferența dintre criptarea simetrică și asimetrică, știu ce sunt curbele eliptice, dar atât. Mai mult, bibliotecile criptografice existente, cu obiceiul lor drăguț de a include denumirea completă a algoritmului în numele fiecărei funcții și cu o mulțime de inițializatori lăsând să se vadă, îmi provoacă o mare frustrare ca programator.Gândurile neîncetate ale unei persoane curioase despre criptografie și protecția datelor
Atunci de ce? Probabil pentru că atunci când citesc actualul val de publicații despre protecția datelor, informații confidențiale etc., am impresia că săpăm în direcția greșită, sau mai concret, încercăm, ajutați de mijloace tehnice (criptografia), să rezolvăm probleme în esență sociale. Hai să discutăm despre asta, nu promit revelații epocale sau propuneri concrete, gânduri vagi rămân gânduri vagi.

Un pic de istorie, doar o picătură

În 1976, în SUA a fost adoptat un standard federal pentru algoritmii de criptare simetrică - DES. Acesta a fost primul algoritm criptografic public și standardizat, creat ca răspuns la cerințele tot mai mari ale afacerilor pentru protecția datelor.

O întâmplare amuzantă

Algoritmul a fost publicat din greșeală. A fost optimizat pentru implementare hardware și era considerat prea complex și ineficient pentru implementarea software. Cu toate acestea, Legea lui Moore a reconfigurat rapid totul.

Parea a fi finalul poveștii - ia-l, criptează-l, decriptează-l, dacă este necesar, crește lungimea cheii. Poate că știți perfect bine că americanii au lăsat ''capcane'' în el, atunci pentru voi există un analog rusesc - GOST 28147-89, în care, de fapt, probabil aveți și mai puțină încredere. Atunci folosiți-le pe amândouă, una peste alta. Dacă credeți că FBI-ul și FSB-ul s-au unit pentru voi și și-au schimbat capcanele, atunci am o veste bună pentru voi - nu sunteți paranoid, aveți o simplă manie a măreției.
Cum funcționează criptarea simetrică? Ambele părți cunosc aceeași cheie, adică parola; ceea ce este criptat poate fi decriptat de același mod. Schema funcționează perfect pentru spioni, dar nu este deloc potrivită pentru internetul modern, deoarece această cheie trebuie trimisă în prealabil fiecăruia dintre interlocutori. O perioadă, în timp ce datele lor erau protejate de un număr relativ mic de companii care comunicau cu parteneri cunoscuți, problema a fost rezolvată cu ajutorul curierilor și poștei securizate, dar apoi internetul a devenit masiv și a apărut

Criptografia asimetrică

în care participă două chei: cheia publică, care nu este păstrată secretă și este comunicată oricui dorește; și cheia privată, pe care o cunoaște doar proprietarul. Ceea ce este criptat cu cheia publică poate fi decriptat doar cu cheia privată și invers. Astfel, oricine poate obține cheia publică a destinatarului și îi poate trimite un mesaj, pe care doar destinatarul îl va citi. Se părea că problema este rezolvată?
Dar internetul nu funcționează astfel, provocând astfel o problemă a autentificării , și, în special, autentificării inițiale, dar și, într-un anumit sens, problema opusă anonimatului. Pe scurt, cum pot fi sigur că persoana cu care vorbesc este într-adevăr cea cu care intenționam să discut? Și cheia publică pe care o folosesc aparține într-adevăr persoanei cu care intenționam să vorbesc? În special, dacă discut cu el pentru prima dată? Și cum să insuflu partenerului încredere în mine, menținând în același timp anonimatul? Chiar aici, dacă ne uităm atent, putem observa o contradicție internă.
Să examinăm, în linii mari, ce scheme de interacțiune între participanți există și sunt aplicate în practică:

  • server — server (sau business — business, în acest context este același lucru): aceasta este cea mai simplă schemă clasică, pentru care este suficientă criptografia simetrică; participanții știu totul unul despre celălalt, inclusiv contactele extranet. Cu toate acestea, rețineți — nu se poate vorbi despre anonimat aici și, în plus, numărul participanților este strict limitat la doi. Așadar, aceasta este o schemă aproape ideală pentru un număr extrem de limitat de comunicații și, în general, este evident puțin aplicabilă.
  • server — anonim (sau business — client): aici există o anumită asimetrie, care este gestionată cu succes de criptografia asimetrică. Punctul cheie aici este absența autentificării clienților, serverului nu îi pasă cu cine schimbă date, dacă va fi necesar, serverul efectuează autentificarea secundară prin intermediul unei parole convenite anterior, și atunci totul se reduce la cazul anterior. Pe de altă parte, clientului îi pasă extrem de mult de autentificarea serverului, el vrea să fie sigur că datele sale ajung exact la persoana la care le-a trimis; acest aspect se bazează în practică pe un sistem de certificate. În general, o astfel de schemă este acoperită în mod convenabil și transparent prin protocolul https://, totuși, apar câteva aspecte interesante la intersecția criptografiei și sociologiei.
    1. încrederea în server: chiar dacă am transferat informații într-un mod absolut sigur, acolo la acestea au acces, din punct de vedere tehnic, persoane străine. Această problemă este complet în afara responsabilității criptării, dar vă rog să rețineți acest aspect, va apărea din nou mai târziu.
    2. încrederea în certificatul serverului: ierarhia certificatului se bazează pe faptul că există un anumit certificat rădăcină , demn de încredere absolută. Din punct de vedere tehnic, un atacator influent [, vă rog să considerați cuvântul atacator drept un termen tehnic, nu o calomnie sau o insultă la adresa autorităților existente] poate substitui certificatul oricărei nivel inferior, totuși se presupune că sistemul de certificare este necesar tuturor în mod egal, adică acest certificat va fi imediat supus ostracizării și toate certificatele sale vor fi revocate. Așa, dar să observați că sistemul se bazează nu pe instrumente tehnice, ci pe un contract social. Apropo, despre apocalipsaÎn contextul așteptatei apocalipse a rănului rusești, cineva a analizat posibila închidere a certificatului rădăcină rusesc și consecințele? Dacă cineva a citit / scris pe această temă, trimiteți-mi linkuri, le voi adăuga, mi se pare un subiect interesant.
    3. Dezvăluirea indirectă pe server: este o problemă serioasă, chiar dacă serverul nu are o înregistrare sau autentificare formală, există numeroase metode de a aduna informații despre client și, în final, de a-l identifica. Cred că rădăcina problemei se află în protocolul http:// existent și în cele asemănătoare, care nu puteau prevedea un asemenea abuz; și că ar fi fost destul de posibil să se creeze un protocol paralel fără aceste slăbiciuni. Însă, acest lucru contravine tuturor practicilor existente de monetizare și, prin urmare, este puțin probabil. Și totuși, este interesant, a încercat cineva?
  • anonim — anonim: doi se întâlnesc pe internet, (varianta — tocmai s-au întâlnit), (varianta — nu doi, ci două mii), și vor să discute despre ale lor, dar așa încât Fratele cel Mare să nu audă (varianta — mama să nu afle, fiecare cu prioritățile lui). Poate îți aude ironia în voce, dar așa este. Să aplicăm postulatul lui Schneier la problemă (orice algoritm poate fi spart dacă se investesc suficiente resurse, adică bani și timp). Privind din acest punct de vedere, infiltrarea într-un astfel de grup prin metode sociale nu reprezintă nicio dificultate, fără a mai vorbi de bani, adică rezistența criptografică a algoritmului este nulă în cele mai sofisticate metode de criptare.
    Totuși, în acest caz avem un al doilea bastion — anonimatul, și pe acesta ne punem toate speranțele, să ne cunoască toți, dar nimeni să nu ne poată găsi. Totuși, în fața celor mai moderne metode de protecție tehnică, chiar credeți că aveți o șansă? Vă amintesc că acum discut despre anonimizare, în ceea ce privește protecția datelor cred că am ajuns deja la o concluzie convingătoare. Să stabilim, pentru claritate, că dacă ați devenit cunoscut numele sau adresa de acasă sau adresa IP, misiunea a eșuat complet.
    Apropo de IP, aici se ridică laorec mai sus menționatul încrederea în server, desigur, el știe IP-ul tău fără nicio îndoială. Și aici joacă împotriva ta totul — de la simpla curiozitate umană și vanitate, până la politicile corporative și monetizarea aceeași. Dar ține cont că VPS și VPN sunt de asemenea servere; pentru teoreticienii criptografiei, aceste acronime nu contează prea mult; da, și jurisdicția serverului nu joacă un rol major în cazuri grave. Aici intră și criptarea end-to-end — sună frumos și solid, dar serverul tot trebuie să fie crezut pe cuvânt.
    Care este de fapt rolul serverului într-un astfel de messenger? În primul rând, este trivial ca un poștaș; dacă destinatarul nu este acasă, trebuie să te întorci mai târziu. Dar, și acesta este mult mai semnificativ, este un punct de întâlnire; nu poți trimite o scrisoare direct destinatarului, ci o trimiți serverului pentru a fi transmis mai departe. Iar cel mai important, serverul efectuează autentificarea necesară, confirmând pentru toate părțile că tu ești tu, iar pentru tine — că interlocutorul tău este, într-adevăr, cel de care ai nevoie. Și face asta cu ajutorul telefonului tău.
    Nu crezi că messengerul tău știe prea multe despre tine? Nu, nu, noi chiar îi credem (și, de altfel, și telefonului nostru, hm), dar criptologii susțin că e în van, că nu trebuie să crezi pe nimeni.
    Nu te-a convins? Există și ingineria socială; dacă ai o sută de interlocutori în grupul tău, trebuie să presupui că 50% dintre ei sunt inamici, 49% sunt fie vanitoși, fie proști, fie pur și simplu neatenți. Iar procentul rămas, oricât de bine ai fi pregătit în metodele de protecție a informației, cu un bun psiholog în chat, cel mai probabil nu vei rezista.
    Singura strategie defensivă pare a fi să te pierzi printre milioane de grupuri similare, dar asta nu mai este despre noi, iarăși despre spioni-teroriști, căror rețea și monetizare nu le pasă.

Ei bine, mi se pare că am fundamentat (nu, nu am dovedit, doar am fundamentat) gândurile mele aspre cu privire la protecția datelor în modelul societății moderne. Concluziile sunt simple, dar triste — nu ar trebui să ne așteptăm la ajutor din partea criptării datelor mai mult decât avem deja, criptografia a făcut tot ce a putut și a făcut-o bine, dar modelul nostru de internet contrazice complet aspirațiile noastre de intimitate și anulează toate eforturile noastre. De fapt, chiar nu sunt pesimist și aș dori foarte mult să spun ceva optimist acum, dar pur și simplu nu știu ce.
Încercați să aruncați o privire în secțiunea următoare, dar vă avertizez — acolo sunt doar fantezii roz, neștiințifice, însă pot să încurajeze pe cineva și, măcar, să amuze pe cineva.

Se poate face ceva în acest sens?

Ei bine, de exemplu, putem medita asupra acestui subiect, de preferat deschizându-ne mintea și lăsând la o parte prejudecățile. De exemplu, să sacrificăm anonimatul, oricât de groaznic ar suna. Fiecare persoană să primească de la naștere o cheie publică personală unică, și, desigur, și o cheie privată corespunzătoare. Nu trebuie să țipați la mine și să bateti din picioare, în lumea ideală este extrem de convenabil — aici se află și pașaportul, și CNP-ul, și chiar numărul de telefon într-un singur loc. Mai mult decât atât, dacă adăugăm un certificat individual, obținem un autentificator/logare universal; iar în plus — un notar de buzunar cu posibilitatea de a certifica orice documente. Poate fi creat un sistem multilayer — în acces public doar cheia publică și certificatul, pentru prieteni (lista cheilor fiind atașată aici) se poate face disponibil telefonul și ce mai încredințează prietenii, pot exista niveluri și mai profunde, dar asta presupune deja o încredere inutilă în server.
În acest sistem, intimitatea informațiilor transmise este asigurată automat (deși, pe de altă parte, de ce, în lumea ideală?), Alice scrie ceva lui Bob, dar nimeni nu va citi asta în afară de Bob însuși. Toate aplicațiile de mesagerie primesc automat criptare end-to-end, rolul lor fiind acela de cutii poștale, fără a exista pretenții asupra conținutului. Și serverele devin interschimbabile, se poate trimite prin unul, prin altul, sau printr-o întreagă rețea de servere, ca un e-mail. De asemenea, se poate trimite direct destinatarului, dacă se cunoaște adresa lui IP, fără a contacta intermediari. Ce tare, nu? Păcat că nu vom trăi în această epocă minunată — nici eu, nici tu© Ah, da, din nou vorbesc despre lucruri triste.
Și unde am putea stoca toate acestea? La prima impresie, am putea crea un sistem ierarhic deschis, ceva asemănător cu DNS-ul actual, dar mai puternic și mai ramificat. Pentru a nu suprasolicita administratorii DNS-ului de bază cu adăugiri și modificări, putem permite înregistrări libere, singura verificare necesară fiind semnificativitatea. De genul >> „ Bună ziua, suntem cinci persoane, familia Ivanov. Iată numele/noi, iată cheile noastre publice. Dacă cineva întreabă — vă rugăm să ne trimiteți. Și, de asemenea, lista celor cinci sute de bunici din zona noastră cu cheile lor, dacă sunt întrebați, vă rugăm să ne trimiteți.«
Trebuie doar să facem instalarea și configurarea unui astfel de server acasă extrem de simple și convenabile, astfel încât oricine să se poată descurca, din nou, nimeni nu va supraîncărca serverele oficiale de stat.
Stop!, dar ce legătură are aici statul?

Acum, se poate recupera cu atenție anonimatul. Dacă oricine poate genera o cheie personală și să o confirme cu un certificat individual, instalând un server CA de nivel inferior, fie că cere ajutorul unui vecin, fie că folosește un server public, de ce este nevoie de toate aceste formalități? Și nu este nevoie să ne legăm de un personaj real, întregul proces poate fi complet privat, sigur și anonim. Este suficient ca la începutul ierarhiei să fie cineva demn de încredere, oare nu credem în TM sau Let’s Encrypt? Și DNS-urile publice cunoscute nu au dus pe nimeni în necunoscut. Din partea autorităților, nu ar trebui să existe plângeri, deși, desigur, vor fi plângeri, dar pentru ce anume?
Poate că, într-o zi, un astfel de sistem, sau ceva similar, va fi creat. Și, desigur, nu putem conta pe nimeni altcineva decât pe noi înșine, niciunul dintre statele pe care le cunosc nu va construi un astfel de sistem. Din fericire, serviciile existente Telegram, i2p, Tor și cu siguranță am uitat pe cineva, arată că nimic din ceea ce este fundamental imposibil nu există. Este rețeaua noastră, și trebuie să o organizăm dacă nu suntem mulțumiți de starea actuală a lucrurilor.
Brrr, s-a întâmplat să terminăm pe o notă pompoasă. De fapt, nu-mi place asta, mă simt mai aproape de sarcasm.

PS: toate acestea sunt, desigur, fantezii roz și vise de fată.
PPS: dar, dacă cineva se gândește să încerce - rezervați-mi un nickname. degs te rog, m-am obișnuit cu el.
PPPS: și, apropo, implementarea pare destul de simplă.

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster