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

เอกสารคือจุดเริ่มต้นของการโต้แย้ง ไม่ใช่ข้อสรุป

เอกสารกำหนดอะไรจริง ๆ

สำหรับ WireGuard คำอธิบายโปรโตคอล กำหนดแฮนด์เชก Noise IK ชุดพื้นฐานคงที่ รูปแบบข้อความ และการใส่เฟรมการขนส่งที่ขนส่งแพ็กเก็ตในภายหลัง สำหรับ IKEv2 สิ่งประดิษฐ์ที่เทียบเคียงได้คือ RFC 7296 ซึ่งกำหนดการแลกเปลี่ยน เพย์โหลด และการเจรจาข้อเสนอ ในทั้งสองกรณีขอบเขตนั้นแม่นยำ คือข้อความ เครื่องสถานะ และสมมติฐานที่เป้าหมายความปลอดภัยเป็นจริงภายใต้

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

จุดที่การรับประกันสิ้นสุด

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

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

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

ตามรอยไบต์เข้าไปในบิลด์

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

openvpn --version | head -3
wg --version
dpkg -l | grep -E 'openvpn|wireguard|libssl'
ss -lunp | grep -E '1194|51820'
sha256sum ./wireguard-tools_1.0.20210914_amd64.deb

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

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

แยกแนวปฏิบัติด้านการดำเนินงานออกจากกัน

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

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

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