密码算法实现方式对安全性的影响研究*
2016-11-11陈大钊
陈大钊,成 超,熊 峙,王 津
(1.成都三零嘉微电子有限公司,四川 成都 610041;2.61569部队,北京 100071)
密码算法实现方式对安全性的影响研究*
陈大钊1,成 超2,熊 峙2,王 津2
(1.成都三零嘉微电子有限公司,四川 成都 610041;2.61569部队,北京 100071)
实际应用中,密码算法总要在软件、硬件或物理设备等环境中实现,也只有在实际应用场景中讨论密码算法的安全性才是有意义的。密码算法实现方式对其安全性有着重要影响,本文以不同实现方式在FPGA上实现SM4算法,通过对不同实现方式的SM4算法进行相关性功耗分析(Correlation Power Analysis,CPA),评估密码算法实现方式对安全性的影响。分析结果表明,SM4算法并行实现方式比串行实现方式具有更高的安全性。
密码安全;CPA;FPGA;安全性
0 引 言
密码设备在运行中总会泄露出各种与密码算法相关的信息,如运行时间、功耗信息和电磁辐射信息等,这类信息称为旁路信息[1](Side Channel Information)。攻击者可以利用旁路信息攻击密码设备,从而获取秘密信息,这种攻击方式称为旁路攻击(Side Channel Attack,SCA)。其中,功耗分析[2-3](Power Analysis)是最普遍的攻击方式,其特点是攻击效率较高、成本低。功耗分析又分为简单功耗分析(Simple Power Analysis,SPA)、差分功耗分析(Differential Power Analysis,DPA)和相关系数功耗分析[4](Correlation Power Analysis,CPA)。CPA是利用密码芯片的功耗假设模型,预测其
运行密码算法时的功耗大小,然后和实际测量的功耗大小进行相关性分析,从而推测密钥。由于CPA考虑的数据相关状态位比DPA多,因此利用假想模型得到的模拟功耗和实际测量的功耗之间的相关系数更大,比DPA更具有攻击性。因此,本文选取CPA作为评估SM4密码算法不同实现方式的安全性方法。……
