ไม่กี่ชั่วโมงหลังจากเปิดตัว Linux Kernel 5.6 เวอร์ชันใหม่ซึ่งรวมถึงการใช้งาน WireGuard VPN (คุณสามารถตรวจสอบการเปลี่ยนแปลงและข่าวสารของสิ่งนี้ เวอร์ชั่นใหม่ที่นี่) ของพวกเขา นักพัฒนาออกรุ่น การเปิดตัวครั้งสำคัญของ WireGuard VPN 1.0.0 ทำเครื่องหมายการส่งมอบส่วนประกอบ WireGuard
เนื่องจากตอนนี้ WireGuard ได้รับการพัฒนาบนเคอร์เนลหลักของ Linux มีการเตรียมที่เก็บ wireguard-linux-compat.git สำหรับการแจกแจงและผู้ใช้ที่ยังคงจัดส่งเคอร์เนลเวอร์ชันเก่า
เกี่ยวกับ WireGuard VPN
WireGuard VPN ถูกนำมาใช้บนพื้นฐานของวิธีการเข้ารหัสที่ทันสมัยให้ประสิทธิภาพสูงมากใช้งานง่ายไม่ยุ่งยากและได้รับการพิสูจน์แล้วในการใช้งานจำนวนมากที่รองรับปริมาณการใช้งานจำนวนมาก โครงการนี้ได้รับการพัฒนาตั้งแต่ปี 2015 ได้ผ่านการตรวจสอบอย่างเป็นทางการและการตรวจสอบวิธีการเข้ารหัสที่ใช้
การสนับสนุน WireGuard ได้รวมเข้ากับ NetworkManager และ systemd แล้ว และแพทช์เคอร์เนลรวมอยู่ในการแจกแจงพื้นฐานของ Debian Unstable, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph และ ALT
WireGuard ใช้แนวคิดของการกำหนดเส้นทางคีย์เข้ารหัสซึ่งเกี่ยวข้องกับการผูกคีย์ส่วนตัวกับอินเทอร์เฟซเครือข่ายแต่ละอันและใช้เพื่อผูกคีย์สาธารณะ การแลกเปลี่ยนกุญแจสาธารณะเพื่อสร้างการเชื่อมต่อทำได้โดยการเปรียบเทียบกับ SSH
ในการต่อรองคีย์และเชื่อมต่อโดยไม่ต้องเริ่มต้น daemon แยกต่างหากในพื้นที่ผู้ใช้จะใช้กลไก Noise_IK ของ Noise Protocol Framework ซึ่งคล้ายกับการเก็บคีย์ที่ได้รับอนุญาตใน SSH ข้อมูลถูกส่งผ่านการห่อหุ้มในแพ็คเก็ต UDP ถึงให้เปลี่ยนที่อยู่ IP ของเซิร์ฟเวอร์ VPN (โรมมิ่ง) โดยไม่รบกวนการเชื่อมต่อด้วยการกำหนดค่าไคลเอนต์ใหม่โดยอัตโนมัติ
สำหรับการเข้ารหัส ใช้การเข้ารหัสสตรีม ChaCha20 และอัลกอริธึมการตรวจสอบความถูกต้องของข้อความ Poly1305 (MAC) พัฒนาโดย Daniel J.Bernstein, Tanja Lange และ Peter Schwabe ChaCha20 และ Poly1305 อยู่ในตำแหน่งที่เร็วกว่าและปลอดภัยกว่าอะนาล็อกของ AES-256-CTR และ HMAC ซึ่งการใช้งานซอฟต์แวร์ช่วยให้ได้เวลาดำเนินการที่คงที่โดยไม่ต้องรองรับฮาร์ดแวร์พิเศษ
ในการสร้างคีย์ลับที่ใช้ร่วมกันโปรโตคอล Diffie-Hellman บนเส้นโค้งรูปไข่ถูกใช้ในการใช้ Curve25519 ซึ่งเสนอโดย Daniel Bernstein สำหรับแฮชจะใช้อัลกอริทึม BLAKE2s (RFC7693)
WireGuard VPN 1.0.0 มีการเปลี่ยนแปลงอะไรบ้าง
รหัสที่รวมอยู่ในเคอร์เนล Linux ได้รับการตรวจสอบ ของการรักษาความปลอดภัยเพิ่มเติมดำเนินการโดย บริษัท อิสระที่เชี่ยวชาญในการควบคุมดังกล่าว การตรวจสอบไม่ได้เปิดเผยปัญหาใด ๆ
ที่เก็บที่เตรียมไว้ประกอบด้วยรหัส WireGuard ด้วยการสนับสนุนและเลเยอร์ที่เข้ากันได้ h เพื่อให้แน่ใจว่าเข้ากันได้กับเมล็ดเก่า. เป็นที่สังเกตว่าในขณะที่มีโอกาสสำหรับนักพัฒนาและความต้องการสำหรับผู้ใช้แพทช์เวอร์ชันแยกต่างหากจะถูกเก็บไว้ในรูปแบบการทำงาน
ในรูปแบบปัจจุบัน WireGuard สามารถใช้ได้กับเคอร์เนล Ubuntu 20.04 และ Debian 10 "Buster" และยังมีให้ใช้งานเป็นแพตช์สำหรับเคอร์เนล Linux 5.4 และ 5.5 การแจกแจงโดยใช้เคอร์เนลล่าสุดเช่น Arch, Gentoo และ Fedora 32 จะสามารถใช้ WireGuard ร่วมกับการอัปเดตเคอร์เนล 5.6 ได้
ขณะนี้กระบวนการพัฒนาหลักอยู่ระหว่างดำเนินการในที่เก็บ wireguard-linux.gitซึ่งรวมถึงเคอร์เนลทรีลินุกซ์เต็มรูปแบบพร้อมการเปลี่ยนแปลงจากโครงการ Wireguard
แพตช์ในที่เก็บนี้จะได้รับการตรวจสอบเพื่อรวมไว้ในเคอร์เนลหลักและจะถูกโอนไปยัง net / net-next branch เป็นประจำ
การพัฒนายูทิลิตี้และสคริปต์ที่รันในพื้นที่ผู้ใช้เช่น wg และ wg-quick เกิดขึ้นในที่เก็บ wireguard-tools.git ซึ่งสามารถใช้เพื่อสร้างแพ็กเกจในการกระจาย
นอกจากนี้ไม่จำเป็นต้องสร้างการสนับสนุนโมดูลเคอร์เนลแบบไดนามิกเพิ่มเติมแม้ว่า WireGuard จะยังคงทำหน้าที่เป็นโมดูลเคอร์เนลที่โหลดได้
ในที่สุด หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติม เกี่ยวกับเวอร์ชันใหม่นี้คุณสามารถอ่านคำชี้แจงของนักพัฒนาซอฟต์แวร์ได้ ในลิงค์ต่อไปนี้.