תיאור טכני של Psiphon
3.12.2014 - 3 דק' קריאה
עודכן: 4.6.2021
הנה עדכון שנועד לענות על שתי שאלות שעלו לאחרונה: במילים פשוטות, מה זה Psiphon ובמה הוא שונה משירות VPN; וכן, מה השתנה מאז העדכון האחרון של מסמך התכנון הטכני.
Psiphon 3 היא רשת מנוהלת מרכזית ומגוונת גיאוגרפית של 1000-ים של שרתי פרוקסי. רוב התשתית שלנו מתארחת אצל ספקי ענן. Psiphon 3 בנויה בארכיטקטורה של "דילוג אחד" עם הצפנת קישור מאובטחת בין לקוחות לשרתים. אנו מציעים תוכנות לקוח עבור הפלטפורמות הפופולריות ביותר: Windows, Android ו-iOS (בגרסת אלפא).
Psiphon הוא קוד פתוח. השירות שלנו מציע מדיניות פרטיות מחמירה; אין חשבונות משתמשים וכתובות רשת של משתמשים אינן נרשמות ביומנים.
Psiphon שונה משירותי VPN סטנדרטיים בכמה אופנים מרכזיים:
- אנו מיישמים אסטרטגיות להפצת תת-קבוצות של שרתים למשתמשים במטרה לספק לכל משתמש קומץ שרתים שאליהם הוא יכול להגיע מבלי לחשוף את כל הרשת למשתמש יחיד. כדי להשיג יעד זה, גודל הרשת שלנו -- ובמיוחד המגוון של כתובות הרשת שלנו -- אינו רק פונקציה של עומס התעבורה שלנו.
- אנו משתמשים בערפול פרוטוקולים כדי לעקוף חסימות DPI.
מסמך התכנון הטכני של Psiphon אינו מעודכן ומה שמופיע להלן הוא סיכום קצר מאוד של השינויים הטכניים העיקריים שיישמנו מאז השקת הפרויקט ב-2011.
- הוספנו את פרוטוקול SSH המעורפל כדי לצמצם זיהוי טביעות אצבע על ידי DPI. פרוטוקול זה, שנראה אקראי לחלוטין, מיושם עם מפתח ערפול ייחודי לכל שרת Psiphon.
- הוספנו קידומת HTTP אופציונלית לפרוטוקול שלנו כדי להתמודד עם רשימות לבנות (whitelisting) של תעבורת HTTP המבוססות על DPI. קידומת פשוטה זו מספיקה עבור מערכות DPI מבוססות regex (nDPI ו-l7-filter) כדי לסווג תעבורת Psiphon כ-HTTP; והייתה מספיקה כדי לגבור על יריב בפועל בזמן שפרסנו אותה.
- הוספנו רשימות שרתים מרוחקות כדי להרחיב את המושגים של שרתים מוטמעים ושרתי גילוי. בעוד שגילוי מתרחש רק כאשר מחוברים לשרת קיים, ניתן להוריד רשימות שרתים מרוחקות גם כאשר כל השרתים חסומים. רשימות שרתים מרוחקות מופצות ב-S3 ונגישות דרך https://s3.amazonaws.com ללא שם bucket מזהה ב-URL. באופן זה, קשה ליריב לחסום את רשימות השרתים המרוחקות שלנו מבלי לחסום את כל S3 או ליישם ניתוח תעבורת HTTPS.
- דוא״ל הוא כעת מנגנון מרכזי להפצת תוכנת הלקוח. יש לנו מענה אוטומטי שמחזיר קישורים וקבצים מצורפים לתוכנות לקוח מותאמות אישית של נותני חסות/ערוצים של Psiphon, בהתאם לכתובת הדוא״ל שאליה המשתמשים שולחים.
- שחררנו לקוח Android בשנת 2012. הגרסה הראשונה כללה דפדפן מוטמע המבוסס על ה- WebView של Android. בשנים 2012/2013 הוספנו תמיכה במנהור של כל המכשיר, שמנהר את כל אפליקציות Android דרך Psiphon. יש לנו מצב מכשיר מלא של iptables (עבור מכשירי Android 2.2+ בעלי גישת root); ומצב מכשיר מלא המשתמש ב- VpnService של Android עם tun2socks (עבור כל מכשיר Android 4+). תכונות נוספות שנוספו כוללות בחירת אזור יציאה ושרשור פרוקסי.
- יש לנו לקוח iOS שנמצא כעת בבדיקות אלפא. אפליקציה זו כוללת דפדפן מוטמע.
- מנגנון המשוב בתוך האפליקציה שולח אלינו הודעות ונתוני אבחון אופציונליים ממשתמשים. מערכת זו עזרה לנו לנפות שגיאות בבעיות פלטפורמה רבות ובבעיות חסימה.
- שינויים באלגוריתמי הגילוי: אלגוריתמי הגילוי שלנו מתפתחים כחלק מתהליך מתמשך של אופטימיזציה של הרשת שלנו. שינויים עיקריים כוללים שיתוף שרתי גילוי בין ערוצי הפצה; והוספת שעת היום כממד.
- אופטימיזציות לאלגוריתמי החיבור: תוכנות הלקוח שלנו יוזמות כעת חיבורים לשרתים רבים בבת אחת בעת ההתחברות, ושומרות את החיבור ה"טוב ביותר". הדבר מסייע באיזון עומסים וכן בהפחתת זמן ההמתנה של המשתמש, מכיוון ששרתים חסומים בודדים אינם מעכבים את רצף החיבור.
- השדרוג האוטומטי של תוכנת הלקוח שופר כך שישתמש בהורדה הדרגתית ובאתרי הורדה חיצוניים (מאומתים בחתימות דיגיטליות). שינויים אלה הגדילו את הסיכוי שניתן יהיה להפיץ לקוח חדש בעת חסימה.