كيف تجعل البرامج غير قابلة للتشفير؟
بعد دراسات عديدة في معهد ماساتشوستس للتكنولوجيا عام 1996 للبحث في امكانية إخفاء آلية العمل لبرنامج حاسوبي ، حيث بمكن استخدام هذا البرنامج بدون معرفة الكيفية ، وهذا يعني تعتيم البرامج وتشويش الكود Software Obfuscating وهي الفكرة الموجودة منذ فترة طويلة ، ولكن الجديد هو انشاء نظام تعتيم قوي بوضع اطار رياضي .
قامت شركات البرمجة التجارية بابتكار تقنيات متعددة لتشويه آلية عمل البرامج (Garbling a Program)، مما يصعب فهمها أثناء أداء مهامها، ولكن لم تصمد أمام محاولات الاختراق، ولكن هذه التقنيات التجارية (Obfuscators) قدمتابتكارًا جديدًا وهو مطب السرعة (Speed bump) .
إن آلية تعتيم البرامج آمنة وستصبح مفيدة للعديد من التطبيقات مثل : حماية الباتشات ، تعتيم طريقة عمل الشرائح التي تقوم بقراءة أقراص الفيديو الرقمية المشفرة DVDs ، أو تشفير البرمجيات التي تتحكم بالطائرات العسكرية بدون طيار ، ومن المتوقع أن يصبح امكانية وكلاء افتراضيين يتميزون بتحكم ذاتي autonomous ، ويمكنهم ارسال للبيئة السحابية لتقوم بالأعمال بدلاً منهم .
وقد قام أحد طلاب معهد ماساتشوستس للتكنولوجيا في عام 1913 معتم غير قابل للتمييز Indistinguishability Obfuscator وهو مايعتبر ثورة هامة في عالم التشفير ، وهو عبارة عن بروكوتول مقترح لتعمية غير قابلة للتمييز Indistinguishability Obfuscation ، ويتضح تعريف المعتم بفكرة الصندوق الأسود ، والذي يقوم بالتشويش على أي برنامج يمر خلاله ، والذي يصعب على أي مخترق مهما كانت خبرته البرمجية ، وحتى بمعرفته المدخلات والمخرجات فلن يمكن معرفة قيمة كلمة المرور المخفية للبرنامج إلا إذا كانت كلمة المرور أحد مخرجات هذ البرنامج ، ولا يمكن اعادة تجميع أجزاء البرنامج للوصول لأي قيمة إلا بواسطة مصمم البرنامج .
وسيوفر الصندوق الأسود وسيلة لتحويل أي نظام تشفير خاص إلى نظام عام يستخدم عبر الإنترنت، أي أن التشفير هو مفتاح كل التشفيرات، ومن هنا ستكون التشفيرة غير قابلة للكشف هي الأفضل والأكثر نجاحا، وذلك عن طريق تعديل البرنامج وإصدار نسختين: النسخة الأصلية والنسخة المعدلة بواسطة التشفيرة غير القابلة للكشف لإضافة طبقة إضافية من التشويش، وبذلك تكون هذه التشفيرة هي الأفضل في إخفاء أسرار البرنامج .