تخطَّ إلى المحتوى

ملفات التعريف الأساسية لـ PAdES

Spec: ETSI EN 319 142-1 Spec: ISO 32000-2, §12.8 Spec: RFC 3161 Evidence: Standard-backed

يحدّد PAdES أربعة مستويات أساسية — B-B وB-T وB-LT وB-LTA — يبني بعضها على بعض. ويضيف كل مستوى نوعًا محددًا من الإثبات. تشرح هذه الصفحة هذا التدرّج وتساعدك على اختيار أدنى مستوى لا يزال يفي بالالتزام، بدلًا من أعلى مستوى تصادف معرفتك باسمه.

يلجأ الناس إلى “B-LTA” لأنه يبدو الأشمل، أو إلى “B-B” لأنه الأقل جهدًا. وكلاهما تخمين. السؤال، لا التفضيل، هو ما يحدّد المستوى الذي تحتاجه: إلى متى يجب أن يبقى هذا التوقيع قابلًا للتحقق، ومن الذي يتحقق منه؟ إذا اخترت مستوى أدنى من اللازم، فقد يصبح التوقيع الذي كان صالحًا يوم التوقيع غير قابل للتحقق عند انتهاء صلاحية الشهادة. وإذا اخترت مستوى أعلى من اللازم، فستتحمّل سلطة طوابع زمنية وبنية تحتية لمواد التحقق لم تكن بحاجة إليها، إضافة إلى التزام أرشفة عليك مواصلة تغذيته. والفريق الذي لا يستطيع تغيير المستوى لاحقًا يدفع ثمن المستوى الخطأ.

  • المستويات الأربعة تراكمية. كل مستوى هو المستوى السابق مع إضافة واحدة.
  • B-B — التوقيع مع سماته الموقَّعة الإلزامية. يُثبت مَن وماذا.
  • B-TB-B مضافًا إليه طابع زمني موثوق على التوقيع. يُثبت متى، بمعزل عن ساعة الموقِّع.
  • B-LTB-T مضافًا إليه مواد تحقق مضمَّنة (شهادات وبيانات إبطال). يحمل المستند إثباته الخاص بأن الشهادة كانت سليمة وقت التوقيع.
  • B-LTAB-LT مضافًا إليه طابع زمني للمستند، يُكرَّر على مرّ الزمن. يُبقي المجموعة كلها قابلة للتحقق على مدى عقود وعبر تغيّرات الخوارزميات.
  • اختر المستوى وفق عُمر الالتزام، لا وفق ما يبدو الأكثر أمانًا.

كيف يتعامل ⁨NextPDF⁩ مع الأمر

قسم بعنوان «كيف يتعامل ⁨NextPDF⁩ مع الأمر»

يُنمذِج NextPDF المستوى بوصفه خيارًا صريحًا ومرتَّبًا، ويرفض التظاهر. تطلب مستوى؛ فيُنتج المحرّك ذلك المستوى بالضبط أو يفشل بخطأ قابل للتنفيذ. فهو لا يوقّع بهدوء عند مستوى أدنى ثم يترك سجلّ امتثال يدّعي مستوى أعلى. وُجِد هذا التصميم تحديدًا لمنع خفض طلب B-LTA صامتًا إلى B-T عند غياب البنية التحتية. تُرمَّز متطلبات كل مستوى على هيئة محمولات: هل الطابع الزمني مطلوب، وهل مواد التحقق المضمَّنة مطلوبة، وهل الطابع الزمني للمستند مطلوب. يمرّ المحرّك على تلك المحمولات، فإما أن يستوفيها أو يتوقف.

التدرّج أدناه هو نفسه الذي يفرضه المحرّك ويحدّده المعيار.

المستوىما يضيفه على المستوى السابقالسؤال الذي يجيب عنهما يحتاجه من نشرتك
B-Bسمات موقَّعة: content-type وmessage-digest وsigning-time وsigning-certificate-v2مَن وقّع، وما البايتات الدقيقة؟مفتاح توقيع وشهادة
B-Tطابع زمني موثوق على قيمة التوقيعمتى وُقّع، بإثبات؟سلطة طوابع زمنية (TSA)
B-LTشهادات مضمَّنة + بيانات إبطال (DSS)هل كانت الشهادة صالحة وقت التوقيع — ويمكن إثبات ذلك لاحقًا؟TSA + الوصول إلى بيانات الإبطال وقت التوقيع
B-LTAطابع زمني للمستند، قابل للتجديد على مرّ الزمنهل سيظل هذا قابلًا للتحقق بعد عقود؟TSA + عملية أرشفة تُعيد ختم الطابع الزمني

