CCMP
Versiunea actuală a paginii nu a fost încă revizuită de colaboratori experimentați și poate diferi semnificativ de
versiunea revizuită la 29 decembrie 2016; verificările necesită
7 modificări .
CCMP ( Counter Mode with Cipher Block Chaining Message Authentication Code Protocol - protocol de criptare bloc cu inserție de imitație (MAC) și modul de blocare și contorizare în lanț ) este un protocol de criptare 802.11i creat pentru a înlocui TKIP , un protocol de criptare obligatoriu în WPA și WEP , ca opțiune mai fiabilă. CCMP este o parte obligatorie a standardului WPA2 și o parte opțională a standardului WPA .
CCMP, fiind parte a standardului 802.11i , utilizează algoritmul Advanced Encryption Standard ( AES ). Spre deosebire de TKIP , managementul cheilor și integritatea mesajelor sunt gestionate de o singură componentă construită în jurul AES, folosind o cheie de 128 de biți, bloc de 128 de biți, urmând standardul de criptare FIPS-197 .
Istorie
Protocolul CCMP a fost utilizat cu WPA2 , definit în standardul IEEE 802.11i . IEEE 802.11i a fost adoptat în iunie 2004 , iar această dată poate fi considerată data apariției protocolului CCMP.
Privire de ansamblu asupra arhitecturii
Algoritmul CCMP se bazează pe algoritmul de criptare CCM AES. CCM folosește algoritmul CTR pentru confidențialitate și algoritmul CBC-MAC pentru autentificare și integritatea datelor. CCM asigură integritatea atât a zonei de date a pachetului MPDU , adică a pachetului transmis prin rețea, cât și a unor părți din antetul pachetului IEEE 802.11 .
Toate procesările AES utilizate în CCMP utilizează AES cu o cheie de 128 de biți și un bloc de 128 de biți.
Modul CCM este un mod generic care poate fi utilizat cu orice cifru bloc. Algoritmul CCM conține doi parametri (M și L), iar CCMP utilizează următoarele valori pentru aceștia:
- M = 8 (datorită faptului că câmpul MAC este de 8 octeți [1] );
- L = 2 (indică faptul că lungimea câmpului este de 2 octeți, ceea ce ar trebui să fie suficient pentru a stoca toate lungimile posibile ale pachetelor MPDU IEEE 802.11).
Standardul algoritmului CCM necesită utilizarea de noi chei temporare pentru fiecare sesiune nou creată. În plus, CCM necesită o valoare Nonce unică pentru fiecare cadru, protejată de o cheie temporală specifică aleasă. CCMP folosește un număr de pachet de 48 de biți (PN) pentru aceasta.
Reutilizarea unui PN cu aceeași cheie temporară anulează toate garanțiile de securitate.
Criptare CCMP
Structura pachetelor de protocol IEEE 802.11 folosind criptarea bazată pe CCMP
Utilizarea procesării CCMP mărește dimensiunea originală a pachetului cu 16 octeți, dintre care 8 octeți sunt localizați în antetul pachetului MPDU și 8 octeți în zona MAC. Antetul CCMP este format din următoarele părți: PN, ExtIV și identificatorul cheii. PN este un număr de pachet de 48 de biți, care este o matrice de 6 octeți.
Algoritm de criptare CCMP
CCMP convertește textul simplu al pachetului (text simplu în figură) și îl încapsulează într-un pachet de date utilizând următorul algoritm.
- Numărul pachetului PN este incrementat cu un număr pozitiv pentru a obține un număr diferit pentru fiecare pachet de date, astfel încât numărul pachetului să nu fie repetat niciodată de două ori atunci când se folosește aceeași cheie temporară. Este de remarcat faptul că pachetele de date repetate nu se schimbă atunci când sunt transmise.
- Folosind câmpurile din antetul pachetului, CCMP generează date suplimentare de autentificare (AAD) pentru CCM. Algoritmul CCM oferă criptare pentru câmpurile incluse în AAD. Câmpurile de antet de pachet care se pot modifica atunci când este transmis nu ar trebui luate în considerare atunci când se generează date suplimentare de autentificare și, prin urmare, sunt considerate nule la crearea AAD.
- Câmpul Nonce este compus din numărul pachetului, adresa A2 și câmpul de prioritate, care este rezervat în implementarea curentă, deci valoarea acestuia ar trebui setată la zero.
- Noul număr de pachet PN și ID-ul cheii sunt plasate în antetul pachetului CCMP.
- Datele suplimentare de autentificare, câmpul Nonce, pachetul de date în sine, folosind cheia temporară TK, sunt criptate de algoritmul CCM. Acest pas se numește procesare CCM originator.
Crearea unui câmp suplimentar de date de autentificare
AAD este construit din antetul pachetului MPDU. AAD nu include câmpul antet „Expirare”, deoarece acest câmp se poate modifica atunci când datele sunt transmise prin legături IEEE 802.11 (de exemplu, când rata se modifică în timpul transmisiei de pachete). Din aceleași motive, mai multe subcâmpuri din câmpul „Control cadre” sunt considerate a fi nule. Crearea datelor suplimentare de autentificare se realizează în conformitate cu următorul algoritm:
- este creat câmpul FC - Frame Control, iar biții Subtype sunt considerați egali cu zero;
- se presupune că bitul de repetare (bit 11) este zero;
- Bitul PwrMgt (bit 12) este considerat zero;
- Bitul MoreData (bit 13) este considerat a fi zero;
- bitul de securitate (bit 14) este întotdeauna 1:
- A1 - câmpul Adresa 1 MPDU,
- A2 - câmpul Adresa 2 MPDU,
- A3 - câmpul Adresa 3 MPDU;
- se creează câmpul SC (câmpul secvenței de verificare al pachetului MPDU), cu subcâmpul numărului de secvență (biții 4-15) considerat a fi zero. Subcâmpul numărul fragmentului nu se modifică;
- A4 este câmpul de adresă al pachetului, dacă este prezent în MPDU;
- QC - QoS , dacă este prezent. Acest câmp este rezervat pentru utilizare ulterioară.
Lungimea AAD este de 22 de octeți când câmpurile A4 și QC lipsesc și de 28 de octeți când pachetul conține câmpul A4.
Crearea CCM nonce
Câmpul nonce constă din câmpurile de prioritate, A2 și de număr de pachet, cu câmpul de prioritate rezervat pentru utilizare ulterioară și trebuie setat la zero.
Schema de decriptare CCMP
Schema algoritmului este prezentată în figură.
CCMP preia textul cifrat al pachetului ca sarcină utilă și decriptează pachetul utilizând următoarea secvență de pași.
- Folosind datele pachetului, sunt create câmpurile de date de identificare AAD și nonce suplimentare.
- Câmpul AAD este extras din antetul pachetului criptat.
- Câmpul este creat din câmpurile A2, numărul de secvență al pachetului PN și câmpul de prioritate.
- Pentru a verifica integritatea pachetului, câmpul MAC este extras din acesta.
- Pachetul este decriptat și se verifică integritatea acestuia, pentru care se utilizează direct textul pachetului criptat, valorile datelor suplimentare de identificare, cheia temporară, câmpurile MAC și nonce.
- Apoi pachetul este reasamblat, deja sub formă decriptată, și transferat în continuare pentru procesare.
- Procesul de decriptare previne transmiterea pachetelor duplicate către partea utilizatorului prin compararea numărului de secvență de pachete al PN-ului cu contorul său intern de pachete.
Note
- ↑ În cele mai multe cazuri, vă puteți gândi la un octet ca un octet , totuși, un octet poate să nu aibă 8 biți pe unele arhitecturi.
Link -uri