论文部分内容阅读
高级密码加密标准(AES),可以抵抗诸如差分、线性等传统攻击,但是实现AES的设备则很容易受到边信道攻击。在现实世界中,各种物理设备在运行时会泄漏一些信息,而这些信息很有可能与设备内部的秘密数据有关。边信道攻击就是通过对诸如运行时间、能量或温度变化、声波、电磁波等信息的分析,来寻找其中的秘密数据。实现AES的软件中大多使用了S盒表查找,而在有限的CPU缓存中使用这些表查找时会泄漏时间信息。时间驱动的缓存攻击是指通过分析处理器中算法的执行时间的不同来恢复密钥的攻击。本文在详细描述了AES算法流程和缓存的体系结构的基础上,分析了针对AES的时间驱动缓存攻击,文中给出了两种攻击的改进版本,使得攻击可以单机运行,并给出了PentiumⅢ处理器下,使用OpenSSL加密库的攻击结果。这些攻击方法可以应用于大多数的高速AES实现软件和计算平台;最后分析了缓存攻击的优点以及抵抗这种攻击的对策。