CN1324472A - 器件和用于制造集成电路防护的方法 - Google Patents

器件和用于制造集成电路防护的方法 Download PDF

Info

Publication number
CN1324472A
CN1324472A CN99812723A CN99812723A CN1324472A CN 1324472 A CN1324472 A CN 1324472A CN 99812723 A CN99812723 A CN 99812723A CN 99812723 A CN99812723 A CN 99812723A CN 1324472 A CN1324472 A CN 1324472A
Authority
CN
China
Prior art keywords
copy
piece
program
address
memory block
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
Application number
CN99812723A
Other languages
English (en)
Inventor
埃里克·格鲍尔特
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.)
Schlumberger SA
Axalto SA
Original Assignee
Schlumberger 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 Schlumberger SA filed Critical Schlumberger SA
Publication of CN1324472A publication Critical patent/CN1324472A/zh
Pending legal-status Critical Current

Links

Images

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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
    • 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
    • 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
    • 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)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Mathematical Physics (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)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明涉及一种包括一个存储区的集成电路器件,该存储区一方面包括一个数据存储器和一个程序存储器,另一方面包括一个具有N个代码块Bi(i=1……,N)的程序,本发明还涉及一种制造这种装置防护的方法。本发明的特征在于:所述存储区具有x个程序代码块Bi(x=1,……,N)的M个拷贝Cj(j=1…,M),所述的这些拷贝驻留在所述存储区内的不同地址中,其特征还在于:所述器件具有用于随机选择x个块Bi中的至少一个的一个拷贝Cj作为在执行所述程序时使用的一个块拷贝。本发明特别适合用在灵巧的卡上。

Description

