אתם רואים openvpn בתוך מזהה בסוגריים זוויתיים בכותרת דואר, והמסקנה המתבקשת היא שלהודעה יש קשר להפעלת VPN. קראו את השורה כולה לפני שאתם מתחייבים לכך: המחרוזת נמצאת ב-Content-ID, ו-Content-ID הוא שם של חלק גוף אחד בתוך הודעה אחת. הפניה cid: ב-HTML מצביעה על אותו שם, והזוג קיים כדי שהדואר יוכל לשאת תמונה בלי לשלוח אותה פעמיים. שום דבר בסידור הזה לא מגיע לשרת VPN, ושום דבר בסיומת לא אומר מי בנה את המזהה.

למה המזהה מצביע באמת

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

הזוג שלהלן הומצא לצורך המחשה.

Content-ID: <[email protected]>

<img src="cid:[email protected]" alt="Company mark">

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

הסיומת @openvpn היא פרט בנייה

Content-ID נבנה להיות ייחודי בתוך הודעה אחת, ותוכנת דואר מרבה לגרום לו להיראות כמו כתובת על ידי הוספת @ ודומיין. הצורה הזאת היא מוסכמה של המחולל, לא מסלול: שום דבר בכותרת לא מבקש מהלקוח ליצור קשר עם mailer.example, ושום חיפוש לא מתרחש כשההודעה מוצגת. השדה גם אינו שם חשבון, משתמש VPN או סימן שהותיר לקוח VPN. מי שהרכיב את ההודעה בחר את המחרוזת כשנתן שם לחלק.

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

בדקו את המקור הגולמי, ואז שפטו את שאלת הפרטיות

פתחו את המקור הגולמי וקראו את כל ערך ה-Content-ID, כי RFC 2392 מתיר לערך לשאת את שם המארח של היוצר או מחרוזת דמוית חשבון. אחר כך מצאו כל מקום שבו מופיע אותו שם: הפניה cid: ב-HTML, כותרת אחרת, בלוק מצוטט מתשובה קודמת. ההתאמה בין המופעים האלה היא שמספרת לכם את תכלית החלק.

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

תמונה מרוחקת או חלק מוטבע: תנועה שונה

רכיב img עם מקור https ורכיב img עם מקור cid נראים אותו דבר ב-HTML ומתנהגים אחרת ברשת. הראשון נותן שם למשאב שהלקוח עשוי להביא לאחר פתיחת ההודעה, והבאה הזו מודיעה לשולח שההודעה נקראה ומאיזו כתובת. השני מתפענח מול חלק שכבר נמצא בתוך ההודעה, ולכן הצגתו אינה יוצרת קשר עם איש.

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

שתפו את הראיה בלי לשלוח את ההודעה

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

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

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