كيفية عمل نسخة احتياطية من مفاتيح GPG واستعادتها على نظام Linux

نشرت: 2022-08-18
كمبيوتر محمول Linux يعرض موجه bash
fatmawati achmad zaenuri / Shutterstock.com

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

OpenPGP و GNU Privacy Guard

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

يصف معيار OpenPGP نظام تشفير يسمى تشفير المفتاح العام. أدى تنفيذ GNU Privacy Guard لهذا المعيار إلى gpg ، أداة سطر أوامر للتشفير وفك التشفير وفقًا للمعيار.

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

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

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

كيفية تشفير وفك تشفير الملفات باستخدام GPG على Linux
ذات صلة كيفية تشفير الملفات وفك تشفيرها باستخدام GPG على نظام Linux

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

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

دليل .gnupg

يتم تخزين مفاتيحك في دليل يسمى ".gnupg" في دليل منزلك. سيخزن هذا الدليل أيضًا المفاتيح العامة لأي شخص أرسل لك ملفات مشفرة. عند استيراد مفاتيحهم العامة ، تتم إضافتهم إلى ملف قاعدة بيانات مفهرس في هذا الدليل.

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

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

 شجرة .gnupg 

بنية دليل دليل .gnupg.

محتويات شجرة الدليل هي:

  • openpgp-revocs.d : يحتوي هذا الدليل الفرعي على شهادة الإبطال الخاصة بك. ستحتاج إلى هذا إذا أصبح مفتاحك الخاص معرفة عامة أو تم اختراقه بطريقة أخرى. يتم استخدام شهادة الإبطال الخاصة بك في عملية سحب مفاتيحك القديمة واعتماد مفاتيح جديدة.
  • private-keys-v1.d : يخزن هذا الدليل الفرعي مفاتيحك الخاصة.
  • pubring.kbx : ملف مشفر. يحتوي على مفاتيح عامة ، بما في ذلك مفاتيحك ، وبعض البيانات الوصفية عنها.
  • pubring.kbx ~ : هذه نسخة احتياطية من "pubring.kbx." يتم تحديثه قبل إجراء التغييرات على "pubring.kbx".
  • trustdb.gpg : هذا يحمل علاقات الثقة التي أنشأتها لمفاتيحك الخاصة ولأي مفاتيح عامة مقبولة تابعة لأشخاص آخرين.

يجب أن تقوم بعمل نسخ احتياطية منتظمة ومتكررة من الدليل الرئيسي الخاص بك على أي حال ، بما في ذلك الملفات والمجلدات المخفية. سيؤدي ذلك إلى عمل نسخة احتياطية من دليل “.gnupg” كأمر طبيعي.

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

تحديد المفاتيح المطلوب نسخها احتياطيًا

يمكننا أن نطلب من gpg إخبارنا بالمفاتيح الموجودة في نظام GPG الخاص بك. سنستخدم خيارات --list --list-secret-keys وخيارات --keyid-format LONG .

 gpg - list-secret-keys - keyid-format LONG 

سرد تفاصيل مفتاح GPG في نافذة المحطة

قيل لنا أن GPG تبحث داخل ملف "/home/dave/.gnupg/pubring.kbx".

لا شيء مما يظهر على الشاشة هو مفتاحك السري الفعلي.

  • يعرض السطر "sec" (السري) عدد وحدات البت في التشفير (4096 في هذا المثال) ، ومعرف المفتاح ، وتاريخ إنشاء المفتاح ، و "[SC]." يعني "S" أن المفتاح يمكن استخدامه للتوقيعات الرقمية ويعني الحرف "C" أنه يمكن استخدامه للحصول على الشهادة.
  • السطر التالي هو بصمة المفتاح.
  • يحتوي السطر "uid" على معرف مالك المفتاح.
  • يعرض السطر "ssb" المفتاح الفرعي السري ، وقت إنشائه ، و "E." يشير الحرف "E" إلى إمكانية استخدامه للتشفير.

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

النسخة الإحتياطية

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

لإجراء نسخ احتياطي للمفاتيح العامة ، استخدم الخيار --export . سنستخدم --export-options backup options. يضمن ذلك تضمين جميع البيانات الوصفية الخاصة بـ GPG للسماح باستيراد الملفات بشكل صحيح على كمبيوتر آخر.

