计算机应用 ›› 2015, Vol. 35 ›› Issue (2): 420-423.DOI: 10.11772/j.issn.1001-9081.2015.02.0420

• 信息安全 • 上一篇    下一篇

基于现场可编程门阵列的SMS4故障检测实现

辛小霞1,2,3, 王奕1,2,3, 李仁发1,2,3   

  1. 1. 湖南大学 嵌入式系统与网络实验室, 长沙 410082;
    2. 湖南大学 网络与信息安全湖南省重点实验室, 长沙 410082;
    3. 湖南大学 信息科学与工程学院, 长沙 410082
  • 收稿日期:2014-08-28 修回日期:2014-11-14 出版日期:2015-02-10 发布日期:2015-02-12
  • 通讯作者: 王奕
  • 作者简介:辛小霞(1988-),女,河南鹤壁人,硕士研究生,CCF会员,主要研究方向:嵌入式系统安全; 王奕(1977-),女,河南洛阳人,讲师,博士,主要研究方向:功耗攻击以及防御、嵌入式系统安全; 李仁发(1957-),男,湖南宜章人,教授,博士,CCF会员,主要研究方向:嵌入式计算、CPS。
  • 基金资助:

    国家自然科学基金资助项目(61173036);国家863计划项目子项(2012AA01A301-01)。

FPGA-based implementation for fault detection of SMS4

XIN Xiaoxia1,2,3, WANG Yi1,2,3, LI Renfa1,2,3   

  1. 1. Embedded Systems & Networking Laboratory, Hunan University, Changsha Hunan 410082, China;
    2. Hunan Province Key Laboratory of Network and Information Security, Hunan University, Changsha Hunan 410082, China;
    3. College of Computer Science and Electronic Engineering, Hunan University, Changsha Hunan 410082, China
  • Received:2014-08-28 Revised:2014-11-14 Online:2015-02-10 Published:2015-02-12

摘要:

硬件实现的SMS4加密算法计算过程中容易出现故障,为防止攻击者利用故障信息进行故障攻击从而破解SMS4算法,提出一种针对SMS4算法的故障检测方案。该方案首先分析了硬件实现的SMS4算法出现故障的位置及其影响,然后在关键路径上建立了3个检测点,通过实时监测检测点来定位算法执行过程中出现的故障。一旦成功检测到故障,立即重新执行算法以保证攻击者难以获取有效的故障信息。将提出的方案和原无故障检测的算法分别在Xilinx公司的Virtex-7和Altera公司的Cyclone Ⅱ EP2C35F76C6两个现场可编程门阵列(FPGA)上综合实现,在Virtex-7上,提出的带故障检测的方案比原算法占用逻辑资源增加30%,吞吐量相当;在EP2C35F76C6上比原算法增加0.1%的硬件资源,吞吐量达到原来的93%。实验结果表明,在尽量不影响吞吐量的前提下,提出的方案占用硬件资源小,并且可以有效地检测出故障,从而避免SMS4算法受到故障攻击。

关键词: SMS4算法, 硬件实现, 故障攻击, 故障检测, 现场可编程门阵列

Abstract:

Faults will frequently occur during the computational process of the hardware based SMS4 algorithm. The attacker can easily break the algorithm by using the fault information and performing the fault attack. In order to solve this issue, a new fault detection method for SMS4 was proposed. Firstly, locations of the fault occurrence and the impact of the faults were analyzed. Then, three detection position points on the critical path were targeted, and by monitoring these three points in real-time to locate the faults. Once a fault was successfully detected, the system would immediately re-execute the algorithm to avoid the attacker obtaining the fault information. Furthermore, the proposed SMS4 with fault detection and the original SMS4 without fault detection were implemented on two Field Programmable Gate Array (FPGA) platforms respectively, including Virtex-7 of Xilinx and Cyclone Ⅱ of Altera. Compared with the original SMS4, hardware resource of the proposed SMS4 with fault detection was increased by 30% with similar throughput on Virtex-7. Hardware resource of the proposed SMS4 with fault detection was increased by 0.1% and the throughput was around 93% on EP2C35F76C6. The experimental results show that the proposed algorithm can effectively detect faults using affordable hardware resource to avoid fault attack without affecting throughput.

Key words: SMS4 algorithm, hardware implementation, fault attack, fault detection, Field Programmable Gate Array (FPGA)

中图分类号: