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

Enterprise รุ่น

นิติวิทยาศาสตร์

NextPDF Enterprise Forensics อ่านประวัติการอัปเดตแบบเพิ่มของ PDF และผลิตรายงานแบบมีโครงสร้างและอ่านอย่างเดียวของรีวิชัน เหตุการณ์ที่จัดประเภทแล้ว และการเปลี่ยนแปลงต่อออบเจกต์ รองรับเวิร์กโฟลว์การวิเคราะห์เชิงนิติวิทยา ไม่ใช่ตราประทับที่ป้องกันการปลอมแปลงและไม่ยืนยันว่าเอกสารเป็นของแท้หรือไม่ถูกเปลี่ยนแปลง

ความสามารถนี้มาในNextPDF Enterprise (nextpdf/enterprise) และเปิดใช้งานด้วยซองสิทธิ์ใช้งานระดับ Enterprise การปรับใช้ที่ไม่มีสิทธิ์ดังกล่าวจะไม่โหลดคลาสของความสามารถนี้ เปรียบเทียบรุ่นและขอรับสิทธิ์ใช้งาน

Terminal window
composer require nextpdf/enterprise:^3

PDF สามารถถูกอัปเดตได้โดยการต่อท้ายการเปลี่ยนแปลงไว้ที่ท้ายไฟล์แทนการเขียนใหม่ การอัปเดตแต่ละครั้งเพิ่ม cross-reference section ใหม่และ trailer ใหม่ และไบต์ต้นฉบับถูกทิ้งไว้ที่เดิม — ISO 32000-2:2020 §7.5.6 เมื่อออบเจกต์ถูกเปลี่ยน การอัปเดตจะต่อท้ายสำเนาใหม่และ cross-reference section ของการอัปเดตบันทึก byte offset ที่ลบล้าง offset เก่า ตัวอ่านจะแปลงเป็นสำเนาล่าสุด — ISO 32000-2:2020 §7.5.6 โครงสร้างไฟล์เริ่มต้นอาจถูกแก้ไขโดยการอัปเดตในภายหลัง — ISO 32000-2:2020 §7.5.4 cross-reference section ของการอัปเดตแสดงรายการเฉพาะออบเจกต์ที่ถูกเพิ่ม แก้ไข หรือลบในการอัปเดตนั้น — ISO 32000-2:2020 §7.5.5

ตัววิเคราะห์อ่านโครงสร้างแบบหลายชั้นนี้ มันแยกวิเคราะห์ cross-reference table ของแต่ละรีวิชัน อนุพันธ์ขอบเขตไบต์ของรีวิชัน และเปรียบเทียบรายการของแต่ละรีวิชันกับรีวิชันที่เก่ากว่าถัดไปเพื่อจัดประเภททุกออบเจกต์ว่าถูกเพิ่ม แก้ไข หรือลบ จากนั้นมันจัดกลุ่มการเปลี่ยนแปลงออบเจกต์เป็นเหตุการณ์ระดับสูงขึ้น ได้แก่ มีลายเซ็นถูกเพิ่ม document catalog ถูกอัปเดต encryption dictionary ปรากฏ หรือชุดออบเจกต์ถูกเพิ่ม แก้ไข หรือลบ เอาต์พุตคือออบเจกต์รายงานหนึ่งรายการที่พกพาจำนวนรีวิชัน ขนาดรวม รายการสรุปต่อรีวิชัน ไทม์ไลน์เหตุการณ์ที่จัดประเภทแล้ว และรายการการเปลี่ยนแปลงต่อออบเจกต์

