►► Ofertele continuă la: eMAG・Fashion Days・Finestore・Dyson・Flip. 📺 YouTube: youtube.com/NwraduBlog ◄◄
27 Feb 2024 ·
Se vorbește destul de mult în ultimul an despre criptarea end-to-end. Google se luptă cu Apple spunând că standardul RCS este mai sigur pentru că oferă criptarea tuturor mesajelor, Facebook Messanger m-a întrebat recent de un PIN cu care să securizeze mesajele criptate anterior șamd. Așa că iată o explicație în termeni cât mai simplu despre ce înseamnă criptarea end-to-end.
În primul rând, de ce criptăm ceva? Pentru ca, în cazul în care o altă persoană interceptează mesajul respectiv, să nu-l poată înțelege. Exemplul uzual este legat de mesagerie (WhatsApp, SMS etc), dar la fel de bine se criptează și emailuri sau fișiere pe care le trimitem altora, totul din motive de securitate.
Criptarea de la un punct la altul se bazează pe perechi de chei. O cheie criptează mesajul. Doar cealaltă cheie îl poate decripta cu succes. Ce este important de reținut: cheile de criptare se bazează pe niște probleme matematice foarte complexe, atât de complexe și consumatoare de timp încât ar putea fi sparte doar în ani de zile de calcule chiar și folosind cele mai performante super-computere.
Algoritmii de criptare, problemele respective în sine, au fost de la început astfel alese încât, în ciuda faptului că un procesor de acum este poate de 100 de ori mai rapid decât unul din 2004, tot nu este capabil să spargă într-un timp rezonabil un mesaj criptat.
Există însă două principii mari de criptare. Să folosim ca exemplu faptul că Radu îi trimite Matildei un mesaj printr-o aplicație de mesagerie.
Criptarea in-transit sau “la transport”. Mesajul este criptat în telefonului lui Radu și trimis către serverul serviciului de mesagerie folosit de noi. Acolo, mesajul este decriptat de server, apoi este criptat cu o nouă cheie și trimis către Matilda, unde este decriptat în telefonul ei.
Altfel spus, mesajul este criptat în drumul său prin Internet, dar la un moment dat se găsește decriptat pe serverul furnizorului de serviciu. Sunt mai multe perechi de chei în lucru, una Radu-server și alta server-Matilda.
Este ca într-un serviciu de transport de marfă. Paletul de marfă vine de la fabrică într-un TIR și ajunge întâi la un hub logistic. Acolo paletul este descărcat și apoi încărcat într-un alt camion care merge în direcția dorită. În hub, însă, marfa a fost analizată, s-a văzut ce conține pachetul, s-a notat undeva ce greutate avea și ce conținea.
(M-am gândit acum la altă analogie bună privind securitatea: tu trimiți marfă cu avionul către un destinatar, dar la aeroport marfa este scanată cu raze X și deci conținutul ei devine cunoscut autorităților.)
Criptarea end-to-end. Mesajul este criptat în telefonul lui Radu și doar telefonul Matildei are cheia necesară pentru a-l decripta. Serverul serviciului de mesagerie știe doar de la cine vine mesajul și unde trebuie trimis mai departe, dar nu și conținutul său. Serverul îi poate face o copie pentru a-l stoca o perioadă, dar copia în sine rămâne criptată chiar și acolo.
O analogie bună ar fi sistemul clasic de poștă. Pe plic scrie la ce adresă trebuie să ajungă, dar niciunul dintre angajații Poștei nu știe ce este în interiorul plicului. Închipuiți-vă aici că vorbim de un plic din fier, astfel încât poștașul să nu-l poată desface nici dacă ar vrea asta.
Un pic de tech talk: criptarea end-to-end este numită în română criptare de la un capăt la altul. Prea mult de scris. Eu o să-i spun end-to-end și, de acum încolo, E2E, cum este abreviat uzual (sau chiar E2EE, end-to-end encryption).
Așadar, avantajul criptării E2E este că nimeni nu poate citi mesajul tău, în afara destinatarului căruia i se adresează. Este o metodă mult mai sigură de comunicație, una care menține confidențialitatea dialogului pe termen foarte lung.
De ce nu au fost de la început toate serviciile de mesagerie securizate E2E? Pentru că, organizațional vorbind, este mai complicat. Cheile de criptare trebuie schimbate direct între cele două persoane, ceea ce este mai greu decât pare pentru că trebuie făcută în mod securizat. În sistemul in-transit, serverul este mult mai capabil să gestioneze mesajele când de fapt toate i se “adresează” și le retrimite mai departe după o decriptare-criptare.
Culmea este că sistemul E2E nu are numai avantaje, deși din cum l-am prezentat eu pare net superior.
Avantaje ar fi:
Dezavantaje:
Practic, avantajul zis de mine pentru opozanții dintr-un regim dictatorial se transformă în dezavantaj într-o țară democratică, unde Poliția are nevoie de acces la conversațiile unor rău-făcători pentru a preîntâmpina crime sau pentru a-i condamna pe baza a, să zicem, discuțiilor dintre ei privind cum să dea o spargere la bancă sau ce șpagă să dea primarului pentru a primi un contract.
Altfel spus, criptarea E2E face datele și mesajele tuturor mai sigure, ceea ce în general este un avantaj, dar este un dezavantaj fix acolo unde legea ar avea mare nevoie de istoricul acelor conversații. Asta e viața.
Un pic de tech talk acum, dar de nivel mediu, însă nu trebuie musai să citiți și cele de mai jos.
Cheile acestea de criptare se bazează pe niște probleme matematice complexe. Una dintre ele, prescurtată RSA, folosește produsul a două numere prime foarte mari. Metoda inversă, să găsești cele două numere prime cu care se divide un număr foarte mare, ia foarte mult timp.
O altă metodă este cea numită “curba eliptică”. Aceasta ia două numere X și Y și calculează logaritm în baza X din Y = Z. Când ai direct numărul Z la dispoziție, este foarte greu să le găsești pe X și Y, în special când toate sunt foarte mari. Nu funcționează fix așa, de fapt, dar este un exemplu simplificat la maxim.
Cum spuneam, decriptarea cu forța durează foarte mult timp. Presupunând însă că ai timp la dispoziție, sistemele de comunicații au mai introdus încă o șmecherie în mecanismul de criptare: perechile de chei se schimbă foarte des. Să zicem că se schimbă la fiecare oră. Astfel, chiar dacă un supercomputer sparge criptarea discuției mele cu Matilda după ce muncește o lună de zile la asta, va avea acces doar la mesajele schimbate în acea oră. După aceea, mesajele noastre au fost criptate cu o altă pereche de chei și trebuie muncit încă o lună de zile pentru a le sparge și pe acelea.
Este echivalentul la a-ți schimba yala de la casă în fiecare oră. Chiar dacă pierzi cheia la un moment dat, nu mai poate fi utilizată de un hoț.
Protocoalele de comunicații includ metode pentru a transmite periodic celorlalte persoane noi perechi de chei (sau pentru a le genera local). Nici măcar o astfel de metodă nu este însă 100% sigură. Există tipuri de atacuri care (zic eu) intră în categoria numită generic man in the middle. Un atacator ar putea imita perfect telefonul Matildei astfel încât acel atacator, și nu Matilda, să primească următoarea pereche de chei criptografice atunci când ele se schimbă. Sau, în funcție de ce opțiuni are serviciul respectiv, un atacator ar putea convinge telefonul meu să trimită necriptat mesajele sau folosind o criptare mult mai simplă.
Criptarea poate feri datele personale de o mulțime de tipuri de atacuri și probleme, dar întreg sistemul trebuie să fie sigur, altfel pot fi exploatate anumite vulnerabilități ale lui de către cei care le descoperă.
În alte situații, chiar compania deținătoare a serviciului are un backdoor care îi dă acces la mesaje. Criptarea poate fi dezactivată de server sau programul de mesagerie poate trimite mesajele tale și necriptat, în paralel. Să zicem că astfel de opțiuni ar putea fi activate de către server fără știința ta în caz că Poliția aduce un mandat de intercepție sau, cum se pare că se întâmpla cu Skype și programul de spionaj Prism al NSA, agenția de spionaj avea acces direct la activarea unei astfel de opțiuni, fără a mai fi nevoie de un mandat.
Cei de la Apple au fost implicați într-un scandal acum câțiva ani. FBI-ul le-a cerut să introducă un backdoor în sistemul de mesagerie iMessage (sau în iPhone-uri în general, nu mai știu), prin care FBI-ul să poată avea acces la date în caz de nevoie. Apple a refuzat, din câte s-a anunțat oficial. În spatele scenei, nu știm ce au făcut de fapt.
O teamă este că, în viitor, computerele cuantice vor putea sparge rapid fișierele criptate de astăzi. Criptarea este foarte rezistentă la computere clasice, cele care funcționează în binar. Nu îmi este foarte clar cum funcționează unul cuantic și oricum cele existente sunt modele experimentale, dar din ce am înțeles eu acestea folosesc și alte stări decât 0 și 1 din binar. Acest mod de lucru poate fi utilizat pentru a decripta mult mai rapid ceva protejat de un algoritm clasic. Înțeleg chiar că s-a demonstrat că există algoritmi cuantici care pot sparge foarte rapid criptarea clasică.
Computerele cuantice au un viitor al lor și din acest motiv există un tip de atac numit Harvest Now, Decrypt Later. Zvonurile spun că în special guvernele marilor puteri interceptează și stochează orice informație criptată pe care pot pune mâna pentru un viitor în care computerele cuantice vor putea decripta acele date într-un timp mai rezonabil.
De ce ai vrea să decriptezi în 2035 fișiere criptate în 2024? Pentru că sunt anumite domenii (spioni sub acoperire, tehnică militară, conversații ale oponenților politici etc) în care informații vechi care vor fi utile și atunci.
Protecția pentru un astfel de scenariu se face acum prin așa numită criptografie post-cuantică (PQC), adică una gândită încă de acum să fie rezistentă și la metode cuantice de decriptare.
Criptarea PQC folosește o pereche de chei astfel create încât nu pot fi ușor sparte nici de computere cuantice. Signal au fost primii care au introdus criptare post-cuantică în sistemul lor. Signal folosește acest algoritm în etapa numită initial key establishment — adică atunci când deschizi un dialog cu cineva se creează și o pereche de chei rezistente la decriptare cuantică, chei ce vor fi folosite pentru a securiza conversația viitoare.
Apple duce mai departe această idee. Americanii au anunțat recent un protocol de securitate post-cuantic numit PQ3, în care cheile sunt special create astfel nu doar la început, ci și reactualizate periodic după aceea (re-keying). Chiar și dacă o cheie este compromisă (nu musai prin decriptare sau ghicirea ei, ci prin alte vulnerabilități), doar o mică parte din date va putea fi accesată.
Apple va introduce PQ3 odată cu iOS 17.4 și, cum update-ul va fi disponibil pentru iPhone-urile din ultimii ani, o mulțime de utilizatori vor trece deci automat la această metodă de criptare în iMessage. Protocolul folosește câte două chei, una “clasică” P-256 bazată pe un algoritm de curbă eliptică și una “post-cuantică” generată cu un algoritm numit Kyber-1024.
Au un blog post în care explică metoda complicată (cel puțin pentru mine așa sună) prin care fac regenerarea de chei pentru a securiza totul. Întrucât algoritmul este unul complet, generarea de chei noi nu se mai face la fiecare mesaj sau ceva de genul acesta de des, ci după o formulă ce ia în calcul cât de des trimiți mesaje, cât a trecut de la ultima schimbare de chei șamd. Estimarea lor este că schimbarea se va face în medie la fiecare 50 de mesaje, dar niciodată mai rar de 7 zile.
Bănuiala mea este că vom vedea astfel de algoritmi post-cuantici implementați în următorii ani de toate platformele de comunicație. Nu-i nevoie de ei în prezenți, ci poate peste 5-20 de ani, dar dă bine să te lauzi cu PQC și, odată ce o are concurența, nu poți rămâne în urmă.
Vreți un avatar în comentarii? Mergeți pe gravatar.com (un serviciu Wordpress) și asociați o imagine cu adresa de email cu care comentați.
Dacă ați bifat să fiți anunțați prin email de noi comentarii sau posturi, veți primi inițial un email de confirmare. Dacă nu validați acolo alegerea, nu se va activa sistemul și după un timp nu veți mai primi nici alte emailuri
Comentariile nu se pot edita ulterior, așa că verificați ce ați scris. Dacă vreți să mai adăugați ceva, lăsați un nou comentariu.
12 comentarii
27/02/2024 la 9:55 AM
Multumesc de explicatii,
Imi plac genul acesta de articole prin care explici cu exemple clare.
Mircea(Citează)
27/02/2024 la 4:51 PM
Mă bucur. Eu, de câte ori le recitesc, tot consider că am explicat prea complicat sau nu suficient de ușor de înțeles.
nwradu(Citează)
27/02/2024 la 11:21 AM
Dezvantajul cel mai mare la criptarea end-to-end e ca nu mai vad cei din mijloc mesajul astfel incat sa poata sa iti bage reclame personalizate.
Iar singura problema, cea a cautarii in mesajele vechi e strict problema FB/Meta. Oare de ce ei nu aveau criptare end-to-end de la inceput? Oare fix pentru ca iti citeau toate mesajele ca sa iti serveasca reclama apoi?
Iar partea cu politia/autoritatile? Absolut hilar acest motiv. Radu, infractorii adevarati folosesc solutii de genul EnnetCom nu FB Messenger. Cei ce folosesc facebook messenger pentru infractiuni oricum sunt niste gainari ce vor fi prinsi cu sau fara criptarea chatului.
Dar hei, sa dam mai mult control politiei, ce se poate intampla rau, nu?
lrpx(Citează)
27/02/2024 la 3:52 PM
Dap, pe ăsta de aia l-au pus la răcoare, că avea criptare din aia bună, direct pe telefon, nu pe serverul lui Țuc…
https://newsweek.ro/international/ce-pedeapsa-a-primit-liderul-mocro-maffia-cel-mai-temut-traficant-din-olanda-are-46-de-ani
Marinel(Citează)
27/02/2024 la 4:58 PM
Poate că da, dar eu zic că aflau mai multe despre tine din ceea ce făceai pe Facebook, nu ce vorbeai pe Messenger.
Fii serios, e plin la știri de politicieni și mafioți prinși pentru ce vorbeau pe chat-uri. Nu vorbim de spionaj cu James Bond aici.
nwradu(Citează)
27/02/2024 la 6:18 PM
Orice sistem de criptare pica cand politia reuseste sa infiltreze un om. Asa cum s-a intamplat si cu Encrochat.
lrpx(Citează)
27/02/2024 la 6:29 PM
lrpx(Citează)
27/02/2024 la 11:52 AM
Mai are si alte dezavantaje criptarea end-to-end:
Daca ai mai multe dispozitive care acceseaza acel chat, e posibil sa fie intarzieri la unele dintre ele (Whatsapp web, de exemplu), sau dureaza mai mult si e mai complicat sa adaugi un dispozitiv de pe care sa “consumi” chat-ul respectiv.
Tot nitpicking: la Messenger si Whatsapp doar continutul mesajului este E2EE. Toate metadatele sunt in clar: data/ora, destinatarul etc.
C(Citează)
27/02/2024 la 5:01 PM
Nici nu știu exact cum funcționează criptarea în acest caz. Am înțeles, dar nu sunt sigur, că se fac perechi de chei și între dispozitivele tale. Tu trimiți criptat inclusiv către celelalte dispozitve ale tale, cu perechi de chei separate.
Experiența mea cu whatsapp pe telefon și aplicația oficială pe laptop este bună, mesajele apar imediat și în partea cealaltă. La fel și pe Messenger.
S-ar putea să fie nevoie să fie așa din motive de transmisie, ca să știe ordinea mesajelor și cui să le trimită.
nwradu(Citează)
27/02/2024 la 3:12 PM
Foarte explicit si interesant articolul!
Bogdan(Citează)
27/02/2024 la 7:53 PM
Degeaba ai criptare end to end cand ai backdoor. Whatsapp are end to end encryption. Vezi cate grupuri sau indivizi au fost saltati pentru continut ilegal/abuziv. Cu tot cu “encryption” cu tot.
Astea is niste marketing stunts cand de fapt ei au access total la tot ce scrii tu daca este nevoie printr-un ordin judecatoresc sau nici macar ala.
Nu da nimeni 2 bani pe privacyul tau si asta o spun ca om care lucreaza cu datele utilizatorului.
Online nu exista nimic private. Ma pufneste rasul cand vad lume care chiar are impresia ca conversatiile sunt private.
Romanul(Citează)
28/02/2024 la 11:12 PM
Are E2E dar nu este activ by default :).
Alex(Citează)