عالم الأمن السيبراني آخذٌ بالتوسع، لذا لا بد من الحفاظ على سلامة وسرية أنظمتنا وما يتضمنه ذلك من الحرص على قدرة أنظمة التشفير على تحقيق الأمن والأمان السيبراني. ومن أسس السلامة ما يعرف بمولدات الأعداد العشوائية التشفيرية (Cryptographic Random Number Generators). هذه المولدات أساسية لإقامة صُلب أنظمة التشفير القائمة والبروتوكولات الأمنية. مهمتها الأساسية توليد سلاسل من الأعداد العشوائية دون تكرار وهذا من شأنه تورية البيانات عن عيون الأطراف التي لا تملك الصلاحية للاطلاع عليها. وكذلك توظّفُ المولدات من هذا النوع في إنشاء مفاتيح التشفير المطلوبة في العديد من بروتوكولات الأمان.

فئات مولدات الأعداد العشوائية

1. أجهزة توليد الأعداد العشوائية (True Random Number Generators)

أول أنواع المولدات هو جهاز توليد الأعداد العشوائية، وهو جهاز يستنبط الأعداد اعتمادًا على الخصائص الفيزيائية التي يصعب التنبؤ بها بطبيعة الحال، ولذا يصعب إعادة توليد سلسلة الأعداد ذاتها. الخصائص الفيزيائية التي يحسبها الجهاز بدقة تشمل الضوضاء الجويّة أو الحرارية في الدارّات الكهربائية، وخصائصَ مثل الاضمحلال الإشعاعي، كل هذا يُمكّن المولد من ابتكار أعداد عشوائية من لدن الطبيعة.

2. مولدات الأعداد شبه العشوائية (Pseudorandom number generator)

مولدات الأعداد شبه العشوائية تستخدم خوارزميات حتمية من نوعٍ ما لتوليد الأعداد، لكنها تعتمد على قيمة بمثابة بذرة في تلك الحسابات وهذا يعني أن "ثمار" الحسابات لن تختلف إذا استخدمنا البذرة ذاتها. ولهذا يجب التناوب في المحاصيل وحماية قيمة البذور في كل دورة كي لا يتمكن أحدهم من توقع سلسلة الأعداد المولّدة.

هناك خاصية ثانية لهذا النوع من المولدات، ألا وهي أن التناوب لا يستمر إلى المالانهاية، مما يعني أن الدورة ستكتمل يومًا ما وسيعاد توليد نتيجة مسبقة، لكن هذا الحد النظري لا يثير القلق في الواقع لأن الفترة المطلوبة لنفاد السلاسل طويلة جدًا.

3. مولدات الأعداد شبه العشوائية الآمنة تشفيريًا (Cryptographically Secure Pseudorandom Number Generators)

مولدات الأعداد شبه العشوائية الآمنة تشفيريًا أو مولدات الأعداد العشوائية التشفيرية هو نوع خاص من مولدات الأعداد شبه العشوائية وهي مستخدمة بكثرة في خوارزميات التشفير. وهي مولدات تنتج أعدادًا لا يمكن التفريق بينها وبين أعداد عشوائية حقًا مما يعني أن المهاجم السيبراني لن يتمكن من التنبؤ بالأعداد التي ولّدتها حتى لو كشف أجزاءً من سلسلة الأعداد.

التصميم المتقن لمولدات الأعداد العشوائية التشفيرية يعتمد على الخصائص التالية:

1. الصعوبة بالتنبؤ

على المولد الكفؤ أن يُنتِج سلسلة أعدادٍ لا يمكن التنبؤ بها. كما أسلفنا، يجب أن يبدو الناتج من مولدات الأعداد العشوائية التشفيرية بأمان وكأنه سلسلة أعداد عشوائية تمامًا على صعيد الحوسبة، معنى هذا أن المهاجم حتى لو استعمل جهدًا حاسوبيًا جبارًا لما تمكّن من التمييز بين سلسلة أنتجتها المولدات وسلسلة عشوائية حقًا. يمكننا فحص هذه الظاهرة باستخدام "اختبار البِت التالية" والذي يَعتبِر السلسلة عشوائية فعلًا إذا لم تتمكن أي خوارزمية من التنبؤ بالبت التي تأتي بعد بتات أنتجها المولد باحتمالية تفوق 50%.

