كيف تجعل البرامج غير قابلة للتشفير؟

بعد دراسات عديدة في معهد ماساتشوستس للتكنولوجيا عام 1996 للبحث في امكانية إخفاء آلية العمل لبرنامج حاسوبي ، حيث بمكن استخدام هذا البرنامج بدون معرفة الكيفية ، وهذا يعني تعتيم البرامج وتشويش الكود Software Obfuscating وهي الفكرة الموجودة منذ فترة طويلة ، ولكن الجديد هو انشاء نظام تعتيم قوي بوضع اطار رياضي .

وقد قامت شركات البرمجة التجارية بابتكار تقنيات عديدة لتحريف آلية عمل البرامج Garbling a Program ، ليصبح من الصعب فهمه خلال أداء مهامه ، لكنه لم يصمد أمام محاولات الاختراق ، أما هذه المعتمات التجارية Obfuscators فتقدم الجديد ألا وهو مطب السرعة speed bump .

إن آلية تعتيم البرامج آمنة وستصبح مفيدة للعديد من التطبيقات مثل : حماية الباتشات ، تعتيم طريقة عمل الشرائح التي تقوم بقراءة أقراص الفيديو الرقمية المشفرة DVDs ، أو تشفير البرمجيات التي تتحكم بالطائرات العسكرية بدون طيار ، ومن المتوقع أن يصبح امكانية وكلاء افتراضيين يتميزون بتحكم ذاتي autonomous ، ويمكنهم ارسال للبيئة السحابية لتقوم بالأعمال بدلاً منهم .

وقد قام أحد طلاب معهد ماساتشوستس للتكنولوجيا في عام 1913 معتم غير قابل للتمييز Indistinguishability Obfuscator وهو مايعتبر ثورة هامة في عالم التشفير ، وهو عبارة عن بروكوتول مقترح لتعمية غير قابلة للتمييز Indistinguishability Obfuscation ، ويتضح تعريف المعتم بفكرة الصندوق الأسود ، والذي يقوم بالتشويش على أي برنامج يمر خلاله ، والذي يصعب على أي مخترق مهما كانت خبرته البرمجية ، وحتى بمعرفته المدخلات والمخرجات فلن يمكن معرفة قيمة كلمة المرور المخفية للبرنامج إلا إذا كانت كلمة المرور أحد مخرجات هذ البرنامج ، ولا يمكن اعادة تجميع أجزاء البرنامج للوصول لأي قيمة إلا بواسطة مصمم البرنامج .

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