الخلاصة

  • معرّف مفتاح OpenPGP تلميح بحث بطول 64 بت يمكن أن يتصادم؛ ولا يثبت وحده وجود حزمة مفتاح عام واحدة أو هوية الشخص الذي يملكها.
  • يحتفظ سجل التحقق القابل للمراجعة بكل المرشحين والحزمة والبصمة الكاملة ومصدر الاسترجاع والتصديقات وحالة الصلاحية والنتيجة التشفيرية وقرار التفويض المنفصل.

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

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

يرتبط Jon Callas بتاريخ هذه الحدود. تسجل صفحته في IETF خمس وثائق RFC، منها RFC 2440 وRFC 4880. وتعرض سيرته لدى ACLU خبرات في التشفير وهندسة البرمجيات والتصميم، لكن الوظائف الواردة فيها سياق مؤرخ وليست إثباتاً لعمله الحالي. أما RFC 9580 الحالية التي حلت محل RFC 4880 فلها مؤلفون آخرون.

ثمانية أوكتات لا تساوي كائناً فريداً

تعرّف RFC 4880 معرّف المفتاح بثمانية أوكتات، وتنص على ألا تفترض التطبيقات تفرده. في مفتاح RSA من الإصدار 3 يؤخذ من أدنى 64 بت من المعامل. وفي الإصدار 4 يؤخذ من أدنى 64 بت من البصمة.

تحافظ RFC 9580 على الطول والتحذير معاً. يستخدم الإصدار 4 الجزء الأدنى من بصمة SHA-1، بينما يستخدم الإصدار 6 الجزء الأعلى من بصمة SHA-256. الاسم واحد، إلا أن طريقة الاشتقاق مرتبطة بإصدار الحزمة.

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

يجب حفظ الإصدار أيضاً. قد تنتج مادة RSA الرياضية ذاتها، عند تمثيلها في حزم من الإصدارات 3 و4 و6، بصمات ومعرّفات مختلفة. لذلك لا يصلح المعرّف القصير اسماً دائماً للمادة الرياضية خارج سياق الحزمة.

البصمة تحدد الحزمة ولا تثبت الشخص

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

مع ذلك تحذر RFC 9580 من الاعتماد على البشر في قراءة البصمات الطويلة ومقارنتها. العلاج هو نقل القيمة عبر قناة موثقة وإجراء مقارنة آلية، لا الرجوع إلى المعرّف الأقصر. ولهذا يجب أن يسجل الإيصال مصدر البصمة المتوقعة: إعداد مضبوط، دليل موقّع، قناة مستقلة موثقة، أم صفحة قابلة للتغيير. المقارنة الدقيقة مع مرجع خاطئ تظل نتيجة خاطئة.

ثم تأتي هوية الإنسان. تحتوي حزمة User ID نصاً بترميز UTF-8، غالباً اسماً وبريداً إلكترونياً، لكن البنية لا تتحقق من صدقه. توقيعات التصديق تربط النص بالمفتاح بدرجات مختلفة: التصديق generic لا يحدد مقدار التحقق؛ وpersona يصرح بعدم وجود تحقق؛ أما casual وpositive فيعبران عن فحص أقوى تدريجياً.

لذلك لا يثبت الاسم الصحيح بجوار البصمة الصحيحة وظيفة حالية أو تفويضاً. على الطرف المعتمد أن يحدد جهات التصديق المقبولة والغرض والنطاق والزمن.

صحة التوقيع أضيق من سلطة الفعل

تبقى حزمة Issuer Key ID الفرعية تلميحاً بطول ثمانية بايتات داخل التوقيع. تمنع RFC 9580 استخدامها للمفاتيح الأحدث من الإصدار 4، وتوصي بإدراج Issuer Fingerprint في جميع التوقيعات. وإذا اجتمعا مع مفتاح من الإصدار 4 وجب أن يطابق المعرّف الجزء الأدنى من البصمة. يفيد هذا الاتساق، لكنه لا يغني عن حل حزمة المفتاح العام.

بعد ذلك تجيب العملية التشفيرية عن سؤال محدود: هل يصح هذا التوقيع بهذا المفتاح على هذه البايتات تحديداً؟ الانتهاء والإلغاء والزمن محل التقييم وسياسة الخوارزمية وkey flags اختبارات مستقلة. القدرة التقنية على التوقيع لا تمنح إذناً عاماً بالاستخدام.

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

إيصال يحتفظ بالمرشحين

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

ثم يسجل User ID الذي جرى تقييمه، وسلسلة التصديق أو قاعدة الثقة، وحالتي الانتهاء والإلغاء في الوقت المعني، وkey flags، وسياسة الخوارزمية، ونتيجة التحقق. ولا يأتي قرار السماح بالفعل إلا في خانة أخيرة لها دليلها الخاص.

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

المصادر