كيفية عمل نسخة احتياطية من مفاتيح GPG واستعادتها على نظام Linux
نشرت: 2022-08-18 الخصوصية هي موضوع ساخن بشكل متزايد. في نظام Linux ، يتيح الأمر gpg
للمستخدمين تشفير الملفات باستخدام تشفير المفتاح العام ، وفي هذه الحالة سيكون فقدان مفاتيح التشفير كارثيًا. إليك كيفية عمل نسخة احتياطية منها.
OpenPGP و GNU Privacy Guard
تتمثل إحدى مزايا الملفات الإلكترونية على النسخ الورقية في أنه يمكنك تشفير الملفات الإلكترونية بحيث لا يمكن الوصول إليها إلا من قبل الأشخاص المصرح لهم. إذا وقعوا في الأيدي الخطأ ، فلا يهم. يمكنك أنت والمستلم المقصود فقط الوصول إلى محتويات الملفات.
يصف معيار OpenPGP نظام تشفير يسمى تشفير المفتاح العام. أدى تنفيذ GNU Privacy Guard لهذا المعيار إلى gpg
، أداة سطر أوامر للتشفير وفك التشفير وفقًا للمعيار.
يحدد المعيار مخطط تشفير المفتاح العام. على الرغم من أنه يطلق عليه "المفتاح العام" ، إلا أن هناك مفتاحين معنيين. كل شخص لديه مفتاح عام ومفتاح خاص. المفاتيح الخاصة ، كما يوحي الاسم ، لا يتم الكشف عنها أو نقلها إلى أي شخص آخر. يمكن مشاركة المفاتيح العامة بأمان. في الواقع ، يجب مشاركة المفاتيح العامة حتى يعمل النظام.
عندما يتم تشفير ملف ، يتم استخدام المفتاح الخاص للمرسل والمفتاح العام للمستلم في عملية التشفير. يمكن بعد ذلك تسليم الملف إلى المستلم. يستخدمون مفتاحهم الخاص والمفتاح العام للمرسل لفك تشفير الملف.
يتم إنشاء المفاتيح العامة والخاصة كزوج متطابق وترتبط بهوية معينة. حتى إذا لم تنقل مواد حساسة إلى أشخاص آخرين ، فيمكنك استخدامها على جهاز الكمبيوتر الخاص بك لإضافة طبقة إضافية من الحماية إلى المستندات الخاصة.
يستخدم التشفير خوارزميات ووظائف تشفير ذات مستوى عالمي. بدون المفاتيح العامة والخاصة المناسبة ، لا يمكنك ببساطة الوصول إلى الملفات المشفرة. وإذا فقدت مفاتيحك ، فهذا ينطبق عليك أيضًا. لن يساعد إنشاء مفاتيح جديدة. لفك تشفير ملفاتك ، تحتاج إلى المفاتيح التي تم استخدامها في عملية التشفير.
وغني عن القول ، إن النسخ الاحتياطي للمفاتيح أمر بالغ الأهمية ، مثل معرفة كيفية استعادتها. إليك كيفية إنجاز هذه المهام.
دليل .gnupg
يتم تخزين مفاتيحك في دليل يسمى ".gnupg" في دليل منزلك. سيخزن هذا الدليل أيضًا المفاتيح العامة لأي شخص أرسل لك ملفات مشفرة. عند استيراد مفاتيحهم العامة ، تتم إضافتهم إلى ملف قاعدة بيانات مفهرس في هذا الدليل.
لا يتم تخزين أي شيء في هذا الدليل في نص عادي ، بالطبع. عند إنشاء مفاتيح GPG الخاصة بك ، ستتم مطالبتك بإدخال عبارة مرور. نأمل أن تكون قد تذكرت ما هي عبارة المرور هذه. سوف تحتاجه. لا يمكن فك تشفير الإدخالات في دليل ".gnugp" بدونها.
إذا استخدمنا أداة tree
للبحث في الدليل ، فسنرى بنية الدلائل الفرعية والملفات. ستجد tree
في مستودعات التوزيع الخاصة بك إذا لم تكن لديك بالفعل على جهاز الكمبيوتر الخاص بك.
شجرة .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 تبحث داخل ملف "/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
إذا كنت تريد فقط نسخ المفاتيح احتياطيًا لهوية واحدة ، فقم بإضافة عنوان البريد الإلكتروني المرتبط بالمفاتيح إلى سطر الأوامر. إذا كنت لا تستطيع تذكر عنوان البريد الإلكتروني ، فاستخدم خيار --list-secret-keys
، كما هو موضح أعلاه.
gpg --export --export-options backup - إخراج public.gpg [email protected]
لإجراء نسخ احتياطي لمفاتيحنا الخاصة ، نحتاج إلى استخدام خيار --export-secret-keys
بدلاً من الخيار --export
. تأكد من حفظ هذا في ملف مختلف.
gpg --export-secret-keys --export-options backup --output private.gpg
نظرًا لأن هذا هو مفتاحك الخاص ، فستحتاج إلى المصادقة مع GPG قبل أن تتمكن من المتابعة.
لاحظ أنه لا تتم مطالبتك بكلمة المرور الخاصة بك . ما تحتاج إلى إدخاله هو عبارة المرور التي قدمتها عند إنشاء مفاتيح GPG لأول مرة. تتيح لك مديري كلمات المرور الجيدة الاحتفاظ بمعلومات مثل هذه كملاحظات آمنة. إنه مكان جيد لتخزينها.
إذا تم قبول عبارة المرور ، فسيتم التصدير.
لعمل نسخة احتياطية من علاقات الثقة الخاصة بك ، نحتاج إلى تصدير الإعدادات من ملف “trustdb.gpg” الخاص بك. نحن نرسل الإخراج إلى ملف يسمى “trust.gpg”. هذا ملف نصي. يمكن مشاهدته باستخدام cat
.
gpg --export-ownertrust> trust.gpg
cat trust.gpg
فيما يلي الملفات الثلاثة التي أنشأناها.
ls -hl * .gpg
سننقلها إلى كمبيوتر آخر ، ونستعيدها. سيؤسس هذا هويتنا على هذا الجهاز ، ويسمح لنا باستخدام مفاتيح GPG الحالية الخاصة بنا.
إذا كنت لا تنقل المفاتيح إلى كمبيوتر آخر وكنت تقوم فقط بنسخها احتياطيًا لأنك تريد أن تتأكد بشكل مضاعف من أنها آمنة ، فقم بنسخها إلى بعض الوسائط الأخرى وتخزينها بأمان. حتى لو وقعوا في الأيدي الخطأ ، فإن مفتاحك العام يكون عامًا على أي حال ، لذلك لا ضرر هناك. وبدون عبارة مرورك ، لا يمكن استعادة مفتاحك الخاص. ولكن مع ذلك ، احتفظ بنسخك الاحتياطية آمنة وسرية.
لقد قمنا بنسخ الملفات إلى جهاز كمبيوتر Manjaro 21.
ls * .gpg
بشكل افتراضي ، يستخدم Manjaro 21 الصدفة Z ، zsh
، وهذا هو سبب اختلافه. لكن هذا لا يهم ، فلن يؤثر على أي شيء. ما نفعله محكوم ببرنامج gpg
وليس الصدفة.
لاستيراد --import
، نحتاج إلى استخدام خيار الاستيراد.
gpg - استيراد public.gpg
يتم عرض تفاصيل المفتاح أثناء استيراده. يتم أيضًا إنشاء ملف "trustdb.gpg" لنا. لاستيراد المفتاح الخاص بنفس السهولة. نستخدم خيار --import
مرة أخرى.
gpg - استيراد خاص. gpg
يُطلب منا إدخال عبارة المرور.
اكتبه في حقل "عبارة المرور" ، واضغط على مفتاح "Tab" ، واضغط على "Enter".
يتم عرض تفاصيل المفاتيح المستوردة. في حالتنا ، لدينا مفتاح واحد فقط.
لاستيراد قاعدة بيانات الثقة الخاصة بنا ، اكتب:
gpg - استيراد - مالك ثقة Trust.gpg
يمكننا التحقق من أنه تم استيراد كل شيء بشكل صحيح باستخدام خيار --list-secret-keys
مرة أخرى.
gpg - list-secret-keys - keyid-format LONG
هذا يعطينا نفس الإخراج بالضبط الذي رأيناه على كمبيوتر Ubuntu الخاص بنا سابقًا.
حماية خصوصيتك
تأكد من أن مفاتيح GPG الخاصة بك آمنة عن طريق نسخها احتياطيًا. إذا واجهت كارثة في الكمبيوتر أو قمت بالترقية إلى طراز أحدث ، فتأكد من معرفة كيفية نقل مفاتيحك إلى الجهاز الجديد.
ذات صلة: كيفية عمل نسخة احتياطية من نظام Linux الخاص بك باستخدام rsync