علم التشفير (Cryptography) واحدة من المجالات المهمة والمعقدة في نفس الوقت في الكمبيوتر، وقد ازداد الطلب على تقنيات التشفير في البرامج التي يستخدمها العامة من الناس مع انتشار الانترنت قبل عشر سنوات بسبب الحاجة لنقل المعلومات السرية والخاصة على شبكة عمومية يسهل اعتراض المعلومات فيها والتجسس على اتصالاتها.
هنالك عدة خطط للتشفير (Encryption Schemes)، أو يمكننا أن نسميها أيضا طرقا أو أساليب للتشفير، لكل منها نقاط قوتها وضعفها واستخداماتها، وهذه الأساليب هي أفكار عامة وليست تطبيقات عملية للتشفير، أما التطبيقات العملية للتشفير فتسمى خوارزميات التشفير (Encryption Algorithms)، وسيتضح الفرق بينهما أكثر عندما نأخذ أمثلة عل كل منهما.
سأحاول أن أتناول خطط التشفير المعروفة واحدة تلو الأخرى في هذه المدونة ، وسأبدأ بالتشفير باتجاه واحد، حيث سأشرح هذه الخطة وأتناول أشهر خوارزمياتها وبعد ذلك أمثلة على استخدامها، وهذه الأمثلة هي أهم ما في الموضوع.
التشفير باتجاه واحد (One way encryption) هو أسلوب من أساليب التشفير تأخذ الرسالة المراد تشفيرها وتحورها لتخرج بشيء يسمى المفتاح الشفرة (Hash Key)، وأهم في هذا المفتاح هو أنه لا توجد طريقة فيه لفك التشفير والحصول على الرسالة الأصلية منه، ولهذا السبب سمي هذا الأسلوب بأسلوب التشفير باتجاه واحد.
ومن أشهر خوارزمياته المستخدمة حاليا md5، ويعتبر البعض خوارزمية sha1 خليفة الخوارزمية md5، وقد بدأت بعض المشاريع بالانتقال تدريجيا لاستخدامها بدلا من md5.
وقد تتسائل عن الحاجة لتشفير البيانات إذا لم تكن قادرا بعد ذلك على فك تشفيرها، لكن هذا الأسلوب من أساليب التشفير هو في الواقع أكثر الأساليب استخداما، وهو يستخدم في الأنظمة التي تحتاج فيها للتحقق من صحة معلومات ما دون الحاجة لمعرفة فحوى هذه المعلومات، وذلك لأن تشفير نفس الرسالة بنفس الخوارزمية ينتج مفتاح الشفرة نفسه في كل مرة.
وسنأخذ أمثلة عملية على ذلك.
تخزين كلمات المرور في ملف قابل للاختراق
لنفرض أن لديك موقعا على الإنترنت وكنت تريد تخزين كلمات المرور للمشتركين فيه، لكنك كنت قلقا من أن يتمكن مخترق ما من الوصول إلى هذه المعلومات، خاصة وأن الكثير من المستخدمين يستخدمون كلمات المرور نفسها في أكثر من مكان، وبالتالي قد يستخدم المخترق هذه المعلومات لاختراق صناديق البريد الالكترونية للمشتركين في خدمتك عبر تجربة كلمة المرور نفسها، أو اختراق اشتراكاتهم في أية خدمات أخرى، مما سيعود عليك بسمعة سيئة جدا.
في هذه الحالة، يمكنك أن تقوم بتشفير كلمات المرور باستخدام شفرة md5 مثلا وتخزين مفتاح الشفرة في الملف، وهنا لن يتمكن المخترق أبدا من معرفة كلمة المرور حتى لو حصل على الملف الذي يحتوي على مفاتيح الشفرة لكلمات المرور.
وفي المقابل، فإنه عندما يقوم المستخدم الذي يعرف كلمة المرور الصحيحة الخاصة به بمحاولة الدخول على الخدمة، يمكن لبرنامج أن يقوم بتشفير كلمة المرور التي أدخلها المستخدم باستخدام md5 أيضا وبعد ذلك مقارنة مفتاح الشفرة الناتجة بمفتاح الشفرة المخزن في ملف المستخدم، فإذا كان المستخدم قد أدخل كلمة المرور نفسها فإن مفتاح الشفرة الذي سينتج عن تشفيرها هو نفس مفتاح الشفرة المخزن بالملف وبالتالي نعلم بأن كلمة المرور صحيحة.
ولهذا السبب قلت في البداية أننا نستخدمها عندما نريد التحقق من صحة المعلومات دون الحاجة لأن نعرف فحوى المعلومات، فهنا مثلا نريد التحقق من صحة كلمة المرور المدخلة دون أن يهمنا محتوى كلمة المرور نفسه.
إرسال كلمة المرور بصورة مشفرة على الشبكة
في المثال السابق قلنا بأننا سنقوم بتشفير كلمة المرور في ملف المستخدم المخزن على السيرفر، وفي حال حدث اختراق فإن المخترق لن يتمكن من معرفة كلمة المرور الحقيقية، لكن هنالك مشكلة أخرى، وهي أن البيانات في أغلب المواقع سترسل على الشبكة عبر اتصال غير آمن، وذلك يعني بأن من السهل معرفة كلمة المرور التي أرسلت عبر الشبكة عن طريق التنصت على الاتصال.
الحل الأفضل من الناحية الأمنية هو استخدام تقنة SSL لحماية الاتصال، لكن ذلك خيار غير عملي في أغلب المواقع بسبب تكاليف الحصول على شهادة SSL وبسبب المتطلبات التقنية لاستخدام هذه التقنية على المزود، لذا فإننا مضطرون لايجاد حل وسط.
يمكننا مبدئيا أن نقوم بتشفير كلمة المرور قبل ارسالها، ومقارنتها بالنسخة المشفرة عند وصول كلمة المرور إلى هناك، وهنا نكون قد تأكدنا من أن المتجسسين على الاتصال لن يعرفوا كلمة المرور، لكن المشكلة هي أن كلمة المرور المشفرة أصبحت الآن هي التي يتوقعها برنامج ليسمح لك بالدخول إلى النظام، وبالتالي فإن الكلمة المشفرة نفسها تصبح أمرا حساسا وسريا في نظامك، وبالطبع لن يتمكن المخترق أو المتنصت من معرفة كلمة المرور، لكنه سيتمكن من الدخول إلى النظام باستخدام مفتاح الشفرة.
الحل لهذه المشكلة يكمن في أسلوب يدعى التحقق بالتحدي والرد (Challenge-Response authentication)، وفي هذا النظام يقوم المزود (السيرفر) بارسال نص عشوائي للزبون فيقوم الزبون بأخذ كلمة المرور التي أدخلها المستخدم ويضيف إليها هذا النص العشوائي ويشفرهما معا ويرسل مفتاح الشفرة الناتج عن هذه العملية إلى المزود، فيقوم المزود من جانبه باضافة هذا النص العشوائي إلى كلمة المرور المخزنة في ملف المستخدم وتشفيرهما ومقارنة مفتاح الشفرة الناتج بمفتاح الشفرة الذي أرسله الزبون، وأهم نقطة في هذا النظام أن النص العشوائي الذي يرسل إلى الزبون يجب أن يتغير مع كل مرة يحاول فيها المستخدم الدخول.
بهذا الطريقة، حتى إذا تمكن المتنصت من الحصول على مفتاح الشفرة الذي أرسله المستخدم إلى المزود، فإنه لن يتمكن من استخدامه مرة أخرى، لأنه المزود سيرسل نصا عشوائيا مختلفا في كل مرة ولن يسمح للمتنصت باستخدام نفس النص العشوائي الذي استخدمه المستخدم من قبل.
هذه الطريقة قد لا تكون الطريقة التي تقرأ عنها عند قراءة الكتب المتخصصة تحت عنوان نظام التحدي والرد، لكنها أقرب شيء لتحقيق الهدف نفسه بسهولة وفعالية باستخدام التشفير باتجاه واحد، أما أشهر الأمثلة على هذا النظام فهو بروتوكول كيربيروس الذي يستخدم في الشركات والذي يعتمد على خطة التشفير المتناظر التي سأتحدث عنها في المرة القادمة إن شاء الله.
التأكد من عدم التلاعب ببيانات ما
واحدة من استخدامات نظام التشفير باتجاه واحد أيضا هو للتحقق من عدم التلاعب ببيانات أو ملفات ما، فإذا قمت مثلا بالحصول على برنامج ما من أحد الزملاء، فإن هنالك احتمالا بأن هذا البرنامج قد يكون قد تم التلاعب به عمدا أو أنه أصيب بفيروس ما أو أنه حدث به تغيير غير متعمد أثناء تنزيله من الإنترنت مثلا بسبب عطل ما في الاتصال، فنحن بحاجة هنا لطريقة ما نتأكد فيها من تطابق نسخة البرنامج التي لدينا مع النسخة الأصلية للبرنامج.
لهذا السبب تقوم الكثير من مواقع البرامج مفتوحة المصدر وبعض الشركات بوضع مفتاح تشفير البرنامج الأصلي الذي تنتجه بنظام md5 وsha1 لتتمكن من تشفير نسخة الملف التي لديك لمقارنة مفتاح التشفير الناتج بمفتاح التشفير المنشور على موقع الشركة والتأكد بالتالي من أن البرنامج متطابق ولم تحدث عليه أية تغييرات.
كذلك فإن هذه الطريقة تستخدم ضمن الأجهزة كأسلوب أمني للتأكد من عدم حدوث تغييرات في الأجزاء الحساسة من النظام، فتقوم بعمل فحص دوري للبرامج ولملفات الأساسية في النظام وتخزين مفاتيح تشفيرها في قاعدة بيانات محفوظة، ومع تكرار هذه العملية دوريا يقوم النظام بالتأكد من أن مفاتيح التشفير للبرامج لم تتغير، وإذا حدث تغير ما فإن النظام يقوم باصدار التحذيرات الأمنية المطلوبة إلى مدير النظام، وهذا النظام مفيد جدا بعد اكتشاف حادثة اختراق للنظام لمعرفة ما إذا كان المخترق قد تلاعب بملفات النظام، بشرط أن يكون هنالك قاعدة بيانات تحتوي على مفاتيح التشفير لبرامج النظام قبل الحادثة وأن تكون قاعدة البيانات هذه محمية من التلاعب بحيث نعلم بأن المخترق لم يقم بالتلاعب حتى بقاعدة البيانات هذه، ويكون ذلك عادة بحفظ قاعدة البيانات بصفة دورية في جهاز منفصل يكون على درجة عالية جدا من الأمان أو بطباعتها على الورق وأرشفتها.
3/08/2005 @ 12:44 pm
المومن قال:
ايريد المزيد لمعرفة الموضوع و شكرااااااااً.
17/08/2005 @ 5:50 pm
حبيب الحبيب قال:
السلام عليكم
لقد اطلعت علي مدونتكم الرائعة واريد ان اتسال عن شي ما الا وهو
ان المشفرين يدعون ان التشفير كامل تماما لحمايه المعلومات واي تحكم اخر ليس ضروري مع التشفير -ارجو ان تنتقد هذه النظريه
والسلام عليكم
طالب دراسات عليا
17/08/2005 @ 7:52 pm
أحمد الهاشمي قال:
الأخ العزيز “المؤمن” .. حياك الله، وإن شاء الله يكون هنالك المزيد.
الأخ العزيز الحبيب ..
وعليكم السلام ورحمة الله وبركاته ..
في الحقيقة، لم أفهم سؤالك جيدا، فهل لك أن توضح لي أكثر ما الذي تعنيه بأن أي تحكم آخر ليس ضروريا وما هو السياق الذي تتحدث عنه، يا حبذا تعطيني مثالا عمليا على الكيفية التي يدعي بها المشفرون بأن التشفير كاملا، وما هي نوعية التحكمات الأخرى التي تقترحها الفئة الأخرى حتى أفهم الصورة كاملة، لكنني سأجيب بثلاثة أمور عامة.
الأمر الأول ..
إذا كنت سؤالك هو هل يمكن أن نستخدم التشفير فقط دون أي شيء آخر كنظام متكامل لتبادل المعلومات بصورة آمنة على الإنترنت، فهذا الأمر إلى الآن غير ممكن كما وضحت في مقالاتي الثلاثة، ففي النهاية تظل مشكلة التأكد من صحة المفاتيح المتبادلة، والحل لهذه المشكلة يكمن حاليا في نظام الثقة الهرمي، بحيث يأتي البرنامج (مثلا Internet Explorer) مع ثقة مبيته فيه في بعض الجهات التي سميناها Certification Authorities مثل VeriSign وGeotrust.
وبعد ذلك يستطيع البرنامج أن يفرق بين المعلومات الصادرة من هذه الجهات والصادرة عن غيرها بثقة، وعندها يستطيع أن يثق بالشهادات التي تقدمها له المواقع الأخرى على الانترنت والتي يريد أن يجري معها اتصالات آمنة.
الأمر الثاني ..
فهنالك مسألة أخرى في التشفير، وهي قضية لم أتطرق لها في مقالاتي الثلاثة، وكنت أعتزم طرحها بصورة أكثر تفصيلا في مقالة مستقلة، وهي أن التشفير في الواقع أمر يعطي أمانا عمليا، وليس أمانا نظريا، فنظريا يمكن كسر أي نوع من أنواع التشفير وبفكرة بسيطة جدا وهي فكرة تجربة كل المفاتيح الممكنة، وتسمى هذه الطريقة (Brute Force Attack)، وعندما يقوم البرنامج بتجربة كل المفاتيح المحتملة، فإنه سيتمكن بالتأكيد من الحصول على المعلومات.
المشكلة بالطبع في هذه الطريقة بأن العمليات التي تجري في عملية التشفير معقدة جدا، لذا فإنها تستغرق وقتا طويلا نسبيا، هذا الوقت قد يكون غير محسوسا عند فك تشفير رسالة واحدة لمرة واحدة فقط باستخدام المفتاح الصحيح على كمبيوتر بمعالج حديث نسبيا، لكن إذا كنت تريد أن تحاول فك هذه الرسالة الواحدة لعدد كبير من المرات، تجرب في كل مرة منها مفتاحا جديدا لفك التشفير، فإن ذلك سيستغرق وقتا أطول، وسيحتاج إلى معالجات ضخمة وقوية جدا.
هنا يأتي دور طول مفتاح التشفير، فربما تكون قد سمعت عن تشفير بمفتاح طوله 128 بت، في مقابل التشفير بمفتاح طوله 256 بت، كلما ازداد طول مفتاح التشفير ازداد الوقت الذي تحتاجه لتشفير الرسالة الواحدة، وازداد معه عدد الاحتمالات الممكنة التي يجب تجربتها لفك التشفير، وبالتالي أصبح من الأصعب فك تشفير البيانات باستخدام طريقة تجربة المفاتيح.
وللعلم، إذا كان طول المفتاح المستخدم هو 128 فذلك يعني بأن هنالك عددا من الاحتمالات لهذا المفتاح يساوي 2 أس 128، وإذا حسبتها ستجد بأن عدد الاحتمالات أكثر من الرقم 3 أمامه 38 صفرا، أو على وجه التحديد الرقم هو:
340282366920938463463374607431768211456
لاحظ أيضا بأن كل بت تزيده يضاعف عدد الاحتمالات، فإذا استخدمت مفتاحا طوله 129 بت بدلا من 129 بت فإن عدد الاحتمالات سيتضاعف، وإذا استخدمت مفتاحا طوله 256 بت بدلا من 128 بت فإن عدد الاحتمالات سيصبح عدد احتمالات مفتاح 128 بت مضروبا في نفسه، والرقم سيكون طويلا جدا لدرجة أنني أتوقع أن تصميم الصفحة لن يحتويه إذا وضعته هنا، وهو أكبر من الرقم 1 أمامه 77 صفرا.
وحتى تستطيع تجربة مثل هذه الأعداد الكبير من الاحتمالات فإنك تحتاج إلى أجهزة كمبيوتر ضخمة تعمل ليلا ونهارا على تجربة الاحتمالات، وقد قرأت قبل بضع سنوات في احدى المقالات عن تشفير Triple DES (ولا أعلم مدى صحة هذه المعلومة) بأنك إذا جمعت كل السيليكون الموجود في الكرة الأرضية لصناعة معالجات أقوى كمبيوتر يمكن نظريا صناعته على الكرة الأرضية، وحاولت تجربة كل احتمالات Triple DES فإننا سنصل إلى الوقت الذي توقع فيه العلماء انفجار الشمس قبل أن نتمكن من تجربة كل هذه الاحتملات.
لهذا السبب يعتبر التشفير حماية عملية وليست نظرية.
والقانون العملي الذي يستخدم لحماية البيانات بالتشفير عادة هو أن التشفير يكون فعالا عندما تكون تكلفة كسره أعلى من قيمة البيانات المستخدمه لتشفيره، فإذا كنت قرصانا وتريد تشفير خريطة الكنز لارسالها إلى أحد ما، فإن التشفير سيكون فعالا إذا كان فكه يتطلب الحصول على كمبيوتر جبار يكلف مليون دولار بينما قيمة الكنز الحقيقية هي ألف دولار.
الأمر الثالث ..
انتبه إلى أن التشفير جيد فقط على فرض أن المعلومات التي تريد أن تشفرها والمفتاح الذي تحتاجه لفك التشفير كلاهما محمي من المخاطر الأخرى، فإذا كنت مثلا تستخدم التشفير لنقل كلمة المرور عبر الانترنت حتى لا يستطيع أحد معرفتها أثناء انتقالها من الشبكة، فإن ذلك لا يحميك من الفيروسات وبرامج التجسس التي قد تكون موجودة على جهازك وتستطيع الحصول على كلمة المرور هذه أثناء ادخالك لها.
أو إذا قمت بتخزين المفتاح الذي تحتاجه لفك التشفير في نفس المكان الذي خزنت به المعلومات المشفرة، فالأمر أشبه هنا بشراء أفضل خزنة في العالم، وكتابة تركيبة الأرقام التي تفتحها على باب الخزنة!
أو إذا كنت تكتب كلمات المرور المهمة على أوراق أو في دفتر أرقام هاتفك، وتضعها في أماكن تسهل سرقتها منه.
أرجو أن تكون قد وجدت الاجابة على سؤالك.
7/09/2005 @ 10:34 am
خالد محمد قال:
اريد معرفة ماهى الفوائد والسلبيات التى تواجة مسخدمى التشفير
8/09/2005 @ 4:47 am
أحمد الهاشمي قال:
الأخ العزيز خالد محمد ..
الفوائد والسلبيات قد تعتمد على السياق، لكن بشكل عام، الفوائد هي أنها توفر طريقة آمنة لتخزين أو تبادل المعلومات في بيئة غير آمنة، أما السلبيات فهي أنها تستهلك من طاقة المعالج وقد تؤدي إلى بطئ في نقل البيانات، بالإضافة إلى مواجهة خطورة ضياع مفتاح فك التشفير الذي يعني ضياع البيانات كلها.
27/09/2005 @ 6:33 pm
عبدالله قال:
اخي العزيز انا اريد اعلم كيف يتم تشفير الرقم السري عن طريق md5 اريد منك اخي العزيز شرح لي كيف يتم استخدامها وكيف اضعها في الموقع الذي اريد تصميمه لاني بصراحه لا اعلم عن md 5 سوى اسمها فقط فارجوا منك المساعده وارسالها لي على الايميل
شاكر ومقدر لك جهودك
4/10/2005 @ 1:12 am
أحمد الهاشمي قال:
الأخ العزيز عبدالله ..
في البداية أعتذر عن التأخر في الرد.
بالنسبة لسؤالك، فكما شرحت في المقالة، هنالك أكثر من أسلوب لاستخدام md5، وكل واحد منها يحقق أمرا ما.
يمكنك كبداية استخدام الدالة md5 التي في برنامج MySQL عند تخزين البيانات في قاعدة البيانات، واستخدامها بعد ذلك عندما يقوم المستخدم بادخال المعلومات.
عند تغيير كلمة المرور باستخدام PHP و MySQL:
وعندما يريد المستخدم دخول الموقع، فإنك ستتأكد من صحة كلمة المرور كالتالي:
إذا أردت أن تزيد من أمان هذا الأسلوب، يمكنك إضافة مقطع ثابت تختاره عشوائيا في اليوم الأول من إنشاء الموقع، ويمكن أن يكون أي شيء، بشرط أن لا تغيره لاحقا، فيصبح السطران السابقان كالتالي:
هنالك أيضا دالة اسمها md5 في PHP، وهنالك أيضا دالة MD5 لجافا سكريبت يمكنك تنزيلها من على الإنترنت.
16/12/2005 @ 1:32 am
الاحمدي قال:
عندي مشروع تخرج في التشفير واريد منك المساعده اذا امكن
هذا هو الموضوع (المنهجيه المشروع)
استخدام دوال رياضيه ذات اتجاه واحد لتوليد الارقام العشوائية(غير خطيه)
ايجاد طريقه جديدة لتوليد الارقام باستغلال بعض الدوال الموجودة في DES والتعديل عليها
استخدام مفتاح لتوليد الارقام العشوائية
20/12/2005 @ 7:58 pm
أحمد الهاشمي قال:
الأخ العزيز الأحمدي ..
للأسف أخي العزيز لم أفهم المطلوب جيدا، معرفتي بالكمبيوتر ليست أكاديمية بحته، وخاصة وأن المصطلحات عربية، ربما أتمكن من الإجابة بصورة أفضل لو كان بالانجليزية وسأتمكن حينها أيضا من البحث عن الموضوع عبر الانترنت.
على كل حال، بالنسبة للأرقام العشوائية، فلا توجد دالة رياضية في العالم لتوليد الأرقام العشوائية، بل ان توليد الأرقام العشوائية لا يتوافق مع تعرف وشروط الدالة التي أعرفها من الرياضيات.
الأرقام العشوائية العادة يتم الحصول عليها من أجهزة تصنع لهذا الغرض، وستجد على الانترنت طرقا سهلة جدا لصنع مولدات للأرقام العشوائية، مثل طريقة تقوم بالتقاط موجات الراديو المختلطة والمشوشة في الهواء، وطريقة أخرى تعتمد على النقط الملونة التي تظهر على شاشات كاميرات المحادثة على الانترنت عند التصوير في الظلام (أي النقط التي تسمى الضجيج noise في الصور).
بالنسبة لدالة DES، فهي دالة تأخذ رسالة يجب تشفيرها ومفتاح للتشفير، وتشفر هذه الرسالة باستخدام هذا المفتاح بحيث يمكن فك تشفيرها بالمفتاح نفسه لاحقا، لكنها لا تقوم بانتاج أي شيء عشوائي، ولا يوجد بها شيء يضمن عشوائية المفتاح أو الرسالة.
ما يحدث عادة هو أن المفتاح يتم انتاجه عشوائيا، لكن انتاج المفتاح عشوائي (على الأقل أكاديميا) يتم بطرق كالتي ذكرتها سابقا، وبعد ذلك يستخدم هذا المفتاح في دالة DES.
4/02/2006 @ 7:53 pm
محمد عبده قال:
you are very good but i want cryptography dictionary can you help me
4/02/2006 @ 8:01 pm
أحمد الهاشمي قال:
الأخ العزيز محمد عبده ..
لم أفهم قصدك cryptographic dictionary، هل لك أن توضح ما تعني بذلك؟
12/03/2006 @ 7:48 am
عبد الرزاق قال:
السلام عليكم ورحمة الله وبركاته
أخي العزيز شكرا لمعلوماتك القيمة. تخصصى هو امن المعلومات, الأن انا في سدد بحث “إستخدام التشفيرة في اللغة العربية” علما بأن كل المعلومات الموجودة حاليا هو في لغات غير اللغة العربية حسب علمى. فهل لك أن تساعدنى في هدا المجال اخي العزيز. والسلام.
ماليزيا
14/03/2006 @ 6:04 am
أحمد الهاشمي قال:
الأخ العزيز عبدالرزاق ..
وعليكم السلام ورحمة الله وبركاته ..
لم أفهم قصدك جيدا للأسف، فهل الذي تعنيه هو أنك تبحث عن معلومات مكتوبة بالعربية عن التشفير، أم أنك تبحث عن خوارزميات تشفير يمكن استخدامها لتشفير النصوص العربية؟
خوارزميات التشفير المعروفة حاليا يمكن استخدامها لتشفير كافة أنواع البيانات سواءا كانت انجليزية أم عربية أو حتى لو كانت بيانات لصورة أو ملف صوت أو غيرها، فهي ليست مختصة بالنصوص ناهيك عن أن تكون مختصة بلغة ما.
25/03/2006 @ 5:06 pm
امير احمد قال:
نريد معلومة عن التشفير
28/03/2006 @ 4:20 pm
أحمد الهاشمي قال:
الأخ العزيز أمير أحمد ..
هل لك أن توضح المعلومة التي تريدها بالضبط؟
12/05/2006 @ 10:35 am
المصادر التي تم اعتماها قال:
شكرا لجهودك
12/05/2006 @ 11:03 am
أحمد الهاشمي قال:
الأخ العزيز ..
خالص الشكر لك أخي العزيز.
6/07/2006 @ 5:22 pm
mohammad ali قال:
السلام عليكم
لدي موقع
وتم استخدام https بروتوكول اتصال دائم في الموقع
أي أنه عند فتح الموقع يتم التحويل مباشرة إلى https
ويتم استخدام ذلك في جميع صفحات الموقع
الآن عزيزي أريد أن أسأل
إذا كانت كلمات المرور في قاعدة البيانات غير مشفرة
هل هناك خطر في أن يستطيع أحد اكتشافها عبر دوال SQL
حتى لو كان الاتصال عبر https
أنتظر ردك الكريم ووفقك الله
6/07/2006 @ 6:28 pm
أحمد الهاشمي قال:
الأخ العزيز محمد علي ..
وعليكم السلام ورحمة الله وبركاته ..
استخدام بروتوكول https خيار ممتاز لحماية البيانات التي يتم نقلها عبر الشبكة بين الزائر والمزود، لكن بمجرد أن تصل البيانات وتخزن في قاعدة البيانات فإن بروتوكول لن يوفر أي حماية لها، لأنها في الوقت الذي تكون قد خزنت فيه في قاعدة البيانات يكون قد تم فك تشفير البيانات (لأن دور https يكون قد انتهى).
إذا كانت هنالك ثغرة أمنية في أي من البرامج التي تستطيع الوصول إلى البيانات، أو تمكن المخترق من خلالها أن يسيطر على المزود، فإن المخترق قد يتمكن من الحصول على هذه البيانات المخزنة في قاعدة البيانات.
أي أن البيانات يجب تشفر مرتين لمن حدوث ذلك، مرة من قبل بروتوكول HTTPS لنقلها بصورة آمنة عبر الشبكة، ومرة أخرى من قبل برنامجك الذي يعمل على المزود ليتم تخزينها على المزود بصورة آمنة.
6/07/2006 @ 7:00 pm
mohammad ali قال:
شكراً لك أستاذ أحمد
إذا تشفير كلمات المرور في قواعد البيانات أمر قياسي ومطلوب دائماً ؟
أم هناك استثناءات ؟
هل كشف كلمات المرور بهذه السيولة
ألا يوجد حماية لقواعد البيانات
ثم : إذا تم تشفر كلمات المرور هل تعتبر جميع ثغرات قاعدة البيانات منتهية
مع خالص امتناني
6/07/2006 @ 8:30 pm
أحمد الهاشمي قال:
الأخ العزيز محمد علي ..
أنا في الخدمة، ولا شكر على واجب.
لا، في الواقع كشف كلمات المرور، حتى ولو كانت غير مشفرة، يفترض أن لا يكون سهلا أبدا، وتشفير كلمات المرور في قواعد البيانات لا يوفر حماية تذكر للبرنامج أو لبقية البيانات في قاعدة البيانات تلك، لأنه إذا تمكن المخترق من السيطرة على المزود فإن بامكانه الحصول على ما يشاء من بيانات ولا توجد طريقه لمنعه من ذلك، ويجب منذ البداية أن يتم منعه من السيطرة على المزود أصلا.
تشفير كلمات المرور في قواعد البيانات يوفر حماية للمستخدمين أنفسهم، بحيث لا تكون معلوماتهم الحساسة متوافرة، لأنه إذا كان المستخدم يستخدم كلمة المرور نفسها للتسجيل في عشرات المنتديات والمواقع، فإن من مسؤولية مدراء المواقع والمنتديات أن لا يحتفظوا بكلمة المرور هذه في قاعدة بياناتهم دون تشفير، لأنها تزيد المسؤولية عليهم في حال تسربت البيانات لا سمح الله، لأن المخترق سيتمكن باستخدام كلمة المرور هذه أن يدخل إلى أي موقع آخر اشترك فيه ذلك الشخص.
خبراء أمن المعلومات دائما يقولون بأن الأمن هو عملية مستمرة وليس مجرد شيء يمكنك تحقيقه مرة واحدة والانتهاء منه.
فهنالك العشرات من الأمور التي عليك مراعاتها ومراقبتها باستمرار ليكون نظامك آمنا.
6/07/2006 @ 11:50 pm
mohammad ali قال:
حفظك الله
أرسل لي أحد الزوار رسالة يؤكد فيها أن لدي ثغرة في كلمات المرور
ونصحني بضرورة تشفيرها
كيف تمكن من اكتشاف هذه الثغرة ؟
وهل تمكن من كشف معلومات الأدمن ؟
مع خالص شكري العميق
أخبرني عندما تريد أن أتوقف عن طرح الأسئلة
7/07/2006 @ 7:31 am
أحمد الهاشمي قال:
الأخ العزيز محمد علي ..
أنا في الخدمة، ولا أمانع أبدا من الإجابة عن الأسئلة، لكن اعذر لي عدم القدرة على اعطائك جوابا وافيا في بعض الأحيان عندما يكون السؤال يحتمل عددا كبيرا جدا من الإجابات، كما هو الحال في هذا السؤال الأخيرة.
أعتقد بأن من الأفضل أن ترسل للشخص الذي أرسل لك وتسأله هذه الأسئلة، لأن من الصعب جدا توقع الثغرة التي شاهدها ذلك الشخص، والمعلومات التي أعطاك إياها عامة جدا بحيث تصبح بلا فائدة تقريبا، اطلب منه المزيد من المعلومات عما يقصده، وإلا فإنك حتى لو قمت باتخاذ بعض التدابير الأمنية فإن ذلك لن يضمن أبدا بأنك قمت بسد الثغرة التي شاهدها هو.
3/01/2007 @ 2:51 pm
amani قال:
السلام عليكم
ممكن تعطوني مثال على md5 , وطريقة حلو
منشان افهم طريقة الحل الها
ما بدي تكون بالكود
مشكورين
13/02/2007 @ 2:44 pm
إبراهيم قال:
السلام عليكم ..
الله يعطيك أخوي أحمد على مقالتك الرائعة والمتميزة ..
ولدي عدة أسئلة بسيطة :-
سؤال أخير :-
ما أفضل مدخل لتعلم علم اتشفير ( كتاب ، موقع ، أي مصدر ثاني).
وأعتذر بشدة للإطالة ..!
محبك : أبو عبد الله.
27/02/2007 @ 5:20 pm
memo قال:
اي انواع التشفير اسهل تشفير المواقع او الايميل انا عندي مشروع تخرج ومحتاره ماذا اختار
4/03/2007 @ 10:00 am
Ehab قال:
الاخ العزيز احمد الهاشمي
شكرا جزيلا على هذا الجهد الطيب والمعلومات القيمة ، سؤال : ما هو الموضوع المناسب (من وجهة نظرك) يرتقي الى أن يكون مشروع بحث في مجال الأمن والتشفير ، بحيث يضيف الباحث شيء جديد لهذا العلم ؟
خالص التحية والتقدير
5/03/2007 @ 11:03 am
محمد مجيد الياسري قال:
بوركت على مانشرته من معلومات قيمه وداله ولكن احب تزودني بما لديك عن موضوع IMAGE CIPHERING VIA SEGMENTATIONاذا كان لديك المام فيه ويكون لكم الاجر والثواب وذلك لانه موضوع بحثي في اخر مرحله الي من الدراسه ….وشكرا
28/03/2007 @ 2:03 pm
mohammed قال:
الف شكر اخى الغالى على مساعدتك للأخوة وعلى المعلومات القيمة جزاك الله كل خير وجعله فى ميزان حسناتك تقبل تحياتى
31/03/2007 @ 11:20 am
الخنساء قال:
بسم الله الحمن الحيم
اريد منكم خدمة ياريت تساعدونى
مشروعى عن التشفير
ياريت تعطونى مواقع ممتازة ومعلومات منذ تاريخه من عهد القيصر والطرق المستخدمه فيه
وكل ما يتعلق بالتشفير
17/04/2007 @ 8:48 pm
سعود السلمي قال:
السلام عليكم
انا عندي بحث عن علم الاخفاء ودي انك اتساعدني على ارسال بحث عن علم الاخفاء
وسلام
17/04/2007 @ 8:55 pm
سعود السلمي قال:
سعود
السلام عليكم ورحمة الله وبركاته
ابي بحث عن علم الاخفاء اذ عندك ساعدني به ياخوي يااحمد
مع السلامه
16/05/2007 @ 1:27 am
سولافة قال:
السلام عليكم ورحمة الله وبركاته
نفع الله بك أخي الكريم ..
مجهود طيب .. والدعوات ان تعم الفائدة الجميع مثلما استفدت من مدونتكم ..
والى الامام ……
26/07/2007 @ 8:43 am
ابو محمد العراقي قال:
السلام عليك ورحمة وبركاته
اخي العزيز احمد الهاشمي
اريد ان ادخل معك في نقاش واسع حول علم التشفير وعن بعض خفايا هذا العلم.حيث انني عملت في هذا المجال لسنوات طويله وللتشفير طرق كثيره منها ( يدويه وميكانيكيه والكترونيه).والله من وراء القصد
30/07/2007 @ 9:05 am
ابو حسن قال:
شكرا لمعلوماتك