ตัววิเคราะห์เป็นแบบอ่านอย่างเดียว มันตรวจจับ การมีอยู่ ของรีวิชันลายเซ็นจากเครื่องหมายเชิงโครงสร้าง ไม่ได้ตรวจสอบความถูกต้องของลายเซ็นใด คำนวณไดเจสต์ใหม่ใด หรือตรวจสอบใบรับรองใด การตรวจสอบความถูกต้องของลายเซ็นเป็นความสามารถแยกต่างหากของ Core รายงานที่ผลิตขึ้นเป็นคำอธิบายเชิงโครงสร้างของประวัติการอัปเดตตามที่แยกวิเคราะห์ ไม่ใช่การตัดสินว่าเอกสารเป็นของแท้ ว่าการเปลี่ยนแปลงไม่ได้รับอนุญาต หรือว่าการแก้ไขทุกครั้งถูกตรวจจับ ให้ถือว่ารายงานเป็นการตรวจจับหลักฐานการถูกแก้ไขตามที่ทดสอบเทียบกับมุมมองของตัวแยกวิเคราะห์เกี่ยวกับสายโซ่รีวิชัน ไม่ใช่การรับประกันเชิงนิติวิทยาหรือการให้การยืนยันที่รับฟังได้ในศาล

ตัววิเคราะห์จงใจหยุดที่โครงสร้าง มันรายงานสิ่งที่สายโซ่รีวิชันมี และไม่เคยยืนยันว่าการเปลี่ยนแปลงได้รับอนุญาตหรือลายเซ็นถูกต้อง การมีอยู่เชิงโครงสร้างและความถูกต้องเชิงการเข้ารหัสลับเป็นข้อกล่าวอ้างที่ต่างกัน การรวมทั้งสองเข้าด้วยกันจะทำให้ผู้เรียกเข้าใจผิดว่าหลักฐานการถูกแก้ไขเป็นการรับประกัน ความถูกต้องของลายเซ็นจึงยังคงอยู่กับพื้นผิวการลงนามเดียวของ Core ซึ่ง Forensics ประกอบเข้าด้วยแทนที่จะทำซ้ำ รายงานเป็นเมทาดาทาเชิงโครงสร้างที่ซีเรียลไลซ์เป็น JSON ได้ ดังนั้น SIEM จึงนำประวัติการแก้ไขเข้าโดยไม่แตะเนื้อหาเอกสาร พื้นหลังการออกแบบ: การอัปเดตแบบเพิ่มและเหตุใดจึงสำคัญ

ชนิดประเภทบทบาทความเสถียรตั้งแต่
ForensicAnalyzerclassแยกวิเคราะห์ PDF และคืนค่ารายงานนิติวิทยา (analyze แบบ static)stable1.10.0
ForensicReportclassผลการวิเคราะห์ JsonSerializable สำหรับการส่งออกไปยัง SIEMstable1.10.0
RevisionSummaryclassข้อเท็จจริงต่อรีวิชัน ได้แก่ จำนวนออบเจกต์ ขนาด ขอบเขตไบต์ แฟล็กการมีอยู่stable1.10.0
ForensicEventclassหนึ่งเหตุการณ์ที่จัดประเภทแล้วพร้อมรายการออบเจกต์ที่ได้รับผลกระทบstable1.10.0
ForensicEventTypeenumหมวดเหตุการณ์ (มีลายเซ็นถูกเพิ่ม catalog ถูกอัปเดต ออบเจกต์ถูกเพิ่ม และอื่น ๆ)stable1.10.0
ObjectChangeclassบันทึกการเปลี่ยนแปลงของออบเจกต์หนึ่งข้ามสองรีวิชันstable1.10.0
ObjectChangeTypeenumAdded, Modified หรือ Deletedstable1.10.0

ForensicReport เปิดเผย hasIncrementalUpdates() hasAnySignature() getEventsByType() getChangesForRevision() และ jsonSerialize() แฟล็ก hasSignature บนสรุปรีวิชันเป็นสัญญาณการมีอยู่เชิงโครงสร้าง ไม่ใช่ผลความถูกต้อง

