Przejdź do zawartości

CCMP

Z Wikipedii, wolnej encyklopedii
CCMP
Counter Mode with Cipher Block Chaining Message Authentication Code Protocol
Rodzaj algorytmu

protokół szyfrujący

Data stworzenia

2003

Autorzy

grupa robocza IEEE 802.11i

Długość klucza

128 bitów

CCMP (ang. Counter Mode with Cipher Block Chaining Message Authentication Code Protocol) – tryb licznika z CBC-MAC – protokół szyfrujący oparty na algorytmie AES, który zastąpił starsze protokoły WEP i TKIP. Protokół został zatwierdzony przez grupę roboczą IEEE 802.11i 24 czerwca 2003 roku, a następnie zaimplementowany jako następca TKIP oraz wymagany element certyfikacji WPA w wersji 2, gdy 24 czerwca 2004 roku pojawiła się ostateczna wersja standardu bezpieczeństwa 802.11i.

Wprowadzenie CCMP stanowiło fundamentalną zmianę w zabezpieczeniach bezprzewodowych sieci lokalnych, oznaczającą przejście od czerpiących z WEP i TKIP szyfrów strumieniowych do szyfru blokowego AES. Głównym zadaniem projektowym protokołu jest równoczesne zapewnienie poufności, autentyczności oraz integralności przesyłanych danych, których to celów starsze rozwiązania nie były w stanie bezpiecznie zagwarantować.

Architektura i mechanizm działania

[edytuj | edytuj kod]

Struktura CCMP opiera się na kompozycji generycznej, łączącej dwa niezależne mechanizmy kryptograficzne: tryb licznikowy AES (zapewniający poufność poprzez szyfrowanie) oraz kod uwierzytelniający CBC-MAC (gwarantujący autentyczność i integralność).

W celu realizacji zadań ochronnych protokół wykorzystuje pojedynczy, 128-bitowy klucz szyfrujący K, pochodzący bezpośrednio z procesu czteroetapowego uzgadniania kluczy (IEEE four-way handshake). CCMP, we współpracy z tym mechanizmem oraz strukturą uwierzytelniania IEEE 802.1X, odpowiada za praktyczną realizację koncepcji bezpiecznej sieci RSN (Robust Secure Network).

Parametry techniczne i struktura pakietu

[edytuj | edytuj kod]

W specyfikacji CCMP kluczowe parametry kryptograficzne są ściśle zdefiniowane. Pole długości wiadomości (l) ma stałą wartość wynoszącą 2 bajty, natomiast znacznik uwierzytelniający MIC (Message Integrity Code) ma stałą długość równą 8 bajtów.

Dla każdego przesyłanego pakietu protokół generuje nagłówek o wielkości 8 bajtów, w skład którego wchodzi 48-bitowy numer pakietu (PN), 8-bitowy identyfikator klucza (key ID) oraz 8-bitowy rozszerzony wektor inicjujący (ext IV). Ponadto dla każdej szyfrowanej jednostki MPDU protokół wymaga unikalnego wektora inicjującego (nonce) o rozmiarze 13 bajtów. Składa się on z:

  • 48-bitowego numeru pakietu (PN),
  • 48-bitowego adresu sieciowego odbiorcy (A2),
  • 8-bitowego pola priorytetu.

Wydajność i ograniczenia

[edytuj | edytuj kod]

Mimo że CCMP jest dwuprzebiegowym trybem uwierzytelniania i szyfrowania (AE), w którym operacje te odbywają się w osobnych cyklach, nie stanowi on pełnego trybu uwierzytelnionego szyfrowania z danymi skojarzonymi (AEAD).

Jedną ze słabości efektywnościowych protokołu jest brak możliwości wstępnego przetworzenia dodatkowych danych uwierzytelniających (AAD) pochodzących z nagłówka MPDU. Wymusza to generowanie i przeliczanie nowego AAD osobno dla każdego transmitowanego pakietu. Ponadto konstrukcja CCMP uniemożliwia losowe uwierzytelnianie bloków danych z zachowaniem pełnego bezpieczeństwa. Ograniczenie to bezpośrednio wynika z wysoce sekwencyjnego i nieprzyrostowego charakteru obliczania znacznika MIC.

Bibliografia

[edytuj | edytuj kod]
  • Idris Ahmed, Anne James, Dhananjay Singh, Critical analysis of counter mode with cipher block chain message authentication mode protocol—CCMP, „Security and Communication Networks”, 7 (2), 2014, s. 293–308, DOI: 10.1002/sec.733, ISSN 1939-0114 [dostęp 2026-09-02] (ang.).