一种基于偏差补偿的高可靠ArbiterPUF电路

文档序号:26050352发布日期:2021-07-27 15:25阅读:241来源:国知局
一种基于偏差补偿的高可靠Arbiter PUF电路

本发明涉及通信技术领域和信息安全领域,具体涉及一种新型的基于偏差补偿的高可靠puf电路。



背景技术:

arbiterpuf通过提取两条对称的延迟链的延迟偏差来实现物理不可克隆函数,其结构如图1所示。当外部输入某一激励信息时,arbiterpuf级联的多个开关延迟模块形成两条对称的延迟链,同一输入信号经过两条延迟链后到达仲裁器的先后顺序不同,决定了其输出是数字0还是数字1,从而生成puf响应,该电路可以产生2n个crps。

arbiterpuf电路是由两条完全对称的延迟通路和一个仲裁器构成的。虽然在设计上要求两条对称通路需要完全一致,但是在实际生产制造过程中其不可避免存在差异,使得当同一信号通过这两条路径的时间产生随机且不可预测的差异,最后通过仲裁器将这个先后顺序转化成一个二进制输出响应。但是当周围的工况(环境温度)发生变化时,这个设备的特性也会随之受到影响,最终使得两个通路的延迟时间也发生变化。由于他们对于温度变化的灵敏程度不一致,所以这种延迟变化也是随机且不可预测的,这就使得puf输出的响应会随温度或电压的改变而发生变化,这样的响应就不可靠。对于这种问题,一种高效的解决方法是使用基于比特自检的arbiterpuf电路(bst-apuf),如图2所示。这种电路可以自动测试每一位输出响应的|δt|(δt=t1-t2),并为每个响应生成一个可靠性标志位标识其可靠性。当|δt|大于某一阈值时,将输出标记为1(可靠),反之标记为0(不可靠)。可靠的响应可以被挑选使用,例如用于密钥生成,不可靠的响应直接舍弃,不再使用。虽然基于比特自检的arbiterpuf电路(bst-apuf)相比较传统的arbiterpuf电路可靠性有大幅提高,但是需要舍弃大量的不可靠的响应,这样就会造成响应利用率低,开销大等一系列的问题。

为了提升arbiterpuf输出的可靠性,减少开销,我们提出了一种新型的基于偏差补偿的高可靠arbiterpuf电路,在经典的puf中添加了一个偏差补偿模块,自动测试产生puf响应的每个比特的延迟偏差,并为每个响应生成一个可靠标志位f和偏移方向d,以指示其可靠性,并将不可靠的响应转变为可靠响应。我们所提出的方法可以达到100%的响应利用率,大大的降低了开销。



技术实现要素:

本发明提出的偏差补偿arbiterpuf的电路结构如图3所示。在原有arbiterpuf电路中加入了一个偏差补偿模块和一个数据产生模块。

所述arbiterpuf电路由一个n级开关延迟模块和一个仲裁器模块构成。n级开关延迟模块利用芯片在制造过程中不可避免的工艺差异生成延迟差值δt。仲裁器模块用于判断比较两路延迟通路的差值从而产生数字响应信息。

所述偏差补偿模块由一个附加延迟单元、两个二选二多路选择器a1、a2和两个二选一的多路选择器mux构成。附加延迟单元可以产生时间为tc的延迟,用来加入到上下两路延迟链,可以但不限于采用非门的级联实现。多路选择器a1用来将附加延迟模块分别接入上下两路延迟链,a2用于确保两路延迟链接入到仲裁器的端口不发生改变。mux从两路输入中选择一路输出,经仲裁器仲裁之后,由数据产生模块产生相对应的输出。多路选择器由控制信号控制,当控制信号为0时,mux的第1路输入接通到输出。当控制信号为1时,mux的第2路输入接通到输出。

所述数据产生模块包括两个响应寄存器reg1和reg2、一个偏移方向寄存器reg3、一个可靠标志位寄存器reg4、两个异或逻辑模块xor、两个1-2数据分配器和一个2-1mux,如图5所示。数据分配器和多路选择器都受信号k和s的控制进行选择输出,控制信号为0时,从1路输出;控制信号为1时,从2路输出。

所述偏差补偿arbiterpuf包括响应生成和响应重构两个过程,如图4所示。在响应生成阶段,当输入某一个激励ci时,偏差补偿arbiterpuf电路生成响应ri、偏移方向di和可靠标志位fi,如图4(a)所示。ri和di将被保存起来,在响应重构阶段,当再次输入该激励ci时,可以根据辅助数据di和fi恢复出响应ri,如图4(b)所示,其工作过程如下所示:

1、响应生成过程

当输入某一个激励ci时,偏差补偿的arbiterpuf电路按照如下流程分别生成可靠性标志fi、偏差补偿方向di和响应值ri:

⑴产生可靠性标志fi

可靠性标志分为三步产生:

①产生测试输出ti1。令控制信号s=1,k=0,偏差补偿模块将附加延迟模块接到延迟链1中,等效电路如图6所示。假设延迟链1对输入信号的延迟时间为t1,延迟链2对输入信号的延迟时间为t2,由于附加延迟模块能够产生时间为tc的延迟,此时延迟链1的总延迟为t1+tc,两条延迟链的延迟差值δt1=δt+tc被输入到仲裁器中,产生测试输出ti1,此时ti1在数据产生模块内部经过dvi1的2路,再经过dvi2和mux后输出并存储在寄存器reg4中。

②产生测试输出ti2。改变控制信号使s=1,k=1,此时偏差补偿模块将附加延迟模块接到延迟链2中,等效电路如图7所示。此时两条延迟链的延迟差值δt2=δt-tc被输入到仲裁器中,产生测试输出ti2。

③产生可靠性标志fi。此时ti2在数据产生模块内部经过dvi1的2路和dvi2的2路后,与上一轮存储在寄存器reg4的ti1异或,产生可靠标志位fi,fi被存储在寄存器reg4中。当fi=0时,表示ti1和ti2相同,代表puf电路在激励ci下产生的响应ri是可靠的,将不随温度和电压的变化而变化;否则,证明ri是不可靠的,响应恢复阶段需要进行偏差补偿。

⑵产生响应ri和偏移方向di

再次改变控制信号使s=0,偏差补偿模块中的两路输出t1和t2直接经过mux1和mux2的1路接入仲裁器(附加延迟模块并不接入电路),产生输出响应ri,然后再经过数据产生模块dvi1中的1路,将ri存储在寄存器reg1中。当下一位响应ri输入到数据产生模块以后,上一轮的响应ri-1就被存到reg2中。

fi用于控制寄存器reg3是否进行更新,当fi为1时,reg1和reg2中的响应ri和ri-1经过异或之后得到偏移方向di并存入寄存器reg3;当fi为0时,寄存器reg3的数据被锁住保持不变,此时生成的偏移方向值即为上一轮生成的偏移方向值。

2、响应重构过程

响应重构过程以激励ci为输入,根据fi和di的值判断是否进行偏差补偿从而可靠的恢复响应ri:

⑴当fi为0时,直接生成响应ri

当fi=0时,证明响应ri是可靠的,此时不需要进行偏差补偿。因此基本延迟模块的两路输出t1和t2直接经过mux1和mux2接入仲裁器,产生响应输出ri,如图9所示。ri经过数据产生模块内的dvi1直接存储到寄存器reg1中。

⑵当fi为1时,进行偏差补偿

当fi=1时,证明响应ri是不可靠的,此时需要进行偏差补偿从而提升响应的可靠性。由于偏移方向值di由本轮的响应ri与上一轮响应ri-1的值异或得到,因此将di与ri-1进行异或得到真正的偏差补偿方向bi,即

当bi=0时,偏差补偿模块将附加延迟模块接到延迟链1,输出响应ri,如图10所示。由于附加延迟模块能够产生时间为tc的延迟,此时延迟链1的总延迟为t1+tc,两条延迟链的延迟差值δt=t1-t2+tc被输入到仲裁器中,产生响应ri。ri经过数据产生模块内的dvi1直接存储到寄存器reg1中。

当bi=1时,将附加延迟模块接到延迟链2,输出响应ri,如图11所示。此时两条延迟链的延迟差值δt=t1-t2-tc被输入到仲裁器中,产生响应ri。ri经过数据产生模块内的dvi1直接存储到寄存器reg1中。

至此,响应ri被可靠的进行恢复,从而避免由于温度和电压等因素的影响导致ri发生错误,大幅提升了arbiterpuf输出响应的可靠性。

因此,本发明提出的新型基于偏差补偿的高可靠arbiterpuf电路,通过在经典的puf中添加偏差补偿模块,自动测试产生puf响应的每个比特的延迟偏差,并为每个响应生成一个可靠标志位f和偏移方向d,以指示其可靠性,并将不可靠的响应转变为可靠响应。可以达到100%的响应利用率,大大的降低了开销。

附图说明

图1传统的arbiterpuf电路结构

图2比特自检puf

图3偏差补偿arbiterpuf电路

图4偏差补偿puf电路模型

图5数据产生模块

图6测试信号ti1产生电路

图7测试信号ti2产生电路

图8输出响应和偏移方向电路

图9响应ri输出电路

图10响应产生电路1

图11响应产生电路2

具体的实施方式

本发明提出的偏差补偿arbiterpuf的电路结构如图3所示。在原有arbiterpuf电路中加入了一个偏差补偿模块和一个数据产生模块。

所述arbiterpuf电路由一个n级开关延迟模块和一个仲裁器模块构成。n级开关延迟模块利用芯片在制造过程中不可避免的工艺差异生成延迟差值δt。仲裁器模块用于判断比较两路延迟通路的差值从而产生数字响应信息。

所述偏差补偿模块由一个附加延迟单元、两个二选二多路选择器a1、a2和两个二选一的多路选择器mux构成。附加延迟单元可以产生时间为tc的延迟,用来加入到上下两路延迟链,可以但不限于采用非门的级联实现。多路选择器a1用来将附加延迟模块分别接入上下两路延迟链,a2用于确保两路延迟链接入到仲裁器的端口不发生改变。mux从两路输入中选择一路输出,经仲裁器仲裁之后,由数据产生模块产生相对应的输出。多路选择器由控制信号控制,当控制信号为0时,mux的第1路输入接通到输出。当控制信号为1时,mux的第2路输入接通到输出。

