0Pricing
Cryptology Academy · درس

حادثة الباب الخلفي في Dual EC DRBG

راجعوا فضيحة Dual EC DRBG الذي احتوى على باب خلفي من NSA، وما تكشفه عن مخاطر توحيد معايير التشفير.

حادثة الباب الخلفي في Dual EC DRBG درس مجاني في Cryptology Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cryptology Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cryptology Academy 4 دروس في المجموع.

ما هو Dual EC DRBG

كان Dual Elliptic Curve Deterministic Random Bit Generator (Dual EC DRBG) واحدًا من أربعة DRBGs التي وحّدها NIST في SP 800-90A (عام 2006). ويولّد بتات شبه عشوائية باستخدام نقطتين على منحنى إهليلجي، P وQ؛ ففي كل خطوة يحسب r_i = x(s_i * P) (الإحداثي x لعملية ضرب النقاط)، ثم يحدّث الحالة عبر s_{i+1} = x(r_i * P)، ويولّد البتات عبر output = x(r_i * Q). وبدا المولّد مشروعًا في الصياغة الأكاديمية. وقد أُدرج في NIST SP 800-90A، ثم اعتمدته RSA Security لاحقًا بوصفه الخيار الافتراضي في مكتبتها التشفيرية BSAFE، مما أدى إلى انتشاره في البرمجيات المؤسسية والحكومية.

رياضيات الباب الخلفي

يستغل الباب الخلفي في Dual EC DRBG العلاقة بين P وQ. فإذا عرف الخصم عددًا سريًا e بحيث Q = e * P، فعندئذ يمكنه، انطلاقًا من أي كتلة مخرجات، حساب ما يلي: من output = x(r * Q)، يجري بحثًا شاملًا عن الإحداثي y للنقطة r*Q، ثم يحسب r*P = (1/e) * (r*Q) mod n. ومن r*P يستطيع التنبؤ بجميع المخرجات المستقبلية واستعادة الحالة الداخلية. وتمثل معرفة e الباب الخلفي؛ فهي مكافئة للوغاريتم المتقطع لـ Q بالنسبة إلى P. وقدّم معيار NIST قيم P وQ من دون توضيح كيفية اختيارهما، مما جعل التحقق من توليدهما عشوائيًا من دون قيمة سرية مخفية أمرًا مستحيلًا.

التحذير الأكاديمي المبكر: شومو وفيرغسون

في أغسطس 2007، قدّم دان شومو ونيلز فيرغسون بحثًا محوريًا في جلسة Rump ضمن مؤتمر CRYPTO بعنوان "حول إمكانية وجود باب خلفي في NIST SP800-90 Dual Ec Prng". وأثبتا رسميًا أنه إذا عرف شخص ما قيمة e (أي ECDLP لـ Q بالنسبة إلى P)، فسيتمكن من التنبؤ بكل مخرجات Dual EC DRBG بعد الحصول على نحو 32 بايتًا من المخرجات. وقد برهنا على ذلك باستخدام مثال مبسط. ولاحظ مجتمع التشفير عرضهُما على نطاق واسع. وكتب بروس شناير: "لا توجد لدينا وسيلة لمعرفة ما إذا كانت وكالة الأمن القومي NSA قادرة على قراءة مخرجات Dual_EC_DRBG أم لا." وعلى الرغم من هذا التحذير، ظل Dual EC DRBG جزءًا من المعيار لمدة ست سنوات أخرى.

وثائق سنودن: التأكيد

في سبتمبر 2013، نشرت The New York Times وThe Guardian وProPublica تقارير استنادًا إلى وثائق سرّبها إدوارد سنودن، كشفت أن وكالة الأمن القومي NSA أدخلت ثغرات سرًا في معايير التشفير. وصفت إحدى الوثائق، المعنونة "Sigint Enabling Project"، برنامجًا تبلغ ميزانيته 250 مليون دولار سنويًا يهدف إلى "التأثير سراً" في معايير ومنتجات التشفير. وعلى الرغم من أن الوثيقة لم تذكر Dual EC DRBG صراحةً، خلص مجتمع التشفير على نطاق واسع، بالجمع بينها وبين البرهان الرياضي الذي قدّمه شومو وفيرغسون، إلى أن وكالة الأمن القومي NSA أضافت الباب الخلفي باختيار P وQ مع وجود علاقة معروفة بينهما هي e، ثم أبقت e سرًا وقدّمت الثوابت إلى NIST.

RSA Security والعقد البالغ 10 ملايين دولار

