CCMP (англ. Counter Mode with Cipher Block Chaining Message Authentication Code Protocol — протокол блочного шифрування з кодом автентичності повідомлення (MAC) і режим зчеплення блоків і лічильника) — протокол шифрування 802.11 i, створений для заміни TKIP, обов'язкового протоколу шифрування WPA і WEP, як більш надійний варіант. CCMP є обов'язковою частиною стандарту WPA2 і необов'язковою частиною стандарту WPA.
CCMP, будучи частиною стандарту 802.11 i, використовує алгоритм Advanced Encryption Standard (AES). На відміну від TKIP, управління ключами і цілісністю повідомлень здійснюється одним компонентом, побудованим навколо AES з використанням 128-бітного ключа, 128-бітного блоку, у відповідності зі стандартом шифрування FIPS-197.
Історія
CCMP-протокол був використаний з WPA2, визначеним у стандарті IEEE 802.11 i. IEEE 802.11 i був прийнятий в червні 2004 року, і цю дату можна вважати датою появи протоколу CCMP.
Огляд архітектури
Алгоритм CCMP заснований на алгоритмі шифрування CCM AES. CCM використовує алгоритм CTR для забезпечення конфіденційності та алгоритм CBC-MAC для аутентифікації і цілісності даних. CCM забезпечує цілісність як області даних пакета MPDU, тобто пакета, що передається по мережі, так і деяких частин заголовка пакета стандарту IEEE 802.11.
Вся обробка AES, використовувана в CCMP, використовує AES з 128-бітовим ключем і 128-бітним блоком.
Режим ССМ є спільним режимом, який може бути використаний з будь-яким блоковим алгоритмом шифрування. Алгоритм CCM містить два параметри (М і L), і CCMP використовує для них такі значення:
- M = 8 (внаслідок того, що поле MIC — 8-октетне);
- L = 2 (говорить про те, що довжина поля становить 2 октету, яких повинно бути достатньо для зберігання всіх можливих довжин пакетів MPDU стандарту IEEE 802.11).
Стандарт алгоритму ССМ вимагає використання нових тимчасових ключів для кожної новостворюваної сесії. Крім того, ССМ вимагає унікального значення Nonce для кожного кадру, захищеного конкретним обраним тимчасовим ключем. CCMP використовує для цього 48-розрядний номер пакета (PN).
Повторне використання PN-номери з тим же тимчасовим ключем обнуляє всі гарантії безпеки.
Шифрування CCMP
Структура пакету протоколу IEEE 802.11, що використовує шифрування на основі CCMP
Використання CCMP-обробки розширює оригінальний розмір пакета на 16 октетів, з яких 8 октетів розташовуються в заголовку пакету MPDU і 8 октетів — в MIC-області. Заголовок CCMP складається з наступних частин: PN, ExtIV, і ідентифікатора ключа. PN — 48-розрядний номер пакета, який представляє собою масив з 6 октетів.
Алгоритм шифрування CCMP
ССМР перетворює незашифрований текст пакета (plaintext на малюнку) та інкапсулює його в пакет даних, використовуючи наступний алгоритм.
- Збільшується на деяке позитивне число номер пакета PN для того, щоб отримувати свій номер для кожного пакету даних так, що номер пакета ніколи не повторюється двічі при використанні одного тимчасового ключа. Варто відзначити, що повторні пакети даних не змінюються при їх ретрансляції.
- Використовуючи поля в заголовку пакета, CCMP створює додаткові аутентификациионные дані (AAD) для ССМ. Алгоритм ССМ забезпечує шифрування для полів, включених в AAD. Поля заголовка пакета, які можуть змінитися при його ретрансляції, не повинні враховуватися при створенні додаткових аутентифікаційних даних і тому вважаються нульовими при створенні AAD.
- Складається поле " Nonce з номера пакета, адреси A2 і поля пріоритету, яке в існуючій реалізації є зарезервованим, так що його значення має бути встановлено рівним нулю.
- Новий номер пакета NP і ідентифікатор ключа key ID поміщаються в заголовок пакета CCMP.
- Додаткові аутентифікаційні дані, поле Nonce, безпосередньо дані пакета з використанням тимчасового ключа TK шифрування алгоритмом CCM. Цей крок називають CCM originator processing.
Побудова поля додаткових аутентифікаційних даних
AAD будується з заголовка пакета MPDU. AAD не включає в полі заголовка «Термін дії», оскільки дане поле може змінитися при передачі даних по каналах стандарту IEEE 802.11 (наприклад, при зміні швидкості під час ретрансляції пакета). З тих же причин кілька підполів у полі «Frame Control» вважаються рівними нулю. Створення додаткових аутентифікаційних даних здійснюється у відповідності з наступним алгоритмом:
- створюється поле FC — Frame Control, причому біти Підтипів (Subtype bits) вважаються рівними нулю;
- біт повтору (біт 11) вважається рівним нулю;
- PwrMgt-біт (біт 12) вважається рівним нулю;
- MoreData-біт (біт 13) вважається рівним нулю;
- біт захисту (біт 14) завжди дорівнює 1:
- A1 — MPDU Address 1 field,
- A2 — MPDU Address 2 field,
- A3 — MPDU Address 3 field;
- створюється поле SC (поле контрольної послідовності пакету MPDU), причому підполі номера послідовності (біти 4-15) вважається рівним нулю. Підполі номери фрагмента не змінюється;
- A4 — адресне поле пакету, якщо він присутній в MPDU;
- QC — якість обслуговування QoS, якщо присутня. Це поле зарезервовано для майбутнього використання.
Довжина AAD становить 22 октету, у разі, якщо відсутні поля A4 і QC, і 28 октетів, коли пакет містить поле А4.
Створення CCM nonce
Поле " nonce складається з полів пріоритету, А2 і номера пакета, причому поле пріоритету зарезервовано для подальшого використання і має бути обнулити.
Схема розшифрування CCMP
Схема алгоритму показано на рисунку.
CCMP приймає в якості корисного навантаження зашифрований текст пакета і розшифровує пакет, використовуючи наступну послідовність дій.
- З використанням даних пакету створюються поля додаткових ідентифікаційних даних AAD і nonce
- Поле AAD витягується з заголовка пакету зашифрованого
- Поле створюється з полів A2, порядкового номера пакета PN, а також поля пріоритету
- Для перевірки цілісності пакету з нього витягується поле MIC
- Пакет розшифровується і перевіряється його цілісність, для чого використовується безпосередньо текст зашифрованого пакету, значення додаткових ідентифікаційних даних, тимчасовий ключ, поля MIC і nonce
- Потім пакет знову збирається, вже в розшифрованому вигляді, і передається далі на обробку
- Процес розшифрування запобігає передачі повторюваних пакетів на бік користувача, порівнюючи порядковий номер пакета PN зі своїм внутрішнім лічильником пакетів.
Примітки
Посилання
- Опис стандарту [ 29 листопада 2007 у Wayback Machine.] на standards.ieee.org(PDF)(англ.) (Перевірено 13 листопада 2009)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
CCMP angl Counter Mode with Cipher Block Chaining Message Authentication Code Protocol protokol blochnogo shifruvannya z kodom avtentichnosti povidomlennya MAC i rezhim zcheplennya blokiv i lichilnika protokol shifruvannya 802 11 i stvorenij dlya zamini TKIP obov yazkovogo protokolu shifruvannya WPA i WEP yak bilsh nadijnij variant CCMP ye obov yazkovoyu chastinoyu standartu WPA2 i neobov yazkovoyu chastinoyu standartu WPA CCMP buduchi chastinoyu standartu 802 11 i vikoristovuye algoritm Advanced Encryption Standard AES Na vidminu vid TKIP upravlinnya klyuchami i cilisnistyu povidomlen zdijsnyuyetsya odnim komponentom pobudovanim navkolo AES z vikoristannyam 128 bitnogo klyucha 128 bitnogo bloku u vidpovidnosti zi standartom shifruvannya FIPS 197 IstoriyaCCMP protokol buv vikoristanij z WPA2 viznachenim u standarti IEEE 802 11 i IEEE 802 11 i buv prijnyatij v chervni 2004 roku i cyu datu mozhna vvazhati datoyu poyavi protokolu CCMP Oglyad arhitekturiAlgoritm CCMP zasnovanij na algoritmi shifruvannya CCM AES CCM vikoristovuye algoritm CTR dlya zabezpechennya konfidencijnosti ta algoritm CBC MAC dlya autentifikaciyi i cilisnosti danih CCM zabezpechuye cilisnist yak oblasti danih paketa MPDU tobto paketa sho peredayetsya po merezhi tak i deyakih chastin zagolovka paketa standartu IEEE 802 11 Vsya obrobka AES vikoristovuvana v CCMP vikoristovuye AES z 128 bitovim klyuchem i 128 bitnim blokom Rezhim SSM ye spilnim rezhimom yakij mozhe buti vikoristanij z bud yakim blokovim algoritmom shifruvannya Algoritm CCM mistit dva parametri M i L i CCMP vikoristovuye dlya nih taki znachennya M 8 vnaslidok togo sho pole MIC 8 oktetne L 2 govorit pro te sho dovzhina polya stanovit 2 oktetu yakih povinno buti dostatno dlya zberigannya vsih mozhlivih dovzhin paketiv MPDU standartu IEEE 802 11 Standart algoritmu SSM vimagaye vikoristannya novih timchasovih klyuchiv dlya kozhnoyi novostvoryuvanoyi sesiyi Krim togo SSM vimagaye unikalnogo znachennya Nonce dlya kozhnogo kadru zahishenogo konkretnim obranim timchasovim klyuchem CCMP vikoristovuye dlya cogo 48 rozryadnij nomer paketa PN Povtorne vikoristannya PN nomeri z tim zhe timchasovim klyuchem obnulyaye vsi garantiyi bezpeki Shifruvannya CCMPStruktura paketu protokolu IEEE 802 11 sho vikoristovuye shifruvannya na osnovi CCMP Vikoristannya CCMP obrobki rozshiryuye originalnij rozmir paketa na 16 oktetiv z yakih 8 oktetiv roztashovuyutsya v zagolovku paketu MPDU i 8 oktetiv v MIC oblasti Zagolovok CCMP skladayetsya z nastupnih chastin PN ExtIV i identifikatora klyucha PN 48 rozryadnij nomer paketa yakij predstavlyaye soboyu masiv z 6 oktetiv struktura paketa MPDU zashifrovanogo algoritmom CCMP Algoritm shifruvannya CCMP Strukturna shema protokolu shifruvannya CCMP SSMR peretvoryuye nezashifrovanij tekst paketa plaintext na malyunku ta inkapsulyuye jogo v paket danih vikoristovuyuchi nastupnij algoritm Zbilshuyetsya na deyake pozitivne chislo nomer paketa PN dlya togo shob otrimuvati svij nomer dlya kozhnogo paketu danih tak sho nomer paketa nikoli ne povtoryuyetsya dvichi pri vikoristanni odnogo timchasovogo klyucha Varto vidznachiti sho povtorni paketi danih ne zminyuyutsya pri yih retranslyaciyi Vikoristovuyuchi polya v zagolovku paketa CCMP stvoryuye dodatkovi autentifikaciionnye dani AAD dlya SSM Algoritm SSM zabezpechuye shifruvannya dlya poliv vklyuchenih v AAD Polya zagolovka paketa yaki mozhut zminitisya pri jogo retranslyaciyi ne povinni vrahovuvatisya pri stvorenni dodatkovih autentifikacijnih danih i tomu vvazhayutsya nulovimi pri stvorenni AAD Skladayetsya pole Nonce z nomera paketa adresi A2 i polya prioritetu yake v isnuyuchij realizaciyi ye zarezervovanim tak sho jogo znachennya maye buti vstanovleno rivnim nulyu Novij nomer paketa NP i identifikator klyucha key ID pomishayutsya v zagolovok paketa CCMP Dodatkovi autentifikacijni dani pole Nonce bezposeredno dani paketa z vikoristannyam timchasovogo klyucha TK shifruvannya algoritmom CCM Cej krok nazivayut CCM originator processing Pobudova polya dodatkovih autentifikacijnih danih AAD buduyetsya z zagolovka paketa MPDU AAD ne vklyuchaye v poli zagolovka Termin diyi oskilki dane pole mozhe zminitisya pri peredachi danih po kanalah standartu IEEE 802 11 napriklad pri zmini shvidkosti pid chas retranslyaciyi paketa Z tih zhe prichin kilka pidpoliv u poli Frame Control vvazhayutsya rivnimi nulyu Stvorennya dodatkovih autentifikacijnih danih zdijsnyuyetsya u vidpovidnosti z nastupnim algoritmom stvoryuyetsya pole FC Frame Control prichomu biti Pidtipiv Subtype bits vvazhayutsya rivnimi nulyu bit povtoru bit 11 vvazhayetsya rivnim nulyu PwrMgt bit bit 12 vvazhayetsya rivnim nulyu MoreData bit bit 13 vvazhayetsya rivnim nulyu bit zahistu bit 14 zavzhdi dorivnyuye 1 A1 MPDU Address 1 field A2 MPDU Address 2 field A3 MPDU Address 3 field stvoryuyetsya pole SC pole kontrolnoyi poslidovnosti paketu MPDU prichomu pidpoli nomera poslidovnosti biti 4 15 vvazhayetsya rivnim nulyu Pidpoli nomeri fragmenta ne zminyuyetsya A4 adresne pole paketu yaksho vin prisutnij v MPDU QC yakist obslugovuvannya QoS yaksho prisutnya Ce pole zarezervovano dlya majbutnogo vikoristannya Dovzhina AAD stanovit 22 oktetu u razi yaksho vidsutni polya A4 i QC i 28 oktetiv koli paket mistit pole A4 Stvorennya CCM nonce Pole nonce skladayetsya z poliv prioritetu A2 i nomera paketa prichomu pole prioritetu zarezervovano dlya podalshogo vikoristannya i maye buti obnuliti Shema rozshifruvannya CCMPShema algoritmu pokazano na risunku Strukturna shema algoritmu rozshifruvannya CCMP CCMP prijmaye v yakosti korisnogo navantazhennya zashifrovanij tekst paketa i rozshifrovuye paket vikoristovuyuchi nastupnu poslidovnist dij Z vikoristannyam danih paketu stvoryuyutsya polya dodatkovih identifikacijnih danih AAD i nonce Pole AAD vityaguyetsya z zagolovka paketu zashifrovanogo Pole stvoryuyetsya z poliv A2 poryadkovogo nomera paketa PN a takozh polya prioritetu Dlya perevirki cilisnosti paketu z nogo vityaguyetsya pole MIC Paket rozshifrovuyetsya i pereviryayetsya jogo cilisnist dlya chogo vikoristovuyetsya bezposeredno tekst zashifrovanogo paketu znachennya dodatkovih identifikacijnih danih timchasovij klyuch polya MIC i nonce Potim paket znovu zbirayetsya vzhe v rozshifrovanomu viglyadi i peredayetsya dali na obrobku Proces rozshifruvannya zapobigaye peredachi povtoryuvanih paketiv na bik koristuvacha porivnyuyuchi poryadkovij nomer paketa PN zi svoyim vnutrishnim lichilnikom paketiv PrimitkiMessage integrity code div WEP U bilshosti vipadkiv mozhna vvazhati sho oktet ce odin bajt ale na deyakih arhitekturah bajt mozhe ne dorivnyuvati bitam PosilannyaOpis standartu 29 listopada 2007 u Wayback Machine na standards ieee org PDF angl Perevireno 13 listopada 2009