论文部分内容阅读
密码芯片在信息系统中往往作为安全控制的核心和信任根源,因此密码芯片自身的安全性对整个系统而言起着关键作用。传统意义上,密码芯片的安全性主要基于所采用的密码算法、认证方式以及安全协议的数学复杂度。然而,信息系统的安全性是由系统中最弱的组成部件决定的,这使得即使数学理论上安全的密码算法也可能由于不恰当的物理实现而不安全。旁路攻击和物理攻击正是这种针对密码算法的执行载体——密码芯片而实施的有效攻击技术。在众多的旁路攻击技术中功耗攻击是最有威胁的一种攻击技术,其利用密码芯片运算过程中所泄漏的功耗信息来破解算法密钥。与传统密钥分析方法相比,功耗攻击技术具有较小的密钥搜索空间和较好的分析效率。而且如果功耗攻击与物理攻击或者其他旁路攻击技术相结合,还可以大大提高对密码芯片的安全威胁。成功的功耗攻击取决于三个因素:首先是执行密码算法的芯片电路所消耗的功耗与其内部数据具有一定的相关性,这是功耗攻击能够实施的基础;其次是攻击者能够准确的选择功耗数据,并使用统计分析方法对其进行相关性检验,这是功耗攻击能够实施的前提;最后是攻击者对密码算法实现细节的掌握程度,这是功耗攻击强度的重要决定因素。本文以密码芯片抗功耗攻击为目标,首先深入分析集成电路的功耗产生机理和功耗攻击所能实施的理论基础,然后围绕决定功耗攻击的三个因素,从消除电路功耗与内部数据的相关性、干扰攻击者相关性统计分析的过程以及保护密码算法实现细节三个方面展开了抗功耗攻击的芯片电路设计和实现技术研究。在本文的研究过程中,主要取得了以下研究成果:1、提出一种新型的双轨预充电逻辑LBDL:通过详细分析逻辑单元信号翻转概率以及信号翻转时刻对电路功耗特征的影响,论证了传统逻辑结构中电路功耗与内部数据之间的相关性产生机理,以及现有抗功耗攻击逻辑的安全漏洞。提出一种新型的基于查找表的双轨预充电逻辑LBDL。LBDL能够有效地避免逻辑单元的提前传播效应,彻底实现逻辑单元功耗特征的完全恒定。与现有典型的功耗恒定逻辑相比,LBDL具有相似的性能、面积和功耗开销,而其抗功耗攻击能力则提高了数十倍。2、提出完整的双轨预充电逻辑电路设计方法:新型的电路结构与动态工作模式导致双轨预充电逻辑难以适用于现有的自动化设计流程,这也是制约双轨预充电逻辑实用性的主要原因。本文基于逻辑单元替换的思想提出了一套完整的双轨预充电逻辑电路半定制设计方法,最大程度的利用商用EDA工具完成设计流程中的逻辑综合、布局和布线等操作。并且针对设计流程国防科学技术大学研究生院博士学位论文早期阶段的电路时序分析,布局布线阶段的双轨信号电容负载对称需求等问题提出了创新的解决方案。实验表明,所提出的双轨预充电逻辑电路半定制设计方法能够有效的应用于密码算法的电路设计,在实现双轨预充电逻辑抗功耗攻击优势的同时降低了密码芯片电路的设计复杂性。3、提出一种基于时间随机化的抗功耗攻击技术:针对功耗相关性检验过程中需要将功耗样本按照目标信号产生时间对齐的特点,提出一种基于寄存器翻转时刻随机化的抗功耗攻击技术,实现时间随机化程度与电路设计复杂度的有效平衡。建立了针对FPGA芯片的功耗攻击分析平台,对提出的防护技术与常规实现进行了功耗攻击对比实验。实验结果表明,FPGA芯片功耗攻击平台能够成功的对常规实现的密码算法进行攻击,而寄存器翻转时刻随机化技术则能够实现对功耗攻击的防护。4、提出同时针对功耗攻击和版图逆向分析的防护技术:版图逆向分析可以帮助攻击者最大程度的窃取密码算法实现细节,从而提高功耗攻击效率。本文同时从功耗攻击防护和密码算法实现细节保护两个角度出发,提出一种具有功耗恒定特性的双端输出可编程逻辑结构DRCL。一方面,DRCL具有结构均一性的特点,能够阻止攻击者采用版图逆向分析的方式窃取密码算法的电路实现细节;另一方面,DRCL能够实现电路功耗特征的恒定,消除了可编程逻辑电路的功耗攻击隐患。在实验验证了DRCL的抗功耗攻击能力后,以DRCL作为核心逻辑单元完成了功耗恒定FPGA阵列的完整设计,实现了配套的可编程布线结构、时钟分布网络和编程配置电路。