首页> 中国专利> 改进的集成电路及这种集成电路的使用方法

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

摘要

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

著录项

  • 公开/公告号CN1181823A

    专利类型发明专利

  • 公开/公告日1998-05-13

    原文格式PDF

  • 申请/专利权人 CP8川萨克公司;

    申请/专利号CN97190163.5

  • 发明设计人 米歇尔·乌根;

    申请日1997-03-07

  • 分类号G06F1/04;G06F1/00;

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人罗亚川

  • 地址 法国卢维西恩尼斯

  • 入库时间 2023-12-17 13:04:52

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-04-26

    专利权有效期届满 IPC(主分类):G06F1/04 授权公告日:20060111 申请日:19970307

    专利权的终止

  • 2006-01-11

    授权

    授权

  • 2005-08-03

    专利申请权、专利权的转移专利申请权的转移 变更前: 变更后: 登记生效日:20050701 申请日:19970307

    专利申请权、专利权的转移专利申请权的转移

  • 1999-05-26

    实质审查请求的生效

    实质审查请求的生效

  • 1998-05-13

    公开

    公开

说明书

本发明涉及一种改进的集成电路及其使用方法。本发明尤其可应用于微处理器或微型计算机中,也可应用于需要安全性的线连逻辑电路中。

我们知道,微处理器或微型计算机依次执行记录在一存储器中的程序的顺序排列的指令,这些指令的执行与一个或多个以一时钟信号为基准的定时信号同步,该基准时钟信号或从外部或从内部向前述微处理器或微型计算机提供。

这样,将该程序执行的各个阶段与前述时钟信号关联起来就是可能的,因为一条特定指令的执行本身可分解为若干由一个或若干个相继的时钟脉冲定时的步骤。事实上,在现有技术的微处理器中,前述执行过程由一般来自一产生所需电子脉冲的定序器线路的时钟信号规则地定时,同时还使前述信号相对于前述基准钟产生相位偏移。另外,前述运算动作的定序应考虑访问各寄存器、各存储器及内部器件所需的时间,也考虑且特别地考虑前述信号在总线上及通过各逻辑电路的传播时间。因此,由于每一指令的起始及终止时刻是完全已知的,在一特定时间里是哪一条指令在前述处理器内的处理单元内执行,这一点是可能知道的,因为被执行的程序是由一系列预定的指令所组成的。

例如,可以确定自前述程序启动开始、自前述处理器清零开始发出的时钟脉冲的数量,或者甚至能确定自一事件开始或自一内部或外部基准信号开始所已经历的时间。

这种能够监视一程序在一微处理器或微型计算机中的执行的可能性,当该机被用于需高度安全性的场合时,就是一个重大的缺陷。事实上,有不良意图的人同样可以知晓前述处理器所处的各个连续的状态,并能利用这些信息知道某些内部处理结果。

可以想见,例如,对一外部信号的运算动作能够在根据一预定的安全操作结果所确定的各种不同的时刻发生,前述安全操作比如有内部机密信息的检测、或者一条信息的译码、或者某些特定信息的完整性控制。根据前述被考虑的时刻,该外部信号可以给出有关前述结果或前述信息的机密内容的信息。甚至,在密码计算的情况下,还可给出有关所用密码的解密密钥信息。

另外,已知有一些微处理器或微型计算机,比如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)和前述构成去相关时钟的校准电路。

在另一种实施方式中,前述单片电路可以配备前述微处理器、前述随机发生器、前述中断生成电路。

在另一种实施方式中,前述单片电路可以配备前述微处理器、前述辅助程序和前述去相关及校准时钟电路。

在另一种实施方式中,前述单片电路可以配备一微处理器、前述否相关及校准时钟电路,以及前述中断电路。

在前述单片电路的其它实施方式中,前述微处理器由一微型计算机取代。

在前述单片集成电路的其它实施方式中,前述微处理器可以由一组合逻辑电路取代,后者允许为特定的用途而执行一些有限的指令。显然,在这种情况下,同样的安全保护装置可以被应用于该集成电路。

本领域技术人员所能作出的其它修改同样属于本发明的实质范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号