一种可多路切换的PUF电路及序列号输出电路的制作方法

文档序号:11199913阅读:439来源:国知局
一种可多路切换的PUF电路及序列号输出电路的制造方法与工艺

本发明涉及集成电路技术领域,具体来说是一种可多路切换的puf电路及序列号输出电路。



背景技术:

在集成电路领域,所生产的晶圆和芯片需要标有特殊的唯一的序列号对晶圆或芯片加以区分,本技术领域中,对于晶圆和芯片的序列号区分的实现方法是在芯片的eeprom或eflash中写入一个特殊的序列号,以达到区分的目的,但是这种方法在芯片中保存的序列号极容易被修改或擦除,也很容易被读取,导致芯片容易被破译技术破解。

针对这种情况,puf技术应运而生,puf技术是利用硅片独特的物理特性和ic制造过程的变异性来识别各个芯片,由此判断芯片的真伪性。在现有的puf技术中,puf引入自然随机源,产生了几乎无法预测和复制的算法,增加了系统安全性,也使得芯片中保存的序列号无法被修改和擦除和随意读取。但是很多采用puf技术制造的芯片可靠性差,流片容易失败。如仲裁器puf经过并联组合单个puf电路产生多位输出值,但每一个延时路径不能互通,或者互通较少,如果其中一个延时路径出现了区别于其他延时路径的较大误差,可能会造成芯片的输出为一个固定的、不根据输入变化的值,从而造成该芯片的可靠性(reliability)和唯一性(uniqueness)指标都不是很理想,导致商用可能性低,风险大。

因此,设计一种随机性高、可靠性高、唯一性高的puf电路十分重要。



技术实现要素:

本发明的目的在于提供了一种可多路切换puf电路和序列号输出电路,通过混合多个延时路径,分散流片时产生的较大误差,从而提高芯片的可靠性和随机性。

为了解决上述技术问题,本发明采用了如下的技术方案:

一种可多路切换的puf电路,包括:

延时切换电路,所述的延时切换电路带有密钥输入端、多个信号输入端和多个信号输出端,所述的密钥输入端对应输入两位密钥,多个信号输入端接外部的同一脉冲信号,延时切换电路对从不同信号输入端输入的同一脉冲信号进行选择,将脉冲信号转换为不同速率的延时信号,并通过不同的信号输出端将延时信号依次输出;

解码电路,所述的解码电路的输入端对应连接延时切换电路的多个信号输出端,根据信号输出端输出的延时信号到达解码电路的先后顺序,将最先到达的延时信号进行处理后产生两位输出值。

在本发明的一些具体实施方式中,n个所述延时切换电路的信号输入端和信号输出端依次串联,以使n个串联的延时切换电路支持2n位密钥的输入。

在本发明的一些具体实施方式中,所述的密钥按照延时切换电路的连接顺序从左至右,并从密钥的最低位到最高位以每两位一个单元输入到对应的延时切换电路的密钥输入端。

在本发明的一些具体实施方式中,所述的延时切换电路包括多个数据选择器,各数据选择器的数据输入端分别并联,构成延时切换电路的信号输入端,各数据选择器的输出端分别构成延时切换电路的信号输出端,各数据选择器的地址输入端分别并联构成延时切换电路的密钥输入端,所述的数据选择器根据地址输入端输入的密钥对应选出延时信号并送到数据选择器的输出端。

在本发明的一些具体实施方式中,所述的延时切换电路包括都为4选1数据选择器的第一数据选择器、第二数据选择器、第三数据选择器和第四数据选择器,

所述的第一数据选择器的第一数据输入端与第二数据选择器的第二数据输入端、第三数据选择器的第三数据输入端、第四数据选择器的第四数据输入端并联,构成延时切换电路的第一信号输入端;

所述的第一数据选择器的第二数据输入端与第二数据选择器的第一数据输入端、第三数据选择器的第四数据输入端、第四数据选择器的第三数据输入端并联,构成延时切换电路的第二信号输入端;

所述的第一数据选择器的第三数据输入端与第二数据选择器的第四数据输入端、第三数据选择器的第一数据输入端、第四数据选择器的第二数据输入端并联,构成延时切换电路的第三信号输入端;

所述的第一数据选择器的第四数据输入端与第二数据选择器的第三数据输入端、第三数据选择器的第二数据输入端、第四数据选择器的第一数据输入端并联,构成延时切换电路的第四信号输入端;

第一数据选择器、第二数据选择器、第三数据选择器和第四数据选择器的输出端分别构成延时切换电路的第一信号输出端、第二信号输出端、第三信号输出端和第四信号输出端,

