Ce este criptarea AES?
În criptografie, AES se referă la Advanced Encryption Standard, un algoritm de criptare rapid, eficient și sigur, certificat de Institutul Național de Standarde și Tehnologie al SUA (NIST). Este un cifru cu cheie simetrică, care folosește aceeași cheie atât pentru a cripta, cât și pentru a decripta datele. Acest lucru este relativ rapid, ceea ce îl face ideal pentru a cripta cantități mari de date stocate.
Datorită puterii și fiabilității sale, AES este unul dintre cele mai populare și comune tipuri de criptare utilizate în securitatea rețelelor wireless, a datelor și în criptarea discurilor, în sistemele de plată conectat, în stocare cloud, în gestionarea parolelor și chiar în aplicații 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 amănunțit(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 algoritm de criptare recomandat(fereastră nouă) „neclasificat, dezvăluit public, capabil să protejeze informațiile guvernamentale sensibile până în secolul următor”.
Potrivit 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 de bază formă de atac posibilă asupra oricărui cifru de criptare este un atac de tip forță brută, care implică încercarea fiecărei combinații 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 spargerii prin forță brută a AES-128, tot ar avea nevoie de aproximativ 10–12 trilioane de ani pentru a epuiza toate combinațiile posibile pentru AES-128. Aceasta este mult mai lungă decât vârsta universului. Așadar, chiar și la mărimi mai mici în biți, AES este foarte rezistent la atacurile de tip forță brută realizate de computere convenționale.
AES-256 este de 340 de miliarde de miliarde de miliarde de miliarde (2¹²⁸) de ori mai greu de spart prin forță brută decât AES-128.
Deși algoritmul lui Grover(fereastră nouă) reduce teoretic la jumătate securitatea cheilor simetrice în fața amenințărilor cuantice(fereastră nouă), acestea sunt în continuare relativ rezistente la calculul cuantic, î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țiuni matematice.
Procesul începe prin utilizarea algoritmului de programare a cheilor al lui Rijndael pentru a deriva o serie de chei noi de rundă din cheia secretă originală. Acest lucru este cunoscut drept extinderea cheii.
Fiecare rundă constă apoi din una sau mai multe (sau o combinație) dintre următoarele operațiuni:
1. Add RoundKey: Se efectuează o operațiune XOR(fereastră nouă) pentru a combina datele care urmează să fie criptate (textul criptat) 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. MixColumns: Se efectuează o transformare liniară inversabilă suplimentară asupra fiecărei coloane 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?
Ar dura mai mult decât vârsta universului pentru a sparge AES-128 prin forță brută, având în vedere tehnologia actuală și previzibilă. Legendarul criptograf Bruce Schneier a susținut(fereastră nouă) chiar că AES-128 ar putea fi mai puternic decât AES-256 datorită faptului că are un program de chei mai puternic — algoritmul care calculează toate cheile de rundă din cheia secretă originală.
Totuși, AES-256 a devenit standardul de facto de aur pentru criptarea cu cheie simetrică. Este adesea văzut (deși oarecum controversat) ca alegerea mai puternică, deoarece mărimea sa mai mare a cheii indică o marjă suplimentară de securitate, astfel încât datele criptate să rămână în siguranță chiar dacă se găsește o modalitate de a slăbi dramatic algoritmul. Acest argument a devenit mai puternic pe măsură ce nevoia de rezistență post-cuantică devine mai presantă.
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țiunile AES direct pe procesor. Acest lucru face AES mult mai rapid și ajută, de asemenea, la prevenirea atacurilor pe canal lateral bazate pe sincronizare, deoarece operațiunile au loc în interiorul unităților securizate de execuție ale procesorului, astfel încât există mai puține variații observabile de sincronizare pe care un atacator le poate 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. Aceasta înseamnă că schemele de inginerie socială, atacurile de phishing și keylogger-ele(fereastră nouă) reprezintă, de asemenea, o amenințare pentru datele criptate cu AES. Așadar, chiar și atunci când este utilizat AES, ar trebui să luați următoarele măsuri de precauție:
- Folosiți un manager de parole criptat
- Folosiți chei hardware de securitate (precum YubiKey) pentru un nivel suplimentar de protecție
- Dacă faceți parte dintr-o organizație, desfășurați periodic instruiri 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?


