CN104583961B - 基于软件的侧信道攻击防止 - Google Patents
基于软件的侧信道攻击防止 Download PDFInfo
- Publication number
- CN104583961B CN104583961B CN201280075285.4A CN201280075285A CN104583961B CN 104583961 B CN104583961 B CN 104583961B CN 201280075285 A CN201280075285 A CN 201280075285A CN 104583961 B CN104583961 B CN 104583961B
- Authority
- CN
- China
- Prior art keywords
- key
- key performance
- event
- counteroffensive
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/556—Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/75—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
- G06F21/755—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请一般地公开了用于防止基于软件的侧信道攻击的技术。在一些示例中,计算装置可以接收具有用于执行密钥处理操作的一个或多个编程指令的密码程序,并且可以将用于执行反攻击操作的一个或多个编程指令添加到用于执行所述密钥处理操作的所述一个或多个编程指令。所述计算装置可以将具有所述反攻击操作的结果得到的密码程序传送至执行装置。诸如云计算系统的执行装置可以执行密码程序,从而导致反攻击操作的执行。密码程序的执行可以通过掩蔽发生的密钥性能事件的数量来防止侧信道攻击。
Description
技术领域
本申请一般地涉及用于防止基于软件的侧信道攻击的技术。
背景技术
密码是用于各计算装置和网络系统的一个安全组成部分。安全且有效的密码协议的成功实施已在普通大众中造成如下信心:诸如共享计算资源和个人信息应用的商业计算网络和应用是安全的。该信心已驱动了这两个行业的急剧增长。
尽管如此,没有安全系统是绝对可靠的。虽然传统密码系统在阻碍被设计用以例如获取密钥或未加密数据的直接攻击方面是有效的,但是对于诸如侧信道攻击的某些间接攻击来说这样的系统仍然是脆弱的。通常,侧信道攻击涉及基于可提供相关程序执行信息的可观察到的计算效果来得到密钥。侧信道攻击超出在加密过程期间使用的纯文本和加密文本,并且相反着重于涉及时刻(例如,执行操作所需的时间)、功率消耗、声音和电磁特性的信息。
通常,侧信道攻击在诸如智能卡的身边的计算装置上被执行。这些攻击着重于测量诸如计算装置的功率消耗和/或电磁特性的参数。相比之下,基于云的侧信道攻击的实现是通过与云计算装置上同时地运行攻击应用和被攻击程序。这些攻击程序依赖于从执行中的CPU中可用的性能计数器收集性能事件信息。从该信息,侧信道攻击可以一次一个元素地确定整个密钥。现有的计算机和网络安全体系结构设计还不能够有效地检测和响应侧信道攻击,尤其是不将高昂的成本和低效率引入计算机和网络安全体系结构被设计来保护的系统。
发明内容
在一个实施例中,一种用于防止基于软件的侧信道攻击的方法可包括:通过计算装置接收具有用于执行密钥处理操作的一个或多个编程指令的密码程序,通过所述计算装置将用于执行反攻击操作的一个或多个编程指令添加到用于执行所述密钥处理操作的所述一个或多个编程指令,以及通过所述计算装置将具有所述反攻击操作的密码程序传送至执行装置。
在另一实施例中,一种用于防止基于软件的侧信道攻击的方法可包括:通过云计算装置接收具有用于执行包括反攻击操作的密钥处理操作的一个或多个编程指令的密码程序,以及通过所述云计算装置执行所述密码程序,从而导致所述反攻击操作的执行。执行所述密码程序可导致多个密钥性能事件发生。所述反攻击操作将导致性能计数器测量的性能事件统计值以随机的方式明显改变。
在又一实施例中,一种用于防止基于软件的侧信道攻击的方法可包括:通过包括多个性能计数器的计算装置接收加密的信息,以及执行用以解密所述加密的信息的算法。所述算法可包括反攻击操作。执行所述算法可导致多个密钥性能事件发生。
在一实施例中,一种用于防止基于软件的侧信道攻击的系统可包括计算装置和被配置为与该计算装置进行可操作的通信的非暂态存储介质。所述存储介质可包含一个或多个编程指令,所述一个或多个编程指令在被执行时使得所述计算装置:接收具有用于执行密钥处理操作的一个或多个编程指令的密码程序,将用于执行反攻击操作的一个或多个编程指令添加到用于执行所述密钥处理操作的所述一个或多个编程指令,以及将具有所述反攻击操作的密码程序传送至执行装置。
在另一实施例中,一种用于防止基于软件的侧信道攻击的系统可包括计算装置和被配置为与该计算装置进行可操作的通信的非暂态存储介质。所述存储介质可包含一个或多个编程指令,所述一个或多个编程指令在被执行时使得所述计算装置:接收具有用于执行包括反攻击操作的密钥处理操作的一个或多个编程指令的密码程序,以及执行所述密码程序,从而导致所述反攻击操作的执行。执行所述密码程序可导致多个密钥性能事件发生。
在又一实施例中,一种用于防止基于软件的侧信道攻击的系统可包括计算装置和被配置为与该计算装置进行可操作的通信的非暂态存储介质,所述计算装置包括多个性能计数器。所述存储介质可包含一个或多个编程指令,所述一个或多个编程指令在被执行时使得所述计算装置:接收加密的信息,以及执行用以解密所述加密的信息的算法。所述算法可包括反攻击操作。执行所述算法可导致多个密钥性能事件发生。
前述概要仅仅是说明性的,而并不意图以任何方式是限制性的。除了说明性的方面,上述实施例和特征、另外的方面、实施例和特征将通过参考附图和下面的详细描述而变得显而易见。
附图说明
图1示出根据本文中所述的至少某些实施例布置的示例云计算系统的框图。
图2示出根据本文中所述的至少某些实施例布置的用于防止基于软件的侧信道攻击的说明性方法的流程图。
图3示出根据本文中所述的至少某些实施例布置的用于防止基于软件的侧信道攻击的说明性方法的流程图。
图4示出根据本文中所述的至少某些实施例布置的用于防止基于软件的侧信道攻击的说明性方法的流程图。
图5示出根据本文中所述的至少某些实施例布置的、可被用来包含或实施用于防止基于软件的侧信道攻击的程序指令的说明性内部硬件的框图。
具体实施方式
在以下详细描述中,对附图进行参考,所述附图形成详细描述的一部分。除非上下文另外指示,否则在附图中,相似的符号通常标识相似的部件。在详细描述、附图和权利要求中描述的说明性实施例并不意味着是限制性的。在不脱离本文所提供的主题的精神或范围的情况下,可以利用其它实施例,以及可以进行其它改变。将易于理解的是,如在本文中一般地描述的和在图中示出的那样,本公开的各方面可以以广泛多样的不同配置被布置、替代、组合、分割和设计,所有这些在本文中都被明确地构想。
本公开不限于所描述的特定的系统、装置和方法,因为这些可变化。描述中所使用的术语仅仅是为了描述特别的版本或实施例,而并不旨在限制范围。
如在本文中所使用的,单数形式“一”、“一个”和“该”包括复数指代物,除非上下文另外明确地指示。除非被定义,否则本文中所使用的所有技术和科学术语具有与本领域普通技术人员通常理解的相同的含义。在本公开中没有什么应当被解释为承认由于现有技术在本公开中所描述的实施例没有资格预期这样的公开。如在本文中使用的,术语“包括”意味着“包括但不限于”。
以下术语为了本申请的目的将具有在下边阐明的相应含义。
“电子装置”指的是包括处理装置和有形的非暂态计算机可读存储器的装置。存储器可包含编程指令,所述编程指令在被处理装置执行时使所述装置根据所述编程指令执行一个或多个操作。说明性的电子装置包括但不限于:个人计算机、游戏系统、电视、家庭自动化系统和移动装置。
“移动装置”指的是通常在尺寸和属性上是便携式的电子装置。因此,用户可以相对容易地搬运移动装置。说明性的移动装置包括:传呼机、手机、功能电话、智能电话,私人数字助理(PDA)、照相机、平板计算机、电话-平板计算机混合装置、笔记本计算机、上网本、超极本、全球定位卫星(GPS)导航装置、嵌入式汽车部件、媒体播放器,手表等。
“计算装置”是诸如例如计算机、服务器或其部件的电子装置。计算装置可以由诸如金融机构、公司和/或政府等的实体来维持。计算装置通常可包含用于容纳编程指令、有关一个或多个应用的数据或信息和/或有关一个或多个用户偏爱的数据或信息等的存储器或其他非暂态、有形的存储装置。数据可以被包含在数据库中,所述数据库被存储在存储器或其他存储装置中。数据可由现在已知的或后来被开发用于确保数据安全的任何方法来确保安全。计算装置还可与一个或多个电子装置进行可操作通信。计算装置和每个电子装置之间的通信可以进一步由现在已知的或后来被开发用于确保传输或其他形式的通信的安全的任何方法来确保安全。
“密码程序”包括被用来执行加密操作和解密操作中的一个或多个的硬件和/或软件。说明性的密码程序包括用来执行一个或多个对称密钥密码算法的硬件和/或软件,所述一个或多个对称密码算法包括诸如数据加密标准(DES)和高级加密标准(AES)的块密码算法、诸如RC4的流密码算法和诸如MD4、MD5、SHA-1、SHA-2和SHA-3的密码哈希函数,等等。此外,说明性的密码程序包括用来执行诸如Diffie-Hellman、RSA、Cramer-Shoup、EIGamal、椭圆形的曲线技术等的一个或多个公共密钥密码算法的硬件和/或软件。非密码操作可作为密码程序的一部分被执行。因此,在密码程序中被执行的加密操作和/或解密操作可无限制地组成密码程序的全部或一部分。
本公开致力于用于抵制基于软件的侧信道攻击的方法和系统。本文中所述的方法和系统的各种实施例在抵制云计算环境中的侧信道攻击方面可能是尤其有效的,其中实施侧信道攻击的软件可驻留在与操作程序相同的计算装置上。这种环境中的常见侧信道攻击从性能计数器收集性能信息,其中诸如高速缓存未命中或采纳分支(taken branch)统计值的事件可提供有关程序的行为的信息。举例来说,可将包括一个或多个编程指令的反攻击操作增加到包括密钥处理操作的操作程序,诸如密码程序。反攻击操作可被配置为在被执行时导致随机数量的密钥性能事件。所导致的密钥性能事件的数量可能取决于在操作程序中发生的密钥性能事件的数量。例如,如果操作程序包括十(10)个存储器参量,则反攻击操作可包括(例如且非限制性地)大约30至大约100个存储器参量,其导致随机数量的高速缓存未命中。相似地,反攻击操作在被执行时可产生可以导致条件分支和软件错误的操作的数量的等同增长。
相应地,每当侧信道攻击在运行该程序的装置上被执行,就可以发生不同数量的密钥性能事件,其中变化比操作程序中单独存在的要大。因此,尝试执行基于软件的侧信道攻击会导致对于攻击者来说无意义的信息,因此阻碍侧信道攻击。
图1示出根据本文中所述的至少某些实施例布置的示例云计算系统的框图。如图1所示,云计算系统可以与诸如105a-N的一个或多个远程计算装置进行通信。在一实施例中,每个远程计算装置105a-N可以位于云计算系统的远程并且可以位于其他远程计算装置中的一个或多个的远程。在替换实施例中,诸如105a的至少一个远程计算装置位于云计算系统的远程。
在一实施例中,远程计算装置105a-N可以经由计算机网络110可通信地被耦合到云计算系统。计算机网络可包括局域网、广域网、内部网、互联网等中的一个或多个。
云计算系统可包括多个云计算装置115a-N。在一实施例中,每个云计算装置115a-N可位于至少一个其它云计算装置的附近。在一实施例中,所有云计算装置115a-N可位于每个其它云计算装置的附近。在一实施例中,诸如115a的至少一个云计算装置可位于诸如115b的至少一个其它云计算装置的远程。
云计算系统对于需要用于执行算法或任何其它基于计算机的任务的计算能力的远程计算装置来说可以是公开可访问的。在一实施例中,云计算装置115a-N中的一个或多个可收费地执行从诸如105的远程计算装置收到的算法。
图2示出根据本文中所述的至少某些实施例布置的用于防止基于软件的侧信道攻击的说明性方法的流程图。示例方法可包括如通过块205,210和/或215中的一个或多个所示的一个或多个操作、功能或动作。块205至215中所述的操作也可被存储作为诸如存储元件525(图5)的计算机可读介质中的计算机可执行指令。虽然被示出为离散的块,但取决于期望的实施方式各种块可被分割成附加的块,被组合成更少的块或被删除。
以块205“接收具有密钥处理操作的密码程序”处开始,诸如例如计算装置105a-N中的任一个的计算装置可接收具有用于执行密钥处理操作的一个或多个编程指令的密码程序。在一实施例中,可从单独的计算装置从程序员或软件开发人员接收密码程序。在另一实施例中,密码程序可在计算装置105a-N本身上被开发。密钥处理操作可包括确定密钥、查找密钥或以其他方式执行关于密钥的某操作的一个或多个指令,其中密钥是用于加密、解密等的密码密钥。计算装置可与生成、修改或使用密码程序的软件开发人员或实体相关联。块205之后可跟随有块210。
在块210“将反攻击操作指令添加至密钥处理操作”处,用于执行反攻击操作的一个或多个编程指令可被添加至用于执行密钥处理操作的所述一个或多个编程指令。计算装置的操作员和/或计算装置可添加实施反攻击操作的所述一个或多个编程指令。被添加至密码程序的所述一个或多个编程指令可以对密码程序所需的任何计算没有影响。更确切地说,所述指令可以是仅执行存储器访问、数学计算、分支操作或其结果不被密码程序使用的其它操作的非操作(即,NOOP(空)指令)。因为作为反攻击操作的一部分的特定指令的结果不被密码程序用于任何目的,所述指令可自动地由计算机或由计算装置的软件开发人员或操作员手动地添加至密码程序。
反攻击操作可被用来通过在被执行时导致多个密钥性能事件在执行装置上发生而对作为密码程序的性能的结果发生的任何密钥性能事件进行掩蔽。例如,在云计算系统中,在计算装置上执行的侧信道攻击可通过监视记录如下这样的事件的计数器识别云计算装置上的下列密钥性能行为中的一个或多个:高速缓存行为(例如,高速缓存未命中和/或命中)、分支统计值(例如,采纳条件分支和/或猜想条件分支)、软件错误(例如,除零的操作)、存储器访问和/或等等。反攻击操作可将其他编程指令添加至密码程序以对这样的计数器进行掩蔽。例如,反攻击操作可添加导致一个或多个密钥性能事件的发生的一个或多个程序指令。
在一实施例中,反攻击操作可导致随机数量的密钥性能事件,该随机数量是作为仅执行用于执行密钥处理操作的所述一个或多个编程指令的结果会发生的密钥性能事件的数量的大约3倍至大约10倍。在一实施例中,反攻击操作可导致大约2倍、大约2倍、大约3倍、大约4倍、大约6倍、大约8倍、或大约10倍的作为仅执行用于执行密钥处理操作的所述一个或多个编程指令的结果会发生的密钥性能事件的数量,或者是位于这些值的任意两个之间的范围。
在一实施例中,反攻击操作在被执行时可被配置为导致发生随机数量的密钥性能事件。在一实施例中,反攻击操作在被执行时可被配置为导致发生伪随机数量的密钥性能事件。
块210之后可跟随有块215。
在块215“将具有反攻击操作指令的密码程序传送至执行装置”处,计算装置可将包括反攻击操作的被修改的密码程序传送至执行装置以被执行。例如,计算装置可将密码程序传送至云计算装置。在一实施例中,被修改的密码程序可以以可执行的形式被传送至执行装置。在另一实施例中,被修改的密码程序可以以源代码的格式被传送至。在这样的实施例中,执行装置可接收被修改的密码程序并在执行之前编译该程序。
图3示出根据本文中所述的至少某些实施例布置的用于防止基于软件的侧信道攻击的说明性方法的流程图。示例方法可包括如通过块305、310、315和/或320中的一个或多个所示的一个或多个操作、功能或动作。块305至320中所述的操作也可被存储作为诸如存储元件525(图5)的计算机可读介质中的计算机可执行指令。虽然被示出为离散的块,但取决于期望的实施方式各种块可被分割成附加的块,被组合成更少的块或被删除。
在块305“接收具有密钥处理操作和反攻击操作的密码程序”处开始,具有用于执行密钥处理操作的一个或多个编程指令的密码程序可被诸如例如云计算装置115a-N中的任何一个的云计算装置接收。密钥处理操作可包括反攻击操作。反攻击操作可被用来通过在被执行时导致多个密钥性能事件在云计算装置上发生而对作为密码程序的性能的结果发生的任何密钥性能事件进行掩蔽。在一实施例中,密码程序可从诸如例如计算装置105a-N中的任何一个的计算装置被接收。在一实施例中,从其接收密码程序的计算装置可被诸如软件开发人员等的第三方操纵。在一实施例中,密码程序可以以可执行的格式被接收。在另一实施例中,密码程序可以以源代码的格式被接收并被云计算装置编译。块305之后可跟随有块310。
在块310“执行密码程序”处,云计算装置可执行密码程序。作为执行密码程序的结果,反攻击操作也可被执行。密码程序的执行可导致发生一个或多个密钥性能事件。
通常,在云计算装置上执行的侧信道攻击可尝试辨别由于一个或多个密钥性能行为而发生的多个密钥性能事件,诸如参考图2所示的那些。反攻击操作可导致发生额外的密钥性能事件,以便对在反攻击操作没被包括的情况下作为密码程序的结果而发生的密钥性能事件的数量进行掩蔽。密钥性能事件可通过执行不影响密码程序的结果的指令(即,NOOP指令)而被导致,如上面参考图2所述的。例如,反攻击操作可添加导致一个或多个密钥性能事件的发生的一个或多个程序指令。
在一实施例中,反攻击操作可导致随机数量的密钥性能事件,该随机数量是作为仅执行用于执行密钥处理操作的所述一个或多个编程指令的结果会发生的密钥性能事件的数量的大约3倍至大约10倍。在一实施例中,反攻击操作可导致大约2倍、大约2倍、大约3倍、大约4倍、大约6倍、大约8倍、或大约10倍的作为仅执行用于执行密钥处理操作的所述一个或多个编程指令的结果会发生的密钥性能事件的数量,或者是位于这些值的任意两个之间的范围。
在一实施例中,在密码程序的执行期间发生的大约75%到大约91%的密钥性能事件可能是由于有关反攻击操作的程序指令的执行。在一实施例中,反攻击操作的执行可导致作为执行密码程序的结果而发生的密钥性能事件的数量的大约60%、大约65%、大约67%、大约70%、大约75%、大约80%、大约83%、大约85%、大约86%、大约88%、大约90%或大约91%,或介于这些值的任何两个之间的范围。
在一实施例中,反攻击操作在被执行时可被配置为导致发生随机数量的密钥性能事件。在一实施例中,反攻击操作在被执行时可被配置为导致发生伪随机数量的密钥性能事件。
块310之后可跟随有块315,块315之后可跟随有块320。
在块315“识别密码程序的执行期间的密钥性能事件”处,云计算装置可以识别密码程序的执行期间的一个或多个密钥性能事件。在块320“响应于密钥性能事件的识别而递增性能计数器”处,所述一个或多个密钥性能事件的识别可导致至少一个性能计数器作为响应被递增。例如,性能计数器可响应于检测到与其相关联的硬件事件而递增。在一实施例中,所述至少一个性能计数器可包括高速缓存未命中计数器、采纳分支计数器和错误计数器中的一个或多个。
图4示出根据本文中所述的至少某些实施例布置的用于防止基于软件的侧信道攻击的说明性方法的流程图。示例方法可包括如通过块405、410、415和/或420中的一个或多个所示的一个或多个操作、功能或动作。块405至420中所述的操作也可被存储作为诸如存储元件525(图5)的计算机可读介质中的计算机可执行指令。虽然被示出为离散的块,但取决于期望的实施方式各种块可被分割成附加的块,被组合成更少的块或被删除。
在块405“从源接收加密的信息”处开始,计算装置可以从源接收加密的信息。在一实施例中,计算装置可包括多个性能计数器。在一实施例中,性能计数器可包括下列中的一个或多个:高速缓存未命中计数器、采纳分支计数器和错误计数器。
在块410“执行解密算法”处,可以执行算法以解密加密的信息。所述算法可包括反攻击操作。执行该算法可导致发生多个密钥性能事件。在一实施例中,密钥性能事件可包括高速缓存未命中、采纳分支、错误和/或等等。在一实施例中,根据本文中所公开的教导,作为添加指令的结果可发生随机数量的密钥性能事件。在一实施例中,根据本文中所公开的教导,作为添加指令的结果可发生伪随机数量的密钥性能事件。
在一实施例中,在算法的执行期间发生的大约75%到大约91%的密钥性能事件可能是由于反攻击操作的执行。在一实施例中,反攻击操作的执行可导致作为执行算法的结果而发生的密钥性能事件的数量的大约60%、大约65%、大约67%、大约70%、大约75%、大约80%、大约83%、大约85%、大约86%、大约88%、大约90%或大约91%,或介于这些值的任何两个之间的范围。
在一实施例中,该算法可作为密码程序或密钥处理操作的一部分被执行。在一实施例中,该算法可通过诸如例如云计算装置105a-N中的任何一个的计算装置从第三方被接收。在一实施例中,反攻击操作可包括被配置为其执行不导致算法结果的变化、更确切地说仅导致密钥性能事件的数量的增大的操作的一个或多个指令。
块410之后可跟随有块415,块415后可跟随有块420。
在块415“识别密码程序的执行期间的密钥性能事件”处,计算装置可以识别密码程序的执行期间的一个或多个密钥性能事件。在块420“响应于每个密钥性能事件的识别而递增性能计数器”处,性能计数器中的至少一个可响应于识别每个密钥性能事件而被递增。例如,性能计数器可响应于检测到与其相关联的硬件事件而递增。
图5示出根据本文中所述的至少某些实施例布置的、可被用来包含或实施诸如上面参考图2-4所讨论的过程步骤的程序指令的示例性内部硬件的框图。总线500可用作互连所述硬件的其他所示出的部件的主要信息高速公路。CPU 505是系统的中央处理单元,其实行执行程序所需的计算和逻辑操作。CPU 505单独地或结合图5中所公开的其它元件中的一个或多个是示例性处理装置、计算装置或处理器(如这样的词语在本公开中所使用的)。CPU包含对性能事件自动进行计数的性能计数器。只读存储器(ROM)510和随机访问存储器(RAM)515构成示例性存储装置(即,处理器可读的非暂态存储介质)。
控制器520与到系统总线500的一个或多个可选的存储装置525对接。这些存储装置525可包括,例如,外部或者内部DVD驱动器、CD ROM驱动器、硬盘驱动器、闪存、USB驱动器,等等。如前所示,这些各个驱动器和控制器是可选装置。
用于提供接口和执行与一个或多个数据集合相关的任何询问或分析的程序指令、软件或交互模块可被存储在ROM 510和/或RAM 515中。可选地,程序指令可被存储在有形的计算机可读介质上,所述有形的计算机可读介质诸如压缩盘、数字盘、闪存、存储卡、USB驱动器、光盘存储介质,诸如Blu-rayTM盘,和/或其他非暂态存储介质。
可选显示接口530可以允许来自总线500的信息以音频、可视、图形或者字母数字格式被显示在显示器535上。与诸如打印装置的外部装置的通信可使用各种通信端口540而发生。示例性通信端口540可附着到通信网络,诸如互联网或内部网。
硬件也可包括允许接受来自输入装置的数据的接口545,所述输入装置诸如键盘550或者其它输入装置555,诸如鼠标、操纵杆、触摸屏、远程控制装置、定点装置、视频输入装置和/或音频输入装置。
各种实施例可在下边被找到的特定例子中被实现。
示例
示例1:开发包括用以掩蔽高速缓存未命中的反攻击操作的软件程序
软件开发人员将根据标准软件开放技术开发包括密钥处理操作的密码程序。在完成用于密钥处理操作的编码后,将由软件开发人员确定密钥处理操作在被执行时会执行的存储器访问的大概次数。高速缓存命中或高速缓存未命中可以是对程序中的某个状态的指示。攻击者软件可以通过从性能计数器收集该数据来了解这些统计值。用以执行5倍的存储器访问次数的额外的软件将被添加至描述密钥处理操作的软件。这些额外的存储器访问将不会向密钥处理操作提供有意义的信息,而是会被用来掩蔽被密钥处理操作单独执行的存储器访问的次数。这继而将防止侧信道攻击对存储器访问和/或由这样的存储器访问而导致的高速缓存未命中的次数做出正确的确定。
存储器访问可被设计为导致高速缓存命中或高速缓存未命中。例如,高速缓存命中可以由对最近被寻址的位置的存储器访问导致,高速缓存未命中可以由对新地址位置的存储器访问导致。通过添加相对大随机数量的高速缓存命中或高速缓存未命中,所收集的统计值将使得攻击者收集相关信息的能力失效。随机数量的事件可通过使软件循环具有随机执行次数而被实现。
示例2:开发包括用以掩蔽采纳/未采纳分支的反攻击操作的软件程序
攻击者程序可检查采纳分支或未采纳分支的数量以便接收关于密码程序的信息。软件开发人员将根据标准软件开放技术开发包括密钥处理操作的密码程序。在完成用于密钥处理操作的编码后,将由软件开发人员确定密钥处理操作在被执行时会执行的分支操作的大概数量。用以执行8倍的分支操作数量的额外的软件将被添加至描述密钥处理操作的软件。这些额外的分支操作将在返回执行密钥处理操作的软件之前导致伪造操作的执行。
通常,额外的条件分支指令在数量上可以是相对大的。随机数量的采纳和未采纳分支将被添加。采纳分支可以由执行真的条件下的分支被导致,并且未采纳分支可以由执行假的条件下的分支导致。因此,所述额外的分支操作将被用来掩蔽被密钥处理操作单独执行的分支操作的数量。这继而将防止侧信道攻击对分支操作的数量和/或由这样的分支操作导致的采纳或未采纳分支的数量做出正确的确定。
示例3:开发包括用以掩蔽软件错误的反攻击操作的软件程序
软件开发人员将根据标准软件开放技术开发包括密钥处理操作的密码程序。在完成用于密钥处理操作的编码后,将由软件开发人员确定密钥处理操作在被执行时会执行的运算操作的大概数量。用以执行10倍的运算操作数量的额外的软件将被添加至描述密钥处理操作的软件。这些额外的算法操作将不会向密钥处理操作提供有意义的信息,而是会被用来掩蔽被密钥处理操作单独执行的算法操作的数量。这继而将防止侧信道攻击对算法操作和/或由这样的算法访问而导致的软件错误的数量做出正确的确定。
就本申请中所述的特定实施例(意图使其作为各方面的例证)而言本公开不是受限的。如对本领域技术人员来说将显而易见的,在不脱离其精神和范围的情况下可以做出许多修改和改变。通过前述描述,本公开范围内的功能等价的方法和设备(除本文中所列举的那些之外)对于本领域技术人员来说将是显而易见的。意图使这样的修改和改变落在所附权利要求的范围内。本公开仅由所附权利要求的各项以及这样的权利要求所赋予的等同物的全部范围一起来限定。应当理解,本公开并不限于特定的方法、试剂、化合物成分或生物系统(当然其可以变化)。还应当理解,本文中所使用的术语仅仅是为了描述特定实施例的目的,且并不意图是限制性的。
关于基本上任何复数和/或单数术语在本文中的使用,本领域技术人员可以按照其适用于的情景和/或应用而从复数转化到单数和/或从单数转化到复数。为了清楚起见,在本文中可能明确地阐述了各种单数/复数变换。
本领域技术人员将理解的是,总之,本文中且尤其是所附权利要求(例如所附权利要求的主体)中所使用的术语通常意图是“开放的”术语(例如术语“包括”应当被解释为“包括但不限于”,术语“具有”应当被解释为“至少具有”,术语“包含”应当被解释为“包含但不限于”,等等)。虽然就“包括”各种部件或步骤(被解释为意味着“包括但不限于”)而言描述了各种组成成分、方法和装置,但是所述组成成分、方法和装置也可“基本由”或“由”各种部件和步骤“构成”,并且这样的词语应当被解释为定义成员基本上封闭的群组。本领域技术人员将进一步理解的是,如果所引入的权利要求叙述的特定数字是有意的,这样的意图将被明确叙述在权利要求中,并且在没有这样的叙述的情况下不存在这样的意图。例如,作为理解的辅助,下面所附的权利要求可以包含引入性短语“至少一个”和“一个或多个”的使用以引入权利要求叙述。然而,这样的短语的使用不应被解释为暗示着通过不定冠词“一”或“一个”引入权利要求叙述将包含这样引入的权利要求叙述的任何特定权利要求限定到包含只有一个这样的叙述的实施例,即使当该同一权利要求包括引入性短语“一个或多个”或“至少一个”以及诸如“一”或“一个”的不定冠词时也是这样(例如,“一”和/或“一个”应当被解释为意味着“至少一个”或“一个或多个”);对于用来引入权利要求叙述的定冠词的使用来说情况是同样的。此外,即使明确记载了所引入的权利要求叙述的特定数字,本领域技术人员也将认识到,这样的记载应当被解释为意味着至少所记载的数字(例如,在没有其它修饰的情况下,“两个叙述”的直率叙述意味着至少两个叙述或者两个或更多叙述)。此外,在其中使用类似于“A、B和C等中的至少一个”的惯例的那些实例中,通常这样的构造意图是本领域技术人员将理解该惯例的意义(例如,“具有A、B和C等中的至少一个的系统”将包括但不限于单独具有A、单独具有B、单独具有C、具有A和B一起、具有A和C一起、具有B和C一起以及/或者具有A、B和C一起等的系统)。在其中使用类似于“A、B或C等中的至少一个”的惯例的那些实例中,通常这样的构造意图是本领域技术人员将理解该惯例的意义(例如,“具有A、B或C等中的至少一个的系统”将包括但不限于单独具有A、单独具有B、单独具有C、具有A和B一起、具有A和C一起、具有B和C一起以及/或者具有A、B和C一起等的系统)。本领域技术人员将进一步理解的是,实际上任何转折性词语和/或提供两个或更多替换术语的短语无论是在说明书、权利要求中还是在附图中都应当被理解为构想包括这些术语中的一个、这些术语中的任一个或这些术语两个的可能性。例如,短语“A或B”将被理解为包括“A”或“B”或“A和B”的可能性。
此外,在就马库什群组描述公开的特征或方面的情况下,本领域技术人员将认识到,由此也就马库什群组的任何单个成员或成员的子群组描述了公开。
如本领域技术人员将理解的,处于任何和所有目的,诸如在提供书面描述方面,本文中所公开的所有范围也涵盖任何和所有可能的子范围以及其子范围的组合。任何所列出的范围可被容易地理解为足以描述该范围并允许该同一范围被分解为至少相等的两半、三份、四份、五份、十份,等等。作为非限制性示例,本文中所讨论的每个范围可以容易地被分解成欣然地于此被分散为下三分之一、中三分之一和上三分之一,等等。如也将被本领域技术人员理解的那样,诸如“高达”“至少”等的所有语言包括所述的数字并且指的是随后可以如上面所讨论的那样被分解成子范围的范围。最后,如本领域技术人员将理解的,范围包括每个单个成员。因此,例如,具有1-3个单元的群组指代具有1个、2个或3个单元的群组。相似地,具有1-5个单元的群组指代具有1个、2个、3个、4个或5个单元的群组,以此类推。
各种上面公开的和其它的特征和功能或它们的替代可被组合到很多其它不同的系统或应用中。各种当前无法预料或者未预期的替代、更改、变化或对其的改进随后可由本领域技术人员做出,意图使它们中的每个被所公开的实施例包括。
Claims (34)
1.一种用于防止基于软件的侧信道攻击的方法,所述方法包括:
通过第一装置接收来自第二装置的密码程序,所述第一装置包括处理器,所述第二装置经由第一网络装置与所述第一装置进行通信,所述密码程序包括用于执行密钥处理操作的编程指令;
通过所述第一装置将用于执行反攻击操作的不同的编程指令添加到用于执行所述密钥处理操作的所述编程指令,其中所述反攻击操作是与所述密钥处理操作分开执行的一组存储器访问操作,且其中所述一组存储器访问操作促进修改的密码程序的生成,所述修改的密码程序包括与所述密钥处理操作相比的不同的存储器访问数量;以及
通过所述第一装置将具有所述反攻击操作的所述修改的密码程序传送至服务器装置,所述服务器装置与所述第二装置不同且经由所述第一网络装置或者第二网络装置与所述第一装置进行通信。
2.根据权利要求1所述的方法,其中用于执行所述反攻击操作的所述不同的编程指令被配置为响应于在被执行而导致密钥性能事件在所述服务器装置上发生。
3.根据权利要求2所述的方法,其中所述密钥性能事件包括高速缓存未命中。
4.根据权利要求2所述的方法,其中所述密钥性能事件包括采纳分支。
5.根据权利要求2所述的方法,其中所述密钥性能事件包括错误事件。
6.根据权利要求2所述的方法,其中包括所述密钥性能事件的多个密钥性能事件在所述服务器装置上发生,且其中所述多个密钥性能事件包括随机数量的事件。
7.根据权利要求2所述的方法,其中包括所述密钥性能事件的多个密钥性能事件在所述服务器装置上发生,且其中所述多个密钥性能事件包括伪随机数量的事件。
8.根据权利要求2所述的方法,其中包括所述密钥性能事件的多个密钥性能事件在所述服务器上发生,且其中所述多个密钥性能事件包括事件的第一数量,所述第一数量大于作为执行用于执行所述密钥处理操作的所述编程指令的结果发生的事件的第二数量。
9.一种用于防止基于软件的侧信道攻击的方法,所述方法包括:
通过包括处理器的网络装置接收包括用于执行密钥处理操作的编程指令的密码程序,其中所述密钥处理操作包括反攻击操作,其中所述接收包括接收来自经由另一网络装置与所述网络装置进行通信的第一装置的所述密码程序,所述密码程序的至少部分通过不同于所述第一装置的另一装置来生成;以及
通过所述网络装置执行所述密码程序,从而导致所述反攻击操作的执行以及发生密钥性能事件,所述反攻击操作是与所述密码程序分开执行的存储器访问操作,且所述密钥处理操作包括与所述密钥处理操作的之前版本相比的不同的存储器操作数量。
10.根据权利要求9所述的方法,其中所述密钥性能事件包括高速缓存未命中。
11.根据权利要求9所述的方法,其中所述密钥性能事件包括分支预测器事件。
12.根据权利要求9所述的方法,其中所述密钥性能事件包括错误事件。
13.根据权利要求9所述的方法,其中所述密钥性能事件包括随机数量的事件。
14.根据权利要求9所述的方法,其中所述密钥性能事件包括伪随机数量的事件。
15.根据权利要求9所述的方法,其中至少所述密钥性能事件中的子集是由于执行所述反攻击操作。
16.根据权利要求9所述的方法,还包括:
通过所述网络装置识别在所述密码程序的执行期间的密钥性能事件;以及
响应于识别所述密钥性能事件而递增性能计数器。
17.根据权利要求16所述的方法,其中所述性能计数器包括高速缓存未命中计数器。
18.根据权利要求16所述的方法,其中所述性能计数器包括采纳分支计数器。
19.根据权利要求16所述的方法,其中所述性能计数器包括错误计数器。
20.一种用于防止基于软件的侧信道攻击的方法,所述方法包括:
经由网络装置接收来自第一装置的加密信息,其中所述网络装置包括性能计数器;
执行用以解密所述加密的信息的过程,其中所述过程包括反攻击操作,其中执行所述过程导致发生密钥性能事件;以及
将与所述过程相关联的密码程序传送至执行装置,所述执行装置与所述第一装置不同且与所述网络装置或另一网络装置通信,其中所述密码程序包括与所述密码程序的之前版本相比的不同的存储器操作数量。
21.根据权利要求20所述的方法,其中所述密钥性能事件包括高速缓存未命中。
22.根据权利要求20所述的方法,其中所述密钥性能事件包括采纳分支。
23.根据权利要求20所述的方法,其中所述密钥性能事件包括错误。
24.根据权利要求20所述的方法,其中所述密钥性能事件包括随机数量的事件。
25.根据权利要求20所述的方法,其中所述密钥性能事件包括伪随机数量的事件。
26.根据权利要求20所述的方法,其中所述密钥性能事件中的至少三个密钥性能事件是由于执行所述反攻击操作。
27.根据权利要求20所述的方法,还包括:
识别在所述密码程序的执行期间的所述密钥性能事件的一个或多个密钥性能事件;以及
响应于识别所述一个或多个密钥性能事件中的每一个而递增所述性能计数器。
28.根据权利要求20所述的方法,其中所述性能计数器包括高速缓存未命中计数器。
29.根据权利要求20所述的方法,其中所述性能计数器包括采纳分支计数器。
30.根据权利要求20所述的方法,其中所述性能计数器包括错误计数器。
31.一种用于防止基于软件的侧信道攻击的系统,所述系统包括:
存储器,其用于存储指令的;以及
处理器,耦合至所述存储器,所述处理器执行或促进指令的执行以便:
从第一装置至少接收包括与密钥处理操作相关联的编程指令的第一程序,
将与反攻击操作相关联的不同的编程指令添加到所述编程指令以生成修改的程序,以及
将具有所述反攻击操作的所述修改的程序传送至第二装置,所述第二装置与所述第一装置不同且经由第一网络装置与所述系统通信,其中所述反攻击操作是与所述密钥处理操作分开执行的存储器操作,且所述修改的程序包括与所述第一程序相比的不同的存储器访问数量。
32.根据权利要求31所述的系统,其中执行所述编程指令导致密钥性能事件在所述第二装置上发生。
33.根据权利要求32所述的系统,其中执行所述编程指令导致高速缓存未命中发生在所述第二装置上。
34.根据权利要求33所述的系统,其中所述第一程序经由所述第一网络装置或第二网络装置而被接收。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2012/050767 WO2014028005A1 (en) | 2012-08-14 | 2012-08-14 | Software-based side-channel attack prevention |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104583961A CN104583961A (zh) | 2015-04-29 |
CN104583961B true CN104583961B (zh) | 2017-12-01 |
Family
ID=50101365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280075285.4A Expired - Fee Related CN104583961B (zh) | 2012-08-14 | 2012-08-14 | 基于软件的侧信道攻击防止 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9773111B2 (zh) |
CN (1) | CN104583961B (zh) |
WO (1) | WO2014028005A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10185824B2 (en) * | 2014-05-23 | 2019-01-22 | The George Washington University | System and method for uncovering covert timing channels |
WO2015185071A1 (en) * | 2014-06-04 | 2015-12-10 | Giesecke & Devrient Gmbh | Method for enhanced security of computational device with multiple cores |
EP3220305B1 (en) * | 2016-02-22 | 2018-10-31 | Eshard | Method of testing the resistance of a circuit to a side channel analysis of second order or more |
US10521585B2 (en) * | 2017-10-02 | 2019-12-31 | Baidu Usa Llc | Method and apparatus for detecting side-channel attack |
CN108629181A (zh) * | 2018-05-11 | 2018-10-09 | 湖南大学 | 基于行为的Cache攻击检测方法 |
WO2020181002A1 (en) * | 2019-03-05 | 2020-09-10 | Cryptography Research, Inc. | Side-channel-attack-resistant memory access on embedded central processing units |
CN111159660B (zh) * | 2019-12-30 | 2022-07-15 | 龙芯中科技术股份有限公司 | 指令执行方法、处理器和电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1146815A (zh) * | 1994-04-25 | 1997-04-02 | 先进Risc机器有限公司 | 具有开发支持的微型计算机 |
US7554865B2 (en) * | 2006-09-21 | 2009-06-30 | Atmel Corporation | Randomizing current consumption in memory devices |
US7634083B2 (en) * | 1998-01-02 | 2009-12-15 | Cryptography Research, Inc. | Differential power analysis |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4706266A (en) * | 1986-11-05 | 1987-11-10 | Advanced Micro Devices, Inc. | Dual mode-increment/decrement N-bit counter register |
US7290288B2 (en) * | 1997-06-11 | 2007-10-30 | Prism Technologies, L.L.C. | Method and system for controlling access, by an authentication server, to protected computer resources provided via an internet protocol network |
US6327661B1 (en) | 1998-06-03 | 2001-12-04 | Cryptography Research, Inc. | Using unpredictable information to minimize leakage from smartcards and other cryptosystems |
EP1691501B1 (en) | 1998-01-02 | 2009-04-22 | Cryptography Research Inc. | Leak-resistant cryptography method an apparatus |
EP1050133B2 (en) | 1998-01-02 | 2009-05-27 | Cryptography Research Inc. | Leak-resistant cryptographic method and apparatus |
EP1926241A3 (en) | 1998-06-03 | 2009-03-11 | Cryptography Research Inc. | Using unpredictable information to minimize leakage from smartcards and other cryptosystems |
CA2333095C (en) | 1998-06-03 | 2005-05-10 | Cryptography Research, Inc. | Improved des and other cryptographic processes with leak minimization for smartcards and other cryptosystems |
EP1933496A3 (en) | 1998-06-03 | 2012-06-13 | Cryptography Research Inc. | Improved DES and other cryptographic processes with leak minimization for smartcards and other cryptosystems |
US6804782B1 (en) * | 1999-06-11 | 2004-10-12 | General Instrument Corporation | Countermeasure to power attack and timing attack on cryptographic operations |
DE10000503A1 (de) * | 2000-01-08 | 2001-07-12 | Philips Corp Intellectual Pty | Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb |
GB2365153A (en) * | 2000-01-28 | 2002-02-13 | Simon William Moore | Microprocessor resistant to power analysis with an alarm state |
DE10061997A1 (de) * | 2000-12-13 | 2002-07-18 | Infineon Technologies Ag | Kryptographieprozessor |
US7318145B1 (en) * | 2001-06-01 | 2008-01-08 | Mips Technologies, Inc. | Random slip generator |
US20030233545A1 (en) * | 2002-06-13 | 2003-12-18 | Avigdor Eldar | Diagnostic method for security records in networking application |
CN1256665C (zh) * | 2002-12-27 | 2006-05-17 | 联想(北京)有限公司 | 一种计算机与电视结合的实现方法 |
US20050108534A1 (en) * | 2003-11-19 | 2005-05-19 | Bajikar Sundeep M. | Providing services to an open platform implementing subscriber identity module (SIM) capabilities |
US7635083B2 (en) | 2005-09-20 | 2009-12-22 | American Express Travel Related Services Company, Inc. | System and method for utilizing a mobile device to obtain a balance on a financial transaction instrument |
FR2893796B1 (fr) * | 2005-11-21 | 2008-01-04 | Atmel Corp | Procede de protection par chiffrement |
US7706538B1 (en) * | 2006-04-14 | 2010-04-27 | Oracle America, Inc. | System, method and data storage device for encrypting data |
US20080010458A1 (en) * | 2006-07-07 | 2008-01-10 | Michael Holtzman | Control System Using Identity Objects |
US7565492B2 (en) * | 2006-08-31 | 2009-07-21 | Intel Corporation | Method and apparatus for preventing software side channel attacks |
US8781111B2 (en) * | 2007-07-05 | 2014-07-15 | Broadcom Corporation | System and methods for side-channel attack prevention |
IL187046A0 (en) | 2007-10-30 | 2008-02-09 | Sandisk Il Ltd | Memory randomization for protection against side channel attacks |
US8549208B2 (en) | 2008-12-08 | 2013-10-01 | Teleputers, Llc | Cache memory having enhanced performance and security features |
WO2011120421A1 (zh) * | 2010-03-31 | 2011-10-06 | 北京飞天诚信科技有限公司 | 加密引擎的实现方法 |
US8453237B2 (en) * | 2010-06-03 | 2013-05-28 | International Business Machines Corporation | Verification of a segmented program on a parallel processing computing system |
US8769355B2 (en) * | 2011-06-27 | 2014-07-01 | Freescale Semiconductor, Inc. | Using built-in self test for preventing side channel security attacks on multi-processor systems |
US9323499B2 (en) * | 2012-11-15 | 2016-04-26 | Elwha Llc | Random number generator functions in memory |
-
2012
- 2012-08-14 CN CN201280075285.4A patent/CN104583961B/zh not_active Expired - Fee Related
- 2012-08-14 US US13/825,272 patent/US9773111B2/en not_active Expired - Fee Related
- 2012-08-14 WO PCT/US2012/050767 patent/WO2014028005A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1146815A (zh) * | 1994-04-25 | 1997-04-02 | 先进Risc机器有限公司 | 具有开发支持的微型计算机 |
US7634083B2 (en) * | 1998-01-02 | 2009-12-15 | Cryptography Research, Inc. | Differential power analysis |
US7554865B2 (en) * | 2006-09-21 | 2009-06-30 | Atmel Corporation | Randomizing current consumption in memory devices |
Non-Patent Citations (1)
Title |
---|
"scalable security architecture for trusted software";Champagne,David;《Doctoral dissertation,Princeton University》;20101231;正文第3-70页、第100-180页 * |
Also Published As
Publication number | Publication date |
---|---|
US9773111B2 (en) | 2017-09-26 |
WO2014028005A1 (en) | 2014-02-20 |
CN104583961A (zh) | 2015-04-29 |
US20150134973A1 (en) | 2015-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104583961B (zh) | 基于软件的侧信道攻击防止 | |
CN110324146B (zh) | 对离线唯密文攻击的缓解 | |
CN107454958B (zh) | 使用多个嵌套页表隔离客户机代码和数据 | |
CN104704472B (zh) | 防止侧信道攻击的系统、方法和装置 | |
EP2795829B1 (en) | Cryptographic system and methodology for securing software cryptography | |
CN105229612B (zh) | 使用基于硬件的微体系结构数据的异常程序执行的检测 | |
Lapid et al. | Cache-attacks on the ARM TrustZone implementations of AES-256 and AES-256-GCM via GPU-based analysis | |
CN107924448A (zh) | 硬件实施的单向密码术 | |
CN107851153A (zh) | 使用异步自测异常的计算机安全系统及方法 | |
US20130142331A1 (en) | Binding of protected video content to video player with encryption key | |
CN106228076B (zh) | 一种基于sgx的图片验证码保护方法及系统 | |
US10291391B2 (en) | Method for enhanced security of computational device with multiple cores | |
CN103577761A (zh) | 一种在移动设备中处理隐私数据的方法和装置 | |
CN109558372A (zh) | 用于安全处理器的设备和方法 | |
Brasser et al. | Advances and throwbacks in hardware-assisted security: Special session | |
CN113569248A (zh) | 数据处理的方法以及计算设备 | |
Chakraborti et al. | Cloud computing security: foundations and research directions | |
Brasser et al. | Special session: Advances and throwbacks in hardware-assisted security | |
Genç | Analysis, detection, and prevention of cryptographic ransomware | |
US20170134379A1 (en) | Method for securing an application and data | |
VonderLinden et al. | The visualization of ransomware infection | |
Zaidenberg et al. | Timing and side channel attacks | |
Montasari et al. | Countermeasures for timing-based side-channel attacks against shared, modern computing hardware | |
Reddy et al. | Introduction to cyber forensics | |
Chen et al. | Research on the cloud storage security in big data era |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171201 Termination date: 20190814 |
|
CF01 | Termination of patent right due to non-payment of annual fee |