یک اتصال رمزگذاری‌شده TLS میان رایانه شما و سرور مقصد برقرار می‌شود. در نمودارهای معمول مانیتورینگ شبکه، کل تبادل اطلاعات شبیه به جریانی مبهم از داده‌های غیرقابل خواندن به نظر می‌رسد. با این حال، برای تجهیزات بازرسی عمیق بسته‌ها (DPI)، دیواره‌های آتش سازمانی و دروازه‌های شبکه‌های توزیع محتوا (CDN)، نخستین بسته ارسالی در بستر ارتباطی—بسته TLS ClientHello—داستان کاملاً متفاوتی را بازگو می‌کند. در کمتر از یک میلی‌ثانیه، سامانه نظارتی رشته‌ای کوتاه را محاسبه می‌کند: t13d1516h2_8daaf6152771_e562703429b6. درگاه شبکه بی‌درنگ متوجه می‌شود که شما از یک مرورگر استاندارد استفاده نمی‌کنید؛ بلکه در حال اجرای اسکریپتی به زبان Go یا یک نرم‌افزار پروکسی هستید. بدون نیاز به رمزگشایی حتی یک بایت از محتوا، نرم‌افزار شما شناسایی، طبقه‌بندی و نشانه‌گذاری شده است.

این فناوری با نام ثبت ردپای دیجیتال TLS (TLS Fingerprinting) شناخته می‌شود و استاندارد به‌روز آن در حوزه امنیت شبکه، استاندارد JA4 است. تجهیزات میانی شبکه با ارزیابی نحوه پیشنهاد پارامترهای رمزنگاری در فرآیند دست‌دادن اولیه، قادرند ابزارهای نرم‌افزاری را دسته‌بندی کنند، سامانه‌های حریم خصوصی را تشخیص دهند و ردپای کاربران را در شبکه‌های گوناگون به یکدیگر متصل نمایند.

[برنامه کاربردی در دستگاه]
       │
       │  ۱. ارسال بسته دست‌دادن TLS ClientHello (متن آشکار)
       ▼
[ارائه‌دهنده اینترنت / دیواره آتش / سامانه بازرسی عمیق DPI]
       │
       │  ۲. استخراج اطلاعات: نسخه TLS، لیست رمزها، افزونه‌ها، ALPN
       ▼
[محاسبه کد شناسه JA4: t13d1516h2_8daaf6152771_e562703429b6]
       │
       ├─► آیا با مرورگرهای رایج همخوانی دارد؟ (خیر ➔ ایجاد محدودیت یا قطع اتصال)
       └─► تطبیق با نشست‌های گذشته هنگام جابه‌جایی میان شبکه وای‌فای و تلفن همراه

سیر تحول ارزیابی فرآیند دست‌دادن: از JA3 تا استاندارد JA4

برای درک چگونگی طبقه‌بندی اتصالات رمزگذاری‌شده توسط ناظران شبکه، ابتدا باید به این پرسش پاسخ داد که چرا مشخصات آغازین ارتباط بدون رمزگذاری ردوبدل می‌شوند. هنگامی که یک برنامه کاربردی قصد برقراری نشست HTTPS یا TLS را دارد، دو طرف ارتباط هنوز به کلیدهای رمزگذاری مشترک دست نیافته‌اند. از این رو، نخستین بسته—TLS ClientHello—باید با متن ساده روی بستر فیزیکی شبکه منتقل شود.

استاندارد TLS 1.3 (طبق RFC 8446) بیشتر مراحل بعدی، نظیر تبادل گواهی‌ها را رمزگذاری کرده است؛ اما بسته ClientHello همچنان دربردارنده جزئیات کلیدی سیستم است:

  • نسخه‌های پروتکل مورد پشتیبانی (TLS 1.2 و TLS 1.3).
  • فهرست مجموعه‌های رمزگذاری (Cipher Suites) به ترتیب اولویت دستگاه فرستنده.
  • افزونه‌های اعلام‌شده، شامل منحنی‌های بیضوی، الگوریتم‌های امضا و انواع تبادل کلید.
  • پارامترهای مذاکره پروتکل در لایه کاربرد (ALPN)، مانند شناسه h2 برای HTTP/2 یا http/1.1.

در سال ۲۰۱۷، کارشناسان امنیتی روش JA3 را معرفی کردند که این پارامترها را در یک رشته متنی گردآوری کرده و با الگوریتم MD5 هش می‌کرد. گرچه JA3 در مراکز عملیات امنیت رواج یافت، دارای معایب بنیادینی بود: تداخل کدهای هش MD5 رخ می‌داد و رشته ۳۲ کاراکتری تولیدشده فاقد خوانایی مستقیم برای انسان بود.

در سال ۲۰۲۳، پژوهشگری به نام جان آلتهاوس استاندارد JA4 را در قالب مجموعه JA4+ ارائه داد. این استاندارد ردپای شبکه را به سه بخش مشخص که با خط تیره زیرین از هم جدا شده‌اند تبدیل می‌نماید:

+------------------+------------------+------------------+
|      بخش A       |      بخش B       |      بخش C       |
| (ویژگی‌های پایه) | (هش الگوریتم‌ها) |   (هش افزونه‌ها) |
|   t13d1516h2     |   8daaf6152771   |   e562703429b6   |
+------------------+------------------+------------------+

تحلیل ساختار ردپای JA4

۱. بخش A (۱۰ کاراکتر): چکیده‌ای شفاف از مشخصات فنی اتصال را بدون هش کردن بیان می‌کند:

  • نوع پروتکل حمل: حرف t برای TCP، حرف q برای QUIC (UDP)، یا d برای DTLS.
  • نسخه TLS: مقدار 13 برای TLS 1.3 و 12 برای TLS 1.2.
  • وضعیت نام سرور (SNI): حرف d در صورت وجود نام دامنه و حرف i در صورت استفاده مستقیم از آدرس IP.
  • تعداد مجموعه‌های رمز: شمار الگوریتم‌های پیشنهادی (دو رقم، مانند 15).
  • تعداد افزونه‌ها: شمار افزونه‌های ارسالی (دو رقم، مانند 16).
  • شناسه ALPN: نخستین نویسه اولین مقدار ALPN و واپسین نویسه آخرین مقدار (مانند h2). ۲. بخش B (۱۲ کاراکتر): هش SHA-256 کوتاه شده از فهرست مجموعه‌های رمز که پیش از محاسبه بر اساس حروف الفبا و ارقام مرتب شده‌اند. ۳. بخش C (۱۲ کاراکتر): هش SHA-256 کوتاه شده از تمام افزونه‌ها و الگوریتم‌های امضا که به صورت الفبایی مرتب گشته‌اند.

با توجه به خوانا بودن بخش A، کارشناس شبکه یا قوانین فایروال با مشاهده کد t13d1516h2 پیش از رجوع به بانک اطلاعاتی می‌توانند خصوصیات پایه ارتباط را فوراً بازشناسی کنند.

نحوه بهره‌برداری سامانه‌های نظارتی از ردپای JA4

شرکت‌های ارائه‌دهنده خدمات اینترنت، شبکه‌های تحویل محتوا و درگاه‌های سازمانی از شناسه‌های JA4 در سه محور عملیاتی بهره می‌گیرند:

                    ┌──► ۱. شناسایی و دسته‌بندی نرم‌افزار کلاینت
                    │    (تفکیک مرورگرهای واقعی از کتابخانه‌های Go/Python)
ردپای دیجیتال JA4 ──┼──► ۲. پیوند دادن هویت دستگاه میان شبکه‌های گوناگون
                    │    (شناسایی دستگاه با وجود تغییر نشانی IP)
                    └──► ۳. غربال‌گری هدفمند ترافیک شبکه
                         (ایجاد مانع برای نرم‌افزارهای غیرمجاز در شبکه سازمانی)

۱. طبقه‌بندی پلتفرم‌ها و کتابخانه‌های نرم‌افزاری

مرورگرهای اینترنتی چینش متفاوتی از مجموعه‌های رمز و افزونه‌ها را نسبت به زبان‌های برنامه‌نویسی به کار می‌برند.

  • مرورگرهای Chrome و Edge از ترتیبی ویژه، فهرستی مشخص از افزونه‌ها و کدهای آزمایشی GREASE استفاده می‌کنند.
  • مرورگر Firefox اولویت‌بندی منحصر‌به‌فردی در منحنی‌های رمزنگاری و اشتراک کلید دارد.
  • کتابخانه‌های زبان Go (crypto/tls)، پایتون (urllib3) و Node.js ساختارهایی کاملاً یکنواخت ارسال می‌کنند که با ساختار مرورگر واقعی تفاوت فاحشی دارد.

چنانچه برنامه‌ای با سرآیند جعلی مدعی شود که یک مرورگر استاندارد است اما در بسته آغازین خود ردپای JA4 متعلق به کتابخانه Go را ارسال نماید، دیواره آتش شبکه فوراً آن را به عنوان یک ربات یا ابزار واسطه شناسایی خواهد کرد.

۲. پیوند دادن هویت تجهیزات در شبکه‌های متغیر

وقتی کاربر از شبکه خانگی به اینترنت تلفن همراه یا وای‌فای هتل جابه‌جا می‌شود، نشانی IP بیرونی تغییر می‌یابد. با این وجود، ترکیب نسخه سیستم‌عامل، مرورگر و ماژول‌های رمزنگاری روی دستگاه، ردپای JA4 یکسانی در تمام این محیط‌ها به وجود می‌آورد.

