Cum Signal lansează a treia ratchet cuantic-safe pentru protejarea mesajelor fără a renunța la X25519

Când discutăm despre securitatea mesajelor, trecutul și viitorul criptografiei se întâlnesc adesea în același loc. Aici este vorba despre Signal Protocol și despre modul în care dezvoltatorii lui au introdus o a treia ratchet pentru a face schimbul de chei rezistent la atacurile cuantice, păstrând totodată modelul dovedit folosit pentru protecția împotriva atacurilor convenționale.

De ani buni, Signal utilizează un mecanism numit ratchet, bazat pe Diffie-Hellman, care creează chei efemere pentru fiecare mesaj, oferind protecție chiar dacă o cheie anterioară este compromisă. Problema este că aceste chei eliptice X25519 sunt pe termen lung vulnerabile la calculatoarele cuantice. Eliminarea lor ar fi însemnat pierderea codului stabil și a avantajelor practice deja demonstrate. Soluția a fost adăugarea unei a treia ratchet care folosește un KEM (key encapsulation mechanism) „quantum-safe”, capabil să genereze secrete noi similar ratchet-ului Diffie-Hellman, astfel încât să fie păstrată proprietatea de post-compromise și să se obțină rezistență la atacuri cuantice.

Dificultatea a apărut în detaliu: cheile X25519 au în jur de 32 de octeți, suficient de compacte pentru a fi incluse în fiecare mesaj fără a încărca rețelele sau dispozitivele cu resurse reduse. Un KEM ML-KEM 768, folosit pentru reziliență cuantică, are însă dimensiunea de circa 1.000 de octeți. În plus, designul Signal impune transmiterea atât a unei chei de encapsulare, cât și a unui ciphertext, ceea ce ridică mărimea totală la aproximativ 2.272 de octeți pentru fiecare astfel de schimb. Practic, trecerea la un KEM quantum-safe ar fi însemnat o creștere de 71 de ori a datelor trimise doar pentru stabilirea noilor secrete.

E dificil să integrezi 2.272 de octeți în fiecare mesaj fără consecințe. Dezvoltatorii au testat mai multe abordări. Una ar fi să nu trimiți cheia KEM la fiecare mesaj, ci la fiecare 50 de mesaje sau o dată pe săptămână. Pare rezonabil, însă în practică întâmpină probleme în medii asincrone sau în prezența unui adversar. Ce se întâmplă dacă Bob a stat offline două săptămâni și regula spune „trimite cheia doar o dată pe săptămână”? Sau dacă unul dintre cele cincizeci de mesaje, cel care conține cheia, se pierde? Sau dacă cineva rău intenționat observă că un pachet este considerabil mai mare și îl blochează? Aceste situații compromit generarea continuă de secrete noi și pun în pericol proprietatea de post-compromise pe care încercați să o mențineți.

O altă propunere a fost fragmentarea cheii KEM în bucăți de 32 de octeți, exact cât are o cheie X25519, și includerea fiecărei porțiuni în mesaje consecutive, practic 71 de fragmente care se reasamblează la destinație. La prima vedere pare elegant: nu mărești dimensiunea fiecărui mesaj, doar distribui costul pe mai multe pachete. Din păcate, mediul asincron readuce problema: dacă unul dintre fragmente lipsește din cauza pierderii pachetelor, schimbul nu poate fi finalizat. Se pot imagina mecanisme de retransmisie, dar un adversar persistent ar putea bloca mereu același fragment, de exemplu pachetul 3, iar cei doi participanți nu ar reuși niciodată să finalizeze schimbul de chei.

Aceste discuții evidențiază cât de fine sunt compromisurile tehnice când vrei să păstrezi proprietăți esențiale: confidențialitate, rezistență post-compromise și compatibilitate cu sisteme reale, asincrone, cu pierderi de pachete și atacuri active. Noul ratchet quantum-safe rezolvă problema teoretică: folosește un KEM pentru a produce secrete noi, dar obligă la decizii de proiectare complexe ca să nu transforme mesajele într-o țintă practică din cauza dimensiunii. În practică, asta înseamnă că echipa Signal a trebuit să regândească fluxul de mesaje, sporind redundanța și robustețea fără a sacrifica funcționalitatea în scenarii realiste.

Signal a hotărât să păstreze mixul de mecanisme care funcționează azi și să adauge protecție pentru viitor. Aceasta implică acceptarea unor costuri în trafic și implementări mai sofisticate, dar menține proprietatea esențială: generarea continuă de secrete noi care limitează impactul unei eventuale compromiteri. Exemplele concrete discutate, X25519, ML-KEM 768, dimensiuni de 32 de octeți versus 1.000 de octeți și pachetul total de 2.272 octeți, ilustrează exact ce fel de dileme stau în spatele unei actualizări aparent simple.

Signal nu a venit cu soluții miraculoase, ci cu un echilibru între teoria criptografică și realitățile rețelelor moderne. Implementarea unei a treia ratchet arată că tranziția către criptografia rezistentă la calculatoarele cuantice nu este doar o problemă matematică: este o provocare de inginerie a protocolului și de operare în medii instabile. Care crezi că ar fi mai greu de acceptat într-un protocol de mesagerie: creșterea semnificativă a volumului de date sau riscul ca un fragment esențial de cheie să fie pierdut repetat?

Fii primul care comentează

Lasă un răspuns

Adresa ta de email nu va fi publicată.


*