PDF 支持哪些不同的密码保护选项?

What different options for password protection does PDF support?

pdftk中我可以看到三个选项:

1$ pdftk input.pdf output protected-userpw.pdf userpw very_secret
2$ pdftk input.pdf output protected-ownerpw.pdf ownerpw very_secret
3$ pdftk input.pdf input_pw very_secret output protected-input.pdf

当我打开 protected-ownerpw.pdfprotected-input.pdf 时,系统不会要求我输入密码。只有 protected-userpw.pdf 给出了预期的结果。 ownerpwinput_pw有什么作用?

我使用 qpdf 从受保护的文件创建未受保护的文件。现在我想知道这是否总是有效。 PDF格式支持哪些密码保护机制?以及qpdf支持什么。

所有者和用户密码不同含义

在 PDF 文档中您可以设置安全权限,如

  • 允许打印
  • 允许复制文本
  • 允许填写表单域
  • ...

这些实际上只是文档中的标志,而取决于 pdf 查看器是否遵守它们。

当您只设置所有者密码时,用户密码会自动设置为空。 PDF 文件仍处于加密状态(所有流和字符串将以加密形式保存),但可以使用空密码对其进行解密。因此,您可以在不输入任何密码的情况下打开 PDF,但是一旦打开,您就只能按照安全权限中的规定对文档执行某些操作。 所以也许他不允许打印文档。

当您设置用户和所有者密码时,打开 PDF 的人需要在打开过程中指定所有者或用户密码。如果他指定了用户密码,则他的安全权限根据pdf 中的安全设置。如果他使用了所有者密码,他将获得授予的所有安全权限。

PDF 加密 PDF 支持许多不同的加密算法。加密密钥长度为 40 到 128 的 RC4 或 AES 以及用户定义的算法,这些算法未包含在 pdf 规范中。在最近对 PDF 1.7 规范(扩展级别 3)的扩展中,还指定了 AES 256。在后来的扩展中有一个指定的更新,它修改了 AES 256 并修复了理论上的安全漏洞。关于这些最后的扩展,一些工具仍然存在问题(但我不知道 qpdf)。 这些扩展都可以在今天发布的 PDF 2.0 的 ISO 规范中的普通 pdf 规范中使用。