基于软件的侧信道攻击防止的制作方法

文档序号:8269363阅读:809来源:国知局
基于软件的侧信道攻击防止的制作方法
【专利说明】
【背景技术】
[0001]密码是用于各计算装置和网络系统的一个安全组成部分。安全且有效的密码协议的成功实施已在普通大众中造成如下信心:诸如共享计算资源和个人信息应用的商业计算网络和应用是安全的。该信心已驱动了这两个行业的急剧增长。
[0002]尽管如此,没有安全系统是绝对可靠的。虽然传统密码系统在阻碍被设计用以例如获取密钥或未加密数据的直接攻击方面是有效的,但是对于诸如侧信道攻击的某些间接攻击来说这样的系统仍然是脆弱的。通常,侧信道攻击涉及基于可提供相关程序执行信息的可观察到的计算效果来得到密钥。侧信道攻击超出在加密过程期间使用的纯文本和加密文本,并且相反着重于涉及时刻(例如,执行操作所需的时间)、功率消耗、声音和电磁特性的信息。
[0003]通常,侧信道攻击在诸如智能卡的身边的计算装置上被执行。这些攻击着重于测量诸如计算装置的功率消耗和/或电磁特性的参数。相比之下,基于云的侧信道攻击的实现是通过与云计算装置上同时地运行攻击应用和被攻击程序。这些攻击程序依赖于从执行中的CPU中可用的性能计数器收集性能事件信息。从该信息,侧信道攻击可以一次一个元素地确定整个密钥。现有的计算机和网络安全体系结构设计还不能够有效地检测和响应侧信道攻击,尤其是不将高昂的成本和低效率引入计算机和网络安全体系结构被设计来保护的系统。

【发明内容】

