Criptarea end-to-end (de asemenea criptare end-to-end ; criptare end-to-end în engleză ) este o metodă de transfer de date în care numai utilizatorii care participă la comunicare au acces la mesaje. Astfel, utilizarea criptării end-to-end nu permite accesul la cheile criptografice de către terți. [unu]
Pentru schimbul de chei pot fi utilizați atât algoritmi simetrici , cât și asimetrici . [2] Criptarea end-to-end presupune că cheile de criptare sunt cunoscute numai de părțile care comunică. Pentru a implementa această condiție, poate fi folosită o schemă cu partajare preliminară a secretelor sau, de exemplu, protocolul Diffie-Hellman , care este utilizat în mesajele instant WhatsApp [3] și Telegram [4] [5] .
Criptarea de la capăt la capăt asigură că numai expeditorul și destinatarul au acces la textul original al mesajului. [6] Aceasta înseamnă că informațiile utilizatorului devin inaccesibile chiar și pentru serverele care transmit date. [6]
Criptarea și decriptarea au loc pe dispozitivele finale ale utilizatorului. În plus, datele rămân criptate până când sunt livrate la destinație. Prin urmare, criptarea end-to-end este adesea denumită și „acces zero” sau „criptare pe partea clientului”. Cu toate acestea, ar trebui făcută o distincție între criptarea end-to-end în timpul transmisiei de date și criptarea pe partea client în timpul stocării datelor.
Unul dintre primele standarde pentru mesageria asincronă este protocolul SMTP [7] . Acest protocol, utilizat inițial doar pentru transmiterea de e-mail , în implementarea sa inițială nu a asigurat confidențialitatea corespondenței folosind criptarea end-to-end [8] . În 1991, pachetul software de criptare a e-mailului PGP a fost creat de Philip Zimmerman . Biblioteca a devenit larg răspândită în întreaga lume, așa că multe companii au dorința de a-și crea propriul software compatibil cu PGP [9] . După aceea, în 1997, IETF a definit în cele din urmă un set de standarde pentru criptarea e-mailurilor end-to-end, pe care le-a numit OpenPGP [10] . OpenPGP este implementat în sisteme software open source, cum ar fi Enigmail pentru Thunderbird , precum și în aplicații mobile precum IPGMail pentru iOS [11] și sistemul de gestionare a cheilor Openkeychain pentru Android [12] și altele [13] .
În 1999, Free Software Foundation a dezvoltat o implementare a OpenPGP numită GnuPG . Se conformează standardelor specificației OpenPGP, servind ca bază de software liber pentru majoritatea aplicațiilor moderne activate cu PGP [14] .
Spre deosebire de e-mail, care folosește mesageria asincronă, sistemele de mesagerie instantanee foloseau inițial transferul de date sincron, dar astăzi multe mesagerie instantanee permit livrarea asincronă a mesajelor. Recent, astfel de sisteme au devenit mai populare decât clienții de e-mail, deoarece oferă și suport pentru transmisie video , fișiere și voce [15] .
În 1998, Jeremy Miller a început dezvoltarea proiectului Jabber, care mai târziu a devenit cunoscut sub numele de XMPP . XMPP oferă o tehnologie pentru schimbul asincron de date structurate printr-o rețea distribuită între clienți și servere care acceptă notificări de prezență. Pentru a îmbunătăți securitatea, noile specificații de protocol vor adăuga suport pentru criptarea end-to-end, deoarece XMPP în prezent nu criptează implicit, deși folosește protocoale SASL și TLS încorporate [16] . Inițial, standardul de protocol deschis XMPP al IETF a fost folosit în majoritatea sistemelor de mesagerie instantanee, cum ar fi Google Talk . [17] .
Protocolul OTR , lansat în 2004, este o extensie a XMPP pentru a oferi criptare end-to-end. De asemenea, furnizează alerte pentru utilizatori, spre deosebire de PGP, care poate fi folosit ulterior ca înregistrare a stabilirii conexiunii și a identificării participanților. OTR poate fi considerată o actualizare de securitate peste PGP într-un anumit sens, deoarece nu stochează chei publice pe termen lung care pot fi compromise. Dezavantajele OTR includ lipsa suportului pentru chat-urile de grup și mesageria asincronă, deoarece este conceput pentru mesageria sincronă între două persoane [18] [19] .
Mai mulți mesageri moderni folosesc Signal Protocol pentru criptare .
Criptarea end-to-end prevede că controlul asupra corespondenței este efectuat direct de utilizatori. Una dintre opțiunile de ocolire a criptării end-to-end pentru un atacator este să preia controlul asupra canalului de comunicare între punctele finale, după care acesta poate încerca să se uzurpea identitatea destinatarului mesajului pentru, de exemplu, să înlocuiască cheia publică. Pentru a evita detectarea, atacatorul, după decriptarea mesajului, îl poate cripta cu o cheie pe care o împărtășește cu destinatarul real, sau cu cheia lui publică (în cazul sistemelor asimetrice) și retrimite mesajul. Atacurile de acest tip sunt de obicei numite atacuri „man-in-the-middle” [1] [20] - MITM (Man-In-The-Middle) .
Pentru a preveni atacurile MITM, majoritatea protocoalelor criptografice folosesc autentificare . Pentru aceasta, de exemplu, pot fi utilizate autorități de certificare . O metodă alternativă este generarea amprentelor cheilor publice din cheile publice publice sau secretele partajate ale utilizatorilor. Înainte de a începe o conversație, părțile își compară amprentele digitale cu cheia publică folosind un canal de comunicare extern care garantează integritatea și autenticitatea comunicării și nu trebuie să fie secret. Dacă amprentele cheilor se potrivesc, atunci atacul de la omul din mijloc nu a fost efectuat [20] [21] .
O altă modalitate de a ocoli criptarea end-to-end este de a ataca direct punctele finale de acces. Dispozitivul fiecărui utilizator poate fi spart pentru a fura cheia criptografică (pentru a crea un atac de tip man-in-the-middle) sau pur și simplu poate citi mesajele decriptate ale utilizatorului. [3] Pentru a evita aceste tipuri de tentative de hacking, este necesar să se asigure o protecție adecvată a dispozitivelor utilizatorului folosind software sau alte metode. [22] Principalele încercări de îmbunătățire a securității punctelor terminale au fost alocarea operațiunilor de generare a cheilor, stocare și criptare către cardul inteligent, de exemplu, în Project Vault de la Google [23] . Cu toate acestea, deoarece intrarea și ieșirea textului simplu sunt vizibile pe sistem, aceste abordări nu reușesc să protejeze împotriva aplicațiilor de înregistrare a tastelor și a programelor malware care pot monitoriza conversațiile în timp real [24] . O abordare mai robustă este izolarea fizică a dispozitivului [25] .
Companiile pot, de asemenea, (pe cont propriu sau sub constrângere) să introducă uși din spate în software-ul lor care ajută la întreruperea acordului de cheie sau la ocolirea criptării. Conform informațiilor dezvăluite de Edward Snowden în 2013, Skype conținea o ușă în spate care permitea Microsoft să transfere mesajele utilizatorilor către NSA , în ciuda faptului că aceste mesaje erau oficial criptate end-to-end [26] [27] .