用于对集成模块的电流消耗进行管理的设备和方法与流程

文档序号:14914146发布日期:2018-07-11 00:13阅读:128来源:国知局

本申请要求于2017年1月3日提交的法国申请No.1750027的优先权,该申请通过引用在此并入。

技术领域

本发明的实现和实施方式涉及一种用于对集成模块的电流消耗进行管理的设备和方法。



背景技术:

图1示出了耦合在第一端子B1和第二端子B2之间反相器类型的逻辑电路CL,其中第一端子B1旨在接收电源电压Vdd,第二端子B2旨在接收参考电压,例如此处为地GND。逻辑电路通常包括输入端子E和输出端子S。

输出端子S在此处可以耦合到集成电路CI的另一部件的输入(未示出),例如耦合到另一反相器。归因于例如另一反相器的晶体管的栅极电容,该耦合可能生成寄生电容。

在图1中,该寄生电容已由第一电容器C1代表。

逻辑电路CL通常包括与PMOS晶体管TP1串联耦合在第一端子B1和第二端子B2之间的NMOS晶体管TN1。逻辑电路的输入端子E耦合到两个晶体管的栅极,以及输出端子S耦合到两个晶体管公共的节点,此处是PMOS晶体管TP1的漏极和NMOS晶体管TN1的漏极公共的节点。

因此,当存在于输入端子E上的信号从高状态向低状态转变时,PMOS晶体管TP1导通,而NMOS晶体管TN1截止。电容器C1继而借助于流经PMOS晶体管TP1的电流IC1充电。由于电容器的充电时间非常短,因此该电流可以被比作充电电流峰值Ic1。

此外,两个晶体管的同时切换在短时间间隔期间会造成端子B1和B2之间的短路。该时间间隔的长度随着切换速度的降低而增大。因此,每次晶体管切换时,短路电流峰值Ic2会通过两个晶体管TP1和TN1在第一端子B1和第二端子B2之间流动。

在输出端子S递送的信号从低状态向高状态转变期间所生成的电流峰值可以与从高状态向低状态转变期间所生成的电流峰值的值具有不同的值。

在存在于输入端子E上的信号从高状态向低状态转变期间,逻辑电路CL消耗的电流高于其在信号从低状态向高状态转变期间消耗的电流,因为在第一种情况下,消耗的电流是对电容器C1充电的电流Ic1与短路电流之和,而在第二种情况下,消耗的电流仅对应于短路电流Ic2。

因此,通过例如使用电磁探测和专用算法对包括一个或多个逻辑门的集成电路的电流消耗进行分析,可以获得关于所执行的操作和关于所操纵的数据和/或关于他们的出现的信息。

因此,建议尽可能多地掩蔽(mask)集成电路的电流消耗。

已经存在用于掩蔽集成电路的电流消耗的解决方案,诸如,例如双轨技术,该技术通过生成与电路的逻辑电路实际消耗的电流互补的电流来平滑集成电路的电流消耗。

故此,这个解决方案是有局限性的,因为它也意味着掩蔽逻辑门的电流消耗,而该消耗是不需要掩蔽的。此外,这种技术的成本昂贵,因为它需要将集成电路中的逻辑门数量加倍。



技术实现要素:

本发明的实现和实施方式涉及集成电路,且具体地但并非排他性地包括逻辑电路的集成电路,并且尤其涉及在操作中对这种类型电路的电流消耗的管理,例如目的在于掩蔽此电流消耗。

因此,根据一个实施方式,提供了一种技术,用于使用允许掩蔽被集中在逻辑电路上的简单手段,来掩蔽集成到集成电路中的逻辑电路的电流消耗。

根据一个方面,提供了一种用于对逻辑电路的电流消耗进行管理的方法,该逻辑电路提供在第一端子和第二端子之间,并包括至少一个输出端子,其中在由逻辑电路的至少一个输出端子所递送的信号改变状态时,在第一端子和第二端子之间随机地生成或不生成附加电流。

根据另一方面,提供了一种电子设备,其包括至少一个逻辑电路,该逻辑电路包括旨在接收电源电压的第一端子、旨在接收参考电压的第二端子和至少一个输出端子,该输出端子被配置为递送能够处于高状态或处于低状态的信号。

该设备包括耦合在第一端子和第二端子之间的至少一个辅助电路,并且被配置为在输出端子上的信号每次改变状态时,在第一端子和第二端子之间随机地生成或不生成附加电流。

因此,逻辑电路的电流消耗被附加电流(其可以被比作噪声)的随机生成所掩蔽,并且更难以通过分析逻辑电路的电流消耗来推导由该逻辑电路执行的操作。集成这样逻辑电路的集成电路由此可以例如得到保护,以免受到侧信道分析。

