โปรโตคอล VPN คือชุดคำสั่งที่แอป VPN ใช้เพื่อตั้งค่า รักษาความปลอดภัย และควบคุมการเชื่อมต่อกับเซิร์ฟเวอร์ VPN OpenVPN เป็น โปรโตคอล VPN ที่ไม่มีจุดอ่อนที่เป็นที่รู้จัก และมีประสิทธิภาพในการหลบเลี่ยงวิธีการเซ็นเซอร์ออนไลน์บางประเภท นอกจากนี้ OpenVPN ยังมีข้อดีตรงที่ได้รับการสนับสนุนบนแพลตฟอร์มและอุปกรณ์ที่หลากหลายอย่างยิ่ง
แม้ว่าจะมี OpenVPN รูปแบบซอร์สปิดให้บริการ แต่ก็มีเวอร์ชัน Community Edition ที่ใช้งานฟรีและเป็นโอเพนซอร์สเช่นกัน
บทความนี้จะพิจารณาอย่างเจาะลึกว่า OpenVPN ทำงานอย่างไร ช่วยให้ชุมชน Proton VPN ปลอดภัยได้อย่างไร และเปรียบเทียบกับโปรโตคอล VPN อื่นๆ อย่างไร บทความนี้จะมีประโยชน์มากที่สุดหากมีความเข้าใจเกี่ยวกับการทำงานของ VPN อยู่แล้ว
- OpenVPN ช่วยรักษาความปลอดภัยได้อย่างไร?
- ช่องทาง OpenVPN
- OpenVPN สามารถเอาชนะการเซ็นเซอร์ VPN ได้หรือไม่?
- OpenVPN ผ่านการตรวจสอบแล้วหรือยัง?
- OpenVPN เทียบกับ WireGuard®
เรียนรู้เพิ่มเติมเกี่ยวกับวิธีการทำงานของ VPN
OpenVPN เปิดตัวครั้งแรกในปี 2001 และเริ่มแสดงให้เห็นถึงอายุที่มากขึ้นในแง่ของความเร็ว ประสิทธิภาพ และประสิทธิผล อย่างไรก็ตาม ยังคงได้รับการยอมรับอย่างกว้างขวางว่าปลอดภัย ซึ่งเป็นความเข้าใจที่หนักแน่นยิ่งขึ้นจากเอกสารที่เปิดเผยโดย Edward Snowden ผู้เปิดโปงข้อมูลของ NSA ในปี 2013
เอกสารเหล่านี้ชี้ให้เห็นอย่างชัดเจนว่า ตราบใดที่ไม่ได้ใช้คีย์ที่แชร์ไว้ล่วงหน้า(หน้าต่างใหม่) OpenVPN คือโปรโตคอล VPN เพียงหนึ่งเดียวที่ใช้กันทั่วไปในขณะนั้นซึ่ง NSA ไม่สามารถถอดรหัสได้ WireGuard® ซึ่งเป็นโปรโตคอล VPN ที่ใหม่กว่าและปลอดภัยกว่า ยังไม่ได้รับการพัฒนาในปี 2013 แม้ว่า WireGuard จะทำงานได้เร็วกว่า มีขนาดเบากว่า และมีประสิทธิภาพมากกว่า แต่ก็ไม่สามารถเทียบได้กับประวัติผลงานที่ผ่านการพิสูจน์ในสนามจริงมาอย่างยาวนานของ OpenVPN
ข้อดีของ OpenVPN:
- โอเพนซอร์ส
- ระบบรักษาความปลอดภัยที่ผ่านการพิสูจน์ในสนามจริง
- สามารถทำงานผ่าน UDP หรือ TCP ได้
- ได้รับการสนับสนุนอย่างกว้างขวาง
ข้อเสียของ OpenVPN:
- ประสิทธิภาพในปัจจุบันยังไม่สามารถเทียบเท่า WireGuard ได้ (แม้ว่าจะกำลังมีการพัฒนาปรับปรุงในเรื่องนี้อยู่ก็ตาม)
- ฐานรหัสที่ค่อนข้างใหญ่และซับซ้อน
Proton VPN รองรับ OpenVPN ในทุกแอป:
- Windows
- macOS
- Android
- Android TV (ผ่าน Smart Protocol)
- iOS และ iPadOS
- แอป Linux และ CLI
- Chrome OS
OpenVPN ช่วยรักษาความปลอดภัยได้อย่างไร?
OpenVPN ใช้เทคโนโลยีการเข้ารหัสหลายอย่างเพื่อรักษาความปลอดภัยของข้อมูล และไม่มีช่องโหว่ที่เป็นที่รู้จัก เทคโนโลยีที่ใช้งานโดย OpenVPN รูปแบบส่วนใหญ่ที่ทันสมัย (รวมถึงของ Proton VPN) ได้แก่:
AES
Advanced Encryption Standard (AES) คือการเข้ารหัสแบบคีย์สมมาตรที่ใช้สำหรับเข้ารหัสและถอดรหัสข้อมูลที่รับส่งผ่านการเชื่อมต่อ VPN
ได้รับการรับรองโดย สถาบันมาตรฐานและเทคโนโลยีแห่งชาติ(หน้าต่างใหม่) (NIST) และใช้งานโดยรัฐบาลสหรัฐอเมริกาเพื่อรักษาความปลอดภัยข้อมูลที่เป็นความลับ AES มีขนาดคีย์สูงสุด 256 บิต (AES-256) โดยรัฐบาลสหรัฐฯ เห็นพ้องว่า AES-256 เพียงพอที่จะรักษาความปลอดภัยให้กับข้อมูล “ชั้นความลับสูงสุด”(หน้าต่างใหม่)
เมื่อใช้งานเป็นส่วนหนึ่งของชุดโปรแกรมการเข้ารหัสลับ OpenVPN จะสามารถใช้ AES ในโหมด AES-CBC (Cipher Block Chaining) หรือ AES-GCM (Galois/Counter Mode) ได้ เพื่อวัตถุประสงค์ในการเรียนรู้วิธีการทำงานของ Proton VPN เพียงแค่ต้องทำความเข้าใจเกี่ยวกับ AES-GCM เท่านั้น
แม้ว่าจะปลอดภัยเท่ากัน แต่ AES-GCM ที่ทันสมัยกว่านั้นเป็นรหัส การเข้ารหัสลับที่รับรองความถูกต้องด้วยข้อมูลที่เกี่ยวข้อง(หน้าต่างใหม่) (AEAD) ซึ่งสามารถรับรองความถูกต้องของข้อมูลเพิ่มเติมจากการรักษาความปลอดภัยได้ โดยยังคงต้องใช้ HMAC SHA (ดูด้านล่าง) เพื่อรับรองความถูกต้องของการเชื่อมต่อ TLS แต่ AES-GCM มีประสิทธิภาพมากกว่า (จึงทำงานได้เร็วกว่า) ในการรับรองความถูกต้องของข้อมูลเมื่อเทียบกับ SHA
เรียนรู้เพิ่มเติมเกี่ยวกับการเข้ารหัสลับ AES
RSA
OpenVPN พึ่งพา AES ในการรักษาความปลอดภัยของข้อมูล แต่การส่งข้อมูลผ่านการเชื่อมต่อ VPN นั้น OpenVPN จะนำ วิทยาการเข้ารหัสลับแบบคีย์สาธารณะ(หน้าต่างใหม่) ไปใช้ ระบบวิทยาการเข้ารหัสลับนี้ใช้การแลกเปลี่ยนคีย์แบบไม่สมมาตร ซึ่งข้อมูลจะได้รับการเข้ารหัสโดยใช้คีย์สาธารณะของผู้รับปลายทางที่แชร์ไว้อย่างเปิดเผย จากนั้นข้อมูลนี้จะสามารถถอดรหัสได้โดยคีย์ส่วนตัวที่เป็นความลับของผู้รับเท่านั้น, .
การเข้ารหัสลับแบบคีย์ไม่สมมาตรมีประสิทธิภาพในการส่งข้อมูลอย่างเป็นความลับทางอินเทอร์เน็ต แต่ ค่อนข้างช้าเมื่อเทียบกับระบบการเข้ารหัสสมมาตร เช่น AES จึงเป็นเหตุผลว่าทำไมจึงถูกนำมาใช้งานใน VPN เป็นหลัก เพื่อยืนยันตัวตนการเชื่อมต่อระหว่างไคลเอนต์ VPN และเซิร์ฟเวอร์ VPN ซึ่ง OpenVPN จะใช้ระบบ การเข้ารหัสลับ RSA(หน้าต่างใหม่) สำหรับสิ่งนี้
ความยาวคีย์ RSA สามารถมีขนาดเท่าใดก็ได้ แต่คีย์ขนาด 4096 บิตมีความปลอดภัยเพียงพอโดยไม่ทำให้เกิดภาระงานในการคำนวณที่สูงเกินไป ซึ่งจะทำให้สิ้นเปลืองและเชื่อมต่อช้าลง
DHE
การแลกเปลี่ยนคีย์ Diffie–Hellman(หน้าต่างใหม่) (DHE) สามารถใช้รักษาความปลอดภัยในการแลกเปลี่ยนคีย์ TLS ได้คล้ายกับ RSA ยกเว้นมีจุดเด่นเพิ่มเติมที่ว่ายังให้ การรักษาความลับในการส่งต่อ(หน้าต่างใหม่) ด้วย ซึ่งจะรับประกันว่าจะมีการใช้คีย์ใหม่สำหรับแต่ละเซสชัน เพื่อที่ว่าแม้ว่าเซสชันหนึ่งจะถูกโจมตีด้วยวิธีใดก็ตาม ก็จะไม่ส่งผลกระทบต่อเซสชันอื่นๆ การรักษาความลับในการส่งต่อจะช่วยให้มั่นใจว่าผู้โจมตีจะไม่สามารถถอดรหัสเซสชัน VPN ย้อนหลังได้ด้วยคีย์ที่ถูกโจมตีเพียงคีย์เดียว
อย่างไรก็ตาม เนื่องจาก DHE มีการใช้ชุดตัวเลขเฉพาะจำนวนจำกัดซ้ำ จึงอาจเสี่ยงต่อ การโจมตีแบบ logjam(หน้าต่างใหม่) ได้ ปัญหานี้น่ากังวลน้อยลงมากหากใช้ขนาดคีย์ที่ใหญ่เพียงพอ แต่การใช้สิ่งนี้เพื่อรักษาความปลอดภัยในการแลกเปลี่ยนคีย์ TLS ยังคงเป็นเรื่องที่ถกเถียงกันอยู่
ด้วยเหตุนี้ Proton VPN จึงใช้ประโยชน์จากการรองรับ DHE ในชุดโปรแกรมการเข้ารหัสลับ OpenVPN เพื่อให้การรักษาความลับในการส่งต่อ แต่ไม่ได้ใช้เพื่อรักษาความปลอดภัยให้กับการแลกเปลี่ยนคีย์ด้วยตัวเอง
HMAC SHA
OpenVPN ใช้ HMAC SHA เพื่อตรวจสอบความถูกต้องของใบรับรอง TLS ที่ใช้ในการแลกเปลี่ยนคีย์ TLS ซึ่งวิธีนี้จะช่วยป้องกันการโจมตีแบบคนกลาง (man-in-the-middle)
ตระกูล SHA(หน้าต่างใหม่) ของ ฟังก์ชันแฮชวิทยาการเข้ารหัสลับ(หน้าต่างใหม่) ใช้เพื่อยืนยันตัวตนของข้อมูล เมื่อดำเนินการฟังก์ชันทางคณิตศาสตร์ที่ซับซ้อนเหล่านี้กับชุดข้อมูล ก็จะสร้างลายนิ้วมือที่เป็นเอกลักษณ์ขึ้นมา หากข้อมูลนั้นเปลี่ยนไปเพียงบิตเดียว ลายนิ้วมือ SHA ก็จะเปลี่ยนไปด้วยเช่นกัน
เป็นที่ทราบกันดีว่า SHA-1 (ฟังก์ชันแฮชขนาด 160 บิต) เสี่ยงต่อการโจมตีแบบคลื่นชนกัน(หน้าต่างใหม่) (collision attacks) แต่ SHA-2 ยังคงถือว่าปลอดภัย และที่สำคัญยิ่งไปกว่านั้นคือ OpenVPN ใช้ SHA เพื่อคำนวณค่า รหัสยืนยันตัวตนข้อความแบบแฮช(หน้าต่างใหม่) (HMAC) เท่านั้น ซึ่งวิธีนี้ยากต่อการโจมตีมากกว่าอัลกอริทึม SHA เพียงอย่างเดียว จนถึงจุดที่ SHA-1 ยังคงถือว่าปลอดภัยเพียงพอสำหรับ HMAC(หน้าต่างใหม่)
ช่องทาง OpenVPN
OpenVPN ใช้สองช่องทางที่แยกกันเพื่อถ่ายโอนข้อมูลอย่างปลอดภัยระหว่างอุปกรณ์และเซิร์ฟเวอร์ VPN

