إنضمامك إلي منتديات استراحات زايد يحقق لك معرفة كل ماهو جديد في عالم الانترنت ...

انضم الينا
استراحات زايد الصفحة الرئيسية


إضافة رد
 
LinkBack أدوات الموضوع انواع عرض الموضوع
  #1  
قديم 05-16-2009, 04:30 AM
عضو ماسي
بيانات محروم.كوم
 رقم العضوية : 503
 تاريخ التسجيل : Dec 2007
الجنس : female
علم الدوله :
 المشاركات : 2,100,611
عدد الـنقاط :3341
 تقييم المستوى : 2139

يعتبر أمن المعلومات وحمايتها من أكثر الأمور حساسية التي يجب علينا الاهتمام بها والتعامل معها بجدّية خصوصا عندما يتعلق الأمر بالانترنت. سأشرح في هذا المقال كيفية استخدام برنامج GNU Privacy Guard في صناعة زوج مفاتيح تشفير خاصة بك, طرق التعامل معها وكيفية تشفير/فك تشفير الملفات وتوقيعها باستخدام هذا البرنامج.



تعريف بالبرنامج وطريقة عمله:

يعرف برنامج GNU Privacy Guard باسم GnuPG أو GPG اختصاراً وهو موجود بشكل أساسي في أغلب توزيعات نظام جنو/لينوكس ويوجد منه اصدارات خاصة بأنظمة Unix-like مثل FreeBSD, OpenBSD , Mac OS X, OpenSolaris... كما يوجد منه اصدار خاص بنظام Windows. يعتمد GnuPG على مبدأ التشفير باستخدام المفتاح الغير متناظر تطبيقاً لمعيار OpenPGP في تشفير وفك تشفير الملفات وهو بديل حر لبرنامج PGP التجاري. ماذا يعني الكلام السابق؟ كما نعلم يوجد عدة أنواع من التشفير منها التشفير باستخدام المفتاح المتناظر أي أن المفتاح الذي يشفّر الملف هو نفسه الذي يفك تشفيره لكن بهذه الحالة لنفرض أننا نريد ارسال ملفات هامة لشخص ما عن طريق الانترنت كيف سنتمكن من اعطائه المفتاح الذي شفّرنا به هذه الملفات بطريقة آمنة؟ كيف سنتأكد أن هذا الشخص هو الوحيد القادر على فك تشفير الملفات والاطلاع عليها؟ بهذه الحالة سنختار التشفير باستخدام المفتاح الغير متناظر الذي يتألف من مفتاحين الأول المفتاح العلني Public Key يستخدم في تشفير الملفات التي نريد ارسالها أما المفتاح الثاني هو المفتاح الخاص (أو السري) Private Key ويستخدم في فك تشفير الملفات المشفّر بالمفتاح العلني. بهذه الحالة الملفات المشفّرة باستخدام المفتاح العلني لا يمكن فك تشفيرها الا باستخدام المفتاح الخاص.

ملاحظة: اعتمدت بالشرح على سطر الأوامر بشكل أساسي لأنها الطريقة الأفضل "برأيي" ولأهمية البرنامج بالنسبة لمدراء السيرفرات فغالبا التحكم بالسيرفر يكون عن طريق SSH وليس الواجهة الرسومية, تم التطبيق على نظام GNU/Linux توزيعة Fedora والاصدار 1.4.9 من برنامج GnuPG.

صناعة زوج مفاتيح تشفير:

مافهمناه حتى الآن كل شخص يجب أن يملك مفتاحين الأول علني يتم نشره وارساله للجميع يستخدمه الطرف الآخر في تشفير الملفات والمعلومات التي يريد ارسالها أما الثاني مفتاح خاص يتم الاحتفاظ به في مكان آمن ويستخدم في فك تشفير الملفات المشفرة. لصنع زوج مفاتيح تشفير جديدة نفتح سطر الأوامر وننفذ الأمر:
كود PHP:
[Br4v3-H34r7@iSecur1ty ~]$ gpg --gen-key



