نام سایت در اتصال (SNI) و رمزنگاری آن (ECH)
اپراتور از کجا میفهمد به کدام سایت وصل شدهاید و چطور میشود آن را پنهان کرد.
نام سایت در اتصال (SNI) چیست؟
وقتی به سایتی با HTTPS وصل میشوید، محتوای صفحه رمز میشود، اما در همان پیام اول اتصال، که ClientHello نام دارد، مرورگر نام سایت را میفرستد تا سرور بداند کدام گواهی را نشان دهد. این نام، یعنی SNI، معمولاً آشکار فرستاده میشود. پس اپراتور اینترنت، صاحب وایفای یا هر کسی در مسیر میتواند ببیند به کدام سایت وصل شدهاید، هرچند نمیبیند در آن سایت چه میکنید.
چرا مهم است؟
نام آشکار سایت هم برای حریم خصوصی مهم است و هم برای فیلترینگ: بسیاری از سامانههای فیلترینگ همین نام را در پیام اول میخوانند و اگر در فهرست باشد اتصال را قطع میکنند. رمز کردن DNS بهتنهایی این را حل نمیکند، چون نام سایت باز هم در SNI دیده میشود.
رمزنگاری ECH چه میکند؟
استاندارد Encrypted Client Hello یا ECH بخش حساس پیام اول، از جمله نام سایت، را با کلیدی که سایت در DNS منتشر کرده رمز میکند. ناظر بیرونی فقط نام یک سرور مشترک را میبیند، مثلاً سرور عمومی کلودفلر، نه نام سایت واقعی را. این کار به دو طرف نیاز دارد: مرورگر باید ECH را پشتیبانی کند و سایت هم باید آن را روشن کرده باشد. کلودفلر برای سایتهای روی شبکهاش ECH را ارائه میدهد؛ بیشتر سایتهای دیگر هنوز ندارند.
روشن کردن DNS امن در مرورگر
مرورگر کلید ECH را از رکورد HTTPS در DNS میگیرد. فایرفاکس و کروم ECH را پشتیبانی میکنند، و با DNS امن (DNS روی HTTPS) این رکورد مطمئنتر و دستنخورده به مرورگر میرسد.
- در کروم: منوی سهنقطه، بعد «تنظیمات»، بعد «حریم خصوصی و امنیت» و «امنیت». در بخش «پیشرفته» گزینهٔ «استفاده از DNS امن» را روشن کنید و یک سرویسدهنده انتخاب کنید. اگر دستگاه را سازمانی مدیریت میکند یا کنترل والدین روشن است، این گزینه در دسترس نیست.
- در فایرفاکس: تنظیمات را باز کنید و در کادر جستوجوی آن
DNS over HTTPSرا بنویسید، سپس سطح محافظت را بالا ببرید و یک سرویسدهنده انتخاب کنید. - مرورگر را بهروز کنید؛ پشتیبانی ECH در نسخههای تازه آمده است.
- مرورگر را ببندید و دوباره باز کنید تا تنظیم تازه برای همهٔ اتصالها اعمال شود.
- صفحهٔ «دستگاه من» چکنت را باز کنید و ردیف «نام سایت (SNI) در اتصال» را ببینید.
اگر DNS امن در شبکهٔ شما کار نکند، ممکن است سایتها باز نشوند. در این حالت سرویسدهندهٔ دیگری انتخاب کنید یا گزینه را خاموش کنید.
بررسی دوباره با چکنت
چکنت روی کلودفلر است و این ردیف را از گزارش خود کلودفلر برمیدارد. «رمز شده (ECH)» یعنی نام چکنت در پیام اول پنهان بود. «آشکار» یعنی مرورگر ECH نفرستاد؛ مثلاً چون نسخهاش قدیمی است، یا DNS شبکه رکورد HTTPS سایت را به آن نرساند. شبکهها میتوانند با همین کار ECH را عملاً ببندند، و DNS امن جلوی آن را میگیرد. این نتیجه فقط برای همین اتصال است؛ سایتی که ECH ندارد همیشه نامش آشکار میرود.