Criptare > Tipuri de criptare > Criptare AES
Ce este criptarea AES?
AES în criptografie se referă la Advanced Encryption Standard, un algoritm de criptare rapid, eficient și securizat, certificat de Institutul Național de Standarde și Tehnologie din SUA (NIST). Este un cifru cu cheie simetrică ce utilizează aceeași cheie atât pentru a cripta, cât și pentru a decripta datele. Acest proces este relativ rapid, fiind ideal pentru criptarea unor volume mari de date stocate.
Datorită robusteții și fiabilității sale, AES este unul dintre cele mai populare și comune tipuri de criptare utilizate în securitatea rețelelor wireless, în criptarea datelor și a discurilor, în sistemele de plată online, în stocarea în cloud, în gestionarea parolelor și chiar în aplicațiile guvernamentale și militare. Guvernul SUA folosește criptarea AES pentru a-și securiza informațiile clasificate, ceea ce a contribuit la popularitatea sa.

Este sigur algoritmul AES?
Da. În anul 2000, după un proces de selecție foarte riguros(fereastră nouă) și deschis, NIST a anunțat că AES (cunoscut până atunci ca algoritmul Rijndael, creat de Vincent Rijmen și Joan Daemen) va înlocui DES ca algoritmul său de criptare recomandat(fereastră nouă), „neclasificat și făcut public, capabil să protejeze informațiile guvernamentale sensibile până în secolul următor”.
Conform NIST, toate lungimile cheilor algoritmului AES sunt considerate „suficiente” pentru a proteja informațiile clasificate până la nivelul „Secret”. Pentru informațiile „Top Secret”, este necesar AES-192 sau AES-256.

Atacuri de tip forță brută
Cea mai elementară formă de atac posibilă asupra oricărui cifru de criptare este atacul prin forță brută, care implică încercarea tuturor combinațiilor posibile de chei până când este găsită cea corectă.
Frontier(fereastră nouă) este cel mai puternic supercomputer cunoscut public din lume. Dacă și-ar dedica întreaga putere de procesare pentru a ataca prin forță brută AES-128, tot ar avea nevoie de aproximativ 10–12 trilioane de ani pentru a epuiza toate combinațiile posibile pentru AES-128. Această durată este mult mai mare decât vârsta universului. Astfel, chiar și la dimensiuni mai mici ale cheii în biți, AES este extrem de rezistent la atacurile prin forță brută din partea computerelor convenționale.
AES-256 este de 340 de miliarde de miliarde de miliarde de miliarde (2¹²⁸) de ori mai greu de atacat prin forță brută decât AES-128.
Deși algoritmul lui Grover(fereastră nouă) reduce teoretic la jumătate securitatea cheilor simetrice împotriva amenințărilor cuantice, acestea sunt încă relativ rezistente la atacurile cuantice, în special atunci când se utilizează o cheie de 256 de biți.
Atacuri asupra cheilor
De-a lungul anilor, criptografii au publicat o serie de atacuri teoretice asupra cheilor AES, dar toate acestea sunt fie imposibil de aplicat în practică, fie eficiente doar asupra implementărilor AES care folosesc un număr redus de runde (vedeți mai jos).
Cea mai reușită încercare a fost atacul biclique(fereastră nouă) teoretic publicat în 2011, care poate reduce de patru ori timpul necesar pentru a sparge AES prin forță brută. Cu toate acestea, ar necesita totuși miliarde de ani pentru a sparge AES prin forță brută pe orice hardware de computer actual sau previzibil.
Niciun atac cunoscut asupra cheilor nu este practic împotriva AES-128 sau a unei versiuni superioare implementate corect.
Atacuri pe canal lateral
Un atac pe canal lateral încearcă să reducă numărul de combinații necesare pentru a realiza un atac reușit de tip forță brută, căutând indicii de la computerul care efectuează calculele de criptare. Indiciile pot fi obținute prin examinarea:
- Timpului — cât durează pentru un computer să efectueze o operațiune
- Divulgări electromagnetice
- Indicii audio
- Indicii vizuale (captate folosind o cameră de înaltă rezoluție).
Atacurile de sincronizare a cache-ului, în special, s-au dovedit a fi destul de eficiente în spargerea cu succes a AES. În cel mai notabil exemplu, cercetătorii au reușit în 2016 să recupereze(fereastră nouă) o cheie AES-128 folosind „doar aproximativ 6 - 7 blocuri de text neformatat sau text criptat (teoretic, chiar și un singur bloc ar fi suficient)”.
Cu toate acestea, se pot face o serie de lucruri pentru a reduce amenințarea atacurilor pe canal lateral:
- AES implementat corect poate preveni modalitățile prin care datele pot fi divulgate.
- Hardware-ul care integrează setul de instrucțiuni AES reduce și mai mult suprafața de atac pe canal lateral a AES.
- Tehnicile de randomizare pot fi utilizate pentru a perturba relația dintre datele protejate de AES și orice date divulgate care ar putea fi colectate folosind un atac pe canal lateral.
În multe cazuri, atacurile pe canal lateral necesită ca atacatorul să se afle în imediata apropiere sau să aibă acces fizic la dispozitiv pe măsură ce acesta decriptează datele, deși atacurile la distanță sunt posibile dacă pe un dispozitiv este instalat software malițios, în special în cazul atacurilor de sincronizare.
Cum funcționează AES
AES este un cifru pe blocuri care criptează și decriptează datele în blocuri de 128 de biți folosind chei de 128, 192 sau 256 de biți. După cum s-a menționat anterior, aceeași cheie este folosită pentru criptarea și decriptarea datelor. AES care utilizează o cheie de 128 de biți este denumit adesea AES-128 și, în mod similar, AES-192 și AES-256.

