Criptarea informației – de la o idee veche de un secol, la o tehnologie care a devenit o adevărată mină de aur
În prima lună din 2021 WhatsApp a atras atenția asupra criptării informației mai mult decât oricare alt demers de până acum. Cum multe componente ale vieții noastre se bazează tot mai mult pe instrumente și servicii online e ușor de înțeles de ce oamenii care stăpânesc această tehnologie vor fi în avangarda transformării digitale.
Criptarea, în forma ei cea mai rudimentară, există de peste 2.000 de ani, cel puțin dacă ne luăm după detalii istorice mai mult sau mai puțin exacte. Cel mai bun exemplu e „cifrul lui Cezar”. E, totodată, și destul de simplu: inversezi poziția unor litere din alfabet și scrii mesajul cu „noul” alfabet.
Cifrul acesta e însă un exemplu excelent a ceea ce înseamnă criptografia: ai mesajul codat pe care îl pot vedea și alții, dar dacă nu ai cheia de decriptare a lui nu înțelegi ce e acolo. Cifrul lui Cezar e însă extrem de simplu și, în lumea modernă, nu oferă niciun fel de protecție. O aplicație ceva mai modernă a lui e ROT13. Iei primele 13 caractere din alfabet și le pui după celelalte 13 caractere. Raportarea se face la 26 de caractere, pentru că atâtea are alfabetul latin. Cel românesc folosește aceleași 26 de caractere, dar are 31 de litere (se adaugă și diacriticele ș, î, ț, ă, â).
Criptarea cât de cât modernă a pornit din 1917 și 1918 cu Edward Hebern, un american, și Arthur Scherbius, un german. Cel dintâi a creat o mașinărie electro-mecanică al cărei scop era să „cripteze” un mesaj prin schimbarea caracterelor. Scherbius e ceva mai popular în domeniu, deoarece el a folosit ideea lui Hebern și-a creat Enigma, mașinăria folosită de armata germană ca să-și ascundă conversațiile în timpul celui de-Al Doilea Război Mondial.
Își ascundea însă conversațiile în public, așa cum funcționează și criptarea de acum: poți vedea că „se trimit” mesaje, dar nu le poți „citi”. Sau cel puțin așa ar trebui să funcționeze, pentru că fiecare companie care implementează criptarea, într-o formă sau alta, o face așa cum vrea.
Criptarea de care vorbim în prezent a fost, dacă se poate spune așa, stabilizată în anii ‘40 de Claude E. Shannon, care lucra la Bell Labs. A publicat întâi articolul „O teorie matematică a comunicației”, care a devenit mai târziu cartea numită „Teoria matematică a comunicației”. De aici a pornit criptografia, apoi, odată cu serviciile digitale și dispozitivele electronice a fost adoptată, adaptată și dezvoltată.
Momentul WhatsApp din 2021 i-a făcut și pe profani interesați de criptare
În lumea celor cât de cât interesați de tehnologie sau specializați în dezvoltarea ei, de la programatori la ingineri, criptarea nu era un subiect nou, pentru că îi știau deja potențialul, utilitatea și tipurile de implementare.
Ce s-a întâmplat în 2021, mai puternic ca niciodată, e că WhatsApp a modificat termenii de utilizare a platformei. Pe scurt, utilizatorii care ar interacționa cu business-uri prin aplicație își dau acordul că acele conversații pot fi împărtășite cu Facebook (compania care controlează WhatsApp). De aici a pornit un backlash care a direcționat atenția către aplicații mai sigure. S-au remarcat Telegram, care deja numără utilizatorii cu sutele de milioane, și Signal, recomandată în trecut de Edward Snowden și, recent, de Elon Musk. Ba mai mult, Signal a fost susținută încă de acum doi ani de Brian Acton, unul dintre fondatorii WhatsApp, cu o investiție de 50 milioane dolari.Dar acestea nu sunt singurele aplicații de chat care folosesc criptarea și nu sunt, nici pe departe, cele mai sigure.
Totuși, și WhatsApp oferă criptare end-to-end. Schimbarea de acum e că nu ai criptare pe chiar toate mesajele. Cele cu prieteni, cele în grupuri, ar fi criptate, cele cu business-uri n-ar mai fi. WhatsApp a trecut la criptare încă de acum mai bine de patru ani. Și încă de la început un cercetător specializat în criptografie și securitate a arătat că protocolul are breșe serioase.
Criptarea WhatsApp e end-to-end, doar că folosește o cheie publică și una privată. Prima e folosită pentru a cripta mesajul, a doua pentru a-l descifra. Cheile publice sunt stocate pe serverele companiei și prima breșă poate fi fix acolo, pe server. Apoi, e vorba despre felul în care aplicația folosește cheia publică. Dacă îți schimbi telefonul sau reinstalezi aplicația, e generată o cheie nouă. Ca să fie conversația mai sigură, tu ar trebui să validezi că cealaltă persoană este una și aceeași cu persoana ta, printr-un cod unic. Doar că WhatsApp validează automat cheia și mesajele ar putea fi redirecționate către altt utilizator.
Public, WhatsApp susține că a făcut compromisul ca pentru utilizatorul final, de la cel mai experimentat la cel mai puțin priceput, bătaia de cap să fie cât mai redusă. Și dat fiind că vorbim de-o aplicație cu, în prezent, peste două miliarde de utilizatori activi poate fi de înțeles.
Interesant e însă că WhatsApp și-a bazat standardul de criptare pe protocolul Open Whisper Systems, grupul independent care a creat și Signal. Până și în white paper face trimitere la el ca la „protocolul Signal”.
În cazul cheilor publice, în momentul înregistrării unui utilizator, aplicația trimite către server o Identity Key Pair (pereche long-term Curve25519), o Signed Pre Key (pereche medium-term Curve25519, semnată de IKP și schimbată la anumite intervale) și One-Time Pre Keys (un șir Curve25519 generat o dată, în momentul instalării, și schimbat când e nevoie).
Pentru sesiune, sunt generate o Root Key cu valoare de 32 byte pentru a genera Chain Keys în standardul AES256, iar o Chain Key are o valoare de 32 byte pentru a crea Message Keys. În fine, Message Key are o valoare de 80 byte pentru a cripta conținutul mesajelor. 32 bytes pentru o cheie AES256, 32 byte pentru o cheie HMAC-SHA256 și 16 byte pentru Initialization Vector (IV). Toate acestea sunt folosite apoi pentru a cripta mesajele, conținutul media transmis sau un apel vocal sau video.
Pe scurt, criptarea WhatsApp nu-i nici mai bună, nici mai proastă decât ce oferă alte aplicații similare. Ce se schimbă însă e că această aplicație face parte dintr-un ecosistem closed source, controlat de Facebook, în timp ce Signal e open source și eventualele vulnerabilități pot fi mai ușor depistate și reparate. De cealaltă parte, și iMessage promite criptare, dar are aceeași problemă: closed source. Esențial e însă că schimbarea făcută de WhatsApp a atras atenția asupra securizării datelor.
Sursa foto: Unsplash
Criptarea are două probleme: neatenția și interesul unei entități terțe
În 2021 s-au întâmplat două lucruri care au atras mai mult atenția spre intimitate online. Primul e cazul WhatsApp de mai sus. Al doilea e sistemul anti-tracking introdus de Apple în iOS 14 și care a lovit direct în afacerea Facebook de livrat reclame. Până la urmă, rețeaua socială a spus că acceptă schimbarea, cumva. Nu asta contează însă, ci demersul pentru confidențialitate.
Am spus că această tehnologie a devenit o mină de aur. Și va continua să crească, nevoia de ingineri în domeniu fiind mai mare ca niciodată. Pe de o parte vorbim de sistemele financiare, gestionate de bănci și servicii terțe, cu un focus tot mai mare pe tranzacții online sigure. Siguranța banilor e ușor de înțeles de toți oamenii. Apoi, sunt serviciile și aplicațiile în care ne stocăm tot mai multe amintiri.
Când vorbim de servicii, acestea au limitările lor cauzate fie de neatenție, cum a fost cazul cu Facebook care a stocat parole în plain text încă din 2012, fie de nevoia de-a nu supăra peste măsură autoritățile, cum a fost cazul cu Apple care ar fi renunțat la criptarea backup-urilor din iCloud pe motiv că celor de la FBI le-ar fi îngreunat investigațiile. Asta în ciuda unei dezbateri care a cuprins America și alte câteva țări în urmă cu cinci ani, când Apple a refuzat să deblocheze un iPhone criptat. Apoi, FBI ar fi plătit 900.000 de dolari unei companii din Israel ca să spargă acel telefon.
Cazul acesta e destul de vechi, dar aduce la un loc cei trei jucători interesați (direct sau indirect) de criptare: autoritățile care nu s-ar supăra să poată accesa orice serviciu și dispozitiv, creatorul serviciului sau dispozitivului care și l-ar vrea sigur, și n-ar vrea să se pună rău cu toate autoritățile din toată lumea, și utilizatorul final care vrea intimitate (situație care se schimbă când încalcă legea, dar acolo e altă discuție).
Nevoia utilizatorului final, fie că e consumer, fie că e corporate, pentru securitatea datelor a devenit deja o piață de miliarde de dolari. Până în 2025, va depăși o valoare de piață de 20 miliarde dolari. Înseamnă mai mult de o dublare de la cât a însemnat în 2020, iar digitalizarea accelerată susținută de anul precedent e posibil să facă această estimare să pară pesimistă. Uite încă una: serviciile de mail criptate vor depăși 25 miliarde dolari până în 2030.
Un alt moment cheie în creșterea atenției pentru criptare și pentru publicul larg, nu doar în scenarii punctuale sau în domeniul militar, a fost recomandarea Comisiei Europene către cei din staff de-a folosi Signal. O parte din motivarea recomandării a fost fix că-i open source. Motivarea mai puternică a fost însă că membrii structurilor UE sunt neatenți când vine vorba de securitatea conversațiilor.
Cu tot acest avânt în față am vrut să aflu de la un expert în securitate cibernetică ce înseamnă, de fapt, pentru securitatea noastră, a tuturor, dar și cum a devenit amenințarea de tip ransomware personajul negativ al criptării.
Bogdan Botezatu, director de cercetare în amenințări informatice, Bitdefender, susține că, în cazul ransomware, tehnica de criptare e aceeași. „Folosește o combinație de cheie publică – privată și criptare simetrică. Dacă nu s-ar baza pe asta, n-ar putea cripta volumul imens de date într-o perioadă scurtă. Ce e însă interesant e că unul dintre boom-urile ransomware a fost tocmai acesta: schimbul de perechi de chei publice – private via internet, de pe un server central, astfel că ransomware-ul nu mai e vulnerabil în fața brute force-ului, adică să ghicești cheia. Creșterea a început din 2014 și trece acum de 4 miliarde dolari la nivel anual ca business”, a explicat acesta.
Independent de cea mai problematică amenințare cibernetică, Bogdan consideră că interesul tot mai mare pentru criptografie e justificat de câțiva factori care duc la atragerea de talente în zona asta.
„Primul și cel mai evident e zona de criptomonede. Bitcoin a crescut atât de mult, încât și în România sunt mulți oameni implicați în lansare de criptomonede sau activează în startup-uri specializate în blockchain, unde interesul e chiar mai mare decât pentru monede. Apoi e zona de securitate cibernetică, unde activăm și noi la Bitdefender, dar mai sunt câțiva jucători mari activi chiar și în România. În final, avem partea opusă”, detaliază acesta.
Sursa foto: Pexels
„De partea cealaltă a baricadei creșterea interesului față de criptografie a fost fie ca rezultat al amenințărilor cu ransomware, adică au avut succes ca amenințare în zona financiară, și se dezvoltă mult în cybercrime, fie e interesul sporit al guvernelor care vizează spargerea algoritmilor criptografici ca să expună informații la care nu mai au acces”, adaugă Bogdan.
Iar când vine vorba de guverne resursele sunt și mai mari. În cazul acestora, pentru majoritatea statelor, trecerea la criptare end-to-end a însemnat că nu mai putea fi realizate interceptări clasice. „În prezent, peste 80% din traficul global pe internet e criptat. Asta înseamnă că guvernele nu mai au vizibilitate. Și atunci se merge mult pe cript-analiză (analiza protocoalelor de criptare pentru a găsi o vulnerabilitate), la brut force prin folosirea supercomputerelor pentru a ghici care e cheia perechea unei chei private sau la dezvoltarea de exploit-uri”, completează Bogdan. „Și sunt companii, ca NSO Group, care au decis să ia altă cale: sparg telefonul, unde mesajele sunt necriptate. E o piață uriașă a exploit-urilor, cu prețuri de aproape 1 milion de euro per vulnerabilitate de iPhone, de exemplu”.
Bogdan atrage atenția și asupra unei criptări mai puțin vizibilă: cea pe streaming video. Platforme ca Netflix folosesc protocoale DRM pentru a-și securiza conținutul față de cei care ar vrea să-l pirateze. Un exemplu secundar e Kudelski, companie din Elveția, care vinde algoritmi de criptare pentru servicii de TV over IP.
După cum mi-a explicat el, suntem în momentul de față în procesul de lucru pentru algoritmi de optimizare a criptării. „Sunt companii și chiar vendori de ransomware care lucrează la metode alternative prin care tu să criptezi doar o parte a mesajului (fișier video, bază de date etc.), dar în același să faci fișierele inutilizabile pentru public larg care n-are cheile.
Mixul între securizarea software și hardware
Disputa dintre Apple și FBI a pornit de la refuzul companiei de-a furniza o cale prin care să fie accesat dispozitivul. Până acum am discutat de criptarea software, dar la fel de importantă e cea hardware. Un mix între cele două ar putea garanta o securitate mai mare, zonă pe care, din sfera Android, a intrat și Samsung încă din 2013 când a anunțat Knox, o platformă care să securizeze telefoanele
În 2013, încă se discuta despre Bring Your Own Device. Între timp, acel trend fie a murit, în unele organizații, fie a fost transformat în Bring Any Device sau Use Any Device. Și aici a contribuit 2020, pe măsură ce conceptul Work From Home a trebuit implementat la nivel global. În fine, ideea e că securizarea dispozitivului, de orice tip ar fi el, e binevenită.
Securizarea dispozitivului presupune și să ai un control asupra lui de la distanță. Dintre producătorii de telefoane cu Android, Samsung a insistat cel mai mult aici. Și a pornit de la cum pornește sistemul de operare. Așa că există Trusted Boot și un sistem de verificare a integrității la nivel de kernel (TrustZone Integrity Management Architecture). Și Android are, pentru orice producător îl folosește, opțiunea de secure boot care oprește boot-area de software care ar putea dăuna.
La nivelul procesului de boot, Android folosește un primary bootloader pentru inițializarea hardware, încarcă fișierul de boot și trece la un secondary bootloader. Primul verifică semnătura electronică și că nu a fost modificat protocolul de criptare. Asta se face printr-o operațiune standard de Public Key Infrastructure (PKI). Fișierul verifica e trecut printr-o funcție hash și e semnat cu o pereche de chei publice și private. În cazul Samsung, această pereche de chei mai trece printr-un proces de certificare.
Ca să root-ezi un Android ai nevoie de un bootloader deblocat. Sau, altfel spus, un secure boot dezactivat. Ceea ce e deosebit de interesant pentru cine vrea să experimenteze cu telefonul, dar o bătaie de cap pentru o corporație. Prin Knox e utilizat Trusted Boot care înregistrează fiecare proces de boot și stochează datele în TrustZone Trusted Execution Environment (TEE). Astfel, vulnerabilitățile ar fi oprite înainte să acceseze datele de pe dispozitiv.
Un demers similar a făcut și Apple, care are însă avantajul de-a controla totul. Cum compania își dezvoltă singură procesoarele, de câțiva ani a introdus în ele ceea ce numește Secure Enclave. Folosește tehnologia pe iPhone, iPad, Watch, Apple TV și chiar boxa HomePod. Pe computere, cât încă folosește procesoare Intel, a recurs la cipul T1 și T2. Din 2020, a anunțat primul procesor pe arhitectură ARM, ceea ce înseamnă că migrează tehnologie de pe dispozitive mobile spre computere cu tot pachetul de securitate. Secure Enclave stochează cheile de criptare și miza e să îngreuneze cât mai mult accesarea datelor, mai ales dacă n-ai acces fizic la dispozitiv.
Accesul fizic la dispozitiv, indiferent cine îl face, e crucial. Până și Signal a fost într-o poziție similară, când compania Cellebrite din Israel a spus că a „spart” criptarea aplicației. De fapt, avea dispozitivul la îndemână și acesta nu era blocat.
Hardware-ul e însă tot mai important. Tocmai de aceea am discutat cu cei de la CryptoData despre cum văd ei situația asta și evoluția în viitor. Ei vizează atât dezvoltarea unui sistem de operare securizat, cât și comunicații și dispozitive securizate prin chei fizice. Mai mult, la nivel software, se bazează pe blockchain și au dezvoltat și protocolul Voice Over Blockchain Protocol (VOBP), iar pentru stocare descentralizată de date folosesc InterPlanetary File System (IPFS).
„Aplicațiile de mesagerie ca WhatsApp, Signal sau Telegram pun datele din transferuri de fișiere pe servere (Amazon pentru primele două și server separat pentru ultima – n.r.). Pentru aplicația noastră Wisp noi folosim o rețea de distributed storage cu B-IPFS (Blockchain InterPlanetary File System). Tehnologia e încă în fază incipientă, la nivel global, dar oferă o stocare sigură, descentralizată”, explică Sebastian Bârligă, cofondator CryptoDATA.
Compania oferă, în prezent, un laptop și un smartphone securizate. Tot cu referire la WhatsApp sau Telegram, când te înregistrezi pe ele, folosești un număr de telefon. Problema e că, după cum detaliază Sebastian, acel număr e legat de un nume, un buletin, o persoană. Ei propun identități secundare generate automat printr-o cheie fizică de criptare conectată la dispozitiv prin care poți accesa Vault, unde ai ceea ce compania numește Matrix ID. Și poate fi generat un număr infinit de „identități”.
cod poza
Sursa foto: Unsplash
„Noi am plecat de la ideea că oricât de bună ar fi criptarea, dacă sistemul e compromis tot îți pot fi accesate datele. În cazul telefonului nostru, de exemplu, sistemul de operare e bazat pe un kernel de Android, dar procesul prin care e securizat e mai important”, explică Sebastian. “La fabrică, telefonul are doar un sistem de operare barebone, cu o singură aplicație: update de sistem. Când telefonul ajunge la utilizatorul, trebuie să instaleze actualizarea, iar pentru asta se conectează la serverele noastre. Instalarea presupune flash la ROM și luat totul de la zero. Pentru a elimina atacurile de tip man-in-the-middle avem certificate pinning pe toate domeniile. Astfel, doar domeniile noastre sunt apelate și nu altele. Totodată, folosim DNSCrypt ca să eliminăm posibilitatea de-a direcționa utilizatorul către alt server în urma unui atac asupra rețelei Wi-Fi”.
În cazul aplicațiilor, pot fi folosite cele de Android, unele dintre ele, dar utilizatorul e informat că decizia îi poate compromite securitatea. Altfel, telefonul rulează aplicații dezvoltate de CryptoDATA și unele third-party, dar nu există un terț, nu există Google Services, nici vreun server. „Pentru a folosi tot ecosistemul e necesară o suită de aplicații. Aplicațiile sunt semnate independent fiecare în parte cu cheia lor, nu cu cea de sistem”, adaugă Sebastian.
În cazul ROM-ului, întâi e dezvoltat pe un calculator fără conexiune la internet (și care n-a fost vreodată conectat la internet). Apoi, e semnat cheile cu aceleași cu care a fost semnat sistemul de operare.
Demersul acesta face parte din lista celor care te pot ține cât mai în siguranță și care ajută scopurilor tale (oricare ar fi ele). Totodată, e o bătaie de cap imensă pentru un utilizator obișnuit, ceea ce subliniază și de ce companiile mari fac un compromis între ușurința utilizării și securitate.
O ultimă idee despre securizare privește spre un viitor definit de computere cuantice. Deocamdată, discutăm despre ele doar la nivel de experiment și de un potențial imens de descoperit și explorat. Una dintre grijile importante în cazul acestora e că vor sparge foarte ușor criptarea.
Un computer obișnuit din prezent ar avea nevoie de miliarde de ani ca să spargă standardul RSA-2048. Un computer cuantic ar putea-o face în mai puțin de o zi. Nu acum, dar în momentul în care ar ajunge atât la stabilitate, cât și la o capacitate mai ridicată. De exemplu, un computer cuantic cu 4.099 de qubiți ar reuși să spargă RSA-2048 în 10 secunde. Doar că, în prezent, majoritatea computerelor cuantice dezvoltate au câțiva zeci de qubiți, iar aceștia nu sunt într-o stare perfect stabilă. Stabilitatea lor determină și viteza, și calitatea operațiunilor. Există excepții, sigur, cum ar fi sistemul D-Wave anunțat în 2020 cu 5.000 de qubiți. Poate rezolva însă doar probleme de optimizare, ceea ce-i reduce utilitatea, dar arată că există loc de dezvoltare.
Doar că s-a lucrat și altfel, fără stabilitate perfectă. În mai 2019, Craig Gidney și Martin Ekerå au venit cu un calcul cel puțin interesant: RSA-2048 spart în 8 ore cu 20 de milioane de qubiți care nu sunt perfect stabili. Au luat în calcul eroarea sistemului Q System One al IBM și au ajuns la această valoare. Totuși, e una mult mai mică față de 1 miliard de qubiți, conform unui calcul din 2012.
Până când vom discuta despre problemele ridicate de supercomputere care sparg rapid codurile de criptare, încă mai sunt soluții. Întâi, e criptarea cu mai multe standarde, care poate fi și e aplicată încă de acum în anumite domenii. Urmează dezvoltarea standardelor și algoritmilor noi de criptare. În final rămâne folosirea computerelor cuantice ca să protejeze date, cât altele sunt folosite ca să ajungă la ele. Rămâne o singură certitudine, independent de toate celelalte: criptarea devine mainstream, cererea creștere și dezvoltarea ei va trece pe steroizi.