论文部分内容阅读
信息安全芯片(又叫密码芯片)是保障国家和公民个人信息安全最重要的物质载体,已经成为信息安全所依赖的关键技术之一,是国家信息安全建设的基石。现代信息安全对密码芯片的依赖越来越强,商用密码芯片已经越来越多的出现在人们的工作和生活中,如在电脑、手机、智能卡等设备中,也都内置了密码安全保护芯片。由此可见,密码芯片的安全性在很大程度上就决定了信息的安全性,而密码芯片的安全性又取决于密码算法及其在芯片上实现的安全性。目前商用的密码算法主要有两大体系:对称密钥加密体系和公钥加密体系。长期以来,对称密钥加密体系一直占据着主导地位,如常见的数据加密标准(Data Encryption Standard,DES)算法和高级加密标准(Advanced Encryption Standard, AES)算法等。公钥加密算法又称非对称密码算法,如常见的RSA (Rivest-Shamir-Adleman)密码算法和椭圆曲线密码(Elliptic Curve Cryptosystems, ECC)算法等。这些密码算法在数学上都具有很高的安全性,但侧信道(Side Channel)分析者认为,密码算法在芯片上实现时很容易泄露出一些与密钥相关的侧信道信息,有的甚至直接泄漏了密钥。因此,侧信道分析方式已经成为破解密码芯片的很可能的一条“捷径”,受到了学术界和商业界非常大的重视。侧信道(Side Channel)信息就是指电子设备工作时泄漏出来的与逻辑0和逻辑1相关的功耗和电磁辐射等信息。密码芯片的侧信道分析技术就是指利用密码芯片在执行密码算法的加解密运算时泄露出来的侧信道信息,并结合各种分析方法,如观察对比、差分计算、统计归类、正态分布等方法进行密码系统分析的方法。利用侧信道分析技术,可以逐步解析出与秘密信息相关的一些敏感信息,有时甚至能够直接获得密钥。国内外对侧信道分析技术的研究已经取得非常大的进展,发展出一系列的分析方法,如功耗分析,电磁分析和时间分析等,其中比较成熟有效的侧信道分析方式是功耗分析方式,主要有简单功耗分析(Simple Power Analysis, SPA)和差分功耗分析(Differential Power Analysis, DPA)。目前,针对常规DES和AES智能卡已经实现了SPA和DPA攻击,对常规RSA和ECC智能卡主要采用SPA攻击。与此同时,也发展出了一系列的防御措施,其中比较常用的防御措施可归结为两类:掩码技术和功耗平衡技术。掩码技术主要通过增加随机操作或者打乱操作顺序的方式来实现对逻辑0和1功耗的掩盖,但并未从根本上解除侧信道分析的基础,不能达到很高的防御效果。功耗平衡技术主要为了平衡状态‘0’和‘1’的功耗,消除二者的功耗差异,可从根本上破坏侧信道分析的基础,尤其在逻辑上实现的功耗平衡技术,能够达到较高的防御标准。针对ECC点乘实现,Double-and-Add-Always方法、Montgomery方法和Double-and-Add-Balanced方法三种功耗平衡技术都能够达到很好的防御简单侧信道分析的效果。为了设计出高效的防御方法并对其进行对比,必须对侧信道防御措施的有效性和效率进行量化评估,以实现对密码芯片侧信道安全性和效率的统一评价和规范。但目前国内外对侧信道防御措施的有效性和效率的量化评估的研究较少,本文认为,利用差异平均显著性检验(distance of mean significance test, DoM-S-Test)方法可以定量地计算出各种防御措施的安全性因子,通过运算开销也可以定量地计算出各种防御措施的开销,而安全性因子与运算开销的比例关系则直接反映了防御措施的效率。通过所提出的定量评估方法,本文分别以Double-and-Add-Always方法、Montgomery方法和Double-and-Add-Balanced方法为例定量地对比了它们的有效性和效率。