Analyze the revision history of a PDF
<?php
declare(strict_types=1);
require_once __DIR__ . '/vendor/autoload.php';
use NextPDF\Enterprise\Forensics\ForensicAnalyzer;
/**
* Produce a forensic report from PDF bytes.
*
* @param string $pdfData Raw PDF file bytes.
*
* @return array{revisions: int, incremental: bool, signedRevisionPresent: bool}
*/
function inspect(string $pdfData): array
{
$report = ForensicAnalyzer::analyze($pdfData);
return [
'revisions' => $report->revisionCount,
'incremental' => $report->hasIncrementalUpdates(),
'signedRevisionPresent' => $report->hasAnySignature(),
];
}

hasAnySignature() รายงานว่ารีวิชันลายเซ็น มีอยู่ ในโครงสร้าง ไม่ได้ระบุว่าลายเซ็นถูกต้อง

Forensic analysis with SIEM export and fail-closed handling
<?php
declare(strict_types=1);
require_once __DIR__ . '/vendor/autoload.php';
use NextPDF\Enterprise\Forensics\ForensicAnalyzer;
use NextPDF\Enterprise\Forensics\ForensicEventType;
use Psr\Log\LoggerInterface;
final readonly class RevisionAuditor
{
public function __construct(private LoggerInterface $logger) {}
/**
* Analyze a document and emit a structural JSON record for the SIEM.
*
* @param string $pdfData The PDF bytes to inspect.
*
* @return string A JSON forensic report (no document content).
*/
public function audit(string $pdfData): string
{
try {
$report = ForensicAnalyzer::analyze($pdfData);
$this->logger->info('Forensic analysis complete', [
'revisions' => $report->revisionCount,
'sizeBytes' => $report->totalSizeBytes,
'signatureAddedEvents' => count(
$report->getEventsByType(ForensicEventType::SignatureAdded),
),
]);
return json_encode($report, JSON_THROW_ON_ERROR);
} catch (\Throwable $e) {
$this->logger->error('Forensic analysis failed', ['error' => $e->getMessage()]);
throw $e;
}
}
}

บันทึกล็อกพกพาจำนวนและขนาดเท่านั้น ไม่พกพาข้อความเอกสาร บล็อก catch ยกข้อยกเว้นซ้ำ ไม่ได้กลืนความล้มเหลวในการแยกวิเคราะห์

  • เอกสารรีวิชันเดียวไม่มีประวัติการอัปเดตแบบเพิ่ม รายการการเปลี่ยนแปลงว่างเปล่า นี่ไม่ใช่หลักฐานความเป็นของแท้
  • เหตุการณ์ SignatureAdded หมายความว่ารีวิชันลายเซ็นมีอยู่เชิงโครงสร้าง ไม่ใช่ผลความถูกต้องของลายเซ็น ให้ตรวจสอบความถูกต้องของลายเซ็นด้วยพื้นผิวการลงนามของ Core
  • การนำออบเจกต์กลับมาใช้ซ้ำเป็นเรื่องปกติ ออบเจกต์ที่อัปเดตคงหมายเลขออบเจกต์ไว้และสำเนาใหม่ถูกต่อท้าย ตัววิเคราะห์รายงานสิ่งนี้เป็น Modified ไม่ใช่การลบและการสร้างใหม่
  • การจัดประเภท Deleted คือการเปลี่ยนแบบ free-entry ในสายโซ่ cross-reference ตัวอ่านอาจยังแปลงสำเนาเก่าของออบเจกต์นั้นได้ การลบที่ระดับโครงสร้างไม่ได้รับประกันการกู้คืนไม่ได้
  • ตัววิเคราะห์รายงานสิ่งที่ตัวแยกวิเคราะห์สังเกตเห็น เอกสารที่สร้างขึ้นเพื่อทำให้ตัวแยกวิเคราะห์สับสนอาจให้รายงานที่ไม่ตรงกับมุมมองของเครื่องมืออื่น รายงานไม่ใช่ข้อกล่าวอ้างว่าการแก้ไขทุกครั้งถูกตรวจจับ
  • อินพุตมีขอบเขต เอกสารที่ใหญ่เกินไปหรือมีหลายรีวิชันมากเกินไปจะล้มเหลวแบบปิดด้วยข้อยกเว้นการแยกวิเคราะห์แบบมีชนิดแทนการกินหน่วยความจำแบบไม่มีขอบเขต

