تعلّم · 6 دقيقة قراءة
المفاتيح الفرعية في OpenPGP — شرح مفصّل
مفاتيح OpenPGP الحديثة هي مفتاح رئيسي بالإضافة إلى مفاتيح فرعية. إليك ما يفعله كل منها ولماذا يهم الفصل بينها.
"المفتاح" الحديث في OpenPGP هو حزمة: مفتاح رئيسي واحد بالإضافة إلى مفاتيح فرعية. يوقّع الرئيسي ويُعتمد. أما المفاتيح الفرعية فتنجز عمليات التشفير والتوقيع اليومية. هذا الفصل هو أحد الممارسات التشغيلية الجيدة بلا جدل في PGP.
لماذا توجد المفاتيح الفرعية
يحمل الرئيسي هويتك — بصمته هي ما يتحقق منه الآخرون وينشرونه ويوقّعون عليه في حفلات توقيع المفاتيح. تدوير الرئيسي يُفقدك كل الثقة المتراكمة.
تستخدم المفاتيح على أجهزة قد تتعرض للاختراق. إن كانت مفاتيح الاستخدام اليومي هي الرئيسية، فجهاز مخترق واحد يحرق كل شيء.
المفاتيح الفرعية تحل هذا. يبقى الرئيسي بارداً (غير متصل). تذهب المفاتيح الفرعية إلى الأجهزة اليومية. إن اختُرق مفتاح فرعي، تُبطله وحده فقط؛ يوقّع الرئيسي على البديل؛ وتستمر الهوية.
الأدوار الثلاثة للمفاتيح الفرعية
- التوقيع (S) — توقيعات على الرسائل والملفات والـ commits والإصدارات.
- التشفير (E) — استقبال الرسائل المشفَّرة.
- المصادقة (A) — يُستخدم كمفتاح SSH عبر gpg-agent. اختياري.
يمكن أن يحمل كل دور مفاتيح فرعية متعددة وخوارزميات مختلفة وتواريخ انتهاء مستقلة.
السلوك الافتراضي
تمنحك معظم الأدوات (GPG وOpenPGP.js وهذا التطبيق) تلقائياً مفتاحاً رئيسياً + مفتاحاً فرعياً للتشفير + مفتاحاً فرعياً للتوقيع.
للمستخدم العادي، الافتراضي كافٍ. للنظافة طويلة الأمد: رئيسي بارد (التوثيق فقط)، مفتاح فرعي للتوقيع متصل، مفتاح فرعي للتشفير متصل، مفتاح فرعي للمصادقة اختياري.
سير العمل العملي مع GPG
نمط الرئيسي غير المتصل:
gpg --quick-generate-key "Alice <[email protected]>" ed25519 cert never
gpg --edit-key [email protected]
> addkey # توقيع
> addkey # تشفير
> addkey # مصادقة
> save
صدّر الرئيسي إلى USB، خزّنه دون اتصال، وأزله من سلسلة المفاتيح اليومية. العمليات اليومية تستخدم المفاتيح الفرعية فقط.
تدوير مفتاح فرعي
- وصّل الرئيسي غير المتصل.
- addkey لإنشاء مفتاح فرعي جديد.
- اختيارياً revkey القديم.
- gpg --send-keys للنشر. يلتقط المستلمون المفتاح الفرعي الجديد.
الرسائل القديمة لا تزال تُفك تشفيرها بالمفتاح الفرعي القديم. الرسائل الجديدة تستخدم الجديد تلقائياً.