فهم التشفير
(١) مقدمة
في هذا الفصل نقدِّم المصطلحات والمفاهيم الأساسية للتشفير. هدفنا أن يتَّسم عرضنا بشيء من التبسيط، وأن نقدِّم أكبر صورة عامة ممكنة عن الموضوع.
(٢) المصطلحات الأساسية
تتمثل فكرة أي نظام تشفير في إخفاء المعلومات السرية بطريقة يصبح من خلالها معناها غيرَ مفهوم بالنسبة إلى أي شخص غير مصرَّح له بالاطلاع عليها. يتمثل الاستخدامان الأكثر شيوعًا للتشفير في تخزين البيانات بأمان في ملف كمبيوتر أو نقْلها عبر قناةٍ غير آمنة مثل الإنترنت. في كلتا الحالتين، حقيقةُ كون المستند مشفرًا لا تمنع الأشخاص غير المصرَّح لهم بالوصول إليه، ولكنها تضمن عدم تمكُّنهم من فهم ما يرونه.
غالبًا ما يطلَق على المعلومات المُراد إخفاؤها اسمُ «النص الأصلي»، فيما يطلق على عملية إخفائها اسم «التشفير». ويطلق على النص الأصلي المشفَّر اسم «النص المشفَّر» أو «بيان التشفير»، كما يطلق على مجموعة القواعد المستخدمة في تشفير معلومات النص الأصلي «خوارزمية التشفير». عادةً، تعتمد هذه الخوارزمية على «مفتاح التشفير»؛ وهو يمثل مدخلًا لها بالإضافة إلى الرسالة. وحتى يتمكن المتلقي من استرجاع الرسالة من خلال النص المشفَّر، يجب أن تتوافر «خوارزمية فك التشفير» التي، عند استخدامها مع «مفتاح فك التشفير» المناسب، تسترجع النص الأصلي من النص المشفَّر.
بوجه عام، تعتبر مجموعة القواعد التي تؤلِّف إحدى هذه «الخوارزميات التشفيرية» معقدة للغاية وتحتاج إلى التصميم بعناية. بيْد أنه في إطار أهداف هذا الكتاب، يمكن للقارئ النظرُ إلى هذه الخوارزميات على أنها «صِيَغ سحرية» تحوِّل البيانات إلى صورة غير مقروءة بمساعدة مفاتيح التشفير.
يبيِّن الشكل التالي وصفًا تخطيطيًّا لاستخدام أحد «أنظمة التشفير» لحماية رسالة منقولة:
يطلق على كلِّ مَن يعترض رسالة خلال انتقالها اسم «مُعترض». هذا، ويستخدم مؤلفون آخرون أسماء أخرى، مثل «متنصِّت»، و«خصم»، و«غريم»، و«شخص سيئ». إلا أنه يجب الإشارة إلى أن المعترضين يمكن أن يكونوا «أشخاصًا طيبين» في بعض الأحيان، وهو ما سوف نتحدث عنه بمزيد من التفصيل لاحقًا. وحتى إن علم المعترضون بخوارزمية فك التشفير، فإنهم في العموم لا يعرفون مفتاح فك التشفير. ومن المأمول أن تَمنع عدم المعرفة هذه المعترضين من معرفة النص الأصلي. وعلم «التشفير» هو علم تصميم أنظمة التشفير، بينما يشير «تحليل النص المشفَّر» إلى العملية التي يجري من خلالها استنباط المعلومات حول النص الأصلي دون معرفة مفتاح التشفير المناسب. أما علم «التعمية» فهو مصطلح جامع يشمل كلًّا من التشفير وتحليل النص المشفر.
من الأهمية بمكان معرفة أن تحليل النص المشفَّر قد لا يكون الوسيلة الوحيدة التي يستطيع بها الطرفُ المعترض الاطلاعَ على النص الأصلي.
هَبْ — على سبيل المثال — أن أحد الأشخاص يخزِّن البيانات المشفَّرة على جهاز الكمبيوتر المحمول؛ بداهةً، يحتاج هذا الشخص إلى طريقةٍ ما لاسترجاع مفتاح فك التشفير لقراءة المعلومات المخزَّنة. إذا تضمن ذلك كتابة هذا المفتاح على ورقة يلصقها على غطاء جهاز الكمبيوتر المحمول، فسيحصل أي شخص يسرق جهاز الكمبيوتر على المفتاح دون حاجة إلى إجراء عملية تحليل للنص المشفَّر. يعتبر هذا المثال نموذجًا بسيطًا يشير إلى الحاجة إلى ما هو أكثر من مجرد استخدام خوارزمية تشفير جيدة لحماية البيانات. في واقع الأمر، ومثلما نؤكد غير مرة، يعتبر ضمان حماية مفاتيح التشفير أمرًا مهمًّا للغاية لضمان تحقيق الحماية لأنظمة التشفير.
عمليًّا، تتضمن معظمُ هجمات تحليل النص المشفَّر محاولةَ تحديدِ مفتاح فك التشفير. وفي حال نجاح الطرف المعترض، تصبح لديه المعرفة نفسها التي يمتلكها المتلقي المقصود؛ ومن ثَمَّ يستطيع فك شفرة جميع المراسلات الأخرى إلى حين تغيير مفاتيح التشفير. قد تكون هناك حالات لا يعدو فيها الهدف الوحيد للطرف المعترض سوى قراءة رسالة معينة. ومع ذلك عندما يصِف المؤلفان خوارزميةً ما بأنها «مكسورة»، فإنهما يقصدان عادةً بذلك أن الطرف المعترض اكتشف طريقة عملية يستطيع من خلالها تحديد مفتاح فك التشفير.
بطبيعة الحال، لا يستطيع الطرف المعترض فك خوارزمية تشفير إلا إذا توفرت لديه المعلومات الكافية التي تمكنه من معرفة المفتاح الصحيح، أو — على نحو أكثر شيوعًا — تحديد المفاتيح غير الصحيحة. من الأهمية بمكان معرفة أن هذه المعلومات الإضافية تكون على الأرجح في غاية الأهمية بالنسبة إلى الطرف المعترض. هَبْ أن الطرف المعترض يعلم أن النص الأصلي كان باللغة الإنجليزية، وأن عملية فك التشفير لبعض أجزاء النص المشفَّر باستخدام مفتاحٍ جرى تخمينه لا تسفر عن نصٍّ أصلي ذي معنًى في الإنجليزية؛ في هذه الحالة، سيُعد المفتاح الذي جرى تخمينه غير صحيح.
ثمة حقيقة مهمة يجب أن تكون قد اتضحت من خلال هذه المقدمة؛ ألا وهي أن معرفة مفتاح التشفير ليست ضرورية للحصول على الرسالة من خلال النص المشفَّر. تعتبر هذه الملاحظة البسيطة هي أساس ورقة ديفي-هلمان البحثية بَالغة التأثير. فقد كان لها أثر عظيم على علم التشفير الحديث، كما أسفرت عن تقسيم طبيعي بين نوعين من أنظمة التشفير؛ ألا وهما النظام المتناظر والنظام غير المتناظر.
يطلق على نظام التشفير اسم نظام «تقليدي» أو «متناظر» حال سهولة استنباط مفتاح فك التشفير من خلال مفتاح التشفير. في واقع الأمر، غالبًا ما يكون هذان المفتاحان متطابقين بالنسبة إلى أنظمة التشفير المتناظرة. لذلك، يُطلق على هذه الأنظمة عادةً اسم أنظمة «المفتاح السري» أو «المفتاح الواحد». في المقابل، إذا لم يكن ممكنًا من الناحية العملية استنباط مفتاح فك التشفير من خلال مفتاح التشفير، فإن نظام التشفير يسمى «غير متناظر» أو «ذا مفتاح معلن». ثمة سبب يجب أن نَعِيَهُ تمامًا وراء التمييز بين هذين النوعين من الأنظمة؛ فلمنع أي معترض لديه معرفة بالخوارزمية من الحصول على النص الأصلي عن طريق نص مشفَّر جرى اعتراضه، من الضروري الاحتفاظ بسرية مفتاح فك التشفير. وفي حين أنه في حالة النظام المتناظر، يتطلب الأمر الاحتفاظ بسرية مفتاح التشفير أيضًا، فإنه في حالة النظام غير المتناظر، تكون معرفة هذا المفتاح غير ذات فائدة عملية للطرف المعترض. في الواقع، يمكن الإعلان عن هذا المفتاح، وعادة ما يحدث ذلك. يترتب على ذلك غياب حاجة المُرسِل والمستقبِل للنص المشفر لتبادل أي أسرار بينهما. في الواقع، ربما لا توجد حاجة في أن يثق أحدهما في الآخر.
على الرغم من أن العبارات في الفقرة السابقة قد تبدو بسيطة وبديهية، فإن النتائج المترتبة عليها بعيدة الأثر. يفترض الرسم الموضح سابقًا حصول المُرسِل والمستقبِل على «زوج متطابق» من المفاتيح. في واقع الأمر، ربما يكون من الصعوبة بمكان بلوغهما هذا الوضع. على سبيل المثال، في حالِ كان نظام التشفير متناظرًا ربما كانت هناك حاجة إلى توزيع قيمة المفتاح السري قبل تبادل الرسائل السرية. ويجب عدم الاستهانة بمشكلة توفير الحماية المناسبة لهذه المفاتيح. في واقع الأمر، تعتبر مشكلة إدارة المفاتيح بوجهٍ عام — والتي تشمل إنشاءها وتوزيعها وتخزينها وتغييرها وتدميرها — أصعبَ جوانب الحصول على نظام آمن. وعادة ما تختلف المشكلات المصاحبة لمشكلة إدارة المفاتيح باختلاف نظام التشفير بين متناظر وغير متناظر. فكما رأينا، إذا كان نظام التشفير متناظرًا، ربما ظهرت الحاجة إلى توافر القدرة على توزيع المفاتيح مع الاحتفاظ بسرية قِيَمها. أمَّا في حال نظام التشفير غير المتماثل، فيمكن التغلب على هذه المشكلة من خلال توزيع مفاتيح التشفير فقط التي لا حاجة إلى جعلها سرية. ومع ذلك تظهر مشكلة أخرى تتمثل في ضمان التحقق من مفتاح تشفير كل مشارك؛ أيْ ضمان معرفة الشخص المستخدم لقيمة مفتاح التشفير المعلن لهوية «مالك» مفتاح فك التشفير المقابل له.
عندما عرضنا الفرق بين أنظمة التشفير المتناظرة وغير المتناظرة، كنا نفترض معرفة الطرف المعترض بالخوارزمية. بطبيعة الحال، لا يكون ذلك صحيحًا دومًا. ومع ذلك ربما كان من الأفضل بالنسبة إلى مصمِّم نظام التشفير أن يفترض امتلاك المُعترِض المحتمِل لأكبر قدر ممكن من المعرفة والمعلومات الاستخباراتية العامة قدر الإمكان. هناك مبدأ مشهور في علم التشفير يقول إنَّ أمْن أي نظام تشفير يجب ألا يعتمد على الاحتفاظ بسرية خوارزمية التشفير؛ وهو ما يجعل سلامة النظام يعتمد تبعًا لذلك على الاحتفاظ بسرية مفتاح فك التشفير وحسب.
- ظرف أسوأ الحالات ١: يمتلك الطرف الذي يتولى عملية تحليل النص المشفر معرفة كاملة بنظام التشفير.
- ظرف أسوأ الحالات ٢: يحصل الطرف الذي يتولى عملية تحليل النص المشفر على قدر كبير من هذا النص.
- ظرف أسوأ الحالات ٣: الطرف الذي يتولى عملية تحليل النص المشفر يعرف النص الأصلي المكافئ لقدرٍ محدد من النص المشفَّر.
في أيٍّ من هذه الحالات، يجب محاولة تحديد ما تعنيه ألفاظُ «قدر كبير» و«قدر محدد» بواقعية، وهذا يعتمد على نظام التشفير موضع الاعتبار.
يشير ظرف أسوأ الحالات ١ ضمنًا إلى أننا نؤمن بضرورة عدم الاعتماد على الاحتفاظ بسرية تفاصيل نظام التشفير. لكن هذا لا يعني أنْ نُتيح نظام التشفير للجميع. بطبيعة الحال، ستُعد مهمة الطرف المعترض أكثر صعوبة في حال عدم معرفة نظام التشفير المستخدم، وهو ما يمكن إخفاؤه بدرجة ما حاليًّا. على سبيل المثال، بالنسبة إلى الأنظمة الإلكترونية الحديثة، يمكن إخفاء خوارزمية التشفير في الأجهزة ذاتها عن طريق استخدام المكونات الإلكترونية متناهية الصغر؛ إذ يمكن إخفاء الخوارزمية بأكملها داخل «شريحة» صغيرة. وللحصول على الخوارزمية يجب على الطرف المعترض «فتح» إحدى هذه الشرائح، وهي عملية دقيقة وتستغرق على الأرجح وقتًا طويلًا للغاية، وإن كان من الممكن تنفيذها؛ إذ يجب ألا نفترض غياب قدرة وقلة صبر الطرف المعترض للقيام بذلك. بالمثل، من الممكن إخفاء أي جزء من الخوارزمية التي جرى تضمينها كبرنامج في الماكينة من خلال برنامج مكتوب بعناية. نؤكد مرة أخرى، ربما يمكن من خلال الصبر وتوفر المهارة الكشفُ عن هذا، بل ربما تصبح الخوارزمية بعينها متاحة للطرف المعترض في بعض الحالات. من وجهة نظر أي مُصنِّع أو مصمم لنظام تشفير، يعتبر ظرف أسوأ الحالات ١ افتراضًا أساسيًّا؛ حيث إن افتراضًا كذلك يُزيل قدرًا كبيرًا من المسئولية النهائية الملقاة على عاتقهم فيما يتعلق بالاحتفاظ بسرية أي نظام تشفير.
يعتبر ظرف أسوأ الحالات ٢ افتراضًا معقولًا. فإذا لم يكن ثمة احتمال لوقوع عملية اعتراض، فلن توجد حاجة إلى استخدام نظام تشفير. ومع ذلك إذا كان الاعتراض محتملًا، فمن المفترض ألا تتمكن الأطراف المتواصلة إذن من تحديد وقت وقوع عمليات الاعتراض على وجه الدقة؛ ومن ثَمَّ يصير الخيار الأكثر سلامة هو افتراض إمكانية اعتراض جميع المراسلات.
يطلق على عملية الاعتراض التي تستفيد من وجود زوج من نص أصلي ونص مشفَّر معروفين «عملية اعتراض لنص أصلي معروف». إذا انتقى الطرف المعترض النص الأصلي، مثلما كان الحال مع مثال تفجير العوامات الخفيفة المذكور أعلاه، يُطلق على عملية الاعتراض هذه «عملية اعتراض مُنتقاة لنص أصلي». وأخيرًا، يطلق على عملية الاعتراض التي تتضمن معرفة مباشرة من الطرف المعترض للنص المشفَّر فقط «عملية اعتراض نص مشفَّر فقط».
يترتب على قبول ظروف أسوأ الحالات هذه افتراضُ أن المعلومات الوحيدة التي تميِّز بين المتلقي الحقيقي للمراسلات والطرف المعترض تتمثل في معرفة مفتاح فك التشفير. من هنا، يعتمد توافر الأمن في نظام التشفير كلية على سرية مفتاح فك التشفير، وهو ما يعزز ما أكدنا عليه سابقًا من أهمية توفر إدارة جيدة لمفاتيح نظام التشفير.
يجب أن نؤكد على أن تقييم مستوى الأمان في أي نظام تشفير ليس علمًا بالمعنى الدقيق؛ إذ تقوم جميع عمليات التقييم على وضع الافتراضات، لا من خلال المعرفة المتوفرة للطرف المعترض فحسب، بل أيضًا من خلال الأدوات والموارد المتوفرة له. ودونما شك، يتمثل المبدأ العام الأفضل على الإطلاق في افتراض الأسوأ وتحري الحرص، حتى لو كان هذا الحرص مبالغًا فيه. من الأهمية بمكان أيضًا التأكيد على أن السؤال المناسب عمومًا في هذا المقام ليس: «هل هذا النظام آمن تمامًا؟» وإنما: «هل هذا النظام آمن بما يكفي لتنفيذ الغرض من تطبيقه؟» وتعتبر الملاحظة الأخيرة في غاية الأهمية، كما يجب الاعتراف بوجود ضرورات لتوفير الأمن غير المكلف ومنخفض المستوى في بعض الحالات. بالنسبة إلى معظم التطبيقات غير العسكرية، يدخل توفير الأمن في أنظمة التشفير في باب المصروفات العامة التي يجب وجود تبرير لها من المنظور التجاري. بالإضافة إلى ذلك، قد تكون إضافة أدوات توفير الحماية الأمنية ذات تكلفة مرتفعة؛ وهو ما قد يؤدي إلى الحد من كفاءة الأداء العام لنظام التشفير. من هنا، توجد حاجة طبيعية للإبقاء على الحالة الأمنية عند حدها الأدنى. وتتمثل إحدى الطرق الشائعة في تحديد مستوى الأمن المطلوب توفره في وضع تقديرات بالوقت اللازم لحماية المعلومات. إذا أطلقنا على ذلك «وقت التغطية» المطلوب للنظام، فسيتوفر لدينا مؤشر عام لمستوى الأمن المطلوب توفره في نظام التشفير. على سبيل المثال، ربما يعتبر نظامُ التشفير المناسب لشبكة تكتيكية مؤقتة، لا يتجاوز وقت تغطية المعلومات المتناقلة عبرها بضع دقائق، «أضعفَ» كثيرًا من نظام التشفير المطلوب في نظام استراتيجي قد يصل وقت تغطية المعلومات فيه إلى عقود، مثلما هو الحال مع الأسرار الحكومية والسجلَّات الطبية.
إذا افترضنا عدم سرية خوارزمية فك التشفير، فسيكون هناك أسلوب واحد بديهي يجري استخدامه في الاعتراض؛ فقد يحاول المعترضون، على الأقل من الناحية النظرية، تخمين كل مفتاح فك تشفير ممكن فيما «يأملون» في تحديد المفتاح الصحيح. يطلق على عملية الاعتراض هذه «بحث شامل عن المفتاح» أو — بعبارة أخرى — «عملية اعتراض باستخدام القوة المفرطة». وبطبيعة الحال، لا يمكن أن تنجح عملية اعتراض كهذه إلا إذا كان لدى الطرف المعترض طريقة ما للتعرف على المفتاح الصحيح أو — مثلما هو أكثر شيوعًا — إذا كان الطرف المعترض يستطيع استبعاد المفاتيح غير الصحيحة. على سبيل المثال، في حال وجود عملية اعتراض لنص أصلي معروف، سيصبح من البديهي ألا يمثِّل أيُّ مفتاح فك تشفير لا يسفر عن الحصول على النص الأصلي الصحيح المقابل للنص المشفَّر بكامله؛ المفتاحَ الصحيح. لكن، مثلما نرى عندما نأخذ بعين الاعتبار بعضَ الأمثلة البسيطة، ما لم يكن هناك قدر مناسب من أزواج النص الأصلي والنص المشفَّر المقابل له، ربما سيكون هناك العديد من الخيارات غير الصحيحة لمفتاح فك التشفير التي تعطي الإجابات الصحيحة لكامل النص المشفر المتاح. وفي حالِ ما إذا كانت لغة المراسلات تتسم بالتراكيب اللغوية النمطية، فعندئذٍ يمكن استخدام أسلوب الإحصاءات اللغوية لاستبعاد بعض المفاتيح.
بلغْنا الآن مرحلة نستطيع من خلالها البدء في بيان بعض المعايير الأساسية لتقييم مدى ملاءمة نظام تشفير معين لتطبيق بعينه. يحدد مستخدمو النظام وقت التغطية. ويجب على مصممي النظام معرفة عدد مفاتيح فك التشفير. وإذا وضع المصممون افتراضات حول مدى سرعة الطرف المعترض في تجربة كل مفتاح، فإنهم سيستطيعون وضع تقديرات بالوقت المتوقع الذي تستغرقه عملية بحث شاملة عن المفتاح للكشف عنه. وإذا كان هذا الوقت المُقدَّر أقصر من وقت التغطية، فسيكون النظام في غاية الهشاشة. من هنا، يتمثل الاشتراط الأساسي في وضع نظام تشفير في ضرورة أن يكون الوقت المقدَّر اللازم للتوصل إلى مفتاح صحيح من خلال عملية بحث شاملة أطول كثيرًا من وقت التغطية.
عندما ميَّزنا بين الخوارزميات المتناظرة وغير المتناظرة، تحدثنا عن الحاجة إلى توفر الثقة بين المرسل والمستقبل. ولقرون طويلة، قبل نشر ورقة ديفي-هلمان البحثية الشهيرة، كان يفترض أن الرسائل المشفرة لا يجري تبادلها إلا بين أطراف تتوفر الثقة بينها. كان مفهوم القدرة على إرسال رسائل إلى طرف لا تتوفر الثقة فيه مسألة مستحيلة. سوف نناقش خوارزميات المفاتيح المعلنة في الفصول التالية، لكننا نذكر هنا مثالًا معروفًا على كيف أنه من الممكن ضمان تسليم هدية إلى متلقيها المقصود بأمان، على الرغم من مرورها عبر أيدي أطراف كثيرة مناوئة ربما ترغب في الاستيلاء عليها.
- خطوة ١: يضع المرسل الهدية داخل الحقيبة التي يحكم إغلاقها بواسطة القفل، وينزع المفتاح، ثم يرسل الحقيبة المغلقة إلى المستقبل.
- ملاحظة: بينما الحقيبة في طريقها من المرسل إلى المستقبل، تتمتع الحقيبة بالحماية اللازمة من جميع الأطراف المناوئة؛ نظرًا لعدم قدرة هذه الأطراف على نزع قفل الحقيبة. لكن المستقبِل لا يستطيع هو الآخر الحصول على الهدية.
- خطوة ٢: يغلق المستقبِل الحقيبة باستخدام قفله الخاص، وينزع المفتاح، ثم يعيد الحقيبة إلى المرسل.
- ملاحظة: يوجد قفلان الآن في الحقيبة؛ وهو ما لا يجعل أحدًا يحصل على الهدية التي بداخلها.
- خطوة ٣: يستخدم المرسِل مفتاحه لإزالة قفله من الحقيبة ثم يعيدها إلى المستقبِل.
- ملاحظة: لا يوجد سوى قفل المستقبِل في الحقيبة.
- خطوة ٤: يزيل المستقبل قفل الحقيبة الخاص به ليحصل على الهدية.
تتمثل النتيجة النهائية لهذه السلسلة من الأحداث في أن الهدية جرى إرسالها إلى المستقبل دون أن يكشف أيٌّ من المرسل أو المستقبل عن مفتاحيهما السريين. إنهما لم يكونا في حاجةٍ إلى وثوق أحدهما في الآخر. بطبيعة الحال، من المستبعد للغاية أن تكون افتراضاتنا بشأن المفاتيح وقوة الأقفال واقعية، لكن عندما نناقش تشفير المفاتيح المعلنة يُستعاض بالمعادلات الرياضية، التي تُعد أكثر قبولًا، عن هذه الافتراضات. تتمثل النقطة الرئيسية فيما بيَّنَّاه، على الأقل من الناحية النظرية، في أن مفهوم توفير اتصالات آمنة دون وجود ثقة متبادلة ربما يكون مسألة ممكنة.
في هذا المثال المبسَّط، يجب أن نقرَّ بأن المرسل لا يملك سبيلًا لمعرفة أيُّ الأقفال موجود في الحقيبة، وأنه من المحتمل أن ينتحل أحدُ الغرماء شخصيةَ الطرف المستقبِل ويضع قفله الخاص على الحقيبة. هذه مشكلة تحتاج إلى حل. يشبه سؤال «من صاحب هذا القفل؟» في هذا المثال سؤال «من صاحب هذا المفتاح المعلن؟» الذي يعتبر سؤالًا مهمًّا عند استخدام أنظمة تعتمد على مفاتيح التشفير المعلنة.
قبل أن نتوغل أكثر من هذا في الجانب النظري، سنذكر بعض الأمثلة التاريخية في الفصل التالي لتوضيح النظرية وللتأكد من استيعاب التعريفات.