ต้นทุนการวิเคราะห์เพิ่มขึ้นตามจำนวนรีวิชันและจำนวนออบเจกต์ ไม่ใช่ตามความซับซ้อนของหน้าที่แสดงผล งบประมาณ wall 1500 ms ครอบคลุมเอกสารธุรกิจหลายรีวิชันทั่วไป โปรไฟล์การทำซ้ำผลคือ structural รายงานเป็นแบบกำหนดผลแน่นอนสำหรับอินพุตที่กำหนด แต่ byte offset สัมบูรณ์สะท้อนไฟล์อินพุตที่แน่นอนและไม่สามารถพกพาข้ามสำเนาที่บันทึกซ้ำได้

ตัววิเคราะห์เป็นแบบอ่านอย่างเดียวและไม่เคยเขียนลงในอินพุต มันเป็นพื้นผิวเชิงวิเคราะห์ ไม่ใช่เชิงการแปลง มันตรวจจับการมีอยู่ของเครื่องหมายลายเซ็นและการเข้ารหัสแต่ไม่ดำเนินการเชิงการเข้ารหัสลับใด ๆ จึงไม่กล่าวอ้าง FIPS รายงานอธิบายประวัติการอัปเดตที่แยกวิเคราะห์ ไม่ใช่การยืนยันความเป็นของแท้และต้องไม่ถูกนำเสนอว่าป้องกันการปลอมแปลง รับประกันเชิงนิติวิทยา หรือรับฟังได้ในศาล ผู้ปฏิบัติงานสรุปข้อสรุป ไลบรารีรายงานโครงสร้าง

ถิ่นที่อยู่ของข้อมูลและการลดความเสี่ยงด้าน PII

หัวข้อที่มีชื่อว่า “ถิ่นที่อยู่ของข้อมูลและการลดความเสี่ยงด้าน PII”

การวิเคราะห์ทำงานภายในกระบวนการบนโฮสต์ที่ถือ PDF ไม่มีเนื้อหาเอกสารออกจากโฮสต์ รายงานพกพาหมายเลขออบเจกต์ ดัชนีรีวิชัน ขนาด ขอบเขตไบต์ และหมวดเหตุการณ์ — เมทาดาทาเชิงโครงสร้าง ไม่ใช่ข้อความเอกสารหรือข้อมูลส่วนบุคคลที่ตรวจพบ ว่า PDF ที่เป็นอินพุตหรือรายงานเองมีข้อมูลส่วนบุคคลหรือไม่ และแต่ละอย่างจัดเก็บที่ใด เป็นความรับผิดชอบของการปรับใช้ที่อยู่นอกขอบเขตของไลบรารี

การรายงานข้อมูลที่ปลอดภัยและการขัดล้างบันทึก

หัวข้อที่มีชื่อว่า “การรายงานข้อมูลที่ปลอดภัยและการขัดล้างบันทึก”

ไลบรารียกข้อยกเว้นแบบมีชนิดพร้อมข้อความเชิงโครงสร้างและไม่ใส่ไบต์เอกสารลงในข้อความข้อยกเว้น การปรับใช้ที่บันทึกล็อกรอบ ๆ การวิเคราะห์ควรบันทึกจำนวนและหมวดของรายงาน — ตามที่แสดงในตัวอย่างการใช้งานจริง — และต้องไม่บันทึกเพย์โหลด PDF ดิบลงในล็อกหรือแบ็กเอนด์ APM รายงาน JSON คืออาร์ทิแฟกต์ที่ปลอดภัยที่จะส่งต่อไปยัง SIEM

ไม่มีการดำเนินการเชิงการเข้ารหัสลับเกิดขึ้นในโมดูลนี้ จึงไม่มีพฤติกรรมเฉพาะโหมด FIPS การตรวจสอบความถูกต้องของลายเซ็นซึ่งเป็นเชิงการเข้ารหัสลับเป็นความสามารถแยกต่างหากของ Core และได้รับการบันทึกไว้ที่นั่น