[0004]在一个实施例中,一种用于防止基于软件的侧信道攻击的方法可包括:通过计算装置接收具有用于执行密钥处理操作的一个或多个编程指令的密码程序,通过所述计算装置将用于执行反攻击操作的一个或多个编程指令添加到用于执行所述密钥处理操作的所述一个或多个编程指令,以及通过所述计算装置将具有所述反攻击操作的密码程序传送至执行装置。
[0005]在另一实施例中,一种用于防止基于软件的侧信道攻击的方法可包括:通过云计算装置接收具有用于执行包括反攻击操作的密钥处理操作的一个或多个编程指令的密码程序,以及通过所述云计算装置执行所述密码程序,从而导致所述反攻击操作的执行。执行所述密码程序可导致多个密钥性能事件发生。所述反攻击操作将导致性能计数器测量的性能事件统计值以随机的方式明显改变。
[0006]在又一实施例中,一种用于防止基于软件的侧信道攻击的方法可包括:通过包括多个性能计数器的计算装置接收加密的信息,以及执行用以解密所述加密的信息的算法。所述算法可包括反攻击操作。执行所述算法可导致多个密钥性能事件发生。
[0007]在一实施例中,一种用于防止基于软件的侧信道攻击的系统可包括计算装置和被配置为与该计算装置进行可操作的通信的非暂态存储介质。所述存储介质可包含一个或多个编程指令,所述一个或多个编程指令在被执行时使得所述计算装置:接收具有用于执行密钥处理操作的一个或多个编程指令的密码程序,将用于执行反攻击操作的一个或多个编程指令添加到用于执行所述密钥处理操作的所述一个或多个编程指令,以及将具有所述反攻击操作的密码程序传送至执行装置。
[0008]在另一实施例中,一种用于防止基于软件的侧信道攻击的系统可包括计算装置和被配置为与该计算装置进行可操作的通信的非暂态存储介质。所述存储介质可包含一个或多个编程指令,所述一个或多个编程指令在被执行时使得所述计算装置:接收具有用于执行包括反攻击操作的密钥处理操作的一个或多个编程指令的密码程序,以及执行所述密码程序,从而导致所述反攻击操作的执行。执行所述密码程序可导致多个密钥性能事件发生。
[0009]在又一实施例中,一种用于防止基于软件的侧信道攻击的系统可包括计算装置和被配置为与该计算装置进行可操作的通信的非暂态存储介质,所述计算装置包括多个性能计数器。所述存储介质可包含一个或多个编程指令,所述一个或多个编程指令在被执行时使得所述计算装置:接收加密的信息,以及执行用以解密所述加密的信息的算法。所述算法可包括反攻击操作。执行所述算法可导致多个密钥性能事件发生。
[0010]前述概要仅仅是说明性的,而并不意图以任何方式是限制性的。除了说明性的方面,上述实施例和特征、另外的方面、实施例和特征将通过参考附图和下面的详细描述而变得显而易见。
【附图说明】
[0011]图1示出根据本文中所述的至少某些实施例布置的示例云计算系统的框图。
[0012]图2示出根据本文中所述的至少某些实施例布置的用于防止基于软件的侧信道攻击的说明性方法的流程图。
[0013]图3示出根据本文中所述的至少某些实施例布置的用于防止基于软件的侧信道攻击的说明性方法的流程图。
[0014]图4示出根据本文中所述的至少某些实施例布置的用于防止基于软件的侧信道攻击的说明性方法的流程图。
[0015]图5示出根据本文中所述的至少某些实施例布置的、可被用来包含或实施用于防止基于软件的侧信道攻击的程序指令的说明性内部硬件的框图。
【具体实施方式】
[0016]在以下详细描述中,对附图进行参考,所述附图形成详细描述的一部分。除非上下文另外指示,否则在附图中,相似的符号通常标识相似的部件。在详细描述、附图和权利要求中描述的说明性实施例并不意味着是限制性的。在不脱离本文所提供的主题的精神或范围的情况下,可以利用其它实施例,以及可以进行其它改变。将易于理解的是,如在本文中一般地描述的和在图中示出的那样,本公开的各方面可以以广泛多样的不同配置被布置、替代、组合、分割和设计,所有这些在本文中都被明确地构想。
[0017]本公开不限于所描述的特定的系统、装置和方法,因为这些可变化。描述中所使用的术语仅仅是为了描述特别的版本或实施例,而并不旨在限制范围。
[0018]如在本文中所使用的,单数形式“一”、“一个”和“该”包括复数指代物,除非上下文另外明确地指示。除非被定义,否则本文中所使用的所有技术和科学术语具有与本领域普通技术人员通常理解的相同的含义。在本公开中没有什么应当被解释为承认由于现有技术在本公开中所描述的实施例没有资格预期这样的公开。如在本文中使用的,术语“包括”意味着“包括但不限于”。
[0019]以下术语为了本申请的目的将具有在下边阐明的相应含义。
[0020]“电子装置”指的是包括处理装置和有形的非暂态计算机可读存储器的装置。存储器可包含编程指令,所述编程指令在被处理装置执行时使所述装置根据所述编程指令执行一个或多个操作。说明性的电子装置包括但不限于:个人计算机、游戏系统、电视、家庭自动化系统和移动装置。
[0021]“移动装置”指的是通常在尺寸和属性上是便携式的电子装置。因此,用户可以相对容易地搬运移动装置。说明性的移动装置包括:传呼机、手机、功能电话、智能电话,私人数字助理(PDA)、照相机、平板计算机、电话-平板计算机混合装置、笔记本计算机、上网本、超极本、全球定位卫星(GPS)导航装置、嵌入式汽车部件、媒体播放器,手表等。
[0022]“计算装置”是诸如例如计算机、服务器或其部件的电子装置。计算装置可以由诸如金融机构、公司和/或政府等的实体来维持。计算装置通常可包含用于容纳编程指令、有关一个或多个应用的数据或信息和/或有关一个或多个用户偏爱的数据或信息等的存储器或其他非暂态、有形的存储装置。数据可以被包含在数据库中,所述数据库被存储在存储器或其他存储装置中。数据可由现在已知的或后来被开发用于确保数据安全的任何方法来确保安全。计算装置还可与一个或多个电子装置进行可操作通信。计算装置和每个电子装置之间的通信可以进一步由现在已知的或后来被开发用于确保传输或其他形式的通信的安全的任何方法来确保安全。
[0023]“密码程序”包括被用来执行加密操作和解密操作中的一个或多个的硬件和/或软件。说明性的密码程序包括用来执行一个或多个对称密钥密码算法的硬件和/或软件,所述一个或多个对称密码算法包括诸如数据加密标准(DES)和高级加密标准(AES)的块密码算法、诸如RC4的流密码算法和诸如MD4、MD5、SHA-1、SHA-2和SHA-3的密码哈希函数,等等。此外,说明性的密码程序包括用来执行诸如Diffie-Hellman、RSA、Cramer-Shoup>EIGamal、椭圆形的曲线技术等的一个或多个公共密钥密码算法的硬件和/或软
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1