CN1332860A - 电子元件及其用于屏蔽指令执行或数据处理的方法 - Google Patents
电子元件及其用于屏蔽指令执行或数据处理的方法 Download PDFInfo
- Publication number
- CN1332860A CN1332860A CN99812249A CN99812249A CN1332860A CN 1332860 A CN1332860 A CN 1332860A CN 99812249 A CN99812249 A CN 99812249A CN 99812249 A CN99812249 A CN 99812249A CN 1332860 A CN1332860 A CN 1332860A
- Authority
- CN
- China
- Prior art keywords
- electronic component
- counter
- routine
- auxiliary routine
- auxiliary
- 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.)
- Pending
Links
Images
Classifications
-
- 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/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
-
- 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/21—Indexing 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/2123—Dummy operation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Microcomputers (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种电子元件(CI),它包括一个用于执行主要程序的微处理器(1)和存储设备(2,3)。一个随机数值(R)的发生器(4)的输出产生一个计算结束的信息信号(ITO),以便当执行一个辅助程序时,暂停所述主要程序的执行。本发明适用于智能卡。
Description
本发明涉及电子元件及其用于屏蔽指令执行或数据处理的方法。
具体地说,本发明涉及的电子元件用于业务存取或数据存取受到严格控制的应用领域。这类电子元件形成的是围绕微处理器和存储器的体系结构,它们执行的算法使用的是存储在元件中的秘密数据,而这些数据外部不能得到。这样,一个秘密数据就可以用于完成有效的电子事务处理,例如进行购物,在任何时间该数据都不会在元件外部得到。
但是,在某些情况下,通过在外部观察某些参数,例如与外部系统交换的数据或元件的电源接线端消耗的电流,根据统计处理就可以检索与该元件有关的信息。特别是,通过根据时间观察数据总线上传播的信息(数据总线通常是一组总线),就可以获得在这些信息和该元件中所用的算法处理之间的相关性。
也可以通过观察电流随时间的功耗情况得到所说信息的相关性。这样就可以推出一个指令中处理的比特值。人们知道,在给定时间内一个特定指令消耗的电流根据处理的比特值“0”或“1”而变化。
本发明的目的在于屏蔽元件中的指令执行和数据处理的方法,以便不能观察电子元件的外部参数。
根据本发明,考虑随机地中断电子元件执行的主程序,从而执行一个辅助程序。由此,随时改变了程序的执行。从外部看起来,不再可能进行统计处理,这是因为记录的曲线暂时随机地全部偏离了。如果观察到了数据交换的例子,则不论外部如何控制,由卡对任何外部命令的响应时间随时都会发生变化,从而不再能够推断出任何相关信息。
对于观察电流消耗来讲,这种随时间消耗的电流自身截断,而且使电流消耗偏离正常的电流消耗曲线,也就不能得到任何相关信息。
这样,作为体现这种特征的本发明涉及的电子元件包括至少一个微处理器和存储设备,以便执行主要程序。
根据本发明,该元件还包括一个随机数值计算器,该计算器的输出产生一个结束计算信息信号作为输出,以便在要求由微处理器执行一个辅助程序时暂停所述主要程序的执行。
在本发明的一个实施方案中,该辅助程序的执行持续时间是恒定的。在本发明的另一个实施方案中,该执行持续时间是变化的,而且该执行持续时间甚至是随机的。
在一个改进的实施方案中,使该辅助程序启动电流消耗设备,所述电流消耗设备使元件的电流消耗曲线变形,这样也就更加有效屏蔽了所进行的操作和受控数据。
本发明还涉及屏蔽电子元件中的指令执行或数据处理的方法。
通过下面结合附图对示意性的非限定例子的说明将会详细了解本发明的其它特征和优点,其中:
图1是本发明电子元件的方框图;和
图2是本发明另一实施例电子元件的另一方框图。
图1示出的是本发明电子元件CI的简单方框图。该电子元件包括一个微处理器1和与数据主线6相连的内源。所述内源主要包括一些存储器,一个计算器4和一个随机数值R的发生器5,在该实施例中所述存储器是一个程序存储器2和一个工作存储器3。
电子元件CI包括不同的外部连接端子。在该实施例中,是一组数据的输入/输出元件,因此具有一个数据输入/输出端子I/O。它还包括一个接地端子Vss,一个电源端子Vcc,和一些与控制信号相关的端子(未示出)。
微处理器在输入/输出接口8处接收指令和数据,该接口连接到与外部系统相关的数据输入/输出端子上。
微处理器内产生不同的控制信号,以便管理不同的内源。
在这些控制信号中,示出了计算器4的一个有效信号EN,计算器的一个起始信号LOAD和随机发生器5的一个激发信号SEL。
当计算器运行时(处于工作状态),该计算器产生一个计算结束信号ITO。该计算结束信息信号用作切断微处理器的信号。这样,该信号连接到微处理器的断路器7的输入。应注意的是,计算结束表示的是一种一般表达式,意思是计算器结束直到一个确定数值,或者是指从确定数值计算器结束向下计算到零。
应注意的是,在所示的具体实施例中,计算器是一个硬件。
微处理器1执行存储程序中的主程序,该程序与输入/输出接口8接收的指令或数据有关,而这些数据又与外部系统有关。
根据本发明,主程序的执行随时都会被屏蔽,并同时执行存储程序中的辅助程序。
为此,在开始主程序时,使计算器初始化运行时带有一个新的随机数值。实际上,该运行包括使计算器无效(EN处于不工作状态)的指令,先取出随机发生器5中的随机数值R,然后将该数值加到(LOAD)计算器中,最后启动计算器(EN处于工作状态)。
当计算器减到零时,该计算器就激励计算结束的信息信号ITO,这就切断微处理器的运行。当执行(由微处理器执行)辅助程序时,就屏蔽主程序。辅助程序对应于所考虑的切断管理运行。
辅助程序至少包括上述已经用于使计算器初始化到一个新随机数值的序列,以便能够产生一个新的切断。
该辅助程序可以对应于一个固定指令数值,在这种情况下,定时执行辅助程序。例如,如果辅助程序只有取出发生器5的新随机数值R和将该新随机数值R装入计算器4中(初始化)的指令,则定时地执行辅助程序。
在这种情况下,除了执行主程序外,同时还定期随机地进行若干编码(对应于辅助程序)。
在本发明的一个变型中,可以使辅助程序的执行持续时间发生变化。
在第一个实施例中,辅助程序在一个二元数据上进行试验,该数据每次做完程序就要修改,然后使执行的指令数成随试验结果而变化。也可以使可变执行持续时间依赖随数学函数,例如,假定该数学函数需要多次计算才能求得结果,则执行持续时间根据数学函数进行变化。所有这些求得一个可变持续时间的技术都是公知的。
在另一个实施例中,使该可变执行持续时间随机发生变化。在该实施例中,使辅助程序包括禁止该计算器,即先取出一个新的随机数值,再在反向计数回路中进行反向计数使该数值到达零,然后再用一个新的随机数值对计算器初始化。
在该变型中,将不定时进行的编码不定时地引入执行的主程序中。
实际上,本发明可以有多种变换。
特别是在主程序的执行持续时间减少不是很多的情况下,可以在当时就限制因执行辅助程序引起的总的延迟时间。
在本发明的另一个实施方案中,不仅随机瞬间地暂停主程序的执行,而且还消耗附加电流,该附加电流会“扰乱”执行主程序时的电流消耗。
这种附加电流的消耗可以是瞬间地由辅助程序中的指令引起的。例如,可以在该辅助程序中用一种算法进行多次计算,所述算法例如是加密算法。
所执行的这种运算是相应瞬间的电流消耗,也就是指执行指令的时间,由于该瞬间的电流消耗加入到了正常电流消耗中,所以就会扰乱主程序的正常消耗,主程序的正常消耗是由于执行主程序而随时间变化的。
也可以在某一段时间内增加电流的消耗,以便具有持久的作用。因此,辅助程序起动电流消耗设备,当执行辅助程序及主程序以后的指令时,该电流消耗设备至少在某一段时间消耗电流。
图2示出的是本发明该第二实施方式的电子元件的方框图。
除了上面已经描述过的那些标号与图1相同的元件以外,电子元件还有一个充电泵9。
该充电泵主要用于产生高压Vpp,该高压用于根据电源电压Vcc进行编程和清零,以便能够对一个电子编程存储器和/或电子清零存储器中的数据进行编程和/或清零,所述存储器例如通常称作EPROM,EEPROM,还有flash EPROM存储器的存储器。在本发明中,该充电泵与编程存储器相连。
在该实施例中,该泵由编程存储器的读出信号WE起动。
这种泵的特征为公知特征,它在输出产生高压期间和在编程或清零期间(几个毫秒)消耗大量电流。通过起动该泵,也就是说通过在辅助程序中提供编程指令,就会增加一个相当大的电流消耗,由此就会屏蔽辅助程序及主程序以后的指令。
本发明并不限于上述实施方案或变形型。本发明包括所有用于在某一固定时间、变化或随机时间内暂停地屏蔽主程序的设备,有或没有使用增加辅助电流消耗的设备均可以。
通过使用本发明上述任何一种变型或这些变型的组合进行屏蔽或干扰,就不可能出现任何统计处理。
实际上,选择这种或那种辅助程序可以取决于电子元件的用途。
本发明可应用到所有包括至少一个计算器和一个随机发生器的电子元件。对于给定的电子元件来讲,选择这种或那种辅助程序取决于所考虑的元件的来源以及与所要进行的用途相关的功能。
也可以使用与其它程序混合的不同辅助程序,为了改善干扰的效果,则在开始切断时就选择所要执行的辅助程序。
这种电子元件特别适用于智能卡,以便改善它们的不可侵犯性。
Claims (15)
1.一种电子元件,它包括至少一个用于执行主程序的微处理器(1)和存储设备(2,3),其特征在于该元件还包括一个计算随机数值(R)的计算器(4),所述计算器产生一个计算结束的信息信号(ITO)作为输出,以便当微处理器执行一个辅助程序时,暂停所述主要程序的执行。
2.根据权利要求1所述的电子元件,其特征在于该辅助程序的执行持续时间是恒定的。
3.根据权利要求1所述的电子元件,其特征在于该辅助程序的执行持续时间是变化的。
4.根据权利要求3所述的电子元件,其特征在于该辅助程序的执行持续时间是随机的。
5.根据上述任一权利要求所述的电子元件,其特征在于它还包括由辅助程序启动的电流消耗设备。
6.根据权利要求5所述的电子元件,其特征在于所述电流消耗设备包括一个充电泵(9)。
7.根据权利要求5或6所述的电子元件,其特征在于所述电流消耗设备具有产生电流瞬时消耗的指令。
8.一种用于屏蔽电子元件(CI)中的操作执行和数据处理的方法,该电子元件包括一个用于执行主程序的微处理器(1)和存储设备(2,3),其特征在于使用产生一个随机数值(R)的发生器(5)和一个计算器(4),以便当请求执行一个辅助程序时,随机瞬间地暂停所述主要程序的执行。
9.根据权利要求8所述的方法,其特征在于所述辅助程序在于使计算器(4)不起动,取出一个新的随机数值(R),用该新数值使计算器(4)初始化,在重新执行主要程序前进行反向计数。
10.根据权利要求8所述的方法,其特征在于随机地执行所述辅助程序。
11.根据权利要求10所述的方法,其特征在于辅助程序使计算器(4)不起动,取出一个新的随机数值(R),在辅助程序回路中进行反向计数使该新数值到达零,然后再取另一个新的随机数值(R)对计算器初始化到所说另一新值,在重新执行主要程序前起动计算器。
12.根据权利要求8至11之一所述的方法,其特征在于所述辅助程序还起动电流消耗设备。
13.根据权利要求12所述的方法,其特征在于电流消耗设备包括一个充电泵(9)。
14.根据权利要求12或13所述的方法,其特征在于所述电流消耗设备具有产生电流瞬时消耗的指令。
15.根据权利要求8至14之一所述的方法,其特征在于它包括不同的辅助程序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9812988A FR2784763B1 (fr) | 1998-10-16 | 1998-10-16 | Composant electronique et procede pour masquer l'execution d'instructions ou la manipulation de donnees |
FR98/12988 | 1998-10-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1332860A true CN1332860A (zh) | 2002-01-23 |
Family
ID=9531646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN99812249A Pending CN1332860A (zh) | 1998-10-16 | 1999-10-15 | 电子元件及其用于屏蔽指令执行或数据处理的方法 |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1121629A1 (zh) |
JP (1) | JP2002528784A (zh) |
CN (1) | CN1332860A (zh) |
AU (1) | AU6207799A (zh) |
FR (1) | FR2784763B1 (zh) |
WO (1) | WO2000023866A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1682175B (zh) * | 2002-09-13 | 2010-12-08 | Nxp股份有限公司 | 用于密码处理器的电流源 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001118042A (ja) * | 1999-10-19 | 2001-04-27 | Hitachi Ltd | カード監視方法 |
FR2818766A1 (fr) * | 2000-12-21 | 2002-06-28 | Bull Cp8 | Procede de securisation de l'execution d'un programme implante dans un module electronique a microprocesseur, ainsi que le module electronique et la carte a microcircuit associes |
JP4173297B2 (ja) * | 2001-09-13 | 2008-10-29 | 株式会社ルネサステクノロジ | メモリカード |
EP1293856A1 (fr) | 2001-09-18 | 2003-03-19 | EM Microelectronic-Marin SA | Circuit Intégré sécurisé comprenant des parties à caractère confidentiel, et procédé pour sa mise en action |
FR2857804B1 (fr) * | 2003-07-17 | 2006-05-26 | Atmel Corp | Procede et appareil pour lisser la consommation de courant d ans un circuit integre |
WO2005010939A2 (en) * | 2003-07-17 | 2005-02-03 | Atmel Corporation | Method and apparatus for smoothing current consumption in an integrated circuit |
FR2924262B1 (fr) * | 2007-11-26 | 2009-12-11 | Sagem Securite | Procede de masquage de passage en fin de vie d'un dispositif electronique et dispositif comportant un module de controle correspondant |
WO2009074927A1 (en) | 2007-12-13 | 2009-06-18 | Nxp B.V. | Electronic circuit and method of masking current requirements of an electronic circuit |
FR2973150B1 (fr) * | 2011-03-21 | 2013-04-26 | Morpho | Procede de masquage de passage en fin de vie d'un dispositif electronique et dispositif comportant un module de controle correspondant |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2638869B1 (fr) * | 1988-11-10 | 1990-12-21 | Sgs Thomson Microelectronics | Dispositif de securite contre la detection non autorisee de donnees protegees |
CA2037857C (en) * | 1990-03-20 | 2001-01-16 | Roy Allen Griffin, Iii | Prevention of determination of time of execution of predetermined data processing routine in relation to occurrence of prior observable external event |
FR2745924B1 (fr) * | 1996-03-07 | 1998-12-11 | Bull Cp8 | Circuit integre perfectionne et procede d'utilisation d'un tel circuit integre |
-
1998
- 1998-10-16 FR FR9812988A patent/FR2784763B1/fr not_active Expired - Fee Related
-
1999
- 1999-10-15 JP JP2000577544A patent/JP2002528784A/ja active Pending
- 1999-10-15 CN CN99812249A patent/CN1332860A/zh active Pending
- 1999-10-15 EP EP99949058A patent/EP1121629A1/fr not_active Withdrawn
- 1999-10-15 AU AU62077/99A patent/AU6207799A/en not_active Abandoned
- 1999-10-15 WO PCT/FR1999/002521 patent/WO2000023866A1/fr not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1682175B (zh) * | 2002-09-13 | 2010-12-08 | Nxp股份有限公司 | 用于密码处理器的电流源 |
Also Published As
Publication number | Publication date |
---|---|
FR2784763A1 (fr) | 2000-04-21 |
WO2000023866A1 (fr) | 2000-04-27 |
JP2002528784A (ja) | 2002-09-03 |
FR2784763B1 (fr) | 2001-10-19 |
EP1121629A1 (fr) | 2001-08-08 |
AU6207799A (en) | 2000-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1332860A (zh) | 电子元件及其用于屏蔽指令执行或数据处理的方法 | |
US7380245B1 (en) | Technique for detecting corruption associated with a stack in a storage device | |
CN1823275A (zh) | 用于平整化集成电路中的电流消耗的方法和装置 | |
US7496738B2 (en) | Method of automatic control of the execution of a program by a microprocessor | |
CN102483646A (zh) | 根据性能灵敏度不均匀地改变计算单元的性能 | |
CN111597040B (zh) | 一种资源分配方法、装置、存储介质和电子设备 | |
CN1046363C (zh) | 半导体存储装置 | |
US6157979A (en) | Programmable controlling device with non-volatile ferroelectric state-machines for restarting processor when power is restored with execution states retained in said non-volatile state-machines on power down | |
CN1682175A (zh) | 用于密码处理器的电流源 | |
CN114491383A (zh) | 桥梁监测的异常数据处理方法及系统 | |
CN101366231A (zh) | 密码运算处理电路 | |
KR20020087387A (ko) | 프로세서 시스템 | |
CN110442466B (zh) | 防止请求重复访问方法、装置、计算机设备及存储介质 | |
US7584464B2 (en) | Software processing method and software processing system | |
CN1183482C (zh) | 消耗时间间隔与数据载体的功率消耗相适配的数据载体 | |
US20030221117A1 (en) | Testing of an algorithm executed by an integrated circuit | |
US7676796B2 (en) | Device, system and method for maintaining a pre-defined number of free registers within an instrumented program | |
US7437610B2 (en) | Checking of the atomicity of commands executed by a microprocessor | |
CN1145115C (zh) | 载入模块式计算机程序的方法 | |
CN1392980A (zh) | 防止对存储器中指令的不正当使用 | |
CN118140215A (zh) | 一种内存控制器和带内存控制器的数据处理系统 | |
CN110420458A (zh) | 游戏请求处理方法及装置 | |
CN100390696C (zh) | 微控制器和用于处理微控制器编程的相关方法 | |
US20050071606A1 (en) | Device, system and method of allocating spill cells in binary instrumentation using one free register | |
WO1995034905A1 (en) | Computer system with peripheral control functions integrated into host cpu |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
C10 | Entry into substantive examination | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |