CN104424428A - 用于监视数据处理的电子电路和方法 - Google Patents
用于监视数据处理的电子电路和方法 Download PDFInfo
- Publication number
- CN104424428A CN104424428A CN201410455757.XA CN201410455757A CN104424428A CN 104424428 A CN104424428 A CN 104424428A CN 201410455757 A CN201410455757 A CN 201410455757A CN 104424428 A CN104424428 A CN 104424428A
- Authority
- CN
- China
- Prior art keywords
- data processing
- predetermined input
- input value
- content
- value
- 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
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
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- 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/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/77—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 in smart cards
-
- 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
- H04L9/004—Countermeasures against attacks on cryptographic mechanisms for fault attacks
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Storage Device Security (AREA)
Abstract
本发明的各实施方式总体上涉及用于监视数据处理的电子电路和方法。具体地,根据一个实施例,描述一种电子电路,该电子电路包括:处理电路,被配置为执行包括多个连续操作的数据处理,其中在多个操作中的至少一些操作中处理预定输入值;校验值存储器;控制器,被配置为对于由处理电路执行的数据处理的每个操作,校验预定输入值是否在操作中被处理,并且如果预定输入值在操作中被处理,则组合预定输入值与校验值存储器的内容;以及检测器,被配置为在处理完成时,校验该校验值存储器的内容是否等于预定值。
Description
技术领域
本公开内容涉及用于监视数据处理的电子电路和方法。
背景技术
错误攻击是一种边信道攻击形式,其中攻击者试图借助外部影响来扰乱执行数据处理(例如执行某个软件程序或者某个应用)的硬件以改变正常处理流程并且引起硬件的错误行为。硬件(例如电子电路)的正确操作通常仅对于某些环境条件和操作参数被制造商保障。例如,硬件在指定的操作电压、操作温度和时钟频率或者电磁辐射(比如微波、光脉冲或者激光脉冲或者x射线辐射)或放射辐射的使用以外的操作因此可能产生错误行为并且因此用于计算错误。防范这样的计算错误通常对于安全相关电子电路(比如在芯片卡上的处理电路)是重要的,因为在某些密码方法中,单个错误结果可能足以提取在正常操作之下在硬件中安全存储的秘密密钥并且因此危及整个密码系统。
除了基于使用的物理攻击技术的分类之外,如以上描述的错误攻击还被分类成入侵技术和非入侵技术、具有瞬态错误或者持久错误的方法以及对中间结果的存储数据的攻击或者对控制流程的攻击。
希望有用于避免或者检测错误攻击的方法。
发明内容
根据一个实施例,提供一种电子电路,该电子电路包括:处理电路,被配置为执行包括多个连续操作的数据处理,其中在多个操作中的至少一些操作中处理预定输入值;校验值存储器;控制器,被配置为对于由处理电路执行的数据处理的每个操作,校验预定输入值是否在操作中被处理,并且如果预定输入值在操作中被处理,则组合预定输入值与校验值存储器的内容;以及检测器,被配置为在处理完成时,校验该校验值存储器的内容是否等于预定值。
附图说明
在附图中,相似附图标记一般指代贯穿不同视图的相同部分。附图未必按比例,代之以一般着重于举例说明本发明的原理。在以下描述中,参照以下附图描述各个方面,在附图中:
图1示出电子电路。
图2示出流程图。
图3示出用于执行椭圆曲线操作的电子电路。
具体实施方式
以下具体描述参照通过示例示出本公开内容的其中可以实现本发明的具体细节和方面的附图。可以利用其它方面并且可以进行结构改变、逻辑改变和电改变而未脱离本发明的范围。本公开内容的各种方面未必互斥,因为本公开内容的一些方面可以与本公开内容的一个或者多个其它方面组合以形成新的方面。
用于在执行计算机程序时防范攻击的在硬件和软件中的保护措施通常具有插入和测试在计算机程序或者由计算机程序处理的存储数据中的冗余性或者在执行计算机程序期间验证计算机程序的中间结果的循环不变量的保留这样的公共特征。
可以借助检错码或者纠错码(例如Reed-Solomon码和CRC码)保证存储数据的一致性。在计算机系统中,存储器和通信接口通常已经包含用于自动检错和纠错的硬件模块。加密的存储或者传输数据的略微改变通常产生对应明文(即,解密数据)的主要改变,这有助于用于密码地加密的数据的检错。这是因为加密通常具有倍增错误的效果。
在其中安全性为高度重要的系统(比如飞机的机载系统)中,系统的完整硬件可以被复制。所得多个系统然后可以相互独立地操作,并且测试单元保证由系统确定的计算的结果相同。除了冗余性之外,还可以用这一方式实现多样化。各种冗余(计算机)系统可以基于不同硬件架构,并且在它们上运行的硬件和软件可以被独立工作的团队开发。因此,在冗余系统的硬件或者软件中的系统错误将同时生效并且因此可以通过比较系统的计算结果来检测。
在现代安全产品(比如芯片卡)中的芯片可以包括在芯片之上分布的多个芯片传感器,这可以在一方面防范入侵攻击(比如通过针刺的探测)而在另一方面可以保证符合用于芯片操作的正确环境条件(比如操作温度、操作电压、频率稳定性、无光和激光闪光等)。
为了避免错误结果,计算可以在一些应用中被(至少部分)重复,并且可以校验各种结果是否相等。这一方法降低了计算效率。为了实现更高效率,保护方法可以使用计算结果和中间结果的不变量。为此,利用在许多算法中在计算的值之间有某些相关性这样的事实。例如,若干中间结果的求和或者乘积可以恒定或者满足某个数学公式。在计算期间有错误时,这样的计算一般不再被满足,并且错误因此可以被检测到。在这一方法的变体中,可以用扰动执行产生对于攻击者无用的随机结果这样的方式来实施算法。
有意义并且产生用于具体应用的重复保护水平的对策(即保护方法)通常依赖于使用的错误模型。这意味着它依赖于攻击者可能导致的错误种类和攻击者可能导致错误的准确性(在错误相对于执行的操作而言的时间这一意义上以及在按照被攻击的存储器比特或者控制逻辑而言的空间意义上)。
在以上描述的技术中,在计算机程序执行中的错误检测仅通过校验在存储数据中的冗余信息(通过检错码和纠错码或者关于在结果之间的关系)来间接地检测。然而,现代攻击方法(例如借助激光闪光)允许在时间上和在空间上精确地调整攻击,从而在攻击期间不能保证芯片的保护传感器做出反应,并且例如微控制器的个别指令的执行可能被破坏或者阻止。这样的攻击方法允许改变执行的程序的控制流程。例如,单跳转命令或者子例程调用可能被阻止。一种可能攻击场景例如是有意地超越用于测试不变量的验证或者存储数据的冗余性的例程。用于可以被准确地对准的攻击的另一可能性是引起计算的中间结果的微妙改变,这些改变可能造成计算的结果错误,但是使得比如以上描述的不变量保持不变。例如,攻击者可以实现在特定计算步骤中在减法中改变数字加法。这样的攻击可能在某些情况下用以上描述的方法不是可安全地检测的。
根据一个实施例,提供一种例如用认证电路的延伸来允许监视计算的控制流程以及存储数据(比如在非易失性存储器中存储的数据,例如用于密码算法的椭圆曲线参数)的完整性的方法。计算的状态可以借助有限状态机来建模。计算的控制流程在这一情况下是有限状态机的状态序列,并且校验控制流程在执行计算期间是否正确意味着校验在有限状态机的状态之间的正确转变是否被执行和/或有限状态机是否经过正确状态序列。
这允许防范以扰乱循环、跳转或者子例程调用的执行或者例如借助伪系统参数弱化使用的椭圆曲线的密码强度为目的的错误攻击。与用于防范在执行的计算中的错误攻击的现有方法组合,可以实现高保护水平。
图1示出电子电路100。
电子电路100包括被配置为执行包括多个连续操作的数据处理的处理电路101,其中在多个操作中的至少一些操作中处理预定输入值。
电子电路100还包括校验值存储器102和控制器103,该控制器被配置为对于处理电路101执行的数据处理的每个操作,校验预定输入值是否在操作中被处理,并且如果预定输入值在操作中被处理,则组合预定输入值与校验值存储器的内容。
电子电路100还包括检测器104,该检测器被配置为在处理完成时,校验该校验值存储器的内容是否等于预定值。
根据一个实施例,换而言之,在数据处理中(例如在计算机程序执行用于密码操作的计算的过程中)处理的输入值与处理并行地被馈送到校验值存储器中,并且用来更新在校验值存储器中存储的值。例如,对于使用输入值的操作中的至少一些操作,输入值被馈送到校验值存储器中并且以预定方式与校验值存储器的内容组合。校验值存储器还可以在执行程序流程期间(例如从操作到操作)被改变,从而校验值存储器的内容不仅依赖于输入值是否已经被操作处理(并且因此依赖于它是否被馈送到校验值存储器中,即,与校验值存储器的内容组合)而且依赖于这何时发生。因此,校验值存储器在数据处理结束时的内容代表已经被执行的计算程序的输入值和控制流程,并且可以校验输入值和控制流程是否已经正确。
根据一个实施例,组合预定输入值与校验值存储器的内容包括组合预定输入值与校验值存储器的内容以生成校验值存储器的更新内容并且在校验值存储器中存储校验值存储器的更新内容。
检测器还可以被配置为基于校验值存储器的内容是否等于预定目标值来判决数据处理是否被正确地执行。
例如,预定目标值是基于预定输入值确定的值。
根据一个实施例,预定输入值对于多个连续操作是恒定的。
根据一个实施例,校验值存储器是移位寄存器。
移位寄存器的内容例如对于多个操作中的至少一些操作被移位。
例如,移位寄存器的内容对于多个操作中的每个操作被移位。
根据一个实施例,数据处理是用于密码操作的数据处理,并且预定输入值是密码参数。
根据一个实施例,数据处理是用于基于椭圆曲线的密码操作的数据处理,并且预定输入值是椭圆曲线的参数。
数据处理可以例如是用于基于椭圆曲线的密码操作的数据处理,并且预定输入值例如是椭圆曲线的多项式表示的系数(例如在以下给出的椭圆曲线表示中的系数a1、…、a6之一)。
例如,数据处理是对在其之上定义椭圆曲线的字段的元素的字段操作序列。
电子电路还可以包括被配置为控制数据处理的状态机,其中控制器被配置为对于多个操作中的一个或者多个操作向校验值存储器的内容组合关于当执行操作时的状态机的状态的信息。
例如,关于状态机的状态的信息是代表状态机的状态的信息(例如状态机的状态函数)。
根据一个实施例,电子电路是例如在芯片卡上布置的认证电路。
电子电路100例如执行如图2中所示方法。
图2示出流程图200。
流程图200图示一种用于监视数据处理的方法。
在201中,数据处理包括执行(或者开始)多个连续操作,其中在多个操作中的至少一些操作中处理预定输入值。
在202中,对于执行的数据处理的每个操作,校验预定输入值是否在操作中被处理。
在203中,如果预定输入值在操作中被处理,则组合预定输入值与校验值存储器的内容。
在204中,在处理完成时,校验校验值存储器的内容是否等于预定值。
应当注意,在电子电路100的情境中描述的实施例对于如图2中所示方法类似地有效,并且反之亦然。
在下文中,描述如下示例,其中数据处理是有限字段的元素的乘法,该乘法用于对在有限字段之上的基于椭圆曲线的密码操作。
在有限字段之上的椭圆曲线形成用于现代公用密钥密码术的重要方案(比如签名方案)的数学基础。椭圆曲线由一般为以下形式的三次方程定义:
E:y2+a1xy+a3y=x3+a2x2+a4x+a6
系数a1、…、a6是(有限)字段K的元素。
椭圆曲线E的点是满足用于E的以上方程的所有对(x,y)∈KxK以及还有代表中性元素的形式点的集合。椭圆曲线称为在K之上(或者在K之上定义)的曲线。椭圆曲线的点P的坐标对(x,y)称为点P的仿射表示。
有限字段是包括元素有限集合和四个操作的数学结构,这些操作通常称为加法、减法、乘法和除法,其中实数的算术规则在形式上对于这些操作是有效的。在以下类型的字段之一之上定义的椭圆曲线在密码术中特别实际重要:
·K=GF(p),其中p是素数。GF(p)的对象(即字段元素)是整数0,1,2,...,p-1。操作是模加法、模减法、模乘法和模除法。
·K=GF(2n),其中n是自然数。对象(即字段元素)在这一情况下是长度为n的二进制矢量。加法是按比特的XOR。减法和加法相同。乘法可以借助移位寄存器操作来实施。
在下文中描述的实施例中,假设椭圆曲线在有限字段GF(2n)之上例如由以下方程定义:
E:y2+a1xy+a3y=x3+a2x2+a4x+a6
其中a1、…、a6是椭圆曲线参数,这些椭圆曲线参数是GF(2n)的元素。在下文中,描述一种用于基于由E定义的椭圆曲线执行密码操作的电路。
图3示出电子电路300。
电子电路300例如是用于执行椭圆曲线操作的ECC(椭圆曲线密码术)单元并且例如是执行认证处理的认证IC(集成电路)的一部分。
电子电路300包括寄存器文件301,该寄存器文件包括多个寄存器(在这一示例中为第一寄存器302和第二寄存器303,但是可以包括更多寄存器)。寄存器文件301的每个寄存器302、303具有n比特的长度。
电子电路300还包括ALU(算术逻辑单元)304,该ALU具有累加器305,该累加器具有n比特的长度,这例如允许它的内容的按比特移位(可选地,用归约模和不可约多项式),并且允许寄存器302、303的内容与累加器305的内容并行相加。
电子电路300还包括有限状态机306,该有限状态机在这一示例中根据椭圆曲线的点的标量乘法来控制寄存器文件301和ALU 304的操作,例如用于执行各种测试(比如签名验证)。
为此,有限状态机306控制ALU 304以对在寄存器302、303中存储的有限字段GF(2n)的元素执行一系列字段操作。
在下文中,假设有限状态机306控制ALU 304以执行包括字段乘法的数据处理,其中ALU 304并行地处理在第一寄存器302中存储的第一字段元素(第一因子)(即,同时访问并且例如向累加器305并行馈送第一字段元素的所有比特),以及比特串行地处理在第二寄存器303中存储的第二字段元素(第二因子)(即,向累加器305串行地馈送第二字段元素的比特)。假设对于这一数据处理,第二因子是常数。
为了允许校验控制流程,换而言之,为了保证总是正确地执行字段乘法,在电子电路300中包括反馈移位寄存器307这一形式的校验值存储器。反馈寄存器在这一示例中是线性反馈移位寄存器(LSFR)、但是也可以被实施为非线性反馈移位寄存器307。移位寄存器例如用状态机306的系统时钟来钟控(例如根据状态机306的转移函数)。
电子电路300还包括控制器308,该控制器例如通过控制开关309来发起当在第二寄存器303中存储的第二因子的比特被馈送到累加器305(即被ALU 304处理)时,这一比特也经由移位寄存器的加法器310(换而言之,经由移位寄存器的反馈函数)与移位寄存器的内容相加。换而言之,当第二因子在由ALU 304执行的操作中被处理时,第二因子也与移位寄存器307的内容(按比特)相加。因此,第二因子可以视为结合图1描述的预定输入值的示例。然而,预定输入值的各部分(例如仅1比特)也可以视为预定输入值的示例。因而,其中处理预定输入值的数据处理操作可以是处理整个第二因子的(“更大”)数据处理操作或者处理第二因子的一部分(例如一比特)的(“更小”)数据处理操作。
在数据处理(例如字段乘法)或者也为密码处理的更大部分(例如与不同第一因子的多个乘法)开始时,移位寄存器307可以用预定初始值来初始化。在这一情况下,移位寄存器307在数据处理结束时的最终值依赖于有限状态机306的时钟周期数目和第二因子的特定比特。具体而言,最终值依赖于已经在乘法中(例如在第二因子与不同第一因子的多个乘法的情况下)使用第二因子的次数。
总而言之,可以在某一概率的情况下保证第二因子在数据处理(例如标量乘法)期间不被改变。另外,可以检测在控制流程中的某些类型的错误(例如是否太早退出循环)。
在数据处理结束时,例如通过控制器308可以校验移位寄存器是否包含在已经正确地执行数据处理时出现的预计(和预定)目标值。在移位寄存器在数据处理结束时不含该值的情况下,这可以视为用于(例如由攻击者引起的)错误处理的标志,并且可以采取适当对策,例如可以重置电子电路(或者包括电子电路的更大电路)。
在一个实施例中,代表有限状态机306的当前状态的信息可以在各种时间借助又一加法器311(例如对于由ALU 304执行的每个操作)来与移位寄存器307的内容相加。信息可以包括例如与第二因子的比特一起与移位寄存器307的内容相加的仅一比特或者也包括多个比特。例如,可以扩展有限状态机306的转移函数,从而状态机306在它的状态中的每个状态中确定也与移位寄存器307的内容相加的又一比特(例如通过借助移位寄存器307的加法器310将它与移位寄存器307的反馈相加)。该比特的值可以例如依赖于当前除去的字段操作,或者可以在定义状态机306时被任意地选择。有了这一特征,在移位寄存器307的内容中考虑由有限状态机306取得的内容的序列和顺序。如果有限状态机306从(例如借助电压毛刺(glitch)由攻击引起的)既定状态序列推导,则移位寄存器在数据处理结束时的内容不同于预定目标值的可能性高。
以上描述的方法在低附加硬件成本下允许实施一种用于同时校验有限状态机的状态序列的完整性以及按比特串行地处理的恒定数据的完整性的机制。从与状态序列关联的比特序列以及在处理期间使用的恒定数据来确定(在以上示例中借助移位寄存器)校验和并且将其与预定目标值比较。
如以上说明的那样,这可以例如用于保证用于控制椭圆曲线操作的有限状态机安全以及在(例如非易失性)存储器中存储的系统参数(比如在认证IC中使用的椭圆曲线的曲线参数)的完整性。与借助使用(例如用于标量乘法)的算法的不变量关于计算错误的非恒定的计算中间结果的校验一起,可以实现防范错误攻击的高保护水平。
可以实施移位寄存器为生成最大周期长度的序列(即在寄存器长度为n的情况下周期为2n-1的序列)的原始反馈寄存器或者非线性反馈寄存器。移位寄存器例如在以上描述的应用示例中具有32比特的长度。
在一个实施例中,由有限状态机的转移函数根据与移位寄存器的内容相加的有限状态机的状态而生成的比特可以由具有良好自相关特性的函数生成。以这一方式,有限状态机的状态序列的小改变可能产生生成的比特序列的大改变。这允许减少在由有限状态机的转移函数生成的比特序列中的错误在移位寄存器内抵消它们本身的概率。
在一个实施例中,(例如由硬件部件)仅在移位寄存器具有目标值时允许由状态机306在数据处理之后向寄存器文件301的读取访问(例如用于主机通信(例如向集成电路的另一部件传达结果))。以这一方式,可以实现不能从寄存器文件301读取椭圆曲线操作的中间结果和错误结果。在一个实施例中,在状态机(或者任何其它检测实体)检测到在执行中或者在计算结果中的错误时,或者在移位寄存器在数据处理结束时未达到目标值时,状态机执行状态序列(所有与安全有关的寄存器内容根据该状态序列被删除),并且例如在成功执行为了删除而需要的状态之后将移位寄存器设置成预定目标值。
尽管已经描述了具体方面,但是本领域技术人员应当理解,其中可以进行在形式和细节方面的各种改变而不脱离本公开内容的各方面的如由所附权利要求定义的精神和范围。该范围因此由所附权利要求指示,并且落入权利要求的等效性含义和范围内的所有改变因此旨在于被涵盖。
Claims (16)
1.一种电子电路,包括:
处理电路,被配置为执行包括多个连续操作的数据处理,其中在所述多个操作中的至少一些操作中处理预定输入值;
校验值存储器;
控制器,被配置为对于由所述处理电路执行的所述数据处理的每个操作,校验所述预定输入值是否在所述操作中被处理,并且如果所述预定输入值在所述操作中被处理,则组合所述预定输入值与所述校验值存储器的内容;以及
检测器,被配置为在所述处理完成时,校验所述校验值存储器的所述内容是否等于预定值。
2.根据权利要求1所述的电子电路,其中组合所述预定输入值与所述校验值存储器的所述内容包括:组合所述预定输入值与所述校验值存储器的所述内容以生成所述校验值存储器的更新的内容,并且在所述校验值存储器中存储所述校验值存储器的所述更新的内容。
3.根据权利要求1所述的电子电路,其中所述检测器还被配置为基于所述校验值存储器的所述内容是否等于预定目标值来判决数据处理是否被正确地执行。
4.根据权利要求3所述的电子电路,其中所述预定目标值是基于所述预定输入值确定的值。
5.根据权利要求1所述的电子电路,其中所述预定输入值对于所述多个连续操作是恒定的。
6.根据权利要求1所述的电子电路,其中所述校验值存储器是移位寄存器。
7.根据权利要求1所述的电子电路,其中所述移位寄存器的内容对于所述多个操作中的至少一些操作被移位。
8.根据权利要求1所述的电子电路,其中所述移位寄存器的内容对于所述多个操作中的每个操作被移位。
9.根据权利要求1所述的电子电路,其中所述数据处理是用于密码操作的数据处理,并且所述预定输入值是密码参数。
10.根据权利要求1所述的电子电路,其中所述数据处理是用于基于椭圆曲线的密码操作的数据处理,并且所述预定输入值是所述椭圆曲线的参数。
11.根据权利要求1所述的电子电路,其中所述数据处理是用于基于椭圆曲线的密码操作的数据处理,并且所述预定输入值是所述椭圆曲线的多项式表示的系数。
12.根据权利要求11所述的电子电路,其中所述数据处理是对在其之上定义所述椭圆曲线的字段的元素的字段操作序列。
13.根据权利要求1所述的电子电路,还包括被配置为控制所述数据处理的状态机,其中所述控制器被配置为对于所述多个操作中的一个或者多个操作,组合关于所述状态机在执行操作时的状态的信息与所述校验值存储器的所述内容。
14.根据权利要求13所述的电子电路,其中关于所述状态机的所述状态的所述信息是代表所述状态机的所述状态的信息。
15.根据权利要求1所述的电子电路,是认证电路。
16.一种用于监视数据处理的方法,包括:
执行包括多个连续操作的数据处理,其中在所述多个操作中的至少一些操作中处理预定输入值;
对于执行的所述数据处理的每个操作,校验所述预定输入值是否在所述操作中被处理,
如果所述预定输入值在所述操作中被处理,则组合所述预定输入值与校验值存储器的内容;以及
在所述处理完成时,校验所述校验值存储器的所述内容是否等于预定值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/022,313 US9087192B2 (en) | 2013-09-10 | 2013-09-10 | Electronic circuit and method for monitoring a data processing |
US14/022,313 | 2013-09-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104424428A true CN104424428A (zh) | 2015-03-18 |
CN104424428B CN104424428B (zh) | 2018-02-16 |
Family
ID=52478709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410455757.XA Active CN104424428B (zh) | 2013-09-10 | 2014-09-09 | 用于监视数据处理的电子电路和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9087192B2 (zh) |
CN (1) | CN104424428B (zh) |
DE (1) | DE102014112865A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107016277A (zh) * | 2017-04-11 | 2017-08-04 | 北京深思数盾科技股份有限公司 | 信息处理方法和信息安全设备 |
CN107102919A (zh) * | 2016-02-22 | 2017-08-29 | 埃沙尔公司 | 测试电路对侧信道分析的抵抗力的方法 |
CN107402830A (zh) * | 2016-04-25 | 2017-11-28 | 阿自倍尔株式会社 | 寄存器异常检测装置 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG11201808358WA (en) * | 2016-03-29 | 2018-10-30 | Univ Singapore Technology & Design | Method of detecting cyber attacks on a cyber physical system which includes at least one computing device coupled to at least one sensor and/or actuator for controlling a physical process |
EP3279823B1 (en) * | 2016-08-01 | 2020-09-23 | Secure-IC SAS | Security supervision |
CN108073831B (zh) * | 2016-11-15 | 2020-07-24 | 华为技术有限公司 | 一种检测安全芯片工作状态的方法及检测电路 |
TWI657336B (zh) * | 2017-08-28 | 2019-04-21 | 慧榮科技股份有限公司 | 用以檢測資料儲存裝置之資料儲存方法及其資料儲存裝置 |
US11151007B2 (en) * | 2018-11-26 | 2021-10-19 | Intel Corporation | Technology to provide fault tolerance for elliptic curve digital signature algorithm engines |
US11208206B1 (en) * | 2021-05-17 | 2021-12-28 | Beta Air, Llc | Aircraft for fixed pitch lift |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020091636A1 (en) * | 1999-03-25 | 2002-07-11 | Nortel Networks Corporation | Capturing quality of service |
CN1420480A (zh) * | 2000-01-21 | 2003-05-28 | 索尼公司 | 数据处理设备和数据处理方法 |
US20050235154A1 (en) * | 1999-06-08 | 2005-10-20 | Intertrust Technologies Corp. | Systems and methods for authenticating and protecting the integrity of data streams and other data |
CN101405988A (zh) * | 2006-03-28 | 2009-04-08 | 西门子公司 | 用于安全地确定数据的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5991415A (en) | 1997-05-12 | 1999-11-23 | Yeda Research And Development Co. Ltd. At The Weizmann Institute Of Science | Method and apparatus for protecting public key schemes from timing and fault attacks |
DE102006002891B4 (de) | 2006-01-20 | 2009-06-04 | Siemens Ag | Verfahren, Vorrichtung und System zum Verifizieren von auf einer elliptischen Kurve ermittelten Punkten |
-
2013
- 2013-09-10 US US14/022,313 patent/US9087192B2/en active Active
-
2014
- 2014-09-08 DE DE102014112865.6A patent/DE102014112865A1/de active Pending
- 2014-09-09 CN CN201410455757.XA patent/CN104424428B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020091636A1 (en) * | 1999-03-25 | 2002-07-11 | Nortel Networks Corporation | Capturing quality of service |
US20050235154A1 (en) * | 1999-06-08 | 2005-10-20 | Intertrust Technologies Corp. | Systems and methods for authenticating and protecting the integrity of data streams and other data |
CN1420480A (zh) * | 2000-01-21 | 2003-05-28 | 索尼公司 | 数据处理设备和数据处理方法 |
CN101405988A (zh) * | 2006-03-28 | 2009-04-08 | 西门子公司 | 用于安全地确定数据的方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107102919A (zh) * | 2016-02-22 | 2017-08-29 | 埃沙尔公司 | 测试电路对侧信道分析的抵抗力的方法 |
CN107402830A (zh) * | 2016-04-25 | 2017-11-28 | 阿自倍尔株式会社 | 寄存器异常检测装置 |
CN107016277A (zh) * | 2017-04-11 | 2017-08-04 | 北京深思数盾科技股份有限公司 | 信息处理方法和信息安全设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104424428B (zh) | 2018-02-16 |
US20150074422A1 (en) | 2015-03-12 |
DE102014112865A1 (de) | 2015-03-12 |
US9087192B2 (en) | 2015-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104424428A (zh) | 用于监视数据处理的电子电路和方法 | |
US9400636B2 (en) | Apparatus and method for calculating a result in a scalar multiplication | |
JP6058245B2 (ja) | 乱数拡大装置、乱数拡大方法及び乱数拡大プログラム | |
US20140230055A1 (en) | Method for checking an m out of n code | |
KR20170098729A (ko) | 부채널 분석에 대한 회로의 저항력을 테스트하는 방법 | |
KR20180002066A (ko) | 부채널 분석에 대응하여 대입 연산을 보호하는 방법 | |
CN106030605B (zh) | 数字值处理装置及方法 | |
KR20100098520A (ko) | 비밀 데이터를 획득하려는 공격으로부터 마이크로회로를 보호하는 방법 및 장치 | |
KR20150112893A (ko) | 대수적 조작으로부터 데이터를 보호하는 방법 | |
KR20060132514A (ko) | 데이터의 무결성을 보호하는 장치 및 방법과 컴퓨터 판독가능한 기록 매체 | |
CN106548100B (zh) | 集成电路以及用于保护集成电路的方法 | |
JP5693927B2 (ja) | 故障利用攻撃の検出方法及び検出装置 | |
US20170024304A1 (en) | Method for determining an intergrity of an execution of a code fragment and a method for providing an abstracted representation of a program code | |
Tomashevich et al. | Protecting cryptographic hardware against malicious attacks by nonlinear robust codes | |
Wang et al. | Reliable and secure memories based on algebraic manipulation correction codes | |
CN111602366A (zh) | 可更换的打印机组件的密码函数和认证 | |
JP4766285B2 (ja) | 永久データハードウェアインテグリティ | |
US11263313B2 (en) | Securing execution of a program | |
US20140223568A1 (en) | Method for securely checking a code | |
Levina et al. | Second-order spline-wavelet robust code under non-uniform codeword distribution | |
US10354065B2 (en) | Method for protecting data and data processing device | |
JP7192658B2 (ja) | セキュアエレメント | |
JP2005045760A (ja) | 暗号処理方法及び装置 | |
Alkhoraidly et al. | Fault attacks on elliptic curve cryptosystems | |
CN107637009B (zh) | 一种用于保护处理器对程序的执行的方法、装置和存储介质 |
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 |