另外,通过将辅助模块耦合到逻辑电路,不需要掩蔽集成电路的整体电流消耗。具体地,可以制造包括多个逻辑电路的集成电路,其中仅某些逻辑电路耦合到辅助模块,并因此具有掩蔽的电流消耗。

根据一个变体实施方式,该逻辑电路包括至少一个输入端子,并且辅助电路包括被配置为接收伪随机信号的辅助输入端子,并且包括第一辅助晶体管、至少一个第二辅助晶体管以及至少一个中间晶体管,所述第一辅助晶体管的控制电极耦合到辅助输入端子而其第一电极耦合到第一端子,所述至少一个第二辅助晶体管的控制电极耦合到逻辑电路的输出,所述至少一个中间晶体管耦合在第一辅助晶体管和至少一个第二辅助晶体管之间,并且其控制电极耦合到至少一个输入。

例如,至少一个逻辑电路可以是反相器。

根据可应用于包括多个输入的逻辑电路的另一变体实施方式,辅助电路包括多个中间晶体管,每个中间晶体管的栅极耦合到逻辑电路的单独输入。

因此,该设备与各种类型的逻辑电路兼容。

中间晶体管可以串联连接在第一辅助晶体管和第二辅助晶体管之间。

至少一个逻辑电路可以包括与非(NAND)逻辑门,并且辅助电路继而包括第一中间晶体管和第二中间晶体管,第一中间晶体管的控制电极耦合到NAND门的第一输入端子,且第二中间晶体管的控制电极耦合到NAND门的第二输入端子,第一辅助晶体管、第二辅助晶体管、第一中间晶体管和第二中间晶体管串联安装在第一端子和第二端子之间。

辅助电路可以包括第三辅助晶体管,第三辅助晶体管的控制电极耦合到辅助输入端子,并且中间晶体管具有相互耦合的第一电极,并且分别与第一辅助晶体管和第三辅助晶体管串联耦合。

根据另一实施方式,至少一个逻辑电路包括或非(NOR)门,并且该设备包括:第一中间晶体管,其与第一辅助晶体管串联连接,且其控制电极耦合到NOR门的第一输入;第二中间晶体管,该第二中间晶体管的控制电极耦合到NOR门的第二输入,且该第二中间晶体管与第三辅助晶体管串联连接,第三辅助晶体管的控制电极耦合到伪随机信号发生器;第一辅助晶体管和第一中间晶体管与第三辅助晶体管和第二中间晶体管并联连接在电源电压端子和第一中间晶体管之间。

该设备可以包括多个连接的模块。

根据另一方面,提供了一种集成电路,其包括如上所述的设备。

根据另一方面,提供了一种包括至少一个集成电路的系统,该系统可以例如形成芯片卡或计算机器。

第一辅助晶体管和第三辅助晶体管可以是PMOS晶体管,并且第二晶体管和中间晶体管可以是NMOS晶体管。

根据另一方面,提供一种包括集成电路的系统,该系统可以是芯片卡或计算机器。

附图说明

本发明的其他优点和特征将在研究了本发明的实施方式和实现的详细描述及附图后变得显而易见,这些实现和实施方式决不限于此,在附图中:

上面描述的图1示出了常规的反相器逻辑电路;以及

图2至图8示出了本发明的实现和实施方式。

具体实施方式

图2从电的角度示意性地示出了集成电路CI,其包括并入有模块MS的电子设备,该模块MS包含逻辑电路CL,该逻辑电路CL包括输入端子E和输出端子S并且耦合到辅助模块MDX。

逻辑电路CL和辅助模块MDX都耦合在旨在接收电源电压Vdd的第一端子B1和旨在接收参考电压(例如,此处为地GND)的第二端子B2之间。

逻辑电路CL在这里是反相器INV,其通常包括串联安装在第一端子B1和第二端子B2之间的第一PMOS晶体管TP1和第一NMOS晶体管TN2。

反相器INV包括输入端子E和输出端子S,该输入端子E耦合到第一PMOS晶体管TP1的栅极和第一NMOS晶体管TN1的栅极,输出端子S耦合在第一NMOS晶体管TN1和第一PMOS晶体管TP1之间。

输出端子S可以在此处耦合到集成电路CI的另一部件的输入(未示出),例如耦合到另一反相器。归因于特别是另一反相器的栅极电容,该耦合可能生成寄生电容。在图1中,该寄生电容由第一电容器C1代表。

辅助模块MDX包括辅助电路AUX,辅助电路AUX包括辅助输入EAX以及耦合到辅助电路AUX的辅助输入EAX的伪随机信号发生器RDM。

本身已知的常规结构的伪随机信号发生器RDM被配置用于生成可以随机处于高状态或处于低状态的信号。该发生器RDM可以是特定于模块MS的,或者是与集成电路的其他模块共用的。