器件和用于制造集成电路防护的方法
本发明涉及一种集成电路器件,其包含一个存储区,该存储区一方面包括一个数据存储器和一个程序存储器,另一方面包括一个具有n个代码块Bi(i=1,……N)的程序。本发明还涉及一种用来制造这种器件防护的方法。
这类集成电路器件广泛用在必须进行保密信息的存储和必须具有处理的安全性的应用场合中。这些应用例如可以是涉及卫生方面的应用,移动电话或银行应用的具有电子元件的卡。
这些卡包括一集成电路,此集成电路通常包括一个用于通过总线处理和分配存储在该卡的存储区内的数据和地址信息的控制器(例如一个中心处理单元即CPU)。这个具有总线的集成电路特别是在这些总线传送逻辑1信息时要消耗电功率。
另外,被一个具有电子元件的卡使用的电流强度随着时间改变,具体地说,是因为在该卡的总线上传送数据或地址的不同的值。电流随着时间的改变是卡的活动的电特征图形(electrical signature)电特征图形,所以对所述特征图形的分析是对所述活动的表征。因此伪造者借助对电特征图形进行分析,例如可以容易跟踪在该卡的程序中的不同代码块中的一系列操作,从而可以访问包含在该卡中的秘密信息。
为了使伪造者对电特征图形的分析变得更复杂,现有技术建议提供一些辅助器件,这些辅助器件产生一些假的信号,这些假信号附加在该具有电子元件的卡活动的电特征图形特征图形上。虽然这些辅助器件能使对电特征图形的分析变得更加困难,但是这些元件使卡的操作速度减慢,因为它们独占了卡的一些资源,这些资源已经用于执行卡的专用操作,并且消耗的电流比较多,因为它们包括在操作时需要消耗电功率的电子元件。
这样,本发明要解决的一个技术问题是:提供一种包括一个存储区的集成电路器件,该存储区一方面包括一个数据存储器和一个程序存储器,而另一方面包括一个具有N个代码块Bi(i=1,…,N)程序,还提供一种制造这种器件防护装置(device secure)的方法,以便获得一个电特征图形:使对所述的电特征图形的分析更加困难,并且其需要很小的电功率和时间消耗,例如由于辅助器件专用器件本身的资源。
按照本发明的第一个目的,一个解决所提出的技术问题的方案的特征在于:所述的集成电路器件的所述的存储区包括具有x个程序代码块Bi(x=1…,N)的M个拷贝Cj(j=1,…,M),其中所述拷贝驻留在所述存储区内的不同的地址上,其特征还在于:所述器件包括一选择组件,该组件用于随机选择在x个块Bi中的至少一个的一个拷贝Cj,作为在执行所述程序时使用的一个块拷贝。
按照本发明的第二个目的,此解决方案的特征在于:所述提供防护的方法包括下述步骤:
在所述存储区内产生x个程序代码块Bi(x=1,…,N)的M个拷贝Cj(j=1,…,M),其中所述拷贝驻留在所述存储区内的不同地址中,以及
随机选择x个块Bi中的至少一个的一个拷贝Cj,作为在执行所述程序时使用的一个块拷贝。
因此,如下面将详细描述那样,按照本发明的器件,尤其是利用所述的电特征图形随着在所述器件总线上传送的值的改变的事实,使伪造者对电特征图形进行分析变得非常困难,从而防止伪造。
从下面的结合附图对本发明的优选的实施例的描述,可以使本发明的其它特征和优点变得更加清楚,这些实施例是作为非限定的例子提供的。附图中:
图1示出了一个集成电路器件,例如一个具有电子元件的卡。
图2示出了图1中的卡上的存储区。
图3示出了图1中的卡上的总线。
图4示出了限定代码块Bi的图2的存储区。
图5示出了在图1的卡内部的代码块和它的拷贝的地址。
图6示出了代码块和它的拷贝在图2的存储区内的分布。
图7示出了另一代码块和它的拷贝在图2的存储区内的分布。
图1示出了一个集成电路器件10,例如一个具有电子元件的卡。
卡10包括一个控制器(例如中央处理单元即CPU),一个包括数据存储器14和一个程序存储器15的存储区域12以及一个用于与例如一个卡阅读连接器相连的终端组件13。
图2中示出了一个存储器12,它包括一个程序P,程序P包括N个代码块Bi(i=1,…,N),其构成代表在执行所述程序P时要完成的步骤或操作的代码块,所述程序P能完成例如从卡10中读出或选择数据的操作,并且其中所述块Bi处理数据和地址信息。
在执行程序P时,在存储器14、15和控制器11之间通过在所述集成电路内部的总线进行信息交换,这些信息交换由所述卡10中的控制器11控制。这些总线或者是用于传送地址信息的总线,或者是用于传送地址信息的总线。如图3所示,数据总线D1,D2,…,D8和地址总线A1,A2…,A16与在每个存储区12内的每个数据存储器14和程序存储器15相连,并且还与控制器11(CPU)相连。
为了搅乱在执行程序P时对电特征图形的分析,在此,程序P的执行是卡10的活动的表征,根据本发明的器件包括在所述的存储区12内的一个或几个块Bi的M个拷贝Cj(j=1,……,M)、和选择组件Ms,用于随机选择一个块Bi的拷贝Cj中的一个,作为后者必须在所述程序中执行时有待执行的一个块拷贝。在执行程序P时,将执行几个代码块Bi。图4例举一个给定的块Bi的例子。对于每次在程序P之内执行有待执行的此块Bi,包括执行在存储区12之内的拷贝Cj,选择组件Ms随机地选择块Bi或者它的拷贝Cj中的一个,供在程序P中执行。由于各个拷贝Cj以及块Bi驻留在不同的地址值中,所以对于每个在程序P内执行块Bi的新的请求,这些总线不承载相同的地址值,这就使对电特征图形的分析变得更加困难,在此,根据在卡10上的总线上传送的值,电特征图形改变。这个器件包括的拷贝块Bi越多,对这个电特征图形的分析就越困难。这就是本发明提供x个块Bi(x=1,…,N)的多个拷贝Cj的理由。
特别是,电特征图形随着如图3所示的在地址总线上传送的值二改变,更具体地说,只要在一条总线上出现信息1,该信息就需要一定的电流。然而如果上述的拷贝Cj和所述的块Bi的地址值在电功率消耗上是相等的(例如所述的地址值1111100000000000和0000111011000000引起相同的功率消耗,因为它们各具有相同位数的1和0),那么,电特征图形变化不很大。因此应按照下述方式选择这些地址,使被拷贝块Bi和它的M个拷贝Cj的地址集合中的至少两个地址的位值之和是不同的。在实践上,业已发现,一般说来,在这些和中有1比特的差就足以能区分这些地址值的电功率消耗量的改变,从而使这个电特征图形的分析变得更加复杂。在图5中示出的那个例子中示出一个块Bi和它的三个拷贝C1、C2和C3,以及它们的相应的地址Ab,Ac1,Ac2和Ac3。在这个例子中,不难发现,地址值Ab,Ac1和Ac3的位值之和是不同的,因此这些地址值在电功率消耗上是不同的,而地址值Ab和Ac2的位值之和是相等的(它们的和都等于7),因此它们的地址值在电功率消耗方面是相等的。
正象电特征图形随着在地址总线上传送的数值的改变一样,电特征图形也随着在图3中所示的数据总线上的数值改变。
因此,按照本发明,在被拷贝块Bi和它的M个拷贝的地址集合中(其中块Bi包括用于管理给定数目的数据的操作),一个地址驻留在程序存储器15中,而另一个地址驻留在数据存储器14中,如图6和7中的例子所示。在此,驻留在程序存储器15中的某一操作,例如读或写操作的执行所消耗的电流量不同于此操作驻留在数据存储器时消耗的电流量。被拷贝的块Bi的操作从卡控制器11来看为在数据总线上传输的数据信息。
因此在块被拷贝到不同的存储器内的上述系统能搅乱电特征图形,并且可以理解,这个系统与到目前为止已描述的系统相结合可以使对电特征图形的分析变得更加困难。
最后,除了由于在本发明的器件内部提供不同系统而使电特征图形的随机改变外,如前面所述,本发明还提供所述特征图形的随机时间改变。更具体地说,本发明提供一种器件,其包括用于随机编制块Bi的执行的控制组件。每个块包括一组与具有电子元件的卡有关的操作。当执行这些操作时产生一些受卡的控制器11控制的功能。为了实现这些功能,控制器要花费时间。一般说来,对于每一组功能,所花费的时间也不同;对于每一组操作也是一样。因此当使用用于块的随机执行块的控制器时,在每次重新执行程序P时,因代码块不按照相同的次序执行,所以电特征图形随次数改变,因此,例如伪造者将不能重复起动执行所述程序P和分析电特征图形,以达到他要竭力找到在各种处理操作与包含在该电特征图形内的每个信号或一系列信号间的默契关系的目的。可以注意到,为了对付伪造,没有加入辅助装置。

