CN1224871C - 数据处理设备及其用的电路 - Google Patents

数据处理设备及其用的电路 Download PDF

Info

Publication number
CN1224871C
CN1224871C CNB998016837A CN99801683A CN1224871C CN 1224871 C CN1224871 C CN 1224871C CN B998016837 A CNB998016837 A CN B998016837A CN 99801683 A CN99801683 A CN 99801683A CN 1224871 C CN1224871 C CN 1224871C
Authority
CN
China
Prior art keywords
order
data processing
processing equipment
algorithm
circuit
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
CNB998016837A
Other languages
English (en)
Other versions
CN1286768A (zh
Inventor
K·乌利
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 CN1286768A publication Critical patent/CN1286768A/zh
Application granted granted Critical
Publication of CN1224871C publication Critical patent/CN1224871C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • 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
    • 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
    • G06F21/77Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • 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, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • 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, look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3856Reordering of instructions, e.g. using queues or age tags
    • 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
    • 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
    • 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
    • G06F2207/7223Randomisation as countermeasure against side channel attacks
    • G06F2207/7252Randomisation as countermeasure against side channel attacks of operation order, e.g. starting to treat the exponent at a random place, or in a randomly chosen direction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress

Abstract

数据处理设备(1)包括电路(2),后者包括适用于在利用特性值(CV)的同时处理数据(DA)的数据处理装置(17),而且包括安排来按照算法控制数据处理装置(17)的定序装置(15),所述算法包括给定数目N的子算法,后者包含算法步骤的相同顺序,另外备有次序固定装置(29),它与定序装置(15)合作,从而在每一次执行算法时,可以为所述N个子算法的执行从多个可行的执行次序中确定一种次序。

Description

数据处理设备及其用的电路
技术领域
本发明涉及数据处理设备,该设备包括由可以通过导体配置馈入电源电压的各种电路部分组成的电路;并包括数据处理装置,它是这样的电路部分,使得它们可以馈入电源电压,并安排成能够在利用特性值的同时处理数据;还包括定序装置,它也由可以馈入电源电压的电路部分组成,并安排成能够执行算法,以便根据该算法控制数据处理装置,该算法包括给定个数N的子算法,子算法包含相同的算法步骤序列,并在每次执行该算法时,可以按给定的次序执行,其中,在定序装置按照该算法的控制下,用数据处理装置处理数据时,数据处理操作导致在导体配置区域出现电流峰图案,而电流峰图案的图案构形取决于算法步骤、被处理的数据和特性值。
本发明还涉及数据处理设备用的电路,该数据处理设备由各种可以通过配置的导体加上电源电压的电路部分组成;并包括数据处理装置,该装置是可以通过导体配置馈入电源电压的电路部分,并安排成能够在利用特性值的同时处理数据;还包括定序装置,该装置也是这样一种可以通过配置的导体加上电源电压的电路部分,并安排成能够执行一种算法,以便按照该算法控制数据处理装置,该算法包括给定个数N的子算法,这些子算法包含同样的算法步骤,并在每一次执行该算法时能够按给定的次序执行,其中在定序装置按照该算法的控制下用数据处理装置处理数据时,数据处理操作导致在导体配置区域出现电流峰图案,电流峰图案的图案构形取决于算法步骤、被处理的数据和特性值。
背景技术
第一段落提出的类型的数据处理设备和第二段落提出的类型的电路是已知的,尤其是接触型芯片卡,有各种各样的版本,并包括本申请人公司研制和销售的集成组件。在已知的数据处理设备中,也就在已知的接触型芯片卡中,和在已知的电路中,因而在这种已知接触型芯片卡中所包括的集成组件中,数据处理设备由加密装置构成,在利用加于其上的特性值,就是说密钥的同时,按照“数据加密标准”(DES)对加于其上的数据进行加密操作。在这样的加密操作中,总共执行N=8个所谓SBOX的单元,每个SBOX单元算出一个SBOX结果。所有8个SBOX单元在构成一种算法的程序框架内执行,其每一个程序块形成一个子算法,并与一个SBOX单元对应。每一个对应于SBOX单元的程序块都含有相关SBOX单元特有的表,该表含有一些项目,所有SBOX单元的项目都是不同的。包含在SBOX单元中的表,或者该表中的项目用来确定与加在SBOX单元上的输入数据相关的输出数据。但是,与输入数据相关的输出数据的这种确定是在利用链接所有8个SBOX单元的输入数据和输出数据的同一算法的情况下进行的;这意味着N个代表相应SBOX单元并构成相应子算法的程序块中的每一个都包含作为算法步骤的相同的程序指令序列。在已知的数据处理设备或已知电路中,每一次执行该程序时N个程序块都不可改变地以相同的次序执行。
在加密操作的执行过程中,在导体配置区域出现电流峰图案,该电流峰图案取决于程序指令,取决于在加密装置中处理的数据及取决于在该加密装置中使用的特性值,因而取决于这个加密装置用的密钥。在已知的数据处理设备或已知的电路中,遇到了这样的问题,就是这样引起的各个电流峰图案也出现在该电路的一部分,或该数据处理设备的一部分,这可以在外部查询到。每一次在所述部分引起的相应的电流峰图案可以用来,例如,提供给数据处理装置,用来以给定的已知数据利用特性值进行数据处理,次序地进行任意次,在处理已知数据的过程中这样产生的电流峰图案总是一样的,对这个电流峰图案进行观察和检测,从而利用比较复杂但已知并能获得的相关方法或比较方法即可从所检测到的电流峰图案提取出有关特性值的的信息,从而提取出该数据处理设备因而加密装置所用的密钥。显然,这样破解密钥是不希望有的,因为这样所要求的机密再也无法可靠地保证。
发明内容
本发明的一个目的是避免上述问题,并在利用简单装置,而且只外加非常少的工作的情况下提供一种经过改进的数据处理设备或数据处理设备用的经过改进的电路,它们在保持特性值机密方面保证高度可靠性。
为了达到上述目的,按照本发明在第一段落提出的类型的数据处理设备具有以下特征:该电路另外还包括次序固定装置,它与定序装置配合,从而在每次执行算法时,为N个子算法的执行从多个可行的次序中定出一种次序。
此外,为了达到上述目的,按照本发明在第二段落提出的类型的数据处理设备具有以下特征:该电路另外还包括次序固定装置,它与定序装置配合,从而为算法的每一次执行从N个子算法的多个可行的执行次序中确定一个次序。
采用本发明,非常简单和可靠地实现了以下目的:尽管所有次序执行的子算法的所有算法步骤的次序对于所述算法的每一次执行总是相同的,但是,对于所述算法的每一次执行,算法的N个子算法的执行次序是不同的,使得N个子算法的执行次序无法从数据处理设备或该数据处理设备的电路以外确定。因此,以下的操作也是不可能的:对依次激活算法而引起的依次产生的电流峰图案进行比较,以便利用这些电流峰图案、借助于相关方法或比较方法来进行分析。这样,对数据处理设备中所使用的诸如密钥等特性值的不希望有的识别或检测,就变得实际上不可能或至少困难得多。
按照本发明的数据处理设备或按照本发明的一种电路的改进实施例的特征是,所述次序固定装置包括随机数发生器,以及利用所述次序固定装置在每一次执行算法时,为所述N个子算法的执行,固定一种次序,所述次序是由所述随机数发生器产生的随机数定义的,并且,所述次序固定装置另外包括次序选择装置,后者含有N个子算法的可行的执行次序,并与所述随机数发生器配合,以及所述次序选择装置可以按从所述随机数发生器接收的随机数从所述可行的次序中选择一种次序。这些实施例对于按照本发明的数据处理设备或按照本发明的电路而言是非常有效的,因为这些实施例的特征有显著的简单性,并在利用按照本发明的数据处理设备或按照本发明的电路中已经存在的装置的同时很容易实现。至于次序选择装置,应该指出,这些次序选择装置最好所含有的只是N个算法的执行用的所有可行的执行次序的一部分,但也仅仅可能提供带有N个子算法全部可行的执行次序的次序选择装置。
按照本发明的数据处理设备或按照本发明的一种电路的改进实施例的特征是,该数据处理设备或该电路中设有存储装置,后者与所述定序装置配合,而且所述算法以程序的形式存储,所述程序包含作为子算法的N个程序块,所述子算法包括作为算法步骤的程序指令。已经发现,按照本发明的这些实施例是特别有利的,因为关于尤其是用于加密和/或解密数据的装置的密钥,存在对于安全性的非常明显的需求。
例如,按照本发明的数据处理设备可以由例如安排来执行加密程序的计算机或个人计算机形成。按照本发明的这些步骤已经证明是非常吸引人的,特别是对于一种数据处理设备或者一种电路更是吸引人的。其中所述数据处理设备由数据载体形成,所述数据载体的电路是以集成工艺构造的,或者所述电路是打算供由数据载体形成的数据处理设备用的,以及所述电路是以集成工艺构造的,因为在这些情况下破解特性值的危险性是特别高的。
从以下描述的实施例将明白本发明的这些和其它方面。
下面将参照附图中所示的实施例详细地描述本发明,但是,本发明不限于这些实施例。
附图说明
图1是表示本发明第一实施例中数据处理设备和这种数据处理设备用的电路的基本部分的方框图。
图2示意地表示构成总共N个程序块的同一个程序的三次执行。
具体实施方式
图1是表示数据处理设备的一部分的方框图,在这种情况下,该数据处理设备由数据载体1制成,它是为此目的而设置的,但图1中没有示出,它与读/写部分进行非接触通信。
数据载体1包括用集成技术实现的电路2。电路2包括多个后面将要详细描述的电路部分。这些电路部分可以经由配置的导体3而加上电源电压V。对电源电压的产生后面也将详细描述。
数据载体1包括发射机/接收机装置4,后者包括发射线圈5。发射机/接收机装置4连接到电路2的第一连接点6和第二连接点7。发射机线圈5可以用电感耦合到未示出的读/写部分的发射机线圈。这两个发射机线圈起动非调制载波信号CS以及按照准备从数据载体1发送到读/写部分的数据DA调幅的调幅载波信号CSM,以及负载调制的载波信号CSB,后者可以由数据载体1的负载调制装置(图1中未示出)或这个数据载体1的电路2产生,从而使准备从数据载体1发送到读/写部分的数据能够在通信双方之间、因而在读写部分和数据载体1之间发送,上述是久已众所周知的设备。
在数据载体1中电源电压V可以借助于从读/写部分发送到数据载体1的非调制载波信号CS,以及借助于从读/写部分发送到数据载体1的调幅载波信号CSM获得。为此目的,由发射机/接收机装置4接收的非调制载波信号CS和调幅载波信号CSM通过第一连接点6和连接到连接点6的导电连接结8加到电源电压产生装置9上。电源电压产生装置9主要包括整流级和储能电容器以及防止不希望有的过电压的限压装置。电源电压产生装置9能够产生已经指出的电源电压V,后者可以通过电源电压产生装置9的输出端10输出到配置的导体3。所产生的电源电压V可以通过配置的导体3加到电路2的各个电路部分。应该指出,配置的导体3还包括导电接地线,但为清晰起见在图1中从略。
数据载体1或电路2包括第一数据处理装置11,它可以通过电源输入端13A加上电源电压V。另外,通过连接线13A第一数据处理装置11还可以得到接收机/发射机装置4输出的调幅载波信号CSM的供给。通过连接到第二连接点7的另一根连接线13B、经由第一数据处理装置11,在接收机/发射机装置4内还可以得到负载调制的载波信号CSB。此外,连接到定序装置15的第一总线BUS连接线线14连接到第一数据处理装置11。定序装置15安排来执行第一算法,以便按照第一算法控制第一数据处理装置11。
第一数据处理装置11包括解调装置(未示出),从而可以对所施加的调幅载波信号CSM进行解调。调幅载波信号CSM这样解调后,若有必要可以对解调后的信号进行解码。若有必要,也可以进行进一步的处理操作。所有处理操作执行之后,第一数据处理装置11通过连接到第二数据处理装置17的第二总线BUS连接线线16输出数据DA。
第二数据处理装置17安排来在利用特性值CV的同时处理数据DA。在本实施例中,第二数据处理装置17由对数据进行加密和/或解密用的装置形成,加密和解密所需的密钥由前面指出的特性值CV形成。
第二数据处理装置17包括电源输入端18,通过它第二数据处理装置17可加上电源电压V。另外,第三总线BUS连接线线19连接到第二数据处理装置17,所示总线连接线器的另一端连接到定序装置15。定序装置15也安排来执行第二算法,以便按照这第二算法控制第二数据处理装置17。
在图1数据载体1的本实施例中,电路2包括程序存储器20,后者与定序装置15配合,其中以存储程序P的形式存储第二算法。第二算法,因而程序P包含给定个数N的子算法,后者在这种情况下由N个程序块PB1,PB2,PB3...PBN形成。由程序块PB1至PBN形成的各子算法含有相同顺序的算法步骤,在本实施例中后者由程序指令CO1,CO2,CO3...COR形成。正如后面将要详细描述的,N个子算法,因而N个程序块在该算法的因而该程序的每一次执行过程中给定的次序执行。程序存储装置20通过第四总线连接线器21连接到定序装置15,因而在程序存储装置20和定序装置15之间的配合可以通过第四总线连接线器21进行。程序存储装置20包括电源输入端22,通过后者电源电压V可以施加在程序存储装置20上。
电路2还包括存储装置23,后者包括数据存储部分24和特性值存储部分25。数据存储部分24安排来存储数据DA。特性值存储部分25安排来存储特性值CV。存储装置23包括电源输入端26,通过它把电源电压提供给存储装置23。第五总线BUS连接线27连接到存储装置23,所示总线BUS连接线的另一端连接到第二数据处理装置17。第二数据处理装置17和存储装置23之间数据的双向传输以及从存储装置23到第二数据处理装置17的特性值传输可以通过第五总线BUS连接线27进行。正如图1中虚线所表示的,可以在特性值存储部分25和第二数据处理装置17之间设置单独的总线BUS连接线28,后者使特性值存储部分25和第二数据处理装置17之间至少特性值CV的交换成为可能。
从第一数据处理装置11通过第二总线连接线16施加到第二数据处理装置17的数据DA可以在第二数据处理装置17中的加密操作过程中加密。在这样加密操作的情况下,所传输的加密数据DA通过第五总线BUS连接线27加到存储装置23的数据存储部分24,并存储于此。
从存储装置23的数据存储部分24读出并通过总线连接线27加到第二数据处理装置17上的数据DA可以在第二数据处理装置17中的另一个加密操作过程中加密;加密后的数据DA可以通过第二总线连接线16加到第一数据处理装置11上,加密后的数据DA在其中进一步处理,其后,最后通过连接13B按照加密后的数据DA进行负载调制,这样在接收机/发射机装置4中产生负载调制的载波信号CSB。
定序装置15在这样的加密操作过程中提供第二数据处理装置17的控制,就是说,基本上以这样的方式通过第四总线BUS连接线21从存储在程序存储装置20的程序中依次读出程序序列CO1,CO2等等,此后,在第二数据处理装置17中执行与所读出的各个程序指令对应的程序步骤。在利用第二数据处理装置17对数据DA进行处理的过程中,在定序装置15按照存储在程序存储装置20的程序的控制下,由于该数据处理在导体配置区上出现电流峰图案。于是,电流峰图案的图案配置取决于程序指令CO1,CO2,...COR,取决于处理后的数据DA,还取决于特性值CV。
数据载体1或电路2最好以这样的方式构成,即电路2还包括外加的次序固定装置29,后者与定序装置15配合,从而在由存储在程序存储装置20中的程序形成的算法的每一次执行时,可以从N个子算法的多个可行的执行次序,因而从N个程序块PB1,PB2...PBN固定一种次序。
在本实施例中,次序固定装置29包括随机数发生器30。随机数发生器30包括电源输入端31,电源电压V通过它提供给随机数发生器30。随机数发生器30通过第六总线BUS连接线32连接到定序装置15。次序固定装置29包括随机数发生器30,可以在存储在程序存储装置20的程序P的每一次执行时,固定一种次序,该次序是由随机数发生器30所发生的随机数Z确定的,并用来执行程序P的N个程序块PB1,至PBN。
为此目的,次序固定装置29另外还包括次序选择装置33,后者包括在定序装置15中。次序选择装置33含有程序P的N个程序块PB1至PBN的可行的执行次序。次序选择装置33最好只含有全部可行次序的一部分。次序选择装置33与随机数发生器30合作,就是说次序选择装置33可以以这样的一种方式根据从随机数发生器30通过第六总线BUS连接线32接收的随机数从这些包含在次序选择装置33中的可行次序中选择一种次序。
第一数据处理装置11、定序装置15、第二数据处理装置17、程序存储装置20、存储装置23和随机数发生器30构成电路2的相应的电路部分,这些电路部分可以通过导体配置3得到电源电压V。
下面将参照图2中的程序块PB1至PBN分别详细地描述第二数据处理装置17在定序装置15的控制下对数据DA进行处理时数据载体1和电路2的操作。
假定在数据载体1或数据载体1的电路2的数据处理操作过程中,安排来在利用特性值CV的同时处理数据DA的第二数据处理装置17依次被激活,进行图2中用标号RUN1,RUN2和RUN3标记的3次数据处理周期。在这样的数据处理操作过程中在达到第二数据处理装置17的第一个数据处理周期RUN1之前,随机数发生器30以未被描述的方式被激励,此后随机数发生器30产生随机数Z1,后者通过总线BUS连接线32施加在次序选择装置33上。次序选择装置33根据从随机数发生器30接收的随机数Z1,为程序P的N个程序块PB1至PBN的执行选择一种次序,例如图2左列中所示的PB1,PB2,PB4,PB6,PB3,...PB5和PBN。随后,按所述次序执行程序块PB1至PBN。包含在所述程序块中的所有程序指令CO1,CO2,...COR,CO1,CO2,...COR等等直至CO1,CO2,...COR均被执行为止;这意味着按照图2右列所指示的次序,把依次的程序指令CO1,CO2至COR总共执行N次。
当在数据处理操作过程中准备执行第二数据处理周期RUN2时,首先再次激励随机数发生器30,结果随机数发生器30输出第二随机数Z2。第二随机数Z2通过第六总线BUS连接线32加到次序选择装置33上,使次序选择装置选择另一种次序,例如,图2的第二列中所示的次序PB6,PB3,PB7,PBN,PB1,...PB4和PB2。于是,第二数据处理周期RUN2涉及执行N个程序块用的完全不同的次序。但是,程序指令CO1,CO2至COR等保持不变。
当在假定的数据处理操作的过程中准备执行第三数据处理周期RUN3时,以与上述相同的方式再次激励随机数发生器30,以便使随机数发生器产生随机数Z3,并将其通过第六总线BUS连接线32加到定序装置15或其中所包括的次序选择装置33上。因而,次序选择装置33为N个程序块PB1至PBN的执行选择另一种次序,例如,图2第三列中所示的次序PBN,PB1,PB4,PB6,PB3,...PB7和PB2。于是第三数据处理周期涉及执行程序P的N个程序块PB1至PBN的又一种新的次序,但是,程序指令的次序CO1,CO2至COR等还是相同的。
正如从上述可以看出的,对于图1中所示的数据载体1,或数据载体1的电路2,做到了即使所有依次执行的程序块PBX的所有程序指令COX的次序在程序P每一次执行时总是相同的,但在这个程序的每一次执行过程中,程序P的N个程序块PBX的执行次序却不相同。于是便做到N个程序块PBX的执行次序无法从数据载体1或数据载体1的电路2以外检测出来。因而,也不可能比较程序P依次激励所引起的电流峰图案的次序,来把这样的次序用于利用相关方法的分析,或把N个电流峰图案(每执行一次程序块PBX出现一个电流峰图案)的出现次序用于比较方法。因此,实现了以下事实:实际上不可能对用于第二数据处理装置17的特性值CV进行不希望有的检测或识别。
数据载体(未示出)的另一个实施例备有布线逻辑电路代替程序存储装置20;这种布线逻辑电路与定序装置15配合,并含有布线算法,亦即硬件算法。以硬件方式存储在布线逻辑电路中的这种算法,使定序装置15对第二数据处理装置17的类似的控制成为可能。
本发明不限于参照图1表示的实施例中的数据处理装置,因而不限于数据载体1。在图1所示的数据载体1中,这样构成次序选择装置33,以便它形成定序装置15的一部分,次序选择装置33用硬件实现。在按照本发明的数据处理的另一个实施例(未示出)中,,次序选择装置33也可以用选择程序实现,该选择程序构成存储在程序存储装置20中的程序P的一部分。然后随机数发生器30直接通过总线BUS连接线与第二数据处理装置17配合。还应指出,在图1所示的数据载体的情况下,存储在程序存储装置20中的程序P形成较大的程序的一部分。至于图2中所示的程序块PB1至PBN的顺序,应该指出,程序块不必以直接次序执行;也可以在执行两个次序的程序块PB当中执行另一程序的一部分。

Claims (12)

1.一种数据处理设备(1),包括电路(2),该电路由可通过配置的导体(3)加上电源电压(V)的各个电路部分(15,17,29)组成,其中包含:
数据处理装置(17),该装置构成可加上电源电压(V)的电路部分,并安排成在利用特性值(CV)的同时处理数据(DA);以及
定序装置(15),该装置也构成可加上电源电压(V)的电路部分,并安排成按照算法(P)来控制数据处理装置(17),所述算法包括给定数目(N)的子算法(PB1,PB2,...PBN),该子算法包含相同顺序的算法步骤(CO1,CO2,...COR),并能在每一次执行算法(P)时按给定的次序执行,
其中,在借助于数据处理装置(17)在所述定序装置(15)的控制下按照所述算法(P)处理数据(DA)时,所述数据处理导致在所述配置的导体(3)区域出现电流峰图案,所述电流峰图案的图案配置取决于所述算法步骤(CO1,CO2,...COR)、所述处理后的数据(DA)和所述特性值(CV),
其特征在于:所述电路(2)另外包括次序固定装置(29),该装置与所述定序装置(15)配合,从而在每一次执行算法(P)时,可以为所述给定数目(N)的子算法(PB1,PB2,...PBN)的执行,从多个可行的次序中确定一种次序。
2.权利要求1所要求的数据处理设备(1),其特征在于:所述次序固定装置(29)包括随机数发生器(30),以及利用所述次序固定装置(29)在每一次执行算法(P)时,为所述N个子算法(PB1,PB2,...PBN)的执行,固定一种次序,所述次序是由所述随机数发生器(30)产生的随机数(Z1,Z2,Z3)定义的,并且,所述次序固定装置(29)另外包括次序选择装置(33),该装置含有所述给定数目(N)的子算法(PB1,PB2,...PBN)的可行的执行次序,并与所述随机数发生器(30)配合,以及
所述次序选择装置(33)可以按从所述随机数发生器(30)接收的随机数(Z1,Z2,Z3)从所述可行的次序中选择一种次序。
3.权利要求1所要求的数据处理设备(1),其特征在于:该数据处理设备(1)中设有存储装置(20),该装置与所述定序装置(15)配合,而且所述算法(P)以程序的形式存储,所述程序包含作为子算法(PB1,PB2,PBN)的所述给定数目(N)的程序块,所述子算法包括作为算法步骤(CO1,CO2,...COR)的程序指令。
4.权利要求1所要求的数据处理设备(1),其特征在于:该数据处理设备(1)中设有布线逻辑电路,该电路与所述定序装置合作,并以布线的形式、因而以硬件的形式包含所述算法。
5.权利要求1所要求的数据处理设备(1),其特征在于:所述数据处理装置(17)由用于数据的加密和/或解密的装置形成。
6.权利要求1所要求的数据处理设备(1),其特征在于:所述数据处理设备(1)由数据载体形成,所述数据载体的电路(2)是以集成工艺构造的。
7.一种数据处理设备(1)用的电路(2),该电路由可通过配置的导体(3)加上电源电压(V)的各个电路部分(15,17,29)组成,其中包含:
数据处理装置(17),该装置构成可加上电源电压(V)的电路部分,并安排成在利用特性值(CV)的同时处理数据(DA);以及
定序装置(15),该装置也构成可加上电源电压(V)的电路部分,并安排成按照算法(P)来控制数据处理装置(17),所述算法包括给定数目(N)的子算法(PB1,PB2,...PBN),该子算法包含相同顺序的算法步骤(CO1,CO2,...COR),并能在每一次执行算法(P)时按给定的次序执行,
其中,在借助于所述数据处理装置(17)在所述定序装置(15)的控制下按照所述算法(P)处理数据(DA)时,所述数据处理导致在所述配置的导体(3)区域出现电流峰图案,所述电流峰图案的图案配置取决于所述算法步骤(CO1,CO2,...COR)、所述处理后的数据(DA)和所述特性值(CV),
其特征在于:所述电路(2)另外包括次序固定装置(29),该装置与所述定序装置(15)配合,从而在每一次执行算法(P)时,可以为所述给定数目(N)的子算法(PB1,PB2,...PBN)的执行,从多个可行的次序中确定一种次序。
8.权利要求7所要求的电路(2),其特征在于:所述次序固定装置(29)包括随机数发生器(30),以及利用所述次序固定装置(29)在每一次执行算法(P)时,为所述给定数目(N)的子算法(PB1,PB2,...PBN)的执行,固定一种次序,所述次序是由所述随机数发生器(30)产生的随机数(Z1,Z2,Z3)定义的,并且,所述次序固定装置(29)另外包括次序选择装置(33),该装置含有所述给定数目(N)的子算法(PB1,PB2,...PBN)的可行的执行次序,并与所述随机数发生器(30)配合,以及
所述次序选择装置(33)可以按从所述随机数发生器(30)接收的随机数(Z1,Z2,Z3)从所述可行的次序中选择一种次序。
9.权利要求7所要求的电路(2),其特征在于:该电路(2)中设有存储装置(20),该装置与所述定序装置(15)配合,而且所述算法(P)以程序的形式存储,所述程序包含作为子算法(PB1,PB2,PBN)的所述给定数目(N)的程序块,所述子算法包括作为算法步骤(CO1,CO2,...COR)的程序指令。
10.权利要求7所要求的电路(2),其特征在于:该电路(2)中设有布线逻辑电路,该布线逻辑电路与所述定序装置配合,并以布线的形式、因而以硬件的形式包含所述算法。
11.权利要求7所要求的电路(2),其特征在于:所述数据处理装置(17)由用于数据的加密和/或解密的装置形成。
12.权利要求7所要求的电路(2),其特征在于:所述电路(2)是打算供由数据载体形成的数据处理设备(1)用的,以及所述电路(2)是以集成工艺构造的。
CNB998016837A 1998-07-31 1999-07-22 数据处理设备及其用的电路 Expired - Fee Related CN1224871C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP98890222.7 1998-07-31
EP98890222 1998-07-31

Publications (2)

Publication Number Publication Date
CN1286768A CN1286768A (zh) 2001-03-07
CN1224871C true CN1224871C (zh) 2005-10-26

Family

ID=8237184

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB998016837A Expired - Fee Related CN1224871C (zh) 1998-07-31 1999-07-22 数据处理设备及其用的电路

Country Status (8)

Country Link
US (1) US6928164B1 (zh)
EP (1) EP1040402B1 (zh)
JP (1) JP2002522929A (zh)
KR (1) KR100672097B1 (zh)
CN (1) CN1224871C (zh)
AT (1) ATE474278T1 (zh)
DE (1) DE69942574D1 (zh)
WO (1) WO2000008542A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0023699D0 (en) * 2000-09-27 2000-11-08 Univ Bristol Executing a combined instruction
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
KR20080016887A (ko) * 2005-05-31 2008-02-22 엔엑스피 비 브이 전자 회로 장치 및 그 동작 방법과, 그러한 장치 및 방법의용도
US8091139B2 (en) * 2007-11-01 2012-01-03 Discretix Technologies Ltd. System and method for masking arbitrary Boolean functions
FR2953350B1 (fr) * 2009-11-04 2012-05-18 St Microelectronics Rousset Protection d'une cle de chiffrement
DE102012003968A1 (de) * 2012-02-29 2013-08-29 Giesecke & Devrient Gmbh Gegen Ausspähen geschützte Berechnung
DE102012015899A1 (de) * 2012-08-10 2014-02-13 Giesecke & Devrient Gmbh Verfahren zum Erzeugen von ausführbarem Programmcode
CN105790927B (zh) * 2016-02-26 2019-02-01 华为技术有限公司 一种总线分级加密系统
CN111913743B (zh) * 2019-05-09 2023-04-14 杭州海康威视数字技术股份有限公司 数据处理方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US6816968B1 (en) * 1998-07-10 2004-11-09 Silverbrook Research Pty Ltd Consumable authentication protocol and system
DE60028379T2 (de) * 1999-03-30 2007-03-08 Siemens Energy & Automation, Inc. Speicherprogrammierbare steuerung

Also Published As

Publication number Publication date
DE69942574D1 (de) 2010-08-26
ATE474278T1 (de) 2010-07-15
EP1040402B1 (en) 2010-07-14
US6928164B1 (en) 2005-08-09
KR20010015655A (ko) 2001-02-26
JP2002522929A (ja) 2002-07-23
EP1040402A1 (en) 2000-10-04
KR100672097B1 (ko) 2007-01-19
WO2000008542A1 (en) 2000-02-17
CN1286768A (zh) 2001-03-07

Similar Documents

Publication Publication Date Title
US20060271795A1 (en) Method to prevent power dissipation attacks on a cryptographic algorithm by implementing a random transformation step
CN1433558A (zh) 认证标签的方法
JP4317607B2 (ja) 情報処理装置、耐タンパ処理装置
CN1224871C (zh) 数据处理设备及其用的电路
KR101324825B1 (ko) 메시지 인증 코드 사전 연산 방법 및 시스템
US20080181398A1 (en) Methods and apparatus for enhancing privacy of objects associated with radio-frequency identification tags
CN102640448A (zh) 用于在对称加密系统内安全地识别和认证设备的系统和方法
CN101421792A (zh) 半导体器件标识符产生方法以及半导体器件
RU2005105304A (ru) Способ шифрования и дешифрования и устройство для его осуществления
JP4763447B2 (ja) 認証システム及び認証対象装置
CN113365270B (zh) 基于物联网应用的rfid多标签联合认证系统及方法
US20150304103A1 (en) Method of generating unique and hardly predictable numbers of coupons
MXPA01009055A (es) Procedimiento de contramedida en un componente electronico que utiliza un algoritmo de criptografia de clave secreta.
CN104883260B (zh) 证件信息处理和验证方法、处理终端及验证服务器
JPH104403A (ja) 暗号化装置、復号化装置およびその方法
CN115511019A (zh) 绑定rfid标签和物品条码的防伪验证方法
US6035042A (en) High speed and method of providing high speed table generation for block encryption
JP2001177518A (ja) 暗号化方法、復号化方法及び装置
Golić Cryptanalytic attacks on MIFARE classic protocol
CN117725605B (zh) 一种远端自动编制电子档案文件信息保密的方法和系统
CN1598862A (zh) 身份信息加/解密方法及识别系统
CN1251452A (zh) 不可逆随机函数数码加密防伪方法
CN112084518B (zh) 基于通讯控制模块的安全辨识方法
Liu et al. Legitimate-reader-only attack on MIFARE Classic
SE9803399D0 (sv) Processing method and apparatus for converting information from a first format into a second format

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
ASS Succession or assignment of patent right

Owner name: NXP CO., LTD.

Free format text: FORMER OWNER: ROYAL PHILIPS ELECTRONICS CO., LTD.

Effective date: 20070831

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20070831

Address after: Holland Ian Deho Finn

Patentee after: Koninkl Philips Electronics NV

Address before: Holland Ian Deho Finn

Patentee before: Koninklike Philips Electronics N. V.

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20051026

Termination date: 20110722