Mô tả kỹ thuật về Psiphon
3/12/2014 - 5 phút đọc
Đã cập nhật: 4/6/2021
Dưới đây là thông tin cập nhật nhằm giải đáp hai câu hỏi gần đây: nói một cách đơn giản, Psiphon là gì và khác với dịch vụ VPN như thế nào; và những gì đã thay đổi kể từ lần cuối tài liệu thiết kế kỹ thuật được cập nhật.
Psiphon 3 là một mạng lưới gồm hàng ngàn máy chủ proxy được quản lý tập trung và phân bổ đa dạng về mặt địa lý. Hầu hết cơ sở hạ tầng của chúng tôi được lưu trữ với các nhà cung cấp đám mây. Psiphon 3 có kiến trúc "một bước nhảy" với mã hóa liên kết bảo mật giữa ứng dụng khách và máy chủ. Chúng tôi cung cấp các ứng dụng khách cho những nền tảng phổ biến nhất: Windows, Android, và iOS (đang thử nghiệm alpha).
Psiphon là mã nguồn mở. Dịch vụ của chúng tôi áp dụng chính sách quyền riêng tư nghiêm ngặt; không có tài khoản người dùng và địa chỉ mạng của người dùng không bị ghi lại nhật ký.
Psiphon khác với các dịch vụ VPN tiêu chuẩn ở một vài điểm mấu chốt:
- Chúng tôi triển khai các chiến lược phân phối các tập hợp con máy chủ cho người dùng nhằm cung cấp cho mỗi người dùng một vài máy chủ mà họ có thể kết nối tới, đồng thời không để lộ toàn bộ mạng lưới cho một người dùng bất kỳ. Để đạt được mục tiêu này, quy mô mạng lưới của chúng tôi -- và đặc biệt là sự đa dạng của các địa chỉ mạng -- không chỉ đơn thuần phụ thuộc vào tải lưu lượng của chúng tôi.
- Chúng tôi sử dụng tính năng xáo trộn giao thức để vượt qua việc chặn DPI.
Tài liệu thiết kế kỹ thuật của Psiphon đã lỗi thời và dưới đây là phần tóm tắt rất ngắn gọn về những thay đổi kỹ thuật lớn mà chúng tôi đã triển khai kể từ khi dự án ra mắt vào năm 2011.
- Chúng tôi đã bổ sung giao thức SSH xáo trộn nhằm giảm thiểu việc nhận dạng dấu vết DPI. Giao thức trông hoàn toàn ngẫu nhiên này được triển khai với một khóa xáo trộn duy nhất cho mỗi máy chủ Psiphon.
- Chúng tôi đã bổ sung tiền tố HTTP tùy chọn vào giao thức của mình nhằm giảm thiểu tác động từ việc đưa lưu lượng HTTP vào danh sách cho phép dựa trên DPI. Tiền tố đơn giản này là đủ để DPI dựa trên regex (nDPI và l7-filter) phân loại lưu lượng Psiphon thành HTTP; và đã đủ để đánh bại một đối thủ thực tế vào thời điểm chúng tôi triển khai nó.
- Chúng tôi đã thêm danh sách máy chủ từ xa để bổ sung cho các khái niệm máy chủ nhúng và máy chủ khám phá. Trong khi việc khám phá chỉ diễn ra khi đã kết nối với một máy chủ hiện có, danh sách máy chủ từ xa có thể được tải xuống ngay cả khi tất cả máy chủ đều bị chặn. Danh sách máy chủ từ xa được phân phối trên S3 và được truy cập qua https://s3.amazonaws.com mà không có tên bucket riêng biệt trong URL. Bằng cách này, đối thủ rất khó chặn danh sách máy chủ từ xa của chúng tôi mà không chặn toàn bộ S3 hoặc thực hiện phân tích lưu lượng HTTPS.
- Email hiện là một cơ chế phân phối ứng dụng khách quan trọng. Chúng tôi có một bộ phản hồi tự động trả về các liên kết và tệp đính kèm cho các ứng dụng khách Psiphon theo kênh/nhà tài trợ tùy chỉnh tùy thuộc vào địa chỉ email mà người dùng gửi tới.
- Chúng tôi đã phát hành ứng dụng khách Android vào năm 2012. Phiên bản đầu tiên bao gồm một trình duyệt nhúng dựa trên WebView của Android. Vào năm 2012/2013, chúng tôi đã bổ sung hỗ trợ tạo đường hầm toàn bộ thiết bị, giúp dẫn lưu lượng của tất cả ứng dụng Android qua đường hầm Psiphon. Chúng tôi có chế độ toàn bộ thiết bị bằng iptables (dành cho các thiết bị Android 2.2+ đã root); và chế độ toàn bộ thiết bị sử dụng VpnService của Android cùng tun2socks (dành cho bất kỳ thiết bị Android 4+ nào). Các tính năng bổ sung được thêm vào bao gồm lựa chọn khu vực lối ra và liên kết chuỗi proxy.
- Chúng tôi hiện có một ứng dụng khách iOS đang trong giai đoạn thử nghiệm alpha. Ứng dụng này có tích hợp sẵn một trình duyệt nhúng.
- Cơ chế phản hồi trong ứng dụng gửi cho chúng tôi tin nhắn và dữ liệu chẩn đoán tùy chọn từ người dùng. Hệ thống này đã giúp chúng tôi khắc phục nhiều sự cố về nền tảng và các sự cố chặn.
- Những thay đổi đối với thuật toán khám phá: các thuật toán khám phá của chúng tôi liên tục phát triển như một phần của quá trình tối ưu hóa mạng lưới không ngừng nghỉ. Những thay đổi lớn bao gồm việc chia sẻ máy chủ khám phá qua các kênh phân phối; và thêm thời điểm trong ngày làm một phương diện đánh giá.
- Tối ưu hóa các thuật toán kết nối: các ứng dụng khách của chúng tôi hiện khởi chạy các kết nối đến nhiều máy chủ cùng lúc khi kết nối, và duy trì kết nối "tốt nhất". Điều này hỗ trợ cân bằng tải cũng như giảm thời gian chờ đợi của người dùng vì từng máy chủ riêng lẻ bị chặn sẽ không làm đình trệ toàn bộ trình tự kết nối.
- Tính năng tự động nâng cấp ứng dụng khách đã được cải tiến để sử dụng phương thức tải xuống gia tăng và sử dụng các trang web tải xuống ngoài băng tần (được xác thực bằng chữ ký số). Những thay đổi này giúp tăng khả năng phân phối ứng dụng khách mới trong thời điểm bị chặn.