جنجال یک شناسه بحثبرانگیز در تلگرام؛ آیا امکان ردیابی کاربران وجود دارد؟
سهراب را در نظر بگیرید که یک روزنامهنگار مستقل است، او امروز در کافهای شلوغ، بهانتظار آنلاینشدن منبع خبری خودش نشسته؛ قبل از شروع گفتوگو، با دقت تمام قدمهای امنیتی را طی میکند؛ یک VPN معتبر روشن میکند تا آیپیاش تغییر کند، وارد تلگرام دسکتاپ میشود و گفتگو را در حالت «سیکرت چت» آغاز میکند.
سهراب میداند وایفای عمومی ناامن است؛ پس با یک VPN معتبر، ترافیکش را زرهپوش میکند، رمزگذاری سرتاسری تلگرام را هم بهخدمت میگیرد تا هیچ ردی بر جای نماند؛ او این ترکیب را یک دژ نفوذناپذیر تصور میکند؛ اما در پشت پرده، اتفاق دیگری در جریان است.
فارغ از اینکه سهراب چند بار آیپیاش را عوض کند یا پیامهایش چقدر رمزگذاری شده باشند، دستگاه او در هر بستهدادهای که به سرورهای تلگرام میفرستد، یک عدد ۶۴بیتی ثابت و منحصربهفرد را با خود حمل میکند. عددی که مثل یک ردپای حکشده روی بتن، با تغییر شبکه، خاموش و روشنکردن اپلیکیشن یا حتی روشنکردن سیکرتچت هم عوض نمیشود.
براساس گزارش فنی مؤسسهی Symbolic Software که در ۲۱ می ۲۰۲۶ منتشر شده است، کاربران نسخههای اندروید و دسکتاپ تلگرام نه بهدلیل یک باگ یا اشتباه فنی سهوی؛ بلکه بهخاطر نوع معماری انتخابشده در روند توسعهی پیامرسان، در معرض ردیابی دائمی توسط ناظران شبکه قرار دارند؛ حتی زمانی که هیچکس نمیتواند محتوای پیامهایشان را بخواند!
متادیتا چطور هویت دستگاه را فاش میکند؟
تلگرام برای انتقال پیامها از پروتکل اختصاصی خود بهنام MTProto استفاده میکند. در ساختار این پروتکل، هر بستهدادهای که از دستگاه شما به سرور ارسال میشود، یک «هدر خارجی» دارد؛ چیزی شبیه به پاکت نامهای که روی آن اطلاعاتی برای شناسایی بسته نوشته شده؛ یکی از اطلاعات داخل پاکت، شناسهی ۶۴بیتی auth_key_id است که از کلید احراز هویت دستگاهتان مشتق میشود و وظیفهی سادهای دارد؛ صرفا باید به سرور بگوید پیام ارسالی از کدام دستگاه آمده تا با کدام کلید، رمزگشایی شود.
رمزگذاری محتوا لزوما به معنای رمزگذاری همه چیز نیست
مشکل اینجاست که شناسهی auth_key_id بدون رمزگذاری، در لایهی انتقالِ (Transport Layer) هر بستهداده قرار میگیرد و هر کسی که در مسیر ارتباط اینترنتی شما باشد، امکان مشاهدهی آن را دارد.
وقتی میگوییم پیامهای تلگرام رمزگذاری شدهاند، منظور «محتوای داخل پیام» است؛ اما رمزگذاری محتوا لزوما بهمعنای رمزگذاری همهچیز نیست.
متادیتا نشاندهنده الگوی زندگی دیجیتال شماست و auth_key_id تکهای از همین متادیتاست
وقتی نامهای پست میکنید، متن داخل پاکت مهر و موم میشود؛ اما آدرس فرستنده و گیرنده روی پاکت کاملاً خوانا است. شناسهی auth_key_id دقیقا مثل همان آدرس روی پاکت عمل میکند. این نوع اطلاعات را در دنیای امنیت «متادیتا» (Metadata) مینامند؛ دادهای دربارهی دادهها.
شناسهی auth_key سه ویژگی دارد که کنارهم قرار گرفتنشان نگرانکننده است:
- پایداری: شناسهی auth_key_id با ریاستارتکردن اپلیکیشن، تغییر آیپی، جابهجایی بین وایفای و دیتای موبایل تغییر نمیکند.
- قابل مشاهده بودن: محققان با ابزارهای استاندارد شنود شبکه، شناسهی auth_key_id را بهراحتی استخراج کردند. لایهی «مبهمسازی» (Obfuscation) تلگرام برپایهی الگوریتم XOR نیز صرفا برای دور زدن فیلترهای ساده طراحی شده است و امنیت رمزنگاری واقعی ایجاد نمیکند.
- لینکپذیری: ناظر میتواند بفهمد تمام اتصالها در طول زمان، به «یک دستگاه مشخص» تعلق دارد. در واقع همین الگو، خود اطلاعات است؛ بدون خواندن حتی یک کلمه از پیامها، ناظر میداند دستگاه سهراب چه ساعتی آنلاین شده، از کدام شبکهها وصل شده و حجم ترافیکش چه زمانی تغییر کرده؛ این یعنی ترسیم دقیق الگوی زندگی دیجیتال شما.
توهم دژ نفوذناپذیر؛ چرا فیلترشکن و سیکرتچت بیفایدهاند؟
یافتههای مؤسسهی Symbolic Software نشان میدهد که ابزارهای دفاعی کاربران، در لایههای متفاوتی کار میکنند و حریف مسئلهی شناسههای auth_key_id نمیشوند:
- ویپیان: فیلترشکن آدرس آیپی شما را مخفی میکند؛ اما شناسهی auth_key_id را درون ترافیک دستنخورده باقی میگذارد. ناظری که بر ترافیک خروجی تمرکز کند، همچنان این شناسه ثابت را میبیند.
- سیکرت چت: قابلیت سیکرتچت، رمزگذاری سرتاسری را به محتوای پیام اضافه میکند؛ اما آسیبپذیری مورد بحث در لایهی انتقال رخ میدهد که یک لایه پایینتر است. پروتکل MTProto هدرهای بیرونی بسته را رمزگذاری نمیکند و سیکرتچت نیز به این لایه دسترسی ندارد.
- قابلیت PFS: تلگرام برای امنیت بیشتر، کلیدهای موقت را هر ۲۴ ساعت عوض میکند؛ اما این کلیدهای موقت نیز در ترافیک عریان هستند و فرآیند انتقال از کلید قدیمی به جدید به قدری قابل پیشبینی است که ناظر شبکه میتواند با «تحلیل همبستگی زمانی»، زنجیرهی تعویض کلیدها را دنبال کند و ردیابی را بدون قطعشدن ادامه دهد.
هر کسی که در مسیر ارتباط شما باشد؛ بهعنوان مثال اپراتور اینترنت، مدیر شبکهی سازمان، مالک هاتاسپات وایفای عمومی یا نهادهای بالادستی که به زیرساخت شبکه دسترسی دارند، میتواند شناسهی auth_key_id را ببیند.
ردپای دیجیتال چطور به هویت واقعی شما وصل میشود؟
باید صادقانه بگوییم که دیدن شناسهی ۶۴بیتی auth_key_id بهتنهایی، شمارهتلفن یا نام شما را فاش نمیکند. تلگرام نیز در واکنش به گزارش Symbolic Software، دقیقا روی همین موضوع دست گذاشته و این رفتار را «طراحیشده و شناختهشده» را توصیف میکند و میگوید auth_key_id صرفا یک شناسهی فنی برای مدیریت نشست در سمت سرور است و مهاجم با دیدن آن هویت کاربر را نمیفهمد.
دیدن auth_key_id به تنهایی برای فاش شدن هویتش شما کافی نیست
دفاعیهی تلگرام از نظر فنی درست است؛ اما منتقدان میگویند تلگرام به سؤال اشتباهی پاسخ میدهد؛ مسئلهی اصلی شکستن رمزنگاری نیست؛ بلکه «ردیابی و قابلیت پیوند دادهها» است.
مسئله اصلی شکستن رمزنگاری نیست؛ بلکه «ردیابی و قابلیت پیوند دادهها» است
تهدید واقعی زمانی آغاز میشود که یک «نقطهی تلاقی» پیش بیاید؛ جایی که هویت واقعی شما و شناسهی auth_key_id همزمان برای ناظر شبکه قابل مشاهده باشند. این نقطهی تلاقی میتواند یک وایفای عمومی در فرودگاه یا کافه باشد که برای اتصال به آن، نام یا شمارهتلفن خود را وارد کردهاید.
در همین لحظه، ناظر شبکه متوجه میشود هویت واقعی سهراب، دارندهی این شناسهی ۶۴بیتی خاص است. از آنجایی که اپراتورها متادادهی شبکه را برای ماهها ذخیره میکنند، تمام لاگهای گذشته و آیندهی شناسه که شاید مدتها بدون نام جمعآوری شده بودند، یکجا بهنام هویت واقعی سهراب سند میخورند.
چرا تلگرام شناسه auth_key_id را بدون رمزگذاری منتقل میکند؟
ریشهی ماجرا به یک تصمیم در مورد معماری پیامرسان بازمیگردد؛ تلگرام از پروتکل استاندارد TLS برای رمزگذاری لایهی انتقال استفاده نمیکند.
استفاده از پورت ۴۴۳ بدون پیادهسازی TLS، مثل این است که روی یک پاکت کاملا باز بنویسید «محرمانه»
پروتکل TLS، همان فناوری پشت HTTPS وبسایتها، کاری میکند که کل بستهی ارتباطی کلاینت پیشاز خروج از دستگاه، درون یک تونل رمزشده قرار بگیرد. پیامرسانهایی مانند سیگنال و واتساپ سالهاست ترافیک خود را بهطور کامل درون TLS بستهبندی میکنند؛ بهطوری که ناظر شبکه چیزی جز دادههای رمزیشدهی بیمعنی نمیبیند و هیچ شناسهای لو نمیرود.
مستندات فنی نشان میدهد که پروتکل MTProto تلگرام از ابتدا توانایی پشتیبانی از لایهی TLS را داشته است؛ اما در عمل ترافیک را روی اتصالات سادهی TCP میفرستد. تلگرام برای این کار از پورت ۴۴۳ (پورت مخصوص HTTPS) استفاده میکند.
استفاده از پورت ۴۴۳ بدون پیادهسازی واقعی TLS، مثل این است که روی یک پاکت کاملا باز بنویسید «محرمانه»؛ ظاهر امنیت حفظ شده؛ اما امکان مشاهدهی محتوا برای هر کسی وجود دارد. احتمالا مهندسان تلگرام چنین سازوکاری را آگاهانه و با هدف مبهمسازی ترافیک برای دورزدن راحتتر سیستمهای فیلترینگ انتخاب کردهاند.
آیا باید نگران باشیم؟
برای اکثریت کاربران عادی، وجود شناسهی auth_key_id، تهدید فوری ایجاد نمیکند. ردیابی همزمان یک میلیارد کاربر تلگرام از این طریق نه ممکن است و نه عملی؛ زیرا جمعآوری و تحلیل چنین حجم عظیمی از دادهها در لحظه، خارج از توان فنی بازیگران شبکه است؛ اما این آسیبپذیری برای کسانی مانند روزنامهنگاران، فعالان مدنی و افرادی که در محیطهای پرریسک نگران نظارتهای هدفمند هستند، کاملا جدی خواهد بود.
حتی در امنترین سناریوها، همیشه بخشی از ردپای دیجیتال باقی میماند
راهحل بحران شناسهی auth_key_id بسیار ساده است؛ تلگرام صرفا باید استفاده از لایهی استاندارد TLS را روی تمامی اتصالات اجباری کند و امکان بازگشت به TCP بدون رمزنگاری را حذف کند؛ بدینترتیب، auth_key_id درون یک تونل امن قرار میگیرد و سهراب میتواند با خیال راحت در آن کافه بنشیند و با روشنکردن ویپیان و استفاده از سیکرتچت، هیچ ردی بر جای نگذارد.
امنیت در پیامرسانها فقط به رمزنگاری محتوا محدود نمیشود
گزارش اخیر بار دیگر یک نکتهی مهم را یادآوری میکند که امنیت در پیامرسانها فقط به رمزنگاری محتوا محدود نمیشود؛ متادیتا میتواند بههمان اندازه مهم باشد. برای کاربران، شاید مهمترین نتیجه این باشد که حتی در امنترین سناریوها، همیشه بخشی از ردپای دیجیتال باقی میماند و اطلاع از آن، اولین قدم برای تصمیمگیری آگاهانه است.