所述的第一数据选择器、第二数据选择器、第三数据选择器和第四数据选择器的第一地址输入端并联,构成延时切换电路的第一密钥输入端;

所述的第一数据选择器、第二数据选择器、第三数据选择器和第四数据选择器的第二地址输入端并联,构成延时切换电路的第二密钥输入端。

在本发明的一些具体实施方式中,所述的解码电路包括仲裁器、组合逻辑电路,所述的仲裁器的输入端分别连接延时切换电路的信号输出端,延时切换电路输出的延时信号两两随机组合并行输入仲裁器中,仲裁器按延时信号输入的先后顺序进行仲裁,将先输入到仲裁器中的延时信号输出,仲裁器的输出端连接组合逻辑电路的输入端,所述的组合逻辑电路对仲裁器输出的延时信号进行组合逻辑处理并输出两位输出值。

在本发明的一些具体实施方式中,所述的解码电路包括6个相同的仲裁器,其中,

第一仲裁器的输入信号端分别连接延时切换电路的第一信号输出端和第二信号输出端,

第二仲裁器的输入信号端分别连接延时切换电路的第一信号输出端和第三信号输出端,

第三仲裁器的输入信号端分别连接延时切换电路的第一信号输出端和第四信号输出端,

第四仲裁器的输入信号端分别连接延时切换电路的第二信号输出端和第三信号输出端,

第五仲裁器的输入信号端分别连接延时切换电路的第二信号输出端和第四信号输出端,

第六仲裁器的输入信号端分别连接延时切换电路的第三信号输出端和第四信号输出端,

所述的第一仲裁器、第二仲裁器、第三仲裁器、第四仲裁器、第五仲裁器、第六仲裁器的输出信号端连接组合逻辑电路的输入端。

在本发明的一些具体实施方式中,所述的组合逻辑电路包括8个与门、2个异或门,

第一与门的输入端分别连接第一仲裁器、第二仲裁器、第三仲裁器的输出端,

第二与门的输入端分别连接第一仲裁器、第四仲裁器、第五仲裁器的输出端,

第三与门的输入端分别连接第二仲裁器、第四仲裁器、第六仲裁器的输出端,

第四与门的输入端分别连接第三仲裁器、第五仲裁器、第六仲裁器的输出端,

第五与门的输入端分别连接第一与门和第三与门的输出端,第六与门的输入端分别连接第一与门和第二与门的输出端,

第一异或门的输入端分别连接第二与门和第四与门的输出端,第二异或门的输入端分别连接第三与门和第四与门的输出端,

第七与门的输入端分别连接第五与门的输出端和第一异或门的输出端,第八与门的输入端分别连接第六与门的输出端和第二异或门的输出端,第七与门和第八与门的输出端分别输出两位输出值。

本发明还提供一种序列号输出电路,包括上述的puf电路,多组所述puf电路依次并联构成由puf电路决定序列号的序列号输出电路。

在本发明的一些具体实施方式中,所述的序列号输出电路包括m组并联的puf电路,每一puf电路分别输出两位输出值,以使输出的m组两位输出值依次排列组成2m位序列号。

本发明由于采用以上技术方案,使之与现有技术相比,具有以下的优点和积极效果:

1.本发明提供的puf电路通过延时切换电路和解码电路来混合成多路延时路径,避免了直接并联单路延时路径时可能出现的较大误差,使由此制成的芯片随机性、唯一性和可靠性指标值更为理想,流片风险减小;

2.puf电路利用了集成电路生产时的工艺误差,经过延时切换电路和解码电路对脉冲信号进行随机选择、组合,使输出值都具有不可预测的自然随机性,即使通过同一电路和工艺生产的芯片都是唯一的、不可复制的;

3.本发明提供的puf电路可组成用于序列号输出电路,由于puf电路产生的输出值是随机的,相应产生的序列号也是随机的,无法被预测和计算,一旦芯片生产完成其中的序列号也无法改变,不易被修改、擦除;

4.本发明提供的序列号输出电路具有序列号的隐藏和保护功能,只有输入正确的密钥才能获得正确的序列号,即使在电路完全公开的情况下也无法复制芯片的序列号生成过程。

附图说明

图1是本发明实施例1中的可多路切换的puf电路的连接示意图;

图2是本发明实施例1中的延时切换电路的连接示意图;

图3是本发明实施例1中的解码电路的连接示意图;

图4是本发明实施例2中的可多路切换的puf电路的连接示意图;

图5是本发明实施例2中的延时切换电路的连接示意图;

图6是本发明实施例2中的解码电路的连接示意图;

图7是本发明实施例2中的仲裁器的内部结构示意图;

图8是本发明实施例3中可多路切换的puf电路的连接示意图;

图9是本发明实施例3中序列号生成电路的连接示意图。

具体实施方式

以下结合附图和具体实施例对本发明提出的技术方案进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比率,仅用于方便、明晰地辅助说明本发明实施例的目的。

本发明是利用了集成电路生产时的工艺误差随机源,如掺杂浓度,晶体管的长度和宽度的细微差别等,经过延时切换电路和解码电路对脉冲信号进行随机选择、组合,混合了多个延时路径,以解决现有的puf电路误差较大的问题。现结合附图和具体实施例对本发明的原理进行说明。

实施例1

本实施例详细描述本发明提供的一种可多路切换的puf电路的结构和原理,参见图1,为puf电路的连接示意图,图中的输入端和输出端仅用于示意延时切换电路和解码电路之间的连接关系,输入端、输出端的具体个数并不以图中为准,puf电路主要包括:

延时切换电路,延时切换电路带有密钥输入端、多个信号输入端和多个信号输出端,密钥输入端对应输入两位密钥,多个信号输入端接外部的同一脉冲信号,延时切换电路对从不同信号输入端输入的同一脉冲信号进行选择,将脉冲信号转换为不同速率的延时信号,并通过不同的信号输出端将延时信号依次输出。为实现随机性,信号输入端的个数需为2个及以上,具体以实际需要的个数为准。

解码电路,解码电路的输入端对应连接延时切换电路的多个信号输出端,根据信号输出端输出的延时信号到达解码电路的先后顺序,将最先到达的延时信号进行处理后产生两位输出值。

延时切换电路具体包括多个数据选择器,参见图2,图中是以四个数据选择器为例,需注意的是,图中的输入端和输出端仅用于示意各数据选择器之间的连接关系,输入端、输出端的具体个数和输入端的具体连接并不以图中为准。各数据选择器的数据输入端分别并联,构成延时切换电路的信号输入端,各数据选择器的输出端分别构成延时切换电路的信号输出端,各数据选择器的地址输入端分别并联构成延时切换电路的密钥输入端,数据选择器根据地址输入端输入的密钥对应选出延时信号并送到数据选择器的输出端。其中,数据选择器可根据实际需求选择2选1、4选1、8选1和16选1等类型的数据选择器,在此不做具体限定。

解码电路主要包括仲裁器、组合逻辑电路,参见图3,图中的输入端和输出端仅用于示意仲裁器和组合逻辑电路之间的连接关系,输入端、输出端的具体个数并不以图中为准。仲裁器的输入端分别连接延时切换电路的信号输出端,延时切换电路输出的延时信号两两随机组合并行输入仲裁器中(组合并行输入仲裁器的延时信号需保证不重合),仲裁器按延时信号输入的先后顺序进行仲裁,将先输入到仲裁器中的延时信号输出,仲裁器的输出端连接组合逻辑电路的输入端,组合逻辑电路对仲裁器输出的延时信号进行组合逻辑处理并输出两位输出值。组合逻辑电路的具体电路连接结构不受限定,以能实现随机组合仲裁器输出的延时信号为准。

将同一个脉冲信号加到延时切换电路的信号输入端上,同时将密钥对应输入延时切换电路的密钥输入端上,密钥在输入过程中需按照最低位到最高位输入,输入到延时切换电路中的脉冲信号由于集成电路的物理特性和变异性,会分别经过一定的路径传播后速率产生变化,由此形成不同速率的延时信号,不同速率的延时信号按照到达延时切换电路输出端的快慢,并根据密钥输入端的密钥对应选出延时信号,分别从延时切换电路的各个信号输出端依次输出,由延时切换电路后的解码电路中的仲裁器判断最先、最快到达的延时信号,而后通过解码电路中的组合逻辑电路将最先到达的信号进行随机的逻辑处理,最终得到随机的两位输出值r0和r1。由于本发明采用混合成多路延时路径的方式,避免了直接并联单路延时路径时可能出现的较大误差,使由此制成的芯片随机性、唯一性和可靠性指标值更为理想,流片风险减小。

实施例2

本实施例以实施例1记载的内容为基础,详细描述了使用四个数据选择器实现4个延时路径的puf电路,本实施例中的puf电路可以根据输入的不同相互切换,将流片时产生的较大误差分散在电路内部,从而提高随机性、可靠性,唯一性。