Datele sunt criptate folosind mai multe runde, fiecare dintre acestea constând într-o serie de operații matematice.
Procesul începe prin utilizarea algoritmului de planificare a cheilor Rijndael pentru a deriva o serie de noi chei de rundă din cheia secretă originală. Acest lucru este cunoscut sub numele de expansiune a cheii.
Fiecare rundă constă apoi din una sau mai multe (sau o combinație) dintre următoarele operații:
1. Add Round Key: o operație XOR(fereastră nouă) este efectuată pentru a combina datele care urmează să fie criptate (textul cifrat) cu fiecare cheie de rundă.

2. Sub Bytes: Se utilizează un tabel de substituție pentru a amesteca și mai mult datele. Gândiți-vă, în principiu, la cifrurile simple de substituție pe care le-ați folosit în copilărie, când înlocuiați fiecare literă dintr-un mesaj cu una aflată la un anumit număr de poziții mai târziu în alfabet.

3. Shift Rows: Fiecare bloc de date de 128 de biți constă dintr-un bloc 4x4 de 16 biți. Această operațiune deplasează fiecare octet dintr-un rând al blocului cu un anumit decalaj spre stânga.

4. Mix Columns: o transformare liniară inversabilă suplimentară este efectuată pe fiecare coloană din bloc.

