Counter mode with Cipher-block chaining Message authentication code Protocol

Counter mode with Cipher-block chaining Message authentication code Protocol、あるいはCounter mode with CBC-MAC Protocol、あるいはCCMP (CCM Protocol) は、IEEE 802.11で規定される無線LANのための暗号化プロトコルである。CCMPは、CCMモードによるAESに基づいて、データの暗号化を行う。CCMPは、脆弱性が発見され時代遅れとなったWEPの代替を目的として開発された。プロトコル名が長いため、無線LAN機器の設定インターフェイスではプロトコルの「CCMP（WPA2-PSK-CCMPなど）」ではなく暗号化アルゴリズムの「AES（WPA2-PSK-AES、WPA2-PSK (AES) など）」と表記されることも多い。
技術的詳細.
CCMPでは、データの機密保持のためのCTRと、認証および完全性の検証のためのCBC-MACを組み合わせたCCMモードを利用する。CCMPでは、MPDUのデータユニットとIEEE 802.11 MPDUヘッダの双方を保護する。共通鍵暗号にはAESが用いられ、鍵長およびブロック長はともに128ビットである。CCMPのCCMモードでは以下のパラメータが用いられる。
CCMPのMPDUは5つのセクションから構成される。1つ目は、データパケットの宛先と送信元のアドレスを含むMACヘッダである。2つ目は、8オクテットからなる、パケット番号 (PN)、初期化ベクトル (IV)、キーIDを含むCCMPヘッダである。PNは48ビットの番号であり6オクテットに格納される。PNは最初の2つおよび最後の4つのオクテットであり、パケットごとに増加する。PNの間に挟まれる形で予約オクテットとキーIDオクテットが配置される。キーIDオクテットは、初期化ベクトル (bit 5)、キーID (bits 6-7)、そして予約サブ領域 (bits 0-4) から構成される。CCMPはこれらの値をデータユニットとメッセージ認証符号の暗号化に用いる。3つ目はデータユニットであり、パケットで送信されるデータが含まれる。これら3つに、完全性の検出と認証のためのメッセージ認証符号 (MIC) と、誤り検出訂正のためのフレームチェックシークエンス (FCS) が加わる。これらのセクションのうち、暗号化されているのはデータユニットとMICのみである。
セキュリティ.
CCMPはWPA2の標準暗号化プロトコルであり、WEPやWPAの標準暗号化プロトコルであるTKIPといったRC4をベースとした暗号化プロトコルと比較してはるかに安全である。WPAにおいても、親機・子機の双方が対応していれば、標準であるTKIPの代わりにCCMPを用いることができる。CCMPは次のような機能を提供している。
CCMPは128ビットのブロック暗号 (AES) を用いているため、264回の試行に対して安全である。通常の中間一致攻撃によって、理論的な鍵の強度は2n/2に限定される。