辅助电路AUX在此处包括串联耦合在第一端子B1和第二端子B2之间的第一辅助晶体管TP2(此处是PMOS晶体管)以及第二辅助晶体管TN2(此处是NMOS晶体管)。

第一中间晶体管TN3(此处是NMOS晶体管)耦合在第一辅助晶体管TP2和第二辅助晶体管TN2之间。

第一中间晶体管TN3的栅极耦合到反相器INV的输入端子E,以及第二辅助晶体管TN2的栅极耦合到反相器INV的输出端子S。

第一辅助晶体管TP2的栅极形成辅助输入EAX,并且因此耦合到伪随机信号发生器RDM。

辅助电路AUX在此耦合到集成电路CI的另一个模块,例如耦合到反相器(未示出),并且该耦合可能生成在图2中由第二电容器C2代表的寄生电容。

首先,集成电路的输入端子E接收处于高状态(例如3V的电压)的信号;因此,第一PMOS晶体管TP1截止,而第一NMOS晶体管TN1导通。

继而,输出端子S递送处于低状态(例如,零电压)的信号。第二辅助晶体管TN2由此处于截止状态。

此外,由于第一中间晶体管TN3耦合到输入端子E,所以它处于导通状态。

在第一转变时,即当输入端E上的信号转为低状态时,第一PMOS晶体管TP1转为导通状态,以及第一NMOS晶体管TN1转为截止状态。由输出端子S递送的信号由此从低状态转变为高状态。

第一电容器C1继而借助于通过第一PMOS晶体管TP1和第一电容器C1在第一端子B1和地GND之间流动的第一充电电流峰值流而进行充电。

此外,同时切换第一NMOS晶体管TN1和第一PMOS晶体管TP1使得第一短路电流峰值通过第一PMOS晶体管TP1和第一NMOS晶体管TN1在第一端子B1和第二端子B2之间流动。

在第二转变时,即当输入端子E上的信号返回到高状态时,第一PMOS晶体管TP1转为截止状态,以及第一NMOS晶体管TN1转变为导通状态。由输出端子S递送的信号继而从高状态转为低状态。

第一电容器C1继而通过第一NMOS晶体管TN1进行放电。

再一次,同时切换第一NMOS晶体管TN1和第一PMOS晶体管TP1使得第二短路电流峰值通过第一PMOS晶体管TP1和第一NMOS晶体管TN1在第一端子B1和第二端子B2之间流动。

因此,在第一转变期间,逻辑电路CL消耗等于第一充电电流峰值与第一短路电流峰值之和的电流,而在第二转变期间,逻辑电路CL消耗较低的电流,等于第二短路电流峰值。

在侧信道分析中,在没有辅助电路AUX的情况下,此消耗差异允许分析出电路的行为。

此辅助电路的存在允许逻辑电路CL的消耗被掩蔽,如现在将要说明的。

在第二转变期间,由于第一中间晶体管TN3耦合到输入端子E,它转为导通状态。

栅极耦合到输出端子S的第二辅助晶体管TN2转为截止状态。

由于第一辅助晶体管TP2的栅极耦合到伪随机信号发生器RDM,所以第一辅助晶体管TP2要么在由发生器RDM生成的信号改变状态(例如从高状态转为低状态或从低状态转变为高状态)的情况下改变状态;要么在发生器RDM生成的信号不改变状态的情况下,保持其状态。

此外,如果第一辅助晶体管TP2改变状态,则第一辅助晶体管TP2、第二辅助晶体管TN2和第一中间晶体管TN3的同时切换使得第三电流峰值通过这三个晶体管而在第一端子B1和第二端子B2之间流动。

如果这种状态改变对应于从截止状态转为导通状态,则第二充电电流峰值在第一端子B1和地之间流动,以对第二电容器C2充电。

如果由伪随机信号发生器递送的信号保持高状态,则第一辅助晶体管TP2处于截止状态并保持在截止状态,并且没有电流峰值流过辅助电路AUX。

如果由伪随机信号发生器RDM递送的信号保持低状态,则第一辅助晶体管TP2保持其导通状态,并且第二辅助晶体管TN2和第一中间晶体管TN3的同时切换生成在第一端子B1和第二端子B2之间的第四短路电流峰值。

因此,在第二转变期间,即当输出端子S递送的信号从高状态转变为低状态时,随机地发生以下情况:

等于第二充电电流峰值和第三短路电流峰值之和的电流峰值;

第四电流峰值;或者

没有电流峰值。

逻辑电路CL的电流消耗由此被掩蔽,并且外部攻击者更难以通过研究电流消耗来确定由电路CI的模块MS所执行的操作的性质。

在第一转变期间,即当输出端子S递送的信号从低状态转变为高状态时,辅助电路AUX只生成短路电流峰值。

上述本发明的实施方式与时序逻辑电路兼容。具体地,图3示出了包括两个模块MS1和MS2的锁存器LT1,这两个模块具有类似于上面参考图2描述的结构。