Claims (8)

1.一种集成电路器件,包括一个存储区,该存储区一方面包括一个数据存储器和一个程序存储区,另一方面包括一个具有n个代码块Bi(i=1,…,N)的程序,其特征在于:所述存储区具有x个程序代码块Bi(x=1,…,N)的M个拷贝Cj(j=1,…,M),其中所述拷贝驻留在所述存储区内的不同的地址上,其特征还在于:所述器件包括一个选择组件,用于随机选择在x个块Bi中的至少一个的一个拷贝Cj,作为在执行所述程序时使用的一个块拷贝。
2.如权利要求1所述的器件,其特征在于:在一个被拷贝块Bi和它的M个拷贝的地址集合之中的至少两个地址的位值之和是不同的。
3.如上面权利要求之一所述的器件,其特征在于:在一个被拷贝的块Bi和它的M个拷贝Cj的地址集合中的一个地址驻留在程序存储器内,而另一个地址驻留在数据存储器内。
4.如上面权利要求之一所述的器件,其特征在于:它包括一个用于随机编制块执行程序的控制器。
5.一种用于制造集成电路防护的方法,该集成电路包括一个存储区,所述的存储区一方面包括一个数据存储器和一个程序存储器,另一方面包括一个具有N个代码块Bi(i=1,…,N)的程序,其特征在于:所述的方法包括下述步骤:
在所述存储区内产生x个程序代码块Bi的M个拷贝Cj(j=1,…,M),其中所述拷贝驻留在所述存储区内的不同地址中,以及
随机选择x个块Bi中的至少一个的一个拷贝Cj,作为在执行所述程序中时使用的块拷贝。
6.如权利要求5所述的方法,其特征在于:所述的方法包括一个附件的步骤,即选择在一个被拷贝的块Bi和它的M个拷贝Cj中的地址的集合中的至少二个地址的位值之和,使上述至少二个地址的位值之和不同。
7.如权利要求5或6所述的方法,其特征在于:在一个被拷贝的块Bi和它的M个拷贝的地址集合中,一个地址在程序存储器内选择,而另一个地址在数据存储器内选择。
8.如权利要求5、6或7所述的方法,其特征在于:所述的方法包括随机编制块执行程序的附加步骤。
CN99812723A 1998-10-29 1999-10-28 器件和用于制造集成电路防护的方法 Pending CN1324472A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR98/13606 1998-10-29
FR9813606A FR2785422B1 (fr) 1998-10-29 1998-10-29 Dispositif et procede pour la securisation d'un circuit integre

Publications (1)

Publication Number Publication Date
CN1324472A true CN1324472A (zh) 2001-11-28

Family

ID=9532157

Family Applications (1)

Application Number Title Priority Date Filing Date
CN99812723A Pending CN1324472A (zh) 1998-10-29 1999-10-28 器件和用于制造集成电路防护的方法

Country Status (7)

