我读了这里的一篇丹尼尔·伯恩斯坦的论文
本文演示了从另一台计算机的网络服务器的已知明文定时中完全恢复AES密钥。此攻击应归咎于AES设计,而不是服务器使用的特定AES库。要为通用计算机编写恒时高速AES软件是非常困难的。
对于新处理器和体系结构有什么对策吗?
为什么要为通用计算机编写恒时高速AES软件呢?有什么问题吗?
发布于 2017-01-29 22:40:46
这并不是说创建一个固定时间的实现是固有的问题,它主要是一个效率和意识问题。
基于表的实现是快速的。固定时间的实现是可能的,但与基于表的版本相比,往往以降低性能为代价。
此外,更有可能的罪魁祸首是执行者对缓存定时攻击存在的认识水平。对于那些不熟悉的人来说,这并不是显而易见的事情。时间不变的实现通常不是偶然的--它们是以这种方式编写的,实现者有明确的意图。熊熊就是一个很好的例子。
最后,许多现代CPU都有AES-NI指令集,它基本上将AES计算卸载到专用的硬件电路和应该在恒定的时间内运行。
https://security.stackexchange.com/questions/149780
复制相似问题