延时切换电路和解码电路的连接关系在实施例1中已作详细陈述,在实施例1的基础上,本实施例中的延时切换电路中选用四个4选1数据选择器构成,参见图4,此外,2选1和8选1和16选1等类型的数据选择器原理类似,在此不赘述。为便于说明,现将四个数据选择器自上而下分别命名为第一数据选择器、第二数据选择器、第三数据选择器和第四数据选择器,各数据选择器的数据输入端按照图示中数据选择器的0号管脚、1管脚、2管脚、3管脚的顺序分别命名为第一数据输入端至第四数据输入端,参见图5,其中,

第一数据选择器的第一数据输入端与第二数据选择器的第二数据输入端、第三数据选择器的第三数据输入端、第四数据选择器的第四数据输入端并联,构成延时切换电路的第一信号输入端i0;

第一数据选择器的第二数据输入端与第二数据选择器的第一数据输入端、第三数据选择器的第四数据输入端、第四数据选择器的第三数据输入端并联,构成延时切换电路的第二信号输入端i1;

第一数据选择器的第三数据输入端与第二数据选择器的第四数据输入端、第三数据选择器的第一数据输入端、第四数据选择器的第二数据输入端并联,构成延时切换电路的第三信号输入端i2;

第一数据选择器的第四数据输入端与第二数据选择器的第三数据输入端、第三数据选择器的第二数据输入端、第四数据选择器的第一数据输入端并联,构成延时切换电路的第四信号输入端i3;

由于需要产生随机性,四个信号输入端就必须要配有四个信号输出端,第一数据选择器、第二数据选择器、第三数据选择器和第四数据选择器的输出端分别构成延时切换电路的第一信号输出端o0、第二信号输出端o1、第三信号输出端o2和第四信号输出端o3,

对于延时切换电路的密钥输入端,是将第一数据选择器、第二数据选择器、第三数据选择器和第四数据选择器的第一地址输入端并联,构成延时切换电路的第一密钥输入端s0;延时切换电路的密钥输入端,第一数据选择器、第二数据选择器、第三数据选择器和第四数据选择器的第二地址输入端并联,构成延时切换电路的第二密钥输入端s1;

由此,本实施例中的延时切换电路则相应有四个信号输入端i0/i1/i2/i3,四个信号输出端o0/o1/o2/o3和两个密钥输入端s0/s1。

对应连接延时切换电路的四个信号输出端,为了对四个信号输出端的延时进行两两不重复的组合并行输入,解码电路的输入端应当用6个相同的仲裁器组成,解码电路的电路连接示意图参见图6,仲裁器选用2输入仲裁器,且仲裁器的设计标准应当满足识别4路延时信号快慢的最小精度,其中2输出仲裁器如图7所示,其原理在此不赘述。将图6中的仲裁器自上而下依次命名为第一仲裁器、第二仲裁器、第三仲裁器、第四仲裁器、第五仲裁器、第六仲裁器,其中,仲裁器输入端的o0-o3代表延时切换电路输出的延时信号,第一仲裁器的输入信号端分别连接延时切换电路的第一信号输出端和第二信号输出端,第二仲裁器的输入信号端分别连接延时切换电路的第一信号输出端和第三信号输出端,第三仲裁器的输入信号端分别连接延时切换电路的第一信号输出端和第四信号输出端,第四仲裁器的输入信号端分别连接延时切换电路的第二信号输出端和第三信号输出端,第五仲裁器的输入信号端分别连接延时切换电路的第二信号输出端和第四信号输出端,第六仲裁器的输入信号端分别连接延时切换电路的第三信号输出端和第四信号输出端,第一仲裁器、第二仲裁器、第三仲裁器、第四仲裁器、第五仲裁器、第六仲裁器的输出信号端连接组合逻辑电路的输入端。

为了使数据更加随机,在上述的基础上可对本发明中的组合逻辑电路进行具体设计,参见图6的右半部分,为本实施例中的组合逻辑电路的具体连接示意图,如图6所示,组合逻辑电路包括8个与门(图中标为1-8)、2个异或门(图中标为1’-2’),按照图中的数字标号将8个与门分别命名为第一与门、第二与门、第三与门、第四与门、第五与门、第六与门、第七与门、第八与门,而对于两个异或门,标为1’的为第一异或门,标为2’的为第二异或门,第一与门的输入端分别连接第一仲裁器、第二仲裁器、第三仲裁器的输出端,第二与门的输入端分别连接第一仲裁器、第四仲裁器、第五仲裁器的输出端,第三与门的输入端分别连接第二仲裁器、第四仲裁器、第六仲裁器的输出端,第四与门的输入端分别连接第三仲裁器、第五仲裁器、第六仲裁器的输出端,第五与门的输入端分别连接第一与门和第三与门的输出端,第六与门的输入端分别连接第一与门和第二与门的输出端,第一异或门的输入端分别连接第二与门和第四与门的输出端,第二异或门的输入端分别连接第三与门和第四与门的输出端,第七与门的输入端分别连接第五与门的输出端和第一异或门的输出端,第八与门的输入端分别连接第六与门的输出端和第二异或门的输出端,第七与门和第八与门的输出端分别输出两位输出值。