ข้อกล่าวอ้างมาตรฐานข้อ
การอัปเดตในภายหลังต่อท้ายองค์ประกอบเพิ่มเติมไว้ที่ท้ายไฟล์ โครงสร้างต้นฉบับถูกแก้ไขโดยการอัปเดตในภายหลังISO 32000-2:2020§7.5.6
ออบเจกต์ที่อัปเดตถูกต่อท้ายเป็นสำเนาใหม่และรายการ cross-reference ของการอัปเดตลบล้าง byte offset เก่า ตัวอ่านแปลงสำเนาล่าสุดISO 32000-2:2020§7.5.6
โครงสร้างไฟล์เริ่มต้นอาจถูกแก้ไขโดยการอัปเดตในภายหลังISO 32000-2:2020§7.5.4
cross-reference section ของการอัปเดตมีรายการเฉพาะออบเจกต์ที่ถูกเพิ่ม แก้ไข หรือลบISO 32000-2:2020§7.5.5
signature dictionary บันทึกสิ่งที่ถูกลงนามISO 32000-2:2020§12.8.1
ByteRange กำหนดช่วงไบต์ที่ลายเซ็นครอบคลุม (การตรวจสอบความถูกต้องของลายเซ็นเป็นความสามารถแยกต่างหากของ Core)ISO 32000-2:2020§12.8.1
Document Security Store เก็บวัสดุการตรวจสอบความถูกต้องระยะยาวในรีวิชันในภายหลังISO 32000-2:2020§12.8.4

ข้อทั้งหมดถูกถอดความ NextPDF ไม่นำข้อความเชิงบรรทัดฐานมาแสดงซ้ำ ให้ปรึกษามาตรฐานที่เผยแพร่สำหรับถ้อยคำที่ถูกต้อง NextPDF ไม่กล่าวอ้างการรับรองเชิงนิติวิทยา รายงานอธิบายโครงสร้างการอัปเดตที่แยกวิเคราะห์ ไม่ใช่การตัดสินความสมบูรณ์ของเอกสารที่ได้รับการรับรอง

  • ตัววิเคราะห์เป็นแบบอ่านอย่างเดียว มันไม่เคยเขียนลงในเอกสารที่เป็นอินพุตและไม่ดำเนินการเชิงการเข้ารหัสลับใด ๆ
  • มันแยกวิเคราะห์ cross-reference table ของแต่ละรีวิชัน อนุพันธ์ขอบเขตไบต์ของรีวิชัน และจัดประเภททุกออบเจกต์ว่าถูกเพิ่ม แก้ไข หรือลบ จากนั้นจัดกลุ่มการเปลี่ยนแปลงเป็นไทม์ไลน์เหตุการณ์ที่จัดประเภทแล้ว
  • เหตุการณ์ SignatureAdded หมายความว่ารีวิชันลายเซ็นมีอยู่เชิงโครงสร้าง ไม่ใช่ผลความถูกต้องของลายเซ็น การตรวจสอบความถูกต้องเป็นความสามารถแยกต่างหากของ Core
  • เอกสารรีวิชันเดียวมีรายการการเปลี่ยนแปลงว่างเปล่า (ไม่ใช่หลักฐานความเป็นของแท้) การจัดประเภท Deleted เป็นการเปลี่ยนแบบ free-entry ไม่ใช่การรับประกันการกู้คืนไม่ได้
  • อินพุตมีขอบเขต เอกสารที่ใหญ่เกินไปหรือมีหลายรีวิชันมากเกินไปจะล้มเหลวแบบปิดด้วยข้อยกเว้นการแยกวิเคราะห์แบบมีชนิด รายงานเป็นการตรวจจับหลักฐานการถูกแก้ไขตามที่ทดสอบ ไม่ใช่การรับประกันเชิงนิติวิทยาหรือการให้การยืนยันที่รับฟังได้ในศาล

