三相位单轨预充电逻辑装置的制作方法

文档序号:17125293发布日期:2019-03-16 00:20阅读:435来源:国知局
三相位单轨预充电逻辑装置的制作方法

本发明涉及信息安全领域、抗功耗攻击领域。具体讲,涉及三相位单轨预充电逻辑装置。



背景技术:

当今社会,以智能卡(smartcard)、usb钥匙(usbkey)等为代表的密码设备正广泛应用于电信、金融、付费电视等重要领域,成为这些应用的关键组件,因此,它们的安全至关重要。尽管密码设备的嵌入性使得攻击者无法直接获取密码芯片中的密钥信息,但由于大多数密码芯片都是由cmos电路构成的,在这一类电路中,电路在工作时会泄露一定的功耗,电磁等侧信道信息,攻击者利用差分功耗分析(differentialpoweranalysis,dpa)技术分析密钥数据与功耗信息之间的相关性,并通过数理统计的方式分析即可获得密钥。

抵抗dpa攻击的基本思想是消除密码芯片工作时电流与内部数据之间的相关性。其中,由于电路级防护更加关注实现密码芯片的底层电路结构而非密码算法本身,因而更加通用。电路级防护通常通过设计新型逻辑单元来实现,其主要设计思想为双轨预充电逻辑和三阶段工作模式。利用双轨预充电逻辑实现的单元主要包括敏感放大器逻辑(senseamplifierbasedlogic,sabl),行波动态差分逻辑(wavedynamicdifferentiallogic,wddl),基于延时的双轨预充电逻辑ddpl(delay-baseddual-railpre-chargelogic)和基于查找表的差分逻辑lbdl(lutbaseddifferentiallogic);利用三阶段工作模式实现的逻辑单元有三阶段双轨预充电逻辑tdpl(three-phasedual-railpre-chargelogic)和三阶段单轨预充电逻辑tspl(three-phasesingle-railpre-chargelogic)。其中tspl采用预充电,求值,放电三阶段工作模式,避免了输出负载不匹配对单元防护性能的影响,使得逻辑单元在每一个求值周期内的功耗与输入信号没有相关性,从而有着优秀的抵抗dpa攻击的能力。虽然在每一个求值周期内,逻辑单元的内部节点都会经历一次充电和放电操作,但是由于输入信号的不同,内部节点会分别在求值阶段和放电阶段进行两次放电操作,因而当时钟被放慢后,在不同输入下的放电差异会被检测出来,因而tspl存在防护失效的风险。

参考文献

1.buccim,giancanel,luzzir,etal.three-phasedual-railpre-chargelogic[c]//internationalconferenceoncryptographichardwareandembeddedsystems.springer-verlag,2006:232-241.

2.akkayanec,erbagcib,carleyr,etal.adpa-resistantself-timedthree-phasedual-railpre-chargelogicfamily[c]//ieeeinternationalsymposiumonhardwareorientedsecurityandtrust.ieee,2015:112-117.

3.hassounei,macef,flandred,etal.dynamicdifferentialself-timedlogicfamiliesforrobustandlow-powersecurityics[j].integrationthevlsijournal,2007,40(3):355-364.

4.menendeze,maik.extendedabstract:ahigh-performance,low-overhead,power-analysis-resistant,single-raillogicstyle[c]//ieeeinternationalworkshoponhardware-orientedsecurityandtrust.ieee,2008:33-36。



技术实现要素:

为克服现有技术的不足,本发明旨在提出一种适用于安全芯片的新型标准单元cs-tspl,该种逻辑单元可以将求值阶段的放电信号存储,而在放电阶段统一泄放,防止攻击者通过放慢时钟获得放电阶段的功耗差异,从而使得防护失效。同时该种逻辑单元可以使得单元的功耗在每个求值周期内都是相同的,消除不同输入信号下的功耗差异,使得攻击者不能通过dpa攻击获取密钥。为此,本发明采取的技术方案是,三相位单轨预充电逻辑装置,包括pmos晶体管p1,nmos晶体管n1,nmos晶体管n2,nmos晶体管n3,nmos晶体管n4以及起到电荷存储作用的nmos晶体管c1;pmos晶体管p1的源极接电源,栅极接时钟信号clk,漏极和nmos晶体管管n1、n4的漏极以及输出信号o公共相连接;nmos晶体管n1栅极接输入信号i,源极接nmos晶体管n2漏极;nmos晶体管n2栅极接时钟信号clk,源极与nmos管n3漏极和nmos管c1栅极公共连接;nmos晶体管n3栅极接放电信号dch、源极接地;nmos晶体管n4栅极接放电信号dch,源极接地;nmos晶体管c1源极与漏极相连,二者都接地。

进一步地:

预充电阶段:clk信号为低电位,dch信号为低电位,此时pmos管p1导通,使得输出信号o被预充电到高电位,同时由于单元的输入信号是上一级的输出,因此在clk为低电平时信号i为高电平,此时nmos管n1导通,使得下拉网络中的内部节点全部预充到高电位。nmos管n2关断,使的下拉网络中的节点不会被泄放掉,同理nmos管n3,n4关断,防止输出节点o和其余内部节点放电;

求值阶段:clk信号为高电位,dch信号仍为低电位,此时pmos管p1关断,防止电源对内部节点充电,nmos管n1栅极接收输入信号i,控制n1的通断,实现inv单元的功能,当输入信号i为“1”时,下拉网络导通,输出“0”信号,而当输入信号为“0”时,下拉网络关断,输出保持高电位,nmos管n2导通,使得下拉网络中的电荷可以泄放到电容c1上,而由于nmos管n3关断,电容c1上的电荷会被存储下来而不会直接泄放到地上,同时nmos管n4关断,保证输出节点o上的电荷不会被泄放掉;

