用于增强计算系统的容错性和安全性的系统的制作方法

文档序号:6432966阅读:223来源:国知局
专利名称:用于增强计算系统的容错性和安全性的系统的制作方法
技术领域
本发明一般性地涉及到计算系统的安全性。更明确地说,本发明涉及对专用集成电路(ASIC)的安全保护,该专用集成电路是计算系统的一部分,并且是由外部时钟驱动的。
背景技术
计算机和计算系统正在日益普遍地融入日常生活。这样的系统被用在很大范围的应用中以及被用在从家用电器到诸如蜂窝电话和手持计划者之类的个人通信设备的产品中。这种技术的一种特殊而且正在发展的用途是在金融事务处理领域。
举例来说,比起现金或者支票,许多人更愿意携带与帐户相关联并且含有编码了的磁条的信用卡或借记卡。这个磁条包含与持卡人帐户相关联的持卡人信息。在使用中,持卡人向销售商出示卡,以便访问持卡人的帐户,来譬如为某个商品或者服务付费。销售商把卡交给读卡器,后者从编码了的磁条上读出信息,并利用这些信息来完成交易。
促进自动化和在金融事务处理中使用计算系统以及其它应用是集成电路技术领域已取得的进步。在过去的数十年里,集成电路技术进步巨大,到了成本和实用性允许自动化能够被轻易地用于大量的应用和系统中的地步。今天的集成电路包含数百万的晶体管,构成了数十万的逻辑门,且因此能够易于被配置和剪裁以用于多种不同的应用和功能。譬如,现在集成电路制造商提供被称为专用集成电路(ASIC)的产品。
在金融应用和系统中,ASIC设备被用于从信用卡或借记卡的磁条上读取必要的信息。一旦读出了信息,ASIC就能进一步操作以传送这些信息来访问持卡人的帐户,并对交易进行进一步的处理,使得销售商收到付款。这样一来,这类系统中的ASIC设备就是支持系统运行的“大脑”的部分了,并因此和持卡人敏感的帐户信息有利害关系。
正如预期的那样,在金融事务处理发生的地方,犯罪因素总是尾随而来。特别地,在涉及读卡机的信用卡和借记卡事务处理中,存在非法的尝试去确定持卡人帐户的敏感信息,以便非法地访问帐户并从中提取钱款,或者使用该帐户的购买力。时常地,这样的非法努力集中于这些系统中的ASIC设备的运行。在这些访问帐户信息的尝试中,利用了ASIC所具备的某些运行特征。
更明确地说,类似于绝大多数集成电路,ASIC设备的运行使用一个外部时钟信号,以便按顺序逐步执行使ASIC设备实现其功能的运行例程。这样一来,ASIC设备被设计成按一特定频率操作的时钟而运行完成(run off)。然而,比起最初ASIC被设计来运行所用的时钟频率而言,绝大多数ASIC在耦合到略微高一些或者低一些时钟频率的时钟的时候,仍然能够运行。已经确定通过应用一个步进经过该ASIC设备内的运行的“过频(over-frequency)”或“欠频(under-frequency)”时钟信号,便有可能通过这样的操作来探知ASIC设备的某一功能性,即该操作带有检索与ASIC设备所进行的前一次事务处理相关的数据的意图。因此,通过操纵AISC设备的时钟信号,某个人可能为了非法目的而获得其他人的帐户信息。这样一来,由于读卡器中所含的AISC设备的运行特点,使用读卡器的金融事务处理经常或多或少地是“不安全的”。
因此,存在对更安全的计算系统,特别是用于进行金融事务处理的更安全的系统的需求。
更明确地说,在本领域中存在这样一种需求,即干净地切换到一个安全的时钟并从其切换回来,以防止用于探知其运行情形的ASIC设备的过频或欠频计时,以便防止敏感数据,譬如与先前的金融事务处理相关联的数据,被获取。
发明概述本发明通过提供一种设备、程序产品和方法来解决这些以及其它与现有技术相关联的问题,所述设备、程序产品和方法防止经由专用集成电路(ASIC)来非法访问系统以探知其运行情况,同时防止包含在其中的数据被获取。通过这样的做法,提供了一个安全的环境。于是,人们在进行金融事务处理时更可能使用专用集成电路。
在本发明一种特定的实施方案中,ASIC的系统时钟被监视。其它状态也可能被监视。在一种实施方案中,两个时钟监视器提供了一种进行保护以不受时钟安全性攻击的集成的安全性解决方案。每个时钟监视器都包括时钟监视电路和一个安全时钟。个体时钟监视器中的每个都是集成在一起的,以提供一种通过冗余方式增强整体防护的安全机制。在一种实施方案中,时钟监视器对输入到ASIC的时钟来监视过频或者欠频的时钟信号。如果在ASIC的输入端出现过频或者欠频时钟或者其它安全性攻击,时钟监视器中的一个就向系统时钟报告一个报警信号,系统时钟接着就切换到内部生成的安全时钟,而且使用与那个时钟监视器相关联的相应的安全时钟,而不是常规的外部时钟输入。冗余的时钟监视器保证了即使时钟监视器中的一个失效,安全性仍然能够得以维持。
这些以及其它表现了本发明特征的优越性和特点在附加于此后的权利要求中阐述,并由此形成了一个另外的部分。然而,为了更好地理解本发明和理解通过它的使用而达到的优越性和目的,需要参考附图和附带的描述性内容,在其中描述了本发明的范例性实施方案。
附图简述包含于本说明书内并构成其一部分的附图,阐明了本发明的实施方案,并且和下文给出的本发明的一般描述一起,用于解释本发明的原理。


