CN109388976A - 用于屏蔽rsa运算的系统和方法 - Google Patents

用于屏蔽rsa运算的系统和方法 Download PDF

Info

Publication number
CN109388976A
CN109388976A CN201810889230.6A CN201810889230A CN109388976A CN 109388976 A CN109388976 A CN 109388976A CN 201810889230 A CN201810889230 A CN 201810889230A CN 109388976 A CN109388976 A CN 109388976A
Authority
CN
China
Prior art keywords
value
secret
random value
random
secure
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.)
Granted
Application number
CN201810889230.6A
Other languages
English (en)
Other versions
CN109388976B (zh
Inventor
Y·Y·R·卢瓦泽尔
F·莱尔米特
J·迪伯夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maxim Integrated Products Inc
Original Assignee
Maxim Integrated Products Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Maxim Integrated Products Inc filed Critical Maxim Integrated Products Inc
Publication of CN109388976A publication Critical patent/CN109388976A/zh
Application granted granted Critical
Publication of CN109388976B publication Critical patent/CN109388976B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

呈现了用于保护存储在存储器中的秘密数据以防止未授权访问和数据操纵的系统和方法。各个实施例可以应用于隐藏或屏蔽RSA指数,所述RSA指数用于公钥加密术并且存储在使用不可擦除工作存储器进行计算的加密硬件块中。在某些实施例中,屏蔽RSA指数是通过两步过程来完成的,所述两步过程将特别计算的随机值和秘密值与所述秘密指数组合。所述随机值存储在可擦除存储器中,使得如果发生攻击则所述可擦除存储器和所述不可擦除存储器二者都不泄露任何嵌入秘密。附加的存储器资源花费仅轻微地影响系统性能。

Description

用于屏蔽RSA运算的系统和方法
发明人
扬·伊夫·雷内·卢瓦泽尔(Yann Yves Rene Loisel)
弗兰克·拉赫迈(Frank Lhermet)
杰里米·杜伯夫(Jeremy Dubeuf)
A.技术领域
本公开涉及用于执行非对称加密方法的安全系统和方法,并且更具体地涉及通过提供针对利用李维斯特-沙米尔-阿德尔曼(Rivest-Shamir-Adleman,RSA)运算的设备的攻击的对策来保持数据机密性和认证的系统和方法。
B.相关技术说明
已知的是,RSA公钥加密术对加密数据的潜在攻击者而言是个很大的障碍,这是由于分解两个很大的秘密质数的乘积耗费巨大精力。与任何其他形式的加密术一样,RSA并不是不受潜在攻击者进行的攻击和或不想要的访问或检查的影响。因此,各种计算机安全标准如例如用于邮政模块的FIPS 140-2或例如用于支付终端的PCIPTS要求在使用加密硬件设备检测到篡改企图的标记之后立即擦除机密数据。一般而言,虽然对于如旁路攻击(side-channel attack)等某些类型的攻击,存在保护可信环境的对策,但是针对更具侵入性的攻击,如旨在通过物理手段或嵌入式软件手段侵入存储器的攻击,不存在提供令人满意的保护水平的已知解决方案。尤其是在RSA公钥加密术领域中,当面对这种侵入式攻击时,无法依赖于常见的基于软件的擦除机制以符合安全标准。
图1展示了用于保护存储在存储器中的机密数据的常规系统和方法。系统100包括模算术加速器(Modular Arithmetic Accelerator,MAA)102,所述MAA通常是与具有其自身资源并且提供数学计算支持的协处理器类似的硬件设备。MAA102常常用于公钥加密术,所述公钥加密术在计算能力方面要求很高,尤其是在软件实施方式不够强大的情况下。
MAA 102包括接收操作数、执行计算、并输出结果例如消息m的寄存器和存储器106例如SRAM。如图1中所描绘的,MAA 102耦合至在操作中将秘密104加载到MAA 102的存储器106中的非易失性安全随机存取存储器(Non-Volatile Secure Random Access Memory,NVSRAM)110,使得MAA 102可以根据所述秘密计算消息m。
如果系统100遭到攻击,则软件擦除命令130例如由篡改检测系统发出且传送到NVSRAM 110,使得可以清除或擦除存在于存储器114中的任何秘密以防止对机密数据的未授权访问。然而,在如系统100等现有设计中,无法以及时的方式擦除MAA 102的存储器106,这是因为按照设计,无论是在硬件还是软件中都不存在可以依赖以对MAA存储器106执行足够快速、完全且有保证的擦除的机制或安全特征。部分地,这是由于存储器106的总体上很大的存储器区域造成的。因此,已经被执行并存储在MAA存储器106内并且包括任何类型的秘密的计算保留在MAA存储器106内并且使机密信息易被潜在攻击者访问。
作为示例,可能设法发出例如通过干扰对不可屏蔽中断(Non-MaskableInterrupt,NMI)处理程序的调度以防止执行或完成中断来使基于软件的擦除机制中断的足够快速的重置命令的攻击者可以获得对MAA存储器106中的待保护秘密的访问。因此,符合要求立即从包括机密数据的存储器中进行擦除的标准的任何企图都可能由此受挫于成功的攻击。
假定在已经检测到篡改企图的情况下无法及时擦除存储器106,为了符合适用的安全和认证标准,将因此期望的是,在适当的地方具有允许使用MAA同时确保不会发生无意地暴露包含于其中的秘密的系统和方法。
因此,需要克服这些缺点并且可以承受各种类型的物理和软件攻击的系统和方法。
附图说明
将参照本发明的实施例,所述实施例的示例可以在附图中予以展示。这些附图旨在是说明性的而不是限制性的。尽管总体上在这些实施例的背景下描述了本发明,但是应当理解的是,其不旨在将本发明的范围限制于这些具体实施例。
图1展示了用于保护存储在存储器中的机密数据的常规系统和方法。
图2A和图2B展示了根据本公开的各个实施例的用于保护存储在存储器中的机密数据以防止未授权访问和数据操纵的系统。
图3是根据本公开的各个实施例的用于保护机密数据的说明性过程的流程图。
具体实施方式
在以下描述中,出于解释的目的,阐述了具体细节以提供对本发明的理解。然而,对于本领域的技术人员而言将明显的是,可以在不具有这些细节的情况下实践本发明。另外,本领域的技术人员将认识到,可以在有形计算机可读介质上以如过程、装置、系统、设备或方法等各种方式实施以下所描述的本发明实施例。
图示中所示的组件或模块说明了本发明的示例性实施例并且意在避免使本发明模糊。还应当理解的是,贯穿本讨论,组件可以被描述为可以包括子单元的单独功能单元,但是本领域的技术人员将认识到,各个组件或其部分可以被分成单独组件或者可以集成在一起,包括集成在单个系统或组件内。应当注意的是,本文讨论的功能和操作可以被实施为组件。可以在软件、硬件或其组合中实施组件。
另外,附图内的组件或系统之间的连接不旨在限于直接连接。而是,可以通过中间组件修改、重新格式化或以其他方式改变这些组件之间的数据。而且,可以使用附加连接或更少连接。还应当注意的是,术语“耦合”、“连接”或“通信地耦合”应当被理解为包括直接连接、通过一个或多个中间设备的间接连接以及无线连接。
本说明书中对“一个实施例”、“优选实施例”或“实施例(an embodiment或embodiments)”的引用意味着结合所述实施例描述的具体特征、结构、特性或功能包括在本发明的至少一个实施例中并且可以处于多于一个实施例中。而且,上述短语在本说明书中的各个地方出现不一定全都是指相同的一个或多个实施例。
在本说明书中的各个地方使用某些术语是为了说明并且不应被解释为进行限制。服务、功能或资源不限于单个服务、功能或资源;对这些术语的使用可以指可以是分散的也可以是聚集的一组相关服务、功能或资源。另外,对存储器、数据库、信息库、数据存储设备、表、硬件等的使用可以在本文中用于指可以将信息输入或以其他方式记录到其中的一个或多个系统组件。
另外,应当注意的是,本文所述的实施例是在安全微控制器的背景下给出的,但是本领域的技术人员应当认识到,本公开的教导不限于任何类型的微控制器并且同样可能引起想要在其他背景和应用中使用IP保护服务的任何软件提供商的兴趣。
如本文中所使用的,术语“非易失性存储器”是指如闪存等在移除电力之后保持其状态的电数据存储设备。术语“存储器”和“物理存储器”可以互换使用并且是指提供存储器写入和读取的电数据存储设备,这与由软件或处理器定义的虚拟或逻辑存储器相反。术语“处理器”和“微控制器”也可以互换使用,是指执行一个或多个数据处理和/或控制操作的电路。类似地,术语“缓冲器”和“存储器”是指可以包括可通过物理地址寻址的一个或多个存储位置的区域物理存储器。
本文中的实施例公开了用于保护机密数据的方法。一种方法可以包括:接收秘密值和随机值,例如,整数值;在安全设备处将所述随机值与所述秘密值相加以获得屏蔽值;将所述屏蔽值存储在所述安全设备外部的非安全存储器中;使用所述屏蔽值来计算中间值;从所述非安全存储器中擦除所述屏蔽值,使得如果发生攻击则不能够从所述非安全存储器中恢复秘密值和所述第一随机值中的任一者;将指数值加载到所述非安全存储器中;以及使用所述中间值和所述指数值来计算最终值,例如,以使用RSA运算来计算所述秘密值。
在实施例中,所述指数值可能已经生成,其方式为使得所述指数值与所述随机值之和等于零模其中,n表示公钥。所述指数值可以具有为所述随机值的位长度的一半的位长度,所述随机值可能已经由随机值发生器生成并且可以具有与所述公钥相同的位长度。在某些实施例中,响应于如指示软件攻击或硬件攻击之一的信号等信号被接收,可以从所述安全设备中擦除所述秘密值和所述随机值。
一些实施例公开了一种用于保护机密数据的系统,所述系统包括处理器和非暂态计算机可读介质,所述非暂态计算机可读介质包括指令序列,所述指令序列当由所述处理器执行时引起执行以下步骤:接收秘密值和随机值;在安全设备处将所述随机值与所述秘密值相加以获得屏蔽值;将所述屏蔽值存储在非安全存储器中,所述非安全存储器位于所述安全设备的外部;使用所述屏蔽值来计算中间值;从所述非安全存储器中擦除所述屏蔽值,使得如果发生攻击则不能够从所述非安全存储器中恢复秘密值和所述第一随机值中的任一者;将指数值加载到所述非安全存储器中;以及使用所述中间值和所述指数值来计算最终值,根据所述最终值可以推导出所述秘密值。
图2A和图2B展示了根据本公开的各个实施例的用于保护存储在存储器中的机密数据以防止未授权访问和数据操纵的系统。与图1中示出的组件类似的组件以类似的方式标记。为了简洁的目的,描述或所述组件的功能此处不予赘述。
在操作中,在实施例中,图2A中的NVSRAM 210将随机值r例如整数与主秘密值d例如表示私钥指数值的另一整数相加以获得可以存储在NVSRAM 210中的和d+r。在实施例中,这个和可供MAA 202使用,例如供存储在存储器204中。在实施例中,MAA 202是非安全设备,所述非安全设备可以在RSA求幂中使用所述和例如通过使用方程a=md+r mod n来生成消息m。
在实施例中,可以从MAA 202中擦除d与r之和或以其他方式例如通过用零来覆写结果从而使所述和无效,使得不再可以从存储器204中检索到d与r之和。实际上,在MAA 202内,这个和屏蔽了秘密值d,这是因为知道MAA 202中随机值r与主秘密值d之和并不提供关于单独的值d和r的信息,如通过以下简化示例所展示的:假设RSA算法或任何相当的非对称加密方法使用已经用从MAA 202中恢复的两个单独的数d和r来组合的示例性复合数5,则复合值5即单独的整数d和r之和将因此不提供关于数d的值是否为2且数r的值是否为3、或者d的值是否为1且r是否为4等等的任何有用信息。
在实施例中,一旦d与r之和从MAA 202中擦除并且因此不再可以从MAA202中检索到所述和,图2B中引用的参数t就从NVSRAM 210加载到MAA 202中。因此,t以及d与r之和并不同时存在于非安全设备中,使得无法(例如,根据方程d+r+t=d)恢复机密值d。
在实施例中,NVSRAM 210是可以保持秘密并且能够在检测到篡改的情况下被立即且完全擦除的存储器设备。NVSRAM 210响应于警报信号230而被清除或重置(例如,所有寄存器都可以被设置为零),所述警报信号可以是任何类型的软件擦除命令。在实施例中,如果(例如,经由篡改传感器、环境传感器等)检测到对系统200的任何部分的攻击,则软件擦除命令230可以发出并且传送到NVSRAM 210,使得可以从存储器214中自动地清除任何现有机密值、具体地值t和r,以防止对机密数据的未授权访问。具体地,可以在将t加载到MAA存储器204中之前从NVSRAM210中擦除随机值r(即,用于(例如,从d与r之和中)恢复主秘密值d的手段)。要理解的是,警报信号230可以是可以由任何类型的设备例如运动传感器响应于检测到篡改事件的任何标记而激活的任何触发信号。
简而言之,虽然知道随机值r可能对企图恢复主秘密d的攻击者而言是有用的,但是值r被安全地存储在NVSRAM 210中且决不会(自身)暴露在MAA 202的非安全存储器内;并且知道d与r之和并不提供对单独的值d或r的深入了解,使得这两个值被认为是安全的。类似地,仅知道秘密t而不知道秘密r对攻击者而言将是无用的,因为t与r之和并不提供关于单独的值t和r的信息。此外,对于不泄露任何嵌入秘密的MAA存储器204来说,如果发生攻击,则从NVSRAM存储器214中擦除随机值r。
综上所述,当在RSA算法中使用时,主秘密d决不会暴露在MAA存储器204内,并且对于企图检索秘密d的潜在攻击者而言,MAA存储器204内的其他信息将无用。MAA存储器204内的任何其他值也将对检索秘密d无用,使得攻击者无法例如从对加密块存储器的恢复(转储)中获益。
在实施例中,参数t在初始化步骤中被生成例如作为1024位数并且存储在NVSRAM214中。由于RSA计算时间对数据大小相对敏感,所以在实施例中,t的长度被选择为模n的密钥长度(2048位或4096位)的一半。有利地,这允许不太耗时的对策。事实上,当与密钥本身的计算时间相比较时,t的计算时间因此是相当不重要的,从而仅强加了相对小的附加计算成本。
详细地,相比于md+r求幂的成本,mt求幂的成本很小,所述md+r求幂进而相当于常规RSA算法中使用的求幂(例如,当计算md mod n时)。然而,为了防止通过使用强力方法例如通过将计算机的原始计算能力应用于从mt中找到t(被称为离散对数问题)的攻击发现秘密,建议将参数t的长度选择为不是太短。出于击败这种攻击同时不对系统200/250带来太多计算负担的目的,1024位的长度在大小上被认为是足够安全的权衡。
图3是根据本公开的各个实施例的用于保护机密数据的说明性过程的流程图。过程300开始于步骤302,其中,在如包括非易失性存储器的NVSRAM等安全设备处,将随机值r与秘密值d相加例如以屏蔽秘密值d。在实施例中,值r和d是整数。
在步骤304处,将d与r之和提供到非安全设备,例如包括其自身存储器的MAA,可以在对所述和进行进一步处理之前将所述和存储在所述非安全设备中。在实施例中,步骤302和304的效果是:值d和r中任一者都不必单独地加载到非安全设备中。如前所述,知道d与r之和并不提供对单独的值d或r的深入了解,使得这两个值可以被认为是安全的。
在步骤306处,在非安全设备处使用d与r之和来计算消息m。在实施例中,计算消息m涉及将方程a=md+r mod n用作经修改RSA算法的一部分。
在步骤308处,从非安全设备中擦除d与r之和,使得不再可以从非安全设备中检索到d与r之和。
在步骤310处,将参数t从安全设备加载到非安全设备中,使得一旦不再可以从非安全设备中检索到d与r之和,t以及d与r之和就不同时存在于非安全设备中。一个结果是,无法恢复秘密值d。
最后,在步骤312处,使用参数t以及d与r之和来计算消息m,例如,通过使用求幂的性质如c(a+b)=ca*cb以及模算术、根据方程b=a*mt mod n计算值m,所述方程也等于md modn。使用模算术和欧拉定理,可以表明:
在实施例中,步骤302之前可以是初始化步骤,所述初始化步骤使用例如模算术来计算值r,使得变量t和值r的乘积等于零模(即,)。通常,等于(p-1)*(q-1),使得对于RSA密钥对而言,公钥n的模等于乘积p*q,其中p和q是由于因子分解问题而不能被容易地恢复的两个质数。然后,所计算的值r可以存储在例如NVSRAM的非易失性存储器中。
因此,如果在涉及步骤302至步骤306的任何步骤处检测到攻击,则将从NVSRAM中擦除t和r,使得攻击者无法根据d与r之和恢复d。并且因为在步骤308处从非安全设备的存储器中擦除了d与r之和,所以如果在步骤310或之后的任何步骤处发生攻击,则d与r之和将不再存在于NVSRAM中,使得d将不可用并且秘密数据得到保护。
本领域的技术人员将认识到,对于实践本发明而言,计算系统或编程语言并不关键。本领域的技术人员还将认识到,上述多个元件可以物理地和/或功能上分离成子模块或组合在一起。
应当注意的是,以下权利要求的元件可以以不同方式安排,包括具有多种相关性、配置和组合。例如,在实施例中,各项权利要求的主题可以与其他权利要求组合。
对于本领域的技术人员而言,将理解的是,前述示例和实施例是示例性的并且不限制本发明的范围。意图是,在阅读本说明书和研究附图之后对本领域的技术人员而言显而易见的所有排列、增强、等效物、组合以及对其的改进包括在本发明的真实精神和范围内。

Claims (20)

1.一种用于保护机密数据的方法,所述方法包括:
接收秘密值和随机值;
在安全设备处将所述随机值与所述秘密值相加以获得屏蔽值;
将所述屏蔽值存储在非安全存储器中,所述非安全存储器位于所述安全设备的外部;
使用所述屏蔽值来计算中间值;
从所述非安全存储器中擦除所述屏蔽值,使得如果发生攻击则不能够从所述非安全存储器中恢复秘密值和所述第一随机值中的任一者;
将指数值加载到所述非安全存储器中;以及
使用所述中间值和所述指数值来计算最终值。
2.根据权利要求1所述的方法,其中,所述秘密值和所述随机值是整数。
3.根据权利要求1所述的方法,进一步包括:响应于信号被接收而从所述安全设备中擦除所述秘密值和所述随机值。
4.根据权利要求3所述的方法,其中,所述信号指示软件攻击和硬件攻击中的至少一者之一。
5.根据权利要求1所述的方法,其中,指数值已经被生成为使得所述指数值与所述随机值之和等于零模其中,n表示公钥。
6.根据权利要求5所述的方法,其中,所述指数值具有为所述随机值的位长度的一半的位长度。
7.根据权利要求5所述的方法,其中,所述随机值具有与所述公钥相同的位长度。
8.根据权利要求1所述的方法,其中,所述随机值已经由随机值发生器生成。
9.根据权利要求1所述的方法,进一步包括:使用所述最终值来计算所述秘密值。
10.根据权利要求9所述的方法,其中,计算所述秘密值包括使用RSA运算。
11.一种用于保护机密数据的系统,所述系统包括:
一个或多个处理器;以及
一个或多个非暂态计算机可读介质,包括一个或多个指令序列,所述一个或多个指令序列当由所述一个或多个处理器中的至少一个执行时引起执行包括以下操作的步骤:
接收秘密值和随机值;
在安全设备处将所述随机值与所述秘密值相加以获得屏蔽值;
将所述屏蔽值存储在非安全存储器中,所述非安全存储器位于所述安全设备的外部;
使用所述屏蔽值来计算中间值;
从所述非安全存储器中擦除所述屏蔽值,使得如果发生攻击则不能够从所述非安全存储器中恢复秘密值和所述第一随机值中的任一者;
将指数值加载到所述非安全存储器中;以及
使用所述中间值和所述指数值来计算最终值,根据所述最终值能够推导出所述秘密值。
12.根据权利要求11所述的系统,其中,所述秘密值和所述随机值是整数。
13.根据权利要求11所述的系统,进一步包括:响应于信号被接收而从所述安全设备中擦除所述秘密值和所述随机值。
14.根据权利要求13所述的系统,其中,所述信号指示软件攻击和硬件攻击中的至少一者之一。
15.根据权利要求11所述的系统,其中,指数值已经被生成为使得所述指数值与所述随机值之和等于零模其中,n表示公钥。
16.根据权利要求15所述的系统,其中,所述指数值具有为所述随机值的位长度的一半的位长度。
17.根据权利要求15所述的系统,其中,所述随机值r具有与所述公钥相同的位长度。
18.根据权利要求11所述的系统,其中,所述随机值已经由随机值发生器生成。
19.根据权利要求11所述的系统,进一步包括:使用所述最终值来计算秘密值。
20.根据权利要求19所述的系统,其中,计算所述秘密值包括使用RSA运算。
CN201810889230.6A 2017-08-07 2018-08-07 用于屏蔽rsa运算的系统和方法 Active CN109388976B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1757555 2017-08-07
FR1757555A FR3069993B1 (fr) 2017-08-07 2017-08-07 Dispositifs et procedes de masquage d'operations de chiffrement rsa

Publications (2)

Publication Number Publication Date
CN109388976A true CN109388976A (zh) 2019-02-26
CN109388976B CN109388976B (zh) 2023-12-05

Family

ID=60923571

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810889230.6A Active CN109388976B (zh) 2017-08-07 2018-08-07 用于屏蔽rsa运算的系统和方法

Country Status (3)

Country Link
US (1) US11115210B2 (zh)
CN (1) CN109388976B (zh)
FR (1) FR3069993B1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110048840B (zh) * 2019-04-28 2021-10-15 苏州国芯科技股份有限公司 一种基于rsa算法的信息处理方法、系统及相关组件
CN111190733B (zh) * 2019-12-27 2023-11-17 华为技术有限公司 用于进行rsa计算的计算资源调度方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130077790A1 (en) * 2011-09-27 2013-03-28 Takeshi Kawabata Encryption processing apparatus
US20140016776A1 (en) * 2011-03-30 2014-01-16 Arnoud Evert Van Foreest Establishing unique key during chip manufacturing
US20150063561A1 (en) * 2013-08-29 2015-03-05 Stmicroelectronics (Rousset) Sas Protection of a calculation against side-channel attacks
US9335967B1 (en) * 2013-06-13 2016-05-10 Cadence Design Systems, Inc. Accurate floating-point calculation method and device
CN105830086A (zh) * 2013-11-06 2016-08-03 净睿存储股份有限公司 使用外部秘密的存储系统中的数据保护
US20160277178A1 (en) * 2015-03-18 2016-09-22 Maxim Integrated Products, Inc. Systems and methods for operating secure elliptic curve cryptosystems

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1165439A (ja) * 1996-08-09 1999-03-05 Nippon Telegr & Teleph Corp <Ntt> N進表現暗号による通信および認証方法、ならびにそれらの装置、およびn進表現暗号による通信および認証プログラムを格納した記憶媒体
US7366305B2 (en) * 2003-09-30 2008-04-29 Intel Corporation Platform and method for establishing trust without revealing identity
FR2867635B1 (fr) * 2004-03-11 2006-09-22 Oberthur Card Syst Sa Procede de traitement de donnees securise, base notamment sur un algorithme cryptographique
US7590880B1 (en) * 2004-09-13 2009-09-15 National Semiconductor Corporation Circuitry and method for detecting and protecting against over-clocking attacks
JP4962165B2 (ja) 2007-06-22 2012-06-27 大日本印刷株式会社 暗号処理装置,暗号処理プログラム及び暗号処理方法
US20090016523A1 (en) * 2007-07-12 2009-01-15 Atmel Corporation Masking and Additive Decomposition Techniques for Cryptographic Field Operations
JP5182364B2 (ja) * 2008-03-28 2013-04-17 富士通株式会社 サイドチャネル攻撃に対する耐タンパ性を有する暗号処理方法
US20130265163A1 (en) * 2010-06-09 2013-10-10 Raytheon Company Magnetic Field Activated Intrusion Detection
FR2966953B1 (fr) * 2010-11-02 2015-08-28 St Microelectronics Rousset Procede de contremesure cryptographique par derivation d'une donnee secrete
GB2494731B (en) * 2011-09-06 2013-11-20 Nds Ltd Preventing data extraction by sidechannel attack
KR102279027B1 (ko) * 2014-12-03 2021-07-19 삼성전자주식회사 멀티 스레드를 실행하는 방법 및 장치
EP3246899A1 (en) 2015-01-15 2017-11-22 Mitsubishi Electric Corporation Random number expanding device, random number expanding method, and random number expanding program
US10205598B2 (en) * 2015-05-03 2019-02-12 Ronald Francis Sulpizio, JR. Temporal key generation and PKI gateway

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140016776A1 (en) * 2011-03-30 2014-01-16 Arnoud Evert Van Foreest Establishing unique key during chip manufacturing
US20130077790A1 (en) * 2011-09-27 2013-03-28 Takeshi Kawabata Encryption processing apparatus
US9335967B1 (en) * 2013-06-13 2016-05-10 Cadence Design Systems, Inc. Accurate floating-point calculation method and device
US20150063561A1 (en) * 2013-08-29 2015-03-05 Stmicroelectronics (Rousset) Sas Protection of a calculation against side-channel attacks
CN105830086A (zh) * 2013-11-06 2016-08-03 净睿存储股份有限公司 使用外部秘密的存储系统中的数据保护
US20160277178A1 (en) * 2015-03-18 2016-09-22 Maxim Integrated Products, Inc. Systems and methods for operating secure elliptic curve cryptosystems

Also Published As

Publication number Publication date
US20190044717A1 (en) 2019-02-07
FR3069993A1 (fr) 2019-02-08
FR3069993B1 (fr) 2020-09-18
US11115210B2 (en) 2021-09-07
CN109388976B (zh) 2023-12-05

Similar Documents

Publication Publication Date Title
Schwarz et al. Malware guard extension: Using SGX to conceal cache attacks
Razavi et al. Flip feng shui: Hammering a needle in the software stack
Bazm et al. Cache-based side-channel attacks detection through intel cache monitoring technology and hardware performance counters
Suh et al. Aegis: A single-chip secure processor
JP4841785B2 (ja) 鍵の細分化によってアクセスを防止する携帯可能なデータ記憶媒体
US7860242B2 (en) Method of securely implementing a cryptography algorithm of the RSA type, and a corresponding component
CN103607279A (zh) 基于多核处理器的密钥保护方法及系统
WO1999039475A1 (en) Cryptographic system
CN1238087A (zh) 安全引导
WO2007113697A2 (en) Secure decryption method
Schwarz et al. Malware Guard Extension: abusing Intel SGX to conceal cache attacks
WO2018019233A1 (zh) 一种运算方法和安全芯片
US10277393B2 (en) System and method for one-time Chinese-Remainder-Theorem exponentiation for cryptographic algorythms
EP3624392B1 (en) Methods and devices for secure secret key generation
Subedi et al. RDS3: Ransomware defense strategy by using stealthily spare space
CN109388976A (zh) 用于屏蔽rsa运算的系统和方法
Buhren et al. Fault attacks on encrypted general purpose compute platforms
US8311212B2 (en) Method of processing data protected against attacks by generating errors and associated device
Dave et al. Care: Lightweight attack resilient secure boot architecture with onboard recovery for risc-v based soc
US7562214B2 (en) Data processing systems
EP1811460A1 (en) Secure software system and method for a printer
US20180060585A1 (en) System for program counter encryption
US20200067693A1 (en) Systems and methods for masking ecc operations
Sun et al. An efficient modular exponentiation algorithm against simple power analysis attacks
Hu et al. FaultMorse: An automated controlled-channel attack via longest recurring sequence

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant