芯片指纹的提取装置及方法转让专利

申请号 : CN200910045039.4

文献号 : CN101478404B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 谷大武侯方勇张俊钦

申请人 : 上海交通大学

摘要 :

本发明涉及一种信息处理技术领域的芯片指纹的提取装置及方法,其中装置包括:传输延迟通路,激励信号控制器和仲裁器;传输延迟通路由N(N为2的整数倍)个开关串联组成,开关由一对2-1的多路复用器和一对缓冲器构成,激励信号控制器由一个N位的线性移位反馈寄存器构成,仲裁器由一个D触发器构成;激励信号控制器中的N位输出与N个开关的控制端相连,仲裁器与最后一个开关的输出相连;同一个脉冲信号在两条通路上竞争通过,仲裁器中的D触发器根据上下两路脉冲信号上升沿到达的先后顺序判决输出是0或1。本发明在输出响应的0、1平衡性上具有良好性能。

权利要求 :

1.一种芯片指纹的提取装置,其特征在于,包括:传输延迟通路,激励信号控制器和仲裁器,其中:所述的传输延迟通路用来构成上下两条完全对称的传输通路,同一个脉冲信号竞争通过上下两条完全对称的传输通路;

所述的激励信号控制器用来控制脉冲信号在传输延迟通路上的传输路径,同时脉冲信号控制着激励信号控制器的激励信号的移位;

所述的仲裁器根据上下两路通路信号上升沿的到达先后顺序判决输出是0或者1;

在上述装置中,输入激励是一个N位的比特串,输出响应是一个N位的比特串,N为2的整数倍;

所述的传输延迟通路由N个开关串联组成,N为2的整数倍,其中,所述的开关有两个输入端、一个控制端和两个输出端;

所述的开关由一对2-1的多路复用器和一对缓冲器构成,开关的控制端与两个2-1的多路复用器的选择端同时相连,每个2-1多路复用器的输出端与一个缓冲器相连,设开关两个输入端分别为I1和I2,控制端为Ci,输出端为O1和O2,当控制端Ci为a时,a为一位比特,输入端I1的脉冲信号最后到达输出端O1,输入端I2的脉冲信号最后到达输出端O2,当控制端Ci为 时,为a的补,输入端I1的脉冲信号最后到达输出端O2,输入端I2的脉冲信号最后到达输出端O1;

所述的激励信号控制器由一个N位的线性移位反馈寄存器构成,这个线性移位反馈寄存器的N个输出顺序地与N个开关的控制端相连接,脉冲信号控制线性移位反馈寄存器的移位;

所述的仲裁器由一个D触发器构成,D触发器有一个数据输入端,一个时钟输入端和一个输出端,其中数据输入端和时钟输入端分别与最后一个开关的两个输出端相连,D触发器输出端的输出作为电路的最后输出响应。

2.一种芯片指纹的提取方法,其特征在于包括如下步骤:

第一步,在线性移位反馈寄存器预置N比特的激励信号,这N比特的激励信号顺序控制N个开关,N为2的整数倍;

第二步,脉冲信号同时输入第一个开关的两个输入端,同一个脉冲信号在传输延迟通路上竞争通过,一直到达仲裁器,仲裁器中的D触发器根据两路脉冲信号上升沿到来的先后顺序来判断输出的结果为0或为1;

第三步,在下一个时钟周期到来的时候,脉冲信号控制线性移位反馈寄存器上的N比特的激励信号顺序移位,这时由于激励信号对开关的控制,脉冲信号在传输延迟通路上的传输路径也发生变化;

第四步,转到第二步继续执行,一直到N个时间周期后结束,这时,仲裁器输出了N比特的响应;

第五步,经过N个时钟周期后就得到了一个激励——响应对,激励为原来置于线性移位反馈寄存器中的N比特激励信号,响应为仲裁器的N比特的输出响应,这N个比特的输出响应用作芯片指纹。

说明书 :

芯片指纹的提取装置及方法

技术领域

[0001] 本发明涉及一种信息处理技术领域的装置及方法,具体地说,涉及的是一种芯片指纹的提取装置及方法。

背景技术

