CN101263502B - 对长微扰造成的故障的检测 - Google Patents

对长微扰造成的故障的检测 Download PDF

Info

Publication number
CN101263502B
CN101263502B CN2006800332585A CN200680033258A CN101263502B CN 101263502 B CN101263502 B CN 101263502B CN 2006800332585 A CN2006800332585 A CN 2006800332585A CN 200680033258 A CN200680033258 A CN 200680033258A CN 101263502 B CN101263502 B CN 101263502B
Authority
CN
China
Prior art keywords
perturbation
trap setting
data
trap
fault
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
Application number
CN2006800332585A
Other languages
English (en)
Other versions
CN101263502A (zh
Inventor
O·贝诺伊特
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.)
Gemplus SA
Original Assignee
Gemplus SA
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 Gemplus SA filed Critical Gemplus SA
Publication of CN101263502A publication Critical patent/CN101263502A/zh
Application granted granted Critical
Publication of CN101263502B publication Critical patent/CN101263502B/zh
Expired - Fee Related 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/71Protecting 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/75Protecting 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/755Protecting 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)
  • Air Bags (AREA)
  • Locating Faults (AREA)
  • Hardware Redundancy (AREA)
  • Control Of Electric Motors In General (AREA)

Abstract

本发明涉及电子部件中的故障检测领域。发明涉及到在电子设备中执行计算机化代码时对因长微扰所造成的故障进行检测的方法,计算机代码包括所谓的敏感过程,方法包括执行该敏感过程之冗余过程的步骤以及在敏感过程与冗余过程之间插入延迟的步骤。本发明的特征在于该方法还包括在延迟期间执行俘获装置的步骤,该装置对微扰敏感并在没有微扰时提供出可预测的结果。

Description

