安全研究人员发现,多款PDF阅读器和编辑器虽然宣称采用AES-256加密,但实际生成的256位文件密钥源自极小的状态空间或不可靠的随机源,攻击者可在无需密码的情况下枚举破解受保护文档。其中问题最严重的是MuPDF:1.28.5之前的版本使用drand48族伪随机数生成器生成密钥,该生成器仅以当前Unix时间戳(秒级)播种一次,真正影响AES-256密钥的随机状态只有9比特,密钥空间仅剩512种可能。Foxit等其他PDF编辑器则基于时间生成随机数,同样导致密钥极易被推导恢复。在PDF加密机制中,用户密码并不直接加密文档内容,而是先由实现生成一个随机的32字节文件密钥加密内容,再用密码加盐值哈希派生的密钥加密该文件密钥。当前第6版规范采用AES-256并刻意放慢哈希运算以抵御暴力破解。研究还指出,用户密码与权限密码解锁的是同一文件密钥,权限限制仅依赖阅读器端执行。该发现意味着大量受加密保护的PDF文档实际处于近乎裸奔状态,敏感信息面临无密码解密风险。
事件分析
核心观点:加密强度取决于最弱一环:9比特随机性让AES-256的安全承诺沦为纸面数字,实现细节比算法选型更致命。
原文链接:Hacker News

评论前必须登录!
立即登录 注册