[发明专利]用于防御加密攻击的时钟周期随机化有效
申请号: | 201780000669.2 | 申请日: | 2017-02-22 |
公开(公告)号: | CN107735981B | 公开(公告)日: | 2021-06-25 |
发明(设计)人: | 唐纳德·斯塔克 | 申请(专利权)人: | 谷歌有限责任公司 |
主分类号: | H04L9/00 | 分类号: | H04L9/00 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 李宝泉;周亚荣 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 防御 加密 攻击 时钟 周期 随机化 | ||
使用时钟周期随机化来防御加密攻击的方法、系统和设备。所述方法、系统和设备被设计为通过在加密操作期间使用具有可变周期的时钟来使边信道攻击和故障注入攻击更困难。在示例实施例中,时钟周期随机化器包括固定延迟生成器和可变延迟生成器,其中,由可变延迟生成器生成的可变延迟基于偶尔地或周期性地改变的随机或伪随机值。所述方法、系统和设备可用在关注故障注入和/或边信道攻击的硬件安全应用中。
相关申请的交叉引用
本申请要求2016年2月23日提交的美国临时专利申请No.62/298,842的优先权,其完整公开通过引用并入本文。
技术领域
本发明涉及一种用于至少在加密操作期间生成具有用于使用的可变时钟周期的可变时钟信号以防御加密攻击的方法和装置。
背景技术
许多计算系统使用密码术来实现实体之间的安全通信。现代加密系统通常依赖于密钥,一些密钥必须对外界保密以便维持安全性。已提出并实现了众多方法来暗中提取这些密钥。
加密攻击的两种类别是边信道攻击和故障注入攻击。在边信道攻击中,攻击者监测执行加密算法的装置。例如,在执行期间,装置的功耗、电磁辐射和/或声发射可向攻击者提供关于所处理的数据和所执行的指令的信息,因为当对特定数据进行操作时,指令可能提供特征。如果攻击者能够访问装置并反复地变化输入,则可搜集到关于私有密钥的信息。在知道特定加密算法及其对故障注入攻击的弱点的情况下,仅通过可行量的重复,攻击者就能够推断出加密密钥。
在故障注入攻击中,攻击者将故障注入执行并监测结果。故障注入包括变化电源供应、更改装置的时钟周期、更改温度、或者使用光、激光、x射线或离子来引起故障。例如,变化电源供应可引起导致指令跳过的毛刺。跳过条件跳转指令可能绕过重要的安全检查。变化时钟可能导致数据误读(例如,在存储器向总线提供适当的值之前从数据总线读取值)或指令缺失(例如,电路在处理器完成先前指令之前开始执行指令)。在另一示例中,由于RAM可能对写入有一个温度容限,并对读取有不同的温度容限,所以将温度改变为介于这两个温度容限之间的数将使得装置进入可向RAM写入数据,但无法从其读取数据的状态,或者反之(取决于哪一温度容限更高)。
如果加密攻击能够从装置提取秘密密钥,则会危及装置的安全性。因此,可取的是使攻击过程尽可能困难。
发明内容
为了提供对本公开的一些方面的基本理解,本发明内容以简化形式介绍了对概念的选择。本发明内容不是本公开的广泛概述,而且并不旨在识别本公开的关键或重要元素或者描绘本公开的范围。本发明内容仅仅呈现本公开的一些概念,作为下面所提供的具体实施方式的前言。
本公开大体上涉及用于保护数据的安全性的方法和系统。更具体地,本公开的各方面涉及利用时钟周期随机化来防御加密攻击。
通常,本说明书中所描述的主题的一个方面可被具体实现于一种在加密操作期间随机地变化装置时钟的设备中,该设备包括:输入时钟;以及时钟周期随机化器,该时钟周期随机化器生成随机地变化的可变时钟周期,以生成至少在加密操作期间以随机时钟速率驱动装置的输出可变时钟。
在至少一个实施例中,时钟周期随机化器包括:电路,其包括可变电容器;以及开关,其被配置为将可变电容器切换到电路中或切换出电路,所述开关由修正码控制,其中,所述电路被配置为基于所述开关的操作将时钟信号从低改变到高或从高改变到低。
在至少一个实施例中,该设备还包括生成修正码的修正码生成器,该修正码生成器包括生成随机数或伪随机数的随机数生成器。
在至少一个实施例中,修正码生成器包括一组寄存器,各个寄存器保存修正码。
在至少一个实施例中,修正码生成器包括线性反馈移位寄存器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于谷歌有限责任公司,未经谷歌有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780000669.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于音频处理的方法和系统
- 下一篇:设备的动态组成员身份