حسگرهای مستقر در گذرگاه‌های ارتباطی این شناسه را به طور مداوم ثبت می‌کنند. با متصل ساختن رکوردهای حاصل از یک ردپای ثابت در میان دامنه‌های مختلف IP، امکان بازسازی خط زمانی فعالیت یک دستگاه فراهم می‌شود.

۳. فیلترینگ انتخابی مبتنی بر سیاست‌های امنیتی

در شبکه‌های اداری و دانشگاهی، بازرسان ترافیک از داده‌های JA4 برای مسدودسازی برنامه‌های ناشناخته سود می‌برند. نشست‌هایی که ردپای آن‌ها با مرورگرهای مجاز مطابقت نداشته باشد، مشمول افت شدید پهنای باند یا مسدودیت می‌شوند.

جدول مقایسه نمایانی ردپا در الگوهای ارتباطی گوناگون

معماری ارتباطی میزان نمایانی بسته ClientHello توانایی استخراج JA4 در شبکه محلی آسیب‌پذیری در برابر تحلیل DPI افشای کتابخانه‌های نرم‌افزاری
اتصال مستقیم به وب کاملاً آشکار در بستر فیزیکی شبکه محاسبه مستقیم ردپای مرورگر بسیار بالا: تفکیک دقیق سیستم‌عامل بسیار بالا: نمایانی کامل کتابخانه
پروکسی SOCKS5 یا HTTP آشکار در شبکه محلی فاقد لایه امن استخراج آسان در نخستین گره ارتباطی بالا در مسیر محلی ارتباط بالا: مشخص بودن ردپای اصلی برنامه
تونل دولایه TLS روی TLS دو لایه تودرتو از بسته‌های TLS ایجاد ردپای JA4 برای لایه بیرونی متوسط: ایجاد سوءظن برای لایه بیرونی متوسط: افشای مشخصات ابزار پروکسی
تونل لایه ۳ با RiceGuard کپسوله‌سازی کامل در UDP وایرگارد به طور کامل منتفی (فاقد بسته TLS آشکار) صفر: مشاهده بسته‌های یکنواخت UDP صفر: عایق‌سازی کامل پارامترهای کلاینت

راهکارهای تغییر چهره و کاستی‌های فنی آن‌ها

توسعه‌دهندگان نرم‌افزار راهکارهایی را برای پنهان کردن ردپای پروتکل پیشنهاد داده‌اند، ولی روش‌های مبتنی بر لایه کاربرد همواره با چالش مواجه بوده‌اند.

+------------------------------------------------------------------------+
|                     روش‌های استتار در لایه کاربرد                      |
+------------------------------------------------------------------------+
| ۱. افزونه‌های GREASE (RFC 8701) ──► حذف خودکار پیش از محاسبه هش JA4    |
| ۲. جابه‌جایی چیدمان افزونه‌ها   ──► مرتب‌سازی الفبایی در الگوریتم هش    |
| ۳. شبیه‌سازی مرورگرهای رایج    ──► ناسازگاری بر اثر به‌روزرسانی سیستم   |
+------------------------------------------------------------------------+

۱. مکانیزم GREASE (RFC 8701)

برای جلوگیری از خطاهای تجهیزات شبکه در تفسیر مقادیر جدید، استاندارد GREASE داده‌های تصادفی را در لیست پارامترها می‌گنجاند.

با این حال، استاندارد JA4 تمامی این شناسه‌های متغیر را شناسایی کرده و پیش از محاسبه مقدار نهایی هش کنار می‌گذارد؛ در نتیجه مقدار ردپا همچنان پایدار باقی می‌ماند.

۲. برهم زدن چیدمان افزونه‌ها

تغییر دادن ترتیبی که افزونه‌ها در بسته ClientHello درج می‌شوند نیز چاره‌ساز نیست. الگوریتم JA4 پیش از اجرای عملیات SHA-256، تمام متغیرها را بر پایه حروف و اعداد بازآرایی می‌کند و نتیجه نهایی بدون تغییر می‌ماند.

۳. تقلید ایستا از مرورگرها

شبیه‌سازی کامل ساختار مرورگرهایی مانند Chrome نیازمند نگهداری دائمی است. با هر بار ارائه نسخه جدید مرورگر، پارامترهای رمزی دگرگون می‌شوند و سیستم‌های الگوبرداری‌شده به علت ناهمخوانی با کلاینت‌های اصلی به سرعت فاش می‌گردند.

معماری دفاعی: کپسوله‌سازی جامع در پروتکل RiceGuard