سنحدد ملف الإخراج باستخدام الخيار --output . إذا لم نفعل ذلك ، فسيتم إرسال الإخراج إلى نافذة المحطة الطرفية.

 gpg --export --export-options backup --output public.gpg 

تصدير مفاتيح GPG العامة

إذا كنت تريد فقط نسخ المفاتيح احتياطيًا لهوية واحدة ، فقم بإضافة عنوان البريد الإلكتروني المرتبط بالمفاتيح إلى سطر الأوامر. إذا كنت لا تستطيع تذكر عنوان البريد الإلكتروني ، فاستخدم خيار --list-secret-keys ، كما هو موضح أعلاه.

 gpg --export --export-options backup - إخراج public.gpg [email protected] 

تصدير مفاتيح GPG العامة لهوية واحدة

لإجراء نسخ احتياطي لمفاتيحنا الخاصة ، نحتاج إلى استخدام خيار --export-secret-keys بدلاً من الخيار --export . تأكد من حفظ هذا في ملف مختلف.

 gpg --export-secret-keys --export-options backup --output private.gpg 

تصدير مفاتيح GPG الخاصة

نظرًا لأن هذا هو مفتاحك الخاص ، فستحتاج إلى المصادقة مع GPG قبل أن تتمكن من المتابعة.

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

توفير عبارة مرور GPG لتصدير المفاتيح الخاصة

إذا تم قبول عبارة المرور ، فسيتم التصدير.

لعمل نسخة احتياطية من علاقات الثقة الخاصة بك ، نحتاج إلى تصدير الإعدادات من ملف “trustdb.gpg” الخاص بك. نحن نرسل الإخراج إلى ملف يسمى “trust.gpg”. هذا ملف نصي. يمكن مشاهدته باستخدام cat .

 gpg --export-ownertrust> trust.gpg
 cat trust.gpg 

تصدير علاقات الثقة في GPG

فيما يلي الملفات الثلاثة التي أنشأناها.

 ls -hl * .gpg 

الملفات الثلاثة التي تم إنشاؤها بواسطة أوامر التصدير

سننقلها إلى كمبيوتر آخر ، ونستعيدها. سيؤسس هذا هويتنا على هذا الجهاز ، ويسمح لنا باستخدام مفاتيح GPG الحالية الخاصة بنا.

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

لقد قمنا بنسخ الملفات إلى جهاز كمبيوتر Manjaro 21.

 ls * .gpg 

تم نقل الملفات التي تم تصديرها إلى كمبيوتر Manjaro

بشكل افتراضي ، يستخدم Manjaro 21 الصدفة Z ، zsh ، وهذا هو سبب اختلافه. لكن هذا لا يهم ، فلن يؤثر على أي شيء. ما نفعله محكوم ببرنامج gpg وليس الصدفة.

لاستيراد --import ، نحتاج إلى استخدام خيار الاستيراد.

 gpg - استيراد public.gpg 

استيراد مفاتيح GPG العامة

يتم عرض تفاصيل المفتاح أثناء استيراده. يتم أيضًا إنشاء ملف "trustdb.gpg" لنا. لاستيراد المفتاح الخاص بنفس السهولة. نستخدم خيار --import مرة أخرى.

 gpg - استيراد خاص. gpg 

استيراد مفاتيح GPG الخاصة

يُطلب منا إدخال عبارة المرور.

إدخال عبارة المرور لاستيراد مفاتيح GPG الخاصة

اكتبه في حقل "عبارة المرور" ، واضغط على مفتاح "Tab" ، واضغط على "Enter".

تأكيد مفاتيح GPG الخاصة المستوردة

يتم عرض تفاصيل المفاتيح المستوردة. في حالتنا ، لدينا مفتاح واحد فقط.

لاستيراد قاعدة بيانات الثقة الخاصة بنا ، اكتب:

 gpg - استيراد - مالك ثقة Trust.gpg 

استيراد علاقات الثقة في GPG

يمكننا التحقق من أنه تم استيراد كل شيء بشكل صحيح باستخدام خيار --list-secret-keys مرة أخرى.

 gpg - list-secret-keys - keyid-format LONG 

تم التحقق من عملية الاستيراد

هذا يعطينا نفس الإخراج بالضبط الذي رأيناه على كمبيوتر Ubuntu الخاص بنا سابقًا.

حماية خصوصيتك

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

ذات صلة: كيفية عمل نسخة احتياطية من نظام Linux الخاص بك باستخدام rsync