第一模块MS1和第二模块MS2分别包括输入E1和E2以及辅助输入EAX1和EAX2。

在图3中,每个模块MS1,MS2由常规反相器符号代表,包括耦合到两个反相器公共的伪随机信号发生器RDM的辅助输入EAX1和EAX2。

如图4所示,还可以将多个锁存器LT1、LT2串联耦合,以形成移位寄存器RD,同时保留连接到输入EAX11、EAX12、EAX21和EAX22的单个公共伪随机信号发生器,或者针对每个输入使用不同的伪随机信号发生器。

也可以使用并行的伪随机发生器来生成分配给各个锁存器的多个比特,以进一步增加噪声的复杂度。

图5示出了一个实施方式,其中逻辑电路CL是包括第一输入端子E1和第二输入端子E2的NAND门4。

NAND门4通常包括并联耦合的两个PMOS晶体管T1和T2,晶体管对T1和T2与第一端子B1和第二端子B2之间的两个NMOS晶体管T3和T4串联安装。

输入端子E1和E2中的每个耦合到PMOS晶体管T1和T2其中一个的栅极以及NMOS晶体管T3和T4其中的一个的栅极。

辅助电路AUX相对于前述实施方式进行了修改,以便包括耦合在第一中间晶体管TN3和第二辅助晶体管TN2之间的第二中间晶体管TN4。

第一中间晶体管TN3的栅极耦合到第一输入端子E1,并且第二中间晶体管TN4的栅极耦合到第二输入端子E2。

因此,在存在于输出端子S上的信号的转变期间,即,当输入端子对E1-E2上的信号对从低-低、低-高或高-低状态转为高-高状态时,或反之亦然时,第一中间晶体管TN3、第二中间晶体管TN4和第二辅助晶体管TN2改变状态。

此外,如果第一辅助晶体管TP2经由伪随机信号发生器RDM改变状态,或者如果它保持导通状态,则电流峰值在第一端子B1和第二端子B2之间流动。该电流峰值的大小取决于辅助电路AUX的晶体管所切换的方式的性质。

更具体地,当输入端子对E1-E2上的信号对从低-低、低-高或高-低状态转为高-高状态时,以及如果第一辅助晶体管TP2经由伪随机信号发生器RDM而从低状态转变为高状态,则充电电流峰值在第一端子B1和地之间流动,从而对第二电容器C2充电。

由此仅在某些转变期间,并且因此随机地生成噪声信号,使得更难以确定所执行的操作。

图6示出了本发明的一个实施方式,其中逻辑电路CL是包括第一输入端子E1和第二输入端子E2的NOR门5。

NOR门5通常与图5的NAND门4不同之处在于,两个PMOS晶体管T1和T2串联耦合,而两个NMOS晶体管T3和T4并联耦合,两个晶体管对T1-T2和T3-T4彼此串联耦合。

在本实施方式中,辅助电路AUX相对于上面参考图4描述的实施方式进行了修改,使得第三辅助晶体管TP3(此处是PMOS晶体管)和第二中间晶体管TN4串联安装在第一端子B1和第二NMOS晶体管TN2之间,并且与第一辅助晶体管TP2和第一中间晶体管TN3并联安装。

第一辅助晶体管TP2的栅极和第三辅助晶体管TP3的栅极耦合到伪随机信号发生器RDM。

第一中间晶体管TN3的栅极耦合到第一输入端子E1,并且第二中间晶体管TN4的栅极耦合到第二输入端子E2。

因此,在NOR门5的输出端子S上的信号转变期间,即,输入对E1-E2上的信号对从低-低状态转变为低-高、高-低或高-高状态,或反之亦然,则第一中间晶体管TN3和/或第二中间晶体管TN4改变状态。

此外,如果第一辅助晶体管TP2和第三辅助晶体管TP3经由伪随机信号发生器RDM改变状态,或者如果它们保持导通状态,则电流峰值在第一端子B1和第二端子B2之间流动。

更具体地,在将输入对E1-E2上的信号对从低-低状态转变为低-高、高-低或高-高状态期间,以及如果第一辅助晶体管TP2和第三辅助晶体管TP3从截止状态转变为导通状态,则在端子B1和地GND之间流过充电电流峰值,从而对第二电容器C2充电。

上文描述并在图2至图6中示出的集成电子电路CI可以常规地集成到包括处理单元的系统中,常规地集成到需要实现安全操作的芯片卡、计算机或移动电话终端的处理单元中。

图7和图8示出了包括安全处理单元的计算系统,其中并入了根据本发明的一个实施方式的集成电路CI。图7示出了芯片卡CP,以及图8示出了膝上型计算机CMP。芯片卡CP和笔记本电脑CMP例如包括根据本发明一个实施方式的包含集成电路的微处理器。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1