2. العشوائية الإحصائية

علاوة على صعوبة التنبؤ على مستوى التشفير، من الضروري أيضًا أن يتحلى ناتج المولدات العشوائية بمزايا العشوائية الإحصائية، وهي التي تضمن عدم انبثاق أنماطٍ واضحة، وبالتالي تضمن عدم القدرة على توقع الناتج إحصائيًا. وهناك اختبارات إحصائية تفحص ما إذا كانت نواتج المولدات عشوائيةً بما فيه الكفاية كي تخلو من الارتباطات الإحصائية.

هنا يبرز دور المعهد الوطني للمعايير والتقانة في الولايات المتحدة (National Institute of Standards and Technology) الذي ابتكر ونشر حزمة اختبارات (NIST SP 800-22) شاملة تفحص العشوائية الإحصائية للسلاسل العددية من هذا القبيل. الاختبارات تتفحص جوانب مثل تواتر البتات، وطول البتات المتشابهة والمتتالية، والمزيد من الأنماط الإحصائية المعقدة. وفي حال اجتازت السلسلة العددية الناتجة من المولد مثل هذه الاختبارات، فالنتيجة تؤكد لنا أن التوزيع الإحصائي منتظم، وبالتالي نعرف قدرة السلسلة على إخفاء الارتباط والانحياز الكامن فيها إن وُجِدا.

3. مقاومة هجمات فك التشفير

أي مولد عشوائي يتحلى بالصلابة عليه أن يتمكن من صد هجمات فك التشفير مثل "هجمة استغلال الثغرة في الحالة، وهي هجمة تأتي على أثر اكتشاف المهاجم جزئية من حالة المولد الداخلية فيسعى لاستغلال ما كُشِف، يتمكن المولد الكفؤ من تكوين سلسلة أعداد لا تسمح باستنتاج أي عدد قبل أو بعد حالة الانكشاف المذكورة. وتٌعرف السرية التي تخفي ما سبق الكشف بمصطلح السرية التامة للأمام (Forward Secrecy) بينما تعرف السرية التي تخفي أي ناتج مستقبلي بعد الكشف بمصطلح السرية التامة للخلف (Backward Secrecy).

كما يجب على المقاومة صد ما يُعرف باسم هجوم الطريق الجانبي، وهو هجوم يعتمد على التسريبات الجانبية الطفيفة أثناء عمل النظام، مثل توقيت المتغيرات و/أو درجة استهلاك الطاقة.

الخصائص الأساسية لمولدات عشوائية متقنة:

الخاصيةالوصف
الصعوبة بالتنبؤمن غير المجدي التنبؤ المحوسب بالنواتج المستقبلية، على سبيل المثال يجتاز اختبار البِت التالية.
العشوائية الإحصائيةالناتج موزع بشكل منتظم إحصائيًا ويجتاز الاختبارات الإحصائية المتقدمة (مثل الاختبارات في حزمة NIST SP 800-22)
السرية التامة للخلف (تصعيب التوقع)حتى لو تم اكتشاف مفتاح سري عُمل به لفترة طويلة، لا تتعرض سرية الاتصالات المشفرة مستقبلًا للخطر
مقاومة هجمات فك التشفيرالقدرة على تحمل هجمات رياضية وخوارزمية ضد تصميمه (هجمات القوة العمياء، هجمات فك التشفير التفاضلية)
مقاومة هجمات الطريق الجانبيتجنب آثار التسريبات من العتاد أو البرمجية أثناء التشغيل. (مثل التوقيت، استهلاك الطاقة، أنماط الوصول إلى ذاكرة التخزين المؤقت)

أصل العشوائية – الإنتروبيا

ما هي الإنتروبيا؟

