الخصوصية هي موضوع ساخن بشكل متزايد. على Linux، gpg
يتيح الأمر للمستخدمين تشفير الملفات باستخدام التشفير بالمفتاح العام، وفي هذه الحالة فإن فقدان مفاتيح التشفير الخاصة بك سيكون كارثيًا. وإليك كيفية عمل نسخة احتياطية منها.
OpenPGP وGNU Privacy Guard
من بين مزايا الملفات الإلكترونية مقارنة بالنسخ الورقية أنه يمكنك تشفير الملفات الإلكترونية بحيث لا يمكن الوصول إليها إلا من قبل الأشخاص المصرح لهم. وإذا وقعت في الأيدي الخطأ، فلا يهم. أنت والمستلم المقصود فقط من يمكنه الوصول إلى محتويات الملفات.
يصف معيار OpenPGP نظام تشفير يسمى تشفير المفتاح العام. حماية الخصوصية GNU أدى تنفيذ هذا المعيار إلى gpg
، أداة سطر أوامر للتشفير وفك التشفير في وفقا للمعيار.
تحدد هذه المعايير مخطط تشفير بمفتاح عام. ورغم تسميته “المفتاح العام”، فإن هناك مفتاحين متضمنين. فكل شخص لديه مفتاح عام ومفتاح خاص. والمفاتيح الخاصة، كما يوحي اسمها، لا يتم الكشف عنها أو نقلها إلى أي شخص آخر. ويمكن مشاركة المفاتيح العامة بأمان. بل في الواقع، يجب مشاركة المفاتيح العامة حتى يعمل المخطط.
عند تشفير ملف، يتم استخدام المفتاح الخاص للمرسل والمفتاح العام للمستلم في عملية التشفير. ومن ثم يمكن تسليم الملف إلى المستلم. ويستخدم المستلم مفتاحه الخاص والمفتاح العام للمرسل لفك تشفير الملف.
يتم إنشاء المفاتيح العامة والخاصة كزوج متطابق ومرتبط بهوية معينة. حتى إذا لم ترسل مواد حساسة إلى أشخاص آخرين، فيمكنك استخدامها على جهاز الكمبيوتر الخاص بك لإضافة طبقة إضافية من الحماية للمستندات الخاصة.
يستخدم التشفير خوارزميات ووظائف تشفيرية من الطراز العالمي. وبدون المفاتيح العامة والخاصة المناسبة، لن تتمكن ببساطة من الوصول إلى الملفات المشفرة. وإذا فقدت مفاتيحك، فهذا ينطبق عليك أيضًا. ولن يساعدك إنشاء مفاتيح جديدة. لفك تشفير ملفاتك، تحتاج إلى المفاتيح التي استخدمت في عملية التشفير.
لا داعي للقول إن عمل نسخة احتياطية من مفاتيحك أمر بالغ الأهمية، وكذلك معرفة كيفية استعادتها. وإليك كيفية إنجاز هذه المهام.
دليل .gnupg
يتم تخزين مفاتيحك في دليل يسمى “.gnupg” في الدليل الرئيسي الخاص بك. سيخزن هذا الدليل أيضًا المفاتيح العامة لأي شخص أرسل لك ملفات مشفرة. عند استيراد مفاتيحهم العامة، تتم إضافتهم إلى ملف قاعدة بيانات مفهرس في هذا الدليل.
لا يتم تخزين أي شيء في هذا الدليل بصيغة نص عادي بالطبع. عند إنشاء مفاتيح GPG الخاصة بك، سيُطلب منك إدخال عبارة مرور. نأمل أن تتذكر ما هي عبارة المرور هذه. ستحتاج إليها. لا يمكن فك تشفير الإدخالات الموجودة في الدليل “.gnugp” بدونها.
إذا استخدمنا
tree
أداة مساعدة للنظر إلى الدليل، سنرى هذا الهيكل من الدلائل الفرعية والملفات. ستجد
tree
في مستودعات التوزيع الخاص بك إذا لم يكن موجودًا بالفعل على جهاز الكمبيوتر الخاص بك.
tree .gnupg
محتويات شجرة الدليل هي:
- إلغاء ملف openpgp.d:يحتوي هذا الدليل الفرعي على شهادة الإلغاء الخاصة بك. ستحتاج إليها إذا أصبح مفتاحك الخاص معروفًا للجميع أو تعرض للخطر بأي شكل آخر. تُستخدم شهادة الإلغاء الخاصة بك في عملية التخلص من مفاتيحك القديمة وتبني مفاتيح جديدة.
- المفاتيح الخاصة-v1.d:يخزن هذا الدليل الفرعي مفاتيحك الخاصة.
- نشر.kbx:ملف مشفر. يحتوي على مفاتيح عامة، بما في ذلك مفاتيحك، وبعض البيانات الوصفية عنها.
- النشر.kbx~:هذه نسخة احتياطية من “pubring.kbx”. يتم تحديثها قبل إجراء أي تغييرات على “pubring.kbx”.
- قاعدة بيانات موثوقة.gpg:يحتوي هذا على علاقات الثقة التي أنشأتها لمفاتيحك الخاصة ولأي مفاتيح عامة مقبولة تنتمي إلى أشخاص آخرين.
يجب عليك إجراء نسخ احتياطية منتظمة ومتكررة لدليلك الرئيسي على أي حال، بما في ذلك الملفات والمجلدات المخفية. سيؤدي هذا إلى إجراء نسخ احتياطية لدليل “.gnupg” بطبيعة الحال.
ولكن قد تعتقد أن مفاتيح GPG الخاصة بك مهمة بما يكفي لتبرير إجراء نسخة احتياطية دورية خاصة بها، أو ربما ترغب في نسخ مفاتيحك من جهاز الكمبيوتر المكتبي إلى الكمبيوتر المحمول بحيث تكون متوفرة على كلا الجهازين. فأنت موجود على كلا الجهازين، بعد كل شيء.
تحديد المفاتيح التي يجب عمل نسخة احتياطية لها
يمكننا أن نسأل gpg
لإخبارنا بالمفاتيح الموجودة في نظام GPG الخاص بك. سوف نستخدم --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
يضمن هذا تضمين كافة البيانات التعريفية الخاصة بـ GPG للسماح باستيراد الملفات بشكل صحيح على جهاز كمبيوتر آخر.
سنحدد ملف الإخراج باستخدام --output
الخيار. إذا لم نفعل ذلك، فسيتم إرسال الناتج إلى نافذة المحطة الطرفية.
gpg --export --export-options backup --output public.gpg
إذا كنت تريد فقط عمل نسخة احتياطية للمفاتيح الخاصة بهوية واحدة، فأضف عنوان البريد الإلكتروني المرتبط بالمفاتيح إلى سطر الأوامر. إذا لم تتمكن من تذكر عنوان البريد الإلكتروني، فاستخدم --list-secret-keys
الخيار كما هو موضح أعلاه.
gpg --export --export-options backup --output public.gpg dave@madeupdomain.com
لإجراء نسخة احتياطية لمفاتيحنا الخاصة، نحتاج إلى استخدام --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 --import public.gpg
يتم عرض تفاصيل المفتاح عند استيراده. يتم أيضًا إنشاء ملف “trustdb.gpg” لنا. استيراد المفتاح الخاص سهل بنفس القدر. نستخدم --import
الخيار مرة أخرى.
gpg --import private.gpg
يُطلب منا إدخال عبارة المرور.
اكتبها في حقل “عبارة المرور”، واضغط على مفتاح “Tab”، ثم اضغط على “Enter”.
يتم عرض تفاصيل المفاتيح المستوردة. في حالتنا، لدينا مفتاح واحد فقط.
لاستيراد قاعدة بيانات الثقة الخاصة بنا، اكتب:
gpg --import-ownertrust trust.gpg
يمكننا التحقق من أن كل شيء تم استيراده بشكل صحيح باستخدام --list-secret-keys
الخيار مرة أخرى.
gpg --list-secret-keys --keyid-format LONG
وهذا يعطينا نفس النتيجة تمامًا التي رأيناها على جهاز الكمبيوتر الخاص بنا الذي يعمل بنظام Ubuntu سابقًا.
حماية خصوصيتك
تأكد من أن مفاتيح GPG الخاصة بك آمنة من خلال عمل نسخة احتياطية لها. إذا تعرضت لكارثة في جهاز الكمبيوتر الخاص بك أو قمت للتو بالترقية إلى طراز أحدث، فتأكد من معرفة كيفية نقل مفاتيحك إلى الجهاز الجديد.