跳到主要内容
ConvertOwl
技术阅读需 1 分钟作者 ConvertOwl

给 PDF 设置密码真的能让它变安全吗?

PDF 密码可能是真正的加密,也可能只是个形同虚设的锁,取决于你选的设置。了解两者的区别,以及如何正确保护一份 PDF。

像素风猫头鹰拿着一张安全任务卷轴,站在一份用挂锁和密码星号锁住的 PDF 文件旁边,背后是一扇被铁链锁住的城门,以及一条提示仅靠密码保护还不够的警告

在把一份合同或纳税表通过邮件发出去之前,你给 PDF 加了个密码,感觉这事就算办妥了:文件"受保护了"。但这是否真的成立,取决于一个几乎没人会去核实的区别:真正加密文件的打开密码,和只是礼貌地请求阅读器不要允许打印或复制的权限密码。前者能让没有密码的任何人完全无法读取文件;后者只是一个设置,稍微有点决心的人几秒钟就能绕过。

这篇文章会讲清楚 PDF 密码在底层到底做了什么、当你使用像我们的 Protect PDF 这样的工具时你设置的到底是哪一种,以及密码保护完全不适用的场景。

PDF 可以拥有的两种密码#

PDF 规范(ISO 32000)允许一份文件携带两个独立的密码,它们做的事情真的不一样:

  • **用户密码(打开密码)。**没有它,文件内容就是加密且无法读取的,就这么简单。任何人在输入正确密码之前,连一页都看不到。这是真正的加密,和加密的 ZIP 文件或加密的磁盘镜像属于同一类保护。
  • **所有者密码(权限密码)。**这个密码设置的是限制,比如"禁止打印"或"禁止复制文本",但文档内容本身依然完全解密、可以查看。你打开文件所用的任何阅读器如果愿意,会遵守这个限制,但页面的实际内容完全没有被这个限制隐藏起来。

一份 PDF 可以两种密码都有、只有其中一种,或者都没有。如果一个工具只提到"限制"别人能对文档做什么,那你设置的是权限密码,并没有加密任何东西。如果它要求输入密码才能打开文件,那才是真正的加密层。

加密本身到底够不够强#

当你真正设置了一个打开密码时,它的强度取决于 PDF 使用的加密算法,而这又取决于文件是怎么创建的:

加密方式实际安全性说明
RC4 40 位(老旧的 PDF 1.1 时代默认值)弱,几分钟内可破解技术上仍是合法的 PDF,但如果能选就应避免
RC4 128 位按现代标准来看偏弱早在多年前就被 AES 取代
AES-128大多数现代工具的标准配置
AES-256当前的最佳实践,PDF 2.0 的默认值

如果你用现代工具设置密码,很可能用的就是 AES-128 或 AES-256,只要密码长度合理,这两者在计算上都不可能被暴力破解。实际的薄弱环节不是加密算法,而是密码本身:一个短的或常见的密码,远在加密成为瓶颈之前就会被猜出来,就像一扇银行金库的门,如果密码是 1234,门再厚也没用。

密码保护做不到的事#

即便是一个强打开密码,PDF 密码也只能控制静态文件的访问权限,它有实实在在的局限:

  • **它不会扫描恶意软件。**一份加了密码的 PDF 仍然可能携带嵌入的 JavaScript 或恶意附件;加密和恶意内容是文件两个互不相关的属性。
  • **文件一旦被合法打开,它就不再提供保护。**任何拿到密码的人都可以截图、重新打字或用其他方式提取内容,没有任何加密能阻止这一点。
  • **文件被重新保存后,保护不会延续。**如果拥有打开密码的人保存了一份未加保护的副本,保护就永久性地从那份副本上消失了。
  • **仅有权限密码几乎起不到什么保护作用。**因为内容已经完全解密、可以查看,"禁止复制"这类限制是靠阅读器自觉遵守来执行的,而不是靠密码学。市面上有不少工具就是专门用来在几秒钟内去除权限限制的。

密码保护什么时候是对的选择,什么时候不是#