对长微扰造成的故障的检测
本发明涉及到电子部件中的故障检测领域。本发明特别涉及到能够检测因长微扰造成的故障的方法。
芯片卡,更一般地说,某些便携式电子部件常常用作为使应用可靠的保密和/或敏感数据的计算和存储单元。标识、移动电话、支付、传输或存取控制等是芯片卡起重要作用的一些领域。
这种部件特别是以非限制的方式来鉴别卡的持有人和/或卡的发行人。卡还能够包含有可与诚信,货币(例如电话税款)或地铁票等相对应的“单元”,依应用而定。
因而,对一些心怀叵测的个人或团体来说,这些卡就成为他们进行欺诈或使公司品牌形象蒙受损失的首选目标。
自从芯片卡被广泛应用以来,就不得不面对包括电流消耗观察(相邻信道分析)的威胁以及新近注入瞬间故障而引发的攻击。对这种攻击的检测相当复杂而且对其应答也难于实施。不管外界微扰如何,本电子部件都不能保证正确的运行。其结果是,芯片卡上存在的软件或操作系统必须保护其自身在敏感数据讹误风险的情况下免遭因注入故障所产生的部件可能发生的故障。
从现有技术中已经公知检测微扰例如短时脉冲波形干扰(电压脉冲)的解决办法,这种脉冲干扰很可能引起电子部件在运行过程中发生故障。当然存在硬件的解决方案,这种方案是将检测微扰(电压异常低、光强度过高)的环境传感器(温度、时钟频率、电源电压、光照等传感器)组合起来以便在进入就故障而言其被判定为不稳定的有危险的部件工作区之前作出反应。这种解决办法很昂贵,因为其要求开发出专用传感器(经济上的费用)并将这些传感器组合成在有些情况下是体积很小的电路(花费在尺寸大小上的费用)。
还知道一些解决办法,这些办法可检测例如因存在修改数据位所引起的微扰影响。
其中,存在“过程冗余”型的软件或硬件解决方案。冗余是以简单的方式使同一操作(计算、传输...)进行两次以便对两个动作的结果加以比较。在软件方式中,冗余可以是对数据的双重计算。在硬件方式中,这种冗余可以由例如事先存储有同样数值的两个分离寄存器的存在而表现出来。若结果不同,那么合理的结论可能就是其中的一个动作进展不顺利,这多半会是因为存在微扰(故障)而造成的。
还存在“完整性控制”型的软件或硬件解决方案。将数据“checksum”(校验和)加到存储在非易失性存储器中的数据上,这样的和能够检测出数据是否被在数据与校验和之间存在不一致性的情况下、在检验“校验和”之前存在的某种故障所讹误。加入的完整性数据当前在软件层,例如用于数据传输。硬件中的校验和,如在现有技术中所看到的那样,其仅在存储块的层面上实现并且常被称作“奇偶校验位”。基本计算机字(8位部件上的8个位)存储在存储器的9个位上,第9位为奇偶校验位,其定位应使字的奇偶是对称的偶数/奇数。在读操作中,检验奇偶性并将8位字定位在数据总线上。在写操作时,将定位在数据总线上的8位字写入存储器并同时产生出奇偶校验位。问题是,在数据总线上,所传输的字不包括任何完整性数据:没有办法检验一旦将这一数值转移至存储器、中央处理器CPU或高速缓冲存储器时它将会仍然正确。
这些解决方案对在执行命令例如在空格字段中执行命令时出现的“偶然”故障来说是足够的,因为故障是点发的(脉冲)并且会要么是影响数据(或敏感过程)要么是影响数据的冗余性或其校验和。应该注意到,敏感数据或加密计算过程的任何决定或任何操作都可认为是敏感的。作为非限制实例,可能会提到选择接收命令或选择接收文件读/写/擦除操作或选择接收至/自电子余额的债务或债权或者是比较密码或MAC(信息鉴别代码)的决策过程。
但是,心怀叵测的人能够重复电子部件上的故障并且修改其技术直至他们成功。因而,可以认为黑客将试图对敏感过程和冗余过程复制同一故障,使故障不能被检测出来。
于是从现有技术公知了一种解决方案,这就是在敏感过程与其冗余性之间插入随机延迟,如实例1所示。这种解决方案大大地提高了免受故障的抵抗能力。
不过,黑客仍能对部件实施长时物理微扰,这样敏感过程及其冗余都会受到干扰并且无论何种故障都不可能被检出。
一般来说,现有技术的解决方案不可能有效地直面那些能够影响敏感过程和冗余数据的长时微扰。
本发明旨在通过提供一种故障检测方法来弥补现有技术的这些不足,其中,在把敏感过程与其冗余性分隔开的延迟中引入了“俘获”式装置。更具体地说,俘获装置对同样的微扰敏感以便给出指示:这些微扰存在。
根据本发明的方法对免遭长时微扰尤为适宜,因为俘获装置对微扰信息实施跟踪,如果后者既涉及敏感过程也涉及冗余过程的话。
因此,本发明在广义上涉及到对电子设备中执行计算机代码时因微扰所引起的故障进行检测的方法,所说的计算机代码包括所谓的敏感过程。本方法包括执行敏感过程之冗余过程的步骤以及在敏感过程与冗余过程之间插入延迟的步骤,其特征在于该方法还包括在延迟时执行俘获装置的步骤,所说的装置对微扰敏感并且在没有微扰的情况下给出预测结果。
根据实施方案,俘获装置为软件传感器或硬件传感器。
在一种实施方案中,以随机方式确定插入的延迟。
在另一实施方案中,俘获装置为硬件传感器。
更具体地说,执行俘获装置的步骤是将俘获装置执行随机次。
在一种实施方案中,可预测的结果是设备存储器中的参考值。
在一具体实施方案中,俘获装置在于将至少一个参数值读写进设备存储器的读写操作。
在另一实施方案中,俘获装置对至少一个参考值进行操作。
在一种实施方案中,敏感过程包括敏感数据或保密数据的一个操作(读、写、计算、条件转移)。
最后,敏感数据或保密数据为卡内所含数据,其一定不被外界的直接存取所修改。
在另一实施方案中,敏感或保密数据为卡内所含数据,其一定不被泄露给外界。
本发明还涉及到实现本方法的体系结构,其包括中央处理器和不同于中央处理器的硬件传感器,所说的硬件传感器对微扰敏感并且在没有微扰的情况下给出预测结果。
在一种实施方案中,体系结构还包括与中央处理器相关的至少一个命令。
本发明还涉及到实现本方法的芯片卡,芯片卡包括存储计算机代码的存储装置和用来执行计算机代码、执行敏感过程和冗余过程并在执行敏感过程与冗余过程之间执行俘获装置的处理装置。
在参照实例阅读下文中仅作为解释用而给出的本发明实施方案说明的同时将会对本发明有更好的了解,实例中:
-实例1示出现有技术下的一些最近的解决方案;
-实例2示出利用本发明实施的解决方案;及
-实例3示出本发明的典型应用。
参看实例2,长微扰影响命令Cmd,更具体地说,影响根据现有技术解决方案所能实现的敏感过程和/或冗余过程。俘获型传感器插在执行敏感过程与执行冗余过程之间。
如果微扰没有重叠不止一部分敏感过程(或冗余过程)以及陷阱(B),那么该陷阱将不检测此微扰因而也不能检测故障的可能性,但敏感过程与冗余过程将会不同,这将使得能够对故障进行检测。
如果微扰还部分地重叠陷阱(C),依其实现情况而定,陷阱(C)将能够检测长微扰的存在。
最后,如果微扰既包围敏感过程也包围冗余过程,还包围陷阱(A),敏感过程和冗余过程可能不检测攻击,在这种情况下陷阱将检测微扰。
俘获装置意味着提供出预测或预定结果,而与全局电子部件所使用、对影响所得结果之外部参数敏感的其他参数无关。俘获传感器对微扰敏感并且在没有微扰时给出可预测或乃至恒定的结果。若结果不同,则已经检测到故障/微扰。
这种俘获装置可由软件用一条代码加以实现。在汇编语言中,传感器可由一套下述伪代码组成:
Trap:
load ptr,#nvm_addr_ref1
load R1,@ptr
store @ram1,R1
load R2,@ram1
load ptr,#nvm_addr_ref2
load R3,@ptr
add R2,R3
cmp R2,#res
beq no_fault
jmp fault_detection
no_fault:
ret
load ptr,#nvm_addr_ref1在寄存器ptr中将参考地址ref1装入非易失性存储器nvm,
load R1,@ptr将指针ptr(ref1值)所指示的内容装入寄存器R1,
store @ram1,R1将R1的内容写在ram1地址,
load R2,@ram1读出ram1地址并将内容转移到寄存器R2,
load ptr,#nvm_addr_ref2在寄存器ptr中将地址ref2装入nvm,
load R3,@ptr将指针ptr(ref2值)所指示的内容装入寄存器R3,
add R2,R3在R2中将R2与R3相加(=ref1+ref2),
cmp R2,#res将R2与res进行比较,res=ref1+ref2,
beq no_fault从陷阱出来并在预期结果的情况下接替程序的执行,
jmp fault_detection:如果R2与预期值#res不同,那么程序转移至故障处理例行程序。
对于故障影响是对执行陷阱代码时的数据进行修改的情况,这样的故障极可能被检测出来,因为R2中的最终结果将与代码(#ref)中的预期的硬件预定值不同。
陷阱型软件传感器在于处理数据和对已知变量进行操作。黑客利用的微扰,其作用是对陷阱中所使用的数据或变量中的至少其一进行修改,这就导致产生出意外的结果。
最后,传感器能够以硬件方式实现,例如在敏感过程与冗余过程之间的时段内通过使用光敏传感器来实现。如果由光敏传感器所提供的电能超过预定阈值,那么就已检测到光微扰。
小型硬件模块也可以与CPU并联或串联运行并且以预定结果进行操作,目的是在其执行期间进行故障检测。
敏感过程与冗余过程间的陷阱可能有几种组合:
-在敏感过程之后立即执行陷阱,
-在陷阱之后立即执行冗余过程,
-在敏感过程与冗余过程间随机地确定延迟,并在此延迟期间执行陷阱,
-在跟随敏感过程的随机延迟之后执行陷阱。因而,陷阱的执行时间间隔是不可预测的,
-陷阱被执行随机次,因而能构成敏感过程与冗余过程之间的间隔。因而使陷阱的执行时间间隔变得不可预测。
作为一个实例,实例3示出本发明在数据文件读存取帧内的应用。在用户请求打开文件时发出存取要求AC。
如果存取要求未得到满足,由存取要求校验例程发出错误代码。这个错误代码禁止读所请求的文件。
如果满足了存取要求,俘获软件传感器则执行一段时间。在传感器检测到根据本发明的故障时,它就实施根据流行安全政策的反应,而且该反应禁止存取文件。
如果软件传感器在出现超时的情况下仍然什么也未检测到,那么重新检验对文件的存取要求。如果存取数据已被黑客修改过,那么检测故障并实施安全政策或者是在存取要求再次得到满足时授权(读文件并传送数据。

Claims (9)

1.用于检测在电子设备中执行计算机代码时因微扰所造成的故障的方法,计算机代码包括所谓的敏感过程,所述方法包括执行该敏感过程的冗余过程的步骤以及在敏感过程与冗余过程之间插入延迟的步骤,
其特征在于,
所述方法还包括在延迟期间执行俘获装置的步骤,俘获装置对微扰敏感并且在没有微扰的情况下给出可预测的结果,
俘获装置为软件传感器或硬件传感器,并且敏感过程包括对敏感或保密数据的操作。
2.根据权利要求1所述的方法,其特征在于,
随机地确定所述插入的延迟。
3.根据权利要求1所述的方法,其特征在于,
在随机等待时间之后执行被插入的俘获装置。
4.根据权利要求1所述的方法,其特征在于,
执行俘获装置的步骤是将俘获装置执行随机次。
5.根据权利要求1所述的方法,其特征在于,
可预测的结果为设备存储器中的参考值。
6.根据权利要求1所述的方法,其特征在于,
俘获装置包括自/至设备存储器的至少一个参考值的读写操作。
7.根据权利要求1所述的方法,其特征在于,
俘获装置进行关于至少一个参考值的操作。
8.根据利要求1所述的方法,其特征在于,
所说的敏感或保密数据为卡内所含的数据,其一定不被外界的直接存取所修改。
9.根据利要求1所述的方法,其特征在于,
所说的敏感或保密数据为卡内所含的数据,其一定不被泄露给外界。
CN2006800332585A 2005-07-19 2006-06-12 对长微扰造成的故障的检测 Expired - Fee Related CN101263502B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0552239 2005-07-19
FR0552239A FR2888960B1 (fr) 2005-07-19 2005-07-19 Detection d'une faute par perturbation longue
PCT/EP2006/063091 WO2007009847A1 (fr) 2005-07-19 2006-06-12 Detection d'une faute par perturbation longue

Publications (2)

Publication Number Publication Date
CN101263502A CN101263502A (zh) 2008-09-10
CN101263502B true CN101263502B (zh) 2010-05-19

Family

ID=36143304

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800332585A Expired - Fee Related CN101263502B (zh) 2005-07-19 2006-06-12 对长微扰造成的故障的检测

Country Status (8)

Country Link
US (1) US8375253B2 (zh)
EP (1) EP1904946B1 (zh)
JP (1) JP4822231B2 (zh)
CN (1) CN101263502B (zh)
AT (1) ATE421734T1 (zh)
DE (1) DE602006004998D1 (zh)
FR (1) FR2888960B1 (zh)
WO (1) WO2007009847A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2926381A1 (fr) * 2008-01-11 2009-07-17 Sagem Securite Sa Methode de transfert securise de donnees
US8583880B2 (en) 2008-05-15 2013-11-12 Nxp B.V. Method for secure data reading and data handling system
FR2934396B1 (fr) * 2008-07-24 2010-09-17 Oberthur Technologies Procede de traitement conditionnel de donnees protege contre les attaques par generation de fautes et dispositif associe
EP2333628B1 (en) * 2009-12-04 2013-12-04 Umicore AG & Co. KG A system and method for system automation based on interpreting a tree sequence of operations
EP2354993A1 (en) * 2009-12-30 2011-08-10 Gemalto SA JCVM bytecode execution protection against fault attacks
KR20150136337A (ko) * 2014-05-27 2015-12-07 한국전자통신연구원 부채널 분석 시스템 및 그 방법
EP3057027B1 (en) * 2015-02-16 2018-06-13 Nxp B.V. Method for secure data reading, computer program product and data handling system
US11055409B2 (en) 2019-01-06 2021-07-06 Nuvoton Technology Corporation Protected system
CN110096856B (zh) * 2019-04-19 2022-02-11 奇安信科技集团股份有限公司 一种访问控制方法、系统、电子设备及介质
US11960358B1 (en) * 2022-09-30 2024-04-16 Nxp B.V. More secure data reading with error correction codes

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1172387A (zh) * 1996-07-31 1998-02-04 摩托罗拉公司 用于hfc系统的各种路由的自动定时调整
US5802266A (en) * 1993-10-15 1998-09-01 Hitachi, Ltd. Logic circuit having error detection function, redundant resource management method, and fault tolerant system using it

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4387423A (en) * 1979-02-16 1983-06-07 Honeywell Information Systems Inc. Microprogrammed system having single microstep apparatus
US5535331A (en) * 1987-09-04 1996-07-09 Texas Instruments Incorporated Processor condition sensing circuits, systems and methods
JP3206275B2 (ja) * 1994-02-25 2001-09-10 株式会社日立製作所 誤り検出機能付き論理回路及びそれを用いたフォールトトレラントシステム
JPH09160808A (ja) * 1995-12-08 1997-06-20 Sumitomo Electric Ind Ltd プログラムの流れ監視装置
EP1158743B1 (en) * 2000-05-23 2008-07-09 Hitachi, Ltd. Computing system with remote copy facility
US7006947B2 (en) * 2001-01-08 2006-02-28 Vextec Corporation Method and apparatus for predicting failure in a system
JP4009437B2 (ja) * 2001-05-09 2007-11-14 株式会社ルネサステクノロジ 情報処理装置
US7072291B1 (en) * 2001-08-23 2006-07-04 Cisco Technology, Inc. Devices, softwares and methods for redundantly encoding a data stream for network transmission with adjustable redundant-coding delay
US7313734B2 (en) * 2002-01-14 2007-12-25 International Business Machines Corporation Method and system for instruction tracing with enhanced interrupt avoidance
JP4219818B2 (ja) * 2002-01-24 2009-02-04 富士通株式会社 割込み遅延を動的に決定する計算機
EP1612638B1 (en) * 2004-07-01 2011-03-09 Texas Instruments Incorporated Method and system of verifying proper execution of a secure mode entry sequence
TWI336823B (en) * 2004-07-10 2011-02-01 Onwafer Technologies Inc Methods of and apparatuses for maintenance, diagnosis, and optimization of processes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802266A (en) * 1993-10-15 1998-09-01 Hitachi, Ltd. Logic circuit having error detection function, redundant resource management method, and fault tolerant system using it
CN1172387A (zh) * 1996-07-31 1998-02-04 摩托罗拉公司 用于hfc系统的各种路由的自动定时调整

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Hagai Bar-El,Hamid Choukri,David Naccache,MichaelTunstall,Claire Whelan.The Sorcerer's Apprentice Guide to Fault Attacks.http://eprint.iacr.org/2004/100.pdf.2004,11-12. *
Lorena Anghel,Michael Nicolaidis.Cost reduction and evaluation of a temporary faultsdetectingtechnique.http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=840845.2002,592-593. *

Also Published As

Publication number Publication date
DE602006004998D1 (de) 2009-03-12
FR2888960B1 (fr) 2007-10-12
US8375253B2 (en) 2013-02-12
WO2007009847A1 (fr) 2007-01-25
JP2009501983A (ja) 2009-01-22
US20090119646A1 (en) 2009-05-07
EP1904946B1 (fr) 2009-01-21
ATE421734T1 (de) 2009-02-15
EP1904946A1 (fr) 2008-04-02
JP4822231B2 (ja) 2011-11-24
FR2888960A1 (fr) 2007-01-26
CN101263502A (zh) 2008-09-10

Similar Documents

Publication Publication Date Title
CN101263502B (zh) 对长微扰造成的故障的检测
USRE47621E1 (en) Secure transaction microcontroller with secure boot loader
US7584386B2 (en) Microprocessor comprising error detection means protected against an attack by error injection
CN101243450A (zh) 具有非易失性存储模块的电路布置和用于在所述非易失性存储模块上登记攻击的方法
US20060112436A1 (en) Protection of a microcontroller
CN106462509A (zh) 用于保全存取保护方案的设备及方法
CN106845289A (zh) 一种安全芯片及其非易失性存储控制装置、方法
RU2603545C2 (ru) Защита апплетов от анализа скрытых каналов
US7447916B2 (en) Blocking of the operation of an integrated circuit
US7330979B1 (en) Method for protecting the processing of sensitive information in a monolithic security module, and associate security module
JP2007004456A (ja) 携帯可能電子装置及び携帯可能電子装置のデータ出力方法
US7593258B2 (en) Protection of the flow of a program executed by an integrated circuit or of data contained in this circuit
WO2001097010A2 (en) Data processing method and device for protected execution of instructions
JP2005080932A (ja) 遊技制御ユニット、補助遊技制御ユニット及び遊技機
US20130268934A1 (en) Dynamic method for controlling the integrity of the execution of an executable code
JP2008287449A (ja) データプロセッサ
US20090300339A1 (en) Lsi for ic card
US20060265578A1 (en) Detection of a sequencing error in the execution of a program
JP2008204085A (ja) 半導体記憶装置
US8528081B2 (en) Memory system
US7806319B2 (en) System and method for protection of data contained in an integrated circuit
JP3234959B2 (ja) マイクロコンピュータおよびこれを内蔵するカード
ES2429766T3 (es) Método de transferencia segura de datos
EP3460702A1 (en) Method to detect an attack by fault injection on a sensitive operation
US7107616B2 (en) Method of producing a response

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100519

Termination date: 20200612