ช่องทางข้อมูล
ก่อนที่จะส่งข้อมูลผ่านอุโมงค์ VPN ทาง OpenVPN จะเข้ารหัสข้อมูลด้วยรหัสคีย์สมมาตร
Proton VPN ใช้ AES-256 สูงสุดในโหมด GCM เพื่อตรวจสอบข้อมูล
ช่องทางควบคุม
เมื่อข้อมูลได้รับการเข้ารหัสแล้ว ก็สามารถส่งผ่านอุโมงค์ VPN ได้ ช่องทางควบคุมจะสร้างการเชื่อมต่อ TLS ระหว่างไคลเอนต์ VPN และเซิร์ฟเวอร์ VPN ซึ่งได้รับการรักษาความปลอดภัยโดยใช้รหัสคีย์สมมาตรแต่ใช้การแลกเปลี่ยนคีย์แบบไม่สมมาตร
Proton VPN ใช้ไซเฟอร์แบบสมมาตรสูงสุดถึง AES-256-GCM ร่วมกับการยืนยันตัวตนด้วยแฮช RSA-4096 และ HMAC SHA-384 เพื่อตรวจสอบความถูกต้องของใบรับรอง TLS ชุดการเข้ารหัสลับที่ใช้งานยังรวมถึงการตกลงคีย์แบบ Diffie-Hellman (DHE) เพื่อให้การส่งต่อความลับที่ปลอดภัย (forward secrecy)
OpenVPN สามารถเอาชนะการเซ็นเซอร์ VPN ได้หรือไม่?
ข้อดีอย่างหนึ่งของ OpenVPN คือสามารถทำงานได้ทั้งบนโปรโตคอลการรับส่งข้อมูล UDP และ TCP ซึ่งเป็นสองโปรโตคอลหลักที่จัดการวิธีการส่งข้อมูลผ่านอินเทอร์เน็ต UDP มีความเร็วสูงกว่าในขณะที่ TCP มีความน่าเชื่อถือมากกว่า แต่ข้อดีหลักของความยืดหยุ่นนี้คือ TCP มีประโยชน์ในการเอาชนะการเซ็นเซอร์โดยรัฐบาลและองค์กรอื่นๆ
เรียนรู้เพิ่มเติมเกี่ยวกับความแตกต่างระหว่าง UDP และ TCP
TCP พอร์ต 443 ถูกใช้งานโดย HTTPS(หน้าต่างใหม่) ซึ่งเป็นมาตรฐานการเข้ารหัสลับที่รักษาความปลอดภัยให้กับเว็บ สิ่งนี้ทำให้ยากต่อการบล็อก OpenVPN เมื่อทำงานผ่าน TCP พอร์ต 443 โดยไม่บล็อกทราฟฟิก HTTPS ทั้งหมด ส่งผลให้ OpenVPN มีประโยชน์ในการเลี่ยงการบล็อก VPN ระดับต่ำ
อย่างไรก็ตาม เทคโนโลยีการตรวจสอบแพ็กเก็ตเชิงลึก (deep packet inspection) ในรูปแบบที่ซับซ้อนยิ่งขึ้นสามารถตรวจจับความแตกต่างระหว่างแพ็กเก็ต HTTPS และ VPN ได้อย่างง่ายดาย
เรียนรู้เพิ่มเติมเกี่ยวกับเทคโนโลยีการตรวจสอบแพ็กเก็ตเชิงลึก (deep packet inspection)
OpenVPN ผ่านการตรวจสอบแล้วหรือยัง?
หลังจากการจัดทำแคมเปญการระดมทุน OpenVPN 2.4 ได้รับ การตรวจสอบอย่างเป็นอิสระ(หน้าต่างใหม่) โดย OSTIF และ QuarksLab ในปี 2016 ซึ่งผลลัพธ์ที่ได้ออกมาเป็นบวกอย่างมาก และช่องโหว่ระดับวิกฤต/สูงเพียงอย่างเดียวที่พบคือความเสี่ยงต่อการถูกโจมตีแบบปฏิเสธการให้บริการ (denial of service) และไม่ได้ส่งผลกระทบต่อความปลอดภัยของผู้ใช้ ปัญหานี้ได้รับการแก้ไขอย่างรวดเร็วเช่นกัน
อย่างไรก็ตาม ปี 2016 นั้นผ่านมาค่อนข้างนานแล้ว และ OpenVPN 2.6.1 เป็นเวอร์ชันล่าสุดในขณะที่เขียนบทความนี้
OpenVPN เทียบกับ WireGuard
โปรโตคอล WireGuard ที่ใหม่กว่านั้นมีความปลอดภัย รวดเร็ว และมีประสิทธิภาพ จึงเป็นเหตุผลว่าทำไม Proton VPN จึงเลือกใช้งานเป็นโปรโตคอล VPN ค่าเริ่มต้น ความสามารถของ OpenVPN ในการทำงานผ่าน TCP ยังคงเป็นข้อได้เปรียบเหนือ WireGuard แบบดั้งเดิม แต่ขณะนี้ Proton VPN ได้พัฒนาการติดตั้งใช้งาน WireGuard ที่ทำงานผ่าน TCP ได้ด้วยเช่นกัน
เรียนรู้เพิ่มเติมเกี่ยวกับ WireGuard
นอกจากนี้ WireGuard ยังเป็นพื้นฐานของโปรโตคอลการพรางตัว Stealth ซึ่งมีประสิทธิภาพในการหลบเลี่ยงการบล็อกเซ็นเซอร์มากกว่าการรัน OpenVPN ผ่าน TCP อย่างมาก
เรียนรู้เพิ่มเติมเกี่ยวกับ Stealth
ข้อเท็จจริงที่ว่าความปลอดภัยของ OpenVPN ได้รับการพิสูจน์ผ่านการใช้งานจริงมามากกว่าของ WireGuard อาจยังคงดึงดูดใจผู้ใช้บางราย แต่มีเหตุผลน้อยมากที่จะเลือกใช้ OpenVPN แทนที่จะเป็น WireGuard เว้นแต่ว่าอุปกรณ์ที่ใช้งานอยู่จะไม่รองรับ WireGuard
บทสรุป
เป็นเวลาหลายปีที่ OpenVPN เป็นโปรโตคอล VPN ค่าเริ่มต้น และด้วยเหตุนี้ จึงยังคงได้รับการรองรับเป็นอย่างดีบนเราเตอร์และอุปกรณ์อื่นๆ ที่สามารถเชื่อมต่ออินเทอร์เน็ตได้ แม้ว่าจะยังคงมีความปลอดภัยสูง แต่มีข้อดีเพียงเล็กน้อยเมื่อเทียบกับ WireGuard ที่ล้ำสมัยกว่า (โดยเฉพาะอย่างยิ่งการใช้งานแบบกำหนดเองของ Proton VPN สำหรับโปรโตคอลที่ใหม่กว่านี้)







