CN1181823A - 改进的集成电路及这种集成电路的使用方法 - Google Patents

改进的集成电路及这种集成电路的使用方法 Download PDF

Info

Publication number
CN1181823A
CN1181823A CN97190163A CN97190163A CN1181823A CN 1181823 A CN1181823 A CN 1181823A CN 97190163 A CN97190163 A CN 97190163A CN 97190163 A CN97190163 A CN 97190163A CN 1181823 A CN1181823 A CN 1181823A
Authority
CN
China
Prior art keywords
aforementioned
integrated circuit
random
circuit
clock
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
CN97190163A
Other languages
English (en)
Other versions
CN1236370C (zh
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.)
CP8 Technologies SA
Bull CP8 SA
Original Assignee
Bull CP8 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=9489969&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN1181823(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Bull CP8 SA filed Critical Bull CP8 SA
Publication of CN1181823A publication Critical patent/CN1181823A/zh
Application granted granted Critical
Publication of CN1236370C publication Critical patent/CN1236370C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/80Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
    • 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)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Microcomputers (AREA)
  • Storage Device Security (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Tone Control, Compression And Expansion, Limiting Amplitude (AREA)

Abstract

本发明涉及一种改进的集成电路及这种集成电路的使用方法。所述改进的集成电路具有可取消一程序的至少一个指令序列的执行与前述集成电路的内部或外部电子信号之间相关的若干个去相关装置。

Description

改进的集成电路及这种集成电路的使用方法
本发明涉及一种改进的集成电路及其使用方法。本发明尤其可应用于微处理器或微型计算机中,也可应用于需要安全性的线连逻辑电路中。
我们知道,微处理器或微型计算机依次执行记录在一存储器中的程序的顺序排列的指令,这些指令的执行与一个或多个以一时钟信号为基准的定时信号同步,该基准时钟信号或从外部或从内部向前述微处理器或微型计算机提供。
这样,将该程序执行的各个阶段与前述时钟信号关联起来就是可能的,因为一条特定指令的执行本身可分解为若干由一个或若干个相继的时钟脉冲定时的步骤。事实上,在现有技术的微处理器中,前述执行过程由一般来自一产生所需电子脉冲的定序器线路的时钟信号规则地定时,同时还使前述信号相对于前述基准钟产生相位偏移。另外,前述运算动作的定序应考虑访问各寄存器、各存储器及内部器件所需的时间,也考虑且特别地考虑前述信号在总线上及通过各逻辑电路的传播时间。因此,由于每一指令的起始及终止时刻是完全已知的,在一特定时间里是哪一条指令在前述处理器内的处理单元内执行,这一点是可能知道的,因为被执行的程序是由一系列预定的指令所组成的。
例如,可以确定自前述程序启动开始、自前述处理器清零开始发出的时钟脉冲的数量,或者甚至能确定自一事件开始或自一内部或外部基准信号开始所已经历的时间。
这种能够监视一程序在一微处理器或微型计算机中的执行的可能性,当该机被用于需高度安全性的场合时,就是一个重大的缺陷。事实上,有不良意图的人同样可以知晓前述处理器所处的各个连续的状态,并能利用这些信息知道某些内部处理结果。
可以想见,例如,对一外部信号的运算动作能够在根据一预定的安全操作结果所确定的各种不同的时刻发生,前述安全操作比如有内部机密信息的检测、或者一条信息的译码、或者某些特定信息的完整性控制。根据前述被考虑的时刻,该外部信号可以给出有关前述结果或前述信息的机密内容的信息。甚至,在密码计算的情况下,还可给出有关所用密码的解密密钥信息。
另外,已知有一些微处理器或微型计算机,比如SGS Thomson公司按ST16XY标准生产的商品,它们包括一配有一随机发生器的微处理器,从该随机发生器可读出一个可用的随机数,例如,可用来,进行加密计算或解密计算。
本发明的一个目的是,为前述电路配备禁止上述访问的装置,以及,更一般地是阻止不正当的监测,或者阻止非电路内部行为的监测。
该目的是这样达到的:前述改进的集成电路具有至少一个程序指令序列的运行与前述电路的内部或外部电子信号之间的去相关装置。
按照另一特点,前述电路的电子信号是同步定时信号或状态定时信号。
按照另一特点,前述去相关装置包括一个或若干个电路可产生一系列其时间分布是随机的时钟脉冲或定时脉冲。
按照另一特点,前述去相关装置包括一可以解除前述处理器内前述程序序列执行同步性的随机发生器。
按照另一特点,前述去相关装置包括一可以消除很短定时脉冲的时钟校准电路。
按照另一特点,前述去相关装置包括一中断随机生成***。
按照另一特点,前述去相关装置包括随机选择的若干辅助程序段的执行,其中,各指令和各执行时间是不相同的。
按照另一特点,前述辅助处理的可变的执行时间取决于由一随机发生器提供的一个值。
按照另一特点,前述辅助处理不修改前述主程序运行的一般环境,以便允许无需重建该环境即可返回该主程序。
按照另一特点,在对前述主程序恢复处理器控制之前,前述辅助处理重建前述主程序的环境。
按照另一特点,前述主程序可以容许或禁止一种或几种去相关装置。
按照另一特点,前述去相关装置包括前述处理器的同步定时信号或状态定时信号的相移设备。
按照另一特点,前述相移设备产生一前述处理器的同步定时信号或状态定时信号的随机相移。
按照另一特点,前述随机相移设备在一程序执行期间使前述处理器的运行与前述外部时钟脉冲完全不同步或部分不同步。
按照另一特点,前述随机发生器使用若干可循环或非循环的、由一随机值初始化的计数器。
按照另一特点,前述初始化值来自一非易失性存储器。
按照另一特点,前述初始化值在一程序执行期间被修改。
按照另一特点,前述随机发生器利用一密码算法,或者利用由前述初始化值初始化的切割函数算法。
按照另一特点,前述处理的定序考虑了为访问各寄存器、存储器及内部设备所需的时间,而且还特别地考虑了前述信号在总线上及通过各逻辑电路的传播时间。
本发明的另一目的是提供一种使用前述集成电路的方法。
该目的是这样达到的:前述一种集成电路的使用方法包括:
借助于一随机脉冲时钟启动一个或若干个指令或操作的定序;
以随机方式启动中断序;
在指令或操作的主序列执行过程中启动对指令或操作的一随机定序的处理;
将上述至少两种可能方式组合起来。
在下面参照附图所作的描述中,本发明的其它特征与优点将更加明晰的表现出来。附图中:
图1示出了本发明第一种实施例的电路原理图;
图2示出了本发明简化了的第二种实施变化例;
图3A示出了校准电路的实施示意图;
图3B示出了前述校准电路的逻辑定序的示意图;
图4A示出了实现一相移电路的逻辑电路示意图;
图4B示出了前述电路的信号序列的示意图;
图5示出了本发明的第三种实施方案;
图6示出了实现一内部时钟的逻辑电路示意图;
图7A示出了实现前述随机发生器的逻辑线路图;
图7B示出了实现前述随机发生器的每一单元的逻辑线路图;
图8概括地示出了随机选择的辅助程序序列的一个例子。在本说明书中,微型计算机是指一种配有一微处理器的单片集成电路,其RAM型的主存储器与至少一个可编程的或不可编程的非易失性存储器相连。前述非易失性存储器是,比如,载有保护程序的RAM,或ROM,或PROM,或EPROM,或EEPROM,或快擦除型的RAM等等……或者前述各种存储器的组合。下面借助于图1阐述本发明。图1中,CPU(1)带有随机发生器(2),后者可依靠一内部时钟(11)工作。如同前面所述,这种类型的处理器以ST16XY微处理器系列尤为常见。不过,这些微型计算机或微处理器使用了在其至少一个输入端循环的、其移位由前述构成随机发生器的一内部时钟定时的并行输入输出式移位寄存器,利用为前述微处理器的计算周期定序的外部时钟,以执行从前述寄存器内容中读出的指令。本发明允许生成一随机的而不是伪随机的数,这是因为具有前述外部时钟倍频的前述随机发生器的内部时钟被相对于该外部时钟随机移相了。
本发明在于利用这种带随机发生器的微处理器的原理,给其增添一定数量的元件,这些元件允许执行前述主程序的该微处理器从一与前述外部定序时钟完全同相且相关的操作转换到一个不相关的操作,在该操作中,根据所选择的实施方式,一条特定的指令的执行时间不再会是相同的,当同一指令被多次执行时也是如此;或者,在该操作中,即使同一指令序列由于前述主程序的多次调用而被执行,该指令序列的执行延续时间也会有变化;或者,在该操作中,指令序列执行的延续时间会发生变化,同时同一指令的执行时间本身也发生变化。这是由图1中所示的电路来完成的,其中,除前述随机发生器(2)之外,前述内部时钟(11)由一自由振荡器来实现,该振荡器具有相对于前述微处理器或微型计算机的前述外部时钟CLKE异步且异相的恒定频率。在现有技术中,专业人员从来未想过用不规则时钟为一微处理器或微型计算机的运行定时。相反,倒总是利用一般来自可产生所需电脉冲的定时序电路的时钟信号为其规则地定时,同时尤其还要使前述信号相对于前述基准时钟移相。这尤其要归因于下列事实:前述运算处理的定序应考虑访问各寄存器、各存储器及内部设备所需的时间,而且也要考虑且要特别地考虑前述信号在总(母)线上及通过各逻辑电路传播的时间。在本发明中,前述随机发生器(2)或者用来通过数据总线(3)向各元件提供一随机值,并将其载入下面将要描述的各个元件;或者用来在其输出端(22)产生周期不断变化的脉冲信号。因而,在本发明的一个微处理器或微型计算机中,前述指令的加载和执行所需的信号可以由随机分布的时钟脉冲生成,但是这些脉冲应遵守一最短周期时间,以便前述处理器(1)有足够的时间执行各个操作。该用作前述微处理器(1)的时钟信号应被传输到校准电路(9)。该校准电路的输出(95)被发送到一多路转换电路(18),后者的多路转换命令输入端(19)接收寄存器(8)的一位或多位信号,该寄存器可以或者由前述随机发生器(2)加载、或者载入由前述主程序(5)所确定的一个值。当该寄存器(8)被载入一随机值时,发送到前述处理器的时钟信号的选择完全是随机决定的,而当该寄存器(8)载入由前述主程序(5)所确定的一个值时,则是由该主程序选择前述微处理器的定序时钟是前述外部时钟CLKE还是一个非相关时钟(horloge de decorrelation)CLK2。同样,前述寄存器(8)的一位或多位通过一连接线(82)发送到逻辑电路(28),根据该寄存器的前述一个或多个比特,该逻辑电路可以使前述内部时钟(11)的信号向前述随机发生器(2)的传输有效或无效。这样,通过由连接线(26)及前述逻辑电路(28)接收前述外部时钟CLKE的信号,该随机发生器可以同样依靠该外部时钟CLKE来工作。在这后一种情况下,前述产生的值将是伪随机值。通过利用由前述寄存器(8)的一位或多位经由前述电路(28)而使之有效的前述内部时钟(11),前述随机发生器(2)也可以工作,在这种情况下,产生的值是随机值。由前述随机发生器(2)的输出(22)产生、并由前述校准电路(9)接收的信号I对应于其周期或随机变化或伪随机变化的脉冲信号。前述周期伪随机变化这一点几乎没有什么妨碍,因为,如同下面将要看到的,前述校准电路(9)通过一相对于前述外部时钟CLKE信号的、从而也是相对于前述与该外部时钟信号同步的伪随机时钟信号的不同频率或相位差,而影响内部时钟(FRC)信号,该信号本身将重新进入非相关。
该装置还可以包括一寄存器R2。它或者由前述随机发生器(2)存入随机数,或者由前述主程序(5)载入由该程序所确定的值。该寄存器R2由中断启动逻辑电路(4)全部或部分地加以使用,该逻辑电路在其一个输入端接收来自前述校准电路(9)输出(95)的前述非相关时钟CLK2的信号。前述电路(4)的输出经过一由前述寄存器(8)的一位或多位比特所控制的门电路传输到前述CPU的中断输入端(12)。前述寄存器(8)的一位或多位比特起到控制对前述中断的屏蔽作用,在某些微处理器中通常都有这种中断屏蔽控制。当一个中断来到前述处理器的中断输入端(12)时,该中断处理程序,比如包含在操作***或前述辅助程序中的中断处理程序,将引入一相对于前述主程序的被中断的序列不同的处理时间。在中断运行模式中,应理解为存在两个阶段。
第一个阶段,由所述的主程序控制的前述微处理器允许在解除,例如对前述中断屏蔽的同时,进行去相关操作。
第二个阶段,前述中断可自动地按照辅助程序进行。这个操作可在没有主程序干预的情况下很好地完成。
最后,本发明的装置还可以包括一辅助程序(6),后者可以,如同将在下文所看到的,产生一长短不断变化的时间,该时间每当该辅助程序(6)被前述主程序(5)调用时都发生变化。这样,图1所示的实施例的变型方案就允许前述主程序(5)提高所希望保护的程度——或者通过借助于前述去相关时钟CLK2启动一条或多条指令的执行定序,或者通过在一个指令序列执行的过程中决定是否引入一被随机启动的中断管理,或者还可以通过在前述指令序列执行的过程中决定是否引入向前述同样生成一可变时间处理的辅助程序(6)的跳转,或者通过上述各种可能方式的组合。这样,在本发明的另一种变型方案中,该辅助程序(6)就可以如图8所示由若干序列(61,62,63……6n)所构成,这些序列将被随机调用,而且每一序列(0,1,2或2n-1)使用一组不同的指令,这些不同的指令导致在每一程序分支中以及在前述微处理器的各个状态下的可变的处理时间。前述序列能够,例如,在前述主程序完成向前述辅助程序的跳转之后以随机方式被调用,前述辅助程序在步骤(64和65,图8)中向两寄存器,例如前述微处理器(1)的R10和R11载入一来自前述存储器(7)的随机值V。前述辅助程序将此值V增一,然后,在步骤66中,该程序指令将该被增一的值(V+1)存入非易失性存储器NVM(7)中。这个被存于前述非易失性存储器(7)中的值用于在后面使用。然后,在步骤67中前述辅助程序从R10中抽取高位或低位的n比特,以得到一r值,以允许从辅助程序(6)的前述序列(61,62,63……6n)中选定要被执行的程序序列。每一辅助程序序列都将产生一不同的处理,例如,序列(0)包括,首先,在步骤611中,将前述微处理器的寄存器R11的内容转移到一寄存器R12内;在步骤612中,前述R12的内容被加到进位值(CARRY),然后,在步骤613中,在前述寄存器R11的内容和前述寄存器R12的内容之间完成一异或操作,其结果被存入前述寄存器R12中;在步骤614中,前述处理器将R12减一;在步骤615中,对R12的值进行检测,以确定R12的值是否等于零。如果R12=0,前述处理器就返回主程序的执行,反之,前述辅助程序(61)就继续步骤616,该步骤完成寄存器R10内容的循环移位;紧接的步骤是,取出位数由前述寄存器R10确定的n位,以便随后访问前述辅助程序中由该值r所确定的一个序列。这样,就可以访问,例如这样的序列(2n-1),它包括:步骤(6n1),将R10和R11值的积存入R13和R14;步骤(6n2),本序列完成R13和R14的一次循环移位操作;然后是步骤(6n3),R13的内容被转移到R11;步骤(6n4),R11被减一以便在随后的步骤(6n5)中对R11的值进行一次检测,该检测在于确定R11的内容是否等于3,若是,就返回主程序,否则继续步骤(6n6),将R10循环左移,然后执行指令(67),以访问一新的辅助程序序列。
当辅助程序与一去相关时钟,或者与若干中断管理相配合时,在一个这样的配合中,一能够产生一较简单处理的辅助程序就可以足够了。一个这样的简化辅助程序可以是由下列指令组成:
MOV B,R2  将寄存器R2的值载入前述微处理器的寄存器B
LOOP DCX B 从值A中减去前述寄存器B的值
JNZ B LOOP 检测前述寄存器B的值,当此值不为零时则返回标
           号LOOP。
这个序列由一返回主程序指令的指令结束,该主程序在跳转到前述辅助程序(6)之前,紧接着前述最后一个指令之后被执行。在跳转到前述辅助程序(6)之前,前述寄存器R2被一前述主程序(5)的指令预先载入由前述随机发生器(2)提供的随机值。这样,前面所述辅助程序的执行就总会生成一可变的期间。
一种可变期间的辅助程序的另一种实施方式可以在于,确定一个对应于前述辅助程序(6)的程序存储区,其中存储一系列指令。对于需要若干更短的计算周期的指令,比如相对于ADC、SUB、ANA、MOV……等等而言,最好选择需要若干不同计算周期的指令,如所已知的,例如与指令J、CALL、RET、RST、PCHL、INX等一同执行。这样,在该存储区内,就存入了特定数量的指令,这些指令的执行期间在计算周期的数目上一个与一个不同。前述主程序(5)包括一条跳转到一变址的指令,该变址的变址索引对应于前述寄存器R2的内容,该地址则对应于前述存储区(6)的第一地址。这样,前述主程序(5)的该跳转指令的执行就通过前述处理器(1)以随机方式为前述存储区中的指令编址,这些指令的这些期间随其编址位置的不同而不同。以已知的方式,前述随机发生器(2)起初由一变量初始化。该初始变量存储在一非易失性存储器(7)中,并,例如,由前述随机发生器(2)在前述微处理器(1)(上次)停机之前所生成的最后一个随机值所构成。这样,由一它将执行的程序引导的前述微处理器就能够通过该程序启动该程序的执行指令定序的去相关装置,例如通过载入前述寄存器R2或8,或者调用前述辅助程序。
图2示出了本发明另一种简化的实施例,其中,由寄存器(8)的内容来控制前述多路转换器(18),以决定前述外部时钟CLKE信号是否向前述处理器(1)发送,或者简单地说,前述CPU(1)是否使用前述去相关时钟CLK2。该寄存器(8)在执行中由前述总线(30)载入前述主程序(5)的一条指令,该主程序将被用来通过生成可变期间的指令执行序列而在一特定时刻启动前述安全模式。前述随机发生器(2)通过总线(31)与前述非易失性存储器(7)相联系,后者可以,例如在其中存储随机发生器生成的最后一个值,以便当有与一单片电路的一新的连接时,前述随机发生器能由一个不同于上次初始值的值来重新初始化。该总线(31)可能由前述处理器(1)来控制。在另外一种变型方案中,前述存储器(7)中的写操作可以由线连逻辑电路来控制。
在另一种实施方式中,如图4A所示,可以向前述时钟电路的输出端接入一可变相移电路(45),该相移电路是由,例如由信号FRC定时的移位寄存器D1到D5构成的,前述FRC信号是来自前述电路(11)的FRC信号,或是由前述电路(9)的输出提供的经过重新校准的FRC信号,该相移电路使由前述输出(22)提供的信号I移相,该信号可能在一分频器(452)中按一定减频系数而被分频。前述相移电路(45)的输出可借助于一多路转换器(451)MUX来实现,后者可以根据寄存器RM的内容而从前述相移寄存器信号输出端Q1、Q2……Q5中取出任何一个,前述寄存器RM的内容或由前述随机发生器(2)直接加载,或由前述主程序(5)间接加载,或者由前述辅助程序(6)通过前述总线(3)载入。在这种情况下,从(相移电路)输出端输出的时钟脉冲S前沿相对于由前述相移寄存器的中间步骤提供的中位脉冲而言可能滞后或超前一个值,该值取决于一随机数,该随机数相对于正在执行中的前述程序的指令执行定序同样滞后或超前。
在另一种实施方式中,前述随机发生器及前述相移电路在特定的期间内一直被使用,尤其明显的是在这些期间内,前述处理器被完全随机地定时,因为将每一时钟脉冲分隔开的时间间隔是可变的,而不象在通常的处理器中是恒定的。
由处理器执行的前述程序的组织可以下面的方式实现:前述处理器(1)的运行由一真正安全的操作***来控制,该操作***根据由机器所执行的程序类型来决定要使用的干扰类型。在这种情况下,理所当然由前述操作***来管理前述各个来自前述随机发生器、校准器、中断或者前述相移电路指令以及前述主程序和辅助程序启动指令的信号。明显地,前述辅助程序除了简单的定时功能之外,还可用来实现其它的功能,尤其是可以执行一些对前述主程序有用的处理,以便利用由前述辅助程序所占用的时间,这些处理可以包括,例如,供前述主程序在以后使用的计算准备。当然,当前述处理器在多道程序设计状态下运行时,可以很容易地将本发明前述实施例的装置予以推广,从而使应用程序可被视同前述主程序一样。上面所述的随机发生器和时钟相移电路在实施方面没有什么特别的问题,它们在分别用于其它的与本发明无关的用途时系为本领域技术人员所熟知的。
本发明还可以有第五种简化的实施例,其中无需使用中断。当前述主程序需要自我保护时,它自己就启动一辅助程序,该辅助程序在由其选定的时刻,或在开始,或在处理过程中生成随机长度的处理,以干扰各个程序序列。
下面结合其它附图说明前述允许实现本发明的各个电路。同样,图7A和7B所示的随机发生器,例如,由一组单元(B0到B7)所构成,每一单元由一“异或”门(23)构成,每一“异或”门的两个输入端与一D型的触发器(24)相连,该触发器的输出端(Q)与前述随后的单元的“异”门的两个输入端之一相连。前述“异或”门的两个输入端接收来自前述总线(3)的数据输入信号以允许前述预置加载,或者对于单元(B0)和(B3)而言,是接收来自最后单元(B7)的循环信号(25)。前述最后单元(B7)的输出端(22)同时也构成输出前述可变随机周期的脉冲信号(I)的输出端。该信号(1)随后将于图3A所示的校准电路中被使用。图3B示出了图3A中的校准电路(9)输入、输出信号的定序。该校准电路由两个具有三个输入端的“与非”门(90、91)构成,每一“与非”门在其一个输入端接收来自前述随机发生器(2)的前述输出端(22)的信号I。第一“与非”门(91)接收JK型触发器(93)的输出(Q2),同时另一“与非”门(90)接收该触发器(93)的反相输出(NQ2)。该触发器(93)在其时钟输入端接收一构成电路内部时钟的时钟信号FRC。该内部时钟脉冲,例如,由如图6所示的电路产生。前述触发器(93)的输入端J和K与代表逻辑电平“1”的馈电电压相连通。前述内部时钟信号FRC由一“非”门电路(92)传送到前述“与非”门(90,91)三个输入端的每一个。前述第一“与非”门(90)的输出被传送到前述第二逻辑触发器(94)的被置为“1”的输入端,而前述第二“与非”门(91)的输出被传送到前述第二逻辑触发器(94)的被置为零的输入端。该第二逻辑触发器(94)的时钟输入端和它的输入端(J)与代表逻辑电平“1”的馈电电压相连通,而其输入端(K)与代表逻辑电平“0”的馈电电压相连通。该第二逻辑触发器(94)的前述输出端(Q1)输出通过连接线(95)提供给前述多路转换器(18)的前述信号CLK2。前述内部时钟脉冲FRC向连接线(111)上发出周期性的脉冲信号,后者具有由图6所示电路所确定的最小脉冲宽度Tm。图6中的该电路(11)由,例如,一系列的,在本图中是五个,“非”门(反向开关)(111到115)所构成。这些“非”门每一个都具有一确定的传播时间,比如10纳秒,以允许从前述FRC输出获取一50纳秒的脉冲。该FRC输出通过前述连接线(116)被返回第一“非”门(111)的输入端,该第一“非”门(111)的输入端同样由5伏特的馈电电压经电阻(117)馈电。前述脉冲宽度被选择在50纳秒,但很明显,通过改变前述“非”门的数目就可以改变前述Tm值。该Tm值将由图3A中所示的逻辑电路(9)以图3B所示的方式用来从前述可变随机周期的脉冲信号(I)生成一脉冲信号CLK2,后者的可变宽度的脉冲有一最小值Tm,且其周期同样是可变的,并相对于前述外部时钟脉冲CLKE不同步。事实上,如果前述内部时钟的初始周期不同于前述外部时钟的周期的话,前述集成电路一通上电压,前述内部时钟就开始工作,所以,在启动时,前述两个时钟没有任何机会同步。前述校准器(9)的信号具有一至少等于前述最短时间Tm两倍的周期,以供前述处理器执行一内部循环的需要。信号CLK2的所有前沿相距至少一个Tm值,但它们的位置和确切宽度是随机的。
这样,无论是本发明的哪一种实施例,前述主程序的运行都是按照一种不可预见的定序来实现的,该不可预见的定序根据实施例的不同,或取决于前述随机发生器,或取决于前述随机时钟脉冲,或取决于前述辅助程序,或取决于前述随机中断,或者,取决于前述至少两种装置的组合。当前述主程序执行一些对前述安全设计不敏感的操作时,它就可以求助于前述外部时钟CLKE,例如为了向外部输出数据或者屏蔽前述去相关中断以便优化处理时间。一旦一个安全保护操作被执行,前述主程序(5)就允许进行随机操作——或者通过使前述随机时钟有效,或者通过使前述去相关中断(或前述二者)有效以便“干扰”各个操作信号,尤其是通过使前述时钟与前述主程序不同步,或者还可以通过前述辅助程序。
对于前述随机发生器(2),可以,例如,使用具有不同周期的循环计数器,这些计数器由一存于非易失性存储器(7)内的“种子”(信息)初始化。当前述处理器启动时,前述计数器将该存储值视为初始值。在计算过程中,或者在计算过程末尾,前述非易失性存储器(7)被一新值更新,该新值在下一次初始化中将用作初始化前述计数器的“种子”。前述产生中断的电路(4)可以是这样的:前面所已描述的中断脉冲的生成能够在,例如,前述生成的数具有特定特征时,比如与前述程序的特定数据相等时完成。该电路(4)也能取出一个或若干个计数器内的一位或若干位的值。通过利用一如图5所示的密码算法(69),或者利用一由前面所述的“种子”(信息)初始化的切割函数算法,同样能实现一性能很佳的随机发生器。在这种情况下,该发生器可能是一个程序的形式,该程序利用由前述处理器(1)执行的算法,并通过一方面接收一存于前述非易失性存储器(7)中的一个变量、另一方面接收一个用来生成存储于一缓冲寄存器(41)中的数据的密钥,来利用前述密码算法。该存储于前述缓冲存储器的数据随后由一软件或硬件的解码装置处理,以生成前述去相关时钟信号CLK2或一对前述处理器(1)的中断信号。显然,该随机数发生器同样可以用来生成上面所述的各种随机数。实现这种发生器的另一种方式是,放大所谓“噪声”二极管的两极输出电压,将其通过一次低通滤波之后即形成了前述随机信号。之所以要通过低通滤波,是为了避免前述太快的杂波脉冲破坏程序运转。
对于上述时钟相移电路,尚存在与前述不同的其它可能的实施方式。例如,由一频率比前述处理器的时钟高出10倍的时钟所控制的相移寄存器。如果假设前述寄存器包括十个触发器,就处理十个具有不同相位的脉冲,这些脉冲由前述处理器借助于一个具有十个输入端和一个输出端的多路转换器选取。前述多路转换器的输出端如前所述用来提供前述处理器的内部时钟信号。
另一种实施方式在于,使用一与前面所述的随机发生器同类型的电路,从前述计数器的各个阶段选取脉冲信号。在这种情况下,前述处理器真正由时间随机分布的脉冲来定时。
另一种实施方式在于,利用前述随机发生器的信号以从前述移位寄存器中选取脉冲信号。过分精细地考虑前述装置,很多很多种组合方案都有可能,但本发明的基本原理总是适用的。
图1的实施方案是最为完备的,显然,前述微处理器或微型计算机式的单片电路可以配备图中所示各种元件中的仅仅一个,或数个,或它们的任意组合。
因此,根据其中一种实施例,前述单片电路可以配备一个微处理器、前述随机发生器、前述内部时钟(FRC)和前述构成去相关时钟的校准电路。
在另一种实施方式中,前述单片电路可以配备前述微处理器、前述随机发生器、前述中断生成电路。
在另一种实施方式中,前述单片电路可以配备前述微处理器、前述辅助程序和前述去相关及校准时钟电路。
在另一种实施方式中,前述单片电路可以配备一微处理器、前述否相关及校准时钟电路,以及前述中断电路。
在前述单片电路的其它实施方式中,前述微处理器由一微型计算机取代。
在前述单片集成电路的其它实施方式中,前述微处理器可以由一组合逻辑电路取代,后者允许为特定的用途而执行一些有限的指令。显然,在这种情况下,同样的安全保护装置可以被应用于该集成电路。
本领域技术人员所能作出的其它修改同样属于本发明的实质范围。

Claims (24)

1.一种改进的集成电路,其特征在于,它具有对一程序的至少一个指令序列的运行与前述集成电路的内部或外部电子信号去相关的装置。
2.如权利要求1所述的集成电路,其特征在于,前述微处理器或微型计算机的电子信号是同步定时信号或状态定时信号。
3.如权利要求1所述的集成电路,其特征在于,前述去相关装置包括一个或若干个电路,可产生一系列其时间分布随机的时钟脉冲或定时脉冲。
4.如权利要求1所述的集成电路,其特征在于,前述去相关装置包括一可以解除前述处理器内程序序列执行的同步性的随机发生器。
5.如权利要求4所述的集成电路,其特征在于,前述去相关装置包括一可以取消很短定时脉冲的时钟校准电路。
6.如权利要求1所述的集成电路,其特征在于,前述去相关装置包括一中断随机生成***。
7.如权利要求1所述的集成电路,其特征在于,前述去相关装置包括随机选择的若干辅助程序段的执行,其中,各指令和执行时间是不相同的。
8.如权利要求7所述的集成电路,其特征在于,前述辅助处理的可变执行时间取决于由一随机发生器提供的一个值。
9.如权利要求7所述的集成电路,其特征在于,前述辅助处理不修改前述主程序运行的一般环境,以便允许无需重建该环境即可返回该主程序。
10.如权利要求7所述的集成电路,其特征在于,在对前述主程序恢复处理器控制之前,前述辅助处理重建前述主程序的环境。
11.如权利要求1所述的集成电路,其特征在于,前述主程序可以容许或禁止一种或几种去相关装置。
12.如权利要求1所述的集成电路,其特征在于,它包括前述处理器的同步定时信号或状态定时信号的相移装置。
13.如权利要求12所述的集成电路,其特征在于,前述相移装置产生一前述处理器的同步定时信号或状态定时信号的随机相移。
14.如权利要求13所述的集成电路,其特征在于,前述随机相移装置在一程序执行期间使前述处理器的运行与前述外部时钟脉冲完全不同步或部分不同步。
15.如权利要求4所述的集成电路,其特征在于,前述随机发生器利用若干个可循环或非循环的、由一随机值初始化的计数器。
16.如权利要求15所述的集成电路,其特征在于,前述初始化值来自一非易失性存储器。
17.如权利要求16所述的集成电路,其特征在于,前述初始化值在一程序执行期间被修改。
18.如权利要求15所述的集成电路,其特征在于,前述随机发生器利用一密码算法,或者利用由前述初始化值初始化的切割函数算法。
19.如权利要求1所述的集成电路,其特征在于,前述处理的定序考虑了为访问各寄存器、存储器及内部装置所需的时间,而且也特别地考虑了前述信号在总线上及通过各逻辑电路的传播时间。
20.一种集成电路的使用方法,该集成电路包括至少一个程序指令序列的运行与前述集成电路的内部或外部电子信号之间的去相关装置,该使用方法的特征在于:
借助于一随机脉冲时钟启动一个或若干个指令或操作的定序;
或者,以随机方式启动中断定序;
或者,在指令或操作的一主要序列执行的过程中启动对指令或操作的一随机定序的处理;
或者,将上述至少两种可能方式组合起来。
21.包括至少由一个程序控制的一个微处理器及该程序的指令执行定序去相关装置的集成电路,其特征在于,该程序的一部分可以允许、更改或禁止前述去相关装置的运行。
22.如权利要求21所述的集成电路,其特征在于,前述去相关装置包括若干个可生成一定时信号、或者生成一系列随时间随机分布的时钟脉冲装置,前述生成装置或与若干个中断的随机生成装置相配合,或与若干个启动一辅助程序序列的执行装置相配合。
23.包括一微处理器或者若干个指令执行装置的集成电路,其特征在于它包括前述
微处理器的定时时钟脉冲选择装置或者若干个指令执行设备,前述选择设备允
许选取前述集成电路的一外部时钟脉冲CLKE,或者一随机时钟脉冲CLK2或S。
24.如权利要求23所述的集成电路,其特征在于前述随机时钟脉冲是从或者受一内部时钟脉冲(FRC)作用、或者受一外部时钟脉冲(CLKE)作用的一随机发生器中生成的。
CNB971901635A 1996-03-07 1997-03-07 改进的集成电路及这种集成电路的使用方法 Expired - Lifetime CN1236370C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR96/02903 1996-03-07
FR9602903A FR2745924B1 (fr) 1996-03-07 1996-03-07 Circuit integre perfectionne et procede d'utilisation d'un tel circuit integre

Publications (2)

Publication Number Publication Date
CN1181823A true CN1181823A (zh) 1998-05-13
CN1236370C CN1236370C (zh) 2006-01-11

Family

ID=9489969

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB971901635A Expired - Lifetime CN1236370C (zh) 1996-03-07 1997-03-07 改进的集成电路及这种集成电路的使用方法

Country Status (15)

Country Link
US (1) US5944833A (zh)
EP (1) EP0826169B1 (zh)
JP (2) JP3713515B2 (zh)
KR (1) KR100463814B1 (zh)
CN (1) CN1236370C (zh)
AR (1) AR006138A1 (zh)
AU (1) AU725888B2 (zh)
BR (1) BR9702118A (zh)
CA (1) CA2221880C (zh)
DE (1) DE69717028T2 (zh)
FR (1) FR2745924B1 (zh)
HK (1) HK1009684A1 (zh)
NO (1) NO317448B1 (zh)
TW (1) TW491978B (zh)
WO (1) WO1997033217A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100412894C (zh) * 2001-09-13 2008-08-20 株式会社瑞萨科技 存储卡及其初始化设置方法
CN104428789A (zh) * 2012-07-23 2015-03-18 高通股份有限公司 用于阻止安全启动过程期间的基于时序的假信号攻击的方法及设备
CN104866007A (zh) * 2014-02-26 2015-08-26 精工爱普生株式会社 微型计算机以及电子设备
CN109245883A (zh) * 2018-09-21 2019-01-18 深圳市德名利电子有限公司 一种随机数发生器及随时数产生方法

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7587044B2 (en) 1998-01-02 2009-09-08 Cryptography Research, Inc. Differential power analysis method and apparatus
CA2316227C (en) 1998-01-02 2009-08-11 Cryptography Research, Inc. Leak-resistant cryptographic method and apparatus
TW380344B (en) * 1998-02-04 2000-01-21 Admtek Co Multiple output single crystal device for not generating simultaneous switch output
US8457302B1 (en) 1998-05-18 2013-06-04 Giesecke & Devrient Gmbh Access-controlled data storage medium
JP2002519722A (ja) 1998-06-03 2002-07-02 クリプターグラフィー リサーチ インコーポレイテッド スマートカードおよび他の暗号システム用の、漏洩を最小に抑える、改良desおよび他の暗号プロセス
EP1926241A3 (en) * 1998-06-03 2009-03-11 Cryptography Research Inc. Using unpredictable information to minimize leakage from smartcards and other cryptosystems
EP2280502B1 (en) 1998-06-03 2018-05-02 Cryptography Research, Inc. Using unpredictable information to Resist Discovery of Secrets by External Monitoring
JP4216475B2 (ja) 1998-07-02 2009-01-28 クリプターグラフィー リサーチ インコーポレイテッド 漏洩抵抗力を有する暗号索引付き鍵の更新方法及びデバイス
DE19834076A1 (de) * 1998-07-29 2000-02-10 Philips Corp Intellectual Pty Anordnung zur elektronischen Verarbeitung von Datensignalen
KR100672097B1 (ko) 1998-07-31 2007-01-19 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 데이터 처리 장치 및 데이터 처리 장치용 회로
US6046616A (en) * 1998-08-07 2000-04-04 Tritech Microelectronics, Ltd. Two dimensional random pulse generator
DE19837808A1 (de) * 1998-08-20 2000-02-24 Orga Kartensysteme Gmbh Verfahren zur Ausführung eines Verschlüsselungsprogramms zur Verschlüsselung von Daten in einem mikroprozessorgestützten, tragbaren Datenträger
WO2000019386A1 (de) * 1998-09-30 2000-04-06 Koninklijke Philips Electronics N.V. Datenverarbeitungseinrichtung und verfahren zu dessen betrieb zum verhindern einer differentiellen stromverbrauchanalyse
FR2784763B1 (fr) * 1998-10-16 2001-10-19 Gemplus Card Int Composant electronique et procede pour masquer l'execution d'instructions ou la manipulation de donnees
US6408075B1 (en) 1998-11-30 2002-06-18 Hitachi, Ltd. Information processing equipment and IC card
JP2000165375A (ja) 1998-11-30 2000-06-16 Hitachi Ltd 情報処理装置、icカード
JP4317607B2 (ja) 1998-12-14 2009-08-19 株式会社日立製作所 情報処理装置、耐タンパ処理装置
FR2787900B1 (fr) * 1998-12-28 2001-02-09 Bull Cp8 Circuit integre intelligent
IL128007A (en) * 1999-01-11 2003-02-12 Milsys Ltd Enhancements on compact logic devices and also for accelerating and securing computations in modular arithmetic especially for use in public key cryptographic co-processors designed for elliptic curve and rsa type computations
FR2790347B1 (fr) * 1999-02-25 2001-10-05 St Microelectronics Sa Procede de securisation d'un enchainement d'operations realisees par un circuit electronique dans le cadre de l'execution d'un algorithme
JP3827050B2 (ja) * 1999-03-09 2006-09-27 株式会社ルネサステクノロジ Icカードと半導体集積回路装置
DE19911673A1 (de) * 1999-03-09 2000-09-14 Deutsche Telekom Ag Verfahren und Anordnung für den Schutz der Daten auf einer Smartcard
FR2793571B1 (fr) 1999-05-11 2003-10-31 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete et dynamique
FR2793904B1 (fr) * 1999-05-21 2001-07-27 St Microelectronics Sa Procede et dispositif de gestion d'un circuit electronique
JP2001094550A (ja) * 1999-09-17 2001-04-06 Toshiba Corp 信号処理装置
MXPA02005352A (es) * 1999-12-02 2003-01-28 Infineon Technologies Ag Arreglo de microprocesador que tiene una funcion de codificacion.
FR2802669B1 (fr) * 1999-12-15 2002-02-08 St Microelectronics Sa Procede non deterministe de transfert securise de donnees
DE10000503A1 (de) * 2000-01-08 2001-07-12 Philips Corp Intellectual Pty Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb
AU2001229402A1 (en) * 2000-01-13 2001-07-24 Digimarc Corporation Authenticating metadata and embedding metadata in watermarks of media signals
JP3848573B2 (ja) * 2000-01-18 2006-11-22 インフィネオン テクノロジーズ アクチエンゲゼルシャフト マイクロプロセッサシステム
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"
FR2808360B1 (fr) * 2000-04-28 2002-06-28 Gemplus Card Int Procede de contre mesure dans un microcircuit mettant en oeuvre le procede et carte a puce comportant ledit microcircuit
DE50014462D1 (de) * 2000-05-22 2007-08-16 Infineon Technologies Ag Sicherheits-Datenverarbeitungseinheit sowie dazugehöriges Verfahren
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
US9323955B2 (en) * 2000-12-21 2016-04-26 Gemalto Sa Method for protecting a logic or mathematical operator installed in an electronic module with a microprocessor as well as the associated embedded electronic module and the system
FR2818772A1 (fr) * 2000-12-21 2002-06-28 Bull Cp8 Procede de securisation d'un operateur logique ou mathematique implante dans un module electronique a microprocesseur, ainsi que le module electronique et le systeme embarque associes
FR2819070B1 (fr) * 2000-12-28 2003-03-21 St Microelectronics Sa Procede et dispositif de protection conte le piratage de circuits integres
DE10101956A1 (de) * 2001-01-17 2002-07-25 Infineon Technologies Ag Verfahren zur Erhöhung der Sicherheit einer CPU
US7197160B2 (en) 2001-03-05 2007-03-27 Digimarc Corporation Geographic information systems using digital watermarks
DE10128573A1 (de) * 2001-06-13 2003-01-02 Infineon Technologies Ag Verhindern der unerwünschten externen Erfassung von Operationen in integrierten Digitalschaltungen
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
FR2832824A1 (fr) * 2001-11-28 2003-05-30 St Microelectronics Sa Blocage du fonctionnement d'un circuit integre
CN1640051B (zh) * 2002-03-07 2011-05-18 艾斯奥托公司 使具有秘密密钥的电子密码装置安全的方法
DE10213142A1 (de) 2002-03-23 2003-10-02 Clariant Gmbh Stabile Dispersionskonzentrate
FR2844896A1 (fr) * 2002-09-19 2004-03-26 St Microelectronics Sa Alimentation d'un circuit de traitement asynchrone de donnees
DE10254657A1 (de) * 2002-11-22 2004-06-03 Philips Intellectual Property & Standards Gmbh Mikrocontroller und zugeordnetes Verfahren zum Abarbeiten der Programmierung des Mikrocontrollers
US7134003B2 (en) * 2002-12-12 2006-11-07 Arm Limited Variable cycle instruction execution in variable or maximum fixed cycle mode to disguise execution path
US7373463B2 (en) * 2003-02-13 2008-05-13 Stmicroelectronics S.A. Antifraud method and circuit for an integrated circuit register containing data obtained from secret quantities
DE10310781A1 (de) * 2003-03-12 2004-09-30 Infineon Technologies Ag Verfahren zum Betreiben eines Mikroprozessors und eine Mikroprozessoranordnung
US6926768B2 (en) 2003-04-14 2005-08-09 Sun Chemical Corporation Treatment of high performance pigments
US8296577B2 (en) * 2004-06-08 2012-10-23 Hrl Laboratories, Llc Cryptographic bus architecture for the prevention of differential power analysis
US20060002479A1 (en) * 2004-06-22 2006-01-05 Fernandes Felix C A Decoder for H.264/AVC video
US8953908B2 (en) 2004-06-22 2015-02-10 Digimarc Corporation Metadata management and generation using perceptual features
TWI251837B (en) * 2004-10-13 2006-03-21 Via Tech Inc Method and related apparatus for adjusting timing of memory signals
US7702942B2 (en) * 2005-09-12 2010-04-20 Northern Lights Semiconductor Corp. Method for generating adjustable MRAM timing signals
US7372290B2 (en) * 2005-10-04 2008-05-13 Stmicroelectronics, Inc. System and method for using dummy cycles to mask operations in a secure microcontroller
JP2007128184A (ja) * 2005-11-01 2007-05-24 Sharp Corp 消費電力解析対策機能付き半導体装置
US7647486B2 (en) * 2006-05-02 2010-01-12 Atmel Corporation Method and system having instructions with different execution times in different modes, including a selected execution time different from default execution times in a first mode and a random execution time in a second mode
FR2910658B1 (fr) * 2006-12-22 2009-02-20 Trusted Logic Sa Systemes electroniques securises,procedes de securisation et utilisations de tels systemes
FR2925968B1 (fr) * 2007-12-26 2011-06-03 Ingenico Sa Procede de securisation d'un microprocesseur, programme d'ordinateur et dispositif correspondants
US8386800B2 (en) 2009-12-04 2013-02-26 Cryptography Research, Inc. Verifiable, leak-resistant encryption and decryption
US8659954B1 (en) * 2011-09-14 2014-02-25 Adesto Technologies Corporation CBRAM/ReRAM with improved program and erase algorithms
DK2955871T3 (en) * 2014-06-12 2017-05-01 Nagravision Sa Cryptographic method for securely exchanging messages and apparatus and system for performing this method
EP3147774A1 (fr) * 2015-09-25 2017-03-29 Gemalto Sa Generateur d'horloge aleatoire
US10579197B2 (en) 2015-12-31 2020-03-03 Egalax_Empia Technology Inc. Touch sensitive processing method
TWI638298B (zh) * 2015-12-31 2018-10-11 禾瑞亞科技股份有限公司 觸控方法、觸控處理系統與電子裝置
DE102017114526A1 (de) * 2017-06-29 2019-01-03 Hanon Systems Verfahren zur Ansteuerung von Leistungshalbleitern in einem Inverter
US20190097785A1 (en) * 2017-09-27 2019-03-28 Silicon Laboratories Inc. Apparatus for Clock-Frequency Variation in Electronic Circuitry and Associated Methods

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4125763A (en) * 1977-07-15 1978-11-14 Fluke Trendar Corporation Automatic tester for microprocessor board
JPS5857778B2 (ja) * 1978-12-08 1983-12-21 カシオ計算機株式会社 乱数の初期値設定方式
JPS58114134A (ja) * 1981-12-28 1983-07-07 Hitachi Electronics Eng Co Ltd 乱数発生器
JPS62237592A (ja) * 1986-04-08 1987-10-17 Casio Comput Co Ltd Icカ−ドにおけるクロツク切換方式
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
US5249294A (en) * 1990-03-20 1993-09-28 General Instrument Corporation Determination of time of execution of predetermined data processing routing in relation to occurrence of prior externally observable event
JPH04199234A (ja) * 1990-11-26 1992-07-20 Nagano Oki Denki Kk プログラムテスト方式
JP2757714B2 (ja) * 1992-09-03 1998-05-25 日本電気株式会社 フレームパルス生成回路
US5404402A (en) * 1993-12-21 1995-04-04 Gi Corporation Clock frequency modulation for secure microprocessors

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100412894C (zh) * 2001-09-13 2008-08-20 株式会社瑞萨科技 存储卡及其初始化设置方法
CN104428789A (zh) * 2012-07-23 2015-03-18 高通股份有限公司 用于阻止安全启动过程期间的基于时序的假信号攻击的方法及设备
CN104428789B (zh) * 2012-07-23 2018-06-01 高通股份有限公司 用于阻止安全启动过程期间的基于时序的假信号攻击的方法及设备
CN104866007A (zh) * 2014-02-26 2015-08-26 精工爱普生株式会社 微型计算机以及电子设备
CN109245883A (zh) * 2018-09-21 2019-01-18 深圳市德名利电子有限公司 一种随机数发生器及随时数产生方法

Also Published As

Publication number Publication date
JP2001296935A (ja) 2001-10-26
CA2221880A1 (fr) 1997-09-12
JP3713515B2 (ja) 2005-11-09
WO1997033217A1 (fr) 1997-09-12
AR006138A1 (es) 1999-08-11
DE69717028T2 (de) 2003-05-08
EP0826169B1 (fr) 2002-11-13
BR9702118A (pt) 1999-01-26
EP0826169A1 (fr) 1998-03-04
TW491978B (en) 2002-06-21
NO975116D0 (no) 1997-11-06
US5944833A (en) 1999-08-31
AU725888B2 (en) 2000-10-26
CA2221880C (fr) 2006-05-09
FR2745924B1 (fr) 1998-12-11
HK1009684A1 (en) 1999-09-10
JP4015811B2 (ja) 2007-11-28
NO317448B1 (no) 2004-11-01
AU2031497A (en) 1997-09-22
CN1236370C (zh) 2006-01-11
JPH10507561A (ja) 1998-07-21
KR100463814B1 (ko) 2005-05-27
FR2745924A1 (fr) 1997-09-12
DE69717028D1 (de) 2002-12-19
KR19990008381A (ko) 1999-01-25
NO975116L (no) 1998-01-06

Similar Documents

Publication Publication Date Title
CN1236370C (zh) 改进的集成电路及这种集成电路的使用方法
JPH02242327A (ja) 乱数発生装置
WO2011117929A1 (ja) 乱数生成器、暗号化装置、及び認証装置
CN1239973C (zh) 不可预测的集成电路
US10263767B1 (en) System and method for power analysis resistant clock
EP0938790A2 (en) A method and device for executing a decrypting mechanism through calculating a standardized modular exponentiation for thwarting timing attacks
CN1285985C (zh) 在基于微处理器的电子模块中安全执行程序的方法及装置
US7590235B2 (en) Reduction calculations in elliptic curve cryptography
CN100458685C (zh) 产生随机数的装置及方法
US5761100A (en) Period generator for semiconductor testing apparatus
CN1204412A (zh) 智能卡的改进
JP2950571B2 (ja) スクランブラ/ディスクランブラ
US9323955B2 (en) Method for protecting a logic or mathematical operator installed in an electronic module with a microprocessor as well as the associated embedded electronic module and the system
EP3869728A1 (en) Device protected against side-channel attacks
RU2045769C1 (ru) Многофункциональный логический модуль
EP0417611A2 (en) Method and apparatus for protecting computer software using a presettable counter in combination with an additional function
Lu et al. A parallel Poisson generator using parallel prefix
SU752340A1 (ru) Устройство дл контрол информации
RU2195541C1 (ru) Устройство управления электронным кодовым замком
SU367420A1 (ru) УСТРОЙСТВО дл ОКРУГЛЕНИЯ ЧИСЕЛ^0-СОЮгн.:^Я IП''Т'''^'.'«-' - *'>&''•'.1.-...п1;--,:.лл^-;. ц.^/{, &!'1Б/'НО",1кЛ I
RU1827674C (ru) Устройство формировани адреса пам ти
CN101185105A (zh) 电子电路装置以及操作这种电子电路装置的方法
SU1451704A1 (ru) Устройство дл формировани маски
WO2001073542A1 (en) Random number generation
JP6212728B2 (ja) 乱数生成装置及び写像演算回路

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: CP8 TECHNOLOGY CO.,LTD.

Free format text: FORMER OWNER: BULL CP8

Effective date: 20050701

Owner name: BULL CP8

Free format text: FORMER OWNER: CP 8 TRANSAC

Effective date: 20050701

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

Effective date of registration: 20050701

Address after: French Rowan F Nass

Applicant after: CP8 TECHNOLOGIES

Address before: French Lou Vecsey Ennis

Applicant before: Bull CP8

Effective date of registration: 20050701

Address after: French Lou Vecsey Ennis

Applicant after: BULL CP8

Address before: French Lou Vecsey Ennis

Applicant before: CP8 TRANSAC

C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term

Granted publication date: 20060111

CX01 Expiry of patent term