بعد تنفيذ الأمر السابق سيعمل البرنامج ويطلب منا تحديد نوع المفتاح الذي نريد صنعه, نحدد الخيار الأول (DSA and Elgamal) ثم نضغط Enter ليطلب منا البرنامج تحديد حجم المفتاح, شخصيا أرى الاعدادت الافتراضية مناسبة لذلك سأكتفي بالضغط على Enter مرة أخرى ليظهر لنا كما في الصورة التالية:
يطلب البرنامج تحديد فترة صلاحية المفتاح وهذا طبعا يعود لمدة حاجتنا له وبماذا سنستخدمه, من الممكن عدم تحديد فترة صلاحية وذلك بابقاء القيمة 0 والضغط على زر Enter أو جعل المفتاح صالح ليوم واحد مثلا! نكتب 1 ثم نضغط Enter أما اذا أردنا جعله صالح لأسبوع فقط نكتب 1w , شهر 1m , سنة 1y وهكذا... بالنسبة لي سأبقي الخيار الافتراضي 0 لكي لايتم تحديد فترة صلاحية للمفتاح, سيظهر بعد ذلك رسالة تأكيدية نضغط y لتظهر لنا رسالة تطلب منا ادخال الاسم, الايميل وتعليق عن المفتاح:
أدخل المعلومات بما يناسبك وعندما تنتهي ستظهر رسالة تأكيدية, نضغط حرف O للاكمال بعد ذلك سيطلب منا البرنامج ادخال كلمة سر للمفتاح (تستخدم عند فك التشفير). اكتب كلمة السر التي تريدها وتأكد من تذكرها جيدا فاذا فقدتها لن تتمكن من فك تشفير الملفات وسيصبح مفتاحك عديم الفائدة بعد ذلك سيبدأ البرنامج بصناعة زوج مفاتيح تشفير جديدة وعندما ينتهي سيظهر لك مثل الصورة التالية:
الـ KEY-ID الخاص بهذا المفتاح: 4D3F8269 (هذا المفتاح للتجربة واستخدم بغرض الشرح فقط!)

التعامل مع المفاتيح:

لاستعراض المفاتيح الموجودة في البرنامج نستخدام الأمر:
كود PHP:
[Br4v3-H34r7@iSecur1ty ~]$ gpg --list-keys




الأمر السابق سيعرض لنا المفاتيح العلنية فقط المضافة لبرنامج GPG لعرض المفاتيح الخاصة فقط ننفذ الأمر:
كود PHP:
[Br4v3-H34r7@iSecur1ty ~]$ gpg --list-secret-keys



الأن في حال أردنا تصدير المفتاح العلني الخاص بنا لارساله لشخص أو وضعه في الموقع/المدونة الخاصة بنا مثلا, ننفذ الأمر:
كود PHP:
[Br4v3-H34r7@iSecur1ty ~]$ gpg --export -a XXXXXXXX > Public.asc



مع استبدال XXXXXXXX بالـ KEY-ID الخاص بالمفتاح الذي نريد لينشأ ملف باسم Public.asc هو المفتاح العلني, أما اذا أردنا تصدير المفتاح الخاص Private Key لحفظه في مكان آمن كنسخة احتياطية أو نقله لجهاز آخر, ننفذ الأمر:
كود PHP:
[LEFT][Br4v3-H34r7@iSecur1ty ~]$ gpg --export-secret-key -a XXXXXXXX > Private.asc
[/LEFT]


أيضا مع استبدال XXXXXXXX بالـ KEY-ID الخاص بالمفتاح الذي نريد. اذا أردنا اضافة مفتاح جديد لبرنامج GPG لنفرض المفتاح العلني الخاص بموقع iSecur1ty, في البداية نقوم بتحميل المفتاح:
كود PHP:
[Br4v3-H34r7@iSecur1ty ~]$ wget http://www.isecur1ty.org/iS-Public.asc



ثم نقوم باضافة المفتاح الى برنامج GnuPG باستخدام الأمر:
كود PHP:
[Br4v3-H34r7@iSecur1ty ~]$ gpg --import iS-Public.asc



لحذف مفتاح علني من البرنامج ننفذ الأمر:
كود PHP:
[Br4v3-H34r7@iSecur1ty ~]$ gpg --delete-key XXXXXXXX




مع استبدال XXXXXXXX بالـ KEY-ID الخاص بالمفتاح الذي نريد. ولحذف مفتاح سري, نستخدم الأمر:
كود PHP:
[Br4v3-H34r7@iSecur1ty ~]$ gpg --delete-secret-key XXXXXXXX



