الدليل الشامل لفهم التشفير

  • مفهوم التشفير
  • مفهوم مفتاح التشفير
  • تشفير XOR
  • تشفير One-Time Pad
  • أساليب التشفير المتماثل
  • التشفير الكتلي و التشفير الإنسيابي
  • أساليب التشفير الهجين
  • أنواع التشفير المتماثل
  • أوضاع التشفير المعتمدة على أسلوب الكتل
  • أنواع التشفير غير المتماثل
  • سلامة الرسالة
  • أنواع خوارزميات التجزئة
  • هجوم عيد الميلاد
  • الفرق بين سلامة الرسالة و التوقيع الرقمي
  • البنية التحتية للمفتاح العام
  • إدارة المفاتيح
  • مستويات التشفير

مفهوم التشفير

مبادئ التشفير تتمحور حول تحويل البيانات المفهومة ( Plain Text ) إلى نص غير مفهوم ( Ciphered Text ) عن طريق خوارزميات رياضية ( Algorithms ) و مفاتيح ( Keys ) مما يؤدي الى تحقيق السرية بين الأطراف و النزاهة.

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

مفهوم مفتاح التشفير

مفتاح التشفير ( Encryption Key ) هو قيمة سرّية تُستخدم مع خوارزمية تشفير لتحويل البيانات من شكلها المقروء إلى شكل غير مفهوم، و لا يمكن إعادتها لوضعها الأصلي إلا باستخدام المفتاح الصحيح.

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


شروط خورازمية تشفير قوية

خوارزمية التشفير القوية يجب أن تتوفر فيها الشروط التالية:

  • قوة الخوارزمية نفسها بالتشفير.
  • المفتاح يجب أن يتم توليده بشكل عشوائي.
  • طول المفتاح يجب أن يكون طويل (لتصعيب عملية تخمينه أو استنتاجه)

مفهوم حيّز المفتاح ( Key Space )

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

فمثلاً، لو كان طول المفتاح هو 4 بت فإنّ حيّز المفتاح هو 2 ^ 4 أي أنّ هناك 16 احتمال لتخمين المفتاح. بينما و لكن لو كان طول المفتاح هو 128 بت فإنّ حيّز المفتاح هو 2 ^ 128 أي رقم هائل جداً من الإحتمالات و استحالة على كل أجهزة العالم تخمينه!! فعلياً يحتاج تخمينه وقت يصل إلى 10 ^ 30 سنة تقريباً.

تشفير XOR

XOR هي اختصار لمصطلح Exclusive OR و هي عملية منطقية تحصل بين إثنين بت ( Bits ) يعني 0 و 1.

  • 1 مع 1 يساوي 0.
  • 0 مع 0 يساوي 0.
  • 1 مع 0 يساوي 1.
  • 0 مع 1 يساوي 1.

إذاً النتيجة دائماً هي واحد عندما يكون هناك اختلاف فقط و مع التشابه فإنها تساوي صفر.


إذا قمنا بتشفير كلمة hello مع استعمال الكلمة walid كمفتاح سيكون الناتج كما يلي.

مثال

message: hello
key: walid

message:    01101000 01100101 01101100 01101100 01101111
key:        01110111 01100001 01101100 01101001 01100100
XOR Result: 00011111 00000100 00000000 00000101 00001011

و عند عكس أو فك التشفير - يعني عمل XOR مرة أخرى بين النتيجة و المفتاح - سيتم فكه بنفس المفتاح كما يلي.

مثال

cipher message:  00011111 00000100 00000000 00000101 00001011
key:             01110111 01100001 01101100 01101001 01100100
result:          01101000 01100101 01101100 01101100 01101111 -----> hello

تشفير One-Time Pad

هذا النوع من التشفير غير قابل للكسر رياضياً و هو يستخدم XOR.
لتنفيذ هذا التشفير هناك 3 شروط يجب تطبيقها:

  1. أن يكون المفتاح عشوائي بشكل تام.
  2. أن يكون المفتاح بنفس طول الرسالة.
  3. إستخدام المفتاح مرة واحدة فقط.

مفتاح التشفير في هذا النوع يجب استخدامه مرة واحدة فقط مما يعني أنه بعد فك التشفير يجب التخلص من المفتاح للأبد و استخدام مفتاح آخر.


مثال

