״עם מי אני מדבר?״ הן שתי שאלות במשפט אחד. האחת עוסקת בחשבון שכתב את ההודעה, השנייה במכונה שבקצה השני של חיבור הרשת שהלקוח שלכם מחזיק בו בפועל. בצ׳אט שעובר דרך שירות אלה כמעט אף פעם לא אותה ישות, וההבדל הזה מסביר את רוב הבלבול סביב מה ש-VPN מסתיר או לא מסתיר מהאדם שאליו אתם כותבים. הכירו נכון את הטופולוגיה והשאלה של פרטיות נעשית שאלה שאפשר לענות עליה במקום שאלה רגשית.

הלקוח שלכם מדבר עם השירות, לא עם האדם השני

חשבו על אפליקציית צ׳אט טקסטואלי שבה כל משתתף מתחבר לשירות והשירות מוסר הודעות בין חשבונות. הלקוח שלכם מחזיק חיבור לשירות; המשתתף האחר מחזיק חיבור נפרד לאותו שירות. ההודעה עוברת מהלקוח שלו לשירות ומהשירות לשלכם, כלומר עמית התעבורה שלכם הוא נקודת קצה של השירות ולא המכשיר שלו.

Alex's client  ->  chat service  ->  your client

כל מה שמגיע אחר כך נובע מהתרשים האחד הזה. מבט על החיבור שלכם מזהה את השירות, לא את אלכס. מבט על החיבור של אלכס מזהה את השירות מהצד האחר. אף אחת משתי התצפיות, כשלעצמה, אינה רשומה ברמת מנות של המכשיר של האדם האחר, ושום כמות של בדיקת התעבורה שלכם לא הופכת אותה לכזו.

צופים שונים אוספים ראיות שונות

השירות נמצא בעמדה חזקה יותר מכל משתתף, מפני שהוא מסיים את שני החיבורים ובו בזמן יודע איזה חשבון מחזיק בכל אחד מהם. מה הוא שומר, כמה זמן, אילו רשומות הוא מחבר ולמי הוא חושף אותן — אלה שאלות נפרדות עם תשובות נפרדות, ואף אחת מהן לא נענית במשפט ״האפליקציה מוצפנת מקצה לקצה״.

אתם, כנמענים, בעמדה חלשה לגבי עובדות רשת אבל עמדה חזקה לגבי עובדות תוכן: טקסט ההודעה, השם המוצג, כל מה שהשולח הקליד או צירף. שולח שמקליד בעצמו את כתובתו חשף אותה, והחשיפה הזו אינה תצפית רשת למרות שהיא נקראת ככזו.

ObserverSeesCannot conclude
YouYour connection to the service, message contents, sender-supplied detailsThe other client's source address
The other participantTheir connection, message contents, what the service attachesYour source address
The serviceBoth connections, account mapping, delivery metadataWhat it does not retain, or what leaves its boundary

אם אלכס מתחבר דרך VPN, השירות עשוי לראות את כתובת היציאה של אותו חיבור במקום את כתובת הבית של אלכס. זו אמירה על מה שהשירות רואה. היא לא אומרת שכתובת היציאה נמסרת לכם, ובוודאי לא אומרת שהחיבור שלכם הופך לאנונימי בגלל בחירת התעבורה של אלכס.

כשהאפליקציה באמת עמית לעמית

מודל המעבר דרך מתווך הוא מודל, לא חוק. כמה תכונות מסרים יוצרות נתיבים ישירים בין לקוחות, למשל ערוץ נתונים בדפדפן שנקבע באמצעות שרת איתות, או מצב העברת קבצים שמחבר את שני המכשירים כדי להימנע מהעברת נתונים גדולים דרך מתווך. במקרים האלה עמית התעבורה הוא באמת המכשיר של המשתתף האחר, וניתוח הצופה משתנה לחלוטין.

התווית הידידותית של אפליקציה לא מספיקה כדי לומר לכם באיזה משני המצבים אתם. ״הודעה ישירה״ מתארת מי קורא אותה, לא איך היא מועברת, ותכונת שיחה או שיתוף מסך בתוך אותה אפליקציה יכולה להשתמש בטופולוגיה שונה מזו של שרשור הטקסט שלידה. קראו את התיעוד של הספק עבור התכונה הספציפית, או התבוננו באילו חיבורים הלקוח שלכם פותח בזמן שאתם משתמשים בה.

הצהרת ההצפנה מקצה לקצה מכסה מי יכול לקרוא תוכן מוגן. היא לא אומרת דבר על אילו שרתים מקבלים חיבורים, אילו מטא-נתונים הם רואים או אם קיים נתיב ישיר, והדיון של RFC 6973 ביכולות של צופה הוא משמעת שימושית: תנו שם לצופה, ואז פרטו מה הוא באמת יכול לאסוף.

מה זה אומר לגבי VPN

VPN משנה מה השירות רואה לגבי החיבור שלכם. הוא לא משנה מי עמית התעבורה שלכם, והוא לא נותן למשתתף האחר מבט חדש על הכתובת שלכם. לצפות ש-VPN יסתיר אתכם מהאדם שאליו אתם כותבים זו טעות קטגוריה: ללקוח שלו מעולם לא היה חיבור לשלכם.

מה ש-VPN כן יכול לשנות הוא תכונת נתיב ישיר. אם האפליקציה הייתה אחרת מנהלת משא ומתן על חיבור עמית לעמית, העברת התעבורה שלכם דרך מנהרה עשויה לכפות מתווך במקום, וכמה תכונות יתנהגו אחרת או ייפלו לאחור; זהו אפקט אמיתי, אבל הוא עוסק בטופולוגיה, לא בהיעלמות מהשיחה.

אחר כך החזיקו את שתי השאלות בנפרד בכל מה שאתם רושמים. איזה חשבון שלח את זה, ואיזו נקודת קצה נשאה את זה. ענו על שתיהן במפורש, ציינו מי יכול לצפות בכל תשובה, והפסיקו לשלב אותן לפסק דין אחד בשאלה אם אפשר לעקוב אחרי הודעה.

מאמרים קשורים