رفتن به محتوای اصلی
Koohestun
توضیح کوهستانسازوکار رمزنگاریگزارش تشریحی· 5 دقیقه مطالعه· در فناوری

سازوکار پروتکل کلید فرستنده در چت‌های گروهی رمزنگاری‌شده

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

به قلم کیان راد

طرفداران خلوص رمزنگاری 35%مهندسان پلتفرم 35%مدافعان حریم خصوصی 30%
طرفداران خلوص رمزنگاری
استدلال می‌کنند که پروتکل کلید فرستنده، امنیت پس از نفوذ را فدای کارایی می‌کند و بر استفاده از پروتکل‌های درختی مانند MLS پافشاری می‌کنند.
مهندسان پلتفرم
برای کارایی O(1) در انتقال پیام با کلیدهای فرستنده ارزش قائلند و یادآوری می‌کنند که عمر باتری موبایل و پهنای باند شبکه سلولی منابعی محدود هستند.
مدافعان حریم خصوصی
تاکید می‌کنند که علی‌رغم رویت‌پذیری فراداده‌ها که برای توزیع سروری الزامی است، این پروتکل با موفقیت متن پیام‌ها را از دسترس شرکت‌ها دور نگه می‌دارد.

دیدگاه‌هایی که این گزارش پوشش نداده

  • کاربران نهایی

نکات کلیدی

  1. پروتکل کلید فرستنده با انتقال بار پردازشی به فاز راه‌اندازی اولیه، مشکل مقیاس‌پذیری چت‌های گروهی رمزنگاری‌شده را حل می‌کند.
  2. فرستنده به‌جای اینکه یک پیام را ۱۰۲۴ بار برای کل گروه رمزنگاری کند، آن را تنها یک بار رمزنگاری کرده و برای توزیع به سرور متکی می‌شود.
  3. این پروتکل از یک چرخ‌دنده درهم‌ساز متقارن برای تضمین پنهان‌سازی پیش‌رو استفاده می‌کند و کلیدهای قدیمی را پس از هر پیام از بین می‌برد.
  4. وقتی عضوی گروه را ترک می‌کند، کل وضعیت رمزنگاری باید بازنشانی شود که این امر باعث جهش عظیمی در ترافیک شبکه می‌شود.
  5. صنعت فناوری در حال حاضر برای حل ناکارآمدی‌های پروتکل کلید فرستنده، در حال گذار به سمت امنیت لایه پیام‌رسانی (MLS) است.

وقتی کاربری به یک چت گروهی با رمزنگاری سرتاسری می‌پیوندد، دستگاه او در پس‌زمینه یک رشته تصادفی ۳۲ بایتی به نام «کلید زنجیره» (Chain Key) تولید می‌کند. همین یک گام نامرئی تعیین می‌کند که آیا پیام‌رسان روان کار خواهد کرد یا زیر بار پردازشی خودش از پا درمی‌آید. در یک گروه با ظرفیت حداکثری ۱۰۲۴ نفر، رمزنگاری جداگانه هر پیام برای تک‌تک اعضا نیازمند هزاران عملیات رمزنگاری در ثانیه است. این حجم از پردازش، باتری گوشی را می‌بلعد و پهنای باند شبکه را مسدود می‌کند. تولید همین کلید زنجیره اولیه — و توزیع بعدی آن — همان سازوکاری است که بحران مقیاس‌پذیری ارتباطات گروهی امن را حل می‌کند.[2]

برای درک اینکه رمزنگاری گروهی واقعاً چگونه کار می‌کند، باید از اصطلاحات تبلیغاتی و پرزرق‌وبرقی مثل «رمزنگاری در سطح نظامی» عبور کنیم و ریاضیات زیربنایی آن را بسنجیم. در یک گفتگوی استاندارد دونفره، اپلیکیشن‌هایی مانند سیگنال (Signal) و واتس‌اپ (WhatsApp) از الگوریتم «چرخ‌دنده دوگانه» (Double Ratchet) استفاده می‌کنند. این پروتکل با تولید یک کلید رمزنگاری موقت و تازه برای هر تک‌پیام، «پنهان‌سازی کامل پیش‌رو» (Perfect Forward Secrecy) را تضمین می‌کند. به‌محض رمزگشایی پیام، کلید برای همیشه از هر دو دستگاه پاک می‌شود. اگر گوشی شما امروز هک شود، مهاجم نمی‌تواند پیام‌های دیروز را بخواند، چون کلیدهای آن‌ها دیگر وجود خارجی ندارند.[1]