Această serie de transformări constituie o rundă, care este apoi repetată asupra datelor pentru un anumit număr de runde, în funcție de mărimea cheii:
- AES-128 — 10 runde
- AES-192 — 12 runde
- AES 256 — 14 runde
Pentru a decripta datele, toți pașii folosiți pentru a le cripta sunt pur și simplu efectuați în ordine inversă. Acest lucru necesită cheia secretă originală pentru a inversa procesul folosind fiecare cheie de rundă inversă.
De ce este preferat AES-256 în locul AES-192 sau AES-128?
Având în vedere tehnologia actuală și cea previzibilă, ar dura mai mult decât vârsta universului pentru a sparge AES-128 prin forță brută. Legendarul criptograf Bruce Schneier a susținut(fereastră nouă) chiar că AES-128 ar putea fi mai puternic decât AES-256, deoarece are o schemă de generare a cheilor mai robustă — algoritmul care calculează toate cheile de rundă din cheia secretă originală.
Cu toate acestea, AES-256 a devenit standardul de aur de facto pentru criptarea cu cheie simetrică. Este adesea considerat (deși într-o oarecare măsură controversat) ca fiind opțiunea mai puternică, deoarece dimensiunea mai mare a cheii oferă o marjă suplimentară de securitate, astfel încât datele criptate să rămână în siguranță chiar dacă se va găsi o modalitate de a slăbi semnificativ algoritmul. Acest argument a devenit mai puternic pe măsură ce nevoia de rezistență post-cuantică devine mai urgentă.
AES-CBC vs AES-GCM
Până relativ recent, AES era folosit de obicei în mod cipher block chaining (CBC), în care fiecare bloc de text neformatat este combinat prin XOR cu blocul anterior de text criptat înainte de a fi criptat. Atunci când este utilizat în mod CBC, este necesar un algoritm de hashing HMAC(fereastră nouă) precum HMAC-SHA256 pentru a verifica datele.
Cu toate acestea, este din ce în ce mai comun ca AES să fie utilizat în mod Galois/counter (GCM), care folosește modul contor(fereastră nouă) de criptare. Principalul avantaj este că folosește câmpul Galois(fereastră nouă) pentru a verifica datele fără a fi nevoie de un algoritm extern. Prin urmare, este mai eficient decât utilizarea unui algoritm separat de autentificare care poate avea un cost computațional ridicat.
Deși AES-CBC cu autentificare HMAC este considerat în general sigur, CBC este potențial vulnerabil la atacuri de padding(fereastră nouă), cum ar fi POODLE(fereastră nouă). GCM nu este.
AES accelerat hardware
Majoritatea procesoarelor moderne includ Advanced Encryption Standard New Instructions (AES-NI(fereastră nouă)), un set de instrucțiuni hardware care efectuează operații AES direct pe procesor. Acest lucru face ca AES să fie mult mai rapid și ajută, de asemenea, la prevenirea atacurilor prin canale laterale bazate pe timp, deoarece operațiile se desfășoară în unitățile securizate de execuție ale procesorului, lăsând astfel mai puține variații de timp observabile pe care un atacator le-ar putea exploata.
Proton și AES
Folosim AES pe scară largă pentru a securiza produsele Proton:
Evenimentele și contactele sunt securizate folosind AES-256 combinat cu ECC pentru schimbul de chei, pentru a vă asigura confidențialitatea prin criptare de la un capăt la altul.
Proton VPN se concentrează în principal pe protocolul VPN WireGuard® rapid și eficient (care folosește ChaCha20), dar conexiunile OpenVPN folosesc AES-256.
Proton Pass stochează parole, note, identități și alte elemente în seiful dvs. securizat folosind AES-256.
Proton Drive criptează toate fișierele încărcate de la un capăt la altul cu AES-256, folosind ECC pentru schimbul de chei. Proton Docs și Proton Sheets folosesc, de asemenea, AES-256 cu schimb de chei bazat pe ECC, deși implementarea lor de criptare diferă de schema generală de criptare a fișierelor din Proton Drive.
Proton Mail stochează e-mailuri și atașamente folosind AES-256 prin standardul OpenPGP. Chiar și cheia dvs. privată, care vă deblochează e-mailurile, este criptată cu AES-256 înainte de a fi stocată pe server.
Proton Meet folosește Messaging Layer Security (MLS) pentru a cripta mesajele audio, video și de chat, asigurând forward secrecy (PFS) și securitate post-compromitere (PCS) pentru toate comunicațiile. Toate datele întâlnirilor sunt criptate de la un capăt la altul folosind AES-256-GCM.
Reducerea atacurilor asupra criptării AES
Securitatea este la fel de puternică precum cea mai slabă verigă a sa, care este de obicei parola dvs. Acest lucru înseamnă că schemele de inginerie socială, atacurile de phishing și keyloggerele(fereastră nouă) reprezintă, de asemenea, o amenințare la adresa datelor criptate cu AES. De aceea, chiar și atunci când este utilizat AES, ar trebui să luați următoarele măsuri de precauție:
- Utilizați un manager de parole criptat
- Utilizați chei de securitate hardware (cum ar fi YubiKey) pentru un nivel suplimentar de protecție
- Dacă faceți parte dintr-o organizație, efectuați instruiri regulate de securitate pentru personal pentru a preveni atacurile de phishing
Preluați controlul asupra datelor dvs.
Proton a fost construit pentru a vă proteja datele de la început. Cu criptare de la un capăt la altul, aplicații open-source și audituri independente, informațiile dvs. rămân ale dvs.
Întrebări frecvente despre criptarea AES
- Care este mai bun: AES vs. DES?
- Care este mai bun: AES vs. RSA?
- Cât de puternică este securitatea AES?


