PDF修改集合定义与证明
PDF 修改集合:审读修订、结构证明缺口与底层事实
修订:v2,依据用户提供的修改交接报告。PDF 结构修改集合完备性尚未证明,原任务尚未完成。旧版完整顶层文件已另存于修订追踪目录。
1. 研究对象与结论强度
A 将敏感 PDF D 提供给 B,并登记受限内容与授权材料;B 可能恶意修改并向 C 转发加密后的 D′。S 在释放前核验,不允许在服务器任何执行区域出现正文。本阶段只处理加密前 PDF 的修改空间;不声称 S 已具备对密文执行这些分析的能力。
第一阶段要求:D′ 若保留 D 中任意一张完整敏感页的内容,应被识别。增页、删部分页、重排、字体修改、覆盖、断开页面引用均为明确需求。片段级、翻译和语义改写不是本阶段承诺。
本包必须区分三层,不用第一层替代第二层:
| 标识 | 命题 | v2 定位 |
|---|---|---|
| THM-PMC-001 | 任意有限字节串可经插入、删除变为任意目标串 | 保留原编号便于追溯;仅为通用字节表示事实,不是 PDF 结构操作基的证明 |
| OPEN-PMC-002 | 用户范围内每种 PDF 结构/编码修改可由明确合法的结构操作组合覆盖 | 核心任务未完成;结构模型、操作前置条件及覆盖证明尚缺 |
| OPEN-PMC-001 | 范围内所有保留敏感页的变换均能被正确识别 | 未完成;还需要内容解释、完整遍历及页面等价 |
| THM-PMC-002(撤出主论证) | 保存原字节后可取回原字节 | 旧命题虽为恒等事实,但不提供结构重建、解析或密文检测保证;降为 LOCAL-PMC-001 本地保全原则 |
2. 通用字节表示(仅为背景事实)
2.1 字节串与操作
令字节字母表 Σ={0,…,255},Σ* 为所有有限字节串。位置从 0 开始;x[a:b] 为左闭右开切片。长度记作 |x|。
对 x∈Σ* 定义偏函数:
Insert(i,b)(x) = x[0:i] || b || x[i:|x|]
前置条件:0 ≤ i ≤ |x|,b ∈ Σ。
Delete(i)(x) = x[0:i] || x[i+1:|x|]
前置条件:0 ≤ i < |x|。
记基本操作族为 E。E* 包含空序列及任意有限操作序列;一条序列只在每步位置都合法时可执行,应用结果写作 Apply(α,x)。因此,“两种操作”是两种参数化操作模式,不是只有两个固定函数,也不是有限的测试样本集合。
常用块操作作为缩写:
Splice(i,k,y):在当前位置 i 连续 Delete(i) 共 k 次;
随后对 j=0,…,|y|-1 执行 Insert(i+j,y[j])。
替换是 Splice(i,1,[b]);插入/删除一段是相应块操作。移动或复制需要先明确目标字节序列,再构造编辑序列;不得忽略删除后坐标变化。拆分、合并、对象重编号等不是 E 的额外原语。
2.2 范围限制不是靠基本操作自动实现的
U₁₇ 表示选定的 PDF 1.7 合规终点文件集合(包含其文件内历史字节),不要求修改后仍可选中文字。此处不实现 U₁₇ 的判定器,也不假设某个阅读器能打开就等于符合规范。
Ω 是用户允许的高层结构与编码变换的威胁模型:排除文字转图片、文字转轮廓、自定义隐写及内部再次加密;纳入标准结构和编码、隐藏/孤立/历史内容。记 AllowedΩ(D,D′) 为存在范围内高层变换的关系。这个关系不能仅由 Insert/Delete 的名称识别,也未被本文构造成可判定程序。
旧版使用以下记号。本版仅为追溯保留,它不是已经构造出的结构修改集合:
MΩ(D) = { α ∈ E* : Apply(α,D) 有定义,
Apply(α,D) ∈ U₁₇,且 AllowedΩ(D,Apply(α,D)) }
AllowedΩ 是尚未完成的范围接口。先用它筛选目标,再证明目标可表示,只会证明一个条件化的字节命题,不能证明允许修改关系本身已完整定义。MΩ 不得作为“已找到完备 PDF 结构修改集合”的交付结果。
中间字节串可以不是有效 PDF,也不要求每一步都保留敏感页。这些步骤是结果差异的数学表示,不声称是 B 实际使用的编辑历史。如果要求每个中间状态都有效且保留敏感页,需要另立定理。
3. 底层事实 THM-PMC-001:字节编辑生成能力
3.1 构造证明与限定用途
对任意 x,y∈Σ,存在 α∈E,使 Apply(α,x)=y。
证明。设 |x|=m、y=y₀…yₙ₋₁。先执行 m 次 Delete(0):第 k 次前串长为 m-k+1,位置 0 合法;m 次后得到空串。再依次执行 Insert(0,y₀)、Insert(1,y₁)、…、Insert(n-1,yₙ₋₁)。第 j 次插入前,串长为 j,末端位置 j 合法;归纳可得插入后的串为目标前缀。完成后恰为 y,总步数为 m+n,有限。空文件情形由零次操作覆盖。证毕。
推论。取 x=D,取任意满足 U₁₇ 和 AllowedΩ 的 D′,同一构造给出到达 D′ 的字节序列。因此范围内每个目标都可表达。该结论不依赖是否已列出对应的编辑器命令。
组合闭包。若 α 把 x 变为 y,β 把 y 变为 z,拼接序列 α·β 把 x 变为 z。对任意有限条可执行序列归纳成立。这证明结果编辑的有限组合覆盖,不证明语义约束在任意组合下自动保持。
3.2 该证明没有完成什么
删除后重建是存在性构造,不是推荐算法、不证明最少步骤,也不说明编辑者实际做了什么。所有有限文件都可相互变换,故“可由 D 修改得到”不能用来证明来源、抄袭、敏感页保留或违规。
一个恒定输出“无敏感内容”的检测器与上述定理完全兼容。因此不能从生成完备性推出检测完备性。
4. 明文位置、结构注释和本地保全
4.1 固定符号,避免明密文混用
D 和 D′ 始终表示明文 PDF 字节;ct 表示给 C 的实际待发密文。Prove_A 表示 A 的登记材料,Aux_B 表示 B 的辅助材料,二者不是已经选定的承诺或证明系统。ParseAnnotation(D′) 是结构注释的暂称,不再用与参与者 A 重名的 A(x)。
| 参与者/位置 | 已知或可持有的数据 | 不得默认的能力 |
|---|---|---|
| A 本地 | 原始明文 D、指定敏感页、授权依据;可生成 Prove_A | 登记真实性为既定信任前提,不代表 Prove_A 足够完成检测 |
| B 本地 | D、D′、加密所需材料;可计算结构注释并生成 ct、Aux_B | B 可能作弊;本地算出的注释不是可信或完整证据 |
| S 服务器 | ct、经隐私审查允许的 Prove_A/Aux_B、公开参数、授权及行为信息 | 不能持有 D/D′、提取正文、可重建正文的材料或解密正文所需秘密;TEE 也不能接触正文 |
| C 接收端 | 获准转发的 ct 及相应解密能力,解密后得到 D′ | 是否与 B 串通、是否使用受控客户端尚未确认 |
当前尚未给出材料泄漏函数;“不含原始 PDF”不保证 Prove_A 或 Aux_B 不泄漏正文。允许的命中结果、标识、长度和行为信息需分别界定,不能借符号命名宣称安全。
4.2 ParseAnnotation 的地位
候选产生位置为 B 本地或独立研究端的明文分析环境;S 不直接解析明文。结构注释可能含文字、字节片段和资源,因此原始注释不能默认直接提交 S。产生者、输入文件、解析版本、覆盖范围、失败与歧义均须可追溯,但本版不规定实现格式。
结构注释需区分物理对象实例与修订版本(§7.5.6)、当前有效对象与页面树可达对象、局部资源及继承(§7.8.3、§7.7.3.4),以及原始存储和解码结果(§7.3.8、§7.4)。这些是要求,不是已完成的解析器。
B 可遗漏敏感对象、错用资源版本或替换输入。未来 S 必须核验注释衍生材料的完整性、正确性及与 ct 的绑定;尚无实现或证明。简单扫描 obj 或 endstream 也不能证明无遗漏。
4.3 撤回 THM-PMC-002 的核心证明地位
旧式 Representation(x)=(x,A(x))、Recover(x,a)=x 只投影已保存的原字节,不是从 a 重建文件。THM-PMC-002 保留为历史编号,状态改为 RETIRED_AS_CORE_ARGUMENT。
替代为 LOCAL-PMC-001:持有明文的一方可在本地保全输入文件,避免清理或重写丢失原始材料。本原则不要求 S 保存明文;不得把 x 在同一论证中切换成密文后继续套用。若 S 仅保全 ct,也只能证明密文字节未变,不能证明内容已被完整检查。
这项处理原则没有证明解析正确、检测完整、隐私安全或实际发送绑定。
5. 六组结构标签与依据
| 标签 | 作用位置 | 规范锚点 | 覆盖用途与限制 |
|---|---|---|---|
| L1 | 对象、字典、数组、基本值 | §7.3 | 描述值的增删替换;不是所有键的语义都已核验 |
| L2 | Catalog、页面树及资源引用 | §7.3.10、§7.7.2–7.7.3、§7.8.3 | 描述重排、断引用、继承变化;当前可达性不代表物理存在性 |
| L3 | 内容流操作数、指令与绘制状态 | §7.8.2、§8.5.4、§9.3.6、§9.4.3 | 描述文字拆合、遮挡、不可见、裁剪;不能以最终画面代替完整检查 |
| L4 | 字体映射、Form XObject 等解释资源 | §8.10.1、§9.10、§14.9.4 | 描述表示与语义的关系;Unicode、字形、阅读顺序尚未统一 |
| L5 | 过滤器、物理排布、对象流、交叉引用 | §7.4、§7.5.3–7.5.8 | 描述重编码和重打包;必须遵守对象流类型限制 |
| L6 | 历史修订、孤立内容、附件、元数据等 | §7.5.6、§7.11.4、§14.3.2 | 描述内容位置;任意附件的语义恢复未承诺 |
补充检查中,§7.8.2 还明确内容流可用于图案、某些字体和批注外观;§12.5.5 定义批注外观流。上述标签允许交叉,例如批注外观同时属于 L2/L3/L4。没有把这六组作为互斥分割,也没有对全部标准语义逐项穷尽的证明。
6. PDF 结构修改集合:尚待重建的证明
6.1 为什么现有材料不足
六组标签描述修改可能作用的位置;Insert/Delete 描述文件字节怎样改变。两者之间尚无“结构操作及其合法组合”的定理。现有案例中的“插入对象、更新引用”仍是操作意图,没有完整前置/后置条件。
现阶段可以提出结构模型的必要组成,但不能称为已定义好的模型:对象实例及类型、版本化引用和入口、具有作用域的资源、内容指令与状态、编码存储及历史修订。必须覆盖用户要求的隐藏和孤立内容,不能只取当前可达对象图。
6.2 完成 OPEN-PMC-002 至少需要的证明链
| 义务 | 应建立的内容 | 本次状态 |
|---|---|---|
| 独立结构模型 | 精确定义结构状态、引用/继承/修订一致性及到真实 PDF 的对应 | 未完成;不能把现成解析器输出等同于全部结构 |
| 结构操作基 | 明确局部操作的输入、读写位置、前置/后置条件和依赖更新 | 未完成;不以“替换整个文件”为语义完备性捷径 |
| 合法性与组合 | 明确原子修改、事务内部暂态、提交时应成立的不变量 | 未完成;字节中间态可非法不等于结构步骤合法 |
| 语法和功能覆盖 | 逐条说明允许的结构/编码变换如何被分解,如何处理未知扩展 | PDF 1.7 已有部分条款锚点,未遍历全部语义 |
| 覆盖定理 | 从独立定义的允许变换推出存在合法操作序列,证明所保留的结构关系 | 未完成;不能用“由该操作基生成的变换”循环定义欲覆盖全集 |
形式上的目标可以写作:对独立界定的允许高层变换 T 和结构状态 s,存在 τ₁…τₖ,使每个提交状态满足明确结构不变量,且结果在明确的结构等价关系下对应 T(s)。这只是目标式;状态、T、τ、不变量、等价关系均须先落到实际定义,才能写“证毕”。
6.3 不得静默添加的假设
用户允许强制转发协议,不等于已经授权禁止所有难处理的 PDF 特性。不强制 D′ 仍能提取 Unicode。B/C 串通及 C 客户端控制、font 的具体字段、整页内容等价均未定;现阶段保留缺口,不替用户补成有利于证明的前提。
7. 敏感页保留关系:单独的未完成义务
A 指定敏感页集合 P_A(D)。对一个尚待固定的内容解释规范 θ,定义:
Retainθ(D,D′) ⇔ 存在 p∈P_A(D),使 D′ 中存在按 θ 可重构的内容 c,
且 Equivalentθ(c,p) 成立。
θ 至少需要规定:整页文字与布局如何计入、字体映射与字形冲突时采用什么依据、跨对象的内容如何组合、隐藏/历史对象依赖哪个版本的资源、嵌入 PDF 如何递归检查、公共模板或独立同内容如何处理。该公式是证明接口,不是已完成的判定算法;不能通过把任意无法解释情况排除于 Retainθ 来偷换用户需求。
为避免误报结论,分析状态使用 HIT / NO_HIT / UNKNOWN:确定命中为 HIT;只有约定范围已完整检查且未命中才可称 NO_HIT;解析不全、缺资源、字符解释歧义或尚未覆盖结构为 UNKNOWN。它们是本包的分析用语,不是已实现的服务 API。
若未来声称无漏报,至少须证明:对所有范围内 D′,Retainθ(D,D′) ⇒ Detector(D′)=HIT。若只证明“不会错误输出 NO_HIT”,允许 UNKNOWN,则是更弱性质。全部返回 HIT 虽无漏报,却失去区分能力,仍需单独讨论误报。
局部删除但仍保留整张敏感页属于正例;所有敏感内容真正移除属于反例。仅存在页字典但内容流或关键资源丢失,不足以断言整页内容仍保留。相同内容本身也不证明它来源于 A。
8. 检测与处置的边界
S 不见明文、输入绑定、检测材料完整性、实际转发控制都是后续协议义务,不由本文定理解决。即使零知识证明保证某程序正确执行,也不保证程序的内容语义和遍历范围完整。
缺少材料时按 B 的行为风险放行,只能记为风险放行,不能记为内容已核验。验证失败与不符合协议的拒绝,也不自动证明敏感内容存在。受控通道之外的绕过不在检测保证内。
RQ2 对应 A 的身份、受限内容和授权存证;RQ3 对应实际转发内容及修改的可观测证据;RQ4 对应内容、授权及不确定性共同驱动的处置。RQ1 仍为背景版图。本次仅为这些环节提供修改空间论证,不建立完整安全协议。
9. 当前可引用结论
可以引用:“本包保留了 PDF 1.7 的相关规范证据及修改案例。通用字节编辑可表达任意有限文件,但 PDF 结构修改集合及敏感页检测的完备性均尚未证明。”
不可将 THM-PMC-001 用作 PDF 结构完备性的结论;不可将原 THM-PMC-002 用作 S 不见明文时仍可完整检测的结论。已有 29 条来源论断和 26 个案例是证据与分析素材,不是核心任务完成的凭据。
浙公网安备 33010602011771号