密码学末日原则

主要观点:设计安全协议时应遵循若在验证收到消息的[MAC]前进行任何加密操作,将不可避免导致问题的原则,通过两个流行例子说明此原则。
关键信息:

  • 有三种结合消息认证码与加密消息的方式,“加密-然后-验证”最优,“验证-然后-加密”违反原则。
  • Vaudenay 攻击:在 CBC 模式解密中,验证 MAC 前需解密消息,攻击者可修改密文块末字节导致填充错误或 MAC 错误从而解密消息。
  • SSH 明文恢复攻击:SSH 协议中验证 MAC 前需解密消息,其使用的填充方式虽不易受 Vaudenay 攻击,但消息长度也被加密,攻击者可通过发送密文块让接收者解密并获取部分明文。
    重要细节:
  • 不同填充格式如 PKCS#5 中,需添加特定值字节进行填充。
  • CBC 解密过程如图片所示。
  • SSH 数据包格式及各部分特点。

总结:设计安全协议要注意在验证 MAC 前不进行加密操作,Vaudenay 攻击和 SSH 明文恢复攻击等例子均体现了违反该原则会导致的问题,虽具体情况不同但总体模式会引发麻烦。

阅读 12
0 条评论