ไทม์สแตมป์และเวลาที่เชื่อถือได้
Spec: RFC 3161 RFC 3161 Spec: RFC 5816 RFC 5816 Spec: ISO 32000-2, §12.8.5 ISO 32000-2 §12.8.5 Evidence: Standard-backed
ภาพรวมโดยสังเขป
หัวข้อที่มีชื่อว่า “ภาพรวมโดยสังเขป”ไทม์สแตมป์ไม่ได้บันทึกว่า “สิ่งนี้ถูกลงนามเมื่อใด” แต่พิสูจน์เรื่องที่แคบกว่าและหนักแน่นกว่า นั่นคือข้อมูลชิ้นหนึ่งๆ มีอยู่ก่อน ช่วงเวลาหนึ่งๆที่ระบุไว้ โดยมีฝ่ายที่ไม่ใช่ผู้ลงนามเป็นผู้รับรอง ความแตกต่างนี้คือคุณค่าทั้งหมดของเวลาที่เชื่อถือได้ และเป็นจุดที่มักถูกเข้าใจผิด
เหตุใดเรื่องนี้จึงสำคัญ
หัวข้อที่มีชื่อว่า “เหตุใดเรื่องนี้จึงสำคัญ”เวลาลงนามที่อยู่ภายในลายเซ็นเป็นเพียงสิ่งที่คอมพิวเตอร์ของผู้ลงนามกล่าวอ้าง นาฬิกาอาจคลาดเคลื่อนได้ทั้งโดยไม่ตั้งใจหรือจงใจ หากหลักฐานเดียวของ เมื่อใด คือคำยืนยันจากผู้ลงนามเอง ผู้ลงนามย่อมระบุวันที่ของเอกสารให้เร็วหรือช้ากว่าความจริงได้ตามใจ ใบรับรองที่ถูกเพิกถอนไปเมื่อวานนี้อาจถูกทำให้ดูเหมือนลงนามไว้ตั้งแต่ปีที่แล้ว “เมื่อใด” จึงไม่ใช่รายละเอียดปลีกย่อย เพราะเป็นตัวตัดสินว่าลายเซ็นที่สร้างด้วยใบรับรองซึ่งตอนนี้หมดอายุหรือถูกเพิกถอนไปแล้ว ยังควรถือว่ามีผลอยู่หรือไม่ และหากเวลาที่เชื่อถือได้ผิดพลาด ข้อโต้แย้งเรื่องความสมบูรณ์ระยะยาวทั้งหมดที่วางอยู่บนรากฐานนั้นก็จะพังลง
ฉบับย่อ
หัวข้อที่มีชื่อว่า “ฉบับย่อ”- เวลาลงนามที่ผู้ลงนามระบุเองเป็น คำกล่าวอ้าง ไม่ใช่หลักฐาน และปลอมแปลงได้ง่ายอย่างยิ่ง
- ส่วน ไทม์สแตมป์ RFC 3161 คือโทเค็นที่ลงนามแล้วจากผู้ออกไทม์สแตมป์ (Time-Stamp Authority, TSA) ซึ่งผูก แฮชของข้อมูลของคุณ เข้ากับ เวลาของ TSA
- สิ่งที่พิสูจน์ได้นั้นเจาะจง คือ ข้อมูลมีอยู่ก่อนเวลาที่ TSA ระบุไว้ ไม่ใช่เวลาที่ข้อมูลถูกสร้างขึ้นอย่างแม่นยำ แต่เป็นขอบเขตบน
- โทเค็นสะท้อน nonce และ message imprint ของคุณกลับมา จึงไม่อาจเป็นโทเค็นที่เล่นซ้ำหรือเป็นของข้อมูลอื่นได้
- ส่วน ไทม์สแตมป์ของเอกสาร ใช้กลไกเดียวกันกับ ทั้งไฟล์ PDF โดยยึดทุกสิ่งที่อยู่ภายใต้ไทม์สแตมป์นั้น ทั้งลายเซ็นและหลักฐานการตรวจสอบความถูกต้องที่ฝังอยู่ เข้ากับช่วงเวลาที่เชื่อถือได้
แนวทางของ NextPDF ในเรื่องนี้
หัวข้อที่มีชื่อว่า “แนวทางของ NextPDF ในเรื่องนี้”NextPDF ถือว่าไทม์สแตมป์เป็นสิ่งที่ต้อง ตรวจสอบยืนยัน ไม่ใช่เพียงสิ่งที่ต้องได้มา การร้องขอโทเค็นเป็นเพียงส่วนเล็กของงานทั้งหมด จุดยืนของเอนจินคือโทเค็นที่ยังไม่ได้ตรวจสอบยืนยันไม่ถือเป็นหลักฐาน
เมื่อเอนจินประทับไทม์สแตมป์บนลายเซ็น เอนจินจะส่งแฮชของข้อมูลและ nonce แบบสุ่มที่สร้างขึ้นใหม่ไปยัง TSA โดยไม่ส่งตัวข้อมูลเองเลย จากนั้นจะตรวจสอบโทเค็นที่ส่งกลับมาเทียบกับคุณสมบัติครบชุดที่ทำให้โทเค็นนั้นมีความหมาย ได้แก่ สถานะของผู้ออกเป็น “granted” ค่า nonce ในโทเค็นตรงกับค่าที่ส่งไป ค่า message imprint ในโทเค็นตรงกับแฮชที่ส่งไป ลายเซ็นเชิงเข้ารหัสลับของโทเค็นตรวจสอบผ่าน ชนิดเนื้อหาของโทเค็นเป็นชนิดไทม์สแตมป์ และเวลาที่ระบุอยู่ภายในค่าความคลาดเคลื่อนที่ยอมรับได้ ความคลาดเคลื่อนใดๆถือเป็นความล้มเหลวขั้นเด็ดขาด พร้อมเหตุผลที่ระบุชนิดไว้ ไม่มีเส้นทางแบบ “ดูใกล้เคียงพอแล้ว” ไทม์สแตมป์ของเอกสารใช้กฎเดียวกัน แต่ใช้กับทั้งไฟล์แทนค่าของลายเซ็นเพียงรายการเดียว
- Hash the data Only a digest of the signature value (or the whole PDF, for a document timestamp) is computed — never the data itself.
- Send hash + nonce The digest and a fresh random nonce go to the Time-Stamp Authority.
- TSA returns a token A signed token binds the digest to the TSA’s genTime and echoes the nonce.
- Verify the token Status granted, nonce matches, message imprint matches, token signature verifies, time within tolerance.
- Conclude an upper bound The data provably existed before the TSA’s stated time — attested by a party that is not the signer.
หลักฐานบอกอะไร
หัวข้อที่มีชื่อว่า “หลักฐานบอกอะไร” Evidence: Standard-backed คำนิยามมีขอบเขตชัดเจน
Spec: ISO/IEC 18014-2, §3 ISO/IEC 18014-2 §3 นิยามบริการไทม์สแตมป์ว่า
เป็นบริการที่ให้ หลักฐานว่าข้อมูลรายการหนึ่งมีอยู่ก่อนช่วงเวลาหนึ่งๆ
ในเชิงเวลา กล่าวคือเป็นขอบเขตบน ไม่ใช่เวลาที่สร้างขึ้น
Spec: ISO/IEC 18014-2, §7 ISO/IEC 18014-2 §7 นิยามเนื้อหา
TSTInfo ของโทเค็น ได้แก่ message imprint (แฮชของข้อมูลของคุณ) เวลา
ที่สร้าง หมายเลขลำดับ และ nonce ที่เป็นทางเลือก
Spec: ISO/IEC 18014-2, §6 ISO/IEC 18014-2 §6 ระบุข้อสรุปเมื่อการตรวจสอบสำเร็จว่า
ผู้ตรวจสอบสรุปได้ว่าข้อมูลรายการนั้นมีอยู่ก่อนเวลาที่ระบุใน
โทเค็น ไม่มากไปและไม่น้อยไปกว่านั้น
สำหรับ PDF นั้น Spec: ISO 32000-2, §12.8.5 ISO 32000-2 §12.8.5 กำหนดไทม์สแตมป์ของเอกสารไว้ว่า ช่วงไบต์ครอบคลุมทั้งไฟล์โดย ไม่รวม
Contents แฮชนั้นจะถูกส่งไปยังผู้ออกไทม์สแตมป์ และโทเค็น
RFC 3161 ที่ส่งกลับมา — ตามที่ปรับปรุงโดย Spec: RFC 5816 RFC 5816 — จะถูกวางไว้ใน
Contents เป็นวินัยเรื่องช่วงไบต์แบบเดียวกับลายเซ็น แต่นำไปใช้กับเวลา
แทนตัวตน และ Spec: RFC 6960, §4.4.4 RFC 6960 §4.4.4 อธิบายว่าทำไม
เรื่องนี้จึงสำคัญต่อความคงทนระยะยาว กล่าวคือเวลาที่เชื่อถือได้ทำให้ตัวตรวจสอบความถูกต้องพิสูจน์ได้ว่า
ลายเซ็นนั้นเชื่อถือได้ในวันที่สร้างขึ้น แม้หลังจากที่ใบรับรอง
หมดอายุไปแล้ว
เอนจินของ NextPDF จะส่งแฮชและ nonce โดยไม่ส่งตัวข้อมูลเลย และตรวจสอบโทเค็นที่ส่งกลับมาเทียบกับสถานะ nonce message imprint ลายเซ็นโทเค็น ชนิดเนื้อหา และค่าความคลาดเคลื่อนของเวลา ก่อนถือว่าเป็นหลักฐาน
ตัวอย่างเชิงปฏิบัติ
หัวข้อที่มีชื่อว่า “ตัวอย่างเชิงปฏิบัติ”คุณไม่ต้องประกอบโทเค็นไทม์สแตมป์ด้วยตนเอง สิ่งสำคัญคือขอบเขตความเชื่อถือ TSA เป็นสิ่งที่คุณต้อง กำหนดค่าและปกป้อง เพราะเวลาของ TSA จะกลายเป็นหลักฐานของคุณ
<?php
declare(strict_types=1);
use NextPDF\Security\Signature\SignatureLevel;
// Asking for any level at or above B-T requires a TSA.$level = SignatureLevel::PAdES_B_T;$level->requiresTimestamp(); // true → a Time-Stamp Authority must be supplied
// The TSA endpoint, its transport security, and its trust anchor are// deployment-supplied. The engine sends a hash plus a fresh nonce — never the// document — and verifies the returned token before the signature is accepted.// A token that fails any check (status, nonce, imprint, signature, time)// is a hard error, not a warning.ขอบเขตสำคัญคือเอนจินส่ง แฮช ไม่ใช่ตัวเอกสาร TSA จึงไม่เคยเห็นเนื้อหาของคุณ และเอนจินจะตรวจสอบยืนยันการตอบกลับนั้น TSA ที่คุณไม่สามารถพิสูจน์ตัวตนได้ไม่ใช่เวลาที่เชื่อถือได้ เป็นเพียงนาฬิกาอีกเรือนหนึ่งเท่านั้น
ความเข้าใจผิดที่พบบ่อย
หัวข้อที่มีชื่อว่า “ความเข้าใจผิดที่พบบ่อย”กับดักคือการตีความไทม์สแตมป์ว่า “สิ่งนี้ถูกลงนามเมื่อเวลา 14:32 น. พอดีในวันที่นี้” ไทม์สแตมป์ไม่ใช่นาฬิกาจับเวลาของเหตุการณ์การลงนาม แต่พิสูจน์ว่าข้อมูลมีอยู่ ไม่ช้ากว่า เวลาของ TSA ซึ่งเป็นขอบเขตบนที่บุคคลที่สามกำหนด ข้อมูลอาจถูกสร้างขึ้นเมื่อใดก็ได้ก่อนหน้านั้น กับดักที่สองคือการสมมติว่าเซิร์ฟเวอร์ไทม์สแตมป์ใดๆก็ให้เวลาที่เชื่อถือได้แก่คุณ โทเค็นที่คุณตรวจสอบลายเซ็นไม่ได้ หรือคุณไม่เชื่อถือผู้ออก ไม่ได้พิสูจน์สิ่งใดเลย เป็นเพียงนาฬิกาที่คุณไม่มีเหตุผลให้เชื่อถือ เวลาที่เชื่อถือได้มาจาก TSA ที่คุณพิสูจน์ตัวตนได้ และ โทเค็นที่คุณตรวจสอบยืนยันแล้ว ไม่ใช่จากการขอตัวเลขจากเซิร์ฟเวอร์
ข้อจำกัดและขอบเขต
หัวข้อที่มีชื่อว่า “ข้อจำกัดและขอบเขต”NextPDF สร้างคำขอ ส่งเฉพาะแฮช และตรวจสอบยืนยันโทเค็นที่ส่งกลับมา แต่ไม่ได้รับประกันผู้ออกที่อยู่เบื้องหลัง ความแม่นยำของ TSA ความสมบูรณ์ของใบรับรองของ TSA เอง และความน่าเชื่อถือของ TSA เป็นคุณสมบัติของบริการและการกำหนดค่าในการนำไปใช้งานของคุณ ไม่ใช่ของเอนจิน ไทม์สแตมป์ผูก แฮช เข้ากับ เวลา แต่ไม่ได้บอกอะไรเกี่ยวกับความหมายของข้อมูล ตัวตนของผู้ลงนาม หรือว่าใบรับรองของผู้ลงนามสมบูรณ์หรือไม่ สิ่งเหล่านั้นเป็นการตรวจสอบแยกต่างหากซึ่งกล่าวถึงใน การตรวจสอบลายเซ็นอย่างถูกต้อง เอนจินไม่สามารถทำให้ TSA ที่ไม่น่าเชื่อถือกลายเป็นน่าเชื่อถือได้ หน้านี้ยังไม่ได้รับรองน้ำหนักทางกฎหมายเฉพาะใดๆสำหรับไทม์สแตมป์ เรื่องนั้นขึ้นอยู่กับสถานะของ TSA และเขตอำนาจศาล วิธีนำเวลาที่เชื่อถือได้กลับมาใช้ซ้ำเพื่อให้ลายเซ็นตรวจสอบยืนยันได้ตลอดหลายทศวรรษนั้นกล่าวถึงใน การตรวจสอบความถูกต้องระยะยาว ด้วย
ความพร้อมใช้งานของการประทับไทม์สแตมป์ตามระดับชั้น:
| Edition | Availability |
|---|---|
| Core | Not in this edition |
| Pro | PAdES B-T — ไทม์สแตมป์ RFC 3161 ที่ตรวจสอบยืนยันแล้วบนค่าลายเซ็น โดยตรวจสอบกับ TSA ที่การนำไปใช้งานจัดหาให้ |
| Enterprise | เพิ่มไทม์สแตมป์ของเอกสารที่ B-LT และ B-LTA ใช้ เพื่อยึดหลักฐานการตรวจสอบ ความถูกต้องที่ฝังอยู่ และขับเคลื่อนรอบการต่ออายุสำหรับการจัดเก็บถาวร |
เอกสารที่เกี่ยวข้อง
หัวข้อที่มีชื่อว่า “เอกสารที่เกี่ยวข้อง”- การตรวจสอบความถูกต้องระยะยาว — ไทม์สแตมป์ของเอกสารผนึกหลักฐานที่ฝังอยู่และได้รับการต่ออายุเมื่อเวลาผ่านไปอย่างไร
- โปรไฟล์พื้นฐานของ PAdES — ตำแหน่งของไทม์สแตมป์ของลายเซ็น (B-T) และไทม์สแตมป์ของเอกสาร (B-LTA) ในลำดับชั้น
- คำอธิบายลายเซ็นที่ผ่านการรับรอง — ไทม์สแตมป์ที่ผ่านการรับรองอยู่ตรงไหนในภาพรวมความเชื่อถือของ eIDAS
อภิธานศัพท์
หัวข้อที่มีชื่อว่า “อภิธานศัพท์”- ไทม์สแตมป์ (RFC 3161) — โทเค็นที่ลงนามแล้วจาก TSA ซึ่งผูกแฮชของข้อมูลเข้ากับเวลาของ TSA และพิสูจน์ว่าข้อมูลมีอยู่ก่อนเวลานั้น
- ผู้ออกไทม์สแตมป์ (Time-Stamp Authority, TSA) — บริการที่เชื่อถือได้ซึ่งออกโทเค็นไทม์สแตมป์
TSTInfo— โครงสร้างเนื้อหาของโทเค็น ประกอบด้วย message imprint เวลาที่สร้าง หมายเลขลำดับ และ nonce ที่เป็นทางเลือก- Message imprint — แฮชของข้อมูลที่ถูกประทับไทม์สแตมป์ ซึ่งสะท้อนกลับมาในโทเค็น
- Nonce — ค่าสุ่มที่สร้างขึ้นใหม่ซึ่งส่งไปพร้อมกับคำขอและสะท้อนกลับมาในโทเค็น เพื่อให้การตอบกลับไม่อาจเป็นการเล่นซ้ำได้
- ไทม์สแตมป์ของเอกสาร — ไทม์สแตมป์ RFC 3161 ที่ครอบคลุมทั้งไฟล์ PDF (ตามที่ปรับปรุงโดย RFC 5816) โดยยึดลายเซ็นและหลักฐานประกอบลายเซ็นเข้ากับช่วงเวลาที่เชื่อถือได้