คำอธิบายทางเทคนิคของ Psiphon
3/12/2014 - 1 นาทีในการอ่าน
อัปเดต: 4/6/2021
นี่คือข้อมูลอัปเดตเพื่อตอบคำถามสองข้อล่าสุด ได้แก่: อธิบายอย่างง่ายๆ Psiphon คืออะไรและแตกต่างจากบริการ VPN อย่างไร; และมีอะไรเปลี่ยนแปลงบ้างตั้งแต่เอกสารการออกแบบทางเทคนิคได้รับการอัปเดตครั้งล่าสุด
Psiphon 3 เป็นเครือข่ายพร็อกซีเซิร์ฟเวอร์นับพันแห่งที่มีการจัดการจากศูนย์กลางและกระจายตัวอยู่ทั่วโลก โครงสร้างพื้นฐานส่วนใหญ่ของเราโฮสต์อยู่กับผู้ให้บริการคลาวด์ Psiphon 3 ใช้สถาปัตยกรรมแบบ "one hop" พร้อมการเข้ารหัสลิงก์อย่างปลอดภัยระหว่างไคลเอนต์และเซิร์ฟเวอร์ เรามีไคลเอนต์สำหรับแพลตฟอร์มยอดนิยม ได้แก่ Windows, Android และ iOS (อยู่ในช่วงอัลฟ่า)
Psiphon เป็น โอเพนซอร์ส บริการของเรามี นโยบายความเป็นส่วนตัวที่รัดกุม; โดยไม่มีบัญชีผู้ใช้และไม่มีการบันทึกที่อยู่เครือข่ายของผู้ใช้
Psiphon แตกต่างจากบริการ VPN ทั่วไปในจุดสำคัญสองสามประการดังนี้:
- เราใช้กลยุทธ์ในการแจกจ่ายเซิร์ฟเวอร์บางส่วนให้กับผู้ใช้ โดยมีเป้าหมายเพื่อให้ผู้ใช้แต่ละรายมีเซิร์ฟเวอร์จำนวนหนึ่งที่สามารถเข้าถึงได้ ในขณะที่ไม่เปิดเผยเครือข่ายทั้งหมดให้แก่ผู้ใช้เพียงรายเดียว เพื่อให้บรรลุเป้าหมายนี้ ขนาดของเครือข่ายเรา -- และโดยเฉพาะอย่างยิ่งความหลากหลายของที่อยู่เครือข่ายของเรา -- จึงไม่ได้ขึ้นอยู่กับปริมาณทราฟฟิกเพียงอย่างเดียว
- เราใช้การพรางโพรโทคอลเพื่อข้ามการบล็อกด้วย DPI
เอกสารทางเทคนิคด้าน การออกแบบของ Psiphon นั้นล้าสมัยแล้ว และต่อไปนี้คือบทสรุปโดยย่อเกี่ยวกับการเปลี่ยนแปลงทางเทคนิคที่สำคัญที่เราได้นำมาใช้ตั้งแต่เริ่มเปิดตัวโครงการในปี 2011
- เราได้เพิ่มโพรโทคอล obfuscated SSH เพื่อลดผลกระทบจากการทำ DPI fingerprinting โพรโทคอลที่ดูเหมือนการสุ่มอย่างสมบูรณ์นี้ถูกนำมาใช้ด้วยคีย์การพรางที่ไม่ซ้ำกันสำหรับเซิร์ฟเวอร์ Psiphon แต่ละเครื่อง
- เราได้เพิ่มคำนำหน้า HTTP ซึ่งเป็นตัวเลือกเสริมให้กับโพรโทคอลของเรา เพื่อลดผลกระทบจากการทำไวท์ลิสต์ทราฟฟิก HTTP ด้วย DPI คำนำหน้าง่ายๆ นี้เพียงพอสำหรับ DPI ที่ใช้ regex (nDPI และ l7-filter) ในการจัดประเภททราฟฟิกของ Psiphon ให้เป็น HTTP และเพียงพอที่จะเอาชนะฝ่ายตรงข้ามจริงๆ ในช่วงเวลาที่เรานำมาใช้
- เราได้เพิ่มรายการเซิร์ฟเวอร์ระยะไกลเพื่อเสริมแนวคิดเซิร์ฟเวอร์แบบฝังในตัวและเซิร์ฟเวอร์การค้นพบ แม้ว่าการค้นพบจะเกิดขึ้นได้ก็ต่อเมื่อเชื่อมต่อกับเซิร์ฟเวอร์ที่มีอยู่แล้ว แต่รายการเซิร์ฟเวอร์ระยะไกลสามารถดาวน์โหลดได้แม้ในขณะที่เซิร์ฟเวอร์ทั้งหมดถูกบล็อก รายการเซิร์ฟเวอร์ระยะไกลจะได้รับการแจกจ่ายบน S3 และเข้าถึงได้ผ่าน https://s3.amazonaws.com โดยไม่มีชื่อบัคเก็ตที่ระบุเจาะจงใน URL ด้วยวิธีนี้ จึงเป็นเรื่องยากที่ฝ่ายตรงข้ามจะบล็อกรายการเซิร์ฟเวอร์ระยะไกลของเราโดยไม่บล็อก S3 ทั้งหมด หรือใช้การวิเคราะห์ทราฟฟิก HTTPS
- ปัจจุบันอีเมลเป็นกลไกหลักในการเผยแพร่ไคลเอนต์ เรามีระบบตอบกลับอัตโนมัติที่จะส่งลิงก์และไฟล์แนบสำหรับไคลเอนต์ Psiphon ของผู้สนับสนุน/ช่องทางที่กำหนดเอง โดยขึ้นอยู่กับที่อยู่อีเมลที่ผู้ใช้ส่งถึง
- เราเปิดตัวไคลเอนต์ Android ในปี 2012 เวอร์ชันแรกประกอบด้วยเบราว์เซอร์ในตัวที่ทำงานบน WebView ของ Android ในปี 2012/2013 เราได้เพิ่มการรองรับการทำทันเนลทั้งอุปกรณ์ ซึ่งจะทำทันเนลแอป Android ทั้งหมดผ่าน Psiphon เรามีโหมดทั้งอุปกรณ์แบบ iptables (สำหรับอุปกรณ์ Android 2.2+ ที่รูทแล้ว) และโหมดทั้งอุปกรณ์ที่ใช้ VpnService ของ Android ร่วมกับ tun2socks (สำหรับอุปกรณ์ Android 4+ ใดๆ) คุณสมบัติเพิ่มเติมที่เพิ่มเข้ามาได้แก่ การเลือกภูมิภาคขาออกและการเชื่อมต่อพร็อกซีแบบลูกโซ่
- ขณะนี้เรามีไคลเอนต์ iOS อยู่ในการทดสอบขั้นอัลฟ่า แอปนี้มีเบราว์เซอร์ในตัว
- กลไกการส่งความคิดเห็นในแอปของเราจะส่งข้อความและข้อมูลการวินิจฉัยทางเลือกจากผู้ใช้มาให้เรา ระบบนี้ช่วยให้เราแก้ไขปัญหาแพลตฟอร์มและปัญหาการบล็อกได้มากมาย
- การเปลี่ยนแปลงอัลกอริทึมการค้นพบ: อัลกอริทึมการค้นพบของเราได้รับการพัฒนาอย่างต่อเนื่องซึ่งเป็นส่วนหนึ่งของการเพิ่มประสิทธิภาพเครือข่ายของเรา การเปลี่ยนแปลงที่สำคัญได้แก่ การแชร์เซิร์ฟเวอร์การค้นพบข้ามช่องทางการเผยแพร่ และการเพิ่มช่วงเวลาของวันเป็นมิติหนึ่ง
- การเพิ่มประสิทธิภาพอัลกอริทึมการเชื่อมต่อ: ขณะนี้ไคลเอนต์ของเราจะเริ่มการเชื่อมต่อไปยังเซิร์ฟเวอร์หลายแห่งพร้อมกันเมื่อทำการเชื่อมต่อ และคงการเชื่อมต่อที่ "ดีที่สุด" ไว้ การทำเช่นนี้จะช่วยในการจัดสมดุลภาระงานรวมทั้งลดระยะเวลาการรอของผู้ใช้ เนื่องจากเซิร์ฟเวอร์ที่ถูกบล็อกบางเครื่องจะไม่ทำให้ลำดับการเชื่อมต่อต้องหยุดชะงัก
- การอัปเกรดไคลเอนต์อัตโนมัติได้รับการปรับปรุงให้ใช้การดาวน์โหลดส่วนเพิ่มและใช้ไซต์ดาวน์โหลดภายนอกระบบ (ที่ได้รับการรับรองความถูกต้องด้วยลายเซ็นดิจิทัล) การเปลี่ยนแปลงเหล่านี้ช่วยเพิ่มโอกาสที่ไคลเอนต์ใหม่จะสามารถแจกจ่ายได้ในเวลาที่มีการบล็อก