การเลือก AES-256 หรือคีย์ที่ยาวขึ้นไม่ได้บอกอะไรเลยว่าคีย์นั้นใช้ได้นานแค่ไหน ความแข็งแกร่งของคีย์อธิบายอัลกอริทึม; นโยบายการเปลี่ยนคีย์เป็นตัวกำหนดว่าเซสชันจะสร้างวัสดุคีย์ใหม่เมื่อใด การติดตั้งอาจเลือกชุดรหัสที่แข็งแกร่งที่สุดที่มีอยู่และยังตัดสินใจผิดเรื่องการต่ออายุ เพราะการตัดสินใจสองอย่างนี้ทำในที่ที่ต่างกัน การสับสนทั้งสองอย่างนี้ทำให้เกิดการเปลี่ยนชุดรหัสโดยไม่จำเป็น หรือเกิดเซสชันที่อยู่ยาวกว่าที่นโยบายกำหนดอย่างเงียบ ๆ

อ่านการตั้งค่าการเปลี่ยนคีย์ก่อนแตะชุดรหัส และอ่านทั้งสองฝั่งเมื่อทำเช่นนั้น

ความแข็งแกร่งของคีย์และอายุของคีย์ตอบคำถามที่ต่างกัน

ชุดรหัสและขนาดคีย์เป็นตัวจำกัดว่าการโจมตีข้อมูลที่ดักได้จะแพงแค่ไหน ช่วงการเปลี่ยนคีย์เป็นตัวจำกัดว่าคีย์หนึ่งตัวปกป้องข้อมูลเท่าใดและคีย์ที่ถูกเปิดเผยยังมีประโยชน์นานแค่ไหน สิ่งเหล่านี้เป็นปุ่มที่แยกจากกัน และชุดรหัสที่แข็งแกร่งกว่าก็ไม่ได้ยืดอายุที่ปลอดภัยของเซสชัน คำแนะนำส่วนใหญ่ที่บอกว่า 'ใช้ AES-256' ไม่พูดถึงการต่ออายุ เพราะการต่ออายุเป็นคำถามเชิงนโยบาย ไม่ใช่การเลือกอัลกอริทึม

บันทึกทั้งสองอย่างในบันทึกการติดตั้ง: อะไรปกป้องช่องทางข้อมูล และอะไรกระตุ้นการเปลี่ยนคีย์ของช่องทางนั้น

การเปลี่ยนคีย์มีทริกเกอร์สามอย่าง และฝั่งใดก็ได้สามารถกระตุ้นได้

OpenVPN 2.6 เอกสารทริกเกอร์แยกสำหรับการเจรจาใหม่ตามไบต์ แพ็กเก็ต และเวลาที่ผ่านไป ทริกเกอร์ด้านเวลาเป็นตัวที่การติดตั้งส่วนใหญ่ปล่อยไว้ที่ค่าเริ่มต้น ซึ่งหมายความว่าอุโมงค์ที่เงียบก็ยังเปลี่ยนคีย์ตามกำหนดการ ฝั่งใดก็ได้สามารถเริ่มการแลกเปลี่ยน และฝั่งที่ไม่ได้เริ่มจะเป็นฝ่ายตาม ดังนั้นการเปลี่ยนตัวจับเวลาที่ฝั่งเดียวจึงไม่ได้กำหนดพฤติกรรมของเซสชัน ค่าที่มีผลคือค่าของฝั่งที่เริ่มก่อน

ทริกเกอร์ด้านไบต์และแพ็กเก็ตมีความสำคัญกับภาระงานที่รับส่งสูงหรือแพ็กเก็ตเล็ก ซึ่งนโยบายที่อิงเวลาเพียงอย่างเดียวจะปล่อยให้คีย์หนึ่งตัวปกป้องข้อมูลมากกว่าที่ตั้งใจไว้มาก หากตัวนับเหล่านั้นยังคงปิดอยู่ ให้ระบุไว้ในบันทึกอย่างตั้งใจแทนที่จะปล่อยค่าเริ่มต้นไว้โดยไม่ตรวจสอบ

การเปลี่ยนคีย์เปิดเผยขั้นตอนการพิสูจน์ตัวตน

การเจรจาใหม่คือการจับมือ TLS ครั้งใหม่ ซึ่งหมายความว่าเส้นทางการพิสูจน์ตัวตนทำงานอีกครั้ง การติดตั้งที่ใช้รหัสครั้งเดียว โทเค็นฮาร์ดแวร์ หรือการท้าทาย RADIUS จะรู้เรื่องนี้ด้วยวิธีที่เจ็บปวด: การเชื่อมต่อครั้งแรกได้ผล และเซสชันตายลงหนึ่งชั่วโมงให้หลังเมื่อการจับมือครั้งที่สองขอรหัสที่ถูกใช้ไปแล้ว auth-gen-token มีอยู่เพื่อปิดช่องว่างนั้น โดยให้เซิร์ฟเวอร์ออกโทเค็นอายุสั้นสำหรับการเจรจาใหม่ แทนที่จะเรียกร้องให้เข้าสู่ระบบแบบโต้ตอบครั้งใหม่

มองสิ่งนี้เป็นปัญหาของขั้นตอนการทำงานที่ต้องแก้กับผู้ดูแลระบบ ไม่ใช่หลักฐานว่าควรปิดการต่ออายุ

ทดสอบการต่ออายุภายใต้ภาระงาน ไม่ใช่ในเซสชันหนึ่งนาที

การทดสอบรับรองที่เชื่อมต่อ ส่ง ping ครั้งเดียว แล้วตัดการเชื่อมต่อจะไปไม่ถึงการเปลี่ยนคีย์เลย รันเซสชันให้นานพอที่จะข้ามทริกเกอร์ที่ตั้งไว้ ให้การถ่ายโอนทำงานตลอดช่วงนั้น และดูบันทึกของทั้งสองฝั่งเพื่อหาการจับมือใหม่ จากนั้นทดสอบเส้นทางความล้มเหลว: ไคลเอนต์ทำอะไรหากการเจรจาใหม่ไม่สามารถเสร็จสิ้นได้ อุโมงค์ที่ล้มลงอย่างสะอาดนั้นวินิจฉัยได้ง่ายกว่าอุโมงค์ที่ยังส่งต่อไปยังเซสชันที่ตายแล้ว

อย่าอ่านการถ่ายโอนขนาดใหญ่ที่สำเร็จเป็นหลักฐานของขีดจำกัดทางการเข้ารหัส มันแสดงเพียงว่าเส้นทางและตัวนับทนทานปริมาณข้อมูลเท่านั้นได้

บันทึกทั้งสองทางเลือก

บันทึกต้องการสองบรรทัด: แพ็กเก็ตได้รับการปกป้องอย่างไร และการปกป้องนั้นถูกแทนที่เมื่อใด เพิ่มที่มาของอำนาจสำหรับแต่ละค่า เพราะชุดรหัสอาจมาจากค่าเริ่มต้นของดิสทริบิวชัน ในขณะที่ตัวจับเวลามาจากนโยบายภายใน ผู้ดูแลในอนาคตไม่ควรต้องอนุมานทั้งสองอย่างจากไฟล์กำหนดค่า

หากความเข้ากันได้บังคับให้มีข้อยกเว้น ให้จำกัดขอบเขตไว้ที่เวอร์ชันหนึ่งและวันที่สิ้นสุด ข้อยกเว้นที่อยู่นานกว่าเหตุผลของมันจะกลายเป็นนโยบายที่ไม่มีใครจำได้ว่าเป็นผู้เลือก

บทความที่เกี่ยวข้อง