[发明专利]用于执行有效率的抗侧信道攻击的简化的方法和设备有效
申请号: | 201010221483.X | 申请日: | 2010-06-25 |
公开(公告)号: | CN101938355A | 公开(公告)日: | 2011-01-05 |
发明(设计)人: | V·戈帕尔;G·M·沃尔里奇;W·K·费哈利;J·D·吉尔福德;E·奥楚尔克;M·G·迪克逊 | 申请(专利权)人: | 英特尔公司 |
主分类号: | H04L9/30 | 分类号: | H04L9/30;H04L9/06 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 柯广华;王洪斌 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 执行 有效率 信道 攻击 简化 方法 设备 | ||
技术领域
此公开涉及公共密钥密码术,具体来说涉及抗侧信道(side-channel)攻击的公共密钥密码术中使用的模简化(modularreduction)。
背景技术
公共密钥密码术通常应用于因特网上的保密通信,例如以分布密码算法中使用的秘密密钥。公共密钥密码术还应用于数字签名以对数据的来源进行认证并保护该数据的完整性。常用的公共密钥算法包括Rivert、Shamir、Aldeman(RSA)和Diffie-Hellman密钥交换(DH)。公共密钥算法可以用于对用于加密算法的密钥进行认证,这些算法例如数据加密标准(DES)和高级加密标准(AES)。
RSA和DH提供基于数论的使用的安全性。RSA基于对两个大质数的积进行因式分解。DH基于用于有限群的离散对数。通常,公共密钥系统为RSA和DH使用1024位参数。
通常,处理器包括公共密钥加密(PKE)单元,其执行具有非常高性能的密码计算。PKE单元将大的模取幂(modular exponentiation)问题加速,并经优化以与512至4096位的范围中的操作数一起来工作。
为了提供高性能,使用可变数量的运算来执行这些运算。侧信道攻击是一种基于从密码系统的物理实现来获得的能用于学习机密密钥的信息的攻击。例如,该信息可以是时序信息或功耗。功率监视攻击是一种使用计算期间装置的变化的功耗的攻击。时序攻击是一种基于测量处理不同输入(例如,由于性能优化以绕过非必需的运算、分支、高速缓存存储器和在非固定时间中运行的运算(例如相乘和相除))要花费多长时间的攻击。而且,通过观察到/自存储器或到/自处理器的数据移动并测量传输与密钥关联的信息花费多久来确定密钥也是可能的。
一种防止侧信道时序攻击的已知方法是将程序设计成使得它是等时的,即因此它在常量的时间量中运行,而独立于机密密钥值。但是,这导致性能上的显著损失。
发明内容
本发明提供一种方法,包括:存储由折叠运算的结果产生的折叠进位位的状态,所述折叠运算将a位数A简化到b位数B;以及使用所述折叠进位位的所存储的状态来检索预先计算的常数,所述预先计算的常数与相对于A的所述折叠进位位的位置和所述折叠进位位的状态对应,所述预先计算的常数用于以时间不变方式将所述b位数B模m简化到r位结果R。
本发明还提供一种设备,包括:存储器,存储由折叠运算的结果产生的进位位的状态,所述折叠运算将a位数A简化到b位数B;查询表,存储预先计算的常数,所述预先计算的常数对应于相对于A的所述进位位的位置和所述进位位的状态;以及执行以下操作的逻辑:使用所述进位位的所存储的状态从所述查询表检索所述预先计算的常数,并使用所检索的预先计算的常数以时间不变方式将b位数B模m简化到r位结果R。
本发明还提供一种其上存储有指令的计算机可读存储媒体,其中所述指令在被访问时导致执行:存储由折叠运算的结果产生的进位位的状态,所述折叠运算将a位数A简化到b位数B;以及使用所述进位位的所存储的状态来检索预先计算的常数,所述预先计算的常数与相对于A的所述进位位的位置和所述进位位的状态相对应,所述预先计算的常数用于以时间不变方式将所述b位数B模m简化到r位结果R。
附图说明
随着下文的详细描述进行以及通过参考附图,要求权利的发明主题的实施例的特征将变得显而易见,附图中,相似的数字示出相似的部分,其中
图1是包括抗侧信道攻击的公共密钥加密模块的一实施例的系统的框图;
图2是示出图1中所示的公共密钥加密模块中的模块的框图;
图3示出一种通过将数X折叠(fold)成更小的数X2来减少模简化的计算成本的方法;
图4示出一种根据本发明的原理的用于执行侧信道安全的Barrett简化的方法的一实施例;
图5示出一种根据本发明的原理的用于执行侧信道安全的修改的Montgomery简化的方法的一实施例;
图6是基于进位标志的值的用于在时间不变的软件例程(其是侧信道安全的)中使用的常量时间掩码的减法(constant time maskedsubtract)的流程图。
图7是示出如何将查询表中存储的数据存储在数据高速缓存中以避免基于高速缓存的攻击的一实施例的框图;以及
图8示出一种用于访问表中的值以避免泄漏基于高速缓存的侧信道信息的方法的一实施例。
虽然下文具体实施方式将参考要求权利的主题的说明性实施例来继续,但是本领域技术人员将明白这些实施例的许多备选方案、修改和变化。因此,要求权利的主题旨在从广义地来看待,并且仅由所附的权利要求中所陈述的来定义。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010221483.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:气力式排种器
- 下一篇:种子精选用种子包衣机