كيفية تشفير وفك تشفير الملفات باستخدام GPG على Linux

قم بحماية خصوصيتك باستخدام أمر Linux gpg. استخدم تشفير عالمي المستوى للحفاظ على أسرارك آمنة. سنوضح لك كيفية استخدام gpg للعمل مع المفاتيح وتشفير الملفات وفك تشفيرها.
GnuPrivacy Guard (GPG) يسمح لك بتشفير الملفات بشكل آمن بحيث يمكن للمستلم المقصود فقط فك تشفيرها. على وجه التحديد ، يتوافق GPG مع برنامج OpenPGP اساسي. تم تصميمه على غرار برنامج يسمى Pretty Good Privacy (PGP). تمت كتابة PGP في عام 1991 بواسطة فيل زيمرمان.
يعتمد GPG على فكرة مفتاحي تشفير لكل شخص. كل شخص لديه مفتاح خاص ومفتاح عام. يمكن للمفتاح العام فك تشفير شيء تم تشفيره باستخدام المفتاح الخاص.
لإرسال ملف بشكل آمن ، فإنك تقوم بتشفيره باستخدام مفتاحك الخاص والمفتاح العام للمستلم. لفك تشفير الملف ، يحتاجون إلى مفتاحهم الخاص ومفتاحك العام.
سترى من هذا أنه يجب مشاركة المفاتيح العامة. يجب أن يكون لديك المفتاح العام للمستلم لتشفير الملف ، ويحتاج المستلم إلى مفتاحك العام لفك تشفيره. لا يوجد خطر من جعل مفاتيحك العامة هكذا فقط – عامة. في الواقع ، هناك خوادم مفاتيح عامة لهذا الغرض بالذات ، كما سنرى. يجب الحفاظ على خصوصية المفاتيح الخاصة. إذا كان مفتاحك العام في المجال العام ، فيجب أن يظل مفتاحك الخاص سريًا وآمنًا.
هناك المزيد من الخطوات المتضمنة في إعداد GPG أكثر من الخطوات الموجودة في استخدامها. لحسن الحظ ، تحتاج عادةً إلى إعداده مرة واحدة فقط.
توليد المفاتيح الخاصة بك
تم تثبيت الأمر gpg على جميع توزيعات Linux التي تم فحصها ، بما في ذلك Ubuntu و Fedora و Manjaro.
ليس عليك استخدام GPG مع البريد الإلكتروني. يمكنك تشفير الملفات وإتاحتها للتنزيل أو تمريرها فعليًا إلى المستلم. تحتاج إلى ربط عنوان بريد إلكتروني بالمفاتيح التي تنشئها ، ومع ذلك ، اختر عنوان البريد الإلكتروني الذي ستستخدمه.
هذا هو الأمر لتوليد المفاتيح الخاصة بك. يقوم الخيار –full-create-key بإنشاء مفاتيحك في جلسة تفاعلية داخل نافذة جهازك. سيُطلب منك أيضًا إدخال عبارة مرور. تأكد من تذكر ما هي عبارة المرور. ثلاث أو أربع كلمات بسيطة مرتبطة مع علامات الترقيم جيدة و نموذج قوي لكلمات المرور وعبارات المرور.
gpg --full-generate-key
سيُطلب منك اختيار نوع تشفير من القائمة. ما لم يكن لديك سبب وجيه لعدم القيام بذلك ، اكتب 1 واضغط على Enter.
يجب عليك اختيار طول بت لمفاتيح التشفير. اضغط على Enter لقبول الإعداد الافتراضي.
تحتاج إلى تحديد المدة التي يجب أن يستمر فيها المفتاح. إذا كنت تختبر النظام ، أدخل مدة قصيرة مثل 5 لمدة خمسة أيام. إذا كنت ستحتفظ بهذا المفتاح ، أدخل مدة أطول مثل 1y لمدة عام واحد. سيستمر المفتاح لمدة 12 شهرًا ، وبالتالي سيحتاج إلى التجديد بعد عام واحد. أكد اختيارك باستخدام Y.
يجب عليك إدخال اسمك وعنوان بريدك الإلكتروني. يمكنك إضافة تعليق إذا كنت ترغب في ذلك.
سيُطلب منك عبارة مرورك. ستحتاج إلى عبارة المرور متى استخدمت مفاتيحك ، لذا تأكد من معرفتك لها.
انقر فوق الزر “موافق” عندما تقوم بإدخال عبارة المرور الخاصة بك. سترى هذه النافذة أثناء عملك مع gpg ، لذا تأكد من تذكر عبارة مرورك.
سيتم إنشاء المفتاح ، وستتم إعادتك إلى موجه الأوامر.
استحداث شهادة نقض
إذا أصبح مفتاحك الخاص معروفًا للآخرين ، فستحتاج إلى فصل المفاتيح القديمة عن هويتك ، حتى تتمكن من إنشاء مفاتيح جديدة. للقيام بذلك ، سوف تحتاج إلى شهادة إبطال. سنفعل هذا الآن ونخزنه في مكان آمن.
يجب أن يتبع الخيار –output اسم ملف الشهادة التي ترغب في إنشائها. يتسبب خيار –gen-revoke في قيام gpg بإنشاء شهادة إبطال. يجب عليك تقديم عنوان البريد الإلكتروني الذي استخدمته عند إنشاء المفاتيح.
gpg --output ~/revocation.crt --gen-revoke [email protected]
سيُطلب منك تأكيد رغبتك في إنشاء شهادة. اضغط على Y واضغط على Enter. سيُطلب منك سبب إنشاء الشهادة. نظرًا لأننا نقوم بذلك في وقت مبكر ، فإننا لا نعرف على وجه اليقين. اضغط على 1 كتخمين معقول واضغط على Enter.
يمكنك إدخال وصف إذا كنت ترغب في ذلك. اضغط على Enter مرتين لإنهاء وصفك.
سيُطلب منك تأكيد إعداداتك ، اضغط على Y واضغط على Enter.
سيتم إنشاء الشهادة. سترى رسالة تؤكد الحاجة إلى الحفاظ على أمان هذه الشهادة.
يذكر شخصًا ما يسمى مالوري. لطالما استخدمت مناقشات التشفير بوب وأليس حيث يتواصل الناس. هناك شخصيات داعمة أخرى. حواء متصنت ، مالوري مهاجم خبيث. كل ما نحتاج إلى معرفته هو أننا يجب أن نحافظ على الشهادة آمنة ومأمونة.
كحد أدنى ، دعنا نزيل جميع الأذونات باستثناء أذوناتنا من الشهادة.
chmod 600 ~/revocation.crt
دعنا نتحقق من الأمر ls لنرى ما هو الإذن الآن:
ls -l
هذا ممتاز. لا أحد بخلاف مالك الملف – نحن – يمكنه فعل أي شيء مع الشهادة.
استيراد المفتاح العمومي لشخص آخر
لتشفير رسالة يمكن لشخص آخر فك تشفيرها ، يجب أن يكون لدينا مفتاحه العام.
إذا تم تزويدك بمفتاحهم في ملف ، فيمكنك استيراده باستخدام الأمر التالي. في هذا المثال ، يسمى ملف المفتاح “mary-geek.key”.
gpg --import mary-geek.key
يتم استيراد المفتاح ، ويظهر لك الاسم وعنوان البريد الإلكتروني المرتبط بهذا المفتاح. من الواضح أن هذا يجب أن يتطابق مع الشخص الذي تلقيته منه.
هناك أيضًا احتمال أن يكون الشخص الذي تريد مفتاحًا منه قد قام بتحميل مفتاحه إلى خادم مفتاح عام. تخزن هذه الخوادم المفاتيح العامة للأشخاص من جميع أنحاء العالم. تتزامن الخوادم الرئيسية مع بعضها البعض بشكل دوري بحيث تكون المفاتيح متاحة عالميًا.
خادم المفتاح العام MIT هو خادم مفتاح شائع وخادم تتم مزامنته بانتظام ، لذا يجب أن يكون البحث هناك ناجحًا. إذا قام شخص ما بتحميل مفتاح مؤخرًا فقط ، فقد يستغرق ظهوره بضعة أيام.
يجب أن يتبع خيار –keyserver اسم خادم المفاتيح الذي ترغب في البحث فيه. يجب أن يتبع الخيار –search-keys إما اسم الشخص الذي تبحث عنه أو عنوان بريده الإلكتروني. سنستخدم عنوان البريد الإلكتروني:
gpg --keyserver pgp.mit.edu --search-keys [email protected]
يتم سرد المطابقات لك ومرقمة. لاستيراد واحد ، اكتب الرقم واضغط على Enter. في هذه الحالة ، يوجد تطابق واحد ، لذلك نكتب 1 ونضغط على Enter.
يتم استيراد المفتاح ، ويظهر لنا الاسم وعنوان البريد الإلكتروني المرتبطين بهذا المفتاح.
التحقق من المفتاح وتوقيعه
إذا استلمت ملف مفتاح عمومي من قبل شخص معروف لك ، فيمكنك القول بأمان أنه يخص هذا الشخص. إذا قمت بتنزيله من خادم مفتاح عام ، فقد تشعر بالحاجة إلى التحقق من أن المفتاح ينتمي إلى الشخص المقصود به.
يتسبب الخيار –fingerprint في قيام gpg بإنشاء تسلسل قصير من عشر مجموعات من أربعة أحرف سداسية عشرية. يمكنك أن تطلب من الشخص أن يرسل لك بصمة مفتاحه.
يمكنك بعد ذلك استخدام الخيار –fingerprint لإنشاء تسلسل بصمة الإصبع نفسه للأحرف السداسية العشرية ومقارنتها. إذا كانت متطابقة ، فأنت تعلم أن المفتاح ينتمي إلى هذا الشخص.
gpg --fingerprint [email protected]
يتم إنشاء بصمة الإصبع.
عندما تكون مقتنعًا بأن المفتاح أصلي ومملوك للشخص الذي من المفترض أن يكون مرتبطًا به ، يمكنك توقيع مفتاحه.
إذا لم تقم بذلك ، فلا يزال بإمكانك استخدامه لتشفير الرسائل وفك تشفيرها من وإلى هذا الشخص. لكن gpg سيسألك في كل مرة عما إذا كنت ترغب في المتابعة لأن المفتاح غير موقع. سنستخدم خيار مفتاح التسجيل المسمى بشكل مناسب ونقدم عنوان البريد الإلكتروني للشخص ، بحيث يعرف gpg أي مفتاح يجب تسجيله.
gpg --sign-key [email protected]
سترى معلومات حول المفتاح والشخص ، وسيُطلب منك التحقق من أنك تريد حقًا توقيع المفتاح. اضغط على Y واضغط على Enter لتوقيع المفتاح.
كيفية مشاركة مفتاحك العام
لمشاركة مفتاحك كملف ، نحتاج إلى تصديره من مخزن المفاتيح المحلي gpg. للقيام بذلك ، سنستخدم الخيار –export ، والذي يجب أن يتبعه عنوان البريد الإلكتروني الذي استخدمته لإنشاء المفتاح. يجب أن يتبع الخيار – Output اسم الملف الذي ترغب في تصدير المفتاح إليه. يخبر الخيار –armor gpg بإنشاء إخراج درع ASCII بدلاً من ملف ثنائي.
gpg --output ~/dave-geek.key --armor --export [email protected]
يمكننا إلقاء نظرة داخل ملف المفتاح بأقل.
less dave-geek.key
يظهر المفتاح في كل مجده:
يمكنك أيضًا مشاركة مفتاحك العام على خادم مفتاح عمومي. يرسل الخيار –send-keys المفتاح إلى خادم المفاتيح. يجب أن يتبع خيار –keyserver عنوان الويب لخادم المفتاح العام. لتحديد أي مفتاح يتم إرساله ، يجب توفير بصمة المفتاح في سطر الأوامر. لاحظ أنه لا توجد مسافات بين المجموعات المكونة من أربعة أحرف.
(يمكنك رؤية بصمة مفتاحك باستخدام خيار –بصمة الإصبع.)
gpg --send-keys --keyserver pgp.mit.edu 31A4E3BE6C022830A804DA0EE9E4D6D0F64EEED4
ستتلقى تأكيدًا بإرسال المفتاح.
تشفير الملفات
نحن جاهزون أخيرًا لتشفير ملف وإرساله إلى ماري. الملف يسمى Raven.txt.
يقوم الخيار –encrypt بإخبار gpg بتشفير الملف ، ويطلب الخيار –sign منه توقيع الملف بتفاصيلك. يقوم الخيار –armor بإخبار gpg بإنشاء ملف ASCII. يجب أن يتبع الخيار -r (المستلم) عنوان البريد الإلكتروني للشخص الذي ترسل الملف إليه.
gpg --encrypt --sign --armor -r [email protected]
يتم إنشاء الملف بنفس اسم الملف الأصلي ، ولكن مع إلحاق “.asc” باسم الملف. دعونا نلقي نظرة بداخله.
less Raven.txt.asc
الملف غير مقروء تمامًا ، ولا يمكن فك تشفيره إلا من قبل شخص لديه مفتاحك العام ومفتاح ماري الخاص. الشخص الوحيد الذي لديه كلاهما يجب أن يكون ماري.
يمكننا الآن إرسال الملف إلى ماري واثقًا من أنه لا يمكن لأي شخص آخر فك تشفيره.
فك تشفير الملفات
لقد أرسلت ماري ردًا. إنه موجود في ملف مشفر يسمى coded.asc. يمكننا فك تشفيرها بسهولة شديدة باستخدام خيار –decrypt. سنقوم بإعادة توجيه الإخراج إلى ملف آخر يسمى عادي.txt.
لاحظ أنه لا يتعين علينا إخبار gpg من هو الملف. يمكنه العمل على ذلك من محتويات الملف المشفرة.
gpg --decrypt coded.asc > plain.txt
تم فك تشفير الملف بنجاح بالنسبة لنا.
تحديث مفاتيحك
بشكل دوري ، يمكنك أن تطلب من gpg التحقق من المفاتيح الموجودة به مقابل خادم المفتاح العام وتحديث أي مفاتيح تم تغييرها. يمكنك القيام بذلك كل بضعة أشهر أو عندما تتلقى مفتاحًا من جهة اتصال جديدة.
يؤدي الخيار –refresh-keys إلى قيام gpg بإجراء الفحص. يجب أن يتبع خيار –keyserver خادم المفاتيح الذي تختاره. بمجرد مزامنة المفاتيح بين خوادم المفاتيح العامة ، لا يهم أيها تختار.
gpg --keyserver pgp.mit.edu --refresh-keys
يستجيب gpg من خلال سرد المفاتيح التي يتحقق منها وإعلامك بما إذا كان أي منها قد تم تغييره وتحديثه.
الخصوصية هي موضوع ساخن
الخصوصية ليست بعيدة عن الأخبار هذه الأيام. مهما كانت أسباب رغبتك في الحفاظ على أمان وخصوصية معلوماتك ، يوفر gpg وسيلة بسيطة لتطبيق تشفير قوي بشكل لا يصدق على ملفاتك واتصالاتك.
هناك طرق أخرى لاستخدام gpg. يمكنك الحصول على مكون إضافي لـ ثندربيرد اتصل Enigmail. يتم ربطه مباشرة بتكوين gpg الخاص بك للسماح لك بتشفير رسائل البريد الإلكتروني من داخل Thunderbird.