تعد الإنتروبيا خاصية تقيس قلة الانتظام أو الفوضى في الأنظمة، وتشير إلى صعوبة توقع حدث عشوائي. الإنتروبيا المُعرَّفة بشكل جيّد تنشأ من حوادث في بيئة عشوائية وكلما زادت الإنتروبيا زادت معها صعوبة التنبؤ، وهي تقاس عادةً بالبِتات. يجب أن يتم توليد كل مفاتيح التشفير بدرجة عالية من الإنتروبيا، وكذلك الأمر بمُعرّفات الجلسات (sessions tokens)، وعند الحماية ضد الهجمات عبر الرد (replay attacks).

مصادر الإنتروبيا

يمكن تحصيل الإنتروبيا من عدة مصادر:

الإنتروبيا المعتمدة على العتاد (Hardware Based Entropy Sources):

هذا النوع يعتبر النموذج الأمثل لأنه يوظّف العشوائية المدمجة في العمليات الطبيعية. من الأمثلة على ذلك:

  • الأنشطة الطبيعية مثل الضوضاء الحرارية في الدارّات الكهربائية، والضوضاء الجويّة، والضوضاء الكهربائية، والاضمحلال الإشعاعي.
  • العتاد المصمم خصيصًا لهذه الغاية مثل وحدات معالجة مركزية وظيفتها العمل مثل مولدات الأعداد العشوائية أو شرائح متخصصة في قياس الإنتروبيا.

البرمجيات المصممة خصيصًا لقياس الإنتروبيا:

وهي أنظمة تشغيل تجمع أحداثًا عشوائية من أنشطة النظام على اختلافها ومن الضوضاء في المحيط مثل:

  • تفاعلات المستخدم مثل توقيت ضغطات المفاتيح وأي تغيّر طفيف في حركة الفأرة.
  • أنشطة النظام مثل العمليات الحاصلة على القرص الصلب (مثل توقيت أو أنماط الوصول للذاكرة) أو وصول رزم البيانات.

نشرة المعهد الوطني للمعايير والتقانة الخاصة بمولدات الأعداد العشوائية الحتمية (Deterministic Random Bit Generators)

نشرة (NIST SP 800-90A) توفّر التوصيات المفصّلة عن توليد الأعداد العشوائية في الأنظمة التشفيرية. وفي النشرة أيضًا تقنيات لتوليد الأعداد باستخدام المولدات ذات الطبيعة الحتمية وهي مولدات من فئة مولدات الأعداد العشوائية الآمنة تشفيريًا. تُعد المولدات الحتمية التي يمكن تصميمها وفق الإرشادات في هذه النشرة مقاومةً بأثر رجعي وهذا يعني أنها تتمتع بالسرية التامة في كلا الاتجاهين، أي أن النواتج السابقة لا يمكن كشفها إذا تم اكتشاف جزئية ما، وكذلك لا يمكن توقع النواتج اللاحقة إذا تم تبديل البذرة.

لنستكشف أنواع مولدات الأعداد العشوائية الحتمية

توصي النشرة المتخصصة المذكورة بثلاث آليات لمولدات عشوائية حتمية مستخدمة لغاية التشفير:

1. مولدات الهاش والتي تُصنع باستخدام دالة التجزئة (Hash_DRBG)

مثل خوارزمية هاش الآمنة 2 ولهذا تعتمد على الخصائص الآمنة في دالاّت الهاش، مثل مقاومة التصادمات في النتائج (collision resistance) ومقاومة هجمات التصور المسبق (preimage resistance).

يُعتبر هذا المولد الحتمي في المجمل نوعًا متينًا وفق المواصفات والتوقعات الأمنية للمعهد الوطني للمعايير والتقانة.

2. المولدات المصنعة وفقًا لرمز مصادقة الرسالة القائم على الهاش (HMAC_DRBG)

وهو يدمج دالة هاش التشفيرية مع مفتاح سري ما يوسّع هامش الأمان. لكنه يفتقد لخاصية السرية التامّة للأمام في حال استخدامه دون مدخلات إضافية.

3. المولدات التي تستعمل الكتل التشفيرية (CTR_DRBG)

