CN1253331A - 数据信号的电子处理设备 - Google Patents

数据信号的电子处理设备 Download PDF

Info

Publication number
CN1253331A
CN1253331A CN99111398A CN99111398A CN1253331A CN 1253331 A CN1253331 A CN 1253331A CN 99111398 A CN99111398 A CN 99111398A CN 99111398 A CN99111398 A CN 99111398A CN 1253331 A CN1253331 A CN 1253331A
Authority
CN
China
Prior art keywords
instruction
signal
unit
execution unit
random
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
CN99111398A
Other languages
English (en)
Other versions
CN1183441C (zh
Inventor
T·拉贝勒
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1253331A publication Critical patent/CN1253331A/zh
Application granted granted Critical
Publication of CN1183441C publication Critical patent/CN1183441C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0806Details of the card
    • G07F7/0813Specific details related to card security
    • G07F7/082Features insuring the integrity of the data on or in the card
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Business, Economics & Management (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Storage Device Security (AREA)
  • Advance Control (AREA)

Abstract

一种用于数据信号的电子处理设备,包括经指令预取单元相互连接以便交换地址和/或指令信号的一个指令执行单元和一个指令存储单元。指令预取单元首先将一个或多个地址信号放入指令存储单元以便选择指令信号。除所提供的一个或多个指令信号,指令执行单元从指令预取单元还接收禁止指令执行单元中的相关指令执行的一个禁止信号。指令执行单元还包括随机数发生器和禁止部分,该禁止部分插入禁止信号传输链路,并通过随机数发生器来驱动以便将禁止信号出现的持续时间延长到超过基准执行瞬间。

Description

数据信号的电子处理设备
本发明涉及数据信号的电子处理设备
在允许进入和存取控制系统中使用所列举类型的设备。所谓的芯片卡构成一个最好的应用领域。提供一种用于这样场合的数据信号的电子处理设备,例如,所谓的保密处理器。在这种保密处理器执行的以完成存取过程,登记操作或类似操作的程序是被窃取的主要目标。一种用于破坏这种保密处理器的保密性的方法是基于对处理器的输入和输出电流的测量和对这些电流的时间分析。这样做试图,例如,发现加密操作的密钥或保密程序的功能。其他的方法是基于与保密处理器内的后继工序有关的读出外部代码(其本身可以是,例如,被加密的)的分析。
为维护或保证这样的保密处理器所要求的对保密程序,数据或操作的保密存取,应该使上述破坏保密的方法不可能进行。为达到此目的,必须采取适当的保密方法。
从1997年7月出版的“未来阶段的计算机系统”,13卷,第1期,第55页到第63页中的文章“在保密模块执行的软件算法的保护”的摘要可以得知电子数据处理程序中的循环结构可以展示关于所执行的算法及其参数的重要信息。特别是,例如,通过监控在这样的程序执行期间数据处理设备的能量消耗,监控从外部存储器取来的指令,或监控发出的电磁能量有可能观察到正常程序。为伪装由处理器执行的算法的细节,建议进行伪操作。将这样的伪操作插入实际程序以伪装其暂时执行的结构。
专利US5,404,402公开一种不易受这样的攻击(破坏保密程序)的微处理器。在所引用的专利描述的微处理器试图降低其操作遭受基于监控内部时钟的攻击的易损性。通过使用完全随机的函数调制时钟能够阻止这样的关于从其中得到的连续时钟的观测,和预测。这产生一个不可预测的时钟脉冲流。接着使用该时钟脉冲流根据保密算法执行处理器中的数据处理。
文件EP0 448 262 A2公开一种用于防止发现与前面所出现的,可观察到的外部事件有关的预定数据处理操作的执行时间的方法及其执行该方法的系统。在所引用的文件公开的方法包括一个具有在可观察的外部事件的出现和预定的程序指令的执行之间经过的时间周期的随机控制变化的步骤。该步骤本身包括一个在可观察的外部事件的出现和预定的程序指令的执行之间执行一个或多个数据处理中间例行程序的步骤,还包括一个根据随机函数改变所述中间例行程序的持续时间的步骤。上述步骤可以通过从所存储的并具有不同的执行持续时间的例行程序组随机选择给定数目的用于所述数据处理程序执行的中间例行程序,以及通过在所执行的数据处理程序的执行中插入这些例行程序来实现。
公开号为WO97/33217的国际专利申请公开一种集成电路,及其使用该电路的方法,该电路设置一个用于消除至少一个程序指令序列的执行和集成电路的内部或外部电信号之间相关性的装置。为此目的,该集成电路包括一个由被加载随机数发生器产生的随机数或者被加载由该设备所执行的主程序产生的预定值的寄存器所布置的电路。通过一个中断触发器逻辑电路完全地,或者部分地使用该寄存器,中断触发器逻辑电路包括一个输入端,中断触发逻辑电路经该输入端接收一个来自校准电路的非相关的时钟信号。将中断触发器逻辑电路的输出经一个门电路连接到该设备包括的中央处理器的中断输入。通过来自另一个寄存器的一个或多个数据位控制该门电路。来自另一个寄存器的一个或多个数据位用作一个在给定的,通常类型的微处理器执行的程序的中断屏蔽。当处理器的中断输入端出现一个中断时,一个在例如主系统或第二程序包含的处理该中断的程序将引入不同的主程序中断指令序列的处理时间。
本发明的目的是以进行时间分析攻击比较困难甚至不可能的方式失真数据信号的电子处理设备的暂时行为。
根据本发明,该目的通过一个数据信号的电子处理设备来实现,该设备包括经指令预取单元相互连接的以便交换地址和/或指令信号的一个指令执行单元和一个指令存储单元,其中为执行一个指令,指令预取单元首先将一个或多个地址信号放入指令存储单元以便选择指令信号,该指令信号被存储在指令存储单元以便备选并随后从指令存储单元经指令预取单元传送到指令执行单元,其中除寄发的一个或多个指令信号,直到指令执行单元可以使用的相关指令执行所必须的全部指令信号之外,指令执行单元从指令预取单元还接收禁止指令执行单元中的相关指令执行的一个锁定信号,指令执行单元还包括一个随机数发生器和其上连接的一个禁止部分(stage),该禁止部分插入指令预取单元和指令执行单元之间的锁定信号传输链路,并通过随机数发生器来驱动以便通过根据一个随机函数选择的时间周期将锁定信号出现的持续时间延长到超过基准执行瞬间。
在根据本发明的设备,发现加载到指令执行单元的指令及其对从指令执行单元得到的各种指令的影响之间的暂时相关性,在这种试图发现上述的暂时相关性是基于发现锁定信号的范围内,通过引入随机控制延长该禁止信号的出现来阻止上述的试图发现暂时相关性。因此,不再能够确定前面加载的哪一个指令产生指令执行单元的任何被窃取信号及其暂时关系。伪装该关系也能伪装潜在的相关算法。
在本发明的一个优选实施例,根据用于经指令预取单元提供的每个指令信号的或者仅用于经指令预取单元提供并根据一个随机函数选择的指令信号的一个随机函数延长禁止信号出现的持续时间。因此,如果需要的话,也可以使各个指令信号的禁止信号相互不受影响。
本发明提供对“黑客”较好的防护并最好用于加密,允许进入和/或访问系统。芯片卡构成本发明的一个应用领域。
在唯一的附图中示出本发明的一个实施例,下面对其进行详细描述。
如图所示根据本发明的数据信号电子处理设备的实施例包括一个由标记数字1表示的指令执行单元,例如处理器。指令存储单元3经指令预取单元2连接到指令执行单元1。这样的连接包括从指令预取单元2提供到指令存储单元3的地址信号的地址表4。以惯用的方式使用这些地址信号用于寻址,即,用于取出存储在指令存储单元3的给定指令。这样寻址的指令经指令表5进入指令预取单元2。
指令预取单元2将这些指令转发到指令执行单元1所必须的是执行从指令存储单元3取出的指令。提供一个进一步的指令表6用于此目的。
在指令预取单元2和指令执行单元1之间,与该进一步的指令表6平行地设置一个锁定信号表7。该锁定信号表7将一个锁定信号从指令预取单元2传送到指令执行单元1,该锁定信号防止当前取出的指令在指令执行单元1执行直到指令执行单元1可使用相关指令执行所需的全部指令信号为止。这意味着全部指令信号存储在指令预取单元2以便可以由指令执行单元1快速地取出;然而,这也意味着这些指令信号直接出现在指令执行单元1。锁定信号使相关指令在其后被执行。
图中所示的实施例也包括一个用于根据随机函数产生一个随机信号的随机数发生器8。该随机信号经控制引导9提供给禁止部分10。禁止部分10插入禁止信号表7并由随机数发生器单元8经该随机信号驱动,以便延长禁止信号出现的持续时间使其超过所执行的相关指令的基准执行瞬间。经禁止部分10,将禁止信号延长一个根据相关的随机信号选择的,超过所谓的基准执行瞬间的时间周期。仅在该周期之后在指令执行单元1执行相关指令。这样根据一个随机函数延长禁止信号出现的持续时间。
可以为每个指令提供这样的延长。然而,作为一种替换,可以仅延长选择的指令的禁止信号的出现持续时间。然后,根据随机数发生器单元8产生的随机函数再次选择这样的函数。例如,这可以通过根据随机函数在随机数发生器单元判定是否输出随机信号来实现。在第一种情况,输出的随机信号包含依照该随机函数产生的信息并与禁止信号出现的持续时间的延长幅度有关。然而,如果未输出随机信号,禁止部分10保持无效,因为禁止部分10构成一个简单的禁止信号引导7的待用。
这样,本发明阻止根据当前测量和时间分析,破坏在所述设备执行的程序的保密性的企图,因为随机数发生器单元8在指令执行中引入随机发生并具有随机持续时间的延迟周期。这伪装了指令存储单元3的指令代码的读出和相关指令执行之间的暂时关系。这样,也影响指令执行的时隙模式。
本发明特别易于实现,因为很多处理器已包含产生并处理禁止信号的设备。在较慢的指令存储单元的情况下,这样的设备用于暂时推迟指令的执行,直到下一个指令可用为止。根据本发明,结合随机数发生器单元8,可以使用这样的设备以便以不可预测的方式延迟程序或其执行。
值得注意的是,在具有独立,多级指令预取单元2的处理器的情况下,将延迟指令执行单元1的禁止信号直到可用的下一个指令与随机信号逻辑组合。在从指令存储器取出一个或多个指令之后以不可预测的方式延迟整个设备(处理器)的操作。与取出指令的暂时相关性变得更加困难。在根据本发明的设备,从取出指令直到其执行的指令长度基于执行历史及所使用的随机序列。
作为一种替换,可以使用伪随机数发生器取代随机数发生器单元8。
本发明特别适用于阻止对芯片卡中的处理器的时间分析。

Claims (4)

1、一种用于数据信号的电子处理设备,包括经指令预取单元相互连接以便交换地址和域指令信号的一个指令执行单元和一个指令存储单元,其中为执行一个指令,指令预取单元首先将一个或多个地址信号放入指令存储单元以便选择指令信号,该指令信号被存储在指令存储单元以便备选并随后从指令存储单元经指令预取单元传送到指令执行单元,其中除转发的一个或多个指令信号,直到指令执行单元可以使用的相关指令执行所必须的全部指令信号(基准执行瞬间)之外,指令执行单元从指令预取单元还接收禁止指令执行单元中的相关指令执行的一个锁定信号,指令执行单元还包括一个随机数发生器和其上连接的一个禁止部分,该禁止部分插入指令预取单元和指令执行单元之间的禁止信号传输链路,并通过随机数发生器来驱动,以便通过根据一个随机函数选择的时间周期将锁定信号出现的持续时间延长到超过基准执行瞬间。
2、如权利要求1所述的设备,其特征在于根据经指令预取单元提供的每个指令信号的随机函数延长禁止信号的出现持续时间。
3、如权利要求1所述的设备,其特征在于仅根据经指令预取单元提供的并根据随机函数选择的指令信号的随机函数延长禁止信号的出现持续时间。
4、一种芯片卡,其特征在于包括如前面任一权利要求所述的设备。
CNB991113985A 1998-07-29 1999-07-26 数据信号的电子处理设备 Expired - Fee Related CN1183441C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19834076A DE19834076A1 (de) 1998-07-29 1998-07-29 Anordnung zur elektronischen Verarbeitung von Datensignalen
DE19834076.1 1998-07-29

Publications (2)

Publication Number Publication Date
CN1253331A true CN1253331A (zh) 2000-05-17
CN1183441C CN1183441C (zh) 2005-01-05

Family

ID=7875662

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB991113985A Expired - Fee Related CN1183441C (zh) 1998-07-29 1999-07-26 数据信号的电子处理设备

Country Status (4)

Country Link
EP (1) EP0977108A3 (zh)
JP (1) JP2000122932A (zh)
CN (1) CN1183441C (zh)
DE (1) DE19834076A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19841676A1 (de) * 1998-09-11 2000-03-16 Giesecke & Devrient Gmbh Zugriffsgeschützter Datenträger
FR2807591B1 (fr) 2000-04-06 2003-08-08 Gemplus Card Int Procede de contre-mesure pour un micro-controleur base sur une architecture avec "pipeline"
FR2824648B1 (fr) * 2001-05-14 2003-08-08 Gemplus Card Int Procede de protection d'un circuit logique contre des attaques exterieures, et unite logique contenant un circuit logique a proteger contre des attaques exterieures

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL110181A (en) * 1994-06-30 1998-02-08 Softchip Israel Ltd Install microprocessor and peripherals
FR2745924B1 (fr) * 1996-03-07 1998-12-11 Bull Cp8 Circuit integre perfectionne et procede d'utilisation d'un tel circuit integre

Also Published As

Publication number Publication date
EP0977108A2 (de) 2000-02-02
JP2000122932A (ja) 2000-04-28
DE19834076A1 (de) 2000-02-10
CN1183441C (zh) 2005-01-05
EP0977108A3 (de) 2001-01-17

Similar Documents

Publication Publication Date Title
EP3718004B1 (en) Encoding of input to storage circuitry
EP0743602B1 (en) Circuit device for function usage control in an integrated circuit
EP0809171B1 (en) Apparatus and method to provide security for a keypad processor of a transaction terminal
US9582650B2 (en) Security of program executables and microprocessors based on compiler-architecture interaction
US6910094B1 (en) Secure memory management unit which uses multiple cryptographic algorithms
US20020166058A1 (en) Semiconductor integrated circuit on IC card protected against tampering
EP0809832B1 (en) Integrated circuit for smart card
US7036017B2 (en) Microprocessor configuration with encryption
US20050273631A1 (en) Cryptographic CPU architecture with random instruction masking to thwart differential power analysis
CN101084504B (zh) 具有改进的器件安全性的集成电路
EP1612639A1 (en) Method for detecting and reacting against possible attack to security enforcing operation performed by a cryptographic token or card
US20030110390A1 (en) Secure data processing unit, and an associated method
US10389530B2 (en) Secure method for processing content stored within a component, and corresponding component
EP2996034A1 (en) Execution flow protection in microcontrollers
CN1183441C (zh) 数据信号的电子处理设备
CN101366231A (zh) 密码运算处理电路
WO2002093365A1 (en) Sequence numbering mechanism to ensure execution order integrity of inter-dependent smart card applications
US7891556B2 (en) Memory access controller and method for memory access control
JP2003228521A (ja) 集積回路の動作のブロック
US10037287B2 (en) Method for protecting memory against unauthorized access
WO2009101445A1 (en) Real time clock
WO2001097010A2 (en) Data processing method and device for protected execution of instructions
Leng Smart card applications and security
CN102110206A (zh) 防御攻击的方法和具有攻击防御功能的装置
CN101925906A (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
C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee