บริการ Onion กับบริการ VPN: รูปแบบการเข้าถึงที่ต่างกัน
ที่อยู่ Onion ผูกกับคีย์ของบริการและเข้าถึงได้ภายใน Tor ส่วน VPN ให้เส้นทางไปยังเกตเวย์ เปรียบเทียบผู้ชม การค้นพบ และการยืนยันตัวตนของแอป
ผู้คนอธิบายบริการ Onion และบริการที่เข้าถึงได้ทาง VPN เท่านั้นว่าเป็นสองรูปแบบของแนวคิดเดียวกัน คือ ซ่อนพอร์ตและแบ่งปันที่อยู่ลับ ทั้งสองต่างกันที่ที่อยู่ผูกกับสิ่งใด ใครเข้าถึงได้ และอะไรต้องเกิดขึ้นก่อนคำขอจะมาถึง หนึ่งคือจุดนัดพบภายใน Tor อีกหนึ่งคือเส้นทางในเครือข่ายส่วนตัว การมองว่าสองสิ่งนี้ใช้แทนกันได้จะสร้างการออกแบบที่ไม่เป็นส่วนตัวและดูแลรักษาไม่ได้
ความเชื่อผิด: ทั้งสองแบบเป็นเพียงประตูที่ซ่อนอยู่
คุณสมบัติร่วมมีจริงแต่บางมาก ไม่มีแบบใดวางอินเทอร์เฟสผู้ดูแลไว้บนพอร์ตสาธารณะที่เข้าถึงได้โดยตรง ทุกอย่างที่เหลือแตกต่างกัน ที่อยู่ Onion มาจากคีย์ของบริการเอง ชื่อจึงผูกกับตัวตน ส่วนที่อยู่ VPN เป็นเพียงที่อยู่ในเครือข่ายที่คุณได้รับอนุญาตให้เข้า แบบหนึ่งซ่อนบริการไว้ในชั้นซ้อน อีกแบบพาคุณเข้าสู่โครงสร้างเครือข่ายส่วนตัว การมองแบบที่สองว่าเป็นคำพ้องของแบบแรกคือจุดเริ่มต้นของความสับสน
ไม่มีคุณสมบัติใดในสองข้อนี้เป็นการควบคุมความปลอดภัยของแอปเอง สถานที่ที่ซ่อนอยู่ไม่ได้แก้ซอฟต์แวร์ที่อยู่ข้างหลัง และเส้นทางส่วนตัวไม่ได้เพิ่มการยืนยันตัวตนให้หน้าเข้าสู่ระบบ ทั้งสองแบบยังต้องใช้สิทธิ์ของแอปเอง และทั้งสองยังต้องมีคนรับผิดชอบการอัปเดตและการกู้คืน
ที่อยู่ Onion ชี้ไปที่สิ่งใดจริง
ที่อยู่ Onion เวอร์ชัน v3 เข้ารหัสคีย์สาธารณะของบริการ ดังนั้นไม่มีใครเลือกที่อยู่ให้บริการที่ตนไม่ควบคุมได้ ไคลเอนต์เชื่อมต่อผ่าน Tor ไปยังจุดนัดพบ และบริการมาถึงจุดเดียวกันจากฝ่ายของตน ไม่มีโหนดทางออกธรรมดาใดพาการเชื่อมต่อนั้นไปถึงบริการ ชื่อคือตัวตน ไม่ใช่ระเบียน DNS
dig +short example.onion
curl --socks5-hostname 127.0.0.1:9050 http://example.onion/
systemctl status tor
ดังนั้นการเพิ่มเส้นทางหรือรายการ hosts สำหรับชื่อ onion จึงไม่เกิดประโยชน์ การค้นหาไม่ใช่กลไก แต่ไคลเอนต์ Tor และวงจรของมันคือกลไก หากบริการนี้มีไว้สำหรับคนกลุ่มเล็ก การอนุญาตไคลเอนต์ onion อาจเรียกคีย์ก่อนจะยอมรับการเชื่อมต่อ แต่นั่นก็ยังไม่ใช่การเข้าสู่ระบบของแอป การเผยแพร่ที่อยู่ก็เป็นการกระทำโดยเจตนา เพราะใครที่รูก็สามารถลองเชื่อมต่อได้เว้นแต่คุณจะจำกัดไว้
หยุดถ้าเหตุผลเดียวของการออกแบบ onion คือการเลี่ยงการตั้งค่าการยืนยันตัวตน ชั้นซ้อนไม่ได้ให้สิ่งนั้น และคุณจะสร้างมันขึ้นในภายหลังอยู่ดี
เส้นทาง VPN ให้สิ่งใดจริง
VPN รับอุปกรณ์เข้าเครือข่ายและให้เส้นทางไปยังเกตเวย์หรือซับเน็ต บริการที่อยู่หลังเกตเวย์นั้นเห็นที่อยู่จากสระพุงอุโมงค์และใช้การอนุญาตที่ตนมี เส้นทางไม่ได้บอกว่าใครคือผู้ใช้ บอกเพียงว่าแพ็กเก็ตไปที่ได้
ip route get 10.20.30.40
wg show
curl -sv https://files.internal.example/ -o /dev/null
แบบจำลองนั้นเหมาะกับกลุ่มที่รู้จักซึ่งมีอุปกรณ์ที่จัดการได้ เพราะเกตเวย์บังคับสถานะอุปกรณ์ได้และตรวจสอบเครือข่ายได้ ไม่เหมาะกับผู้มาเยี่ยมแบบไม่ระบุตัวตนหรือมาเป็นครั้งคราว ซึ่งต้องลงทะเบียนก่อน การเข้าสู่ระบบของแอปเองยังเป็นตัวกำหนดว่าผู้ใช้ที่เชื่อมต่ออ่านอะไรได้ การสับสนระหว่างการเข้าถึงกับสิทธิ์คือหนทางที่ VPN จะให้ซับเน็ตทั้งหมดแก่ทุกคนที่เชื่อมต่อได้ในที่สุด
หยุดถ้าผู้ชมไม่เป็นที่รู้จักหรือเปลี่ยนตลอดเวลา การลงทะเบียนคนแปลกหน้าในเครือข่ายส่วนตัวเพื่อแสดงหนึ่งหน้าเป็นพันธะที่ใหญ่เมื่อเทียบกับการเผยแพร่บริการ
การเลือกระหว่างสองแบบ และสิ่งที่ยังเหมือนเดิม
เลือกแบบ onion เมื่อผู้ชมเป็นสายเทคนิค บริการไม่ควรมีที่อยู่สาธารณะเลย และคุณยอมรับข้อกำหนดของไคลเอนต์ Tor ได้ เลือกแบบ VPN เมื่อผู้ชมเป็นกลุ่มที่ชัดเจนซึ่งคุณจัดการอุปกรณ์และต้องการบันทึกการเข้าถึงในระดับเครือข่าย ไม่มีทางเลือกใดขจัดความจำเป็นในการยืนยันตัวตนของแอป การแพตช์ หรือเส้นทางกู้คืน และไม่มีแบบใดเป็นส่วนตัวกว่าโดยอัตโนมัติในความหมายที่สำคัญต่อผู้ใช้ของคุณ
ในทั้งสองแบบ ให้เขียนว่าใครเข้าถึงบริการได้ ระบุตัวตนอย่างไร และเกิดอะไรขึ้นเมื่อข้อมูลรับรองหายไป คำตอบของบริการ onion รวมคีย์อนุญาตไคลเอนต์และที่อยู่เอง ส่วนคำตอบของ VPN รวมบัญชี อุปกรณ์ และนโยบายเกตเวย์ สิ่งเหล่านี้เป็นรายการที่ต่างกัน และมีเพียงรายการเดียวที่จะชัดเจนสำหรับผู้ดูแลคนถัดไป
การเปรียบเทียบสิ้นสุดตรงที่แอปเริ่ม แบบที่ซ่อนอยู่และเส้นทางส่วนตัวเป็นทางเลือกของการรับส่งข้อมูล และแอปยังต้องตัดสินว่าแอปอนุญาตให้คำขอทำอะไรได้ เก็บการตัดสินเหล่านั้นไว้ในเอกสารแยกกัน แล้วไม่มีแบบใดจะกลืนงานของอีกแบบอย่างเงียบ