من ميزات برنامج GnuPG هي امكانية ارسال المفاتيح العلنية لحفظها على سيرفر خاص بحفظ المفاتيح تمكن الجميع من الوصول اليها, نستطيع القيام بذلك بتنفيذ الأمر:
[ كود PHP:
Br4v3-H34r7@iSecur1ty ~]$ gpg --send-keys --keyserver keys.gnupg.net XXXXXXXX



مع اسبدال XXXXXXXX بالـ KEY-ID الخاص بالمفتاح الذي نريد ارساله وبهذه الحالة يكفي الحصول على الـ KEY-ID الخاص بمفتاح الشخص الذي نريد ارسال المعلومات اليه بعد التأكد من أنه قام بارساله مسبقا للسيرفر ثم نقوم بتحميله واضافته بشكل تلقائي للبرنامج بتنفيذ الأمر:
كود PHP:
[Br4v3-H34r7@iSecur1ty ~]$ gpg --recv-key XXXXXXXX





كذلك نستطيع البحث عن المفتاح العلني الخاص بهذا الشخص في السيرفر باستخدام الأمر:
كود PHP:
[Br4v3-H34r7@iSecur1ty ~]$ gpg --search-keys "USER/EMAIL"



مع استبدال USER/EMAIL باسم أو ايميل هذا الشخص, على سبيل المثال:
كود PHP:
[Br4v3-H34r7@iSecur1ty ~]$ gpg --search-keys Br4v3-H34r7




لاضافة المفتاح, نكتب الرقم الخاص به وبهذه الحالة 1 ثم Enter أو نضغط N للانتقال للصفحة التالية في حال ظهر عدد كبير من المفاتيح أو Q للخروج.
تشفير/فك تشفير الملفات:

بعد صناعة زوج مفاتيح تشفير جديدة ومعرفة كيفية التعامل معها علينا معرفة طريقة تشفير/فك تشفير الملفات باستخدام برنامج GnuPG. لنفرض مثلا أننا نريد تشفير ملف passwords.txt وارساله لشخص ما, كل ماعلينا هو اضافة مفتاحه العلني للبرنامج وتنفيذ الأمر:
كود PHP:
[Br4v3-H34r7@iSecur1ty ~]$ gpg -r XXXXXXXX -e passwords.txt



مع استبدال XXXXXXXX بالـ KEY-ID الخاص بالمفتاح العلني للشخص الذي نريد ارسال الملف المشفّر اليه لينتج في النهاية ملف جديد مشفّر باسم passwords.txt.gpg لا يمكن فك تشفيره الا باستخدم المفتاح السري الخاص بالشخص الذي أرسلنا الملف اليه مع العلم أننا نستطيع تكرار -r عدة مرات اذا أردنا ارسال الملف لأكثر من شخص وجعل الجميع قادرين على فك تشفير الملف بنفس الوقت:
[ كود PHP:
Br4v3-H34r7@iSecur1ty ~]$ gpg -r XXXXXXXX -r XXXXXXXX -e passwords.txt



في حال لم نحدد KEY-ID سيظهر البرنامج رسالة تطلب منك ادخال الـ KEY-ID أو اسم/ايميل الشخص الذي نريد ارسال الملف اليه, كل ماعلينا هو ادخال الـ KEY-ID الذي نريد والضغط على Enter واذا أردنا ارسال الملف لأكثر من شخص ندخل الـ KEY-ID الخاص بجميع الأشخاص واحدا تلو الآخر وعندما تنتهي نضغط زر Enter مرتين ليتم تشفير الملف:


لو لاحظنا الناتج passwords.txt.gpg سيكون ملف مشفّر بصيغة binary غير مقروء ماذا لو احتجنا لأن يكون الملف بصيغة ASCII عبارة عن نص يمكن ارساله عن طريق الايميل مثلا؟ ببساطة نضيف الخيار -a للأمر السابق لينتج ملف باسم passwords.txt.asc:
كود PHP:
[Br4v3-H34r7@iSecur1ty ~]$ gpg -a -r XXXXXXXX -e passwords.txt



الآن نستطيع قراءة الملف بشكل عادي جدا وارساله كنص عن طريق الايميل:
كود PHP:
[Br4v3-H34r7@iSecur1ty ~]$ cat passwords.txt.asc





أما اذا أردنا فك تشفير ملف مشفّر تم ارساله الينا نستطيع ببساطة تنفيذ الأمر:
كود PHP:
[Br4v3-H34r7@iSecur1ty ~]$ gpg -d passwords.txt.gpg




