论文部分内容阅读
密码芯片在信息安全中扮演着不可或缺的角色,对性能、资源开销、功耗和安全性等指标提出需求。通用处理器可用于实现各类密码算法,并通过专用指令或并行技术进行加速,但在面积效率和能量效率方面难以满足实用需求;基于专用硬件的实现方式则在性能、面积效率和能量效率方面优势明显,但均只对特定算法定制,灵活性受限。另外在二者的安全实现方面,均需为抵御功耗攻击手段付出较大的性能开销和硬件资源开销代价。本文采用粗粒度可重构方式实现分组密码算法,能够在性能和实现效率之间取得良好折中,并能够在有效抵御差分功耗攻击的同时大幅缩减性能开销和硬件资源开销。本文针对密码算法中的线性运算与非线性运算分别采用相应的安全防护方案。对于线性运算,基于布尔掩码设计了寄存器秘密分享方案,使得线性部分能抵御一阶功耗攻击,并利用可重构架构中的闲置资源配置来实现,控制了面积开销的增长,针对闲置资源配置时所导致的性能开销问题,利用局部重构来进行缓解;对于非线性运算,设计了数据通路动态重构方案,利用可重构架构中S盒前后数据通路中的时序余量来构建不同延时的数据通路,在不影响架构最高主频的前提下,大幅提高抗攻击能力。本文基于SAKURA-G平台的FPGA开发板来实现抗差分功耗攻击的粗粒度可重构架构,采用汉明距离和汉明重量功耗模型验证抗攻击效果。实验结果显示:采用该架构实现DES和AES算法时,抗攻击能力均达到2,000,000条功耗迹以上,硬件资源开销仅为10.4%,性能开销分别仅为2.1%和2.5%。