半导体集成电路设备 【发明背景】
【技术领域】
本发明涉及一种半导体集成电路设备,其具有多个可操作地与内部时钟同步的内部电路。
背景技术
近年来,诸如微型计算机等等之类的许多半导体集成电路设备具有由CMOS(互补金属氧化物半导体)组成的各种内部电路,所述CMOS对于高度集成设计和低电流消耗有帮助。当CMOS电路的输出从“1”变化到“0”或者从“0”变化到“1”,CMOS电路消耗电源电流。具体来讲,如果半导体集成电路设备具有连接到大电容负载的总线线路,并且是由CMOS电路驱动的,则当所述总线线路上的数据从“1”变化到“0”或者从“0”变化到“1”的时候,所述半导体集成电路设备消耗大量电流。这意味着:通过观测由半导体集成电路设备消耗的电流,可以读取在半导体集成电路设备中执行的数据处理序列,以及在该半导体集成电路设备中处理的数据。也就是说,通过观察在由半导体集成电路设备消耗的电流方面的变化,人们也许能够识别正在该总线线路上传输什么数据,该半导体集成电路设备是如何工作的,以及该半导体集成电路设备正在处理什么数据。因此,需要有这样的技术,用于使得实际上不可能基于对所消耗的电流波形的观察来再现数据,借此保护保存在半导体集成电路设备中的用户程序和内部数据。
用于防护用户程序和内部数据地一种传统方法是对这样的用户程序和内部数据加密。例如,日本专利第2937919号公开了一种伪随机数发生器,用于产生供程序和数据加密使用的随机数。
依据一种减少消耗电流波形的数据相关性的简单处理过程,始终向半导体集成电路设备供应具有不依赖于数据变化的预定周期的虚假电流。
然而,由于由半导体集成电路设备消耗的电流被所述始终对其供应的虚假的电流增加了,所以半导体集成电路设备在其应用方面受到了限制。此外,所述用于保护程序和内部数据的处理进程的能力相对较低,这是因为可以通过对消耗的电流波形的观察来决定虚假电流的存在。
【发明内容】
因此,本发明的一个目的是提供一种半导体集成电路设备,其在不过度地增加消耗电流的情况下,使得难以基于对消耗的电流波形的观察来再现所保存的数据,借此增加了保护程序和内部数据的能力。
为了实现上述目的,根据本发明的一种半导体集成电路设备具有间歇时钟产生电路,该电路通过从具有预定周期的第一时钟中消除一些脉冲,来产生作为间歇脉冲链的第二时钟,并且将所述第二时钟作为内部时钟提供给半导体集成电路设备的每一内部电路。同时,用于消耗电源电流的电流产生电路是与第三时钟时间关联地工作的,所述第三时钟包括从第一时钟中消除的脉冲链。
利用上述结构,即使内部电路是使用第二时钟工作的,用和当内部电路使用第一时钟正常地工作时一样的方式来改变半导体集成电路设备的消耗电流的波形。
因此,难以将当内部电路是使用第二时钟工作的时候观察的消耗电流波形、与当内部电路是使用第一时钟正常地工作的时候观察的消耗电流波形相区分。相应地,即使通过分析消耗电流波形,也难以再现正在被处理的数据处理序列(程序)和内部数据。保护保存在半导体集成电路设备中的程序和内部数据的能力被增加了。此外,防止了消耗电流有不必要的增加,这是因为不必始终向半导体集成电路设备始终供应虚假电流。
本发明的上述些及其他目的、特征和有益效果将根据以下参照附图所作的说明而更加明显,所述附图图示了本发明的范例。
【附图说明】
图1是根据本发明的第一实施例的半导体集成电路设备的方框图;
图2是图1中所示半导体集成电路设备中的电流产生电路的电路图;
图3是表示图1中所示半导体集成电路设备的工作的时间图;
图4是根据本发明的第二实施例的半导体集成电路设备的方框图;以及
图5是根据本发明的第三实施例的半导体集成电路设备的方框图。
【具体实施方式】
第一实施例
如图1中所示,依据本发明的第一实施例的半导体集成电路设备包括中央处理器(CPU)103,ROM 104,RAM 105,以及用作存储器件的EEPROM 106,充当用于向该半导体集成电路设备外部的电路传输数据、以及从所述外部的电路接收数据的接口的输入输出端口(I/O)107,用于产生具有预定周期的时钟A(第一时钟)的时钟产生电路101,用于产生时钟C(第二时钟)的间歇时钟产生电路100,所述时钟C包括通过从所述时钟A中消除一些脉冲得到的间歇脉冲链,以及用于与时钟B(第三时钟)时间关联地消耗电源电流的电流产生电路102,所述时钟B包括待从所述时钟A中除去的脉冲链。
间歇时钟产生电路100包括用于产生随机数的随机数发生器108,用于暂时地保持从随机数发生器108输出的随机数的寄存器109,用于依据从随机数发生器108输出的随机数来产生时钟B的定时发生器110,以及用于通过向其提供时钟B和时钟A、并且与时钟B时间关联地停止输出时钟A来产生时钟C的同步电路111。
在图1中,半导体集成电路设备被显示为具有CPU 103,ROM104,RAM 105,EEPROM 106和I/O 107,作为其内部电路。然而,半导体集成电路设备的内部电路不局限于那些电路,而是可以有具有其他功能的各种电路。
时钟产生电路101产生具有预定周期的时钟A,并将时钟A提供给同步电路111。如果没有使用包括间歇脉冲链的时钟C,则时钟A被用作内部时钟,用于同步地操作半导体集成电路设备的各个内部电路,例如CPU 103,ROM 104,RAM 105,EEPROM 106,I/O 107,随机数发生器108,等等。
时钟产生电路101可以是用于使用石英晶体振荡器、环形振荡器或者其它在现有技术中公知的器件来振荡产生时钟A的电路,或者可以是用于根据由外电路提供的时钟产生时钟A的电路。时钟产生电路101可以被设置为依据由外电路提供的信号控制振荡的开始或者停止。
定时发生器110经由寄存器109接收由随机数发生器108产生的随机数,并且例如当随机数与预置值一致的时候产生为“1”的时钟B。
同步电路111被提供时钟B以及由时钟产生电路101输出的时钟A,并且当时钟B是“1”的时候停止输出时钟A,借此产生是间歇的脉冲链的时钟C。在本实施例中,半导体集成电路设备的内部电路(CPU103,存储器,I/O 107,等等)是使用时钟C作为内部时钟工作的。此外,在本实施例中,电流产生电路102是与时钟B时间关联地工作的,所述时钟B包括待从时钟A中除去的脉冲链。利用这一结构,即使当内部电路是使用作为间歇脉冲链的时钟C工作的时候,用和当内电路使用时钟A正常地工作时一样的方式来改变半导体集成电路设备的消耗电流的波形。因此,难以将当内电路是使用时钟C工作的时候观察的消耗电流波形、与当内电路是使用时钟A正常地工作的时候观察的消耗电流波形相区分。相应地,难以分析正被处理的数据对于消耗电流波形的相关性。
举例来说,随机数发生器108包括用于使用已知的线性反馈移位寄存器产生伪随机数的伪随机数发生器。
如图2中所示,电流产生电路102包括电阻R和N沟道MOS晶体管Q1,它们彼此串联连接,并且被插在电源VDD和地电位GND之间。利用图2中所示结构,通过电阻R的值确定穿过电流产生电路102的电流。
将在下文中参照图3说明依据第一实施例的半导体集成电路设备的工作。图3是一时间图,其示出:当半导体集成电路设备的内部电路是使用时钟A工作(正常地工作)的时候产生的消耗电流波形,当半导体集成电路设备的内部电路是使用时钟C工作的时候产生的消耗电流波形,以及当半导体集成电路设备的内部电路是使用时钟C工作、并且电流产生电路102是使用时钟B工作的时候产生的消耗电流波形。
如图3中所示,如果半导体集成电路设备的内部时钟是使用时钟C间歇地工作的,则消耗电流变得小于当半导体集成电路设备的内部电路是使用时钟A正常地工作时的情形。然而,能够从半导体集成电路设备的外部确定:其内部电路是以与当它们是正常地工作的时候显著不同的方式来工作的。因此,减少了使得难于从外部对半导体集成电路设备的内部处理工作进行分析的影响。
依据本实施例,半导体集成电路设备的内部电路是使用时钟C工作的,同时电流产生电路102是使用时钟B工作。在这时候,消耗电流的值(平均值)实质上与当半导体集成电路设备的内部电路是使用时钟A正常地工作的时候的消耗电流的值相同。然而,由于难以将在这时候观察的消耗电流波形与当内部电路是使用时钟A正常地工作的时候观察的消耗电流波形相区分,所以即使当观察消耗电流波形的时候,也难以分析正被处理的数据对于消耗电流波形的相关性。因此难以再现数据。
依据本实施例的半导体集成电路设备使得难以基于对消耗电流波形的观察来再现保存的数据,保护保存在半导体集成电路设备中的程序和内部数据的能力被提高了。此外,防止消耗电流有不必要的增加,这是因为不必始终向半导体集成电路设备始终供应虚假电流。
第二实施例
如图4中所示,依据本发明的第二实施例的半导体集成电路设备与依据第一实施例的半导体集成电路设备相似,它不仅具有在图1中所示的电路结构之外,还具有包含有多个电流产生电路1021至102n(n是正整数)的电流产生电路群113,以及用于选择待工作的电流产生电路的电路选择寄存器112。依据第二实施例的半导体集成电路设备的其他结构和工作细节与依据第一实施例的半导体集成电路设备的那些结构和工作细节相同,下文中将不再说明。
举例来说,电路选择寄存器112被配置为能够经由数据总线,从外电路向其中写入期望值。
依据存储在电流选择寄存器112中的值预先选择电流产生电路1021至102n,并且所选择的电流产生电路是使用由定时发生器输出的时钟B工作的。
举例来说,如果电流选择寄存器112中的位0被分配给电流产生电路1021,则当存储在电流选择寄存器112中的值是“1H”的时候,也就是说当位0是“1”的时候,电流产生电路1021使用时钟B工作。类似地,当相应位是“1”的时候,被分配给电流选择寄存器112的其他位的电流产生电路1022至102n使用时钟B工作。可以是一次一个地选择电流产生电路1021至102n并使其工作,或者同时地选择电流产生电路1021至102n中的多于一个并使其同时工作。电流产生电路1021至102n可以被配置为所消耗的电流因此而彼此不同或者彼此相等。
利用依据第二实施例的半导体集成电路设备,由于从电流产生电路1021至102n中被选择出来的电路或多个电路工作,所以比依据第一实施例的半导体集成电路设备更好地实现了与当内部电路正常地工作的时候观察的消耗电流波形相接近的消耗电流波形。
因此,依据第二实施例的半导体集成电路设备使得更加难以基于对消耗电流波形的观察来再现保存的数据,并且因此,保护保存在半导体集成电路设备中的程序和内部数据的能力被进一步地提高了。
第三实施例
如图5中所示,依据本发明的第三实施例的半导体集成电路设备与依据第二实施例的半导体集成电路设备相似,除了由随机数发生器产生的随机数是经由寄存器209提供给电路选择寄存器212的。依据第三实施例的半导体集成电路设备的其他结构和工作细节与依据第二实施例的半导体集成电路设备的那些结构和工作细节相同,下文中将不再说明。
依据第三实施例,寄存器209暂时地保持由随机数发生器产生的随机数,并且将该随机数提供给电路选择寄存器212。因此,电路选择寄存器212从电流产生电路群中随机地选择一个将使用时钟B工作的电流产生电路。
因为随机选择的电流产生电路是使用时钟B工作的,所以与使用依据第二实施例的半导体集成电路设备相比,更加难以基于对消耗电流波形的观察再现所保存的数据。因此,保护保存在半导体集成电路设备中的程序和内部数据的能力大大提高了。
在所述第一至第三实施例中,所述定时发生器和电流产生电路是基于由随机数发生器输出的随机数工作的。然而,可以使用诸如计时器、移位寄存器或者半导体集成电路设备的内部总线之类的、其数据在半导体集成电路设备的工作期间随时间变化的电路(可变数据输出电路)的输出值,而不是使用随机数,供操作定时发生器和电流产生电路使用。
虽然已经使用特定术语说明了本发明的最佳实施例,但是这样的说明仅仅用作举例说明的目的,并且可以理解的是,可以在不背离以下权利要求书的精神或范围的情况下作出变化和变型。