مثل معيار التعمية المتقدم (AES) وهو يعمل في وضعية المكافحة، في هذه الوضعية يعتمد الأمان على قوة الكتلة المُستَعملة. ولكن على الرغم من شيوع استخدام هذه المولدات، لقد تبيّن أنها تحتوي على شوائب كبرى سببها العلاقة بين حجم كتلة التشفير وحجم المفتاح المطلوب، وهذا يقلل في نهاية المطاف من كفاءة المستوى الأمني.

نقاط الضعف العملية الشائعة والثغرات

البذور المتوقعة

في بعض الأحيان يسهل توقع قيمة البذور المُستخدَمة في البداية. وإن توقع المهاجم السيبراني تلك البذور فقد يتمكن من توقع كل الأعداد التي تنتج منها لاحقًا. هذه الثغرة تتكشف لو اعتمدت قيمة البذرة على ما هو متاح من معلومات النظام، مثل التوقيت أو هوية العملية.

هجمة الطريق الجانبي

تعد الهجمات من هذا النوع خطرًا محدقًا بمولدات الأعداد العشوائية التشفيرية، وهذه الهجمات كما ذكرنا سابقًا تستغل تسريب المعلومات من النظام الذي يستخدم المولد بدلًا من استغلال الأخطاء الموجودة في تصميم خوارزمية التشفير. لنأخذ بعض الأمثلة عن نوعية المعلومات المسربة، منها الخصائص الفيزيائية مثل استهلاك الطاقة ومنها ما يعتمد على البرمجيات مثل المتغيرات الزمنية أثناء تنفيذ العمليات ونمط الوصول إلى ذاكرة التخزين المؤقت. ومع ذلك، بالإمكان أن نقلّص من نسبة نجاح هذه الهجمات بشكل جذري باستخدام خوارزميات توحّد المواقيت، أي عبر جعل مدة تنفيذ العملية تعتمد على بيانات سرية لا يمكن توقعها، علاوة على ذلك يمكن تأخير بعض المواقيت الفيزيائية أو البرمجية عن قصد كي تصبح التسريبات المتعلقة بها لا تسمن ولا تغني المهاجم.

الخلاصة

بالمجمل، التصميم الجيد لمولد الأعداد العشوائية المشفرة لا يقتصر على صعوبة توقع الأعداد الناتجة، بالإضافة إلى ذلك لا بد من أن يتحمل المولد أكثر الهجمات شراسةً وتعقيدًا. عليه أولًا أن يقاوم التنبؤ المحوسب ليتفادى كشف النواتج العددية العشوائية حتى لو سخّر المهاجم موارد حوسبية جمّة. ثانيًا يجب توظيف الإنتروبيا بحكمة نظرًا لأنها تلعب دورًا جوهريًا في حماية مصداقية المولدات. وكذلك يجب الأخذ بعين الاعتبار هجمات الطريق الجانبي واحتمالية توقع قِيَم البذور لنذكر أن المسألة لا تخلو من شوائب خورازمية، ولغاية التغلب على نقاط ضعفٍ كهذه يجب التعمق في المعايير في المنشورات المخصصة مثل (NIST SP 800-22) والهدف هو تصميم مولدات أعداد عشوائية تشفيرية قادرة على اجتياز الاختبارات التي تقيس مدى انطباق تلك المعايير وهذا يعطينا مولدات بكفاءة عالية مما يجعل تصميم العالم الرقمي في الحفظ والصون.


 

 

المراجع

  1. Lark Suite. "Random Number Generator (RNG)." www.larksuite.com
  2. Number Analytics. "Securing Your Digital Communications with Digital Signatures." numberanalytics.com
  3. Twingate. "Random Number Generator (RNG)." twingate.com
  4. National Institute of Standards and Technology. NIST SP 800-90A
  5. Blue Goat Cyber. "Exploring True Randomness in Cryptography and Security." bluegoatcyber.com
  6. OWASP. "Insecure Randomness." owasp.org
  7. National Institute of Standards and Technology. "Deterministic Random Bit Generator." csrc.nist.gov
  8. Netdata. "Understanding Entropy: The Key to Secure Cryptography and Randomness." netdata.cloud