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に基づいて、データの暗号化を行う[1]。CCMPは、脆弱性が発見され時代遅れとなったWEPの代替を目的として開発された[1]。プロトコル名が長いため、無線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のみである[1]。
セキュリティ
[編集]CCMPはWPA2の標準暗号化プロトコルであり、WEPやWPAの標準暗号化プロトコルであるTKIPといったRC4をベースとした暗号化プロトコルと比較してはるかに安全である。WPAにおいても、親機・子機の双方が対応していれば、標準であるTKIPの代わりにCCMPを用いることができる。CCMPは次のような機能を提供している[2]。
- データの機密保持:認証されたユーザのみが情報にアクセスできる
- 認証:ユーザが本人であるかを認証する
- レイヤー管理の連携によるアクセスコントロール
CCMPは128ビットのブロック暗号 (AES) を用いているため、264回の試行に対して安全である。通常の中間一致攻撃によって、理論的な鍵の強度は2n/2に限定される[3]。
既知の攻撃
[編集]脚注
[編集]- ^ a b c Cole, Terry (2007年6月12日). “IEEE Std 802.11-2007”. New York, New York: The Institute of Electrical and Electronics Engineers, Inc. 2013年12月19日閲覧。
- ^ Ciampa, Mark (2009). Security Guide To Network Security Fundamentals (3 ed.). Boston, MA: Course Technology. pp. 205, 380, 381. ISBN 1-4283-4066-1
- ^ Whiting, Doug; Hifn, R. Housley, Vigil Security, N. Ferguson, MacFergus. “Counter with CBC-MAC (CCM)”. The Internet Society. 2013年12月19日閲覧。