[0002] 信息安全应用领域涉及诸多方面的因素;其中,对密钥的可靠保护是信息安全应用领域的基本要素。密钥的可靠保护目的在于防止有些人的恶意仿冒,诈骗等行为;即,保护密钥使其不泄漏能有效地保护系统的安全性。通常,密钥的保护是将其存储于非挥发性存储器中(如EEPROM,Electrically ErasableProgrammable Read Only Memory),或者以熔丝的形式直接烧录在硅片上。这两种方式都使得密钥是静态存在的(即使不使用的时候,密钥也不会消失),甚至是静态地以明文形式而存在的。然而,从目前攻击手段来看,存储于EEPROM之类部件的秘密信息有可能被攻击者通过物理边界攻击(例如:微探测、激光切割、故障攻击、电压分析等)所提取。因此,必须有相比于EEPROM和熔丝安全程度更高的措施,来阻止攻击者通过仿真或者通过各种探查手段非法获得至关重要的密钥信息。
[0003] 对于芯片而言,由于工艺控制的原因,制造出的芯片具有不可避免的差异性(例如在芯片结晶的工程中由于温度和压力随机的变化会引起差异)。即,每块芯片都有自己的“特征”,该“特征”是由制造差异引起的,它是随机的,并且可以用来唯一地标识每块芯片,就如人的指纹一样。由于芯片的制造差异,使得每块芯片的逻辑器件和线路上的信号传输延迟(这个就是芯片的“指纹”)是不同的,可以基于芯片的信号传输延迟构造出提取芯片指纹的电路。由于芯片指纹具有若干特殊的优点,例如:非静态存在、不可复制、难于建模和仿真等等。因此,可以把这样的“指纹”信息用来作为一个难于被攻击者获得的密钥信息,从而达到对密钥的可靠保护。
[0004] 经对现有技术的文献检索发现,DAIHYUN LIM等人2005年在《IEEETRANSACTIONS ON VERY LARGE SCALE INTEGRATION(VLSI)SYSTEMS》上发表的《Extracting secret keys from integrated circuits》(《从集成电路中提取出密钥》)中提出的基于仲裁器的物理不可克隆函数(Arbiter-Based PhysicalUncloneable Function)是近些年来国际上利用集成电路来提取芯片间传输延迟差异的基石。该文中提出的基于仲裁器的物理不可克隆函数,由一个信号传输延迟电路和一个仲裁器组成。同一脉冲信号在两条通路上通过,最后仲裁器根据上下两路信号到达的先后顺序判决输出是0或者1。在这个电路中,输入激励是一个64位的比特串,输出响应是1位比特。其不足在于,电路输出响应的0和1不平衡,输出响应为1的概率为10%,输出为0的概率为90%。由于输出响应的0、1极不平衡性,整个电路比较容易受到攻击,攻击者容易通过建模来预测电路的输出结果。而本发明的方法提高了电路输出响应的0、1平衡性,使得系统比较不容易受到攻击,增强了安全性。

发明内容