از آنجا که دستکاری گزینه‌های TLS در لایه کاربرد ضریب خطای بالایی دارد، راهکار پایدار دفاعی، انتقال مرز حفاظتی به لایه شبکه (Layer-3) است.

[مرورگر / نرم‌افزار کاربردی]
                 │
                 ▼ (تولید بسته ClientHello دارای مشخصه JA4)
┌─────────────────────────────────────────────────────────────┐
│ مرز رمزنگاری لایه ۳ در فناوری RiceGuard (روی دستگاه شما)    │
│                                                             │
│ ۱. دریافت تمام بسته‌های IPv4/IPv6 در رابط مجازی TUN         │
│ ۲. بسته‌بندی کل ترافیک در بار مفید ChaCha20-Poly1305        │
│ ۳. پوشاندن پارامترها درون فریم‌های یکپارچه UDP پروتکل       │
└──────────────────────────────┬──────────────────────────────┘
                               │
                               ▼ (جریان بسته‌های رمزگذاری‌شده)
[روتر وای‌فای / تجهیزات DPI شبکه] ◄── هیچ بسته TLS مشاهده نمی‌شود
                               │
                               ▼
[دروازه ارتباطی امن VPNRice]
                               │
                               ▼ (خروج از تونل و هدایت به مقصد)
[سرور وب مورد نظر] ◄── دریافت ترافیک از شناسه اشتراکی سرور

سامانه VPNRice با معماری بومی RiceGuard چالش‌های ردیابی امضای شبکه را مرتفع می‌سازد:

۱. کپسوله‌سازی داده‌ها در لایه شبکه

برخلاف پروکسی‌های معمول که در لایه ۷ عمل می‌کنند، فناوری RiceGuard به عنوان کارت شبکه مجازی (رابط TUN) در لایه ۳ پیاده‌سازی شده است. وقتی یک نرم‌افزار بسته TLS ClientHello را صادر می‌کند، این بسته به هیچ عنوان با فرمت اصلی خود به کارت شبکه فیزیکی هدایت نمی‌شود.

تمام بسته داده—از جمله سرآیندها، چارچوب‌های TCP و مؤلفه‌های TLS—درون بسته‌های معتبر و رمزگذاری‌شده با الگوریتم ChaCha20-Poly1305 یا AES-256-GCM کپسوله می‌گردند. نظاره‌گران شبکه فقط مجموعه‌ای یکدست از فریم‌های UDP را می‌بینند و امکانی برای استخراج مقادیر جهت ساخت هش JA4 نخواهند داشت.

۲. گسستن پیوستگی شناسایی دستگاه

با محفوظ ماندن جریان داده‌ها درون بستر ارتباطی، دستگاه‌های مستقر در مسیر شبکه امکان بهره‌گیری از شناسه‌های JA4 را برای تعقیب جابه‌جایی کاربر در نقاط دسترسی گوناگون از دست می‌دهند. روترهای عمومی فقط شاهد تبادل داده‌های یکسان به سوی یک سرور ثابت هستند.

۳. تفکیک در مبدأ خروج نهایی

اطلاعات پس از رسیدن به دروازه سرورهای VPNRice از پوشش خارج شده و به سرور نهایی تحویل داده می‌شوند. سایت میزبان تنها یک درخواست شبکه از سمت تجهیزات مرکز داده دریافت می‌کند و مشخصات سیستم‌عامل دستگاه کاربر کاملاً محفوظ می‌ماند.

پیشنهادهای کاربردی برای تثبیت امنیت

۱. استفاده از راهکارهای لایه شبکه به جای پروکسی‌های خام: در فضاهای عمومی، سامانه VPNRice مبتنی بر ساختار RiceGuard را فعال نمایید تا اطلاعات پیش از رسیدن به فرستنده فیزیکی رمزگذاری گردند. ۲. روشن نگاه داشتن قطع اضطراری (Kill Switch): قابلیت Kill Switch را فعال بگذارید تا فایروال سیستم در زمان نوسان پیوند شبکه، از خروج ناگهانی بسته‌های بدون محافظت جلوگیری به عمل آورد. ۳. به‌روزرسانی دوره‌ای نرم‌افزارها: مرورگرهای خود را همواره در وضعیت به‌روز نگه دارید تا پارامترهای ارتباطی مطابق با تازه‌ترین رویکردهای جهانی تنظیم گردند. ۴. بهره‌گیری از سامانه نام دامنه اختصاصی: از تطبیق نام‌ها در بستری ایمن و بدون ثبت وقایع اطمینان حاصل کنید تا از تحلیل‌های تقاطعی جلوگیری شود.

درک دقیق سازوکارهای فنی مانیتورینگ شبکه به کاربران یاری می‌رساند تا ابزارهای امنیتی کارآمد را برای حفظ حریم خصوصی خود در دنیای دیجیتال به کار گیرند.