آیا کسی میتواند IP شما را در یک برنامه چت ببیند؟ هر ناظر چه میداند
در چتی که از طریق سرویس منتقل میشود، فرستنده و همتای شبکهای شما دو موجودیت جداگانهاند. آنچه سرویس میبیند، آنچه شما میبینید و آنچه نام برنامه القا میکند را از هم جدا کنید.
«با چه کسی حرف میزنم؟» دو پرسش است که یک جمله پوشیدهاند. یکی درباره حسابی است که پیام را نوشته، دیگری درباره ماشینی در انتهای دور اتصال شبکهای که کلاینت شما واقعاً نگه میدارد. در چتی که از طریق سرویس منتقل میشود، این دو تقریباً هرگز یک موجودیت نیستند، و همین تفاوت بیشتر سردرگمی درباره آنچه VPN از شخصی که به او پیام میدهید پنهان میکند یا نمیکند را توضیح میدهد. توپولوژی را درست بفهمید و پرسش حریم خصوصی به جای احساسی بودن، پاسخپذیر میشود.
کلاینت شما با سرویس حرف میزند، نه با شخص دیگر
یک برنامه چت متنی را در نظر بگیرید که در آن هر شرکتکننده به سرویس وصل میشود و سرویس پیامها را میان حسابها تحویل میدهد. کلاینت شما اتصالی به سرویس دارد؛ شرکتکننده دیگر اتصال جداگانهای به همان سرویس دارد. پیام از کلاینت او به سرویس و از سرویس به کلاینت شما سفر میکند، یعنی همتای انتقال شما یک نقطه پایانی از سرویس است و نه دستگاه او.
Alex's client -> chat service -> your clientهرچه در ادامه میآید از همان یک نمودار بیرون میآید. نگاه به اتصال خودتان سرویس را شناسایی میکند، نه الکس را. نگاه به اتصال الکس سرویس را از سوی دیگر شناسایی میکند. هیچیک از این دو مشاهده بهتنهایی سابقهای در سطح بسته از دستگاه شخص دیگر نیست، و هیچ مقدار بازرسی از ترافیک خودتان آن را به چنین سابقهای تبدیل نمیکند.
ناظران مختلف شواهد مختلف جمع میکنند
سرویس در موقعیت قویتری از هر شرکتکننده است، چون هر دو اتصال را پایان میدهد و همزمان میداند هر کدام به کدام حساب تعلق دارد. اینکه چه نگه میدارد، چه مدت، کدام سوابق را به هم میپیوندد و به چه کسی افشا میکند، پرسشهای جداگانهای با پاسخهای جداگانهاند و هیچیک با جمله «برنامه رمزنگاری سرتاسری دارد» پاسخ داده نمیشود.
شما به عنوان گیرنده در واقعیتهای شبکه ضعیف هستید اما در واقعیتهای محتوا قوی: متن پیام، نام نمایشدادهشده، هر چیزی که فرستنده تایپ یا پیوست کرده است. فرستندهای که خودش نشانی خود را تایپ میکند آن را افشا کرده است، و این افشا یک مشاهده شبکهای نیست، هرچند مانند یکی خوانده میشود.
| Observer | Sees | Cannot conclude |
|---|---|---|
| You | Your connection to the service, message contents, sender-supplied details | The other client's source address |
| The other participant | Their connection, message contents, what the service attaches | Your source address |
| The service | Both connections, account mapping, delivery metadata | What it does not retain, or what leaves its boundary |
اگر الکس از طریق VPN وصل شود، سرویس ممکن است نشانی خروجی آن اتصال را ببیند نه نشانی خانه الکس را. این جملهای است درباره آنچه سرویس میبیند. معنایش این نیست که نشانی خروجی به شما داده میشود، و قطعاً معنایش این نیست که اتصال خود شما با انتخاب انتقال الکس ناشناس میشود.
وقتی برنامه واقعاً همتا به همتاست
مدل انتقال از طریق واسطه یک مدل است، نه قانون. برخی قابلیتهای پیامرسانی مسیرهای مستقیم میان کلاینتها برقرار میکنند، مثلاً کانال دادهای در مرورگر که از طریق سرور سیگنالینگ مذاکره میشود، یا حالت انتقال فایل که دو دستگاه را به هم وصل میکند تا از انتقال دادههای حجیم جلوگیری شود. در این موارد همتای انتقال واقعاً دستگاه شرکتکننده دیگر است و تحلیل ناظر کاملاً تغییر میکند.
برچسب دوستانه یک برنامه کافی نیست تا بگوید در کدام حالت هستید. «پیام مستقیم» توصیف میکند چه کسی آن را میخواند، نه اینکه چگونه منتقل میشود، و یک قابلیت تماس یا اشتراک صفحه در همان برنامه میتواند توپولوژی متفاوتی از رشته متنی کنارش داشته باشد. مستندات فروشنده را برای همان قابلیت بخوانید، یا ببینید کلاینت شما هنگام استفاده از آن چه اتصالهایی باز میکند.
بیانیه رمزنگاری سرتاسری پوشش میدهد که چه کسی میتواند محتوای محافظتشده را بخواند. درباره اینکه کدام سرورها اتصال میپذیرند، چه فرادادهای میبینند یا مسیر مستقیمی وجود دارد چیزی نمیگوید، و بحث RFC 6973 درباره تواناییهای ناظر انضباط سودمندی است: ناظر را نام ببرید، سپس فهرست کنید که آن ناظر واقعاً چه میتواند جمعآوری کند.
این برای VPN چه معنایی دارد
VPN تغییر میدهد که سرویس درباره اتصال شما چه میبیند. تغییر نمیدهد که همتای انتقال شما کیست، و به شرکتکننده دیگر دید تازهای از نشانی شما نمیدهد. انتظار اینکه VPN شما را از شخصی که به او پیام میدهید پنهان کند خطای مقولهای است: کلاینت او هرگز اتصالی با کلاینت شما نداشته است.
آنچه VPN میتواند تغییر دهد یک قابلیت مسیر مستقیم است. اگر برنامه در حالت دیگر یک اتصال همتا به همتا مذاکره میکرد، عبور دادن ترافیک شما از یک تونل ممکن است در عوض انتقال از طریق واسطه را تحمیل کند و برخی قابلیتها متفاوت رفتار کنند یا عقبنشینی کنند؛ این اثری واقعی است، اما درباره توپولوژی است، نه درباره ناپدید شدن از گفتگو.
سپس دو پرسش را در هر چیزی که یادداشت میکنید جدا نگه دارید. کدام حساب این را فرستاد و کدام نقطه پایانی آن را حمل کرد. به هر دو صریح پاسخ دهید، توجه کنید چه کسی میتواند هر پاسخ را مشاهده کند، و دست از ترکیب آن دو در یک حکم واحد درباره قابل ردیابی بودن یک پیام بردارید.