[0005] 本发明的目的在于针对现有技术的不足,提供一种芯片指纹的提取装置及方法,能够提取出不同芯片间的逻辑器件和线路的信号传输延迟差异,该方法在输出响的0、1平衡性上具有良好的性能,能较好地防止对整个电路的建模或复制,使其较不容易受到攻击,增强了安全性。
[0006] 本发明是通过以下技术方案实现的:
[0007] 本发明所涉及的芯片指纹提取的装置,包括:传输延迟通路,激励信号控制器和仲裁器,其中:
[0008] 所述的传输延迟通路用来构成上下两条完全对称的传输通路,同一个脉冲信号竞争通过上下两条完全对称的传输通路;
[0009] 所述的激励信号控制器用来控制脉冲信号在传输延迟通路上的传输路径,同时脉冲信号控制着激励控制信号器的激励信号的移位;
[0010] 所述的仲裁器根据上下两路通路信号上升沿的到达先后顺序判决输出是0或者1;
[0011] 上述装置,输入激励是一个N位(N为2的整数倍)的比特串,输出响应是一个N位的比特串。
[0012] 所述的传输延迟通路由N个开关串联组成,其中,所述的开关有两个输入端,一个控制端和两个输出端,开关由一对2-1的多路复用器和一对缓冲器构成,开关的控制端与两个2-1的多路复用器的选择端同时相连,每个2-1多路复用器的输出端与一个缓冲器相连,开关实现这样的功能,假定两个输入端分别为I1和I2,控制端为Ci,输出端为O1和O2,当控制端Ci为a(a为一位比特,0或1)时,输入端I1的脉冲信号最后到达输出端O1,输入端I2的脉冲信号最后到达输出端O2,当控制端Ci为a(a为a的补)时,输入端I1的脉冲信号最后到达输出端O2,输入端I2的脉冲信号最后到达输出端O1。
[0013] 所述的激励信号控制器由一个N位的线性移位反馈寄存器构成,这个线性移位反馈寄存器的N个输出顺序地与N个开关的控制端相连接,脉冲信号控制线性移位反馈寄存的移位;
[0014] 所述的仲裁器由一个D触发器构成。D触发器有一个数据输入端,一个时钟输入端和一个输出端,其中数据输入端和时钟输入端分别与最后一个开关的两个输出端相连,相连的顺序不影响使用目的,D触发器输出端的输出作为电路的最后输出响应。
[0015] 由于工艺控制的原因,制造出的芯片具有不可避免的差异性(例如在芯片结晶的工程中由于温度和压力随机的变化会引起差异),这些差异会对每块芯片的逻辑器件和线路上的信号传输延迟产生随机的影响,并且不同芯片间的传输延迟差异可以用来作为指纹唯一地标识每块芯片。本发明的方法能提取出不同芯片间的信号传输延迟差异,用来作为芯片的指纹。
[0016] 本发明所涉及的芯片指纹的提取方法,包括如下步骤:
[0017] 第一步,在线性移位反馈寄存器预置N比特的激励信号,这N比特的激励信号顺序控制N个开关;
[0018] 第二步,脉冲信号同时输入第一个开关的两个输入端,同一个脉冲信号在传输延迟通路上竞争通过,一直到达仲裁器,仲裁器中的D触发器根据两路脉冲信号上升沿到来的先后顺序来判断输出的结果为0或为1;
[0019] 第三步,在下一个时钟周期到来的时候,脉冲信号控制线性移位反馈寄存器上的N比特的激励信号顺序移位,这时由于激励信号对开关的控制,脉冲信号在传输延迟通路上的传输路径也发生变化;
[0020] 第四步,转到第二步继续执行,一直到N个时间周期后结束,这时,仲裁器输出了N比特的响应。
[0021] 第五步,经过N个时钟周期后就得到了一个激励——响应对,激励为原来置于移位反馈寄存器中的N比特激励信号,响应为仲裁器的N比特的输出响应,这N个比特的输出响应可以用作芯片的指纹。由于不同芯片间的信号传输延迟差异,对于同一个N比特激励信号而言,不同芯片所产生的输出响应不同,即,不同芯片具有不同的指纹。
[0022] 本发明具有如下有益效果:其一,仲裁器采用了D触发器,由于D触发器在未能满足建立时间的要求的情况下,输出也会进入一个稳定状态,且D触发器还具有自动跳出亚稳态的功能,而D锁存器不具有这样的功能,因此采用D触发器提高了系统的稳定性。其二,采用移位寄存器来控制开关,这样使得用N个比特的激励经过N个时钟周期就能获得N个比特的响应,提高了效率。在FPGA实验平台上对其行了实验,实验数据表明仲裁器输出响应为1的概率约为30%,提高了0和1的比例平衡性,这样能较好地防止对整个电路的建模或复制,使其不容易受到攻击,增强了安全性。

附图说明

[0023] 图1是本发明一种芯片指纹提取的装置的结构框图;
[0024] 图2是本发明一种芯片指纹提取的装置中的开关的电原理图;
[0025] 图3是本发明一种芯片指纹提取的装置中的仲裁器的输出示例图。

具体实施方式