หน้านี้บันทึกเฉพาะพฤติกรรมที่สังเกตได้จากภายนอกและพื้นผิว API สาธารณะที่รองรับเท่านั้น พาธเนมสเปซภายใน คลาสช่วยเหลือ ตารางกลไก ชื่อไฟล์ runbook และคำนำหน้าหมายเลขทิกเก็ตอยู่นอกขอบเขต

NextPDF Core (Apache-2.0) ไม่มีตัววิเคราะห์นิติวิทยาของประวัติรีวิชัน ไม่มีเลย ความสามารถนี้ไม่มีสิ่งเทียบเท่าในระดับชั้น Core Core จัดหาพื้นผิวการตรวจสอบความถูกต้องของลายเซ็นที่เป็นทางการ ซึ่งตัววิเคราะห์ประกอบเข้ากับแต่ไม่ได้แทนที่

NextPDF Pro ไม่มีตัววิเคราะห์นิติวิทยาของประวัติรีวิชัน ไม่มีเลย ความสามารถนี้ไม่มีสิ่งเทียบเท่าในระดับชั้น Pro การรายงานรีวิชันและการเปลี่ยนแปลงต่อออบเจกต์แบบอ่านอย่างเดียวและรายงาน SIEM ที่ซีเรียลไลซ์เป็น JSON มาในแพ็กเกจ nextpdf/enterprise เท่านั้น

ตัวแยกวิเคราะห์รีวิชัน การจัดประเภทการเปลี่ยนแปลง และไทม์ไลน์เหตุการณ์ได้รับการอธิบายในระดับพฤติกรรม รายละเอียดภายในของตัวแยกวิเคราะห์และรายละเอียดการจัดประเภทภายในใด ๆ อยู่นอกขอบเขตของพื้นผิวสาธารณะ ความถูกต้องของลายเซ็นจงใจไม่อยู่ในขอบเขตที่นี่ — เป็นความรับผิดชอบของพื้นผิวการลงนามของ Core

การวิเคราะห์ทำงานภายในกระบวนการบนโฮสต์ที่ถือ PDF ไม่มีเนื้อหาเอกสารออกจากโฮสต์ ว่า PDF ที่เป็นอินพุตหรือรายงานมีข้อมูลส่วนบุคคลหรือไม่ และแต่ละอย่างจัดเก็บที่ใด เป็นความรับผิดชอบของการปรับใช้ที่อยู่นอกขอบเขตของไลบรารี ผู้ปฏิบัติงานสรุปข้อสรุปจากรายงาน ไลบรารีรายงานโครงสร้างและไม่ยืนยันความเป็นของแท้ของเอกสาร

ไม่มีข้อจำกัดด้านการควบคุมการส่งออกที่มีผลกับพื้นผิว Forensics รายงานต้องไม่ถูกนำเสนอว่าป้องกันการปลอมแปลง รับประกันเชิงนิติวิทยา หรือรับฟังได้ในศาล เอกสารนี้ไม่ใช่ความเห็นทางกฎหมาย ให้ปรึกษาที่ปรึกษาด้านการปฏิบัติตามข้อกำหนดและกฎหมายของคุณเอง

  • Forensics — Deep Reference — กฎการอนุพันธ์ขอบเขตรีวิชันและการจัดประเภทการเปลี่ยนแปลงออบเจกต์
  • Core signing — พื้นผิวการตรวจสอบความถูกต้องของลายเซ็นที่เป็นทางการ
  • Evidence bundles — อาร์ทิแฟกต์เอาต์พุตสายโซ่การดูแล
  • NextPDF Enterprise — พื้นผิวฟีเจอร์ Enterprise แบบครบถ้วน
  • Core AST — โมเดลเอกสารที่แยกวิเคราะห์แล้ว
  • Incremental update · Cross-reference table · DSS — คำศัพท์ในอภิธานศัพท์