图1是一个包含了本发明实施方案的系统的方框图。
如图2是一个按照本发明的原理工作的时钟的功能方框图。
附图3是附图1和2所示系统中图示的时钟功能的一种实施方案的电路图。
附图4是附图1、2和3所示系统中所采用的负边沿开关的一种实施方案的电路图。
附图5A是附图1、2和3所示系统中所采用的振荡器时钟复用器的一种实施方案电路图的一部分。
附图5B是附图1、2和3所示系统中所采用的复用器的电路图的另一部分。
附图6是附图1、2和3所示系统中所采用的安全时钟选择器的一种实施方案的电路图。
附图7是附图1、2和3所示系统中所采用的系统时钟选择器的一种实施方案的电路图。
本发明实施方案详述请看附图,其中贯穿多个视图,用相似的数字指示相似的部分,附图1展示了一种可能的专用集成电路设备(ASIC)10组成本发明一种实施方案的方框图。所示的ASIC 10是作为安全性处理器来使用的,它用于高速加密应用,其中要保护象金融帐户数据这样的敏感数据不被对外暴露。图中所示的ASIC 10的实施方案是由来自PhilipsSemiconductors的市场上可买到的产品组成的;然而,本领域的技术人员将认识到,可以采用其它执行类似的命令的类似器件的配置来在多种应用中提供相同或类似的功能。因此,支持本发明的ASIC环境可以和讨论的实施方案中所显示的不同。
如附图1所示,ASIC 10基于一种安全的架构,这种架构可以被用于包括金融应用在内的许多应用中。ASIC 10通过高级数据链路控制器(HDLC)46、多个Philips Semiconductors的16550 UARTS(UARTA-D)48和Philips Semiconductors的I2C端口(I2C)44向ASIC 10的外部设备提供互连。在本发明中也可以采用不同于在这个实施方案中公开的其它的互连方案。所示的系统也可以通过删减或者增加与处理器20互连的额外的外设来进行定制。这在图1中通过包含安全外设22和不安全外设24来表示。安全外设和不安全外设的范例可以是用于信用卡事务处理的键盘和纸带打印机。
如所示,ASIC 10包括嵌入的处理器20、只读存储器(ROM)66、内部静态随机存取存储器(SRAM)68、SRAM控制器(SDRAM/EBIU)70、多个静态设备控制器(SDC)76、中断控制器(INTCL)36、系统时钟12内的内部锁相环、多个UARTS(UART A-D)48、实时秒计数器(RTSC)18、多个系统定时器(系统定时器)60、HDL控制器(HDLC)46、I2C端口控制器(I2C)44、安全外设22、不安全外设24、以及通用输入/输出端口(GPIO)38。也提供了外部设备的直接存储器访问支持(DMA)72。此外,还提供了系统时钟12、晶体振荡器14、电源管理单元(PMU)40、双态转换逻辑34、仲裁器32、包含设备选择器(DSEL)62的地址解码器、位于高级系统总线(ASB)28子系统和VLSI外围总线(VPB)子系统26(ASB2VPB)52之间的桥、以及一个全局配置设备寄存器(GDCR)54。同样,也提供了用于静态设备接口80的电子总线接口单元(EBIU)74和耦合到SRAM控制器SDRAM/EBIU 70的同步动态随机存取存储器(SDRAM)接口78。
同样如所显示的那样,该实施方案采用了市场上可买到的PhilipsSemiconductors的ARM720T作为嵌入处理器20。处理器包括,但是不限于,高速缓冲存储器,譬如一个8K字节的高速缓存;存储器管理单元(MMU)、写入缓冲器和用于处理器操作的高级系统总线(ASB)。
为ASIC 10标注的各种各样的器件对于ASIC结构而言是具有典型性的,但是后者可以包括或者也可以不包括标注了的器件,或者也可以包括更多的器件。正如下文将非常详细地描述的那样,本发明将关注于在采用了多个时钟监视器16的条件下,用于ASIC设备或者其它设备的系统时钟12的安全运行。
处理器20通过采用了先进系统总线(ASB)子系统28以及/或者超大规模集成的(VLSI)外部总线(VPB)子系统26的内部总线结构来和各种各样的前述设备相接口。ASB子系统28提供了仲裁器、地址解码器、对ASIC的外部存储器的接口、以及ASIC内部的至其他总线的桥之间的连通性。如图1所示,这一功能性是通过仲裁器32、地址译码器62、异常矢量表50、存储器管理单元(MMU)30、三重数据加密标准引擎(DES/3DES)64、只读存储器(ROM)66、静态随机存取存储器(SRAM)68、静态存储器管理器(SDRAM/EBIU)70、以及直接存储器访问控制器(DMA)72来提供的。在运行中,ASB子系统28通常有两种状态安全的和不安全的。ASB 28的状态取决于给定设备内部的控制器,而后者是由处理器20准予来控制总线的。因此,在内部设备、外部设备和处理器20之间,ASB既提供安全的互连,也提供不安全的互连。
VPB子系统26包括在ASB子系统28和VPB子系统26之间的桥(ASB2VPB)52、将在此后更详细地描述的多个时钟监视器16、中断控制器(INTCTL)36、多个系统定时器60、实时秒计数器(RSTC)18、安全的外设22譬如键盘、多个为调制解调器之类的设备提供连接的UARTS(UART A-D)48、高级数据链路控制器(HDLC)46、Philips的I2C总线接口(I2C)44、不安全的外设24譬如打印机、通用输入/输出端口(GPIO)38、随机数发生器(RNG)42、全局配置设备寄存器(GDCR)54、电源管理单元(PMU)40、以及也会在此后更详细地描述的系统时钟12。VPB子系统26一般具有两个状态安全的和不安全的。因此,VPB子系统26的状态也取决于给定设备内部被准予去控制总线的控制器。
通过使用所选择的设备、所用总线的可能状态、以及ASIC 10的结构中固有的架构,而提供了一种在多种设备和处理器之间进行安全通信和不安全通信的方法。举例来说,在一个使用了信用卡的金融事务处理中,处理器20能够与键盘和纸带打印机用安全的/不安全的方式进行通信,就像前文所述的那样。因此,除了本发明的各方面所提供的特性之外,ASIC 10也提供了许多安全特性。
尽管ASIC 10的架构提供了一些安全性,ASIC 10仍然容易受到许多常见的安全性攻击的影响。举例说来,由ASIC 10执行的事务处理的安全性仍然会经由过频或者欠频计时而提供关于内部状态的信息。本发明通过提供多个时钟监视器16和系统时钟来保护ASIC 10不受多种常见的安全性攻击,从而解决这个和其它相关的问题。更明确地说,在公布的实施方案和其它附图中所示的本发明的实施方案是针对多种安全性攻击,其包括ASIC 10的过频或欠频计时。然而,本领域技术人员将会认识到,本发明能够很容易地适应于其它类型的安全性攻击,在其中切换到安全时钟是需要的。
如前文所述,用一个时钟来使ASIC 10逐步执行其运行例程,这使得ASIC 10完成其功能。通过施加过频或者欠频时钟信号,则与使用ASIC执行的事务处理相关的秘密数据可能会被探知。可以将本发明引向阻止来自ASIC 10的对安全和秘密的金融和帐户信息的非法访问。为了防止ASIC被过频或欠频计时,根据本发明这个特定的实施方案,在多个时钟监视器16中提供了高频和低频监测。尽管高频和低频的监测是作为本发明这一特定的实施方案的一部分而提供的,许多其他的保护特性也可以被合并到时钟监视器16中去,这是本领域的普通技术人员能理解的。
在ASIC被过频或欠频计时的安全性攻击中,有人来观察ASIC的运行,记录ASIC响应过频或欠频计时的各种输出,从而探知ASIC的运行情况。现在考虑本发明和ASIC 10的过频和欠频检测特性的细节,图2展示了描述本发明特性的附图1中的某些部分的功能方框图。如附图2所示,晶体振荡器14和两个时钟监视器16A与16B、以及系统时钟12组成了下文中所谓的时钟切换电路或时钟开关100。系统时钟12还包括锁相环(PLL)102、复用器104和干净(clean)切换逻辑106。
时钟开关100功能如下。在系统时钟12内部,晶体振荡器14在一个基频上发生谐振,该基频被施加到PLL 102,系统时钟12由此生成了系统时钟信号108。系统时钟信号108被加到也在系统时钟12内部的复用器104,以及各时钟监视器16A和16B。时钟监视器16A和16B中的每一个都包含一个安全时钟,后者分别产生安全时钟信号SEC_CLK1(110A)和SEC_CLK2(110B),该安全时钟信号也被加到系统时钟12内的复用器104。时钟监视器16A和16B中的每一个都包含有电路,基于各个时钟监视器内所设置的参数,这些电路被配置来监视系统时钟信号108中过频和欠频的情况。
如果两个时钟监视器16A和16B都没有检测到时钟信号的过频或欠频情况,那么复用器就输出系统时钟108作为安全时钟114,于是这个信号被ASIC 10中的处理器20所用。然而,如果时钟监视器16A和16B中的一个或者两个都检测到过频或者欠频的情况,那么时钟监视器16A和16B就分别向干净切换逻辑106声明一个确保安全逻辑时钟信号(SAL_CLK1,SAL_CLK2)112A和112B,该干净切换逻辑106进而又使复用器104从输出系统时钟信号108切换到输出首先检测到过频或者欠频情况的那个时钟监视器16A和16B的相应安全时钟SEC_CLK1(110A),SEC_CLK2(110B)。在两个时钟监视器同时检测到过频或者欠频情况的情形下,干净切换逻辑106将使来自时钟监视器16A的安全时钟信号SEC_CLK1(110A)作为系统时钟信号114输出。一旦时钟检测器16A和16B检测到过频或者欠频的情况不再存在,那么安全时钟信号114就被切换回系统时钟信号108。
当电源施加到时钟开关100上时,从各个时钟监视器16A和16B内产生的复位信号RESET_1(116A)和RESET_2(116B)是用于提供一个已知的逻辑环境。当断言该复位信号RESET_1(116A)和RESET_2(116B)时,这一过程在该时钟开关内完成。
当在系统时钟信号108和安全时钟信号之间切换时,干净切换逻辑106被提供用来配合由安全时钟114驱动的设备的各不相同的时钟需求,并且安全时钟信号SEC_CLK1(110A)和SEC_CLK2(110B)是在时钟监视器16A和16B内产生的。出于本发明的目的,如果时钟信号114符合下列两个条件,则切换被认为是“干净”的。首先,时钟信号114一定不能有任何“毛刺”或者一定不能有不越过从高到低的状态或从低到高的状态下的逻辑门限的短暂转变。其次,当时钟信号114转变到低状态时,时钟信号114必须在规定的时间长度(低时间)内保持为低。类似的,当时钟信号114转换到高状态时,它必须在规定的时间长度(高时间)内保持为高。低时间和高时间具有最小值和最大值,以约束时钟信号114的最高和最低频率。此外,本发明中所描述的复用器104一般不是打算用于必须维持恒定的时钟占空比的场合。这是因为在时钟之间进行切换时,正如此后的附图中将更为详细地描述的那样,干净切换逻辑106会等待,直到需要被切换的时钟变成低,并在后续时钟刚刚变为低后切换到该后续时钟。这将导致一个合并起来的低时间,而这个低时间一般比单一时钟的低时间长一些。此外,在展示的实施方案中所描述的逻辑是为了用于Philips Semiconductor的ARM720T处理器20而专门选择并改造的。根据本发明的原理,所采用的干净切换逻辑106也能够很容易地被改造以适于和各种各样的其它设备一起工作。
同样,在本领域的普通技术人员将很容易认识到这仅是本发明的时间开关部分实施方案的一种可能配置。本领域的普通技术人员将进一步认识到,采用通常可以得到的电路,每个时钟监视器可以被配置以监视任意故障和安全性攻击准则,而不是象在一种实施方案中所描述的那样仅仅监视过频和欠频。此外,本领域的普通技术人员也能很容易认识到,可以采用附加的时钟监视器,而用两个时钟监视器来提供冗余性的本发明的这一特定实施方案可以被扩展,以便包含附加的时钟监视器,从而在伴随附加的干净切换逻辑和复用器时,用于进一步的冗余操作。最后,本领域的普通技术人员将认识到干净切换逻辑也能够很容易被改造,以和具有各种时钟要求的各种各样的设备和处理器一起工作。
考虑附图3,其中阐明了附图2中所示的时钟开关100的功能方框图的一种可能电路。这仅是符合本发明原理的时钟开关100的一种实施方案的可能电路。特别地参照附图3,图中所描绘的电路是由如下的子电路组成的负边沿开关1(202)、负边沿开关2(204)、振荡器时钟复用器206、系统时钟选择器208、以及安全时钟选择器210。负边沿开关1(202)和负边沿开关2(204)在附图4中显示得更为详细。振荡器时钟复用器206在附图5A和5B中显示得更为详细,而安全时钟选择器210在附图6中显示得更为详细。系统时钟选择器(208)显示于附图7中。这些子电路中每一个的基本特性和运行将在下文结合它们各自的附图一起讨论。
现在考虑附图3中所示的电路的基本运行。可以通过考察两种场景来最好地解释附图3中所示电路的运行。第一种场景是当时钟监视器16A和16B中的任意一个都没有检测到过频或欠频时,而时钟信号114是由系统时钟信号108提供的。第二种场景是当时钟监视器16A和16B中的一个或两个都检测到了过频或欠频的情况,或者检测到了系统中的一些其它故障或安全性破坏,而安全时钟是由时钟监视器16A和16B所生成的安全时钟信号SEC_CLK1(110A)和SEC_CLK2(110B)中的一个来提供的。
在第一种场景中,一旦完成了上电序列,信号RESET 1(116A)和RESET 2(116B)就为假。因为时钟监视器16A和16B都还没有检测到过频或欠频的情况,所以信号SAL_CLK1(112A)和SAL_CLK2(112B)是低。系统时钟12允许输出该系统时钟信号108作为安全时钟114。
在第二种场景中,时钟监视器16A和16B中的一个或两个都检测到了故障,譬如包括过频或欠频的情况在内的安全性攻击,而监视器已经通过把其相应的信号取为高状态来断言它们相应的SAL_CLK1(112A)或SAL_CLK2(112B)信号。在这种情形下,与首先检测到过频或欠频情况的时钟监视器16A和16B相关联的安全时钟信号SEC_CLK1(110A)和SEC_CLK2(110B)将被作为安全时钟114而输出。如果剩余的时钟监视器16A和16B也检测到了故障,譬如过频或欠频的情况,并且也断言它的相应的SAL_CLK1(112A)或SAL_CLK2(112B)信号,那么来自于第二个时钟监视器的信号将基本上不被使用。然而,如果第一个时钟监视器不再检测到过频或欠频情况,并对它的相应的SAL_CLK1(112A)或SAL_CLK2(112B)信号解除断言,那么与第二个或最后一个检测到过频或欠频情况的时钟监视器16A或16B相关联的安全时钟SEC_CLK1(110A),SEC_CLK2(110B)将被作为安全时钟信号114而输出。当两个时钟监视器同时检测到过频或欠频的情况时,也有利于供应。在这种情形下,系统时钟12默认第一个时钟监视器16A,而其安全时钟SEC_CLK1(110A)被用作安全时钟信号114。最后,一旦两个时钟监视器16A和16B都不再检测到过频或欠频情况,并且不再断言其相应的SAL_CLK1(112A)和SAL_CLK2(112B)信号,则系统时钟12再一次输出系统时钟信号108作为时钟信号114。
如此一来,在过频或欠频的安全性攻击期间,系统时钟12允许处理器20使用时钟监视器16A,16B中的安全时钟SEC_CLK1(110A)和SEC_CLK2(110B)中的一个来运行。这使得处理器20避免对系统时钟信号108的操纵,该系统时钟信号使处理器步进通过其运行例程。通过这样做,系统时钟12借助向处理器提供安全时钟以零输出秘密信息,从而为ASIC 10提供了附加的安全性。
在本发明这一特定的实施方案中,从系统时钟信号108切换到时钟监视器16A,16B内的安全时钟SEC_CLK1(110A),SEC_CLK2(110B)中的任意一个的过程并不必是“干净”的,因为时钟监视器16A,16B提供一个并发的复位(RESET1,RESET2)116A,116B。这个并发的复位被通过附图3中所示的逻辑门212,216施加到时钟开关100。然而,当从时钟监视器16A,16B内的安全时钟SEC_CLK1(110A),SEC_CLK2(110B)中的任意一个切换回到系统时钟信号108时,这个转换必须是“干净”的,不带有毛刺、多余的边沿、或窄脉冲,正如本公开的发明实施方案中Philips Semiconductors的ARM720T处理器20所要求的那样。这里公开的实施方案提供了这种“干净”的切换。如对本领域普通技术人员来说非常明显的那样,当从系统时钟转移到一个安全时钟时,如果本发明的一种实施方案是使用不向干净切换逻辑提供并发复位的时钟监视器来实施,那么干净切换逻辑也能被轻易地修改以适合在那种场景下干净地切换。
此外,正如前面指出的那样,在这个特定的实施方案中,只要不违反低频最小值,就没有对系统时钟信号108或时钟监视器16A,16B内的安全时钟SEC_CLK1(110A),SEC_CLK2(110B)中的任意一个的低时间做任何限制。如果需要和一些设备一起使用,而这些设备要求系统时钟信号108和安全时钟信号SEC_CLK1(110A),SEC_CLK2(110B)之间有最大高时间,那么本发明的该公开的实施方案可以进行调整。对于本领域普通技术人员而言,如何采用已知的电路来修改干净切换逻辑(106),以提供时钟信号的最小的低时间或最大的高时间将是显然的。
已经阐述的干净切换逻辑106允许复用器104从安全时钟SEC_CLK1(110A),SEC_CLK2(110B)中的任意一个切换到系统时钟信号108,即使系统时钟信号108已经停止。也就是说,本发明的公开的实施方案并没有在失去系统时钟信号108的情况下提供替换的时钟信号。然而,如果需要的话,可以对干净切换逻辑106进行改造,以便如果系统时钟信号已经停止,就向处理器20提供安全时钟SEC_CLK1(110A)和SEC_CLK2(110B)中的一个。
最后,上面所描述的时钟监视器16A和16B采用了已知的电路来确定过频或欠频情况。此外,正如在上文中提到的,本领域普通技术人员能够很容易地实现多种电路来提供相同或类似的功能性,以提供对多种常见故障或安全性攻击的监视。时钟监视器16A,16B是用功能方框来表示的,用来阐明系统时钟12如何能够被配置来检测一系统时钟信号108超出了容限,并使得处理器20采用替换的安全时钟SEC_CLK1(110A),SEC_CLK2(110B)。
现在把焦点集中到其余的附图,图中表述的电路更详尽地显示此前所描述的本发明的这一特定实施方案中÷本发明的干净切换逻辑是如何实现的。附图4表述了用于附图3所示的负边沿开关1(202)和负边沿开关2(204)二者的逻辑电路。如本领域的技术人员将注意到的那样,字母“N”表示对前面所讨论的时钟监视器16A,16B的特定引用。负边沿开关202和204的功能是检测来自时钟监视器16A,16B的SAL_CLK_N 112A,112B信号的负跳变沿,同时也由SEC_CLK 404驱动。然后负边沿开关202,204将输出该检测到的负边沿分别作为信号NEG_EDG_SWN 302,304,这些信号将在后面的附图中用于后续的电路。负边沿开关202和204也产生SAL_CLK_N 112A,112B信号的同步后的版本,并把它们作为SWITCH_CLKN_SYNC 306,308输出。这是当一旦时钟监视器16A,16B中的一个检测到故障或者安全性攻击,譬如过频或者欠频情况,而从系统时钟信号108切换到安全时钟SEC_CLK1(110A),SEC_CLK2(110B)中的某一个时,对信号进行同步中的第一步骤,同步该信号对于提供干净切换而言是必需的。
现在参考附图5A,图中绘制的逻辑电路显示了附图3所示的振荡器时钟复用器206的一部分。振荡器时钟复用器逻辑电路从负边沿开关202,204取得SWITCH_CLK1_SYNC 306和SWITCH_CLK2_SYNC308,并确定是否采用SEC_CLK1(110A)或SEC_CLK2(110B)作为安全时钟SEC_CLK 404信号。如所示,为已经检测到过频或欠频情形的时钟监视器16A,16B产生信号USE_CLK1(402)和USE_CLK2(404),以促使时钟复用器410选择相应的时钟110A,110B。这是当一旦检测到过频或者欠频,而从系统时钟信号108切换到安全时钟SEC_CLK1(110A),SEC_CLK2(110B)中的某一个时,对信号进行同步中的第二步骤,同步该信号对于提供干净切换而言是必需的。
现在参考附图5B,其中绘制的逻辑电路执行了此前所描述的附图5A所示的时钟复用器410的功能性。本领域的技术人员将会理解有多种电路也能被用于执行前述的复用功能性,而附图5B中所绘制的逻辑电路只是这样的一个范例。
现在参考附图6,图中绘制了在附图3中所示的安全时钟选择器210的逻辑电路。安全时钟选择器210以从负边沿开关202,204获取的NEG_EDGE_SW1 302和NEG_EDGE_SW2 304信号、从安全时钟复用器206获取的SEC_CLK 404信号、以及通过附图3所示的逻辑门212由SAL_CLK1(110A)和SAL_CLK2(110B)导出的SWITCH 502信号作为输入。由此,刚一断言信号SWITCH 502,安全时钟选择器210就在检测到过频或者欠频时输出USE_SEC_CLK 504。这是当从系统时钟信号108切换到时钟监视器16A,16B中所得到的安全时钟SEC_CLK1(110A),SEC_CLK2(110B)中的某一个时,对信号进行同步中的第三步骤,同步该信号对于提供干净切换而言是必需的。
最后,附图5A所示的时钟复用器410所产生的SEC_CLK 404信号以及附图6所示的安全时钟选择器210所产生的USE_SEC_CLK 504信号在附图3中的逻辑门214中被合并起来,以导致也在附图3中示出的逻辑门218把对于检测到过频或者欠频情况的时钟监视器16A,16B的相应的安全时钟SEC_CLK1(110A)或SEC_CLK2(110B)作为安全时钟114输出。此外,这允许处理器20在过频或欠频故障或者安全性攻击期间,采用时钟监视器16A,16B中的安全时钟SEC_CLK1(110A),SEC_CLK2(110B),且避免在步进通过其运行例程中对系统时钟信号108进行操纵。
现在参考附图7,其中绘制了在附图3中所示的系统时钟选择器208的逻辑电路。当一旦时钟监视器16A,16B不再检测到故障或安全性攻击,处理器20从结合时钟监视器16A,16B中的安全时钟SEC_CLK1(110A),SEC_CLK2(110B)中的一个来运行转换到结合系统时钟信号108来运行时,系统时钟选择器208用于提供“干净”的切换。系统时钟选择器208以来自附图4所示的负边沿开关202和204的NEG_EDGE_SW1(302)和NEG_EDGE_SW2(304)信号、由附图3中所示的逻辑门212根据SAL_CLK1(110A)和SAL_CLK2(110B)得到的SWITCH 502信号、同样由逻辑门212根据RESET_1和RESET_2信号得到的RESET_N 602信号、以及附图5A和5B中显示的SEC_CLK404信号作为输入。如附图7中所示,一个3比特的格雷(Grey)计数器600一直保持在复位状态,直到从其输入端看到最新切换的负边沿SWITCH 502、NEG_EDGA_SW2(304)、NEG_EDGA_SW1(302)、以及RESET_N 602。接着这个3比特的格雷计数器开始计数,在二进制计数为1的时候装备(arming)第一个触发器606,而在二进制计数为3的时候装备第二个触发器604。如果系统时钟信号108是在工作的,那么触发器604、606将被计时。触发器604、606进而又对第三个触发器608计时,而后者将断言USE_SYS_CLK 610信号。这在SWITCH 502信号被解除断言,以及在检测到信号NEG_EDGE_SW1(302)或NEG_EDGE_SW2(304)中任意一个的负边沿之后,在系统时钟信号108的上升沿使能USE_SYS_CLK 610。接着,USE_SYS_CLK 610将和附图3中所示的从SWITCH 502信号导出的SWITCH_N 218信号以及逻辑门216中的系统时钟信号108相组合。于是,也如附图3所示,逻辑门216用被作为安全时钟信号114输出的系统时钟信号108驱动逻辑门218。这在一旦不再检测到过频或欠频,处理器20从结合时钟监视器16A,16B中的安全时钟的SEC_CLK1(110A),SEC_CLK2(110B)二者之一运行切换到结合系统时钟信号108运行时,为处理器20提供干净的切换。也应该注意到,如前文所指出的,即使系统时钟108不在运行,当3比特的格雷计数器600超时之后,附图2和3中所示的安全时钟114将仍然会切换到系统时钟信号108。
尽管通过这里所描述的实施方案已经阐述了本发明,而且实施方案已经描述得相当详细,但限制或以任何方式把所附权利要求的范围局限于这样的细节并不是本申请人的目的。本领域的技术人员将容易地发现更多的优越性和修改。因此,在更广义的方面看来,本发明并不受限于特定的细节、代表性的设备和方法、以及所展示和描述的阐明性的范例。相应地,可以在不脱离申请人的一般性的发明概念的精神或范围的条件下,脱离这样的细节。
权利要求
1.一种增强系统(10)的安全性的方法,该系统结合来自于一系统时钟(12)的时钟信号(108)而运行,该方法包含监视该系统以检测系统中的故障;刚一检测到故障,就使该系统从结合来自于该系统时钟(12)的时钟信号(108)运行切换到结合来自于一安全时钟(16a,16b)的安全时钟信号(116a,116b)运行。
2.权利要求1中的方法,还包含当将该系统(10)切换到结合来自该安全时钟(16a,16b)的安全时钟信号(116a,116b)运行时,防止时钟信号(114)具有不越过从高到低状态或者从低到高状态的逻辑门限的短暂转换。
3.权利要求1中的方法,其中当从该系统时钟(12)的时钟信号(108)切换到该安全时钟(16a,16b)的安全时钟信号(116a,116b)时,该时钟信号(114)具有延长的低时间。
4.权利要求1中的方法,还包含把来自系统时钟(12)和来自至少一个安全时钟(16a,16b)的时钟信号(108,116a,116b)复用在一起,并且刚一检测到故障,就选择复用的时钟信号(114)中的一个来运行该系统。
5.权利要求1中的方法,还包含当在时钟信号(108,116a,116b)之间切换时,等待,直到正被切换自的时钟信号转换到低状态。
6.一种用于增强系统(10)的安全性的设备,该系统结合来自于一系统时钟(12)的时钟信号(108)而运行,该设备包含产生安全时钟信号(116a,116b)的安全时钟(16a,16b);被配置成监视该系统(10)以检测故障的时钟监视电路;时钟切换电路(104,106),该时钟切换电路可操作地耦合到时钟监视电路、系统时钟信号(108)、以及安全时钟信号(16a,16b);该时钟切换电路(104,106)被配置成,刚一检测到故障,就使该系统(10)从结合来自于系统时钟(12)的时钟信号(108)运行切换到结合来自于安全时钟(16a,16b)的安全时钟信号(116a,116b)运行。
7.权利要求6中的设备,还包含多个具有安全时钟信号(116a,116b)的安全时钟(16a,16b);该时钟切换电路(104,106)可操作地耦合到多个安全时钟信号(116a,116b)以便把系统10切换到结合这些安全时钟信号(116a,116b)中的一个运行。
8.权利要求6中的设备,其中安全时钟(16a,16b)包括一个环形振荡器。
9.权利要求6中的设备,其中时钟监视电路(16a,16b)被配置以检测该已检测到故障的结束;该时钟切换电路(104,106)还被配置成刚一检测到所述故障的结束,就使该系统(10)切换以再次结合来自于系统时钟(12)的时钟信号(108)运行。
10.权利要求6中的设备,其中时钟监视电路被配置成监视该系统(10),以检测出与来自于该系统时钟的过频和欠频时钟信号(108)中的一个相关的故障,该时钟切换电路(104,106)被配置成把系统(10)切换到结合来自于安全时钟(16a,16b)的安全时钟信号(116a,116b)运行,以防止对该系统(10)的过频和欠频计时。
11.权利要求10中的设备,其中时钟监视电路包括分频器和延迟线,该分频器和延迟线被配置成检测来自该系统时钟(12)的过频和欠频时钟信号(108)。
12.一种专用集成电路,包含处理器(20);产生用于处理器运行的系统时钟信号(108)的时钟(12);更进一步地产生安全时钟信号(116a,116b)的安全时钟(16a,16b);时钟监视电路,被配置成监视该专用集成电路(10)以检测故障;时钟切换电路(104,106),该时钟切换电路可操作地耦合到该时钟监视电路、该系统时钟信号(108)以及安全时钟信号(116a,116b);该时钟切换电路(104,106)被配置成刚一检测到故障,就使处理器(20)从结合一系统时钟信号(108)运行切换到结合该安全时钟信号(116a,116b)运行。
全文摘要
一种用于增强含有系统时钟的计算系统的容错性和安全性的系统,这是通过对该计算系统监视一系列安全性攻击中的至少一个攻击,并且刚一检测到安全性攻击,就把系统从系统时钟切换到一个安全的时钟而进行的。
文档编号G06F1/04GK1602458SQ02824864
公开日2005年3月30日 申请日期2002年11月26日 优先权日2001年12月14日
发明者J·A·勒赫曼, R·塞蒂亚 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1