علم التشفير … هل يمكن أن تصبح البرامج غير قابلة للاختراق؟

علم التشفير ... هل يمكن أن تصبح البرامج غير قابلة للاختراق؟ 1
4

“علم التشفير هو علم دراسة وممارسة إخفاء المعلومات”

 

كطالب دراسات عليا في معهد ماساتشوستس للتكنولوجيا في عام 1996، كان أميت ساهاي مأخوذاً بفكرة غريبة ألا وهي برهان “المعرفة الصفرية  (zero-knowledge)”،  والذي هو نوع من البروتوكول الرياضي لإقناع شخص ما أن شيئاً صحيحاً دون الكشف عن أي تفاصيل أو أسباب.

بحث ساهاي في سبل تطوير هذا المفهوم المتناقض، مما قاده إلى النظر بمفهوم أكثر جرأة: ماذا لو كان من الممكن إخفاء آلية العمل الداخلية لبرنامج حاسوبي، بحيث يستطيع الناس استخدام ذلك البرنامج دون معرفة الكيفية؟

حيث أن فكرة تعتيم البرامج أو تشويش الكود (Software Obfuscating) كانت موجودة منذ عقود من الزمن، ولكن طوال تلك المدة لم يستطع أي أحد على الإطلاق من وضع إطار رياضي دقيق لهذا المفهوم، ناهيك عن إنشاء نظام تعتيم منيع.

على مر السنين، قامت شركات البرمجيات التجارية بهندسة تقنيات مختلفة لتحريف آلية عمل البرامج (Garbling a Program) ،لكي يصبح من الصعب فهمه بينما يقوم بأداء مهامه، لكن المخترقين استطاعوا إفشال كل تلك المحاولات.

وفي أفضل الأحوال، تقدم هذه المعتّمات التجارية (Obfuscators)  ما يسمى “مطب سرعة (speed bump)” لا أكثر. قال ساهاي الذي أصبح الآن استاذاً في علوم الحاسوب بجامعة كاليفورنيا- لوس أنجلوس:

“قد يحتاج المخترق عدة أيام بدلاً من بضع دقائق لكشف الأسرار المخبأة في برنامجك ”  – أميت ساهاي

إن آلية تعتيم برامج آمنة وموثوقة ستكون مفيدة جداً للعديد من التطبيقات مثل: حماية الباتشات (Software Patches)، تعتيم طريقة عمل الشرائح التي تقوم بقراءة أقراص الفيديو الرقمية (DVDs) المشفرة، أو تشفير البرمجيات التي تتحكم بالطائرات العسكرية بدون طيار.

مستقبلاً، ربما ستمكن الناس من إنشاء وكلاء افتراضيين يتميزون بتحكم ذاتي (autonomous)، يمكن إرسالهم إلى البيئة السحابية المحوسبة لكي تقوم بالأعمال نيابةً عنهم.

“على حد علمي، باستثناء الخيال العلمي، لم يُنظر إلى هذا الموضوع بجدية قبل إتمام عملنا هذا” – أميت ساهاي

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

“إنه حقاً عالمي، فهو لا يعتمد على نظام تشغيل محدد أو أجهزة مادية أو حتى معمارية حاسوب محددة” – أميت ساهاي

2

طور أميت ساهاي وزملاؤه معتِّماً غير قابل للتمييز ” Indistinguishability Obfuscator” والذي يراه الكثيرون طفرة هامة في عالم التشفير.

في 20 يوليو عام 2013، قام ساهاي وثلاثة من المؤلفين المساهمين بنشر بحث عن التشفير في (Cryptology ePrint Archive) عرضوا فيه بروتوكول مقترح لنوع من التعمية يعرف بـ “التعمية الغير قابل للتمييز (Indistinguishability Obfuscation) ” .
وبعد مضيّ يومين، نشر ساهاي وأحد المؤلفين المساهمين معه بحثاً آخر يقترح فيه بالاستناد مع البحث الأول أنّ هذا النموذج الغامض من التعمية قد يمتلك الكثير من القوة التي يحلم بها علم التشفير.

في الأشهر الستة منذ أول بحث تم نشره، ظهرت العديد من الأبحاث على (Cryptology ePrint Archive) تحمل عنوان “التعمية” أكثر بكثير من الأعوام الـ 17 الماضية. لكن على الرغم من ذلك، فإنّ “النظام الجديد للتعتيم” مازال بعيداً جداً عن الظهور في التطبيقات التجارية.