بعد التأكد من وجود المفتاح السري الخاص بنا في برنامج GnuPG, الأمر السابق سيظهر الناتج على شاشة الـ Terminal لذلك اذا أردنا فك تشفير الملف وارسال الناتج الى ملف جديد نستخدم الأمر:
كود PHP:
[Br4v3-H34r7@iSecur1ty ~]$ gpg -d passwords.txt.gpg > passwords.txt




التواقيع الرقمية:

لنفرض مثلا أننا سنرسل ملف مشفّر لشخص ما.. في البداية سنقوم بالحصول على المفتاح العلني الخاص بهذا الشخص, اضافته للبرنامج, تشفير الملف الذي نريد ارساله ثم ارسال الملف اليه. السؤال الذي يطرح نفسه كيف سيتأكد هذا الشخص أن الملف الذي استلمه هو نفسه الملف الذي قمنا نحن بارسله؟ هنا يأتي دور التواقيع الرقمية حيث قبل أن نرسل الملف سنقوم بتوقيعه باستخدام المفتاح السري الخاص بنا. وبهذه الحالة عندما يقوم الشخص بفك تشفير الملف ستظهر رسالة تؤكد أننا نحن من أرسلنا الملف وليس شخص آخر, لنقوم بذلك كل ماعلينا هو تنفيذ الأمر:
[ كود PHP:
Br4v3-H34r7@iSecur1ty ~]$ gpg -s -u YYYYYYYY -r XXXXXXXX -e passwords.txt



مع استبدال YYYYYYYY بالـ KEY-ID الخاص بالمفتاح السري الذي سنستخدمه في توقيع الملف و XXXXXXXX بالـ KEY-ID الخاص بالمفتاح العلني للشخص الذي نريد ارسال الملف المشفّر اليه. الآن عندما يقوم هذا الشخص بفك تشفير الملف passwords.txt.gpg ستظهر له رسالة تخبره من الشخص الذي قام بتشفير هذا الملف.
كود PHP:
[Br4v3-H34r7@iSecur1ty ~]$ gpg -d passwords.txt.pgp





الواجهات الرسومية:

اذا أردنا استخدام البرنامج لسطح مكتب قد يكون استخدام الواجهة الرسومية أسهل علينا, يوجد للبرنامج العديد من الواجهات الرسومية يمكن استخدامها مع البرنامج وهي متوفرة لأكثر من نظام تشغيل وأكثر من سطح مكتب مثل برنامج Gpg4win لنظام ويندوز, Kgpg برنامج خاص بسطح مكتب KDE و Seahorse الواجهة الرسومية الخاصة بسطح مكتب GNOME:


يمكنكم الاطلاع على هذه الصفحة لمزيد من المعلومات عن الواجهات الرسومية المتوفرة كما يوجد اضافات للعديد من البرامج تسهّل علينا التعامل مع GunPG مثل اضافة Enigmail لبرنامج Thunderbird الخاص بادرة الايميل.

موقع برنامج GnuPG | صفحة التحميل | لمزيد من المعلومات
__DEFINE_LIKE_SHARE__
رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)

أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة


المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
برنامج التشفير Php LockIt محروم.كوم منتدى أخبار المواقع والمنتديات العربية والأجنبية 1 09-13-2012 07:11 AM
برنامج التشفير Folder Lock v6.2.4 بآحـدث إصـدار لـه محروم.كوم منتدى أخبار المواقع والمنتديات العربية والأجنبية 0 07-05-2009 08:10 PM
برنامج التشفير لاندكس html ويخص البرمجه < الامريكي محروم.كوم منتدى أخبار المواقع والمنتديات العربية والأجنبية 0 06-21-2009 09:20 AM
إلى خبراء التشفير هل يمكن فك هذا التشفير ؟؟؟؟!!! محروم.كوم منتدى أخبار المواقع والمنتديات العربية والأجنبية 0 05-18-2009 01:20 PM
للمحترفين (برنامج التشفير بتوقيعك الشخصي) محروم.كوم منتدى أخبار المواقع والمنتديات العربية والأجنبية 0 04-22-2009 01:10 AM


الساعة الآن 12:54 AM


Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.5.2 TranZ By Almuhajir

RSS RSS 2.0 XML MAP HTML