این معماری جفت‌به‌جفت برای دو نفر بی‌نقص کار می‌کند، اما مقیاس‌پذیری ضعیفی دارد. اگر یک اپلیکیشن بخواهد از رمزنگاری جفت‌به‌جفتِ سخت‌گیرانه برای یک گروه استفاده کند، هزینه ارتباطی به‌صورت خطی بالا می‌رود — یک مشکل مقیاس‌پذیری O(N). ارسال تنها یک عکس به گروهی ۱۰۲۴ نفره، دستگاه فرستنده را مجبور می‌کند فایل را ۱۰۲۴ بار مجزا رمزنگاری کرده و ۱۰۲۴ متن‌رمز جداگانه را روی شبکه موبایل ارسال کند.[4]

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

در یک تحلیل فنی که در سال ۲۰۲۶ توسط Gopher Security منتشر شد، آمده است: «ما به نقطه‌ای رسیده‌ایم که بار پردازشیِ حفظ وضعیت گروه، از خود پیام‌های ارسالی پرهزینه‌تر شده است.» برای دور زدن این گلوگاه، صنعت فناوری به یک رویکرد ترکیبی به نام پروتکل «کلید فرستنده» (Sender Key) روی آورد؛ پروتکلی که اولین بار در سال ۲۰۱۴ توسط توسعه‌دهندگان سیگنال تشریح شد و بعداً واتس‌اپ در وایت‌پیپر رمزنگاری خود در سال ۲۰۱۶ آن را اقتباس کرد.[1][3][5]

در پروتکل کلید فرستنده، بار سنگین رمزنگاری کاملاً به همان لحظه پیوستن کاربر به چت منتقل می‌شود. عضو جدید یک کلید زنجیره ۳۲ بایتی تصادفی و یک کلید امضای Curve25519 تولید می‌کند. سپس با استفاده از همان پروتکل جفت‌به‌جفتِ پرهزینه، این بسته «کلید فرستنده» را به‌طور جداگانه برای ۱۰۲۳ عضو دیگر گروه ارسال می‌کند.[5]

در پروتکل کلید فرستنده، بار سنگین رمزنگاری کاملاً به همان لحظه پیوستن کاربر به چت منتقل می‌شود.

پس از تکمیل این توزیع اولیه، افزایش بهره‌وری چشمگیر است. وقتی کاربر می‌خواهد پیامی بفرستد، یک «کلید پیام» از کلید زنجیره خود استخراج کرده و محتوا را با استفاده از AES-256 در حالت CBC رمزنگاری می‌کند. او این رمزنگاری را فقط یک بار انجام می‌دهد. این تک‌متن‌رمز به سرور مرکزی ارسال می‌شود و سرور با انجام یک «توزیع سروری» (server-side fan-out)، داده‌های ناخوانا را برای تمام ۱۰۲۳ گیرنده کپی می‌کند.[2][5]

وایت‌پیپر سال ۲۰۱۶ واتس‌اپ توضیح می‌دهد: «فرستنده، کلید فرستنده را با استفاده از پروتکل پیام‌رسانی جفت‌به‌جفت، برای تک‌تک اعضای گروه به‌طور مجزا رمزنگاری می‌کند. برای تمام پیام‌های بعدی به گروه... فرستنده تنها یک پیام رمزنگاری‌شده را به سرور می‌فرستد و سرور توزیع سروری را انجام می‌دهد.» سرور بار پهنای باند را به دوش می‌کشد، اما چون هرگز کلید زنجیره ۳۲ بایتی را دریافت نکرده است، نمی‌تواند محتوای پیام‌ها را بخواند.[5]

برای حفظ پنهان‌سازی پیش‌رو بدون تحمیل بار پردازشیِ سنگینِ تبادل کلید کامل دیفی-هلمن (Diffie-Hellman)، این پروتکل از یک چرخ‌دنده درهم‌ساز متقارن استفاده می‌کند. هر بار که پیامی ارسال می‌شود، کلید زنجیره همراه با یک بایت ثابت (مثل 0x01) وارد یک تابع درهم‌ساز رمزنگاری (HMAC-SHA256) می‌شود تا کلید پیام تولید شود. سپس کلید زنجیره دوباره با 0x02 درهم‌سازی می‌شود تا خودش را به‌روز کند و وضعیت قبلی را برای همیشه از بین ببرد.[5]