يعتبر الباحثون أنّ هذا العمل الجديد لحظةٌ فاصلة في علم التشفير، فبالنسية للعديد من الباحثين، تحوّل النقاش من “هل هذا النوع من التعمية ممكناً؟” إلى “كيف نجعله واقعاً؟”، حيث قال ليونارد شولمان من معهد كاليفورنيا للتكنولوجيا:

“قبل ست أو سبع سنين، كان يمكن أن تتأمل هذ السؤال فقط وتتساءل إن كنت ستعرف الإجابة أبداً، لكن ما ظهر حديثا لهو شيء عظيم جداً”.

أقوى من أن تكون موجودة:

يدور علم التشفير الحديث حول الانتقال من الخاص إلى العام” – أميت ساهاي

3

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

فلنأخذ على سبيل المثال، “تشفير المفتاح المعلن” (Public Key Encryption) الذي طور عام 1970 ومهّد الطريق للتجارة الإلكترونية على الإنترنت.  كان سبب انشائها هو أنّ اثنين من الناس أرادوا التواصل مع بعضهم البعض بشكل سري، ولذلك كان عليهم أن يختاروا نظام تشفير ويتبادلو فيما بينهم مفتاحاً سرياً لتشفير وفك تشفير الرسائل .

 سيوفر معتّم الصندوق الأسود وسيلة لتحويل أي نظام تشفير خاص على الفور إلى نظام عام يستخدمه الغرباء عبر الإنترنت. بمعنى آخر، فإنّ التعمية هو المفتاح لكل التشفيرات.

تمنحك التعمية قدرةً مميزة على الانتقال بين عالمي التشفير الخاص والعام والذي كنا نظنه بالأساس وعلى مدى عقود  أمراً مختلفاً – “أميت ساهاي

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

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

برامج أحاجي الصور المقطوعة:

 

4

طرح ساهاي وباراك وزملاؤهم تعريفاً واحداً لنوع أضعف من “التعمية” في بحثهم عام 2001 مقتصر على مفهوم أكثر غموضاً يدعى بـ “التعمية” الغير قابل للتمييز(Indistinguishability Obfuscation) بعد بضع سنوات من العمل والذي كان من قبل يعتبر نوعاً ضعيفاً من أنواع “التعمية”.

 وفي عام 2007، أثبت كل من شافي غولدفاسر من معهد ماساتشوستس للتكنولوجيا وغاي روثبلوم من مركز أبحاث مايكروسوفت أنّ “التعمية الغير قابل للتمييز” سيكون أفضل معتّم ممكن، إن نجح العلماء ببنائه.

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

في خريف 2012، بدأ ساهاي بالتعاون مع زملاءه بالعمل على مشكلة سميت بـ “التشفير الوظيفي (Functional Encryption)”، والذي يتعامل مع كيفية إعطاء أشخاصٍ مختلفين درجات نفاذ محددة إلى البيانات المشفرة.
وبعد فترة طرح الأفكار ومن ثم إلغاءها والعودة من جديد إلى التصاميم الأولى التي قام ساهاي بتسميتها بـ “”فترة التوتر الشديدة التي لا تصدق”، تمكن الفريق في ربيع 2013 بحل المشكلة
بشكلٍ معقّد نوعاً ماً.

بعد ذلك وبينما حاول الباحثون أن يقوموا بتبسيط تصميمهم، اكتشفوا أنه تجاوز ما كان متوقعاً بكثير: فلقد قدّم وسيلةً لتنفيذ “التعمية الغير قابل للتمييز” على جميع برامج الحاسوب.

“إنها لحظة لن أنساها أبداً – أميت ساهاي

تابع ساهاي وواترز بإظهار أنّ “المعتّم الغير قابل للتمييز” الذي قاموا بإنشائه يقدم الكثير من الحماية والتشفير الشامل التي يمكن أن يقدمها صندوق التعمية الأسود.
فعلى سبيل المثال، يمكن أن تستخدم في إنشاء مفتاح تشفير عام، والتواقيع الرقمية (والتي تمكّن المواقع الإلكترونية من إقناع زائريه أنه قانوني) والعديد من برتوكولات التشفير الأخرى.

