8 คือความยาวของแท็ก (เป็นไบต์)
CCM เป็นตระกูลของอัลกอริทึม AEAD (การเข้ารหัสที่รับรองความถูกต้องพร้อมข้อมูลที่เกี่ยวข้อง) ซึ่งกำหนดพารามิเตอร์โดย:
- อัลกอริทึมการเข้ารหัสบล็อก (เช่น AES-128, AES-192, AES-256, Camellia-128, â¦) ที่มีขนาดบล็อก 128 บิต
- ฟังก์ชันการสร้างเคาน์เตอร์
- ฟังก์ชันการจัดรูปแบบสำหรับบล็อกแรก
- ความยาวแท็ก
CCM ถูกกำหนดโดย นิสท์ เอสพี 800-30ซี.
ในทางปฏิบัติ ทุกคนใช้การสร้างตัวนับและฟังก์ชันการจัดรูปแบบ
ระบุไว้ในภาคผนวก A ของ NIST SP 800-30C ข้อมูลจำเพาะของฟังก์ชันการจัดรูปแบบคือกลุ่มของฟังก์ชันที่มีพารามิเตอร์เดียว: ความยาวของฟิลด์ AEAD ดังนั้น âAES-CCMâ จึงปล่อยให้พารามิเตอร์สามตัวคลุมเครือ: ความยาวของคีย์ AES, ความยาว ถาม ของฟิลด์ AEAD และความยาว ที ของแท็ก
คุณค่าของ ถาม ไม่มีผลกระทบโดยตรงต่อความปลอดภัย มันจำกัดขนาดของ AEAD ที่สามารถส่งได้ และจำกัดขนาดของ nonce คุณค่าของ ที มีผลกระทบต่อความปลอดภัย: แท็กที่สั้นเกินไปอาจถูกดุร้ายได้ ความยาวแท็กสามารถต่ำได้ถึง 4 ไบต์ ซึ่งง่ายต่อการบังคับ แท็กสั้นดังกล่าวใช้ในโปรโตคอลการสื่อสารซึ่งการบังคับแท็กแบบเดรัจฉานจะเป็นการโจมตีที่ดำเนินอยู่และความน่าจะเป็นที่การโจมตีที่แอคทีฟจะประสบความสำเร็จถือว่าต่ำที่ยอมรับได้
พารามิเตอร์ ถาม และ ที จะถูกเข้ารหัสในบล็อคแรกของข้อมูล ดังนั้นการใช้การยืนยันการถอดรหัส CCM สำหรับการเข้ารหัสบล็อคที่กำหนดสามารถถอดรหัสและตรวจสอบอินพุตได้อย่างไม่คลุมเครือไม่ว่าค่าเหล่านั้นจะเป็นเท่าใดก็ตาม โปรโตคอลบางอย่างจำกัด ถาม และ ที เป็นค่าเฉพาะ สำหรับความยาวของแท็ก ทีนี่คือพารามิเตอร์ความปลอดภัย สำหรับ ถามซึ่งช่วยให้การนำไปใช้งานง่ายขึ้นเล็กน้อย และทำให้การทำงานร่วมกันง่ายขึ้น (มีความเสี่ยงน้อยลงจากความแตกต่างในการสนับสนุน ขีดจำกัดขนาด AEAD ที่สอดคล้องกัน ภาระในการทดสอบการทำงานร่วมกันน้อยลง)
โปรดทราบว่า ถาม และ ที เป็นอินพุตในการคำนวณแท็ก ดังนั้นค่าแท็กจึงขึ้นอยู่กับพารามิเตอร์เหล่านี้ โดยเฉพาะอย่างยิ่งสำหรับข้อความที่กำหนด นแท็ก -byte CCM ไม่ใช่การตัดทอนของแท็ก 16 ไบต์ น ไบต์ (สิ่งนี้แตกต่างสำหรับ GCM โดยที่ GCM ที่มีแท็กสั้นกว่าเป็นเพียง GCM ที่ตัดแท็กแบบเต็มความยาวออก)
หากไม่ได้ระบุไว้อย่างชัดเจน โดยปกติแล้วความยาวของแท็กจะเป็นค่าสูงสุดที่เป็นไปได้ ซึ่งก็คือหนึ่งบล็อก (128 บิต = 16 ไบต์) นอกจากนี้ยังสามารถเขียนเป็น âAES-CCM-16â (หรือรูปแบบการพิมพ์) âAES-CCM-8â หมายถึง AES-CCM ที่มีแท็ก 64 บิต = 8 ไบต์ และอื่นๆ
ตัวอย่างเช่น ใน TLS 1.2 ชุดรหัส CCM ถูกกำหนดโดย RFC 6655 (และ RFC อื่นๆ สำหรับ Camellia และ ARIA) โดยอ้างอิงถึง RFC 5116 §5.3 และ §5.4. RFCÂ 6655 §3 ระบุ nonce ขนาด 12 ไบต์ ซึ่งเท่ากับว่า ถาม = 3. xxx_CCM
ชุดรหัสใช้แท็กความยาวสูงสุด (ที = 16) ในขณะที่ xxx_CCM_8
ชุดการเข้ารหัสใช้แท็กครึ่งความยาว (ที = 8).
แท็กขนาด 8 ไบต์ (64 บิต) จะมีขนาดเล็กจนน่าอึดอัดในสถานการณ์ที่ผู้โจมตีสามารถบังคับแท็กที่เป็นไปได้ทั้งหมด อย่างไรก็ตาม เมื่อใช้แท็กสำหรับการสื่อสาร TLS หากผู้โจมตีเดาแท็กผิด ผู้รับจะปิดการเชื่อมต่อทันที ดังนั้นการเดาแต่ละครั้งจึงต้องใช้การเชื่อมต่อใหม่ สิ่งนี้ทำให้กำลังดุร้ายมีราคาแพงมาก เมื่อใช้ DTLS เครื่องรับจะยอมรับแพ็กเก็ตที่เสียหายจำนวนหนึ่ง ดังนั้นผู้โจมตีจึงสามารถคาดเดาได้หลายครั้งต่อการเชื่อมต่อ แต่การโจมตียังคงเป็นการโจมตีที่แอ็คทีฟในการเชื่อมต่อที่กำลังดำเนินอยู่ และมักไม่สามารถทำได้สำหรับผู้โจมตีที่จะลองใช้จำนวนที่ไม่สำคัญ คาดเดาโดยไม่ทำให้แบนด์วิธของผู้รับอิ่มตัวหรือกระตุ้นการป้องกันน้ำท่วม