[0026] 下面结合附图对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
[0027] 如图1所示,本实施例涉及的芯片指纹的提取装置包括:传输延迟通路,激励信号控制器和仲裁器,其中:
[0028] 所述的传输延迟通路用来构成上下两条完全对称的传输通路,同一个脉冲信号竞争通过上下两条完全对称的传输通路;
[0029] 所述的激励信号控制器用来控制脉冲信号在传输延迟通路上的传输路径,同时脉冲信号控制着激励控制信号器的激励信号的移位;
[0030] 所述的仲裁器根据上下两路通路信号上升沿的到达先后顺序判决输出是0或者1。
[0031] 上述装置,输入激励是一个N位(N为2的整数倍)的比特串,输出响应是一个N位的比特串。
[0032] 本实施例中,所述传输延迟通路,它由128个开关串联组成。所述的开关有两个输入端,一个控制端和两个输出端。
[0033] 本实施例中,所述激励信号控制器,它由一个128比特的线性移位反馈寄存器构成,脉冲信号控制128比特激励信号的移位,线性移位反馈寄存器中的128比特输出顺序地与128个开关的控制端相连。
[0034] 本实施例中,所述仲裁器,它由一个D触发器构成,同一脉冲信号在两条通路上竞争通过,仲裁器中的D触发器根据上下两路脉冲信号上升沿到达的先后顺序判决输出是0或者1。
[0035] 如图2所示,传输延迟通路的开关由一对2-1的多路复用器和一对缓冲器构成,当控制端Ci为0时,输入端I1的脉冲信号最后到达输出端O1,输入端I2的脉冲信号最后到达输出端O2,当控制端Ci为1时,输入端I1的脉冲信号最后到达输出端O2,输入端I2的脉冲信号最后到达输出端O1。
[0036] 如图3所示,它是仲裁器输出响应的一个示例,当上面一路的脉冲信号的上升沿比下面一路的脉冲信号的上升沿先到达D触发器,这时D触发器输出结果为1,反之则输出结果为0。
[0037] 本实施例所涉及的芯片指纹的提取方法,具体实施应用如下:
[0038] 步骤一,注册阶段,将含有提取芯片指纹的方法的电路嵌入到芯片中,比如嵌入到IC卡的芯片中,在将IC卡发给用户之前,服务器先随机生成几个128比特的激励,如10个,将这10个128比特的激励信号输入该IC卡芯片中的电路,这时执行提取芯片指纹的方法:
[0039] ①,在电路中的线性移位反馈寄存器预置一个128比特的激励信号,这个128比特的激励信号顺序控制128个开关;
[0040] ②,将脉冲信号同时输入第一个开关的两个输入端,脉冲信号在传输延迟通路上竞争通过,一直到达仲裁器,仲裁器根据两路脉冲信号上升沿到来的先后顺序来判断输出的结果为0或为1;
[0041] ③,在下一个时钟周期到来的时候,线性移位反馈寄存器上的128个比特的激励信号顺序移位,同时下一个脉冲信号输入第一个开关;
[0042] ④,经过128个时钟周期,仲裁器输出了128个比特的响应,
[0043] ⑤,经过10次的输入后获得10组激励——响应对,并将这10组激励——响应对存储在服务器中的数据库中,然后再将IC卡发给合法的用户。
[0044] 步骤二,验证阶段。当用户持有IC卡时,将IC卡插入到系统中,这时服务器从数据库中随机选取一个已存储在数据库中的128比特的激励,将这个128比特激励输入IC卡中的芯片电路中,经过步骤一中同样的提取芯片指纹的方法后,这时能够获得128比特的输出响应,然后服务器将获得的128比特的输出响应与数据库中所存储的对应的128比特输出响应相互比较,如果不相等,则该IC卡是非法的,系统拒绝该用户,如果这两个值相等,则用户所持有的IC卡是合法的,系统接受该用户,同时服务器将数据库中该芯片这次所使用的激励——响应对标识为已使用。当这10组激励——响应对都用标识为已使用时,需要将IC卡重新拿到服务器去再注册。
[0045] 由于不同芯片间的逻辑器件和线路上的信号传输延迟是不同的,且是随机的,可以用来唯一地标识每块芯片,本实施例能提取出不同芯片间的信号传输延迟差异,即提取出芯片指纹:其一,由于芯片指纹具有非静态存在、不可复制、难于建模和仿真等特点,攻击者无法将芯片进行克隆,即攻击者无法制造出同样的具有相同的信号传输延迟的芯片;其二,由于攻击者无法预测到IC卡在某一次所使用的激励——响应对,且每个激励响应对在使用过后不再重复,因此即使攻击者能够获取每次所使用的激励——响应对,攻击者也无法实施重放攻击。
[0046] 综上,将本实施例中能有效地防止攻击者复制IC卡,假冒用户,有效地保证系统的安全性。