القفزة الأهم هي من B-T إلى B-LT. B-T يُثبت متى. أما B-LT فيجعل المستند مكتفيًا ذاتيًا من حيث الثقة: فهو يكفّ عن الاعتماد على بقاء سلطة الشهادات قابلة للوصول ومجيبة عن الاستفسارات بعد سنوات من الآن.

  1. Step 1 of 4: ISO 32000-2 §12.8 — signatures, LTV, document timestamp
  2. Step 2 of 4: ETSI EN 319 142-1 PAdES baseline levels B-B…B-LTA
  3. Step 3 of 4: RFC 3161 Timestamp token (introduced at B-T)
  4. Step 4 of 4: RFC 6960 OCSP revocation evidence (embedded at B-LT)
المعايير التي يقوم عليها تدرّج PAdES: يحدّد ISO 32000-2 كيفية وجود التواقيع ومواد التحقق داخل PDF؛ ويحدّد ETSI EN 319 142-1 المستويات الأساسية؛ ويحدّد RFC 3161 الطابع الزمني الذي يُدخله B-T؛ ويحدّد RFC 6960 دليل الإبطال الذي يضمّنه B-LT.

Evidence: Standard-backed تعريفات المستويات هي تعريفات ETSI. يحدّد Spec: ETSI EN 319 142-1 مستويات PAdES الأساسية؛ ويُظهر Spec: ETSI EN 319 142-2, §5.3 سمة signature-time-stamp بوصفها العنصر الاختياري الذي يمثّل وجوده ما يفصل مستوى مختومًا بطابع زمني عن B-B، و Spec: ETSI EN 319 142-2, §6.3.2.2 ينصّ على أن طابعًا زمنيًا موثوقًا ينبغي تطبيقه فور إنشاء التوقيع، حتى يكون الوقت المسجَّل أقرب ما يمكن إلى وقت التوقيع الفعلي. Spec: ETSI EN 319 142-2, §5.5 ينصّ على أن السلوك طويل الأمد يتطلب كلًّا من مخزن أمان المستند والطوابع الزمنية للمستند — أي إضافتا B-LT وB-LTA.

أما جانب الحاوية فيحدّده Spec: ISO 32000-2, §12.8.3.3 : تواقيع PAdES هي ملفات تعريف CAdES CMS مدمجة مع التحقق طويل الأمد (§12.8.4) وقاموس الطابع الزمني للمستند (§12.8.5)، تمامًا كما يصف ETSI EN 319 142-1. سبب أهمية B-LT يلتقطه Spec: RFC 6960, §4.4.4 : دليل الإبطال المؤرشَف يساعد أداة التحقق على الاستدلال بشأن موثوقية التوقيع وقت الإنتاج، حتى بعد انتهاء صلاحية الشهادة المستخدَمة في التحقق. وهذا هو الغرض من تضمينه.

يُرمِّز محرّك ⁨NextPDF⁩ كل مستوى على هيئة محمول مطلوب، وينتج المستوى المطلوب أو يفشل — وهو لا يُعلن عن مستوى لم يبنِه.

تعكس واجهة ⁨API⁩ هذا التدرّج: سمِّ المستوى، وسيعامله المحرّك بوصفه عقدًا.

<?php
declare(strict_types=1);
use NextPDF\Security\Signature\SignatureLevel;
// The level is an explicit, ordered choice — not a flag you hope is honoured.
$level = SignatureLevel::PAdES_B_T;
// The level itself tells you what it requires, before you sign:
$level->requiresTimestamp(); // B-T and above → true
$level->requiresDss(); // B-LT and above → true
$level->requiresDocumentTimestamp(); // B-LTA only → true
// Ask for B-LTA only if the deployment can actually fulfil it.
// The engine produces exactly the requested level or fails with an
// actionable error — it never silently signs lower and reports higher.

إذا طلبت B-LTA ولم تستطع النشرة توفير ما يحتاجه B-LTA، فالسلوك الافتراضي هو الفشل وإخبارك بأعلى مستوى كان بإمكانه بلوغه — لا أن يعيد بهدوء ملف B-T مُعنوَنًا بـB-LTA.

الفخّ هو: “B-LTA هو ببساطة الأفضل، فاختره دائمًا.” B-LTA ليس أفضل في المطلق؛ بل هو أكثر، والأكثر يحمل التزامات. فهو يتطلب سلطة طوابع زمنية، ومواد إبطال تُجمَع وقت التوقيع، وعملية أرشفة مستمرة تُعيد ختم الطابع الزمني للمستند قبل أن تضعف الخوارزميات التي تحميه أو شهادات الطوابع الزمنية. ملف B-LTA الذي لا يعاد ختمه بطابع زمني ليس محصَّنًا للمستقبل — بل هو ملف B-LT بمراسم إضافية. وعلى العكس، فإن B-B لعقد يجب أن يصمد عقدًا ليس “خفيفًا”؛ بل هو توقيع سيفشل في التحقق يوم انتهاء صلاحية الشهادة. المستوى الصحيح هو الذي يتطلبه الالتزام، لا أعلى ولا أدنى.

