كيف تحقق لبياناتك أعلى مستويات الحماية ؟
منذ ظهور الحاسب والإنترنت وتطورهما المتزايد الذي أدخلهما في كل نشاطات حياتنا اليومية والعملية وحتى وقتنا هذا و العمل على إحلال طرق تقنية حديثة في حفظ و تبادل المعلومات بدلاً من تلك التقليدية القديمة مستمر , ومع هذا الإحلال الاختياري أحياناً والإجباري أحياناً أخرى ظهرت سلبيات وإيجابيات , فمع إيجابية تسهيل طرق تبادل المعلومات وحفظ المستندات- إن كان على الإنترنت أو على الحاسب الآلي- مما يوفّر الجهد والوقت ظهرت سلبية كبيرة تتلخص في ازدياد قلق المستخدم بشأن خصوصيته و سرية معلوماته وبقائها في مأمن بعيداً عن أيدي المتطفلين ولأن الإحلال كان في كثير من الأحيان إجبارياً لم يكن هناك بد من البحث عن طرق تحافظ على سرية المعلومات وتزيد من أمنية الطرق المستخدمة في نقلها.
فكانت نقطة الانطلاق هي السلبية التي ظهرت لتكون أولى الحلول المقدمة هي علم التشفير Encryption)) وتقوم فكرة هذا العلم على إيجاد برامج لها القدرة على تحويل المعلومات المقروءة إلى صيغة غير مقروءة ( مشفّرة ) وبذلك تمكن المستخدم من تشفير بياناته وحمايتها من غير المسموح لهم بالإطلاع عليها إلا أن علم التشفير علم أعمق بكثير من أن تحصره جمله تعريفيه واحده له أنواع وتقنيات يقوم عليها وعلى المستخدم أن يعيها بشكل جيد حتى يحسن اختيار الأنسب له . فيجب أن يحدد المستخدم مالذي يريد تشفيره ولماذا ؟
حيث ينقسم التشفير لنوعين : النوع الأول يُدعى بالتشفير ذا الاتجاه الواحد(one way)يتم فيه تشفير البيانات دون إتاحة إمكانية فك التشفير مطلقاً مع إنتاج مفتاح (Key)معين , يفيد هذا النوع في تشفير البيانات التي نريد التأكد من صحتها دون أن نعرف محتواها أقرب وأسهل مثال تقريبي لاستخدامات هذا النوع هو تشفير كلمات السر (password) فلو أخذت كلمة سر من مستخدم وأدخلتها على برنامج تشفير ذا اتجاه واحد ونتج لي المفتاح -وأنا إلى هذا الوقت لا أعرف ماهي كلمة السر- بعدها استلمت كلمة سر أخرى وفعلت بها مثل ما فعلت بالأولى ونتج لي مفتاح ثاني فإن كان المفتاحين متماثلين فالمحتوى متطابق وكل هذا حدث وأنا لم أطلع على المعلومات المشفرة , فهذه الطريقة تخدم المستخدم في حماية البيانات من التلاعب وفي مطابقة كلمات السر ومن أشهر خوارزمياته md5 ( massage Digital version 5)تقنية خاصة بتشفير كلمة السر. ( بقية المقال بعد الفاصل )
النوع الثاني : التشفير ذا الاتجاهين two ways)) وفي هذا النوع يكون هناك تشفير وفك تشفير وكلها تقوم على أساس مفتاح معين يتولى مهمة الفك (decode) والتشفير , فإن كان المفتاح المستخدم في عملية التشفير(encode) والفك واحد سُمي هذا النوع بالتشفير المتناظر(Symmetric Key Encryption) , وإن احتجنا لمفتاحين أحدهما عام لعملية التشفير والآخر خاص لعملية الفك مثلاً فهنا يسمى بالتشفير غير المتناظر(Asymmetric key encryption). التشفير المتناظر يكون مفيد في حال أن احتاج المستخدم لتشفير بياناته على القرص الصلب مثلاً فتكون كلمة السر لفك التشفير عن البيانات هي المفتاح الناتج من عملية التشفير وفي حال فقدانه فعلى بياناته السلام خصوصاً إذا كان طول مفتاح التشفير أكبر من 128 بت فحتى لو استخدم طريقة (Brute force Attack) لكسر التشفير بالتجريب للمفاتيح المحتملة ( بحيث يجرب كل المفاتيح المحتملة حتى يتوصل للمفتاح الصحيح ) فإن الأمر سيطول بشكل لا يمكن تخيله فكلما زاد طول المفتاح كلما زاد وقت الفك حيث قوة التشفير تتوقف على طول المفتاح مع قوة الخوارزمية المستخدمة .
أشهر خوارزميات التشفير المتناظر : Blowfish, digital Encryption standard (DES), tiny
Encryption Algorithm (TEA) , tripe DES , international data Encryption
طريقة التشفير المتناظر تعني أن بمجرد معرفة مفتاح التشفير سيتم فك التشفير بطريقة بديهية فحتى يفك المستقبل التشفير عن الملف لابد أن يصله المفتاح من المرسل وهنا سيضطر المرسل إلى الإستعانه بوسيط يرسل معه المفتاح إلى المستقبل مما يعني أن إمكانية كشف المعلومات وارده إضافة إلى أن كل من يُشفّر البيانات سيكون قادر على فك التشفير فماذا لو كان المستخدم يدير مجموعة موظفين وطلب منهم تشفير بياناتهم بمفتاح معين وإرسالها له ليقوم هو بفك تشفيرها بمفتاحه بحيث أن لو مرّت هذه البيانات على بقية الموظفين فإنهم لا يتمكنون من فك التشفير مع قدرتهم على التشفير في هذه الحالة يلجأ إلى التشفير غير المتناظر وحتى يقوم المستخدم باستخدام برامج التشفير غير المتناظر لابد أن يعرف الآلية التي تعمل عليها هذه البرامج فهي تقوم على 3 عناصر مهمة : 1- المفتاح العامpublic)) 2- المفتاح الخاص(private ) 3- رقم أساس الجديد بين هذه الثلاث أمور هو آخرها فالعام يُقصد به المفتاح المعروف لدى الكل بينما الخاص هو الذي يستخدمه المستخدم في فك التشفير ولا يعرفه سوى شخص واحد أما الرقم الأساس فهو نتاج ضرب المفتاح العام بالمفتاح الخاص , فكيف لي أن أتأكد من أن هذا المفتاح العام يوازيه هذا المفتاح الخاص مالم تتوفر معادلة في حال تحققها تتم عملية فك التشفير ؟! وهذا ما يقوم عليه فك التشفير في التشفير غير المتناظر . رقم الأساس هو ما يُسمى بالشهادات الرقمية (digital certificate) وهي تصدر عن هيئات متخصصة في إصدار مثل هذا النوع من الشهادات – مثل – verisign , , Geotrust – تشهد فيها أن هذا المفتاح العام هو المفتاح الصحيح لمزود معين( يمكنكم الإطلاع على الشهادات الرقمية من خلال المتصفح ففي الفايرفوكس tools-> option ->advanced->view certificates ->Authorities ), ظهرت هذه الشهادات لتحل مشكلة اختراق عمليات التشفير التي كانت تتم بين المستخدم والمزودات , حيث لكل مزود مفتاح عام يُشفر به البيانات ومن ثم يرسلها للمستخدم ليقوم المستخدم بفكها بهويته الشخصية – مفتاحه الخاص – ومن ثم يرسل الرد بعد تشفيره بمفتاحه الخاص للمزود ولكن كيف للمستخدم أن يكتشف أنه يتعامل مع مخترق بدلاً من المزود و هو ما يقوم عليه هجوم يدعى (man in middle attack) فينتحل المخترق شخصية المستخدم بالنسبة للمزود وينتحل شخصية المزود بالنسبة للمستخدم فيأخذ أولاً البيانات المشفرة من المزود ويفك تشفيرها بمفتاحه الخاص ثم يعيد تشفيرها بمفتاحه العام هو ويرسلها للمستخدم ليقوم المستخدم بفك تشفيرها بمفتاحه هو ويعيد بعد ذلك الرد المشفر بمفتاحه الخاص للمخترق الذي يستلم الرسالة المشفرة ويكمل عملية الاحتيال على المزود.
من أشهر خوارزميات التشفير غير المتناظر : pretty Good privacy (PGP), Reivest shamir & aselman (RSA) و الجدير بالذكر أن عملية التشفير غير المتناظر عملية مرهقة للمعالج وتتطلب وقت خصوصاً مع الرسائل الطويلة لذا فهي غير عملية مع الرسائل الطويلة.
لنفترض أنه تم تشفير البيانات بأحد الطرق الثلاث أعلاه و بعد التشفير تم إرسال الرسالة ووصلت للمستخدم المقصود – المُستقبل – واستقبلها هو بدونه ليفك التشفير عنها ويقرأها , إلى هنا الأمور تسير كما يريد المستخدم الأول ولكن مالذي يضمن للمستخدم الثاني أن الرسالة التي بين يديه هي ذاتها الرسالة التي أرسلها له المستخدم الأول ؟ تبعاً لهذه المشكلة ظهرت التواقيع الإلكترونية (Digital Signature) وهي شبيه بالتواقيع العادية فهي تضمن أن هذه الرسالة وصلت من ذلك المستخدم لأنه وقع عليها قبل أن يرسلها وهي مفيدة كذلك في عدم الإنكار وفي إثبات الشخصية وتقوم فكرتها ومن أشهر خوارزمياتهاRSA, Elliptic Curve .
ويكون الموضوع أجمل لو استطاع المستخدم بعد أن يشفر البيانات ويضيف توقيعه الرقمي عليها أن يرسلها دون أن يعلم أحد – باستثناء المستقبل- بوجود رسالة مشفرة , فلا تتعرض الرسالة لا لهجوم ولا لتخمين مفتاح ولا لشئ وهذا ما أدى إلا دخول علم إخفاء المعلومات ((Steganography ليكون خير معين لعلم التشفير ويعمل على إخفاء المعلومات المشفرة داخل وسط ( سواء كان ملف صوتي أو صوره أو مقطع فيديو أو ملف آخر ) لتكون الخطوة الأولى تشفير الرسالة بالطريقة المناسبة والخطوة الثانية إخفائها بالطريقة الآمن وعلم إخفاء المعلومات أيضاً ليست بالعلم الذي يمكن احتوائه بكلمه أو كلمتين فهو علم قديم عميق متشعب له برامجه وطرقه المتنوعة والمتقدمة والتطوير فيه مازال جارياً كما هو الحال مع التشفير .
__________
هذا المقال ماهو إلا مقال تعريفي – أرجو من الله أن ييسر لنا تخصيص مقالات أخرى للتعمق أكثر في كل فقرة من فقرات هذا المقال على حدا مع التطبيق عملياً – أملي أن يكون ما كتبت مفتاحاً لكل مهتم ليتعمق أكثر ويتقن أساليب فك التشفير المناظر لعلم التشفير و علم تحليل الإخفاء ليستخدمهما في هذا الوقت الذي نحن في أحوج ما نكون لكشف دسائس العدو وما يكيده لإخواننا في غزة ليكون أعظم مساعده نقدمها لهم بعد الدعاء لهم وكما قال الشيخ محمد المنجد هذا الأمر يعتبر نوع من أنواع الجهاد .
أجل التشفير علم هام والأمام بخوارزمياته مفيد لدرجة كبيرة في حال كنا على درجة عالية من المهارة في أحدى لغات البرمجة
سمعت انه قد تم فك تشفير خوارزمية md5 بطريقه عمليه
(ليس بالتخمين طبعا!)
MR.Ahmed.M.G
وهو كذلك اتقان لغات البرمجة شيء ضروري من أجل كتابة الخوازميات
كنت أنوي ادراج بعض النماذج البرمجية التطبيقية على لغة السي ++ إلا أن هذا المقال كما ذكرت تعريفي لم أحاول فيه التعمق , إلا أنني سأفعل ذلك في مقالات قادمة متخصصة في علم التشفير – إن شاء الله –
أشكرك
Mr.Fahad
نعم أذكر أنني سمعت ذات الخبر وأعتقد أن الطريقة كانت باستخدام نفس الخوارزمية
ومع ذلك لم أجد لها برامج تطبيقية تجعلني أتأكد من صحة هذه المعلومة لذا اكتفيت بذكر المعلومة المؤكدة وهي أن خوارزمية MD5 خوازمية ذات اتجاه واحد لا يمكن فكها – حتى اشعار آخر ! –
شكراً لك
تم المشاركة في Google Reader
موضوع رائع وأعجبني كثيراً
شكراً لك أخت شاطئ الإبداع
ومرحباً بعودتك وحمداً لله على سلامتك
أ. عبد الملك الثاري
شكراً لدعمكم المتواصل
لا حرمكم الله الأجر
تحياتي
معلومات هامة بلاشك… مشكورين
Mr.Tea
الشكر موصول لكم
تحياتي
يعطيك العافيه اختي شاطئ
معلومات قيمة جدا عن التشفير وكيفيه حماية بياناتنا
واصلي بارك الله فيك
و أخيراً .. وصلنا لمقالات الإبداع .
ماشاء الله عليك ِ شرح واضح و مفهوم و من الجميل تثقيف العوام في هذا المجال .
اتذكر عندما درست مادة (الأمان المعلوماتي )
استمتعت جداً بجزء التشفير . فبجانب أنه علم هام
لا يستغنى عنه في كل حين أنه أيضاً علماً ممتعاً .
لكن في مقالتك اتضح لي فلسلفة تقسيم أنواع التشفير
فنحن لم ندرس سوى أربعة طرق و هي :
1- طريقة Caesar
2-طريقة Monoalphabetic
3- طريقة Playfair
4- طريقة Vigenere
بوركتِ مناير ^_^
أستاذ سعود الهواوي :
الله يعافيك أستاذي , شكراً لتعقيبك
تحياتي
أستاذه فردوس :
حياك الله ياغالية :)
شكراً لإضافتك , ربما لأنكم لم تتعمقوا في التشفير بصورة كامله اكتفيتم بالتعرف على طرقه
كنت أنوي التحدث عن طريقة شيفرة قيصر كونها تطبيق واضح للشرح النظري أعلاه إلا أن طول المقال منعني
سعيده بأن هذا المقال المتواضع حقق لك إضافة :)
تحياتي