CN105760786B - 一种cpu+fpga集成芯片的强puf认证方法及系统 - Google Patents
一种cpu+fpga集成芯片的强puf认证方法及系统 Download PDFInfo
- Publication number
- CN105760786B CN105760786B CN201610082885.3A CN201610082885A CN105760786B CN 105760786 B CN105760786 B CN 105760786B CN 201610082885 A CN201610082885 A CN 201610082885A CN 105760786 B CN105760786 B CN 105760786B
- Authority
- CN
- China
- Prior art keywords
- fpga
- cpu
- integrated chip
- excitation
- unclonable function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/76—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
本发明适用于信息安全领域及集成电路领域,提供了一种CPU+FPGA集成芯片的强PUF认证方法及系统,CPU+FPGA集成芯片包括CPU和FPGA,该方法包括:认证端从CRP数据库中获取与CPU+FPGA集成芯片对应的激励;认证端将激励解码为配置比特发送至CPU以进行物理不可克隆函数电路配置;当FPGA上已有电路在运行中时,CPU将接收到的配置比特以部分可重构的方式在FPGA上配置物理不可克隆函数电路;CPU+FPGA集成芯片将物理不可克隆函数电路产生的响应返回给认证端以完成认证。借此,本发明在保证强物理不可克隆函数性能的同时,利用更丰富的工艺偏差,达到更高的安全性、更少的资源占用率。
Description
技术领域
本发明涉及信息安全领域及集成电路领域,属于一种硬件安全设计方法,特别是涉及一种CPU+FPGA集成芯片的强PUF认证方法及系统。
背景技术
近年来,随着电子设备的广泛使用,安全和隐私成为重要问题。被认为能永久存储和不被攻击者所知的密钥是传统密码学的核心,然而,很多攻击方法已经能破解密钥,这就使得密钥不足以保证安全。为有效地解决安全问题,物理不可克隆函数(PhysicalUnclonable Function,PUF)应运而生,它是一种硬件部件,能更有效地应对安全问题。
PUF利用芯片制造时不可避免的工艺偏差产生特定的输入输出对,又称激励响应对(Challenge-Response Pair,CRP)。即使是同样的电路设计,在制造过程中的工艺偏差使得不同芯片的PUF,面对相同的输入激励,可能会产生不同的输出响应,即CRP不同。由于工艺偏差本身难以控制和预测,因此,这些CRP既不能在PUF制造前被预测,也难以在PUF制造后被复制。这相比于传统密钥,具有更大的优势。PUF的这种特性使其在安全领域得到了广泛应用,如知识产权保护、鉴定、认证、识别等。
广义上讲PUF可以被分为两类:弱PUF和强PUF。这里的强和弱并非指它们的安全性高低,而是CRP的数量多少,他们的特征分别如下。
弱PUF只有很少量的CRP,多数情况下一个弱PUF只有一个CRP。例如,介电粒子层PUF是一种弱PUF,在制造时,随机的撒上一层介电粒子,由于它们的分布难以预测,因此介电粒子层PUF依据随机覆盖的介电粒子层所决定的电容大小产生响应。又如,静态随机存取存储(Static Random Access Memory,SRAM)PUF是另一种弱PUF,受工艺偏差的影响,每个SRAM单元都具有不同的电气特性,在芯片上电的瞬间,不同的SRAM单元之间会随机并且独立地存储0或1,而自然形成了一个CRP。其它一些存储单元如闪存、动态随机存取存储器、忆阻器等同样也具有类似的特性,因而可以用来构造弱PUF。由于基于存储单元的弱PUF只在上电的时候会产生响应,因此相比于存储在非易失性存储器中的密钥更加安全。
与弱PUF相比,强PUF则拥有大量CRP。仲裁PUF是一种典型的强PUF,它通过比较两条路径传播跳变的时延来确定响应,每条路径由多个子路径构成,而子路径的选择则是由激励所决定,不同的激励构造的两条路径不相同,而它们的时延大小也不尽相同,从而产生了随机的响应。为了提高仲裁PUF的安全性,仲裁PUF还有许多其它扩展,如前馈仲裁PUF、异或仲裁PUF、轻量仲裁PUF、电流镜PUF等。前馈仲裁PUF通过比较部分路径的时延大小来指导剩余路径中子路径的选择;异或仲裁PUF将多个仲裁PUF的响应进行异或作为最终的响应;轻量仲裁PUF仍然使用异或门对多个仲裁PUF的响应进行异或计算,但一次性得到多个响应比特;电流镜PUF则引入电流代替时延进行比较。环形振荡PUF是另一种强PUF,它的响应通过比较不同环形振荡器的频率大小来确定,而被比较的环形振荡器则由激励决定,但环形振荡PUF硬件开销较大、CRP的数量也比不上仲裁PUF。
另一方面,CPU(中央处理器,Central Processing Unit)+FPGA(现场可编程门阵列,Field Programmable Gate Array)集成芯片是近年来集成电路的一种新型架构和发展趋势。CPU作为一种通用处理器,配合FPGA可动态配置专用硬件的特性,能够使芯片性能得到大幅度的提升。同时,CPU+FPGA集成芯片的安全性也不容忽视。
随着PUF的研究和应用日益增多,PUF的安全性也受到严重威胁,基于机器学习的建模攻击方法就严重威胁着诸如仲裁PUF等强PUF的安全性。由于强PUF有大量CRP,若为每个CRP设计独立的电路,显然硬件开销十分巨大,因此,强PUF的不同CRP之间都有一定的关联,建模攻击正是通过机器学习来推测这种关联,从而破解强PUF的CRP。
建模攻击首先根据强PUF的电路结构,建立以相关物理特性为未知数的CRP模型,然后通过机器学习从获取的部分CRP数据推测这些相关物理特性,然后,对于未知响应的激励,则可以根据所推测的相关物理特性,预测其响应,实现对强PUF的破解。常用的机器学习方法有支持向量机、逻辑回归、进化策略等。使用建模攻击破解仲裁型PUF和环形振荡PUF,CRP预测精度可达到99%以上。即使前馈仲裁PUF、异或仲裁PUF、轻量仲裁PUF和电流镜PUF使强PUF的结构更加复杂,然而使用建模攻击得到的CRP预测精度平均仍然可以达到90%以上,可见强PUF的安全性受到严重威胁。
发明人在进行抗建模攻击的强PUF研究时,观察到强PUF受建模攻击威胁的本质原因:有限的硬件资源导致强PUF的大量CRP之间存在紧密的相关性。以仲裁PUF为例,若激励有n个比特,那么一共有2n个CRP。若n=128,则共有超过1038多个CRP,显然不可能为每一个CRP设计一个单独的电路,同时集成在一个芯片中。这也导致了这么大量的CRP仅仅共用了2n个未知时延片段,建模攻击正是通过机器学习推测这2n个未知时延片段从而预测所有CRP。
综上可知,现有技术在实际使用上显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种CPU+FPGA集成芯片的强PUF认证方法及系统,在保证强物理不可克隆函数性能的同时,利用更丰富的工艺偏差,达到更高的安全性、更少的资源占用率。
为了实现上述目的,本发明提供一种CPU+FPGA集成芯片的强PUF认证方法,CPU+FPGA集成芯片包括CPU和FPGA,其特征在于,所述方法包括:
认证端从CRP数据库中获取与CPU+FPGA集成芯片对应的激励;
认证端将所述激励解码为配置比特发送至所述CPU以进行物理不可克隆函数电路配置;
当所述FPGA上已有电路在运行中时,所述CPU将接收到的所述配置比特以部分可重构的方式在所述FPGA上配置所述物理不可克隆函数电路;
所述CPU+FPGA集成芯片将物理不可克隆函数电路产生的响应返回给所述认证端以完成认证。
根据本发明的强PUF认证方法,所述方法还包括:认证端判断所述CPU+FPGA集成芯片返回的响应是否与所述激励匹配,如匹配则认证成功,否则所述CPU+FPGA集成芯片为无效或伪造芯片。
根据本发明的强PUF认证方法,所述认证端从CRP数据库中获取与CPU+FPGA集成芯片对应的激励的步骤中,所述激励由基于FPGA设计的物理不可克隆函数电路根据预定义的编码规则转换形成。
根据本发明的强PUF认证方法,所述CPU+FPGA集成芯片的CPU将接收到的所述配置比特以部分可重构的方式在FPGA上配置物理不可克隆函数电路的步骤中,所述物理不可克隆函数电路包括跳变生成模块、仲裁器以及设于所述跳变生成模块与所述仲裁器之间的至少两条时延路径;所述物理不可克隆函数电路的时延路径之间具有相同的FPGA逻辑单元种类、数量、连接顺序和布线方式。
根据本发明的强PUF认证方法,所述认证端从CRP数据库中获取与CPU+FPGA集成芯片对应的激励的步骤中,所述激励中预定义了所述时延路径的FPGA逻辑单元种类、数量、连接顺序、布线方式,并预定义了时延路径之间的布局布线偏移量、仲裁器和跳变生成模块的布局布线约束。
本发明相应提供一种CPU+FPGA集成芯片的强PUF认证系统,所述系统包括认证端和CPU+FPGA集成芯片,CPU+FPGA集成芯片包括CPU和FPGA,
所述认证端,用于从CRP数据库中获取与CPU+FPGA集成芯片对应的激励,并将所述激励解码为配置比特发送至所述CPU以进行物理不可克隆函数电路配置;
所述CPU+FPGA集成芯片,用于当所述FPGA上已有电路在运行中时,通过CPU将接收到的所述配置比特以部分可重构的方式在FPGA上配置物理不可克隆函数电路,并将物理不可克隆函数电路产生的响应返回给所述认证端以完成认证。
根据本发明的强PUF认证系统,所述认证端还用于判断所述CPU+FPGA集成芯片返回的响应是否与所述激励匹配,如匹配则认证成功,否则所述CPU+FPGA集成芯片为无效或伪造芯片。
根据本发明的强PUF认证系统,所述激励由基于FPGA设计的物理不可克隆函数电路根据预定义的编码规则转换形成。
根据本发明的强PUF认证系统,所述物理不可克隆函数电路包括跳变生成模块、仲裁器以及设于所述跳变生成模块与所述仲裁器之间的至少两条时延路径;所述物理不可克隆函数电路的时延路径之间具有相同的FPGA逻辑单元种类、数量、连接顺序和布线方式。
根据本发明的强PUF认证系统,所述激励中预定义了所述时延路径的FPGA逻辑单元种类、数量、连接顺序、布线方式,并预定义了时延路径之间的布局布线偏移量、仲裁器和跳变生成模块的布局布线约束。
本发明通过认证端将激励解码为配置比特发送至CPU+FPGA集成芯片;当所述FPGA上已有电路在运行中时,所述CPU将接收到的所述配置比特以部分可重构的方式在所述FPGA上配置所述物理不可克隆函数电路。由于FPGA动态可重构特性,CPU的控制下FPGA可以配置无限多个电路结构,相比于现有技术2n个CRP共用2n个未知时延片段造成的巨大相关性,本发明PUF可为每一个激励在FPGA提供一个单独的电路,因此大幅度减少了CRP之间的相关性,提高了其抗建模攻击的能力和安全性。同时,通过激励和配置比特的编解码,使CPU为每一个激励下载配置比特到FPGA配置物理不可克隆函数电路的过程对认证方而言透明化,简化了认证方的操作过程。借此,本发明在保证强物理不可克隆函数性能的同时,利用更丰富的工艺偏差,达到更高的安全性、更少的资源占用率。
另外,本发明物理不可克隆函数电路,仅在需要使用时才会在FPGA上进行配置,对于CPU+FPGA集成芯片而言,并不需要设计额外的硬件资源;同时,由于一次只需要生成一个响应,因此单个物理不可克隆函数电路的硬件资源开销也十分小,可以对FPGA进行部分重配。
附图说明
图1是本发明一种CPU+FPGA集成芯片的强PUF认证系统的原理框图;
图2是本发明中一种实施例中物理不可克隆函数电路的电路层电路设计;
图3本发明中一种实施例中物理不可克隆函数电路的本发明中物理层布局布线设计;
图4本发明中一种实施例中的系统层控制设计实例;
图5本发明中一种实施例中物理不可克隆函数电路的用户层协议设计实例;
图6是本发明一种CPU+FPGA集成芯片的强PUF认证方法的流程图;
图7示出了本发明一种实施例中随机性评估结果;
图8示出了本发明一种实施例中稳定性评估结果。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明提供一种CPU+FPGA集成芯片的强PUF认证系统,所述系统包括认证端10和CPU+FPGA集成芯片20,该CPU+FPGA集成芯片20包括CPU 21和FPGA 22,以及配置于FPGA 22上的物理不可克隆函数电路23。
认证端10,用于从CRP数据库中获取与CPU+FPGA集成芯片对应的激励,并将激励解码为配置比特发送至CPU 21以进行物理不可克隆函数电路配置。在CPU+FPGA集成芯片20销售或使用之前,制造厂商预先登记了所有有效CPU+FPGA集成芯片的PUF CRP,并且存储在数据库或其它存储介质中。被授权的第三方公司或其它认证方可以访问该数据库中的CRP。
其中,激励是由CPU+FPGA集成芯片20的制造厂商预定义好的,更具体的,设计方在进行物理不可克隆函数电路设计时,将该需要在FPGA 22上配置的物理不可克隆函数电路23预先设计好,然后将物理不可克隆函数电路23通过预设的编码方式转换为激励,并将激励与激励在FPGA 22产生的响应作为CRP对并保存至CRP数据库。因此,激励中预定义了物理不可克隆函数电路23中时延路径的FPGA 22逻辑单元种类、数量、连接顺序、布线方式,并预定义了时延路径之间的布局布线偏移量、仲裁器和跳变生成模块的布局布线约束。
CPU+FPGA集成芯片20,用于当FPGA 22上已有电路在运行中时,通过CPU 21将接收到的配置比特以部分可重构的方式在FPGA 22上配置物理不可克隆函数电路23,并将物理不可克隆函数电路23产生的响应返回给认证端10以完成认证。在CPU 21将物理不可克隆函数电路23配置到FPGA 22上时,由于FPGA 22还需要为其它程序应用配置专门的硬件电路用于计算,因此FPGA 22不一定能够为物理不可克隆函数电路23提供全部的硬件资源。当PUF配置请求到来时FPGA 22上恰好已经有电路在运行中,则主要有三种处理途径。一是等待FPGA 22上电路运行完成后再执行PUF计算,这种方式可能需要较长的等待时间。二是将FPGA 22上正在运行的电路暂存起来,如使用硬件检查点等技术,然后将FPGA 22配置成PUF,在PUF计算完成后,将暂存起来的电路继续在FPGA 22上运行,这种方式需要等待的时间较短。三是将PUF作为部分可重构的部分直接下载到FPGA 22中,使PUF和正在运行的电路同时计算,这样做的前提是FPGA 22正在运行的电路没有使用所有的硬件资源,然而由于PUF本身需要使用的硬件资源就不多,因此满足这种情况的可能性也很大,这种方式的执行速度最快。
本发明在FPGA 22上已有电路在运行中时,CPU 21将接收到的配置比特以部分可重构的方式在FPGA 22上配置物理不可克隆函数电路。由于FPGA 22动态可重构特性,CPU21的控制下FPGA 22可以配置无限多个电路结构,相比于现有技术2n个CRP共用2n个未知时延片段造成的巨大相关性,本发明PUF可为每一个激励在FPGA 22提供一个单独的电路,因此大幅度减少了CRP之间的相关性,提高了其抗建模攻击的能力和安全性。
实际上,激励解码的过程既可以发生在认证方,也可以发生在CPU+FPGA集成芯片上,通过激励与配置比特的编解码实现了对认证方透明的FPGA 22配置过程。虽然对于不同的芯片,相同激励的响应并不相同,但是相同激励解码后的配置比特却是相同的。由于解码过程往往需要消耗一定计算资源和计算时间,本发明将激励解码的过程发生在认证方,则只需要对每一个激励做一次解码后存储,然后把配置比特代替激励传输给待认证芯片即可,而不需每个待认证芯片都对同一个激励做一次解码,从而节省计算量和计算时间。在这个过程中,额外消耗的时间是传输配置比特所需时间,这是由于配置比特的数据大小一般比激励数据大小要大。根据特定的应用场景、数据传输速度、激励解码速度,可以选择合适的激励解码时机。借此,本发明在保证强物理不可克隆函数性能的同时,利用更丰富的工艺偏差,达到更高的安全性、更少的资源占用率。
认证端10还用于判断CPU+FPGA集成芯片返回的响应是否与激励匹配,如匹配则认证成功,否则CPU+FPGA集成芯片为无效或伪造芯片。为了避免由于噪声、环境等因素的影响导致的响应不稳定情况,可进行多次认证确保认证结果的准确性,也可以设定特定的匹配阈值来决定一次认证是否成功。
优选的是,物理不可克隆函数电路包括跳变生成模块、仲裁器以及设于跳变生成模块与仲裁器之间的至少两条时延路径。物理不可克隆函数电路的时延路径之间具有相同的FPGA 22逻辑单元种类、数量、连接顺序和布线方式。激励由基于FPGA 22设计的物理不可克隆函数电路根据预定义的编码规则转换形成。激励中预定义了时延路径的FPGA 22逻辑单元种类、数量、连接顺序、布线方式,并预定义了时延路径之间的布局布线偏移量、仲裁器和跳变生成模块的布局布线约束。
下面详细介绍本发明物理不可克隆函数电路在FPGA 22上的电路层、物理层、系统层以及用户层设计。其中,电路层、物理层设计规定了物理不可克隆函数电路在FPGA 22上的电路布局;系统层设计规定了CPU+FPGA集成芯片20的CPU 21与FPGA 22之间的控制过程;用户层规定了输入激励与FPGA 22配置比特之间的编解码方式。
一、电路层
物理不可克隆函数电路包括跳变生成模块、仲裁器以及设于跳变生成模块与仲裁器之间的至少两条时延路径。
以两条时延路径为例,一个跳变生成模块生成一个跳变,同时输入给两条彼此独立、没有分支的时延路径,时延路径既可以由逻辑单元和连接逻辑单元的连线构成,也可以仅由连线构成,最终跳变通过这两条时延路径输出给仲裁器,仲裁器比较它们的时延大小,得到1比特响应。只要两条时延路径的标称时延值相等或十分相似,那么哪条路径的时延更长就取决于工艺偏差对时延的随机影响,使得相同的电路设计在不同的芯片上产生的响应值也不相同。为了提高响应的稳定性,还可以由跳变生成模块产生多个跳变,仲裁器通过多次对两条路径的时延进行比较,选择比较结果中出现次数最多的结果作为最终响应。进一步地,若要同时产生多个响应比特,可以采用更多的时延路径传播跳变。
为便于理解,下面以图2的电路层电路设计实例为例进行说明。在图2中,触发器FFT用于产生跳变。电路初始化时,一般所有触发器的值会被设置为0,当时钟信号clk的上升沿到达触发器FFT后,其Q值变为1,产生一个从0到1的跳变输入给上下两条时延路径PI和PJ。
进一步地,每条时延路径各包含n个缓冲器,只要所使用的缓冲器Ik与Jk(1≤k≤n)相同、从触发器FFT的Q端到I1和到J1的连线长度相同、从Ik到Ik+1的连线和从Jk到Jk+1的连线长度相同、从In到触发器FFA的D端连线和从Jn到触发器FFA的CLK端连线长度相同,则可以保证两条时延路径的标称时延值相等或十分相似。
进一步地,触发器FFA作为比较路径时延大小的仲裁器,若从0到1的跳变经过PI比经过PJ先一步到达触发器FFA,则触发器FFA输出的Q响应值R为1,否则为0。
二、物理层
物理层设计的目的是使物理不可克隆函数电路的具有合适的布局布线,物理不可克隆函数电路的时延路径之间具有相同或相似的标称时延。由于FPGA 22具有固定的逻辑资源和可用布线,因此如何选择逻辑资源和使用布线是物理层设计的关键。
以两条时延路径为例,首先,寻找合适的布局布线方式使得跳变生成模块到两条路径的起始逻辑单元具有相同的连线标称时延。然后,两条路径上所选用的逻辑单元无论是数量、种类还是管脚都一一对应,通过将一条时延路径的逻辑单元在FPGA 22上的布局位置移动特定的偏移量产生另外一条时延路径的逻辑单元布局,使得可以采用同样的布线方式连接时延路径上的所有逻辑单元,以获得相同的标称路径时延。最后,寻找合适的布局布线方式使得两条路径的最终逻辑单元到仲裁器具有相同的连线标称时延。从而,物理不可克隆函数电路的时延路径之间具有相同的FPGA 22逻辑单元种类、数量、连接顺序和布线方式,使得两条时延路径具有相同的连线标称时延,保障物理不可克隆函数电路的随机性。
进一步地,为便于理解,下面以图3的物理层布局布线设计实例为例进行说明。图3所示物理层设计使用赛灵思(Xilinx)公司Vivado工具实现。跳变生成模块中,给出了触发器FFT、I1和J1的布局布线情况。I1和J1分别由一个查找表(Look Up Table,LUT)逻辑单元实现,在Xilinx芯片中LUT共有6个端口,I1和J1都使用了相同端口作为缓冲器的输入。FFT到I1的连线和FFT到J1的连线具有极为相似的标称时延,需要说明的是图中连线的长度并不等价于实际时延的大小。
进一步地,图3所示路径布局布线中,左图给出了PI和PJ各5个缓冲器的布局布线情况。每一个缓冲器都是由一个LUT实现,并且都使用了LUT的A1端口。在布局上,I5,I6,I7,I8,I9之间的相对位置与J5,J6,J7,J8,J9之间的相对位置完全相同,因此,它们之间的布线可以使用完全相同的方式,使得它们具有相同的标称时延值。
进一步地,在FPGA 22中,连接两个LUT有多种布线方式,图3所示路径布局布线中右图就给出了两种布线方式,它们的布线长度不相同、标称时延自然也不相同,受到工艺偏差的影响也不尽相同。选择不同的布线方式,可以产生不同的物理不可克隆函数电路,即使所有路径上所有逻辑单元的布局是相同的,它们之间的布线不相同,产生的响应也可能是不相同的。
进一步地,图3所示仲裁器布局布线中,给出了In,Jn和FFA的布局布线情况。In和Jn同样由LUT实现,并使用了相同LUT端口。In到FFA的连线和Jn到FFA的连线具有极为相似的标称时延。
进一步地,在Xilinx Vivado中,布局布线约束可用以下命令完成:
LUT布局:set_property LOC;set_property BEL
LUT端口:set_property LOCK_PINS
布线:set_property FIXED_ROUTE
三、系统层
系统层设计的作用是建立CPU 21与FPGA 22之间的控制过程,使FPGA 22能为每一个激励构建一个专有的物理不可克隆函数电路。主要包括,CPU 21将激励对应的配置比特下载到FPGA 22,并且在FPGA 22已有电路在运行时,使用部分配置的方式将物理不可克隆函数电路下载到FPGA 22中,最后将PUF响应返回给CPU 21。
进一步地,为便于理解,下面以图4的系统层控制设计实例为例进行说明。图4给出了Xilinx公司CPU+FPGA集成芯片Zynq-7000的结构示意图。在该芯片中,CPU为ARM(Advanced RISC Machines)处理器,芯片内已有PCAP(Processor Configuration AccessPort)接口用于由CPU 21配置FPGA 22,只需在CPU 21上调用相应的命令,配置比特就可以通过PCAP接口传输到FPGA 22,并对FPGA 22电路进行配置。PCAP调用函数包括:
XDcfg_LookupConfig
XDcfg_CfgInitialize
XDcfg_SetLockRegister
XDcfg_EnablePCAP
XDcfg_SetControlRegister
XDcfg_IntrClear
XDcfg_Transfer
XDcfg_IntrGetStatus
进一步地,FPGA 22还挂载在ARM处理器的AXI(Advanced eXtensible Interface)总线上,物理不可克隆函数电路产生的响应便可以通过该总线传回ARM处理器中。
四、用户层
用户层规定一种基于PUF的认证等安全协议,通过输入激励与FPGA 22配置比特之间的编解码,实现对认证方透明的FPGA 22配置过程。认证方只需从预先登记的CRP中选择一个激励,并发送给带认证CPU+FPGA 22芯片,等待响应并与预先登记的CRP做比较即可。而中间过程,包括激励转换成配置比特,CPU 21将配置比特下载给FPGA 22、FPGA 22将响应返回给CPU 21,都对认证方透明。其中,激励转换成配置比特的过程既可以发生在认证方,也可以发生在CPU 21上。
进一步地,为便于理解,下面以图5的用户层协议设计实例为例进行说明。图5给出了一种激励与布局布线约束之间的编码方式,一旦确定了布局布线约束,就可以使用Xilinx Vivado工具自动生成配置比特。该激励共包括n+1个字节,前两个字节c0和c1用于设置I1和J1的布局,即在FPGA 22上的位置,更准确的说,是使用的FPGA 22LUT资源,由于LUT在FPGA 22上几乎规则分布,因此可以用LUT的坐标表示I1和J1在FPGA 22上的位置。其中,前15个比特设置I1在FPGA 22上的坐标(XI1,YI1),后1个比特设置J1的坐标(XJ1,YJ1)相对于I1的偏移量:
YJ1=YI1
若最后一个比特为0:XJ1=XI1+2
若最后一个比特为1:XJ1=XI1+4
例如,图5给出了c0c1=1111111100000001时I1的位置以及J1在I1的基础上横移4个LUT后的位置。
进一步地,对于激励中剩下的n-1个字节,每一个字节设置了两条路径上一个逻辑单元Ik和Jk的布局、输入端口和布线。其中,前4个比特设置了Ik相对于I1和Ik-1的布局偏移量:
XIk=XI1+b0
XJk=XJ1+b0
YIk=YIk-1+b1b2b3
YJk=YJk-1+b1b2b3
然后,由于每个LUT共有6个输入端口,因此b4b5b6三个比特用于决定使用的端口是哪一个。例如,当c3的b0为0时,XI3=XI1+0;b1b2b3为011时,YI3=YI2+3;b4b5b6为011时,输入端口为A3。最后,剩下一个比特b7用于选择连接两个LUT的布线方式,这里可以选择两种布线方式。
进一步地,在本实例中,激励并未提供设置FFT和FFA的比特。一旦两条路径上的I1和J1确定了布局,则FFT的布局布线就随之确定;同理,一旦两条路径上的In和Jn确定了布局,则FFA的布局布线也随之确定。
图6是本发明一种CPU+FPGA集成芯片的强PUF认证方法的流程图,该方法通过如图1所示的系统实现。CPU+FPGA集成芯片包括CPU和FPGA,该方法包括:
步骤S601,认证端从CRP数据库中获取与CPU+FPGA集成芯片对应的激励。本步骤通过如图1所示的认证端实现。
步骤S602,认证端将激励解码为配置比特发送至CPU以进行物理不可克隆函数电路配置。本步骤通过如图1所示的认证端实现。其中,激励由基于FPGA 22设计的物理不可克隆函数电路根据预定义的编码规则转换形成。激励中预定义了时延路径的FPGA逻辑单元种类、数量、连接顺序、布线方式,并预定义了时延路径之间的布局布线偏移量、仲裁器和跳变生成模块的布局布线约束。
步骤S603,FPGA上已有电路在运行中时,CPU将接收到的配置比特以部分可重构的方式在FPGA上配置物理不可克隆函数电路。本步骤通过如图1所示的CPU+FPGA集成芯片20实现。物理不可克隆函数电路包括跳变生成模块、仲裁器以及设于跳变生成模块与仲裁器之间的至少两条时延路径;物理不可克隆函数电路的时延路径之间具有相同的FPGA逻辑单元种类、数量、连接顺序和布线方式。
步骤S604,CPU+FPGA集成芯片将物理不可克隆函数电路产生的响应返回给认证端以完成认证。本步骤通过如图1所示的CPU+FPGA集成芯片20实现。
优选的是,所述方法还包括:认证端判断CPU+FPGA集成芯片返回的响应是否与激励匹配,如匹配则认证成功,否则CPU+FPGA集成芯片为无效或伪造芯片。
本发明的发明人采用了两块芯片实现了强物理不可克隆函数电路实例,对其随机性和稳定性进行了评估。
首先,随机选取了1000000个激励,分析其响应的随机性,即为0或为1的概率。随机性实验结果如图6所示,随机性都接近理想值50%。
然后,在不同的工作环境下进行实验以评估其稳定性,共考虑了9种实验环境,如表1所示,其中TI表示芯片内部温度,VS表示芯片供电电压。对每一个环境配置,每一个激励重复执行100次,一个响应的稳定性即在这100次中,不变的响应比重。稳定性实验结果如图7所示。平均而言,第一块芯片的稳定性为95.5%,第二块芯片的稳定性为95.3%。
表1稳定性评估的环境配置
T<sub>I</sub>(℃) | V<sub>S</sub>(v) | |
配置1 | 15 | 0.95 |
配置2 | 15 | 1 |
配置3 | 15 | 1.05 |
配置4 | 35 | 0.95 |
配置5 | 35 | 1 |
配置6 | 35 | 1.05 |
配置7 | 55 | 0.95 |
配置8 | 55 | 1 |
配置9 | 55 | 1.05 |
由此可见,本发明面向CPU+FPGA集成芯片的强PUF设计能够取得较好的随机性和稳定性。同时,由于FPGA 22的可重配特性,使得该PUF从以下两点也远优于现有技术:1、本发明PUF仅在需要使用时才会在FPGA 22上进行配置,对于CPU+FPGA集成芯片而言,并不需要设计额外的硬件资源;同时,由于一次只需要生成一个响应,因此单个物理不可克隆函数电路的硬件资源开销也十分小,可以对FPGA进行部分重配。2、FPGA可以配置无限多个电路结构,相比于现有技术2n个CRP共用2n个未知时延片段造成的巨大相关性,本发明PUF为每一个CRP在FPGA提供一个单独的电路,因此大幅度减少了CRP之间的相关性,提高了其抗建模攻击的能力和安全性。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (6)
1.一种CPU+FPGA集成芯片的强PUF认证方法,CPU+FPGA集成芯片包括CPU和FPGA,其特征在于,所述方法包括:
认证端从CRP数据库中获取与CPU+FPGA集成芯片对应的激励;
认证端将所述激励解码为配置比特发送至所述CPU以进行物理不可克隆函数电路配置;
当所述FPGA上已有电路在运行中时,所述CPU将接收到的所述配置比特以部分可重构的方式在所述FPGA上配置所述物理不可克隆函数电路;
所述CPU+FPGA集成芯片将物理不可克隆函数电路产生的响应返回给所述认证端以完成认证;
其中所述CPU将接收到的所述配置比特以部分可重构的方式在所述FPGA上配置所述物理不可克隆函数电路的步骤中,
所述物理不可克隆函数电路包括跳变生成模块、仲裁器以及设于所述跳变生成模块与所述仲裁器之间的至少两条时延路径;所述物理不可克隆函数电路的时延路径之间具有相同的FPGA逻辑单元种类、数量、连接顺序和布线方式;
所述认证端从CRP数据库中获取与CPU+FPGA集成芯片对应的激励的步骤中,
所述激励中预定义了所述时延路径的FPGA逻辑单元种类、数量、连接顺序、布线方式,并预定义了时延路径之间的布局布线偏移量、仲裁器和跳变生成模块的布局布线约束。
2.根据权利要求1所述的强PUF认证方法,其特征在于,所述方法还包括:
认证端判断所述CPU+FPGA集成芯片返回的响应是否与所述激励匹配,如匹配则认证成功,否则所述CPU+FPGA集成芯片为无效或伪造芯片。
3.根据权利要求1所述的强PUF认证方法,其特征在于,所述认证端从CRP数据库中获取与CPU+FPGA集成芯片对应的激励的步骤中,
所述激励由基于FPGA设计的物理不可克隆函数电路根据预定义的编码规则转换形成。
4.一种CPU+FPGA集成芯片的强PUF认证系统,其特征在于,所述系统包括认证端和CPU+FPGA集成芯片,CPU+FPGA集成芯片包括CPU和FPGA,
所述认证端,用于从CRP数据库中获取与CPU+FPGA集成芯片对应的激励,并将所述激励解码为配置比特发送至所述CPU以进行物理不可克隆函数电路配置;
所述CPU+FPGA集成芯片,用于当所述FPGA上已有电路在运行中时,通过CPU将接收到的所述配置比特以部分可重构的方式在FPGA上配置物理不可克隆函数电路,并将物理不可克隆函数电路产生的响应返回给所述认证端以完成认证;
其中所述物理不可克隆函数电路包括跳变生成模块、仲裁器以及设于所述跳变生成模块与所述仲裁器之间的至少两条时延路径;所述物理不可克隆函数电路的时延路径之间具有相同的FPGA逻辑单元种类、数量、连接顺序和布线方式;
所述激励中预定义了所述时延路径的FPGA逻辑单元种类、数量、连接顺序、布线方式,并预定义了时延路径之间的布局布线偏移量、仲裁器和跳变生成模块的布局布线约束。
5.根据权利要求4所述的强PUF认证系统,其特征在于,所述认证端还用于判断所述CPU+FPGA集成芯片返回的响应是否与所述激励匹配,如匹配则认证成功,否则所述CPU+FPGA集成芯片为无效或伪造芯片。
6.根据权利要求4所述的强PUF认证系统,其特征在于,所述激励由基于FPGA设计的物理不可克隆函数电路根据预定义的编码规则转换形成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610082885.3A CN105760786B (zh) | 2016-02-06 | 2016-02-06 | 一种cpu+fpga集成芯片的强puf认证方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610082885.3A CN105760786B (zh) | 2016-02-06 | 2016-02-06 | 一种cpu+fpga集成芯片的强puf认证方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105760786A CN105760786A (zh) | 2016-07-13 |
CN105760786B true CN105760786B (zh) | 2019-05-28 |
Family
ID=56329799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610082885.3A Active CN105760786B (zh) | 2016-02-06 | 2016-02-06 | 一种cpu+fpga集成芯片的强puf认证方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105760786B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108696390A (zh) * | 2018-05-09 | 2018-10-23 | 济南浪潮高新科技投资发展有限公司 | 一种软件定义的网络安全设备和方法 |
CN109086631B (zh) * | 2018-06-27 | 2021-08-10 | 宁波大学 | 一种抗模型攻击的强/弱混合型puf电路 |
CN109002883B (zh) * | 2018-07-04 | 2020-12-29 | 中国科学院计算技术研究所 | 卷积神经网络模型计算装置及计算方法 |
CN109581183B (zh) * | 2018-10-23 | 2020-07-10 | 中国科学院计算技术研究所 | 一种集成电路的安全测试方法与系统 |
CN109495272B (zh) * | 2018-10-31 | 2021-04-30 | 复旦大学 | 一种基于忆阻器的强puf电路 |
CN109818755A (zh) * | 2019-03-08 | 2019-05-28 | 湖南第一师范学院 | 一种透明双因子认证系统及方法 |
CN110430056A (zh) * | 2019-09-10 | 2019-11-08 | 广州麦仑信息科技有限公司 | 一种基于fpga的物理不可克隆函数加密技术实现方法 |
CN111259416A (zh) * | 2020-01-13 | 2020-06-09 | 湖北大学 | 一种基于fpga的多算法安全加密认证系统及认证方法 |
CN111291523A (zh) * | 2020-01-16 | 2020-06-16 | 南京航空航天大学 | 一种基于动态可重构技术实现puf的系统及方法 |
CN112653696B (zh) * | 2020-12-22 | 2023-10-10 | 深圳市国微电子有限公司 | 一种3d堆叠芯片的安全认证系统、方法 |
US11379125B1 (en) | 2021-03-31 | 2022-07-05 | International Business Machines Corporation | Trusted field programmable gate array |
FR3124870B1 (fr) * | 2021-06-30 | 2024-04-12 | Electricite De France | Procédé et système d’authentification par un équipement vérificateur d’un dispositif à authentifier équipé d’un circuit PUF |
CN115659886B (zh) * | 2022-12-27 | 2023-04-07 | 南京航空航天大学 | 基于超频状态dec电路时序错误的软件puf配置方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090083833A1 (en) * | 2007-09-19 | 2009-03-26 | Verayo, Inc. | Authentication with physical unclonable functions |
US8274306B1 (en) * | 2011-03-31 | 2012-09-25 | The United States Of America As Represented By The Secretary Of The Navy | Electronic logic circuit with physically unclonable function characteristics |
CN104782076A (zh) * | 2012-10-19 | 2015-07-15 | 西门子公司 | 使用puf用于检验认证、尤其是用于防止对ic或控制设备的功能的未获得授权的访问 |
-
2016
- 2016-02-06 CN CN201610082885.3A patent/CN105760786B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090083833A1 (en) * | 2007-09-19 | 2009-03-26 | Verayo, Inc. | Authentication with physical unclonable functions |
US8274306B1 (en) * | 2011-03-31 | 2012-09-25 | The United States Of America As Represented By The Secretary Of The Navy | Electronic logic circuit with physically unclonable function characteristics |
CN104782076A (zh) * | 2012-10-19 | 2015-07-15 | 西门子公司 | 使用puf用于检验认证、尤其是用于防止对ic或控制设备的功能的未获得授权的访问 |
Non-Patent Citations (3)
Title |
---|
A robust authentication methodology using physically unclonable functions in DRAM arrays;Maryam S. Hashemian等;《Proceedings of the 2015 Design, Automation & Test in Europe Conference & Exhibition》;20150313;全文 * |
Extended abstract: The butterfly PUF protecting IP on every FPGA;Sandeep S. Kumar等;《Hardware-Oriented Security and Trust, 2008》;20080709;全文 * |
Hacking and protecting IC hardware;Said Hamdioui;《Proceedings of the conference on Design, Automation & Test in Europe》;20140328;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN105760786A (zh) | 2016-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105760786B (zh) | 一种cpu+fpga集成芯片的强puf认证方法及系统 | |
Zhang et al. | Physical unclonable function-based key sharing via machine learning for IoT security | |
Gao et al. | PUF-FSM: a controlled strong PUF | |
US10366253B2 (en) | Reliability enhancement methods for physically unclonable function bitstring generation | |
US10630492B2 (en) | Device and method for testing a physically unclonable function | |
Majzoobi et al. | Slender PUF protocol: A lightweight, robust, and secure authentication by substring matching | |
US8782396B2 (en) | Authentication with physical unclonable functions | |
US9729317B2 (en) | Optical physical uncloneable function | |
Vijay et al. | Physically unclonable functions using two-level finite state machine | |
US20160267266A1 (en) | Electronic circuit, authentication system, and authentication method | |
JPWO2012001796A1 (ja) | 個体別情報生成装置及び個体別情報生成方法 | |
US9384682B2 (en) | Electronic circuit, electronic apparatus, and authentication system | |
Ardakani et al. | Improving performance of FPGA-based SR-latch PUF using Transient Effect Ring Oscillator and programmable delay lines | |
Hemavathy et al. | Arbiter PUF-a review of design, composition, and security aspects | |
Habib et al. | Implementation of efficient SR-Latch PUF on FPGA and SoC devices | |
Zalivaka et al. | FPGA implementation of modeling attack resistant arbiter PUF with enhanced reliability | |
Dey et al. | PUF based hardware security: A review | |
Huang et al. | Lightweight hardware based secure authentication scheme for fog computing | |
Kokila et al. | Enhanced authentication using hybrid PUF with FSM for protecting IPs of SoC FPGAs | |
CN110545184B (zh) | 通讯系统及操作通讯系统的方法 | |
Kareem et al. | Towards performance optimization of ring oscillator PUF using Xilinx FPGA | |
Yang et al. | A low resource consumption Arbiter PUF improved switch component design for FPGA | |
Goncu et al. | A design of cellular automata‐based PUF and its implementation on FPGA | |
Bai et al. | PUF‐based encryption method for IC cards on‐chip memories | |
Ye et al. | Polymorphic PUF: Exploiting reconfigurability of CPU+ FPGA SoC to resist modeling attack |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20160713 Assignee: Zhongke Jianxin (Beijing) Technology Co.,Ltd. Assignor: Institute of Computing Technology, Chinese Academy of Sciences Contract record no.: X2022990000752 Denomination of invention: A Strong PUF Authentication Method and System for CPU+FPGA Integrated Chips Granted publication date: 20190528 License type: Exclusive License Record date: 20221009 |
|
EE01 | Entry into force of recordation of patent licensing contract |