所述数据产生模块包括两个响应寄存器reg1和reg2、一个偏移方向寄存器reg3、一个可靠标志位寄存器reg4、两个异或逻辑模块xor、两个1-2数据分配器和一个2-1mux,如图5所示。数据分配器和多路选择器都受信号k和s的控制进行选择输出,控制信号为0时,从1路输出;控制信号为1时,从2路输出。

所述偏差补偿arbiterpuf包括响应生成和响应重构两个过程,如图4所示。在响应生成阶段,当输入某一个激励ci时,偏差补偿arbiterpuf电路生成响应ri、偏移方向di和可靠标志位fi,如图4(a)所示。ri和di将被保存起来,在响应重构阶段,当再次输入该激励ci时,可以根据辅助数据di和fi恢复出响应ri,如图4(b)所示,其工作过程如下所示:

1、响应生成过程

当输入某一个激励ci时,偏差补偿的arbiterpuf电路按照如下流程分别生成可靠性标志fi、偏差补偿方向di和响应值ri:

⑴产生可靠性标志fi

可靠性标志分为三步产生:

①产生测试输出ti1。令控制信号s=1,k=0,偏差补偿模块将附加延迟模块接到延迟链1中,等效电路如图6所示。假设延迟链1对输入信号的延迟时间为t1,延迟链2对输入信号的延迟时间为t2,由于附加延迟模块能够产生时间为tc的延迟,此时延迟链1的总延迟为t1+tc,两条延迟链的延迟差值δt1=δt+tc被输入到仲裁器中,产生测试输出ti1,此时ti1在数据产生模块内部经过dvi1的2路,再经过dvi2和mux后输出并存储在寄存器reg4中。

②产生测试输出ti2。改变控制信号使s=1,k=1,此时偏差补偿模块将附加延迟模块接到延迟链2中,等效电路如图7所示。此时两条延迟链的延迟差值δt2=δt-tc被输入到仲裁器中,产生测试输出ti2。

③产生可靠性标志fi。此时ti2在数据产生模块内部经过dvi1的2路和dvi2的2路后,与上一轮存储在寄存器reg4的ti1异或,产生可靠标志位fi,fi被存储在寄存器reg4中。当fi=0时,表示ti1和ti2相同,代表puf电路在激励ci下产生的响应ri是可靠的,将不随温度和电压的变化而变化;否则,证明ri是不可靠的,响应恢复阶段需要进行偏差补偿。

⑵产生响应ri和偏移方向di

再次改变控制信号使s=0,偏差补偿模块中的两路输出t1和t2直接经过mux1和mux2的1路接入仲裁器(附加延迟模块并不接入电路),产生输出响应ri,然后再经过数据产生模块dvi1中的1路,将ri存储在寄存器reg1中。当下一位响应ri输入到数据产生模块以后,上一轮的响应ri-1就被存到reg2中。

fi用于控制寄存器reg3是否进行更新,当fi为1时,reg1和reg2中的响应ri和ri-1经过异或之后得到偏移方向di并存入寄存器reg3;当fi为0时,寄存器reg3的数据被锁住保持不变,此时生成的偏移方向值即为上一轮生成的偏移方向值。

2、响应重构过程

响应重构过程以激励ci为输入,根据fi和di的值判断是否进行偏差补偿从而可靠的恢复响应ri:

⑴当fi为0时,直接生成响应ri

当fi=0时,证明响应ri是可靠的,此时不需要进行偏差补偿。因此基本延迟模块的两路输出t1和t2直接经过mux1和mux2接入仲裁器,产生响应输出ri,如图9所示。ri经过数据产生模块内的dvi1直接存储到寄存器reg1中。

⑵当fi为1时,进行偏差补偿

当fi=1时,证明响应ri是不可靠的,此时需要进行偏差补偿从而提升响应的可靠性。由于偏移方向值di由本轮的响应ri与上一轮响应ri-1的值异或得到,因此将di与ri-1进行异或得到真正的偏差补偿方向bi,即bi=di⊕ri-1。

当bi=0时,偏差补偿模块将附加延迟模块接到延迟链1,输出响应ri,如图10所示。由于附加延迟模块能够产生时间为tc的延迟,此时延迟链1的总延迟为t1+tc,两条延迟链的延迟差值δt=t1-t2+tc被输入到仲裁器中,产生响应ri。ri经过数据产生模块内的dvi1直接存储到寄存器reg1中。

当bi=1时,将附加延迟模块接到延迟链2,输出响应ri,如图11所示。此时两条延迟链的延迟差值δt=t1-t2-tc被输入到仲裁器中,产生响应ri。ri经过数据产生模块内的dvi1直接存储到寄存器reg1中。

至此,响应ri被可靠的进行恢复,从而避免由于温度和电压等因素的影响导致ri发生错误,大幅提升了arbiterpuf输出响应的可靠性。

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