“يمكنك الحصول على إجابة محددة، ولا تستطيع الوصول إلى أي شيء آخر” – أميت ساهاي

يعمل “المعتّم” الذي أنشأه الفريق من خلال تحويل برنامج الحاسوب إلى ما دعاه ساهاي بـ “أحجية الصور المقطوعة المتعددة الخطية (Multilinear Jigsaw Puzzle)”.
حيث أنّ كل قطعة من البرنامج يتم “تعتيمها” من خلال مزج عناصرَ عشوائيّة، والتي تم اختيارها بدقة حتى إذا قمت بتشغيل برنامج محرَّف كما يجب، فإن العشوائية ت
ُلغى والقطع تتناسب مع بعضها لتقدم بالنهاية الخرج الصحيح.
لكن إن كنت تحاول أن تفعل أي شيء آخر في البرنامج، فإن العشوائية تجعل كل قطعة لغز مفردة تبدو بلا معنى
.
يمكن أن يسمح هذا للمستشفيات أن تشارك نتائج علاج مرضاها مع الباحثين دون تحديد معلومات المريض الشخصية
.

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

5

أظهر الفريق أن نظام التعمية هذا غير قابلٍ للاختراق، ولكن من الممكن أن تتمكن التقنيات المطورة مستقبلاً في الرياضيات الحوسبية من هدم هذه الأسطورة، فلا أحد يعلم ما يخفيه المستقبل لنا.

استطاع المعتّم المقترح بالفعل من تغيير آراء العديد من المشفرين عن “تعتيم البرامج”، حيث قال دانييل ميكيانسيو من جامعة كاليفورنيا- سان دييغو:يبدو أنّ المشكلة لم تكن مستحيلة الحل!”.

وراء هذه المهمة الملّحة في تطوير بروتوكول التعمية الذي قام الفريق بإنشائه يكمن سؤالٌ أعمق:
إذا كانت مشكلة التعمية قد تم إيجاد حل لها، ما الذي قد يبقى للمشفرين؟

“ما هي حدود التشفير الرئيسية المقبلة التي لم يتم إيجاد حل لها، على الأقل من حيث المبدأ، من قبل التعمية؟

هذا أحد الأسئلة الكبرى لمجال عملنا  – أميت ساهاي

برأيكم، هل يمكن أن يكون نظام التشفير هذا قابلاً للاختراق فعلاً، على الأقل للأعوام المقبلة؟

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

شاركونا بآرائكم
المصادر:
المصدر١
المصدر٢

مصادر الصور:

صورة المقدمة

صورة ساهاي

صورة الانتقال من العالم الخاص إلى العام

أحاجي البرامج 

صورة الهيكل العظمي  

إعداد موقع الباحثون السوريون

4

شاركنا رأيك حول "علم التشفير … هل يمكن أن تصبح البرامج غير قابلة للاختراق؟"

  1. Mohamed Ibrahim

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

  2. Aiman Mutasem-bellh

    مقال مفيد جداً بارك الله فيكم . إختبار الخوارزميه بإستخدام طرق فك التشفير الحاليه بأي حال من الاحوال لايعني أنها غير قابله للاختراق لاكن بدون شك ستكون أقوي طرق التشفير …

  3. Mohamed AL-Batni

    المقال مبهم و ملىء بالتفاصيل التقنية الصعبة و بعيد عن التبسيط
    ألا يوجد مثال بسيط عملي تقريبي و كيف يتم ذلك عمليا على برامج الحاسوب
    ما الذي يقصد من هذا العلم ؟
    مثلا ما فهمته نسبيا من هذا المقال , و كمثال عملي
    أن الهندسية العكسية تقوم بتحليل البرامج لإختراقها و إنتاج باشات و كراكات
    هل معنى التعمية أن يتم تشفير هذه البرامج , حتى إذا ما حاول شخص ما اختراقها لا يجد إلا أوامر غير مفومة و بدون معنى
    لكن في نهاية المطاف البرنامج يعمل عمله بشكل عادي .
    أو بمثال آخر
    أنك ترى سيارة تسير , لكن عندما تلقي نظرة على المحرك ترى قطع معدنية مركبة بشكل ليس له معنى , من المستحيل أن يجعل هذه السيارة تسير
    لكن في نفس الوقت ترى أن هذه السيارة تسير بشكل عادي .

أضف تعليقًا