يُنتج NextPDF مستوى PAdES المطلوب؛ لكنه لا يوفّر الأطراف التي يعتمد عليها ذلك المستوى. سلطة الطوابع الزمنية، وسلسلة الشهادات، ومرتكزات الثقة، والاتصال لجلب بيانات الإبطال وقت التوقيع كلها من مسؤوليات النشر. ينفّذ المحرّك البنية ويفرض عقد المستوى؛ لكنه لا يستطيع أن يجعل TSA جديرة بالثقة أو يجعل شهادةً صالحة. تحمل البنية المُنتَجة العناصر التي يتطلبها ذلك المستوى، ويُتحقَّق منها مقابل اختبارات المحرّك نفسه والبنود المستشهَد بها. وهي ليست شهادة مطابقة من طرف ثالث، ولا تؤكد هذه الصفحة أثرًا قانونيًا بموجب eIDAS، وهو ما يتوقف على الشهادة والموقِّع والولاية القضائية. أما مسألة ما إذا كان وقت التوقيع موثوقًا به على نحو مستقل فمشمولة في الطوابع الزمنية والوقت الموثوق؛ وكيف يُبقي الدليل طويل الأمد التوقيع حيًّا فمشمول في التحقق طويل الأمد.

بعض التخوم لضبط التوقعات بدقة:

  • B-LT وB-LTA يُصدران بنية التحقق طويل الأمد، لا حكمًا بالمطابقة. ما يكتبه المحرّك هو قاموس مخزن أمان المستند، إضافة إلى مراجعة طابع زمني للمستند — قاموس توقيع بـType = DocTimeStamp وفق Spec: ISO 32000-2, §12.8 . تلك البنية لا يُعلَن عنها هنا بوصفها مختبَرة لمطابقة ملف التعريف؛ ففحوصات ملف تعريف ETSI EN 319 142-1 مقيَّدة بالإصدار في مسار CI الخاص بـ Pro و Enterprise، لذا لا تدّعي هذه الصفحة مطابقة ETSI EN 319 142-1 للملف المُنتَج.
  • المستندات المشفَّرة تفشل-مغلقةً مع B-LT وB-LTA. طلب مستوى طويل الأمد على مستند مشفَّر يتوقف بخطأ قابل للتنفيذ بدلًا من كتابة مراجعة طويلة الأمد جزئية.

توافر كل مستوى حسب الفئة — تصل إلى المستويات الأربعة جميعها عبر الوصلة عالية المستوى نفسها، setSignature($cert, SignatureLevel::PAdES_B_LTA, $tsaClient)->save():

PAdES baseline level — edition availability
Edition Availability
Core

PAdES B-B — أساس السمة الموقَّعة؛ وصلة Core.

Pro

يضيف PAdES B-T — طابعًا زمنيًا موثوقًا على قيمة التوقيع، يقوده TsaClient.

Enterprise

يضيف PAdES B-LT وB-LTA — مواد تحقق مضمَّنة (DSS) و حلقة الأرشفة القابلة للتجديد للطابع الزمني للمستند. وتعمل هذه عبر الوصلة عالية المستوى نفسها، ولكن فقط عندما تكون حزمتا ⁨Pro⁩ و ⁨Enterprise⁩ كلتاهما مُثبَّتتين؛ وإذا غابت أيٌّ منهما، يفشل الاستدعاء مغلقًا بدلًا من أن يكتب مراجعة طويلة الأمد جزئية.

  • PAdES — PDF Advanced Electronic Signatures؛ سلسلة ETSI EN 319 142 التي تُحدّد ملف تعريف تواقيع CMS لـ PDF.
  • المستوى الأساسي — أحد B-B وB-T وB-LT وB-LTA؛ مجموعة محدَّدة وتراكمية من عناصر التوقيع المطلوبة.
  • B-B — التوقيع الأساسي مع سماته الموقَّعة الإلزامية.
  • B-TB-B مضافًا إليه طابع زمني موثوق على قيمة التوقيع.
  • B-LTB-T مضافًا إليه مواد تحقق طويلة الأمد مضمَّنة (DSS).
  • B-LTAB-LT مضافًا إليه طابع زمني قابل للتجديد للمستند لأجل الصلاحية الأرشيفية.
  • ⁨DSS⁩ — ⁨Document Security Store⁩ (مخزن أمان المستند)؛ بنية ⁨PDF⁩ التي تحمل الشهادات المضمَّنة وبيانات الإبطال.
  • TSA — Time-Stamp Authority (سلطة الطوابع الزمنية)؛ خدمة موثوقة تُصدر رموز طوابع زمنية وفق RFC 3161.