Country Link
US (1) US7069593B1 (zh)
EP (1) EP1125259B1 (zh)
CN (1) CN1324472A (zh)
AT (1) ATE243872T1 (zh)
DE (1) DE69909118T9 (zh)
FR (1) FR2785422B1 (zh)
WO (1) WO2000026869A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102428472A (zh) * 2009-05-18 2012-04-25 Nxp股份有限公司 本地代码的安全执行
CN106407128A (zh) * 2015-05-19 2017-02-15 Emc公司 用于向持久性存储器多播数据的方法和系统

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2849232B1 (fr) * 2002-12-24 2005-02-25 Trusted Logic Procede pour la securisation des systemes informatiques incorporant un module d'interpretation de code
FR2993380B1 (fr) 2012-07-10 2020-05-15 Morpho Procede pour proteger une carte a puce contre une attaque physique destinee a modifier le comportement logique d'un programme fonctionnel

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2856393B2 (ja) * 1987-02-17 1999-02-10 株式会社東芝 携帯可能電子装置
FR2683357A1 (fr) * 1991-10-30 1993-05-07 Philips Composants Microcircuit pour carte a puce a memoire programmable protegee.
FR2697361B1 (fr) * 1992-10-27 1994-12-16 Bull Cp8 Procédé et système d'inscription d'une information sur un support permettant de certifier ultérieurement l'originalité de cette information.
US5598470A (en) * 1994-04-25 1997-01-28 International Business Machines Corporation Method and apparatus for enabling trial period use of software products: Method and apparatus for utilizing a decryption block

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102428472A (zh) * 2009-05-18 2012-04-25 Nxp股份有限公司 本地代码的安全执行
CN102428472B (zh) * 2009-05-18 2015-04-22 Nxp股份有限公司 本地代码的安全执行
US10223291B2 (en) 2009-05-18 2019-03-05 Nxp B.V. Secure execution of native code
CN106407128A (zh) * 2015-05-19 2017-02-15 Emc公司 用于向持久性存储器多播数据的方法和系统
CN106407128B (zh) * 2015-05-19 2019-06-11 Emc公司 用于向持久性存储器多播数据的方法和系统

Also Published As

Publication number Publication date
EP1125259B1 (fr) 2003-06-25
DE69909118T2 (de) 2004-05-06
DE69909118T9 (de) 2005-07-07
US7069593B1 (en) 2006-06-27
FR2785422A1 (fr) 2000-05-05
ATE243872T1 (de) 2003-07-15
FR2785422B1 (fr) 2000-12-15
DE69909118D1 (de) 2003-07-31
WO2000026869A1 (fr) 2000-05-11
EP1125259A1 (fr) 2001-08-22

Similar Documents

Publication Publication Date Title
CN102023843B (zh) 函数的调用方法、装置及智能卡
CN1087085C (zh) 使用便携式芯片卡的方法
US20070088884A1 (en) Dynamic master/slave configuration for multiple expansion cards
CN1283818A (zh) 检测和操作多个扩展卡的集成pc卡主控制器
CN1759557A (zh) 具有外围设备访问保护的数据处理系统及其方法
CN1170256C (zh) 用于生物统计学鉴别的装置和方法
EP0032956B1 (en) Data processing system utilizing hierarchical memory
KR100648325B1 (ko) 스크램블링장치를 갖춘 메모리 어레이 및 이에 대한 데이타 컨텐츠 기억방법
EP0071315B1 (en) Digital data apparatus with peripheral unit select
CN104111870A (zh) 一种中断处理装置及中断处理方法
CN1118025C (zh) 采用逻辑区间链表寻址的智能卡嵌入式软件系统实现方法
CN1324472A (zh) 器件和用于制造集成电路防护的方法
EP1109102A2 (en) Memory system comprising multiple memory devices and memory access method
CN1102291C (zh) 半导体存储装置及其数据写入方法
CN1138237C (zh) 用于多种应用的便携式数据载体及其方法
CN101189577B (zh) 通过自动改变索引来访问配置寄存器的方法和装置
CN1768331A (zh) 半导体存储器装置和控制器及其读写控制方法
CN1332512C (zh) 射频识别技术中的防冲撞方法
CN1179272C (zh) 信号处理设备
CN1249549C (zh) 微处理器阵列装置操作方法
CN1701388A (zh) 多级单元存储器结构
CN1121041C (zh) 在快闪存储器中同时存放程序代码及数据资料的方法
CN1103221A (zh) 用于系统内部连接的扫描程序检验矩阵
JPH04230556A (ja) コンピュータシステム、複数の入出力アダプタによるアドレス空間共用システム、及び複数の入出力装置とコンピュータプロセッサ間の通信管理方法
CN1018487B (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
AD01 Patent right deemed abandoned
C20 Patent right or utility model deemed to be abandoned or is abandoned