用于实现物理不可克隆函数的电路以及相应的运行方法技术

技术编号:15763636 阅读:71 留言:0更新日期:2017-07-06 01:55
本发明专利技术涉及一种用于实现物理不可克隆函数的电路,该电路包括n个延时通路可配置的振荡器,其中n为偶数,并且所述振荡器分别具有频率f

Circuit for realizing physical non cloning function and corresponding operation method

The present invention relates to a circuit for implementing physically non cloning functions that include n delay channels, configurable oscillators, wherein n is even, and the oscillators each have frequency f

【技术实现步骤摘要】
用于实现物理不可克隆函数的电路以及相应的运行方法
本专利技术总的来说涉及硬件安全领域,具体而言涉及一种用于实现物理不可克隆函数的电路以及相应的运行方法。
技术介绍
物理不可克隆函数(PUF)是一种应用于集成电路芯片安全领域的新方法。PUF是一种芯片领域的“生物特征”识别技术,也可以称之为“芯片指纹”技术。PUF从各个芯片中提取每个芯片特有的“指纹”信息,这些“指纹”信息可以用来验证芯片的真伪、保护存储器中的数据,在芯片的安全和防伪领域有着巨大的应用前景。这种“指纹”信息的原理在于,不同芯片在制造过程中总会产生许多不可避免的个体差异。芯片的制造差异来自两个方面,一个是芯片的固有结构差异,另一个就是制造过程中由于外界条件的影响所产生的随机差异。芯片是通过晶片经显影、刻蚀等步骤制成的,而且即使是同一晶棒上切下来的晶片,它们也存在各自的结构差异,这种物理结构差异称为芯片的固有结构差异;芯片在制造的过程中,由于温度、电压等外界条件的随机差异,制造出的芯片不可避免地具有差异性(即使芯片的版图是完全一致的),这种差异称之为芯片的随机差异。通过提取芯片在制造过程中所产生的差异,就能够生成芯片独特的“指纹”信息,这些“指纹”信息即使是芯片的制造商也无法复制和预测。PUF的种类有很多,适合在智能卡中实现的PUF包括SRAMPUF、仲裁器PUF和振荡器PUF。其中振荡器PUF由于其稳定的特性、较好的可实现性以及较高的物理安全性受到了广泛的关注。最初的振荡器PUF通过对振荡器频率进行两两比较来得到一位响应,其挑战响应空间非常小,因此其应用十分受限。改进的振荡器累加和PUF将振荡器频率两两比较之后的差值进行累加,由挑战来决定振荡器频率差值的取值。由于PUF需要较大的挑战响应空间来满足各类应用场景,例如身份认证协议,因此振荡器累加和PUF需要大量的振荡器来实现。为了满足安全性,通常对于挑战响应空间的要求为264,因此振荡器累加和PUF中至少需要128个振荡器。另外,由于振荡器的数目增加,为了对这些振荡器进行频率测量和比较的逻辑也相应增加。为了节省面积和降低功耗,可以将多个振荡器共用频率测量和比较逻辑,但是会大幅增加频率测量的时间。因此,为了实现符合安全要求的挑战响应空间,振荡器累加和PUF需要较大的时间、面积和功耗开销。
技术实现思路
本专利技术的任务是提供一种用于实现物理不可克隆函数的电路以及相应的运行方法,所述电路和方法能够在满足安全性要求并且不增加频率测量时间的同时减少振荡器的数目,从而降低芯片面积和功耗开销。在本专利技术的第一方面,该任务通过一种用于实现物理不可克隆函数的电路来解决,一种用于实现物理不可克隆函数的电路,该电路包括n个延时通路可配置的振荡器RO0,RO1,……ROn-2,ROn-1,其中n为偶数,并且所述振荡器RO0,RO1,……ROn-2,ROn-1分别具有频率f0,f1,……fn-2,fn-1,并且所述n个振荡器RO0,RO1,……ROn-2,ROn-1被分为n/2组,每组包含两个振荡器RO2j,RO2j+1,其中0≤j≤n/2-1,每个振荡器RO0,RO1,……ROn-2,ROn-1包括m个延时单元组di,其中0≤i≤m-1,并且每个延时单元组di包括至少两个延时单元,该电路被配置为:根据挑战的相应延时单元选择位C[0],...C[m-1],...C[(n/2-1)m],...C[nm/2-1]来选择每个振荡器RO0,RO1,……ROn-2,ROn-1的每个延时单元组di的延时单元之一以形成延时通路,其中每组的两个振荡器RO2j,RO2j+1的对应延时单元被分配相同的延时单元选择位;将每组的两个振荡器RO2j,RO2j+1的频率f2j,f2j+1相减得到频率差值Δfj=f2j-f2j+1,并且根据挑战的相应差值取值控制位D[0],...D[n/2-1]对每组的两个振荡器RO2j,RO2j+1的频率差值进行取值控制,其中如果相应差值取值控制位为1,则将Δfj取反并且如果相应差值取值控制位为0,则维持原值,或者如果相应差值取值控制位为0,则将Δfj取反并且如果相应差值取值控制位为1,则维持原值;以及将所有频率差值Δfj相加得到振荡器频率差值累加和,并且根据振荡器频率差值累加和得到1比特响应。根据本专利技术的电路的原理在于,通过延时通路可配置的振荡器来实现PUF。所有振荡器在实现时尽可能保持一致,但是由于芯片的固有结构差异和制造差异,制造出的振荡器中的延时单元的延时必然会存在差异,振荡器的频率必然也会存在差异。这样的差异既存在于同一颗芯片的不同振荡器中,也存在于不同芯片的振荡器中。挑战的比特位分为两个部分、即延时单元选择位和差值取值控制位,其中延时单元选择位用于在单个振荡器中选择延时通路来控制该振荡器的频率,而差值取值控制位用于对两个振荡器的频率差值进行维持原值或者取反的取值控制。不同的挑战将导致不同的延时单元被选择,以及振荡器的频率差异以何种取值加入频率累加和中,从而导致生成不同的响应。延时单元和振荡器的频率差异完全由芯片的固有结构差异和制造差异导致,因此即使使用精密的制造工艺也无法复制出相同的电路。由此可见,根据本专利技术的电路能够满足PUF的基本要求。本专利技术的优点在于:传统振荡器累加和物理不可克隆函数的挑战只用来选择控制振荡器频率差值的取值,因此需要大量振荡器来提升挑战响应空间。而本专利技术中的振荡器累加和物理不可克隆函数的挑战分为两个部分,除了传统方法中所需要的挑战,还需要额外的挑战比特位在单个振荡器中选择延时通路来控制该振荡器的频率。与传统方案相比,本专利技术中的方案通过振荡器中延时通路可配置的方法使得更多的选择控制由挑战来决定,只需要较少振荡器就能实现相同的挑战响应空间。例如为了实现264的响应空间,现有技术中的方案需要128个振荡器,而通过在每个振荡器中设置三级延时单元组,本专利技术中的方案只需要32个振荡器就能实现相同的响应空间。因此,本专利技术中的方案能够在保证安全性并且不增加频率测量时间的情况下大幅减小芯片面积和功耗开销。在根据本专利技术的一个优选方案中规定,每个延时单元组di包含第一和第二延时单元di,0和di,1并且所述第一和第二延时单元di,0和di,1用一个多路选择器来选择控制,其中将挑战的延时单元选择位用作多路选择器的选择控制位,其中如果多路选择器的选择控制位输入为0,则选择第一延时单元di,0,并且如果多路选择器的选择控制位输入为1,则选择第二延时单元di,1。通过优选方案,可以以每两个延时单元分别实现双倍的响应空间、即通过分别选择每个延时单元组中的第一延时单元和第二延时单元来得到不同的响应,由此以最少的延时器件得到最大化的响应空间。在根据本专利技术的一个扩展方案中规定,每个延时单元组di包含第一多个延时单元和第二多个延时单元并且所述第一多个延时单元和第二多个延时单元用一个多路选择器来选择控制,其中将挑战的延时单元选择位用作多路选择器的选择控制位,其中如果多路选择器的选择控制位输入为0,则选择第一多个延时单元,并且如果多路选择器的选择控制位输入为1,则选择第二多个延时单元。与前述优选方案不同,在该扩展方案中,每个延时单元组包括第一多个延时单元和第二多个延时单元。通过这样做,可以在不增加本文档来自技高网
...
用于实现物理不可克隆函数的电路以及相应的运行方法