أفادت Reuters في ديسمبر 2013 بأن وكالة الأمن القومي NSA دفعت لشركة RSA Security مبلغ 10 ملايين دولار لجعل Dual EC DRBG الخيار الافتراضي في حزمة أدوات التشفير BSAFE التابعة لـ RSA. وكانت RSA Security، التي كانت آنذاك قسمًا من EMC، توزّع BSAFE ضمن برمجيات مؤسسية تستخدمها المؤسسات المالية وشركات الرعاية الصحية والمتعاقدون الحكوميون. ونفى بيان RSA Security تنفيذ باب خلفي مع العلم به، لكنه أقر بقبول العقد. وكان لهذا الكشف أثر بالغ الضرر؛ إذ جرى تسويق BSAFE باعتباره منتجًا أمنيًا، وقد اختاره عملاؤه تحديدًا لضماناته التشفيرية. وألحق الحادث ضررًا شديدًا بسمعة RSA Security، وأدى إلى مقاطعة مؤتمرات RSA في عام 2014.

استجابة NIST وسحب المعيار

بعد كشوفات سنودن، اتخذت NIST عدة إجراءات. ففي سبتمبر 2013، أعادت NIST فتح SP 800-90A لتلقي التعليقات العامة، وأوصت بعدم استخدام Dual EC DRBG ريثما تستمر المراجعة. وفي أبريل 2014، نشرت NIST الإصدار 1 المنقح من SP 800-90A، وأزالت Dual EC DRBG بالكامل؛ فلم يتبقَّ سوى Hash_DRBG وHMAC_DRBG وCTR_DRBG. كما أطلقت NIST مراجعة لجميع معاييرها وإرشاداتها التشفيرية، مع فحص محدد لما إذا كان تأثير وكالة الأمن القومي NSA قد أضر بمعايير أخرى. وأُنشئت مجموعة العمل الخاصة بعملية NIST للمعايير والإرشادات التشفيرية لزيادة الشفافية والمشاركة العامة في جهود وضع المعايير مستقبلًا.

الأثر في الثقة بالتشفير

كان للباب الخلفي في Dual EC DRBG آثار عميقة في ثقة مجتمع التشفير بهيئات وضع المعايير. فقد أثبت أن وكالة استخبارات وطنية مستعدة لإضعاف معايير التشفير المستخدمة عالميًا عمدًا، بما يؤثر ليس في الخصوم فحسب، بل في الحلفاء والشركات والمواطنين العاديين أيضًا. وسرّع الحادث اعتماد خوارزميات مفتوحة وقابلة للتدقيق تستخدم أرقامًا من نوع NUMS: فقد استخدمت Keccak، ضمن SHA-3، خوارزمية موثقة لاشتقاق ثوابتها؛ ويشتق BLAKE2 وBLAKE3 ثوابتهما من الأجزاء الكسرية للثوابت الرياضية؛ ويستخدم Curve25519 عددًا أوليًا (2^255 - 19) اختير تحديدًا ليكون قابلًا للتدقيق. وأصبح توليد معلمات المنحنيات الإهليلجية بطريقة "عشوائية قابلة للتحقق" ممارسة معيارية.

أرقام «لا شيء مخفي في كُمّي»

شَهَّرت فضيحة Dual EC DRBG بمفهوم ثوابت "لا شيء مخفي في كُمّي" (NUMS)، وهي معلمات تشفيرية مولّدة من مصادر قابلة للتحقق علنًا ولا يمكن أن تحتوي على أبواب خلفية مخفية. ومن أمثلتها: يستخدم SHA-2 قيم تجزئة ابتدائية مشتقة من الجذور التربيعية لأول 8 أعداد أولية، وثوابت جولات مشتقة من الجذور التكعيبية لأول 64 عددًا أوليًا. ويشتق BLAKE2 ثوابته من التوسعات الكسرية للعدد pi وثوابت رياضية أخرى. ويستخدم Ed25519 العدد الأولي 2^255 - 19 ونقطة أساس يُثبت أن لوغاريتمها المتقطع بالنسبة إلى أي نقطة أخرى غير معروف؛ إذ اختيرت نقطة الأساس بوصفها ناتج تجزئة سلسلة نصية. وتتيح هذه الممارسات لأي شخص التحقق من أن الثوابت لم تُختر بناءً على معرفة سرية.

Dual EC في المنتجات الفعلية: حادثة Juniper

في ديسمبر 2015، كشفت Juniper Networks عن وجود تعليمات برمجية غير مصرّح بها في ScreenOS، وهو نظام تشغيل جدارها الناري، منذ عام 2012. وأظهر التحقيق وجود بابين خلفيين: استبدل أحدهما ثابت Q في Dual EC DRBG بقيمة يتحكم بها المهاجم، مما مكّن المهاجم الذي يعرف قيمة e المقابلة من فك تشفير حركة مرور VPN؛ وكان الباب الخلفي الثاني في كلمة مرور الإدارة الخاصة بـ SSH. وكان استبدال Q في Dual EC متطورًا على نحو خاص؛ فقد كانت Juniper تستخدم أصلًا قيمة Q غير معيارية، ثم استبدلها المهاجم بقيمته الخاصة، مستغلًا بنية الباب الخلفي في Dual EC مرتين. وأثبت ذلك أن حتى التطبيقات التي تحيد عن قيم NIST لـ P وQ يمكن مهاجمتها من جانب أي شخص يضع قيمة Q الخاصة به.

