ฉันนึกถึงจุดอ่อนของ AES-CBC ใน TLS 1.1 ขึ้นไปได้เพียงข้อเดียวคือ ลัคกี้สิบสามโจมตี. นี่เป็นการโจมตีวิธีแพดข้อความที่ออกแบบมาไม่ดี อ่อนแอเป็นพิเศษ ถึง ก การขยายการโจมตีของออราเคิล เนื่องจากใช้ MAC-แล้วเข้ารหัส (ด้วยรูปแบบการขยายที่ทำให้การโจมตีค่อนข้างง่าย)
การโจมตีเดิมขึ้นอยู่กับการได้รับ การถอดรหัส_ล้มเหลว
แจ้งเตือนเมื่อการเติมผิด ซึ่งก็คือ แก้ไขใน TLS 1.1 โดยดำเนินการต่อด้วยคีย์เซสชันแบบสุ่มในข้อผิดพลาดการเติม (และการใช้งาน TLS 1.0 ก็ใช้มาตรการรับมือนี้เช่นกัน) อย่างไรก็ตาม การใช้งาน TLS 1.2 แบบไร้เดียงสายังคงเสี่ยงต่อการถูกโจมตีในช่วงเวลา: สิ่งที่ผู้โจมตีจำเป็นต้องทราบคือ จำนวนไบต์ของการเติมที่ถูกต้อง และเวลาที่ใช้ในการประมวลผลข้อความจะทำให้ข้อมูลนี้รั่วไหล เว้นแต่ผู้ดำเนินการจะระมัดระวังเป็นอย่างมาก .
การใช้งาน TLS หลักเวอร์ชันปัจจุบันป้องกัน Lucky Thirteen ดังนั้นโดยทั่วไปคุณจึงสามารถใช้ชุดเข้ารหัส CBC ได้อย่างปลอดภัย มาตรการตอบโต้นี้มีค่าใช้จ่ายด้านประสิทธิภาพ อย่างไรก็ตาม การนำไปปฏิบัติโดยทั่วไปต้องดำเนินการ ทั้งหมด ความยาวช่องว่างภายในที่เป็นไปได้ซึ่งมีมากถึง 256 แล้วรวมผลลัพธ์ ระวังว่าการใช้งานรุ่นเก่าหรือการใช้งานที่ไม่ได้ออกแบบมาเพื่อความปลอดภัยสูงอาจยังมีช่องโหว่อยู่
การใช้งาน TLS บางอย่าง (อย่างน้อย OpenSSL, GnuTLS และ Mbed TLS) รองรับ นามสกุลเข้ารหัสแล้ว MAC ซึ่งป้องกันช่องโหว่นี้อย่างสมบูรณ์
ไม่ว่าในกรณีใดเหตุผลเดียวที่จะ ใช้ ชุดรหัส CBC คือการพูดคุยกับระบบเก่าที่ไม่รองรับชุดรหัส AEAD (โดยใช้ GCM, CCM หรือ Chacha-Poly) ชุดรหัส AEAD นั้นเร็วกว่าและมีแนวโน้มที่จะเกิดอุบัติเหตุด้านความปลอดภัยน้อยลง โดยทั่วไปแล้ว เหตุผลที่ชุดการเข้ารหัส CBC ยังคงมีอยู่ก็เพื่อระบบที่มีเอ็นจิ้นการเข้ารหัสซึ่งไม่สามารถอัปเกรดได้อย่างมีประสิทธิภาพ (เช่น เนื่องจากได้รับการรับรองแล้ว และไม่มีใครต้องการจ่ายเงินเพื่อรับรองการใช้งาน GCM หรือ CCM) หากเหตุผลที่ควรหลีกเลี่ยง GCM และ Chacha-poly ก็คือการมีอยู่ของการเร่งความเร็ว AES CCM จะใช้ประโยชน์จากสิ่งนั้นและโดยทั่วไปจะเร็วกว่าชุดรหัส CBC (ซึ่งต้องมีการคำนวณ HMAC)
ชุดเข้ารหัส CBC ถูกลบออกใน TLS 1.3 เนื่องจากติดตั้งอย่างถูกต้องได้ยาก (และเป็นไปไม่ได้ที่จะติดตั้งทั้งประสิทธิภาพสูงและความปลอดภัยสูง) และเหตุผลเดียวที่จะคงไว้คือความเข้ากันได้กับระบบเก่า ด้วยเวอร์ชันโปรโตคอลที่ใหม่กว่า จึงไม่มีเหตุผลสำคัญที่จะต้องเก็บไว้ และเนื่องจาก TLS 1.3 มีจุดประสงค์เพื่อแยกกลไกการเข้ารหัสทั้งหมดที่ใช้งานได้ยากอย่างปลอดภัย ชุดการเข้ารหัส CBC จึงต้องดำเนินการอย่างแน่นอน