跳转到内容
getnextpdf.com

Enterprise 版本

Forensics — 深度参考

这份深度参考记录了修订如何被界定边界、对象变更如何在修订链上被分类,以及事件如何被分组。

此能力随 NextPDF Enterprisenextpdf/enterprise)发行,并通过 Enterprise 层级的授权信封激活。没有该授权凭据的部署不会加载此能力的类。比较各版本并获取授权

该分析器是只读的,不会修改输入。

ForensicAnalyzer::analyze 会解析每一个交叉引用区段,推导出逐修订的字节边界(起始、结束、尺寸),并构建一份逐修订的摘要。随后它会从最新的修订向最旧的修订遍历,并针对每个修订,将其交叉引用条目与下一个更旧的修订进行比较:

  • 一个当前存在、但在更旧修订中不存在、且不是空闲条目的对象,被分类为 Added
  • 一个当前是空闲条目、但此前并非空闲的对象,被分类为 Deleted,并记录其先前的修订。
  • 一个在两个修订中都活跃、但字节偏移量不同的对象,被分类为 Modified,并记录其先前的修订。

对象变更会按修订分组为事件:一个在更旧修订中未被签名的签名修订,会产出 SignatureAdded;一次根更新会产出 CatalogUpdated;一个出现的加密字典会产出 EncryptionChanged;而新增、修改或删除的对象集合,会产出相应的对象事件。签名存在性是一种结构性启发式判断(trailer 中存在一个文档安全存储条目):它是存在性检测,而非验证,也不是对完整性的防篡改判定。

一次更新的交叉引用区段仅列出在该次更新中被新增、修改或删除的对象(ISO 32000-2:2020 §7.5.5);一个被改动的对象会作为一份新副本被追加,且其偏移量会覆盖更旧的偏移量(§7.5.6);一个文档安全存储可能出现在较晚的修订中(§12.8.4)。

NextPDF\Enterprise\Forensics\ForensicAnalyzerNextPDF\Enterprise\Forensics\ForensicReportNextPDF\Enterprise\Forensics\RevisionSummaryNextPDF\Enterprise\Forensics\ForensicEventNextPDF\Enterprise\Forensics\ForensicEventTypeNextPDF\Enterprise\Forensics\ObjectChangeNextPDF\Enterprise\Forensics\ObjectChangeType。各签名在公开页面上列出。

该分类映射了 ISO 32000-2:2020 §7.5.5–§7.5.6 的增量更新模型。该分析器报告的是解析器对该链的视图;它不会认证完整性,单凭其自身也不构成法庭可采纳的证据。

  • 一个 Deleted 分类是一次空闲条目转变;该对象的一份更旧副本可能仍可解析。它并不保证不可恢复。
  • trailer 信息会被过滤到一个安全的键集合;敏感键会被标注为存在,而不暴露其值。
  • 本模块不发生任何密码学操作,因此不存在 FIPS 模式特有的行为。

本页面仅记录可从外部观察到的行为以及受支持的公共 API 接口面。内部命名空间路径、辅助类、机制表格、runbook 文件名以及工单前缀均不在范围之内。

NextPDF Core(Apache-2.0)没有任何修订历史取证分析器——无;此能力没有 Core 层级的对等物。Core 提供权威的签名验证接口面,分析器会与之组合,但不会替代它。

NextPDF Pro 没有任何修订历史取证分析器——无;此能力没有 Pro 层级的对等物。逐对象变更分类与可序列化为 JSON 的报告仅随 nextpdf/enterprise 包发行。

修订边界推导、对象变更分类规则,以及事件时间线分组都在行为层面进行描述。签名存在性仅是一种结构性启发式判断;签名有效性在此被刻意排除在范围之外——它是 Core 签名接口面的责任。trailer 信息会被过滤到一个安全的键集合,敏感键会被标注为存在,而不暴露其值。

分析在持有该 PDF 的主机上于进程内运行;没有任何文档内容离开主机。输入 PDF 或报告是否含有个人数据、以及各自存储于何处,是库边界之外的部署责任。运营方从报告中得出结论;库报告的是解析器对修订链的视图,并不认证完整性。

此接口面不适用任何出口管制限制。该报告单凭其自身不构成法庭可采纳的证据,且不得被呈现为对文档完整性的某种认证判定。本参考不构成法律意见。