由此,将同一脉冲信号加到延时切换电路的第一信号输入端、第二信号输入端、第三信号输入端和第四信号输入端,通过图5中的第一数据选择器、第二数据选择器、第三数据选择器和第四数据选择器,延时信号i0-i3并行输入数据选择器之后,第一数据选择器、第二数据选择器、第三数据选择器和第四数据选择器并行输出各自的输出信号,形成了o0-o3,这些信号两两组合分别输出到图6的第一仲裁器、第二仲裁器、第三仲裁器、第四仲裁器、第五仲裁器、第六仲裁器的各输入端,第一仲裁器接收o0和o1信号,第二仲裁器接收o0和o2信号,第三仲裁器接收o0和o3信号,第四仲裁器接收o1和o2信号,第五仲裁器接收o1和o3信号,第六仲裁器接收o2和o3信号,各个仲裁器将仲裁先到的数据为输出信号,在6路的仲裁器并行输出之后,再以三路并行输入第一与门、第二与门、第三与门和第四与门,第一与门、第二与门、第三与门和第四与门再将输出的信号输出到第五与门、第六与门、第一异或门和第二异或门,做到逻辑的不重叠,最后再输入到第七与门和第八与门,最终产生两个随机的输出值r0和r1。

实施例3

为进一步增加本发明中puf电路的随机性,在实施例1和实施例2的基础上,可将n个延时切换电路的信号输入端和信号输出端依次串联,如图8所示,每个延时切换电路对应密钥的2位输入,则n个串联的延时切换电路支持2n位密钥的输入,需注意的是,输入的密钥需按照延时切换电路的连接顺序从左至右,并从密钥的最低位到最高位以每两位一个单元输入到对应的延时切换电路的密钥输入端。

本实施例中的延时切换电路和解码电路的具体结构在实施例1和实施例2中已进行了具体陈述,在此不赘述。实施例3和实施例1、实施例2相比,是增加了延时切换电路的个数,将多个延时切换电路的信号输入端和信号输出端依次串联,一方面为信号输入端输入的脉冲信号增加了延时路径的传播长度,另一方面,还能使puf电路能支持2n位密钥的输入。当同一个脉冲信号加到第一个延时切换电路的信号输入端上时(图中是以四个延时路径为例),同时将密钥输入在对应的延时切换电路输入端上,即延时切换电路的密钥输入端b1,b2…bn(n为密钥的位数),b1,b2…bn按延时切换电路的连接顺序从左至右输入,密钥从最低位到最高位以每两位一个单元输入到对应的延时切换电路,四路脉冲信号分别会经过一定的路径传播后从第一个延时切换电的信号输入端传递到最后一个延时切换电路的信号输出端上,b1,b2…bn控制数据选择器的输入,根据b1,b2…bn的信号,数据选择器输出对应的逻辑电平(0或1),解码电路选择数据选择器输出的延时信号的顺序,到达最快的一路信号进行随机的混合逻辑计算,输出最终的两位输出值。

实施例4

本实施例具体详述了本发明中另外提供的一种序列号输出电路,本序列号输出电路是基于上述的puf电路实现,具体地,序列号输出电路包括上述的实施例1至实施例3中的puf电路,当然,也包括实施例1至实施例3基础上的变形实施例。

由于一组puf电路可以产生2位输出,根据需要可以增加更多组的puf电路并联使用,具体地,将多组puf电路依次并联,从而构成由puf电路决定序列号的序列号输出电路,根据序列号的长度,可并联m组puf电路,如图9所示,每一puf电路分别输出两位输出值,以使输出的m组两位输出值能依次排列组成2m位的序列号。

如需生成16位序列号输出,并且通过8位密钥读取,则总共使用8组puf电路,保持各puf电路的设计完全一样,其细微误差只源于生产时的不可预测自然随机源,使输出值都具有不可预测的自然随机性,即通过同一电路和工艺生产的芯片都是唯一的、不可复制的,从而使芯片的电路在完全公开的情况下也无法复制其序列号生成过程,也无法像在flash中写入序列号等方法可以被擦除和修改,此外该电路还有序列号保护功能,只有输入正确的密钥才能获得正确的序列号。

显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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