دروس لوضع المعايير التشفيرية

يقدم حادث Dual EC DRBG عدة دروس. (1) الشفافية: يجب أن تكون للمعلمات التشفيرية أصول قابلة للتحقق؛ فالثوابت التي لا تتوفر لها وثائق اشتقاق موضع شك. (2) تصميم الخوارزميات: ينبغي ألا تحتوي الخوارزميات على بنيات يمكن أن تخفي أبوابًا خلفية؛ فعلاقة Q/P في Dual EC لا تقدم أي فائدة أمنية مقارنة بتصميمات DRBG الأبسط. (3) تضارب المصالح: يجب على هيئات وضع المعايير إدارة تضارب المصالح مع وكالات الاستخبارات بصرامة. (4) مراجعة المجتمع: ينبغي تمكين علماء التشفير الأكاديميين من إثارة المخاوف قبل نشر المعايير، لا بعد ذلك. (5) اليقظة عند النشر: ينبغي للمؤسسات تدقيق مولدات DRBG التي تستخدمها مكتباتها التشفيرية وإزالة الخيارات غير الموصى بها استباقيًا.

مشهد مولدات DRBG بعد إزالة الباب الخلفي

بعد إزالة Dual EC، استقر مشهد مولدات DRBG الموصى بها حول Hash_DRBG وHMAC_DRBG وCTR_DRBG. كما اعتمد مجتمع المصادر المفتوحة مولدات DRBG غير التابعة لـ NIST في السياقات التي لا تحظى فيها معايير NIST بالثقة؛ إذ يُنظر على نطاق واسع إلى مولدات الأرقام العشوائية القائمة على ChaCha20، والمستخدمة في نواة Linux منذ الإصدار 5.17 وفي OpenBSD وlibsodium، على أنها مقاومة للأبواب الخلفية، لأن ChaCha20 عبارة عن تشفير تدفقي بسيط لا يحتوي على بنيات أبواب خلفية. وتسبق Fortuna، المستخدمة في FreeBSD والإصدارات الأقدم من macOS، معيار SP 800-90A، ولا تزال موثوقة. كما جدّد حادث Dual EC الاهتمام بمولدات الأرقام العشوائية العتادية (RDRAND) بوصفها مصادر للإنتروبيا، مع أن RDRAND واجه بدوره اتهامات بإمكانية زرع باب خلفي فيه، مما أدى إلى التوصية بمزج RDRAND مع إنتروبيا برمجية بدل استخدامه حصريًا.

اختبار الباب الخلفي في Dual EC

ما العلاقة الرياضية التي تُمكّن الباب الخلفي في Dual EC DRBG؟

مراجعة الباب الخلفي في Dual EC DRBG

اعتُمد Dual EC DRBG ضمن NIST SP 800-90A في عام 2006. وأثبت شومو وفيرغسون في عام 2007 أن معرفة e، حيث Q=e*P، تتيح التنبؤ بكل المخرجات انطلاقًا من 32 بايتًا. وأكدت تسريبات سنودن في عام 2013 تأثير وكالة الأمن القومي NSA في معايير التشفير. وتلقى RSA Security، حسبما أُفيد، مبلغ 10 ملايين دولار لجعل Dual EC الخيار الافتراضي في BSAFE. وأزالت NIST Dual EC في الإصدار 1 المنقح من SP 800-90A عام 2014. وأظهر حادث Juniper عام 2015 استغلال الباب الخلفي في منتج فعلي. وتشمل الدروس المستفادة ثوابت NUMS، والاشتقاق الشفاف، وإدارة تضارب المصالح، وعمليات التدقيق بعد وضع المعايير. وبرزت مولدات الأرقام العشوائية القائمة على ChaCha20 بوصفها بديلًا موثوقًا.

الأسئلة الشائعة

هل درس «حادثة الباب الخلفي في Dual EC DRBG» مجاني؟

نعم — نص درس «حادثة الباب الخلفي في Dual EC DRBG» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cryptology Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Cryptology Academy 4 دروس في المجموع.

ماذا ستتعلم في «حادثة الباب الخلفي في Dual EC DRBG»؟

راجعوا فضيحة Dual EC DRBG الذي احتوى على باب خلفي من NSA، وما تكشفه عن مخاطر توحيد معايير التشفير. تتمرن على Cryptology Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Cryptology Academy؟

لا تُشترط خبرة سابقة. Cryptology Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «حادثة الباب الخلفي في Dual EC DRBG»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Cryptology Academy هذا؟

نعم. كل درس في Cryptology Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. NIST SP 800-90A: معايير DRBG
  2. الأسس الداخلية لـ Hash-DRBG وHMAC-DRBG وCTR-DRBG
  3. حادثة الباب الخلفي في Dual EC DRBG
  4. اختبار تطبيقات RNG والتحقق منها
← العودة إلى Cryptology Academy