หากเป็นไปได้ที่รหัส AEAD จะตรวจสอบความถูกต้องเมื่อใด คีย์ผิด มีการใช้รหัสสุ่มแล้วฉันเดาว่ารหัสจะถือว่าไม่ปลอดภัย ดังนั้นฉันคิดว่าการยกเว้นคีย์ในการคำนวณจะสร้างความแตกต่างได้มาก
ในทางกลับกัน ไม่น่าสุดโต่งที่ AD ที่ป้อนจะถูกจัดการเป็นคีย์ในรหัสบล็อก ดังนั้นการรวมไว้ในโฆษณาไม่ควรทำให้อัลกอริทึมส่วนใหญ่ไม่ปลอดภัยเช่นกัน ฉันยังคงกังวลเล็กน้อยเกี่ยวกับอัลกอริทึม MAC ภายใน อาจเป็นไปได้ว่ามีความสัมพันธ์ทางคณิตศาสตร์แปลก ๆ ที่สามารถใช้ประโยชน์ได้ ฉันไม่คิดว่ามีข้อกำหนดเฉพาะใด ๆ ที่จะหลีกเลี่ยงสิ่งนั้น
โดยทั่วไปแล้วฉันจะไม่ถือว่าคีย์เป็นข้อมูล นั่นอาจเป็นการออกแบบที่อันตรายและยุ่งยากกว่า คีย์อาจถูกจัดเก็บไว้ในคอนเทนเนอร์ที่ไม่ได้ทำให้ข้อมูลพร้อมใช้งาน (เช่น ในที่เก็บคีย์ของฮาร์ดแวร์หรือ TPM) แม้ว่าคุณจะไม่ได้วางแผนที่จะใช้คีย์ที่ได้รับการป้องกันในตอนนี้ แต่ก็จะไม่รวมตัวเลือกนี้ในอนาคต
แล้วมีตัวเลือกอะไรอีกบ้าง:
รวมข้อความเข้ารหัสของคีย์ที่ห่อไว้เป็นข้อมูล AEAD ด้วยวิธีนี้กุญแจจะได้รับการปกป้องเป็นสองเท่า อย่างไรก็ตาม หากคุณใช้โหมดที่ไม่ถูกต้อง (เช่น โหมดตัวนับ) ผู้โจมตีอาจทำการเปลี่ยนแปลงคีย์ในระดับบิต และ ข้อมูลเพิ่มเติม ซึ่งจะทำให้ฉันรู้สึกอึดอัดเล็กน้อย ดังนั้นฉันจึงใช้โหมดการตัดคีย์ที่ออกแบบมาเพื่อจุดประสงค์นี้ ในกรณีนั้นหรือถอยกลับไปที่ CBC ด้วยศูนย์ IV (yuk) ซึ่งไม่ควรทำให้ผู้โจมตีสามารถควบคุมค่าคีย์ได้มากนัก
แทนที่จะรวมคีย์ ให้หาคีย์โดยใช้ข้อมูลที่ได้มาจากคีย์ (เช่น ป้ายชื่อ / ข้อมูล / ตัวนับลำดับ / เกลือ) ที่จัดเก็บด้วยข้อความเข้ารหัส หากคุณต้องการ คุณสามารถรวมข้อมูลการสืบทอดคีย์ที่จัดเก็บไว้ในโฆษณาสิ่งนี้มีข้อเสียตรงที่คุณไม่สามารถใช้คีย์สุ่มโดยตรง (สร้างขึ้นในเครื่อง) เพื่อเข้ารหัสข้อมูล
สรุป: ฉันจะกังวลมากขึ้นเกี่ยวกับวิธีที่คุณรวมหรือได้รับคีย์ที่ใช้กับข้อมูล การรวมคีย์ที่ได้มาใน AD เป็นความคิดที่ไม่ดี แต่คุณ สามารถ รวม อื่นๆ ข้อมูลเช่นไซเฟอร์เท็กซ์หรือข้อมูลที่ได้รับมาภายใน AD และทำให้ยากขึ้นสำหรับฝ่ายตรงข้ามในการสร้างชุดค่าผสมของคีย์/ไซเฟอร์เท็กซ์
นอกจากโหมดการห่อแบบพิเศษแล้ว ฉันยังแนะนำให้ใช้คีย์ 256 บิตเพื่อหลีกเลี่ยงการโจมตีแบบหลายเป้าหมาย การใช้โหมดการห่อพิเศษหรือการสืบทอดคีย์จะป้องกันการโจมตีคีย์ที่เกี่ยวข้อง ด้วยกรณีการใช้งานประเภทนี้ คุณอาจต้องกังวลด้วย การเปลี่ยนแปลงในไฟล์ และ ฝ่ายตรงข้ามแลกเปลี่ยนเนื้อหา ciphertext ของไฟล์.