[发明专利]一种抗旁路攻击算法及其芯片有效
申请号: | 200610119237.7 | 申请日: | 2006-12-07 |
公开(公告)号: | CN101196964A | 公开(公告)日: | 2008-06-11 |
发明(设计)人: | 周玉洁;陈志敏;秦晗;谭咏伟 | 申请(专利权)人: | 上海安创信息科技有限公司 |
主分类号: | G06F21/00 | 分类号: | G06F21/00;H04L9/30 |
代理公司: | 上海申汇专利代理有限公司 | 代理人: | 吴宝根 |
地址: | 201204上海市浦东新区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 旁路 攻击 算法 及其 芯片 | ||
技术领域
本发明涉及信息安全技术,特别是涉及一种抗旁路攻击RSA算法的芯片及其算法的技术。
背景技术
加密作为信息安全的一个重要分支,一直受到广泛的关注。一方面,人们不断地研究加密算法自身的安全性。另一方面,关于加密算法的实现也是大家讨论的热门话题之一。一个较为普遍的认识是:芯片是实现加密逻辑的一个很好的途径。加密算法在芯片内部实现可以避免很多用软件来实现而带来的弊端。软件实现中存在的密钥容易泄漏,内存可能被扫描,甚至算法受到窜改的问题在芯片实现中都可以得到很好的解决。
然而,随着集成电路分析技术的发展,近些年出现了很多针对加密芯片的攻击方法。其中较为普遍、容易实现的是旁路攻击(Side Channel Attack)。旁路攻击是基于芯片物理特征的分析技术,包括故障分析技术、时间分析技术、简单功耗分析技术、差分功耗分析技术、电磁辐射分析技术等。利用这些技术,攻击者可以在获得密码运算载体的情况下,不破坏芯片正常运算,而快速获得密钥,从而破译整个密码系统。
普通RSA算法芯片在运算时间,运算功耗上都有漏洞。例如RSA的核心运算模幂都是通过将幂指数(密钥)表示成二进制加法链,再将链上的每一位对应的模乘串连起来实现的:当加法链上的位是1时,需要完成一次取模的乘法和一次取模的平方;当某位是0时,则只需要做一次取模平方。前后两者所消耗的时间基本成两倍关系。攻击者可以根据运算时间的区别很容易地得到密钥。在功耗攻击方面,研究发现,平方运算和乘法运算的功耗波形有着可以辨别的区别,利用与前面相同的原理,攻击者也可以获取RSA加密芯片内部的密钥。另外,除了模幂运算,RSA中的模约减运算也同时存在风险。由于模约减运算中大量使用一个操作数固定的减法运算,而不同操作数的减法运算的统计功耗特性也是可以辨别出来的,所以普通模约减算法也存在信息泄漏。
为了使得设计出的芯片具有抗旁路攻击的特性,人们提出了引入随机数来随机化内部处理流程的设想。其中一种有效的RSA抗攻击方法被称作MIST。其每次模幂运算都引入一组随机数对加法链进行随机处理从而得到一组随机的模乘运算。模乘运算的随机性掩盖了大部分幂指数的信息,保证了算法实现的安全性。然而,该方法只能保证模幂运算的安全,却忽略了模约减运算的安全性。由于MIST中随机加法链的生成要用到大量模约减运算,且固定在减法一端的操作数只从2,3,5当中选取,攻击者完全可以利用前面所述的模约减漏洞得到整个随机数组,进而破解MIST算法。
发明内容
针对上述现有技术中存在的缺陷,本发明所要解决的技术问题是提供一种无统计特性,有较大攻击难度的抗旁路攻击RSA算法及其芯片。
为了解决上述技术问题,本发明所提供的一种抗旁路攻击RSA算法的芯片,其特征在于,包括:
一接口模块(IFC),用于完成芯片内外数据的交互,设芯片的输入、输出端;
一随机数模块(RNG),用于产生随机数;
一存储器模块(MEM),分别连接接口模块和随机数模块,用于存储RSA需要计算的大数、中间和最终结果;
一模幂模块(EXP),连接存储器模块,用于完成采用MIST算法的模幂运算;
一模约减模块(RED),分别连接模约减模块和存储器模块,用于完成普通的模约减算法,计算余数和商;
一控制模块(CTRL),分别连接模幂模块、模约减模块、存储器模块和接口模块,用于控制整个RSA设计的流程,使得模幂运算和模约减运算并行运行,并通过调用RED实现随机化的模约减运算。
进一步地,所述模幂模块(EXP)用于完成:Montgomery预计算(CMD_EXP_RR)、Montgomery计算(CMD_EXP_MONT)、模幂(CMD_EXP_EXP)、数据搬移(CMD_EXP_MOV)、乘加(CMD_EXP_MUL_ADD)以及模幂结果处理(CMD_EXP_FINISH)。
进一步地,所述模幂模块(EXP)由两个子模块组成:
EXP控制子模块(ExpCtrl),负责解析Montgomery预计算、Montgomery计算、模幂、数据搬移、乘加以及模幂结果处理的六个EXP任务命令;
Montgomery模乘运算子模块(MMM),用于完成:MUL、SQU、MOV、CMP、INI以及MA各项基本操作。
进一步地,所述Montgomery模乘运算子模块MMM包括MMMCtrl单元和PE处理单元,其中MMMCtrl单元控制对数据的读取和写入;PE处理单元用于数据处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海安创信息科技有限公司,未经上海安创信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200610119237.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电枢和电机
- 下一篇:形成具有减低的电与应力迁移及/或电阻率的互连结构的方法