Counter with CBC-MAC
Counter with CBC-MAC (CCM、CCMモード)は、ブロック暗号の暗号利用モードの一つであり、認証付き暗号の一つである。CCMモードは128ビットブロック暗号に対してのみ定義されており、RFC 3610ではAESでの利用について定義されている。
CTRモードの派生として、CCMモードはストリーム暗号として振る舞う[1]。そのため、初期化ベクトル (IV)を慎重に選択し、再使用することは避けなければならない。
暗号化と認証[編集]
名称が示すように、CCMモードはカウンター (CTR)モードとCBC-MACモードを組み合わせたものであり、前者が暗号化に、後者が認証に用いられる。同一の鍵を暗号化と認証の双方に用いることができることができ、暗号化に用いられたカウンター値が認証で用いられる初期化ベクトルと衝突することがない。この組み合わせについては、ブロック暗号の安全性に基づくNISTによる検証結果が存在する[2]。この検証結果より、CCMモードは128ビットAESだけでなく任意のブロック長のブロック暗号および任意長の擬似乱数の生成に適用可能であることが示された(CTRモード、CBC-MACのいずれも一方向のみでの利用に限る)。
CCMモードはRuss Housley、Doug Whiting、Niels Fergusonによって設計された。CCMモードの開発時、Russ HousleyはRSA Laboratoriesに勤務していた。
CCM*と呼ばれるCCMモードの派生が存在し、ZigBeeでの暗号化に利用されている。CCM*はCCMモードのすべての機能を有しており、暗号化のみ、完全性の検証のみでの利用も可能である。
パフォーマンス[編集]
CCMモードは1ブロックの暗号化・認証メッセージにつき2ブロックの暗号化操作を、1ブロックの認証済みのデータにつき1ブロックの暗号化操作を必要とする。
特許[編集]
CCMモードの開発の動機は、OCBモードのIEEE 802.11iへの採用に関する問題である。OCBモードのアルゴリズムの利用に特許の主張が留保されていたことでOCBの採用に反対する意見があった。特許を必要とするアルゴリズムの採用は、標準の実装の際にライセンス問題に発展するためである。
OCBモードの採用は知的財産権の問題につながるものであるため、そのような問題を持たない新たな認証付き暗号の開発が求められた。そこで、Housleyらは特許による問題を受けない代替アルゴリズムとしてCCMモードを開発した。
CCMモードはOCBモードと比較すると効率が悪いアルゴリズムであるが、特許問題の危険性がないことから、CCMモードはIEEE 802.11iに必須要素として採用された。OCBモードは除外されるのではなく、オプションとしての位置付けとなった。
利用[編集]
CCMモードは、IEEE 802.11i(WPA2の暗号規格であるCCMPとして)、IPSec[3]、TLS 1.2[4]といった標準規格で採用されている。
関連項目[編集]
- 暗号利用モード
- 認証付き暗号
- Advanced Encryption Standard
- Counter mode with Cipher-block chaining Message authentication code Protocol
脚注[編集]
- NIST Special Publication 800-38C Recommendation for Block Cipher Modes of Operation: The CCM Mode for Authentication and Confidentiality
- ^ “rfc4309”. IETF. p. 3. 2013年12月20日閲覧。 “"AES CCM employs counter mode for encryption. As with any stream cipher, reuse of the same IV value with the same key is catastrophic."”
- ^ “On the Security of CTR + CBC-MAC”. NIST. 2013年12月20日閲覧。
- ^ RFC 4309 Using Advanced Encryption Standard (AES) CCM Mode with IPsec Encapsulating Security Payload (ESP)
- ^ RFC 6655 AES-CCM Cipher Suites for Transport Layer Security (TLS)
外部リンク[編集]
- RFC 3610: Counter with CBC-MAC (CCM)
- RFC 4309: Using Advanced Encryption Standard (AES) CCM Mode with IPsec Encapsulating Security Payload (ESP)
- RFC 6655: AES-CCM Cipher Suites for Transport Layer Security (TLS)
- A Critique of CCM (OCBモードの設計者による評価)
|