我知道针对填充oracle攻击的最佳解决方案是将HMAC包装并附加到完整的加密消息。但还有其他解决方案吗?如果我的数据太大而需要流式传输怎么办?我可以在最后检查HMAC,但我负担不起加载整个文件两次并先检查HMAC然后流式传输并解密给用户?
有不同的方法吗?
如果我使用AES_CBC(zlib(数据)),攻击者是否也可以进行填充oracle攻击?如果压缩数据最终出现乱码,zlib将发出错误。攻击者是否也可以使用zlib的错误来获取一点信息?
答案 0 :(得分:2)
padding oracle攻击的建议修复方法是Encrypt-Then-MAC。这意味着您可以将密文分解为方便大小的块(例如,4096字节)和MAC各自。