针对SoC平台,提出并实现了一种高效的基于Cache的AES旁道攻击方法.该方法利用AES软件运行过程中查找表操作泄漏的时间信息,结合AES算法前两轮的特征,快速确定攻击表与AES查找表间的映射关系,并最终恢复出全部128b密钥.基于此攻击方法,在充分考虑各种系统噪声影响的情况下,进一步提出了一种统计分析模型.该模型揭示了上述攻击方法的内在机理,并能够较为准确地估算攻击所需的最小样本数.该模型的重要意义在于不仅可以用来衡量特定SoC系统的抗攻击能力,同时为抗攻击研究指明了方向.
This paper proposes a highly efficient cache-based timing attack method against AES as well as other cryptographic algorithms running on SoC platforms.It is available due to the leaking information of cache behavior which can be actually observed during AES execution and is implemented based on table lookups for performance enhancement.We can completely confirm the 128b cipher key by searching the statistical relationship between the cipher key and encryption timing during the first two rounds.Compared with the known means,our method is much easier to carry out and more robust under noisy environments caused by hardware and software interference.Additionally,by introducing the notion of sample number needed for a successful attack which denotes the strength of cryptographic algorithm,we present an analytical model based on statistical differential timing analysis.Through this model we could find out that different attacking strategies as well as system noise and some other factors exert very different influence on necessary sample number.Using our method,we have successfully compromised AES on several SoC platforms and verified the analytical model on MIPS4kc SoC platform with Linux2.4.By studying this analytical model,some common features of cache-based timing attacks have been deduced,and countermeasures are proposed therefore.