如果目标是在传输或存储过程中保密,用真正的打开密码做密码保护是个稳妥的选择:一份万一发到错误收件箱就不该被读到的文档,或者存放在云存储里的敏感文件。对于一份已签署的合同、一份医疗记录,或者你要通过邮件发给别人的财务报表来说,这都是正确的工具。

但如果你真正想要的是控制一个有权阅读文档的合法收件人能拿这份文档做什么,那这就是用错了工具。一个仅有权限的密码(比如"禁止打印")很容易被去除,所以不要把它当成真正的限制来依赖,也不要把设置这样一个密码和真正保护文件混为一谈。如果你需要给文档做标记,让它能追溯到特定的收件人,那么水印在这件事上比限制权限有效得多。

如何判断一份 PDF 实际用的是哪种保护#

如果你不确定一份文件用的是哪种密码,测试方法很简单:试着不输密码打开它。如果完全打不开,说明用的是打开密码,内容是真正被加密的。如果能立即打开,只是打印或复制的选项是灰色的,那就只是权限密码,内容其实从来没有被真正隐藏过。如果你手上有一份你有权访问的加密 PDF,只是想去掉这道屏障,Unlock PDF 会在你的浏览器里本地去除密码,整个过程文件不会上传到任何地方。

常见问题#

加了密码的 PDF 真的是加密的吗? 只有当它使用打开密码(也叫用户密码)时才是;仅有权限密码(所有者密码)的话,内容依然完全解密,只是限制了打印之类的操作,而大多数阅读器是可以被设置为忽略这些限制的。

加密的 PDF 会被破解吗? 使用现代 AES-128 或 AES-256 加密、并配有足够长且独特密码的 PDF,在实际操作中是无法被破解的;但一份用老旧 RC4 加密的文件,或者一个短的、常见的密码,用密码恢复工具可能几分钟到几小时就能破解。

PDF 的打开密码和所有者密码有什么区别? 打开密码(用户密码)是查看文档所必需的,能真正加密内容;而所有者密码只是在任何人本来就能读取的文档上,设置打印或复制之类的权限限制。

去掉 PDF 密码会让文件变得不安全吗? 去掉打开密码确实会永久解密文件,所以只应该在你自己掌控、且不再需要保密的副本上这样做,因为拿到这份文件的任何人此后都能不受限制地阅读它。

发送纳税文件或合同时,PDF 密码保护够用吗? 使用 AES-128 或 AES-256 加密的强打开密码,对于邮件附件来说是合理的保护,但它只保护文件在静态存放和传输过程中的安全,一旦合法收件人打开文件,并可能重新保存或转发一份未加保护的副本,密码就不再起作用了。

加了密码的 PDF 还可能携带病毒吗? 会的,密码保护和恶意软件是两回事:加密控制的是谁能读取文件,而嵌入的恶意脚本或附件是一个独立的风险,密码既不能阻止也无法检测到它。

一句话总结#

  • 一份 PDF 可以携带两种不同的密码:真正加密内容的打开密码,以及只限制打印之类操作、内容依然完全可读的权限密码
  • 现代工具默认使用强 AES 加密,所以真正的薄弱环节通常是密码强度,而不是算法本身。
  • 密码保护能守住文件在静态存放和传输过程中的安全;一旦合法收件人打开了文件,它就不再起作用,也无法检测恶意内容。
  • 保密请使用真正的打开密码,而不是寄希望于别人遵守的权限限制。

准备好正确保护一份文件了吗?Protect PDF 完全在你的浏览器里设置真正加密的密码,Unlock PDF 则可以去除一个你有权清除的密码,两者都不会把你的文档上传到服务器。

试用这些工具

免费、私密、即时 - 一切都在你的浏览器中运行。

像素风格的猫头鹰拿着放大镜检查一个 PDF 文件图标,旁边浮现出骷髅头警告标志
技术1 分钟

PDF 文件会携带病毒或恶意软件吗?

会的,PDF 确实可能携带恶意软件,但方式和多数人想的不一样。了解 PDF 漏洞利用的真正原理,以及如何安全打开可疑文件。