论文部分内容阅读
上世纪90年代中期以来,利用密码算法芯片的物理特性实施边界信道攻击引起了国内外密码学界的极大关注,已经成为密码分析学发展最为迅速的领域之一。实际应用的密码算法通常用专用硬件、软件或固件来实现,如ASIC、FPGA、DSP或智能卡等密码算法芯片(以下简称密码芯片),这种芯片在运行时有可能泄漏某些与密钥相关的部分信息,称为边界信道信息。典型的边界信道信息包括密码芯片的执行时间、能量消耗、电磁辐射、出错信息等。以前,人们对密码算法的分析主要集中在对其数学变换的分析上。但在近年来,随着集成电路和智能卡技术的发展以及嵌入式系统的大规模应用,边界信道攻击由于其成功的攻击效果和广泛的用途,正受到人们越来越多的关注。边界信道攻击的主要形式有:时间攻击(Timing Attack)、功耗分析(Power Analysis)和故障分析(Fault Analysis)。
本文立足于密码芯片安全性的实际需求,从算法研究和软件设计等方面展开工作,在攻击方法和防御方法两个方面对公钥密码算法的时间攻击、功耗分析和故障分析进行了研究。针对当前广泛应用的RSA和ECC体制以及其中的核心运算单元,分析了时间攻击、简单功耗分析、差分功耗分析和故障的各种攻击方案,并有针对性的分析了各种防御攻击的密码算法实现方案,从而为设计能够有效抵御主要边界信道攻击的密码芯片及相应软件,提供理论依据和实现指南。
本文以RSA体制为研究重点,提出了RSA体制防御时间攻击和多信道攻击的新方案:第一,在对时间攻击和原有抗击方法进行分析的基础上,提出两种新的防御方法,将RSA算法由确定算法改造为随机算法,这样不但保证了算法安全性,而且可以大大提高算法的执行效率。第二,针对RSA-CRT体制面临的多信道攻击,提出了有效抗多信道攻击的实现方案。该方案通过综合使用去除条件语句、盲化消息和盲化指数等三种防御思想,能够同时防御利用简单功耗分析、时间攻击、故障分析和差分功耗分析的多信道攻击。