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

การตรวจสอบที่หนึ่ง: ครึ่งใดของคู่อยู่ในคลิปบอร์ดของคุณ

กุญแจอสมมาตรมาเป็นคู่, และทิศทางของการอนุมานคือประเด็นทั้งหมด ใน WireGuard กุญแจส่วนตัวคือ 32 ไบต์สุ่ม และกุญแจสาธารณะคำนวณจากมัน ทิศทางตรงกันข้ามทำไม่ได้ wg genkey เขียนค่าส่วนตัว, wg pubkey อนุมานค่าสาธารณะ และมีเพียงตัวที่สองเท่านั้นที่ควรอยู่ในข้อความถึงเพื่อน

wg genkey | tee private.key | wg pubkey > public.key
chmod 600 private.key
openssl x509 -noout -pubkey -in server.crt

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

หากไม่แน่ใจว่าถือค่าใดอยู่ ให้มองหาเครื่องหมายแทนชื่อไฟล์ บล็อก PEM ที่ขึ้นต้นด้วย -----BEGIN PRIVATE KEY-----, หรือรูปแบบเก่า BEGIN RSA PRIVATE KEY, คือครึ่งลับ ค่าที่คุณวางได้โดยไม่มีเครื่องหมายนั้นเป็นผู้สมัครสำหรับการแชร์ ภายใต้การตรวจสอบสองข้อถัดไป

การตรวจสอบที่สอง: การติดตั้งผูกค่าสาธารณะนั้นกับอะไร

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

ใบรับรองเปิดเผยตัวตนโดยการออกแบบ Subject และ subject alternative name อ่านได้ และสำหรับใบรับรอง TLS ที่ได้รับความเชื่อถือสาธารณะ ใบรับรองเองถูกเผยแพร่ในบันทึก Certificate Transparency ซึ่งค้นหาได้ ไม่มีสิ่งใดเปิดเผยกุญแจส่วนตัว และทั้งหมดเปิดเผยความสัมพันธ์

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

การตรวจสอบที่สาม: คุณเพิกถอนอะไรได้ และเร็วแค่ไหน

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

การเพิกถอนเป็นการกระทำด้านการกำหนดค่า ไม่ใช่ด้านการเข้ารหัส WireGuard ไม่ได้ให้รายการเพิกถอน ดังนั้นคุณจึงลบเพื่อนออก:

wg set wg0 peer <peer-public-key> remove
# then delete the [Peer] block from the config so it does not return on restart

OpenVPN การติดตั้งที่สร้างบนใบรับรองจะเพิกถอนใบรับรองและเผยแพร่ CRL ที่เซิร์ฟเวอร์ตรวจสอบจริงผ่าน crl-verify. หากไม่มีคำสั่งนั้น รายการเพิกถอนก็เป็นเพียงเครื่องประดับ ไม่ว่ากรณีใดลำดับก็เหมือนกัน: ออกสิ่งที่ใช้แทน แจกจ่ายผ่านช่องทางที่รองรับ แล้วปลดระวางตัวตนเก่า

ข้อผิดพลาดที่เกิดจากการรวมการตรวจสอบสามข้อเข้าด้วยกัน

การรั่วไหลจริงส่วนใหญ่ไม่ใช่การที่ใครตัดสินใจเผยแพร่กุญแจส่วนตัว แต่เป็นการวางโปรไฟล์ทั้งชุดลงในฟอรัม: .conf ไฟล์ WireGuard ที่มี PrivateKey บรรทัด, .ovpn ชุดที่มีบล็อกกุญแจฝังอยู่ หรือภาพหน้าจอหน้าต่างไคลเอนต์ที่บังเอิญมีช่องกุญแจ ค่าสาธารณะอาจจะไม่เป็นไร มันเดินทางไปพร้อมกับส่วนที่ไม่เป็นไร

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

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

หลังค่าส่วนตัวรั่วไหล ให้ปลดระวางตัวตน

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

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

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