الخلاصة

  • يمكن للصيغ abc و"abc" و#616263# و3:abc و|YWJj| أن تمثل الأوكتتات الثلاثة نفسها، لكن التمثيل القانوني وحده ينتج بايتات التوقيع الفريدة.
  • قد يدخل تلميح العرض في الكائن القانوني الموقّع، من دون أن يصبح دليلاً على النوع أو الثقة أو التفويض.
  • يفصل السجل القابل للتدقيق بين الإدخال وملف المحلل والإخراج القانوني والتوقيع والتفسير والسياسة والنتيجة المرصودة.

الشاشة تعرض رموزاً والتوقيع يغطي بايتات

تعرض محطة abc، ويحفظ ملف "abc"، ويحتوي أثر على #616263#، وتنقل رسالة 3:abc، وتطبع أداة |YWJj|. يوضح RFC 9804 أن هذه الصيغ قد تنتهي إلى السلسلة ذاتها من ثلاثة أوكتتات. لكن صورة إحداها لا تكشف ما عبر حد التوقيع.

تكون S-expression سلسلة أوكتتات أو قائمة منتهية. ويميّز المعيار أربع بيئات: التمثيل المتقدم للبشر والتشخيص، والنقل الأساسي للقنوات المقيّدة، والتمثيل القانوني الفريد للتوقيع، وتمثيل الذاكرة الخاص بالتنفيذ.

تتكون السلسلة القانونية من طول عشري، ثم نقطتين، ثم البايتات نفسها. ولا توجد مسافات تنسيق اختيارية داخل القوائم. ويمكن نقل التعبير كاملاً بترميز Base64 بين قوسين معقوفين. هذه عبوة نقل، ويجب أن تعيد بعد فكها البايتات القانونية نفسها.

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

التلميح الموقّع يظل تلميحاً

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

عند غيابه يختار التطبيق قيمة محلية؛ والقيمة العامة هي application/octet-stream. لذلك قد يعرض تطبيقان الأوكتتات نفسها بطرق مختلفة. والمساواة أيضاً قاعدة تطبيق: يوصي المعيار بمطابقة التلميح والبيانات، لكنه يسمح بتجاهل التلميح. يجب تسجيل القاعدة ونسختها.

النحو هو البوابة الأولى فقط. يسمح RFC 9804 بمنع الصيغ المتقدمة أو التلميحات أو السلاسل والقوائم الفارغة ووضع حدود للموارد. ويقدم RFC 2693 مثال SPKI: لا قوائم فارغة، ويجب أن يكون العنصر الأول سلسلة نوع.

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

بعد التحقق يأتي المعنى. ينص RFC 2692 على أن كاتب التطبيق يحدد معنى تفويض SPKI. ويصف RFC 2693 الصفوف الموثوقة واختزال التفويض، لكن القرار النهائي يبقى للتطبيق. يسجل الإيصال المعالج ونسخة السياسة والفاعل والفعل والمورد والقرار. أما الأثر الفعلي فيحتاج إلى رصد مستقل.

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

المصادر