message: hello --> 01101000 01100101 01101100 01101100 01101111
key:     (13T; --> 00101000 00110001 00110011 01010100 00111011
XOR Result: 01000000 01010100 01011111 00111000 01010100 --> @T_8T

أساليب التشفير المتماثل

التشفير المتماثل هو الذي يعتمد على التشفير و فك التشفير بنفس المفتاح. المفتاح هو الذي يشفر و هو الذي يفك التشفير.
يوجد أسلوبان رئيسيان للتشفير المتماثل و هما: الإستبدال ( Substitution ) و التبديل بين الأحرف ( Transposition ).


الإستبدال

هو عملية تبديل الأحرف بالكامل و يتم تبديل الحرف اعتماداً على المفتاح، مثل خوارزمية القيصر تعتمد على تحريك الحرف خطوات محددة للأمام.

فمثلاً إذا افترضنا أن المفتاح هو 3، فإن الحرف A يصبح D لأنه تحرك للأمام 3 مرات و الحرف B يصبح E و هكذا.. فلاحظ هنا أنه تم تبديل الحرف بالكامل. في حال تم تشفير الكلمة waleed مع تحريك كل حرف 3 خطوات فإنها ستصبح zdohhg.

هناك نقطة ضعف في خوارزميات الاستبدال و هي النمط المتكرر في اللغة. مثلاً أكثر حرف متكرر في اللغة الانجليزية هو الحرف e. فلو أن الهاكر لاحظ نمط بتات يتكرر كثيراً و افترض أنه الحرف e يسهل فك الشيفرة.

الخوارزميات الحديثة تستخدم الإستبدال بشكل معقد للغاية بحيث يصعب جداً كسره.


التبديل بين الأحرف

النص يبقى كما هو و لكنه مبعثر، أنّ الأحرف يتم تبديلها فيما بينها اعتماداً على المفتاح.

الخوارزميات الحديثة تستخدم التبديل بين الأحرف بشكل معقد للغاية و يصعب جدا كسره.


العلاقة بين الخوارزمية و المفتاح

خوارزمية التشفير تعمل على تمرير البيانات بعدة مراحل، في كل مرحلة تحصل على عمليات استبدال و تبديل بين الأحرف. كل رسالة يجب أن تمر بهذه المراحل.

المفتاح هو الأساسي في عمليات التشفير لأنه هو من يحدد كيف يتم ترتيب البيانات. إذاً المفتاح هو الذي يعطي السرية و العشوائية.

الاستبدال أو التبديل يتم في الواقع على مستوى البت (حيث تكون البيانات على شكل 0 و 1) و لكن في الأمثله نقول بين الأحرف لتسهيل الفكرة.


الخلط بين طريقتين

في الخوارزميات القوية يتم الخلط بين الطريقتين (الإستبدال و التبديل بين الأحرف) و بطرق معقدة لا يمكن التنبئ بها، فمثلاً قد تعمل على النحو التالي:

إستبدال تبديل تبديل إستبدال تبديل إستبدال إستبدال إلخ..

الخوارزمية تحدد آلية التشفير، بينما المفتاح يحدد النتيجة النهائية للتشفير.

التشفير الكتلي و التشفير الإنسيابي

خوارزميات التشفير قد تعمل تشفير للبيانات بطريقتين: تشفير كتلي ( Block Cipher ) أو تشفير إنسيابي ( Block Cipher ).


التشفير الكتلي

في هذا التشفير يتم الإعتماد على تشفير الكتل، أي أنه يتم تقسيم النص إلى عدة كتل و من ثم يتم تشفير كل كتلة منه.

على سبيل المثال خوارزمية AES فيها 10/12/14 جولة. تقوم الخوارزمية بتقسيم النص الى عدة كتل و كل واحدة منها عبارة عن 16 بت. ثم يتم إجراء عمليات الإستبدال و التبديل بين البتات على كل كتلة منهم لعدد محدد من الجولات على النحو التالي:

تبديل إستبدال بين الأحرف تشفير XOR مع المفتاح عمليات خلط إضافية تكرار عشر مرات حسب طول المفتاح.

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


التشفير الإنسيابي

في هذا النوع من التشفير، يتم تشفير البيانات بتاً بتاً أو بايتاً بايتاً باستخدام عملية XOR حيث يتم توليد تيار مفاتيح ( keystream ) من خلال خوارزمية تعتمد على مفتاح سري ثابت، ثم يُجرى XOR بين هذا التيار و النص الصريح.

يجب أن يكون طول تيار المفاتيح مساوياً لطول النص المراد تشفيره، أما المفتاح نفسه فلا يلزم أن يكون بطول النص، بل يُستخدم فقط لتوليد تيار المفاتيح.


ميزاته

  • سريع جداً، لأنه لا يحتاج إلى تقسيم البيانات إلى كتل كما في التشفير الكتلي.
  • مناسب جداً للبيانات المتدفقة ( Streaming ) مثل الصوت، الفيديو، و الاتصالات المباشرة.
  • لا يحتاج إلى Padding، و ذلك لأن التشفير يتم بشكل متتابع دون التقيد بأطوال ثابتة.

عيوبه

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

خوارزمية RC4 تُعد من خوارزميات التشفير الانسيابي، و قد استُخدمت سابقاً في بروتوكولات SSL/TLS، لكنها أصبحت غير آمنة و تم التخلي عنها بسبب الثغرات المكتشفة فيها.

خوارزمية ChaCha20 هي خوارزمية حديثة، آمنة و سريعة، و تُستخدم في بروتوكولات HTTP/HTTPS الحديثة.

أساليب التشفير الهجين

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

من جهة أخرى، فإن التشفير غير المتماثل يعتمد على مفتاحين: مفتاح عام ( Public Key ) ومفتاح خاص ( Private Key ). يتم إرسال المفتاح العام إلى الطرف الآخر لاستخدامه في التشفير، بينما يُستخدم المفتاح الخاص في فك التشفير. و لا يمكن عملياً استنتاج المفتاح الخاص من المفتاح العام، مما يحل مشكلة تبادل المفاتيح. إلا أن هذا النوع من التشفير أبطأ من التشفير المتماثل.

لذلك ظهرت أساليب التشفير الهجين ( Hybrid Encryption Methods و التي تجمع بين مزايا التشفير المتماثل من حيث السرعة و مزايا التشفير غير المتماثل من حيث أمان تبادل المفاتيح.


مثال على التشفير الهجين

لنفترض أن محمد يريد تأمين تبادل البيانات بينه و بين خالد:

  1. يقوم محمد بإنتاج زوج من المفاتيح (مفتاح عام و مفتاح خاص).
  2. يرسل محمد المفتاح العام إلى خالد.
  3. عند استلام خالد للمفتاح العام، يقوم بإنتاج مفتاح متماثل ( Session Key ).
  4. يقوم خالد بتشفير المفتاح المتماثل باستخدام المفتاح العام لمحمد.
  5. يرسل خالد المفتاح المتماثل المشفّر إلى محمد.
  6. يقوم محمد بفك تشفير المفتاح المتماثل باستخدام المفتاح الخاص الذي يملكه.
  7. و بهذا يصبح لدى الطرفين مفتاح متماثل مشترك، و يتم استخدامه لاحقاً لتشفير و فك تشفير البيانات، بينما استُخدم التشفير غير المتماثل فقط لتأمين تبادل المفتاح.

مفتاح الجلسة

مفتاح الجلسة ( Session Key ) هو مفتاح تشفير يُستخدم فقط خلال جلسة اتصال واحدة. فلو كان محمد و خالد يستخدمان نفس المفتاح لفترات طويلة، فإن ذلك يجعله أكثر عرضة للاختراق مع مرور الوقت. أما عند استخدام مفتاح جديد لكل جلسة فإن الضرر الناتج عن انكشاف المفتاح يكون محدوداً بتلك الجلسة فقط.

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

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

أنواع التشفير المتماثل

هناك عدة أنواع من خوارزميات التشفير المتماثل ( Symmetric Encryptions ) التي تعتمد على نفس المفتاح بين الطرفين للتشفير و فك التشفير.


خوارزمية DES

تعتمد DES على أسلوب التشفير الكتلي ( Block Cipher ) حيث تُقسّم الرسالة إلى كتل بحجم 64 بت (8 بايت)، و يتم تشفير كل كتلة على حدة عبر 16 جولة من العمليات، تشمل الاستبدال باستخدام S-Boxes و إعادة ترتيب البتات باستخدام Permutations.

يستخدم DES مفتاحاً بطول 64 بت، إلا أن 56 بت فقط تُستخدم فعلياً في التشفير، بينما تُخصّص 8 بتات لأغراض الفحص ( Parity ).

في عام 1998، طوّرت مؤسسة EFF جهازاً يُعرف باسم DES Cracker قادراً على تنفيذ هجوم القوة الغاشمة ( Brute Force ) بمعدل يقارب 90 مليار محاولة في الثانية، و تمكن من كسر تشفير DES خلال أقل من ثلاثة أيام. لذلك لم يعد DES يُستخدم في الأنظمة التي تتطلب مستوى عالي من الأمان، ليس بسبب خلل في تصميم الخوارزمية، و إنما بسبب قِصر طول المفتاح الذي يسمح بتخمين المفتاح خلال وقت عملي.

DES تم استبداله بـ 3DES كحل مؤقت، ثم AES كحل قياسي و حالي.


خوارزمية 3DES

عقب اتضاح مواطن الضعف في خوارزمية DES نتيجة قِصر طول المفتاح المستخدم فيها، برزت الحاجة إلى إيجاد حل مرحلي يعزّز مستوى الأمان إلى حين اعتماد معيار تشفير بديل. وفي هذا السياق ظهرت خوارزمية Triple-DES المعروفة اختصاراً بـ 3DES، و ذلك قبل سنوات من اعتماد معيار AES بوصفه بديلاً رسمياً.

في المرحلة الأولى طُرح مفهوم Double-DES القائم على استخدام مفتاح بطول 112 بت، إلا أن الدراسات أثبتت عدم كفاية هذا النهج من الناحية الأمنية بسبب قابلية النظام لهجوم Meet-in-the-Middle و الذي أدى إلى تقليص مستوى الحماية ليقترب من مستوى أمان خوارزمية DES الأصلية. و بناءاً على ذلك تم تجاوز هذا المقترح و الانتقال مباشرة إلى اعتماد خوارزمية Triple-DES.

تعتمد خوارزمية 3DES على تطبيق خوارزمية DES ثلاث مرات متتابعة على البيانات نفسها، وهو ما ينتج عنه تنفيذ ما مجموعه 48 جولة تشفير (16 × 3). و على الرغم من أن هذا الأسلوب يوفّر مستوى أمان أعلى مقارنةً بخوارزمية DES، فإنه يتسم بانخفاض الكفاءة من حيث الأداء نتيجة تكرار عمليات التشفير ثلاث مرات، مما يؤدي إلى بطء نسبي في التنفيذ.


خيارات المفاتيح في 3DES

المفتاح طريقة العمل
3DES-EEE3 فيه يتم تشفير الكتلة ثلاث مرات باستخدام ثلاثة مفاتيح مختلفة.
3DES-EEE2 فيه يتم التشفير ثلاث مرات باستخدام مفتاحين ( K1 K2 K1 ).
3DES-EDE3 فيه يتم التشفير بالمفتاح الأول، ثم فك التشفير بالمفتاح الثاني، ثم التشفير بالمفتاح الثالث و هو الأكثر استخداماً.
3DES-EDE2 فيه يتم التشفير بالمفتاح الأول، ثم فك التشفير بالمفتاح الثاني، ثم التشفير مرة أخرى بالمفتاح الأول. يعتمد طول المفتاح على خيار المفاتيح المستخدم؛ ففي حال استخدام ثلاثة مفاتيح يكون الطول الاسمي 168 بت، إلا أن القوة الأمنية الفعلية تقارب 112 بت، بينما في حال استخدام مفتاحين يكون الطول 112 بت.

3DES لم يعد موصى به اليوم حيث أنّ NIST أوقفه تدريجياً.
AES أسرع و أكثر أماناً، كما أنّ EDE صُمم للحفاظ على التوافق مع DES القديم.


المعيار المتقدم للتشفير AES

بعد أن تبيّن ضعف خوارزمية DES تم اعتماد معيار Advanced Encryption Standard أو AES اختصاراً كخوارزمية تشفير متماثل تعتمد على أسلوب التشفير الكتلي.

يُعد AES اسم المعيار، بينما تُسمّى الخوارزمية المستخدمة داخله Rijndael.

يعمل AES على كتل بيانات بحجم ثابت مقداره 128 بت، بينما يمكن أن يكون طول المفتاح 128 أو 192 أو 256 بت، و يختلف عدد الجولات تبعًا لطول المفتاح:

  • 10 جولات مفتاح 128 بت.
  • 12 جولات مفتاح 192 بت.
  • 14 جولات مفتاح 256 بت.

تم اختيار AES من بين عدة خوارزميات قوية نظراً لما يقدمه من توازن ممتاز بين الأمان العالي، السرعة، و الكفاءة في التنفيذ البرمجي و العتادي.


خطوات التشفير في AES

  1. المرحلة الابتدائية: AddRoundKey
  2. الجولات الأساسية: SubBytes ShiftRows MixColumns AddRoundKey
  3. الجولة الأخيرة: SubBytes ShiftRows AddRoundKey

AES ليس مجرد “DES مطوّر” بل هو تصميم جديد كلياً. و هو يُستخدم اليوم في HTTPS/TLS و VPN و تشفير الأقراص و WPA2/WPA3.


خوارزمية IDEA

تُعد خوارزمية International Data Encryption Algorithm أو IDEA اخصاراً شيفرة كتلية تعمل على كتل بيانات بحجم 64 بت. يتم تقسيم الكتلة إلى أربعة أجزاء، كل جزء بطول 16 بت، و تُطبّق عليها ثماني جولات من العمليات الرياضية التي تجمع بين الجمع و الضرب و عمليات XOR.

يبلغ طول المفتاح في خوارزمية IDEA 128 بت، وتتميز بكفاءة عالية في التنفيذ البرمجي، حيث كانت أسرع من DES في العديد من التطبيقات.

يمكن تشغيل IDEA باستخدام أوضاع التشفير القياسية نفسها المستخدمة مع DES مثل ECB و CBC و غيرها. و تُعد الخوارزمية أكثر مقاومة للكسر من DES و ذلك بفضل طول المفتاح الأكبر و التصميم الرياضي القوي.

استُخدمت IDEA في برنامج PGP و في تطبيقات تشفير أخرى، و كان يُعتقد أنها قد تحل محل DES إلا أن كونها محمية ببراءة اختراع في الماضي حدّ من انتشارها، إذ كان يتطلب استخدامها دفع رسوم ترخيص.

حتى الآن، لا توجد هجمات عملية ناجحة تكسر خوارزمية IDEA بالكامل، على الرغم من وجود عدة هجمات نظرية جزئية.

إعتماد IDEA على مزج ثلاث عمليات رياضية مختلفة (جمع و ضرب و XOR) يجعل تحليلها أصعب من خوارزميات تعتمد على نوع واحد من العمليات.


خوارزمية Blowfish

تُعد خوارزمية Blowfish إحدى خوارزميات التشفير الكتلي، حيث تعمل على كتل بيانات بحجم 64 بت. تتميز بمرونة كبيرة في طول المفتاح، إذ يمكن أن يتراوح بين 32 بت و 448 بت، مما يتيح مستويات مختلفة من الأمان حسب الحاجة.

تعتمد Blowfish على 16 جولة تشفير أساسية، تسبقها مرحلتان إضافيتان مرتبطتان بعملية إضافة المفاتيح، ليصل العدد الإجمالي لعمليات المعالجة إلى 18 عملية. و تستخدم الخوارزمية مزيجاً من عمليات الاستبدال و إعادة ترتيب البتات لتحقيق درجة عالية من التعقيد و الأمان.


خوارزمية RC4

خوارزمية RC4 هي واحدة من أشهر خوارزميات التشفير الانسيابي، أي أنها تقوم بتشفير البيانات بشكل متتابع (بايت بعد بايت). تستخدم مفتاحاً بطول متغيّر، و كانت سريعة و سهلة في التنفيذ، لذلك انتشرت بشكل واسع في الماضي.

تم تطوير خوارزمية RC4 عام 1987 بواسطة رون ريفست، و كانت في البداية خوارزمية سرّية مملوكة لشركة RSA. لاحقاً تم نشر شيفرتها المصدرية، مما أدى إلى استخدامها في العديد من الأنظمة و التطبيقات.

استُخدمت RC4 في بروتوكولات مثل SSL و استُخدمت في معيار الشبكات اللاسلكية WEP لكن بطريقة غير آمنة. رغم سرعتها و بساطتها، إلا أن تصميمها يعاني من نقاط ضعف أمنية، أهمها ضعف الانتشار، مما يسمح للمهاجمين باستغلالها لكشف جزء من البيانات.

بسبب هذه الثغرات، تم الاستغناء عن RC4 في الأنظمة الحديثة، و استُبدلت بخوارزميات أكثر أماناً مثل AES و التي تُستخدم اليوم في تأمين الشبكات و الاتصالات.


خوارزمية RC5

خوارزمية RC5 هي إحدى خوارزميات التشفير الكتلي، و تتميّز بمرونتها العالية، حيث تتيح تغيير عدة إعدادات حسب الحاجة، مثل حجم الكتلة، و طول المفتاح، و عدد الجولات.

تم تطوير خوارزمية RC5 بواسطة رون ريفست، و خضعت للدراسة و التحليل من قبل شركة RSA Data Security مما ساهم في فهم قوتها الأمنية و سلوكها.

تدعم RC5 أحجام كتل مختلفة هي 32 بت، 64 بت، و 128 بت. كما يمكن أن يصل طول المفتاح إلى 2048 بت، و هو طول كبير يوفّر مستوى أمان مرتفعاً. أما عدد الجولات المستخدمة في عمليتي التشفير و فك التشفير فهو متغيّر أيضًا، و يمكن أن يصل إلى 255 جولة، حيث يؤدي زيادة عدد الجولات إلى تعزيز الأمان مقابل تقليل السرعة.

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


خوارزمية RC6

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

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

أوضاع التشفير المعتمدة على أسلوب الكتل

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

بمعنى آخر، الخوارزمية تحدد كيف يتم التشفير، بينما وضع التشفير يحدد كيف يتم استخدام الخوارزمية على الكتل المتعددة من البيانات.


وضع ECB

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

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


وضع CBC

في وضع Cipher Block Chaining أو CBC اختصاراً، يتم ربط كل كتلة بيانات بالكتلة التي تسبقها بحيث يتم دمج البلوك الحالي مع البلوك السابق قبل التشفير. هذا الترابط يجعل البلوكات المتشابهة تنتج نواتج مختلفة، و بالتالي يتم إخفاء الأنماط الموجودة في البيانات. لهذا السبب، يُعتبر CBC أكثر أماناً من وضع ECB خاصة عند تشفير الملفات الكبيرة مثل الصور و الملفات النصية.

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

يُستخدم CBC غالباً لتشفير الملفات الكبيرة لأنه يخفي الأنماط بشكل جيد، لكن يجب دائماً استخدامه مع قيمة ابتدائية عشوائية ( IV ) لضمان الأمان.


وضع CFB

وضع Cipher Feedback أو CFB اختصاراً هو أحد أوضاع التشفير التي تعتمد على الخوارزميات الكتلية، لكنه يجعلها تعمل بطريقة مشابهة للتعمية التدفقيّة ( Stream Cipher ). في هذا الوضع يتم توليد قيمة ابتدائية ( IV ) عشوائية، ثم يتم تشفيرها باستخدام مفتاح التشفير. ناتج هذا التشفير يتم دمجه باستخدام عملية XOR مع جزء من النص الصريح لإنتاج النص المشفّر.

بعد ذلك، يتم إدخال ناتج التشفير مرة أخرى في العملية ليُستخدم في تشفير الجزء التالي من البيانات، و لهذا سُمّي Feedback.

يمكن الـ CFB العمل على أجزاء أصغر من حجم البلوك (مثل 8 بت أو 1 بايت)، مما يجعله مناسباً لتشفير البيانات المتدفقة مثل البيانات القادمة عبر الشبكة.

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


وضع OFB

وضع Output Feedback أو OFB اختصاراً هو أحد أوضاع التشفير التي تعتمد على الخوارزميات الكتلية، لكنه يحولها إلى أسلوب يشبه Stream Cipher. في هذا الوضع يتم توليد keystream مستقل عن البيانات عن طريق تشفير قيمة ابتدائية ( IV ) ثم استخدام ناتج التشفير لتوليد keystream متتالي.

يتم تشفير البيانات عن طريق إجراء عملية XOR بين keystream و النص الصريح:

  • الحرف A يُشفَّر باستخدام keystream1.
  • الحرف B يُشفَّر باستخدام keystream1 و هكذا.

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

من المهم الانتباه إلى أن OFB يتطلب استخدام IV فريد و غير مكرر، لأن إعادة استخدامه نفسه مع نفس المفتاح تؤدي إلى مشاكل أمنية خطيرة.


وضع CTR

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

المكونات الأساسية

  • مفتاح تشفير سري ثابت.
  • قيمة NOUNCE فريدة (يجب ألا تتكرر مع نفس المفتاح).
  • عدّاد COUNTER يزداد مع كل بلوك.

آلية العمل

يتم دمج NOUNCE مع قيمة العداد (مثلاً 0 في البداية).

input_block_0 = NONCE || 0

يتم إدخال هذا البلوك إلى خوارزمية AES و تشفيره بالمفتاح السري، لينتج keystream.

يتم أخذ أول بلوك من الرسالة (مثلاً 16 بايت) و إجراء XOR بينه و بين keystream.

يتم زيادة قيمة العداد.

input_block_1 = NONCE || 1

يتم توليد keystream جديد و تشفير البلوك التالي، و هكذا لبقية الرسالة.

فك التشفير: يتم بنفس الطريقة تماماً.

  • توليد نفس keystream.
  • إجراء XOR مع النص المشفّر
  • الحصول على النص الأصلي

خصائص CTR

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

أنواع التشفير غير المتماثل

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

لذلك ظهرت الحاجة إلى التشفير غير المتماثل ( Types of Asymmetric Systems ) الذي يعتمد على زوج من المفاتيح:

  • مفتاح عام ( Public Key ).
  • مفتاح خاص ( Private Key ).

خوارزمية Diffie–Hellman

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

فيما يلي مثال مبسّط (لغرض التوضيح فقط):

  1. يتم اختيار عدد أولي مثل 127 و يكون معلوماً للطرفين.
  2. اختيار رقم مولِّد ( Generator ) مثل 5 و يتم تبادله أيضاً.
  3. الطرف الأول يختار رقماً سرياً خاصاً به، مثل 9 (لا يتم إرساله).
  4. الطرف الثاني يختار رقماً سرياً خاصاً به، مثل 4 (لا يتم إرساله).
  5. الطرف الأول يحسب ناتج (5^9 mod 127) = 119 و يرسل الناتج للطرف الثاني.
  6. الطرف الثاني يحسب ناتج (5^4 mod 127) = 117 و يرسل الناتج للطرف الأول.
  7. الطرف الأول يستخدم القيمة المستلمة و يحسب ناتج (117^9 mod 127) = 32
  8. الطرف الثاني يحسب ناتج (119^4 mod 127) = 32 و هكذا يحصل الطرفان على نفس المفتاح السري 32 دون إرساله بشكل مباشر.

المهاجم الذي يرى القيم المتبادلة 117 - 119 - 5 - 127 لا يستطيع عملياً استنتاج المفتاح، لأن ذلك يتطلب حل مسألة رياضية صعبة تُعرف بمشكلة اللوغاريتم المنفصل.

مثال توضيحي: 5^x mod 127 = 8 لا توجد طريقة مباشرة لاستخراج قيمة x من الناتج بسهولة، و هذا ما يمنح الأمان للنظام.

تُستخدم هذه الفكرة ضمن بروتوكولات مثل HTTPS و لكن بصيغ محسّنة و أكثر تعقيداً.


خوارزمية RSA

بينما تُستخدم Diffie–Hellman لتبادل مفتاح سري، فإن خوارزمية RSA تُستخدم لتوليد زوج من المفاتيح:

  • مفتاح عام للتشفير.
  • مفتاح خاص لفك التشفير.

تعتمد RSA على صعوبة تحليل الأعداد الكبيرة إلى عواملها الأولية.

مثال مبسط

  • اختيار عددين أوليين: p = 29 ، q = 23
  • حساب: n = p × q = 667 مع العلم أنه يتم نشر n بينما تبقى p و q سرّية.
  • حساب: φ = (p - 1)(q - 1) = 616
  • اختيار قيمة e بحيث لا تشترك مع φ في قواسم غير 1، مثل: e = 17
  • حساب d بحيث: d = e⁻¹ mod φ = 145

الآن، مفاتيح التشفير تكون كما يلي:

  • المفتاح العام: (e, n)
  • المفتاح الخاص: (d, n)

إذا كانت الرسالة المراد تشفيرها هي العدد 100 فإنه يتم تشفيرها هكذا 100^17 mod 667 = 312

في النهاية، فك تشفير العدد 312 يكون هكذا 100^17 mod 667 = 312

هذا المثال كان للتوضيح فقط، الأرقام الحقيقية تكون كبيرة جداً.


لماذا لا نستخدم RSA لتشفير كل شيء؟

نظراً لأن العمليات الحسابية مع الأعداد الكبيرة بطيئة، فإن RSA لا يُستخدم عادةً لتشفير البيانات الكبيرة (كالملفات أو الفيديو)، بل يتم استخدامه لأجل:

  1. تبادل مفتاح متماثل بشكل آمن.
  2. ثم تُستخدم خوارزميات التشفير المتماثل لتشفير البيانات الفعلية بسرعة و كفاءة.

سلامة الرسالة

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


التجزئة أحادية الاتجاه

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

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


خوارزميات MAC

تمثل خوارزميات مصادقة الرسائل ( Message Authentication Codes ) آلية للتحقق من سلامة الرسالة و مصدرها باستخدام مفتاح سري مشترك بين الطرفين. وتنتج هذه الخوارزميات قيمة تحقق تُرسل مع الرسالة دون تشفير محتواها. و لا يستطيع أي طرف غير مخوّل توليد نفس القيمة دون امتلاك المفتاح السري.

الخوارزمية تعريفها
HMAC تعتمد هذه الخوارزمية على دمج المفتاح السري مع الرسالة ثم تمرير الناتج عبر دالة تجزئة معيارية. وتُرسل قيمة MAC الناتجة مع الرسالة، بينما يقوم الطرف المستقبل بإعادة حسابها باستخدام المفتاح نفسه ومقارنتها بالقيمة المستلمة للتحقق من سلامة الرسالة.
CBC-MAC تعتمد على استخدام خوارزمية تشفير كتلي ( Block Cipher ) في نمط الربط المتسلسل CBC، حيث يتم توليد قيمة MAC من الناتج النهائي لعملية التشفير. و تُستخدم القيمة الناتجة للتحقق من سلامة الرسالة عند الطرف المستقبل عبر إعادة تنفيذ العملية نفسها.
CMAC يُعد تطويراً أكثر أماناً من CBC-MAC، و يعمل مع خوارزميات تشفير معيارية مثل AES أو 3DES، و يوفر حماية ضد التعديلات المقصودة و غير المقصودة بخصائص أمنية مُحسّنة.

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


خصائص دالة التجزئة القوية

  1. إنتاج قيمة تجزئة تمثل كامل محتوى الرسالة.
  2. التمتع بخاصية أحادية الاتجاه بحيث لا يمكن استرجاع الرسالة من قيمة التجزئة.
  3. مقاومة إيجاد مدخل آخر ينتج القيمة نفسها ( Collision Resistance ).
  4. مقاومة الهجمات الإحصائية مثل هجوم عيد الميلاد ( Birthday Attack ).

أنواع خوارزميات التجزئة

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

الخوارزمية تعريفها
MD2 تُعد خوارزمية MD2 من خوارزميات التجزئة المبكرة، و تنتج قيمة تجزئة بطول 128 بت (16 بايت). صُممت للاستخدام في الأنظمة ذات الموارد المحدودة، إلا أنها بطيئة الأداء مقارنةً بالخوارزميات اللاحقة، و لم تعد مستخدمة في التطبيقات الحديثة نظراً لضعفها الأمني.
MD4 تنتج هذه الخوارزمية أيضًا قيمة تجزئة بطول 128 بت، وقد صُممت لتكون أسرع من MD2 و أكثر كفاءة على المعالجات الدقيقة. استُخدمت في بعض التطبيقات البرمجية التي تتطلب سرعة حساب عالية، إلا أنها تبيّن لاحقاً أنها تعاني من ثغرات أمنية تجعلها غير مناسبة للاستخدام في الأنظمة التي تتطلب مستوى أمان مرتفع.
MD5 تُعد MD5 تطويراً لخوارزمية MD4، و تنتج قيمة تجزئة بطول 128 بت مع زيادة في عدد العمليات الرياضية بهدف تعزيز الأمان. و على الرغم من انتشارها الواسع سابقاً، فقد ثبت تعرضها لهجمات التصادم، مما أدى إلى التوقف عن استخدامها في التطبيقات الحساسة مثل التوقيع الرقمي أو إصدار شهادات TLS/SSL.
HAVAL تمتاز هذه الخوارزمية بإمكانية إنتاج قيم تجزئة بطول متغير، و قد طُوِّرت بهدف تحسين مستوى الأمان مقارنة ببعض الخوارزميات السابقة مثل MD5، عبر زيادة مرونة عدد الجولات الحسابية و طول المخرجات.
SHA تمثل عائلة Secure Hash Algorithm أو SHA اختصاراً مجموعة من خوارزميات التجزئة التي طُورت لتوفير مستوى أمان أعلى. الإصدار الأولي منها ينتج قيمة تجزئة بطول 160 بت (20 بايت)، و قد طُوِّر لدعم متطلبات التوقيع الرقمي. وتتميز هذه الخوارزمية ببنية حسابية أكثر تعقيداً مقارنةً بالخوارزميات السابقة، مما يزيد من مقاومتها للهجمات الحسابية مثل هجمات القوة الغاشمة و هجوم عيد الميلاد.

شهدت هذه العائلة عدة تحسينات، حيث ظهر الإصدار SHA-1 ثم عائلة SHA-2 التي تشمل خوارزميات مثل SHA-256 و SHA-384 و SHA-512، و التي تُستخدم على نطاق واسع في التطبيقات الحديثة. كما تم تطوير SHA-3 ببنية تصميم مختلفة توفر مستوى أمان متقدم، إلا أن الاستخدام العملي الأكثر انتشاراً حالياً يتركز على SHA-256 ضمن عائلة SHA-2.

هجوم عيد الميلاد

لفهم مبدأ هجوم عيد الميلاد ( Birthday Attack ) في مجال التشفير، يمكن الاستعانة بمثال احتمالي كلاسيكي من الإحصاء. إذا افترضنا وجود مجموعة من الأشخاص في غرفة واحدة، و أردنا معرفة عدد الأشخاص اللازمين ليتجاوز احتمال وجود شخص يطابق تاريخ ميلاده تاريخ ميلاد فرد معيّن نسبة 50%، فإن العدد المطلوب يقارب 253 شخصاً، نظراً لأن البحث يتم عن تاريخ محدد من بين 365 يوماً.

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

تُطبَّق هذه الفكرة في علم التشفير على دوال التجزئة، حيث يكون إيجاد رسالة ثانية تُطابق قيمة التجزئة لرسالة معيّنة ( Second Preimage) ) أمراً صعباً للغاية، بينما يصبح إيجاد أي رسالتين مختلفتين لهما القيمة نفسها ( Collision ) أسهل نسبياً. فعلى سبيل المثال، يتطلب البحث المباشر عن تصادم مع قيمة تجزئة بطول 128 بت عدد عمليات يقارب 2128، بينما يمكن نظرياً العثور على تصادم بين رسالتين عشوائيتين باستخدام نحو 264 عملية فقط، و هو ما يفسر خطورة هذا النوع من الهجمات على الخوارزميات الضعيفة.


آلية تنفيذ الهجوم

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

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

الفرق بين سلامة الرسالة و التوقيع الرقمي

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

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

في التطبيقات العملية، يتم حساب قيمة تجزئة للرسالة باستخدام خوارزمية مثل SHA-256، ثم تُوقَّع هذه القيمة بخوارزمية غير متماثلة مثل RSA باستخدام المفتاح الخاص، و تُرسل الرسالة مع التوقيع الناتج. و عند الاستلام، يتم التحقق من التوقيع بالمفتاح العام و إعادة حساب التجزئة للرسالة و مقارنة القيمتين، و بذلك يتحقق كلٌّ من سلامة الرسالة و مصدرها.

البنية التحتية للمفتاح العام

البنية التحتية للمفتاح العام ( Public Key Infrastructure ) أو PKI اختصاراً ليست مجرد خوارزمية تشفير، بل تمثل إطاراً متكاملاً لإدارة الثقة الرقمية بين الكيانات على الشبكات. فهي تشمل آليات إصدار الشهادات الرقمية، والتحقق من صحتها، و إدارة المفاتيح، إضافة إلى دعم التوقيع الرقمي و ضمان سلامة البيانات وعدم الإنكار.

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


المكونات الرئيسية للبنية التحتية للمفتاح العام

  1. سلطات الشهادة ( Certificate Authorities ) و تختصر بالحرفين CA.
  2. سلطات التسجيل ( Registration Authorities ) و تختصر بالحرفين RA.
  3. مستودعات أو أدلة الشهادات ( Certificate Repositories ).
  4. أنظمة إلغاء الشهادات ( Certificate Revocation Systems ).
  5. آليات النسخ الاحتياطي و استرجاع المفاتيح ( Key Backup and Recovery ).
  6. أنظمة التحديث الدوري للمفاتيح ( Automatic Key Update ).
  7. خدمات ختم الوقت الآمن ( Secure Timestamping ).
  8. البرمجيات العميلة المستخدمة للتحقق من الشهادات و إدارتها

إدارة المفاتيح

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

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


متطلبات إدارة المفاتيح

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

و من الجدير بالذكر أن إدارة المفاتيح يمكن أن تُنفذ بأساليب يدوية أو آلية، إلا أن الأتمتة غالباً ما تكون أكثر أماناً و موثوقية في البيئات الحديثة.


مبادئ إدارة المفاتيح

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

مستويات التشفير

يمكن تقسيم التشفير لمستويان: على مستوى الوصلة بين العقد المتجاورة في الشبكة أو من طرف لطرف آخر.


التشفير على مستوى الوصلة

يشير التشفير على مستوى الوصلة ( Link Encryption ) إلى حماية الاتصال بين عقدتين متجاورتين في الشبكة، بحيث تُشفَّر البيانات أثناء انتقالها عبر كل وصلة اتصال. و يشمل ذلك تشفير محتوى الرسالة بالإضافة إلى رؤوس الحزم ( Headers ) وذيولها ( Trailers ) و معلومات التوجيه المرتبطة بها. و عند انتقال البيانات عبر كل نقطة عبور ( Hop يقوم الجهاز الوسيط — مثل الموجّه — بفك التشفير مؤقتاً لقراءة معلومات التوجيه، ثم يعيد تشفيرها قبل إرسالها إلى العقدة التالية.

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


التشفير من طرف إلى طرف

يعتمد التشفير من طرف إلى طرف ( End-to-End Encryption ) على مبدأ تشفير محتوى الرسالة لدى المرسل بحيث لا يمكن فكها إلا لدى الطرف المستقبل، دون أن تتمكن الأجهزة الوسيطة من الاطلاع على مضمونها. و في هذا النموذج، لا تُشفَّر معلومات التوجيه مثل العناوين أو رؤوس الحزم، نظراً لحاجة أجهزة الشبكة إلى قراءتها لتوجيه البيانات عبر المسارات المناسبة.

يُنفَّذ هذا النوع من التشفير عادةً على مستوى التطبيقات أو البروتوكولات العليا، و يوفر مستوى مرتفعاً من السرية، إذ تبقى البيانات محمية طوال مسارها عبر الشبكة. و مع ذلك، تظل البيانات الوصفية ( Metadata ) — مثل عناوين المصدر و الوجهة، وحجم البيانات، و توقيت الإرسال — مكشوفة، و هو ما قد يتيح استنتاج معلومات معينة حول طبيعة الاتصال رغم بقاء محتوى الرسالة نفسه مشفّراً.

آخر تحديث في 15-02-2026

waleed smadi

طالب علم . احب البرمجة والأمن السيبراني.

تعليقات

لا يوجد أي تعليق بعد

أضف تعليق

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