【技术保护点】
一种用于实现物理不可克隆函数的电路,该电路包括n个延时通路可配置的振荡器R0

【技术特征摘要】
1.一种用于实现物理不可克隆函数的电路,该电路包括n个延时通路可配置的振荡器R00,R01,……R0n-2,R0n-1,其中n为偶数,并且所述振荡器R00,R01,……R0n-2,R0n-1分别具有频率f0,f1,……fn-2,fn-1,并且所述n个振荡器R00,R01,……R0n-2,R0n-1被分为n/2组,每组包含两个振荡器R02j,R02j+1,其中0≤j≤n/2-1,每个振荡器R00,R01,……R0n-2,R0n-1包括m个延时单元组di,其中0≤i≤m-1,并且每个延时单元组di包括至少两个延时单元,该电路被配置为:根据挑战的相应延时单元选择位C[0],...C[m-1],...C[(n/2-1)m],...C[nm/2-1]来选择每个振荡器R00,R01,……R0n-2,R0n-1的每个延时单元组di的延时单元之一以形成延时通路,其中每组的两个振荡器R02j,R02j+1的对应延时单元被分配相同的延时单元选择位;将每组的两个振荡器R02j,R02j+1的频率f2j,f2j+1相减得到频率差值Δfj=f2j-f2j+1,并且根据挑战的相应差值取值控制位D[0],...D[n/2-1]对每组的两个振荡器R02j,R02j+1的频率差值进行取值控制,其中如果相应差值取值控制位为1,则将Δfj取反并且如果相应差值取值控制位为0,则维持原值,或者如果相应差值取值控制位为0,则将Δfj取反并且如果相应差值取值控制位为1,则维持原值;以及将所有频率差值Δfj相加得到振荡器频率差值累加和,并且根据振荡器频率差值累加和得到1比特响应。2.根据权利要求1所述的电路,其中每个延时单元组di包含第一和第二延时单元di,0和di,1并且所述第一和第二延时单元di,0和di,1用一个多路选择器来选择控制,其中将挑战的延时单元选择位用作多路选择器的选择控制位,其中如果多路选择器的选择控制位输入为0,则选择第一延时单元di,0,并且如果多路选择器的选择控制位输入为1,则选择第二延时单元di,1。3.根据权利要求1所述的电路,其中每个延时单元组di包含第一多个延时单元和第二多个延时单元并且所述第一多个延时单元和第二多个延时单元用一个多路选择器来选择控制,其中将挑战的延时单元选择位用作多路选择器的选择控制位,其中如果多路选择器的选择控制位输入为0,则选择第一多个延时单元,并且如果多路选择器的选择控制位输入为1,则选择第二多个延时单元。4.根据权利要求1所述的电路,其中如果振荡器频率差值累加和大于等于一阈值,则使响应为1并且如果振荡器频率差值累加和小于该阈值,则使响应为0,或者如果振荡器频率差值累加和大于等于一阈值,则使响应为0并且如果振荡器频率差值累加和小于该阈值,则使响应...

【专利技术属性】
技术研发人员:柴佳晶
申请(专利权)人:上海华虹集成电路有限责任公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1