מה ספק ה-VPN שלך יכול לראות ומה לא
היציאה רואה כתובות, זמנים ואם לא משתמשים ב-Encrypted Client Hello, גם את שם האתר בלחיצת היד של TLS. שמירת הנתונים היא שאלה נפרדת.
המנהרה שלך מרחיקה את הרשת המקומית מהתעבורה שלך. אבל היא לא מסלקת את החברה שבקצה השני, שמעבדת כל מנה לפני שהיא מגיעה לאינטרנט הפתוח. המיקום הזה הוא גם המודל העסקי וגם שאלת הפרטיות. לכן השאלה המועילה איננה אם הספק יכול לראות אותך, אלא מה הוא רואה, מה הוא יכול לתת שם ומה הוא שומר.
לאן האמון באמת עובר
ההצפנה עוברת מהמכשיר שלך לשרת של הספק, והחלק החיצוני הזה הוא כל מה שהרשת המקומית שלך רואה אי פעם. הספק מחזיק בקצה השני של החלק, ולכן הוא מפענח את המנהרה ומעביר את המנות שלך הלאה. אין בזה פגם; זו ההגדרה של השירות שקנית. האמון עבר מהמפעיל המקומי למפעיל היציאה במקום להיעלם.
מהמיקום הזה הוא לומד את כתובת המקור שלך, מתי התחברת, בערך כמה העברת ואילו יעדים פנית אליהם. שום דבר מזה לא דורש קריאת ההודעות שלך, וזה בדיוק העניין בהפרדת הקטגוריות. ההבדלים המעניינים בין ספקים נוגעים למה שקורה לתצפיות האלה אחר כך.
מה היציאה מטפלת בו בהכרח
מיינו את הקטגוריות לפי כמה מהימנה היציאה יכולה לראות אותן. אף שורה לא דורשת לשבור הצפנה, ולכל אחת תשובה אחרת בשאלה אם אפשר להימנע ממנה בכלל.
| Category | Visible at the exit | Why |
|---|---|---|
| Your public address | Always | It is the address the tunnel arrives from |
| Connection times and volume | Always | Accounting data, not content |
| Destination IP addresses | Always | The exit has to route the packets |
| HTTPS hostname (SNI) | Normally, unless ECH is used | Sent in the clear in the TLS ClientHello |
| DNS names | Only if DNS is plaintext | DoH or DoT hides the query; plaintext is readable by the forwarder |
| Page paths and form contents | Not normally | Protected by the destination site's TLS session |
השורה הרביעית היא מה שרוב המודלים המנטליים מפספסים. דפדפן מודרני מכניס את שם האתר ל-ClientHello, ההודעה הראשונה בלחיצת היד של TLS, והשדה הזה קריא ביציאה גם כשכל שאילתת DNS מוצפנת מקצה לקצה. אלא אם מתקיים משא ומתן על Encrypted Client Hello, השם נוסע בגלוי לצד כתובת היעד. DNS מוצפן משנה מי רואה את השאילתה, לא מי רואה את השם.
הדבר נכון גם לגבי תעודות בחיבורים ישנים יותר: TLS 1.3 מצפין את תעודת השרת, בעוד שלחיצת יד של TLS 1.2 יכולה לחשוף את השם בפני צופה שמקליט את הזרם. שניהם עובדות של התעבורה ולא מדיניות של הספק.
מה TLS מכסה ומה לא
כשאתר מגיש HTTPS, הדפדפן שלך בונה חיבור TLS לנקודת הקצה של אותו אתר, לא לשרת ה-VPN. הספק מעביר רשומות מוצפנות, ואז לומד את כתובת היעד, את העיתוי ואת הגדלים המשוערים. שם האתר נוסע ב-ClientHello אלא אם ECH פועל, וגוף העמוד נשאר מוצפן בשני המקרים. תעודת שורש בלתי צפויה משנה את הגבול הזה, ולכן אזהרות תעודה ראויות לכבוד.
ל-HTTP פשוט אין הגנה כזו מעבר ליציאה. המנהרה מגנה על החלק עד הספק, ואחר כך הבקשה נוסעת בדיוק כפי שהייתה נוסעת בלי VPN. ECH לא מתקן את זה, כי הוא מגן על השם ולא על התוכן.
שמירה היא שאלה נפרדת מנראות
מפעיל יכול לעבד נתוני חיבור בזיכרון ולא לשמור דבר, או לשמור תת-קבוצה ולתאר אותה במדויק ככזו שאינה היסטוריית גלישה. קראו טענת אפס רשומות לפי קטגוריה ולא לפי סיסמה: רשומות חיבור, חותמות זמן, סכומי נפח, נתוני יעד, מזהי חשבון והודעות תמיכה כולם נחשבים. ספק יכול ביושר לא לנהל יומני גלישה ובמקביל להחזיק את רשומת החשבון ואת המטא-נתונים הדרושים להפעלת השירות. נראות לא אומרת לך איזו מהקטגוריות האלה נשמרת.
ביקורת היא ראיה על המערכות ועל חלון הזמן שהיא כיסתה, וקוד לקוח בקוד פתוח מתאר את הלקוח ולא את השרתים. שניהם שימושיים, ואף אחד מהם לא מדבר בשם כל מערכת אחסון מאחורי היציאה. בקשו את היקף הביקורת, לא את התג שלה.
שאלות שמבדילות בין ספקים
שאלו מה נשמר, לכמה זמן ומי יכול לשלוף אותו. שאלו מי מפעיל את היציאה, כי רשומת מדריך, מפתח אפליקציה והאדם שמפעיל שרת מסוים יכולים להיות שלושה צדדים שונים. שאלו איך מטופל DNS והאם ECH נתמך בנתיבים שבהם אתם משתמשים, שכן ClientHello בטקסט גלוי נוקב בשם האתר גם בלי שאילתת DNS. שאלו מה קורה בבקשה משפטית, וקראו את התשובה כתיאור של יכולת ולא של כוונה.
מדריך ה-EFF לבחירת VPN הוא רשימת בדיקה סבירה לשאלות האלה, והוא מסגרת ולא פסק דין על שירות כלשהו. עמוד שיווק אינו מדיניות שמירה. שום דבר מזה לא הופך VPN לחסר תועלת; זה משנה במי עליכם לסמוך, ולשם מה.