این سازوکار از نظر ریاضیاتی ظریف و زیباست، اما یک مصالحه عمدی در دل خود دارد. از آنجا که کلید زنجیره فقط به‌صورت متقارن به جلو حرکت می‌کند، فاقد «امنیت پس از نفوذ» (post-compromise security) است. اگر مهاجمی کلید زنجیره فعلی کاربری را سرقت کند، نمی‌تواند پیام‌های گذشته را بخواند، اما می‌تواند تمام کلیدهای پیام آینده آن فرستنده خاص را تا زمانی که کلید بازنشانی شود، محاسبه کند.[3]

با این حال، مهم‌ترین نقطه ضعف این پروتکل، «رویداد خروج» است. وقتی عضوی گروه را ترک می‌کند، کلیدهای فرستنده فعلی را با خود می‌برد. برای جلوگیری از خواندن پیام‌های آینده توسط عضو خارج‌شده، کل وضعیت رمزنگاری گروه باید از بیخ و بن نابود و بازسازی شود.[2]

آسیب‌پذیری «رویداد خروج»: حذف یک عضو از یک گروه ۱۰۲۴ نفره، بیش از یک میلیون مذاکره مجدد و همزمان کلید را به همراه دارد.

تمام شرکت‌کنندگان باقی‌مانده باید کلیدهای فرستنده ذخیره‌شده خود را پاک کرده و کلیدهای جدیدی بسازند. در یک گروه ۱۰۲۴ نفره، این کار باعث ایجاد یک جهش ترافیکی O(N^2) می‌شود. بیش از یک میلیون عملیات تحویل کلید رمزنگاری‌شده مجزا باید به‌طور همزمان در سراسر شبکه اجرا شود تا صرفاً امنیت پایه اتاق چت دوباره برقرار گردد. این همان تاخیر کوتاه و نامرئی است که کاربران هنگام به‌روزرسانی لیست اعضای یک گروه بزرگ تجربه می‌کنند.[2][3]

با درک این محدودیت‌ها، جامعه رمزنگاری در حال حاضر به سمت استاندارد جدیدی به نام «امنیت لایه پیام‌رسانی» (MLS) در حال گذار است. این استاندارد که توسط کارگروه مهندسی اینترنت (IETF) تدوین شده، پروتکل خطی کلید فرستنده را با یک ساختار توافق کلید درختی جایگزین می‌کند و بار پردازشی تغییرات گروه را از زمان خطی به لگاریتمی کاهش می‌دهد. تا زمانی که این گذار کامل شود، پروتکل کلید فرستنده همچنان همان موتور نامرئی است که بزرگترین چت‌های گروهی جهان را سرپا نگه می‌دارد.[3]

چرا مهم است

درک نحوه کارکرد رمزنگاری گروهی، بده‌بستان‌های پنهان میان حریم خصوصی مطلق و عملکرد دستگاه را آشکار می‌کند؛ همان چیزی که معماری شبکه‌های ارتباطی مدرن را شکل می‌دهد.

اصطلاحات کلیدی

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

منابع

پوشش منابع

6 منبع

3 دیدگاه شناسایی‌شده

طرفداران خلوص رمزنگاری 35%مهندسان پلتفرم 35%مدافعان حریم خصوصی 30%
  1. [1]Signal Foundationمهندسان پلتفرم

    Private Group Messaging

    مطالعه در Signal Foundation
  2. [2]Mediumمدافعان حریم خصوصی

    Group Encryption: The Key Distribution Problem

    مطالعه در Medium
  3. [3]Gopher Securityطرفداران خلوص رمزنگاری

    Why Legacy Protocols Are Failing at Scale

    مطالعه در Gopher Security
  4. [4]Quarkslabطرفداران خلوص رمزنگاری

    A Look at Secure Group Messaging

    مطالعه در Quarkslab
  5. [5]Stack Exchangeمهندسان پلتفرم

    WhatsApp Security Whitepaper Analysis

    مطالعه در Stack Exchange
  6. [6]تیم سردبیری کوهستانمدافعان حریم خصوصی

    تحلیل تیم سردبیری کوهستان

    مطالعه در تیم سردبیری کوهستان

نظرات

همیشه در جریان باشید

هر زاویه. هر روز.

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