คีย์คงที่หรือ TLS สำหรับลิงก์ OpenVPN ระหว่างสองเพียร์
โหมดคีย์คงที่ของ OpenVPN ไม่สามารถหมุนเวียนคีย์ทราฟฟิกได้ หากเพียร์สองตัวต้องการการต่ออายุอัตโนมัติ ให้เปลี่ยนไปใช้โหมด TLS และปล่อยโครงร่างแบบจุดต่อจุดไว้ตามเดิม
เครื่องสองเครื่องที่คุยกันเองเท่านั้นสามารถคงโครงสร้างเครือข่ายเดิมไว้และยังได้คีย์ทราฟฟิกที่เจรจากันแล้ว รูปร่างของเครือข่ายกับโหมดป้องกันเป็นทางเลือกที่เป็นอิสระต่อกัน และการนำสองสิ่งนี้มาปนกันคือสาเหตุที่ผู้คนพยายามหมุนเวียนความลับแบบคงที่ด้วยการสลับไฟล์ในขณะที่ทั้งสองเดมอนยังทำงานอยู่ การสลับไฟล์คีย์ใต้คู่ที่กำลังทำงานอยู่ไม่หมุนเวียนอะไรเลย โหมดคีย์คงที่ซึ่ง OpenVPN 2.6 ระบุว่าเลิกใช้แล้วเก็บคีย์เดียวตลอดอายุของอุโมงค์ ดังนั้นไฟล์บนดิสก์กับคีย์ในหน่วยความจำจะตรงกันอีกครั้งหลังจากการรีสตาร์ตทั้งสองด้านเท่านั้น หากการต่ออายุอัตโนมัติเป็นข้อกำหนด โหมดป้องกันจำเป็นต้องเปลี่ยน
สิ่งที่โหมดคีย์คงที่ทำไม่ได้
ในโหมดลับ เพียร์ทั้งสองใช้คีย์ที่แชร์ไว้ล่วงหน้าซึ่งเข้ารหัสและพิสูจน์ตัวตนอุโมงค์โดยตรง ไม่มีการจับมือกัน ดังนั้นจึงไม่มีกลไกให้ฝ่ายใดเสนอวัสดุคีย์ใหม่ พิสูจน์ตัวตน หรือกู้คืนจากความไม่ตรงกันได้โดยไม่ต้องให้ผู้ปฏิบัติงานเข้าแทรก คุณสมบัติทั้งสองมาจากการไม่มีช่องควบคุม ไม่ใช่จากตัวเลือกที่ขาดหาย และไม่มีแฟล็กการกำหนดค่าใดเพิ่มช่องดังกล่าวให้โหมดนี้
คู่มือ OpenVPN 2.6 ระบุชัดเจนว่าคีย์คงอยู่จนกว่าจะสร้างคีย์ใหม่ สิ่งนี้ยอมรับได้สำหรับลิงก์ในห้องปฏิบัติการหรือคู่อุปกรณ์แบบคงที่ที่มีขั้นตอนการหมุนเวียนเป็นลายลักษณ์อักษร และยอมรับไม่ได้ในที่ใดก็ตามที่ความลับอายุยืนเป็นความเสี่ยงจริง การสลับไฟล์ไม่ได้สร้างคีย์ใหม่ให้คู่ที่กำลังทำงานอยู่ แต่สร้างเพียร์สองตัวที่ไม่ตรงกัน การแทนที่ไฟล์จึงเพิ่มการหยุดชะงักโดยไม่เพิ่มการหมุนเวียน
ยังไม่มีแนวคิดเรื่องตัวตนของเพียร์นอกเหนือจากการถือไฟล์ ใครก็ตามที่ถือคีย์คือเพียร์ และไม่มีสิ่งใดในอุโมงค์บันทึกว่าฝ่ายไหนเป็นฝ่ายไหน การเพิกถอนจึงเป็นทั้งหมดหรือไม่มีเลย
ย้ายไป TLS โดยไม่ต้องออกแบบลิงก์ใหม่
โหมด TLS เพิ่มช่องควบคุม และด้วยสิ่งนั้นจึงเพิ่มความสามารถในการเจรจาคีย์ของช่องข้อมูล ในการติดตั้งแบบจุดต่อจุด ฝ่ายหนึ่งรับบทบาทเซิร์ฟเวอร์และอีกฝ่ายรับบทบาทไคลเอนต์ แต่โครงสร้างยังคงเป็นลิงก์ระหว่างเพียร์สองตัว แต่ละฝ่ายรู้จุดสิ้นสุดของอีกฝ่าย และไม่มีพูลหรือบริการหลายผู้ใช้ปรากฏขึ้น บทบาทเป็นรายละเอียดของการจับมือ ไม่ใช่สถาปัตยกรรมใหม่
ให้แต่ละเครื่องมีตัวตนของตัวเอง แต่ละฝ่ายต้องมีใบรับรองและคีย์ส่วนตัว สมอยึดเหนี่ยวความเชื่อถือที่ตรวจสอบอีกฝ่าย และกฎการตรวจสอบเพียร์ที่ระบุว่าใครคือผู้ที่คาดหวัง อย่าใช้คีย์ส่วนตัวของเพียร์หนึ่งซ้ำบนอีกฝ่ายเพื่อประหยัดเวลา เพราะจะทำให้สองตัวตนกลายเป็นหนึ่งและตัดความสามารถในการเพิกถอนแต่ละฝ่ายแยกกัน การลงทะเบียนคือจุดที่ต้องทำอย่างถูกต้อง เพราะการแก้ไขภายหลังหมายถึงการออกใบรับรองใหม่
รักษาสัญญาเครือข่ายให้ไม่เปลี่ยนแปลงในขณะที่การป้องกันเปลี่ยน ที่อยู่ของอุโมงค์ เส้นทาง และบริการที่อนุญาตชุดเดิมควรใช้ทั้งก่อนและหลัง เพื่อให้ความล้มเหลวระหว่างการย้ายเป็นการปัญหาการป้องกัน ไม่ใช่ความประหลาดใจของการกำหนดเส้นทางที่พรางตัว จดที่อยู่และเส้นทางไว้ก่อนการเปลี่ยนแปลง การเปรียบเทียบภายหลังจะเร็วกว่าการสร้างใหม่จากความจำ
การติดตั้งบางแบบยังป้องกันช่องควบคุมด้วยคีย์คงที่ของตัวเอง ซึ่งไม่หมุนเวียนไปกับช่องข้อมูล คีย์นั้นเฝ้าการจับมือไม่ใช่เพย์โหลด การรั่วไหลของคีย์จึงเปิดเผยการเจรจาไม่ใช่ทราฟฟิก เก็บคีย์นั้นแยกจากวัสดุของช่องข้อมูล และกำหนดวันเปลี่ยนที่บุคคลที่ระบุชื่อเป็นเจ้าของ การหมุนเวียนคีย์นั้นหมายถึงการรีสตาร์ตเพียร์ทั้งสองในหน้าต่างเวลาที่ประสานกัน จึงสมควรมีรายการในปฏิทินมากกว่าความจำ
ใครต่ออายุอะไร และเมื่อใด
ในโหมด TLS การต่ออายุถูกขับเคลื่อนด้วยขีดจำกัดที่กำหนดไว้ ได้แก่ ช่วงเวลา จำนวนไบต์ หรือจำนวนแพ็กเก็ต การควบคุมเวลาที่มีเอกสารเป็นสิ่งที่การติดตั้งส่วนใหญ่อาศัย ค่าที่มีผลต่ำกว่าระหว่างเพียร์สองตัวสามารถเริ่มการแทนที่ได้ การเพิ่มค่าเพียงด้านเดียวจึงไม่ยับยั้งเหตุการณ์ ขีดจำกัดตามปริมาณมีอยู่เพราะลิงก์ที่ใช้งานหนักอาจใช้คีย์หมดก่อนนาฬิกามาก ขีดจำกัดทั้งสองไม่ใช่การตรวจสุขภาพ และไม่บอกคุณว่าการต่ออายุสำเร็จ
นั่นคือเหตุผลที่การวินิจฉัยการเจรจาซ้ำที่เกิดซ้ำจากไฟล์กำหนดค่าไฟล์เดียวทำให้เข้าใจผิด อ่านการตั้งค่าบนเพียร์ทั้งสอง แล้วดูการเปลี่ยนสถานะในบันทึกแทนการสันนิษฐานว่ามีข้อบกพร่อง การต่ออายุที่เสร็จสมบูรณ์อย่างสะอาดดูเหมือนการระเบิดสั้น ๆ ของทราฟฟิกช่องควบคุม ไม่ใช่การตัดการเชื่อมต่อ
แยกวัตถุออกจากกันในหัวของคุณ ใบรับรองพิสูจน์ตัวตนระยะยาวและถูกแทนที่ตามกำหนดการที่คุณควบคุม คีย์ของช่องข้อมูลได้รับการรีเฟรชอัตโนมัติ และการแลกเปลี่ยนการพิสูจน์ตัวตนแยกต่างหาก หากการติดตั้งต้องการ จะเป็นไปตามนโยบายบัญชีและอาจต้องมีข้อตกลงของตัวเองสำหรับการแลกเปลี่ยนในภายหลัง
การปิดการต่ออายุทั้งหมดด้วยการตั้งค่าช่วงเวลาเป็นศูนย์ไม่ใช่การแก้ไขสำหรับบันทึกที่ส่งเสียงรบกวน มันเปลี่ยนเหตุการณ์วงจรชีวิตที่ดีให้เป็นคีย์ถาวร ซึ่งนำคุณกลับไปยังคุณสมบัติที่คุณพยายามจะทิ้งไว้เบื้องหลัง
การยอมรับการเปลี่ยนแปลง
สร้างการกำหนดค่าใหม่จากตัวอย่างที่รองรับของรุ่นที่ติดตั้ง ไม่ใช่จากตัวอย่างขั้นต่ำเก่าที่อัลกอริทึมและเส้นทางไฟล์สืบทอดมาจากที่อื่น ประสานการสลับเพื่อให้เพียร์ทั้งสองเปลี่ยนพร้อมกัน และเก็บเส้นทางการกู้คืนที่อนุมัติไว้ในกรณีที่ฝ่ายหนึ่งไม่ขึ้นมา ลดลิงก์ลงอย่างตั้งใจแทนการรอการหยุดชะงักเพื่อทดสอบการย้อนกลับ การย้อนกลับที่คุณซ้อมแล้วมีค่ามากกว่าการย้อนกลับที่คุณอธิบายไว้
ทดสอบสามสิ่ง การตรวจสอบตัวตนเริ่มต้นสำเร็จ การไหลของแอปพลิเคชันที่ตั้งใจทำงาน และการต่ออายุที่มีการควบคุมเกิดขึ้นโดยไม่สูญเสียทราฟฟิก จากนั้นอ่านการเปลี่ยนสถานะในบันทึกสำหรับสิ่งที่มันพิสูจน์จริง ๆ ตัวระบุคีย์ใหม่หมายความว่าเพียร์ทำการแทนที่เสร็จสิ้น ไม่ได้หมายความว่าอุโมงค์เชื่อมต่อใหม่ มองเป็นหลักฐานของขั้นตอนเดียว และตรวจสอบตัวนับทราฟฟิกก่อนประกาศว่าการย้ายเสร็จสมบูรณ์
สิ่งที่สัญญาว่าจะไม่หยุดชะงักจะซ่อนไว้คือความล้มเหลวที่คุณยังไม่เห็น การต่ออายุที่ล้มเหลว ใบรับรองที่หมดอายุ หรือข้อบกพร่องของเส้นทางยังคงรบกวนลิงก์ได้ และไม่มีสิ่งใดถูกตัดออกด้วยการทดสอบที่สะอาด คุณสมบัติที่คุ้มค่าจะออกแบบเพื่อคือสิ่งที่แคบกว่าและมีประโยชน์กว่า นั่นคือการเปลี่ยนคีย์ตามปกติเลิกเป็นการสลับไฟล์ด้วยมือ