Der CCM-Modus (Counter with CBC-MAC) ist ein von Russ Housley, Doug Whiting und Niels Ferguson entwickelter Betriebsmodus für Blockchiffren. CCM macht aus einer Blockchiffre ein Authenticated-Encryption-Verfahren, das sowohl Vertraulichkeit als auch Integrität garantieren soll. RFC 3610[1] spezifiziert CCM nur für Blockchiffren mit einer Blocklänge von 128 Bit, wie beispielsweise AES.

Bei CCM darf ein Initialisierungsvektor (IV) nicht zweimal mit dem gleichen Schlüssel verwendet werden. Dies liegt daran, dass CCM von Counter Mode abgeleitet ist, und letzterer eine Stromchiffre darstellt.[2]

Authenticated Encryption

Der CCM-Modus kombiniert den Counter Mode zur Verschlüsselung mit dem CBC-MAC-Modus zur Integritätssicherung. Dies ist möglich, weil für beide Modi der gleiche Schlüssel verwendet werden kann, so lange der Initialisierungsvektor des CBC-MAC nicht mit den Counter-Werten kollidiert. Für CCM gibt es einen Sicherheitsbeweis,[3] der auf der Annahme der Sicherheit der zugrundeliegenden Blockchiffre beruht. Der Sicherheitsbeweis gilt ebenfalls für eine Verallgemeinerung von CCM auf beliebige Blocklängen und pseudozufällige Funktionen statt Blockchiffren (da von der Blockchiffre bei Counter Mode und CBC-MAC nur die Verschlüsselung benutzt wird).

Eine Variante von CCM ist CCM*, die als zusätzliche Optionen Nur-Verschlüsselung und Nur-Integritätssicherung anbietet. CCM* wird im ZigBee-Standard verwendet. DECT bietet seit 2013 eine Verschlüsselung auf Basis von CCM an.[4]

Performanz

CCM benötigt zwei Operationen der Blockchiffre für jeden Datenblock der verschlüsselt und authentifiziert wird und eine Operation der Blockchiffre für jeden Datenblock, der nur authentifiziert wird.

Patente

Auslöser für die Entwicklung von CCM war der Vorschlag der Aufnahme des OCB Mode in den IEEE-802.11i-Standard. Auf den OCB-Modus war ein Patent angemeldet, was die Implementierung des Standards durch Lizenzprobleme verkompliziert hätte. Aus diesem Grund wurde CCM als alternativer, patentfreier, Authenticated-Encryption-Algorithmus entwickelt.

Obwohl der OCB-Modus effizienter ist als der CCM-Modus, wurde aufgrund der Patentprobleme CCM als obligatorischer Bestandteil in den IEEE 802.11i-Standard aufgenommen. Der OCB-Modus wurde zunächst als optionale Komponente aufgenommen und dann ganz entfernt.

Normen und Standards

  • RFC 3610 – Counter with CBC-MAC (CCM). (englisch).
  • Russ Housley: RFC 4309 – Using Advanced Encryption Standard (AES) CCM Mode with IPsec Encapsulating Security Payload (ESP). Dezember 2005 (englisch).
  • RFC 6655 – AES-CCM Cipher Suites for Transport Layer Security (TLS). (englisch).

Literatur

Einzelnachweise

  1. RFC 3610 – Counter with CBC-MAC (CCM). (englisch).
  2. Russ Housley: RFC 4309 – Using Advanced Encryption Standard (AES) CCM Mode with IPsec Encapsulating Security Payload (ESP). Dezember 2005 (englisch). “AES CCM employs counter mode for encryption. As with any stream cipher, reuse of the same IV value with the same key is catastrophic.
  3. Jakob Jonsson: On the Security of CTR + CBC-MAC. (nist.gov [PDF]).
  4. ETSI EN 300 175-4. (PDF; 0,9 MB) Digital Enhanced Cordless Telecommunications (DECT); Common Interface (CI); Part 4: Data Link Control (DLC) layer.