放电阶段:clk信号为高电位,dch信号为高电位,此时pmos管p1关断,防止电源对内部节点充电,nmos管n4导通,使得输出节点o被下拉到低电位,同时输入信号i接收上一级输出信号,所以在dch信号为高电位时,nmos管n1关断,同时nmos管n2,n3导通,使存储在电容c1上的节点泄放到地上,从而实现所有内部节点的放电操作。

本发明的特点及有益效果是:

通过设计新型的标准单元,消除了逻辑单元在运算不同信号输入下的功耗差异,使得在每个周期内,单元内部节点都会有一次求值和放电操作,保证了单元的抗dpa攻击的能力。同时利用nmos管形成的电容将求值阶段的放电电荷存储,并将其和放电阶段的放电电荷一同泄放,避免了二次放电的操作,使攻击者不能通过放慢时钟获取求值阶段的电流信息。

附图说明:

图1cs-tspl逻辑inv单元电路图。

图2cs-tspl逻辑inv单元工作时序图。

具体实施方式

本发明基于三阶段单轨预充电逻辑提出了一种带有电荷存储功能的三阶段单轨预充电结构(cs-tspl),该单元在保持三阶段工作的基础上,通过将在求值阶段的放电电荷缓存,而后再放电阶段统一放电,从而实现放电电流与内部信号无关,提高了单元的安全性能。

为提高单元的抗dpa攻击能力,提出了一种带有电荷存储功能的三阶段单轨预充电逻辑结构(cs-tspl)。下面结合图1和图2介绍该标准单元的单元结构和工作原理。该逻辑单元的基本构为单轨动态逻辑,图1为一个st-tdpl结构的inv单元的电路图,其中i是单元的输入信号,clk是单元的时钟控制信号,o是该单元的输出信号,表示信号i的反向输出结果,dch信号是放电信号。

该逻辑单元包括pmos晶体管p1,nmos晶体管n1,nmos晶体管n2,nmos晶体管n3,nmos晶体管n4以及起到电荷存储作用的nmos晶体管c1。pmos晶体管p1的源极接电源,栅极接时钟信号clk,漏极和nmos晶体管管n1,n4的漏极以及输出信号o公共相连接;nmos晶体管n1栅极接输入信号i,源极接nmos晶体管n2漏极;nmos晶体管n2栅极接时钟信号clk,源极与nmos管n3漏极和nmos管c1栅极公共连接;nmos晶体管n3栅极接放电信号dch,源极接地;nmos晶体管n4栅极接放电信号dch,源极接地;nmos晶体管c1源极与漏极相连,二者都接到地上。

该标准单元的工作模式分为预充电,求值和放电三个工作阶段。下面具体分析三个阶段下单元的工作情况。

预充电阶段:clk信号为低电位,dch信号为低电位,此时pmos管p1导通,使得输出信号o被预充电到高电位。同时由于单元的输入信号是上一级的输出,因此在clk为低电平时信号i为高电平,此时nmos管n1导通,使得下拉网络中的内部节点全部预充到高电位。nmos管n2关断,使的下拉网络中的节点不会被泄放掉,同理nmos管n3,n4关断,防止输出节点o和其余内部节点放电。

求值阶段:clk信号为高电位,dch信号仍为低电位,此时pmos管p1关断,防止电源对内部节点充电。nmos管n1栅极接收输入信号i,控制n1的通断,实现inv单元的功能,当输入信号i为“1”时,下拉网络导通,输出“0”信号,而当输入信号为“0”时,下拉网络关断,输出保持高电位。nmos管n2导通,使得下拉网络中的电荷可以泄放到电容c1上,而由于nmos管n3关断,电容c1上的电荷会被存储下来而不会直接泄放到地上。同时nmos管n4关断,保证输出节点o上的电荷不会被泄放掉。

放电阶段:clk信号为高电位,dch信号为高电位。此时pmos管p1关断,防止电源对内部节点充电。nmos管n4导通,使得输出节点o被下拉到低电位。同时输入信号i接收上一级输出信号,所以在dch信号为高电位时,nmos管n1关断。同时nmos管n2,n3导通,使存储在电容c1上的节点泄放到地上,从而实现所有内部节点的放电操作。

在传统的tspl单元中,在求值阶段,下拉网络会根据输入信号的取值导通,因而在求值阶段会有一部分电荷泄放到地上,而在放电阶段,剩余的电荷又会通过放电网络泄放掉,因而有着两次放电操作,而在不同的输入信号下,求值阶段的放电电流存在差异,因而易受到攻击。而在本单元中,nmos管c1起到了虚拟地的作用,在求值阶段泄放的电荷会被存储在c1上,而不是直接泄放到地上,这一部分存储起来的电荷会在放电阶段和剩余电荷统一泄放掉,因而该单元在工作时只会在放电阶段出现一个电流尖峰,并且该放电电流与输入信号没有相关性,从而消除了不同输入信号下的功耗差异,提高了单元的防护能力。

在设计cs-tdpl逻辑单元时,要注意nmos管c1所构成的电容大小。当下拉网络导通时,电容c1和内部节点电容共同分配在预充电阶段从电源获得的电荷,即:vdd*cl=vl*(cl+c1),其中vdd是电源电压,也是输出高电平电位,cl是内部节点电容,vl是输出低电平电位,c1是nmos管构成的电容。当cl足够大时,vl才会被拉到足够低的电位,保证单元的正确输出。

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