ข้ามไปยังเนื้อหา

โปรไฟล์เบสไลน์ของ 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 สร้างแบบจำลองของระดับเป็นทางเลือกที่ชัดเจนและเรียงลำดับ และไม่แสร้งอ้างผลลัพธ์ที่ไม่ได้สร้างจริง คุณร้องขอระดับหนึ่ง เอนจินผลิตระดับนั้น ตรงตามนั้น หรือไม่ก็ล้มเหลวพร้อมข้อผิดพลาดที่ดำเนินการแก้ไขได้ เอนจินจะไม่ลงนามในระดับต่ำกว่าโดยไม่แจ้งแล้วปล่อยให้บันทึกการปฏิบัติตามข้อกำหนดอ้างว่าเป็นระดับที่สูงกว่า การออกแบบนี้มีไว้เพื่อป้องกันการลดระดับโดยไม่แจ้งจากคำขอ 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 ระบุว่าการรองรับ ระยะยาวต้องอาศัยทั้ง Document Security Store และการประทับเวลาเอกสาร — สิ่งที่ 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 ส่งมอบ โครงสร้าง ของการตรวจสอบยืนยันระยะยาว ไม่ใช่คำตัดสินความสอดคล้อง สิ่งที่เอนจินเขียนคือพจนานุกรม Document Security Store บวกกับรีวิชันการประทับเวลาเอกสาร — พจนานุกรมลายเซ็นที่มี Type = DocTimeStamp ตาม Spec: ISO 32000-2, §12.8 ในที่นี้ ไม่ อ้างว่าโครงสร้างนั้นผ่านการทดสอบความสอดคล้องของโปรไฟล์ การตรวจสอบโปรไฟล์ ETSI EN 319 142-1 ถูกควบคุมในขั้นตอนการรีลีสบนเลน CI ของ Pro และ Enterprise ดังนั้นหน้านี้จึงไม่อ้างความสอดคล้อง ETSI EN 319 142-1 สำหรับไฟล์ที่ผลิตออกมา
  • เอกสารที่เข้ารหัสลับจะ fail-closed สำหรับ B-LT และ B-LTA เมื่อขอระดับระยะยาวกับเอกสารที่เข้ารหัสลับ เอนจินจะหยุดพร้อมข้อผิดพลาดที่ดำเนินการแก้ไขได้ แทนที่จะเขียนรีวิชันระยะยาวบางส่วน

ความพร้อมใช้งานของแต่ละระดับตามระดับชั้น — ทั้งสี่ระดับเข้าถึงผ่าน seam ระดับสูงเดียวกัน setSignature($cert, SignatureLevel::PAdES_B_LTA, $tsaClient)->save():

ระดับเบสไลน์ PAdES — edition availability
Edition Availability
Core

PAdES B-B — เบสไลน์ของแอตทริบิวต์ที่ลงนาม; seam ใน Core

Pro

เพิ่ม PAdES B-T — การประทับเวลาที่เชื่อถือได้บนค่าลายเซ็น ขับเคลื่อนโดย TsaClient

Enterprise

เพิ่ม PAdES B-LT และ B-LTA — วัสดุการตรวจสอบยืนยันที่ฝังอยู่ (DSS) และ วงจรการเก็บถาวรด้วยการประทับเวลาเอกสารที่ต่ออายุได้ ทั้งหมดนี้ทำงานผ่าน seam ระดับสูงเดียวกัน แต่เฉพาะเมื่อติดตั้งแพ็กเกจ Pro และ Enterprise ทั้งสอง เท่านั้น หากขาดอย่างใดอย่างหนึ่ง การเรียกจะ fail-close แทนที่จะเขียน รีวิชันระยะยาวบางส่วน

  • 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 — ผู้ออกการประทับเวลา; บริการที่เชื่อถือได้ซึ่งออกโทเค็น RFC 3161 สำหรับการประทับเวลา