[go: up one dir, main page]

CN112272084B - Anti-attack and self-checking characteristic key generation system and method based on composite PUF - Google Patents

Anti-attack and self-checking characteristic key generation system and method based on composite PUF Download PDF

Info

Publication number
CN112272084B
CN112272084B CN202011031519.8A CN202011031519A CN112272084B CN 112272084 B CN112272084 B CN 112272084B CN 202011031519 A CN202011031519 A CN 202011031519A CN 112272084 B CN112272084 B CN 112272084B
Authority
CN
China
Prior art keywords
output
puf
flip
module
self
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
Application number
CN202011031519.8A
Other languages
Chinese (zh)
Other versions
CN112272084A (en
Inventor
梁润华
钟鸣
何柏声
蔡述庭
熊晓明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong University of Technology
Original Assignee
Guangdong University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong University of Technology filed Critical Guangdong University of Technology
Priority to CN202011031519.8A priority Critical patent/CN112272084B/en
Publication of CN112272084A publication Critical patent/CN112272084A/en
Application granted granted Critical
Publication of CN112272084B publication Critical patent/CN112272084B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

The invention discloses a key generation system based on a compound PUF (physical unclonable function) with anti-attack and self-checking characteristics, which comprises a first-level PUF circuit module, an excitation generation module, a second-level PUF circuit module and a result output module, wherein: the first-level PUF circuit module receives original excitation and generates an output response with N bits, and registers the response in a register group; the excitation generation module receives the output response of the first-level PUF circuit module as a reset signal, and generates pseudo-random output according to the configured primitive polynomial after the reset is completed; the second-level PUF circuit module comprises two D trigger-based arbiter type PUF circuits with self-checking circuits, receives the pseudo-random output from the m-sequence generator as input excitation, and respectively and independently generates a response and a reliable mark; and the result output module uses the last bit signal from the m-sequence generator as a selection control signal to selectively output the response of the output result of the second-level PUF circuit module and the reliable mark.

Description

抗攻击和自检特性的基于复合型PUF的密钥生成系统及方法Composite PUF-based key generation system and method with anti-attack and self-inspection characteristics

技术领域technical field

本发明涉及通信技术领域,具体涉及一种抗攻击和自检特性的基于复合型PUF的密钥生成方法。The invention relates to the technical field of communication, in particular to a compound PUF-based key generation method with the characteristics of anti-attack and self-inspection.

背景技术Background technique

近些年随着物联网和智能终端的快速发展,信息安全的问题逐渐得到越来越多用户的关注。一般涉及到信息安全问题都离不开密码学中的加解密算法,对于大多数加密应用而言,一个必不可少的前提是可以安全地生成、存储和检索密钥。无论是基于软件实现还是基于软件实现的加密运算系统,密钥都是整个加密运算系统的核心。一般的具有加密功能的嵌入式设备中,密钥都是存储在非易失性的存储器中,很容易遭受到侵入式攻击或半侵入式攻击等手段的威胁,造成密钥的泄露、被篡改等安全问题的发生。In recent years, with the rapid development of the Internet of Things and smart terminals, the issue of information security has gradually attracted more and more users' attention. Generally, information security issues are inseparable from encryption and decryption algorithms in cryptography. For most encryption applications, an essential premise is that keys can be safely generated, stored, and retrieved. Regardless of whether it is based on software or an encryption operation system based on software, the key is the core of the entire encryption operation system. In general embedded devices with encryption functions, the keys are stored in non-volatile memory, which is easily threatened by intrusive attacks or semi-intrusive attacks, resulting in the leakage and tampering of the keys. and other security issues.

物理不可克隆函数PUF是一种依赖于芯片自身物理特性的硬件函数实现电路,具有不可克隆性和不可预测性,可以用于密钥生成。不过随着PUF的概念的提出,针对PUF的攻击手段也一直层出不穷,例如测信道攻击和机器学习建模攻击,不少攻击技术已经证明可以破解PUF结构。为了提高单一PUF结构抗攻击的性能,在本方案中使用PicoPUF和基于D触发器的仲裁器型PUF构成两级复合型PUF作为密钥的生成结构。同时,为了使得激励的产生也具备随机性,进一步提高安全性,使用易于实现的m序列发生器代替状态机控制激励的产生。Physical Unclonable Function PUF is a hardware function implementation circuit that depends on the physical characteristics of the chip itself. It is unclonable and unpredictable and can be used for key generation. However, with the introduction of the concept of PUF, attack methods against PUF have been emerging in an endless stream, such as channel measurement attack and machine learning modeling attack. Many attack technologies have been proved to be able to crack the PUF structure. In order to improve the anti-attack performance of a single PUF structure, in this scheme, PicoPUF and arbiter-type PUF based on D flip-flops are used to form a two-stage composite PUF as the key generation structure. At the same time, in order to make the generation of incentives also have randomness and further improve security, an easy-to-implement m-sequence generator is used instead of a state machine to control the generation of incentives.

虽然使用PUF来产生密钥具有不用保存、容易获得、由工艺偏差决定、激励响应对独特且不可预测等优点,但由于其电路本身结构较为特殊,其输出就不可避免的会被芯片周围工况(电压、温度等)改变所影响,所以PUF电路的输出是包含噪声的。在传统密码学中,基于对密码算法安全性的考虑,必须保证其算法的密钥是可靠、稳定、且随机的,因此PUF电路的输出是无法达到直接作为密钥的要求的。现有的解决方案通常是通过引入输出纠错技术,但会产生新的问题:纠错技术会带来巨大的执行开销和资源占用,对软硬件资源有限的中小型嵌入式设备不适用。Although the use of PUF to generate keys has the advantages of no need to save, easy to obtain, determined by process deviation, unique and unpredictable stimulus response pairs, but due to the special structure of the circuit itself, its output will inevitably be affected by the working conditions around the chip. (Voltage, temperature, etc.) are affected by changes, so the output of the PUF circuit contains noise. In traditional cryptography, based on the consideration of the security of the cryptographic algorithm, it is necessary to ensure that the key of the algorithm is reliable, stable, and random, so the output of the PUF circuit cannot meet the requirement of being directly used as the key. Existing solutions are usually by introducing output error correction technology, but new problems will arise: error correction technology will bring huge execution overhead and resource occupation, which is not suitable for small and medium-sized embedded devices with limited hardware and software resources.

发明内容Contents of the invention

本发明提出了一种抗攻击和自检特性的基于复合型PUF的密钥生成方法,为了兼顾PUF输出的可靠性以及减少资源的使用,在本方案中通过引入自检的机制判断当前PUF的输出是否可靠,若是不可靠则放弃使用当前响应输出作为加密算法的密钥。The present invention proposes a compound PUF-based key generation method with anti-attack and self-inspection characteristics. In order to take into account the reliability of PUF output and reduce the use of resources, in this solution, the self-inspection mechanism is introduced to judge the current PUF Whether the output is reliable, if it is unreliable, give up using the current response output as the key of the encryption algorithm.

为了实现上述任务,本发明采用以下技术方案:In order to achieve the above tasks, the present invention adopts the following technical solutions:

一种抗攻击和自检特性的基于复合型PUF的密钥生成系统,包括第一级PUF电路模块、激励发生模块、第二级PUF电路模块以及结果输出模块,其中:A composite PUF-based key generation system with anti-attack and self-inspection features, including a first-level PUF circuit module, an excitation generation module, a second-level PUF circuit module, and a result output module, wherein:

所述第一级PUF电路模块包括并行设置的N个PicoPUF电路,所述PicoPUF电路用于接收原始激励并产生N比特的输出响应,并将响应寄存在寄存器组中;The first-level PUF circuit module includes N PicoPUF circuits arranged in parallel, the PicoPUF circuit is used to receive the original stimulus and generate an N-bit output response, and store the response in the register group;

所述激励发生模块包括m序列发生器,所述m序列发生器用于接收第一级PUF电路模块输出响应作为复位信号,复位完成后根据配置的本原多项式产生伪随机输出;The excitation generation module includes an m-sequence generator, and the m-sequence generator is used to receive the output response of the first-stage PUF circuit module as a reset signal, and after the reset is completed, a pseudo-random output is generated according to the configured primitive polynomial;

所述第二级PUF电路模块包括两个基于D触发器的仲裁器型PUF电路,所述基于D触发器的仲裁器PUF的电路中设置有自检电路;所述两个基于D触发器的仲裁器型PUF电路接收来自m序列发生器的伪随机输出作为输入激励,分别独自产生响应和可靠标志;The second-stage PUF circuit module includes two D flip-flop-based arbiter-type PUF circuits, and a self-test circuit is set in the D flip-flop-based arbiter PUF circuit; the two D flip-flop-based The arbiter-type PUF circuit receives the pseudo-random output from the m-sequence generator as an input stimulus, and generates a response and a reliable flag independently;

所述结果输出模块包括两个选择器,利用来自m序列发生器的末位信号作为选择控制信号对第二级PUF电路模块输出结果的响应和可靠标志进行选择输出。The result output module includes two selectors, which use the last bit signal from the m-sequence generator as a selection control signal to select and output the response and reliability flag of the output result of the second-stage PUF circuit module.

进一步地,所述第一级PUF电路模块中的PicoPUF电路包括D触发器①、D触发器②、SR锁存器③、数据选择器④,其中:Further, the PicoPUF circuit in the first-level PUF circuit module includes a D flip-flop ①, a D flip-flop ②, an SR latch ③, and a data selector ④, wherein:

D触发器①②在接收到复位信号clear时,Q端口复位为0;然后,D触发器①②在start信号的作用下发生翻转,与之相连的SR锁存器③会区分出这两个触发器翻转信号到达的先后顺序,从而稳定地输出0或1;通过原始激励的在数据选择器④的选择作用下,可以对SR锁存器④上下两端的信号进行选择输出。When the D flip-flop ①② receives the reset signal clear, the Q port is reset to 0; then, the D flip-flop ①② flips under the action of the start signal, and the SR latch ③ connected to it will distinguish the two flip-flops Reverse the order of arrival of the signals, so as to stably output 0 or 1; under the selection of the data selector ④ through the original excitation, the signals at the upper and lower ends of the SR latch ④ can be selected and output.

进一步地,所述激励发生模块中的m序列发生器包括由线性反馈移位寄存器构成的电路结构,所述电路结构包括N个D触发器构成的线性反馈移位寄存器以及N个反馈系数g配置寄存器;其中,第i(i=1…N)个D触发器的Q端口输出和第i个g进行异或后作为第i+1个D触发器D端口的输入。Further, the m-sequence generator in the excitation generating module includes a circuit structure composed of a linear feedback shift register, and the circuit structure includes a linear feedback shift register composed of N D flip-flops and N feedback coefficient g configurations A register; wherein, the output of the Q port of the i (i=1...N) D flip-flop and the i-th g are XORed and used as the input of the D port of the i+1 D flip-flop.

进一步地,来自第一级PUF电路模块的输出响应作为置位信号,初始化m序列发生器;在时钟CLK的驱动下,每个时钟周期D触发的Q端口发生变化,构成伪随机作为m序列发生器的输出;反馈系数g需要依据本原多项式来进行取值,当取值为1时表示存在该路径的反馈,反之则表示不存在。Further, the output response from the first-stage PUF circuit module is used as a set signal to initialize the m-sequence generator; driven by the clock CLK, the Q port triggered by each clock cycle D changes, forming a pseudo-random as an m-sequence The output of the controller; the feedback coefficient g needs to be valued according to the primitive polynomial. When the value is 1, it means that the feedback of the path exists, otherwise, it means that it does not exist.

进一步地,所述第二级PUF电路模块中,基于D触发器的仲裁器型PUF电路中的自检电路包括延时模块和自检模块,延时模块包括数据选择器①②③和延迟单元⑨,自检模块包括1-2数据分配器④⑤、数据选择器⑥、寄存器⑦⑧;Further, in the second-stage PUF circuit module, the self-inspection circuit in the D flip-flop-based arbiter-type PUF circuit includes a delay module and a self-inspection module, and the delay module includes a data selector ①②③ and a delay unit ⑨, The self-test module includes 1-2 data distributor ④ ⑤, data selector ⑥, register ⑦ ⑧;

对于延时模块,来自路径1的延时数据分别连接到数据选择器①②的1端口,来自路径2的延时数据分别连接到数据选择器①③的0端口和1端口;数据选择器①的输出经过延迟单元⑨后分别连接到数据选择器②③的0端口;For the delay module, the delay data from path 1 are respectively connected to port 1 of data selector ①②, and the delay data from path 2 are respectively connected to port 0 and port 1 of data selector ①③; the output of data selector ① After passing through the delay unit ⑨, they are respectively connected to the 0 port of the data selector ②③;

对于自检模块,仲裁器D触发器的输出响应经1-2数据分配器④后1输出端和0输出端分别连接到寄存器⑦和1-2数据分配器⑤的输入端;1-2数据分配器⑤的1输出端连接到数据选择器⑥的1端口,0输出端和寄存器⑧的输出同或后连接到数据选择器⑥的0端口;数据选择器⑥的输出端连接到寄存器⑧的输入端口。For the self-test module, the output response of the arbiter D flip-flop is connected to the register ⑦ and the input of the 1-2 data distributor ⑤ after the 1-2 data distributor ④, and the 1 output and 0 output are respectively connected; The 1 output of the distributor ⑤ is connected to the 1 port of the data selector ⑥, and the 0 output and the output of the register ⑧ are connected to the 0 port of the data selector ⑥; the output of the data selector ⑥ is connected to the register ⑧ input port.

进一步地,由所述延时模块和自检模块共同构成的可靠性自检机制的工作过程为:Further, the working process of the reliability self-inspection mechanism composed of the delay module and the self-inspection module is:

a)当K1=1,K2=1时,系统为正常工作状态,此时路径1和路径2的延时分别通过数据选择器②③到达D触发器的数据端口和时钟端口,触发器的输出响应经1-2数据分配器④后存储在寄存器REG1中;a) When K1=1, K2=1, the system is in the normal working state. At this time, the delay of path 1 and path 2 reaches the data port and clock port of the D flip-flop respectively through the data selector ②③, and the output response of the flip-flop Stored in the register REG1 after the 1-2 data distributor ④;

b)当K1=0,K2=1,S=1时,系统为自检工作状态,路径1的延迟加上延迟单元⑨的延时值Tc后通过数据选择器②到达D触发器的数据端口,路径2不变;此时,触发器的输出响应经1-2数据分配器④和数据选择器⑥后存储在寄存器REG2中;b) When K1=0, K2=1, S=1, the system is in the self-checking working state, the delay of path 1 plus the delay value Tc of delay unit ⑨ passes through the data selector ② and reaches the data of the D flip-flop Port, path 2 remains unchanged; at this time, the output response of the flip-flop is stored in the register REG2 after passing through the 1-2 data distributor ④ and the data selector ⑥;

c)当K1=1,K2=0,S=0时,系统为自检工作状态,路径2的延迟加上延迟单元⑨的延时值Tc后通过数据选择器③到D触发器的时钟端口,路径1不变;此时,触发器的输出响应经1-2数据分配器④后与来自寄存器REG2的值进行同或操作,操作的结果通过数据选择器⑥后存储在寄存器REG2中;c) When K1=1, K2=0, S=0, the system is in the self-test working state, the delay of path 2 plus the delay value T c of the delay unit ⑨ passes through the data selector ③ to the clock of the D flip-flop Port, path 1 remains unchanged; at this time, the output response of the flip-flop is ORed with the value from register REG2 after passing through 1-2 data distributor ④, and the result of the operation is stored in register REG2 after passing through data selector ⑥;

d)寄存器REG1中的结果为原始输入激励的输出响应,寄存器REG1中的结果为可靠标志;当可靠标志为1时,说明输入激励-输出响应是可靠的,反之则不可靠;d) The result in register REG1 is the output response of the original input stimulus, and the result in register REG1 is a reliable flag; when the reliable flag is 1, it means that the input stimulus-output response is reliable, otherwise it is unreliable;

其中S为数据选择器①、数据分配器⑤、数据选择器⑥的输入信号,K1是数据选择器②和数据分配器④的输入信号,K2是数据选择器③和数据分配器④的输入信号。Among them, S is the input signal of data selector ①, data distributor ⑤, data selector ⑥, K1 is the input signal of data selector ② and data distributor ④, K2 is the input signal of data selector ③ and data distributor ④ .

一种抗攻击和自检特性的基于复合型PUF的密钥生成方法,包括以下步骤:A compound PUF key generation method based on anti-attack and self-inspection characteristics, comprising the following steps:

(1)选择本原多项式对m序列发生器的反馈系数g的寄存器进行配置;(1) select the original polynomial to configure the register of the feedback coefficient g of the m-sequence generator;

(2)将原始输入激励作为复合型PUF的第一级PUF电路模块的输入激励,每1bit的原始输入激励对应每一个PicoPUF的输入激励;首先通过clear信号对每一个PicoPUF进行复位,接着通过start信号的上升沿给每一个PicoPUF输入信号。在输入激励的选择下,对SR锁存器的输出进行选择输出;(2) The original input excitation is used as the input excitation of the first-stage PUF circuit module of the composite PUF, and each 1-bit original input excitation corresponds to the input excitation of each PicoPUF; first reset each PicoPUF through the clear signal, and then pass the start The rising edge of the signal gives each PicoPUF input signal. Under the selection of the input excitation, the output of the SR latch is selected and output;

(3)第一级PUF电路模块输出64bit数据长度的响应,为了保持数据的稳定性,将第一级PUF的输出响应结果存储在寄存器REG中;(3) The first-stage PUF circuit module outputs a response of 64bit data length, in order to maintain the stability of the data, the output response result of the first-stage PUF is stored in the register REG;

(4)使用寄存器REG中的结果作为m序列发生器的置位值,初始化激励发生模块;m序列发生器在时钟信号的驱动下产生伪随机数输出,将该变化的输出作为第二级PUF电路模块的输入激励;(4) Use the result in the register REG as the set value of the m-sequence generator to initialize the excitation generation module; the m-sequence generator generates a pseudo-random number output under the drive of the clock signal, and the changed output is used as the second-stage PUF Input excitation of the circuit module;

(5)第二级PUF电路模块的两个基于D触发器的仲裁器型PUF电路接受相同的输入激励,为m序列发生器产生的伪随机数输出结果;(5) The two arbiter-type PUF circuits based on D flip-flops of the second-stage PUF circuit module receive the same input excitation, and output results of pseudo-random numbers generated by the m-sequence generator;

(6)第二级PUF电路模块的输出响应和可靠性标志作为结果输出模块的输入,依据m序列发生器的输出,对第二级PUF电路模块的输出响应和可靠性标志进行选择输出;(6) The output response and the reliability sign of the second-stage PUF circuit module are used as the input of the result output module, and the output response and the reliability sign of the second-stage PUF circuit module are selectively output according to the output of the m-sequence generator;

(7)如果结果输出模块的可靠性标志F为1,说明当前选择输出的响应R是可靠的,可将其作为密钥的其中1比特数据;如果结果输出模块的可靠性标志F为0,说明当前选择输出的响应R是不可靠的,放弃当前的输出响应R,等待下一次来自m序列发生器的输入激励信号。(7) If the reliability flag F of the result output module is 1, it means that the currently selected output response R is reliable, and it can be used as 1-bit data of the key; if the reliability flag F of the result output module is 0, It shows that the current selected output response R is unreliable, give up the current output response R, and wait for the next input excitation signal from the m-sequence generator.

与现有技术相比,本发明具有以下技术特点:Compared with the prior art, the present invention has the following technical characteristics:

1.使用物理不可克隆函数PUF利用工艺的偏差来产生密钥,避免将密钥存储在存器中带来密钥泄露、篡改的信息安全问题。1. Use the physical unclonable function PUF to use the deviation of the process to generate the key, avoiding the information security problems of key leakage and tampering caused by storing the key in the memory.

2.为了避免单一PUF容易遭受侧信道攻击以及机器学习攻击等手段的攻击,提高系统的抗攻击性能,使用复合型PUF结构代替单一结构PUF,使得PUF结构变得更加复杂,能够以更小的硬件资源消耗获得更高的安全性能。2. In order to prevent a single PUF from being easily attacked by means of side channel attacks and machine learning attacks, and to improve the anti-attack performance of the system, a composite PUF structure is used instead of a single structure PUF, which makes the PUF structure more complex and can be used in a smaller Hardware resource consumption for higher security performance.

3.使用m序列发生器作为激励产生的控制器,满足匹配不同长度密钥的需求。3. Use the m-sequence generator as the controller for excitation generation to meet the requirements of matching keys of different lengths.

4.为了兼顾中小型嵌入式设备即要获得高可靠性的密钥又要减少资源消耗,在硬件电路中引入自检机制,在不需要使用纠错技术的前提下也可以获得高可靠性的算法密钥,适合中小型嵌入式设备的使用需求。4. In order to take into account that small and medium-sized embedded devices need to obtain high-reliability keys and reduce resource consumption, a self-test mechanism is introduced in the hardware circuit, and high-reliability keys can also be obtained without using error correction technology. Algorithm key, suitable for use needs of small and medium-sized embedded devices.

附图说明Description of drawings

图1为本发明提出的抗攻击和自检特性的基于复合型PUF的密钥生成系统的结构示意图;Fig. 1 is the structural representation of the key generation system based on composite PUF of anti-attack and self-inspection characteristic that the present invention proposes;

图2为单个PicoPUF电路结构示意图;Figure 2 is a schematic diagram of a single PicoPUF circuit structure;

图3为m序列发生器电路结构示意图;Fig. 3 is a schematic diagram of the circuit structure of the m-sequence generator;

图4为基于D触发器的仲裁器型PUF电路结构示意图;4 is a schematic structural diagram of an arbiter-type PUF circuit based on a D flip-flop;

图5为具有自检结构的基于D触发的仲裁器型PUF电路结构示意图。FIG. 5 is a schematic structural diagram of an arbiter-type PUF circuit based on a D trigger with a self-checking structure.

具体实施方式Detailed ways

请参阅图1,本发明提出了一种抗攻击和自检特性的基于复合型PUF的密钥生成系统,系统可分为4个部分,分别为:1.由64个PicoPUF+64bit触发器构成的第一级PUF电路模块;2.由m序列发生器构成的激励发生模块;3.由两个具有自检结构的基于D触发的仲裁器型PUF构成的第二级PUF电路模块;4.由两个选择器构成结果输出模块。Please refer to Fig. 1, the present invention proposes a key generation system based on composite PUF with anti-attack and self-inspection characteristics, the system can be divided into 4 parts, which are respectively: 1. Consists of 64 PicoPUF+64bit triggers 2. An excitation generation module composed of an m-sequence generator; 3. A second-stage PUF circuit module composed of two D-triggered arbiter-type PUFs with a self-test structure; 4. The result output module is composed of two selectors.

PicoPUF结构简单,具备很好的可靠性和唯一性,利用64个PicoPUF电路并行构成复合型PUF密钥生成系统的第一级PUF电路模块,在接收64bit原始激励后产生64bit的输出响应;为了保持输出响应的稳定,将结果寄存在寄存器组REG中。The structure of PicoPUF is simple, with good reliability and uniqueness. 64 PicoPUF circuits are used in parallel to form the first-level PUF circuit module of the composite PUF key generation system, which generates a 64-bit output response after receiving the 64-bit original stimulus; in order to maintain The output response is stable, and the result is stored in the register group REG.

m序列发生器由线性反馈移位寄存器构成,接收第一级PUF电路输出响应作为复位信号,复位完成后根据配置的本原多项式产生伪随机输出;m序列发生器既能产生具备随机性的输出数据,又能根据复位信号产生规律性的输出,在方案中使用该结构在避免密钥存储的同时又满足密钥的随用随取的需求。The m-sequence generator is composed of a linear feedback shift register, and receives the output response of the first-stage PUF circuit as a reset signal. After the reset is completed, a pseudo-random output is generated according to the configured primitive polynomial; the m-sequence generator can generate a random output The data can also generate regular output according to the reset signal. This structure is used in the scheme to avoid key storage and at the same time meet the demand for keys to be retrieved at any time.

具有自检结构的基于D触发的仲裁器型PUF,在传统的基于D触发器的仲裁器PUF的电路结构上引入自检电路结构,提供一种简单的可靠性检验的方法。利用两个具有自检结构的基于D触发的仲裁器型PUF构成第二级PUF电路模块,接收相同的来自m序列发生器的伪随机输出作为输入激励,分别独自产生响应和可靠标志。The D-trigger-based arbiter-type PUF with a self-test structure introduces a self-test circuit structure into the traditional D-trigger-based arbiter PUF circuit structure, providing a simple method for reliability testing. Two D-trigger-based arbiter-type PUFs with self-checking structure are used to form the second-stage PUF circuit module, which receives the same pseudo-random output from the m-sequence generator as input excitation, and generates responses and reliable signs independently.

由两个选择器构成的结果输出模块,利用来自m序列发生器的末位信号作为选择控制信号对第二级PUF电路模块的响应和可靠标志进行选择输出。对于机器学习建模攻击,使用该简单结构提高了系统的复杂性,增加了破解的难度,以获得更高的安全性能。The result output module composed of two selectors uses the last bit signal from the m-sequence generator as a selection control signal to select and output the response and reliability flag of the second-stage PUF circuit module. For machine learning modeling attacks, using this simple structure increases the complexity of the system and increases the difficulty of cracking to obtain higher security performance.

下面结合附图对本发明的各个部分进行详细说明。Each part of the present invention will be described in detail below in conjunction with the accompanying drawings.

1.第一级PUF电路模块1. The first stage PUF circuit module

第一级PUF电路模块主要包括64个PicoPUF,单个PicoPUF电路的结构如图2所示,该结构包括:The first-level PUF circuit module mainly includes 64 PicoPUFs. The structure of a single PicoPUF circuit is shown in Figure 2. The structure includes:

D触发器①、D触发器②、SR锁存器③、数据选择器④。其中,两个D触发的Q′端口连接到自身的D端口,Q端口分别连接到SR锁存器③的S端口和R端口,SR锁存器的输出分别连接到数据选择器④的1端口和0端口。D flip-flop ①, D flip-flop ②, SR latch ③, data selector ④. Among them, the Q' ports of the two D triggers are connected to their own D ports, the Q ports are respectively connected to the S port and the R port of the SR latch ③, and the outputs of the SR latch are respectively connected to the 1 port of the data selector ④ and 0 ports.

该部分的设计原理是,D触发器①②在start信号的触发下发生翻转,SR锁存器对D触发器翻转后的结果进行锁存,在经过原始信号作为选择信号的数据选择器④的选择作用下,输出响应R′。The design principle of this part is that the D flip-flop ①② flips under the trigger of the start signal, and the SR latch latches the result after the flip of the D flip-flop. After the original signal is used as the selection signal of the data selector ④ selection Under the action, the output responds to R'.

该部分电路的详细工作过程为:首先,D触发器①②在接收到复位信号clear时,Q端口复位为0;然后,D触发器①②在start信号的作用下发生翻转,由于制造工艺上的差异,导致两个D触发器①②的翻转速度略有区别,与之相连的SR锁存器③会区分出这两个触发器翻转信号到达的先后顺序,从而稳定地输出0或1。最后,通过原始激励的在数据选择器④的选择作用下,可以对SR锁存器④上下两端的信号进行选择输出。The detailed working process of this part of the circuit is as follows: first, when the D flip-flop ①② receives the reset signal clear, the Q port is reset to 0; then, the D flip-flop ①② flips under the action of the start signal, due to the difference in the manufacturing process , resulting in a slight difference in the flipping speeds of the two D flip-flops ①②, and the SR latch ③ connected to it will distinguish the order in which the flip-flop signals of the two flip-flops arrive, thus stably outputting 0 or 1. Finally, under the selection of the data selector ④ through the original excitation, the signals at the upper and lower ends of the SR latch ④ can be selected and output.

由于PicoPUF电路属于弱PUF,只接收一个激励信号并产生一个输出响应,消耗资源少。同时由于其具备很好的可靠性和唯一性,故在本方案中将其作为复合型PUF结构的第一级PUF电路结构。Since the PicoPUF circuit is a weak PUF, it only receives one stimulus signal and generates one output response, consuming less resources. At the same time, because of its good reliability and uniqueness, it is used as the first-level PUF circuit structure of the composite PUF structure in this solution.

2.激励发生模块2. Excitation generation module

基于m序列的发生器的激励发生模块,其核心为由线性反馈移位寄存器构成的电路结构,如图3所示。The core of the excitation generation module based on the m-sequence generator is a circuit structure composed of a linear feedback shift register, as shown in Figure 3.

根据图1基于复合型PUF的密钥生成系统,图3中的系数N取64。该电路包括64个D触发器构成的线性反馈移位寄存器以及64个反馈系数g配置寄存器。其中,第i(i=1…N)个D触发器的Q端口输出和gi进行异或后作为第i+1个D触发器D端口的输入。According to the key generation system based on composite PUF in Figure 1, the coefficient N in Figure 3 is 64. The circuit includes a linear feedback shift register composed of 64 D flip-flops and 64 feedback coefficient g configuration registers. Wherein, the output of the Q port of the i-th (i=1...N) D flip-flop and gi are XORed and used as the input of the D port of the i+1-th D flip-flop.

该部分的设计原理是,来自第一级PUF电路模块的输出响应作为置位信号,初始化m序列发生器。在时钟CLK的驱动下,每个时钟周期D触发的Q端口发生变化,由{Q1,Q2,…Q64}构成的伪随机作为m序列发生器的输出。g为反馈系数,需要依据本原多项式来进行取值,当取值为1时表示存在该路径的反馈,反之则表示不存在。The design principle of this part is that the output response from the first-stage PUF circuit module is used as a set signal to initialize the m-sequence generator. Driven by the clock CLK, the Q port triggered by each clock cycle D changes, and the pseudo-random composed of {Q1, Q2, ... Q64} is the output of the m-sequence generator. g is the feedback coefficient, which needs to be valued according to the original polynomial. When the value is 1, it means that there is feedback on this path, otherwise, it means that it does not exist.

由于基于D触发器的仲裁器型PUF需要多bit的输入激励响应才能获得1比特的输出响应,需要引入一个策略来自动为基于D触发器的仲裁器型PUF产生多组输入激励以获得不同长度的输出响应,方案中采用了m序列发生器替代手动输入的方式。对于相同N取值,对应有不同的本原多项式,根据不同本原多项式对反馈系数g进行配置,进一步增加了系统的复杂性,获得更高的安全性能。Since the D flip-flop-based arbiter-type PUF requires multi-bit input stimulus responses to obtain a 1-bit output response, a strategy needs to be introduced to automatically generate multiple sets of input stimulus for the D-trigger-based arbiter-type PUF to obtain different lengths The output response of the program uses the m-sequence generator instead of manual input. For the same value of N, corresponding to different primitive polynomials, the feedback coefficient g is configured according to different primitive polynomials, which further increases the complexity of the system and obtains higher security performance.

3.第二级PUF电路模块3. The second stage PUF circuit module

传统的基于D触发器的仲裁器型PUF,其电路结构如图4所示。主要是利用了电路中线路延迟在制造过程中不可避免存在差异的特性。The circuit structure of a traditional D flip-flop-based arbiter-type PUF is shown in Figure 4. It mainly utilizes the characteristics that the line delay in the circuit inevitably has differences in the manufacturing process.

该部分的设计原理是,电路通过级联多个开关延迟模块形成两条完全对称的延迟通路,每一次开关延迟模型包含两个对称的延迟单元,根据选择信号的不同,两输入信号分别经过不同的延迟单元到达输出。由于芯片在制造过程中存在工艺的偏差,故在理想状态下本应该对称的两条路径的延迟时间存在一定的偏差,导致到达D触发器的时间不同。当到达D触发器数据端口的路径迟于到达时钟端口的路径时,输出0信号;当到达D触发器的数据端口的路径早于到达时钟端口的路径时,输出1信号。The design principle of this part is that the circuit forms two completely symmetrical delay paths by cascading multiple switch delay modules. Each switch delay model contains two symmetrical delay units. According to the selection signal, the two input signals pass through different The delay unit reaches the output. Due to the process deviation in the manufacturing process of the chip, there is a certain deviation in the delay time of the two paths that should be symmetrical in an ideal state, resulting in a difference in the time to reach the D flip-flop. When the path to the data port of the D flip-flop is later than the path to the clock port, a 0 signal is output; when the path to the data port of the D flip-flop is earlier than the path to the clock port, a 1 signal is output.

基于D触发器的仲裁器型PUF是通过提取两条对称的路径的延迟偏差来实现物理不可克隆函数。假设到达D触发器数据端口的路径延迟为T1,时钟端口的路径延迟为T2,当延迟偏差ΔT=T1-T2>0时响应为数字0,当ΔT<0时响应为数字1。但实际应用中存在两个方面的问题:The arbiter-type PUF based on D flip-flop realizes the physical unclonable function by extracting the delay deviation of two symmetrical paths. Suppose the path delay to the data port of the D flip-flop is T 1 , the path delay to the clock port is T 2 , when the delay deviation ΔT=T 1 -T 2 >0, the response is a digital 0, and when ΔT<0, the response is a digital 1 . But there are two problems in practical application:

(1)当延迟偏差ΔT较小时,那么当温度和电压发生变化时其极性容易发生改变,导致响应发生改变。只有延迟偏差ΔT较大时,其输出响应才不易受影响,即是可靠的。(1) When the delay deviation ΔT is small, its polarity is likely to change when the temperature and voltage change, resulting in a change in response. Only when the delay deviation ΔT is large, the output response will not be easily affected, that is, it will be reliable.

(2)对于D触发器而言,当ΔT>0时需要满足hold时序,当ΔT<0时需要满足setup时序。因此延迟偏差的绝对值要大于某个值时输出结果才是可靠的。(2) For the D flip-flop, when ΔT>0, the hold timing needs to be satisfied, and when ΔT<0, the setup timing needs to be satisfied. Therefore, the output result is reliable only when the absolute value of the delay deviation is greater than a certain value.

因此,通过引入一个阈值并判断ΔT与阈值的相对大小从而判断电路的输出响应是否可靠。Therefore, by introducing a threshold and judging the relative size of ΔT and the threshold to judge whether the output response of the circuit is reliable.

具有自检结构的基于D触发的仲裁器型PUF,其结构如图5所示:The D-trigger-based arbiter-type PUF with a self-test structure is shown in Figure 5:

在图4结构的基础上,在仲裁器D触发器的前后分别增加了延时模块和自检模块共同构成了可靠性自检机制,延时模块包括数据选择器①②③和延迟单元⑨,自检模块包括1-2数据分配器④⑤、数据选择器⑥、寄存器⑦⑧。On the basis of the structure in Figure 4, a delay module and a self-test module are added before and after the D flip-flop of the arbiter to form a reliability self-test mechanism. The delay module includes a data selector ①②③ and a delay unit ⑨. The self-test The module includes 1-2 data distributor ④ ⑤, data selector ⑥, register ⑦ ⑧.

其中,对于延时模块,来自路径1的延时数据分别连接到数据选择器①②的1端口,来自路径2的延时数据分别连接到数据选择器①③的0端口和1端口;数据选择器①的输出经过延迟单元⑨后分别连接到数据选择器②③的0端口。对于自检模块,仲裁器D触发器的输出响应经1-2数据分配器④后1输出端和0输出端分别连接到寄存器⑦和1-2数据分配器⑤的输入端;1-2数据分配器⑤的1输出端连接到数据选择器⑥的1端口,0输出端和寄存器⑧的输出同或后连接到数据选择器⑥的0端口;数据选择器⑥的输出端连接到寄存器⑧的输入端口。Among them, for the delay module, the delay data from path 1 are respectively connected to port 1 of data selector ①②, and the delay data from path 2 are respectively connected to port 0 and port 1 of data selector ①③; data selector ① The outputs of are respectively connected to the 0 port of the data selector ②③ after passing through the delay unit ⑨. For the self-test module, the output response of the arbiter D flip-flop is connected to the register ⑦ and the input of the 1-2 data distributor ⑤ after the 1-2 data distributor ④, and the 1 output and 0 output are respectively connected; The 1 output of the distributor ⑤ is connected to the 1 port of the data selector ⑥, and the 0 output and the output of the register ⑧ are connected to the 0 port of the data selector ⑥; the output of the data selector ⑥ is connected to the register ⑧ input port.

该可靠性自检机制的详细工作过程为:The detailed working process of the reliability self-check mechanism is as follows:

a)当K1=1,K2=1时,系统为正常工作状态,此时路径1和路径2的延时分别通过数据选择器②③到达D触发器的数据端口和时钟端口,触发器的输出响应经1-2数据分配器④后存储在寄存器REG1中。a) When K1=1, K2=1, the system is in the normal working state. At this time, the delay of path 1 and path 2 reaches the data port and clock port of the D flip-flop respectively through the data selector ②③, and the output response of the flip-flop Stored in the register REG1 after passing through the 1-2 data distributor ④.

b)当K1=0,K2=1,S=1时,系统为自检工作状态,路径1的延迟加上延迟单元⑨的延时值Tc后通过数据选择器②到达D触发器的数据端口,路径2不变。此时,触发器的输出响应经1-2数据分配器④和数据选择器⑥后存储在寄存器REG2中。b) When K1=0, K2=1, S=1, the system is in the self-checking working state, the delay of path 1 plus the delay value Tc of delay unit ⑨ passes through the data selector ② and reaches the data of the D flip-flop port, path 2 remains unchanged. At this time, the output response of the flip-flop is stored in the register REG2 after passing through the 1-2 data distributor ④ and the data selector ⑥.

c)当K1=1,K2=0,S=0时,系统为自检工作状态,路径2的延迟加上延迟单元⑨的延时值Tc后通过数据选择器③到D触发器的时钟端口,路径1不变。此时,触发器的输出响应经1-2数据分配器④后与来自寄存器REG2的值进行同或操作,操作的结果通过数据选择器⑥后存储在寄存器REG2中。c) When K1=1, K2=0, S=0, the system is in the self-test working state, the delay of path 2 plus the delay value T c of the delay unit ⑨ passes through the data selector ③ to the clock of the D flip-flop port, path 1 remains unchanged. At this time, the output response of the flip-flop is processed with the value from the register REG2 through the 1-2 data distributor ④, and the operation result is stored in the register REG2 after passing through the data selector ⑥.

d)此时,寄存器REG1中的结果为原始输入激励的输出响应,寄存器REG1中的结果为可靠标志。当可靠标志为1时,说明输入激励-输出响应是可靠的,反之则不可靠;d) At this time, the result in the register REG1 is the output response of the original input stimulus, and the result in the register REG1 is the reliable flag. When the reliable flag is 1, it means that the input stimulus-output response is reliable, otherwise it is unreliable;

其中S为数据选择器①、数据分配器⑤、数据选择器⑥的输入信号,K1是数据选择器②和数据分配器④的输入信号,K2是数据选择器③和数据分配器④的输入信号。Among them, S is the input signal of data selector ①, data distributor ⑤, data selector ⑥, K1 is the input signal of data selector ② and data distributor ④, K2 is the input signal of data selector ③ and data distributor ④ .

该可靠性自检机制的设计原理为:The design principle of the reliability self-inspection mechanism is:

在b)操作中,延迟偏差由ΔT变为ΔT1=(T1+Tc)-T2;在c)操作中,延迟偏差由ΔT变为ΔT2=T1-(T2+Tc)。有:In operation b), the delay deviation changes from ΔT to ΔT 1 =(T 1 +T c )-T 2 ; in operation c), the delay deviation changes from ΔT to ΔT 2 =T 1 -(T 2 +T c ). have:

(1)当同或操作的结果为1时,说明将相同延时引入不同路径的输出响应相同,有ΔT1与ΔT2的极性相同,即ΔT1≥0,ΔT2≥0,或ΔT1≤0,ΔT2≤0。由于Tc恒为正值,故可判断|ΔT|=|T1-T2|≥Tc恒成立,原始输出响应认为是可靠的。(1) When the result of the same OR operation is 1, it means that the output response of introducing the same delay into different paths is the same, and the polarity of ΔT 1 and ΔT 2 is the same, that is, ΔT 1 ≥ 0, ΔT 2 ≥ 0, or ΔT 1 ≤ 0, ΔT 2 ≤ 0. Since T c is always a positive value, it can be judged that |ΔT|=|T 1 -T 2 |≥T c is always established, and the original output response is considered reliable.

(2)当同或操作的结果为0时,说明将相同延时引入不同路径的输出响应不相同,ΔT1与ΔT2的极性不相同,即ΔT1>0,ΔT2<0,或ΔT1<0,ΔT2>0。由于Tc恒为正值,故可判定|ΔT|=|T1-T2|<Tc恒成立,原始输出响应是不可靠的。(2) When the result of the exclusive OR operation is 0, it means that the output responses of introducing the same delay into different paths are different, and the polarities of ΔT 1 and ΔT 2 are different, that is, ΔT 1 >0, ΔT 2 <0, or ΔT 1 <0, ΔT 2 >0. Since T c is always a positive value, it can be judged that |ΔT|=|T 1 -T 2 |<T c is always established, and the original output response is unreliable.

根据集成电路的工艺要求,我们容易知道D触发器hold时序和setup时序的要求,可以根据工艺要求将阈值取值为:Tc=nax{Thold,Tsetup}。According to the technological requirements of the integrated circuit, we can easily know the requirements of the hold timing and setup timing of the D flip-flop, and the threshold value can be set as: T c =nax{T hold , T setup } according to the technological requirements.

由于n级延迟模块可以产生2n个CRPs(Challenge Reponse Pairs,激励-响应对),通过增加延迟模块的级数可以获得更高的安全性能,是一种强PUF。在本方案中将其作为复合型PUF结构的第二级电路结构。根据图1和图4,n的取值为64。Since n-level delay modules can generate 2 n CRPs (Challenge Reponse Pairs, incentive-response pairs), higher security performance can be obtained by increasing the number of delay modules, and it is a strong PUF. In this scheme, it is used as the second-level circuit structure of the composite PUF structure. According to Figure 1 and Figure 4, the value of n is 64.

基于上述技术方案,为了降低中小型嵌入式设备的芯片成本,减少硬件电路资源的使用,根据图1基于复合型PUF的密钥生成系统,采用了64bit数据长度作为本方案的原始激励。本发明进一步提供了一种抗攻击和自检特性的基于复合型PUF的密钥生成方法,包括以下步骤:Based on the above technical solution, in order to reduce the chip cost of small and medium-sized embedded devices and reduce the use of hardware circuit resources, according to the key generation system based on composite PUF in Figure 1, the 64bit data length is used as the original incentive of this solution. The present invention further provides a method for generating a key based on a composite PUF with anti-attack and self-inspection characteristics, comprising the following steps:

(1)根据N=64,选择合适的本原多项式对m序列发生器的反馈系数g的寄存器进行配置。通过选择不同的本原多项式的选择,能够构造出不同的激励发生模块。(1) According to N=64, select an appropriate primitive polynomial to configure the register of the feedback coefficient g of the m-sequence generator. By selecting different primitive polynomials, different excitation generation modules can be constructed.

(2)将64bit原始输入激励作为复合型PUF的第一级PUF电路模块的输入激励,每1bit的原始输入激励对应每一个PicoPUF的输入激励;首先通过clear信号对每一个PicoPUF进行复位,接着通过start信号的上升沿给每一个PicoPUF输入信号。在输入激励的选择下,对SR锁存器的输出进行选择输出。(2) The 64bit original input excitation is used as the input excitation of the first-stage PUF circuit module of the composite PUF, and each 1-bit original input excitation corresponds to the input excitation of each PicoPUF; first reset each PicoPUF through the clear signal, and then pass The rising edge of the start signal gives each PicoPUF input signal. Under the selection of the input stimulus, the output of the SR latch is selected for output.

(3)第一级PUF电路输出64bit数据长度的响应,为了保持数据的稳定性,将第一级PUF的输出响应结果存储在寄存器REG中。(3) The first-stage PUF circuit outputs a response with a data length of 64 bits. In order to maintain data stability, the output response result of the first-stage PUF is stored in the register REG.

(4)使用寄存器REG中的结果作为m序列发生器的置位值,初始化激励发生模块。m序列发生器在时钟信号的驱动下产生64bit的伪随机数输出。将该变化的输出作为第二级PUF电路的输入激励。(4) Use the result in the register REG as the setting value of the m-sequence generator to initialize the excitation generation module. The m-sequencer generates a 64-bit pseudo-random number output driven by a clock signal. The output of this change is used as the input excitation of the second stage PUF circuit.

(5)复合型PUF的第二级结构由两个具有自检结构的基于D触发器的仲裁器型PUF构成,接受相同的输入激励(m序列发生器产生的伪随机数输出结果)。(5) The second-level structure of the composite PUF is composed of two arbiter-type PUFs based on D flip-flops with a self-checking structure, which accept the same input stimulus (pseudo-random number output result generated by the m-sequence generator).

(6)第二级PUF电路模块的输出响应和可靠性标志作为结果输出模块的输入,将Q64(m序列发生器的末位信号)作为选择信号对第二级PUF电路模块的输出响应和可靠性标志进行选择输出。(6) The output response and reliability flag of the second-stage PUF circuit module are used as the input of the result output module, and Q64 (the last bit signal of the m sequence generator) is used as the selection signal for the output response and reliability of the second-stage PUF circuit module The sex flag is used to select the output.

(7)如果结果输出模块的可靠性标志F为1,说明当前选择输出的响应R是可靠的,可将其作为密钥的其中1比特数据;如果结果输出模块的可靠性标志F为0,说明当前选择输出的响应R是不可靠的,放弃当前的输出响应R,等待下一次来自m序列发生器的输入激励信号。(7) If the reliability flag F of the result output module is 1, it means that the currently selected output response R is reliable, and it can be used as 1-bit data of the key; if the reliability flag F of the result output module is 0, It shows that the current selected output response R is unreliable, give up the current output response R, and wait for the next input excitation signal from the m-sequence generator.

为了满足不同的加密算法对不同长度的算法密钥的需求,该方案中通过控制m序列发生器产生不同次数的激励信号达到该目的。In order to meet the needs of different encryption algorithms for algorithm keys of different lengths, this scheme achieves this goal by controlling the m-sequence generator to generate different times of excitation signals.

在基于复合型PUF的密钥生成方案中,通过PicoPUF和基于D触发的仲裁器PUF的组合,再加上通过m序列发生器对激励产生进行控制,使得PUF的结构变得更加复杂,能够以更小的硬件代价获得更高的安全性能。In the key generation scheme based on composite PUF, through the combination of PicoPUF and D-trigger-based arbiter PUF, plus the control of excitation generation by m-sequence generator, the structure of PUF becomes more complex, and can be Higher security performance at lower hardware cost.

以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: it can still apply to the foregoing embodiments Modifications to the technical solutions recorded, or equivalent replacements for some of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of each embodiment of the application, and should be included in this application. within the scope of protection.

Claims (6)

1.一种抗攻击和自检特性的基于复合型PUF的密钥生成系统,其特征在于,包括第一级PUF电路模块、激励发生模块、第二级PUF电路模块以及结果输出模块,其中:1. A key generation system based on composite PUF of anti-attack and self-inspection characteristics, is characterized in that, comprises first-level PUF circuit module, excitation generation module, second-level PUF circuit module and result output module, wherein: 所述第一级PUF电路模块包括并行设置的N个PicoPUF电路,所述PicoPUF电路用于接收原始激励并产生N比特的输出响应,并将响应寄存在寄存器组中;The first-level PUF circuit module includes N PicoPUF circuits arranged in parallel, the PicoPUF circuit is used to receive the original stimulus and generate an N-bit output response, and store the response in the register group; 所述激励发生模块包括m序列发生器,所述m序列发生器用于接收第一级PUF电路模块输出响应作为复位信号,复位完成后根据配置的本原多项式产生伪随机输出;The excitation generation module includes an m-sequence generator, and the m-sequence generator is used to receive the output response of the first-stage PUF circuit module as a reset signal, and after the reset is completed, a pseudo-random output is generated according to the configured primitive polynomial; 所述第二级PUF电路模块包括两个基于D触发器的仲裁器型PUF电路,所述基于D触发器的仲裁器PUF的电路中设置有自检电路;所述两个基于D触发器的仲裁器型PUF电路接收来自m序列发生器的伪随机输出作为输入激励,分别独自产生响应和可靠标志;The second-stage PUF circuit module includes two D flip-flop-based arbiter-type PUF circuits, and a self-test circuit is set in the D flip-flop-based arbiter PUF circuit; the two D flip-flop-based The arbiter-type PUF circuit receives the pseudo-random output from the m-sequence generator as an input stimulus, and generates a response and a reliable flag independently; 所述结果输出模块包括两个选择器,利用来自m序列发生器的末位信号作为选择控制信号对第二级PUF电路模块输出结果的响应和可靠标志进行选择输出。The result output module includes two selectors, which use the last bit signal from the m-sequence generator as a selection control signal to select and output the response and reliability flag of the output result of the second-stage PUF circuit module. 2.根据权利要求1所述的抗攻击和自检特性的基于复合型PUF的密钥生成系统,其特征在于,所述第一级PUF电路模块中的PicoPUF电路包括D触发器①、D触发器②、SR锁存器③、数据选择器④,其中:2. The anti-attack and self-checking characteristic based on composite PUF key generation system according to claim 1, it is characterized in that, the PicoPUF circuit in the described first level PUF circuit module comprises D flip-flop 1., D triggers Device ②, SR latch ③, data selector ④, where: D触发器①②在接收到复位信号clear时,Q端口复位为0;然后,D触发器①②在start信号的作用下发生翻转,与之相连的SR锁存器③会区分出这两个触发器翻转信号到达的先后顺序,从而稳定地输出0或1;通过原始激励的在数据选择器④的选择作用下,可以对SR锁存器④上下两端的信号进行选择输出。When the D flip-flop ①② receives the reset signal clear, the Q port is reset to 0; then, the D flip-flop ①② flips under the action of the start signal, and the SR latch ③ connected to it will distinguish the two flip-flops Reverse the order of arrival of the signals, so as to stably output 0 or 1; under the selection of the data selector ④ through the original excitation, the signals at the upper and lower ends of the SR latch ④ can be selected and output. 3.根据权利要求1所述的抗攻击和自检特性的基于复合型PUF的密钥生成系统,其特征在于,所述激励发生模块中的m序列发生器包括由线性反馈移位寄存器构成的电路结构,所述电路结构包括N个D触发器构成的线性反馈移位寄存器以及N个反馈系数g配置寄存器;其中,第i个D触发器的Q端口输出和第i个g进行异或后作为第i+1个D触发器D端口的输入,i=1…N。3. the anti-attack according to claim 1 and the key generation system based on the compound type PUF of self-inspection characteristic, it is characterized in that, the m-sequence generator in the described excitation generation module comprises a linear feedback shift register made of The circuit structure includes a linear feedback shift register composed of N D flip-flops and N feedback coefficient g configuration registers; wherein, the output of the Q port of the i-th D flip-flop and the i-th g are XORed As the input of the D port of the i+1th D flip-flop, i=1...N. 4.根据权利要求1所述的抗攻击和自检特性的基于复合型PUF的密钥生成系统,其特征在于,所述第二级PUF电路模块中,基于D触发器的仲裁器型PUF电路中的自检电路包括延时模块和自检模块,延时模块包括数据选择器①②③和延迟单元⑨,自检模块包括1-2数据分配器④⑤、数据选择器⑥、寄存器⑦⑧;4. The key generation system based on composite PUF of anti-attack and self-inspection characteristics according to claim 1, characterized in that, in the second-level PUF circuit module, the arbiter type PUF circuit based on D flip-flop The self-inspection circuit includes a delay module and a self-inspection module. The delay module includes a data selector ①②③ and a delay unit ⑨. The self-inspection module includes a 1-2 data distributor ④⑤, a data selector ⑥, a register ⑦⑧; 对于延时模块,来自路径1的延时数据分别连接到数据选择器①②的1端口,来自路径2的延时数据分别连接到数据选择器①③的0端口和1端口;数据选择器①的输出经过延迟单元⑨后分别连接到数据选择器②③的0端口;For the delay module, the delay data from path 1 are respectively connected to port 1 of data selector ①②, and the delay data from path 2 are respectively connected to port 0 and port 1 of data selector ①③; the output of data selector ① After passing through the delay unit ⑨, they are respectively connected to the 0 port of the data selector ②③; 对于自检模块,仲裁器D触发器的输出响应经1-2数据分配器④后1输出端和0输出端分别连接到寄存器⑦和1-2数据分配器⑤的输入端;1-2数据分配器⑤的1输出端连接到数据选择器⑥的1端口,0输出端和寄存器⑧的输出同或后连接到数据选择器⑥的0端口;数据选择器⑥的输出端连接到寄存器⑧的输入端口。For the self-test module, the output response of the arbiter D flip-flop is connected to the register ⑦ and the input of the 1-2 data distributor ⑤ after the 1-2 data distributor ④, and the 1 output and 0 output are respectively connected; The 1 output of the distributor ⑤ is connected to the 1 port of the data selector ⑥, and the 0 output and the output of the register ⑧ are connected to the 0 port of the data selector ⑥; the output of the data selector ⑥ is connected to the register ⑧ input port. 5.根据权利要求4所述的抗攻击和自检特性的基于复合型PUF的密钥生成系统,其特征在于,由所述延时模块和自检模块共同构成的可靠性自检机制的工作过程为:5. the key generation system based on composite PUF of anti-attack and self-inspection characteristic according to claim 4, it is characterized in that, the work of the reliability self-inspection mechanism that is formed jointly by described delay module and self-inspection module The process is: a)当K1=1,K2=1时,系统为正常工作状态,此时路径1和路径2的延时分别通过数据选择器②③到达D触发器的数据端口和时钟端口,触发器的输出响应经1-2数据分配器④后存储在寄存器REG1中;a) When K1=1, K2=1, the system is in the normal working state. At this time, the delay of path 1 and path 2 reaches the data port and clock port of the D flip-flop respectively through the data selector ②③, and the output response of the flip-flop Stored in the register REG1 after the 1-2 data distributor ④; b)当K1=0,K2=1,S=1时,系统为自检工作状态,路径1的延迟加上延迟单元⑨的延时值Tc后通过数据选择器②到达D触发器的数据端口,路径2不变;此时,触发器的输出响应经1-2数据分配器④和数据选择器⑥后存储在寄存器REG2中;b) When K1=0, K2=1, S=1, the system is in the self-checking working state, the delay of path 1 plus the delay value Tc of delay unit ⑨ passes through the data selector ② and reaches the data of the D flip-flop Port, path 2 remains unchanged; at this time, the output response of the flip-flop is stored in the register REG2 after passing through the 1-2 data distributor ④ and the data selector ⑥; c)当K1=1,K2=0,S=0时,系统为自检工作状态,路径2的延迟加上延迟单元⑨的延时值Tc后通过数据选择器③到D触发器的时钟端口,路径1不变;此时,触发器的输出响应经1-2数据分配器④后与来自寄存器REG2的值进行同或操作,操作的结果通过数据选择器⑥后存储在寄存器REG2中;c) When K1=1, K2=0, S=0, the system is in the self-test working state, the delay of path 2 plus the delay value T c of the delay unit ⑨ passes through the data selector ③ to the clock of the D flip-flop Port, path 1 remains unchanged; at this time, the output response of the flip-flop is ORed with the value from register REG2 after passing through 1-2 data distributor ④, and the result of the operation is stored in register REG2 after passing through data selector ⑥; d)寄存器REG1中的结果为原始输入激励的输出响应,寄存器REG1中的结果为可靠标志;当可靠标志为1时,说明输入激励-输出响应是可靠的,反之则不可靠;d) The result in register REG1 is the output response of the original input stimulus, and the result in register REG1 is a reliable flag; when the reliable flag is 1, it means that the input stimulus-output response is reliable, otherwise it is unreliable; 其中S为数据选择器①、数据分配器⑤、数据选择器⑥的输入信号,K1是数据选择器②和数据分配器④的输入信号,K2是数据选择器③和数据分配器④的输入信号。Among them, S is the input signal of data selector ①, data distributor ⑤, data selector ⑥, K1 is the input signal of data selector ② and data distributor ④, K2 is the input signal of data selector ③ and data distributor ④ . 6.一种抗攻击和自检特性的基于复合型PUF的密钥生成方法,其特征在于,包括以下步骤:6. A key generation method based on composite PUF of anti-attack and self-inspection characteristics, it is characterized in that, comprising the following steps: (1)选择本原多项式对m序列发生器的反馈系数g的寄存器进行配置;(1) select the original polynomial to configure the register of the feedback coefficient g of the m-sequence generator; (2)将原始输入激励作为复合型PUF的第一级PUF电路模块的输入激励,每1bit的原始输入激励对应每一个PicoPUF的输入激励;首先通过clear信号对每一个PicoPUF进行复位,接着通过start信号的上升沿给每一个PicoPUF输入信号;在输入激励的选择下,对SR锁存器的输出进行选择输出;(2) The original input excitation is used as the input excitation of the first-stage PUF circuit module of the composite PUF, and each 1-bit original input excitation corresponds to the input excitation of each PicoPUF; first reset each PicoPUF through the clear signal, and then pass the start The rising edge of the signal is given to each PicoPUF input signal; under the selection of the input excitation, the output of the SR latch is selected and output; (3)第一级PUF电路模块输出64bit数据长度的响应,为了保持数据的稳定性,将第一级PUF的输出响应结果存储在寄存器REG中;(3) The first-stage PUF circuit module outputs a response of 64bit data length, in order to maintain the stability of the data, the output response result of the first-stage PUF is stored in the register REG; (4)使用寄存器REG中的结果作为m序列发生器的置位值,初始化激励发生模块;m序列发生器在时钟信号的驱动下产生伪随机数输出,将该变化的输出作为第二级PUF电路模块的输入激励;(4) Use the result in the register REG as the set value of the m-sequence generator to initialize the excitation generation module; the m-sequence generator generates a pseudo-random number output under the drive of the clock signal, and the changed output is used as the second-stage PUF Input excitation of the circuit module; (5)第二级PUF电路模块的两个基于D触发器的仲裁器型PUF电路接受相同的输入激励,为m序列发生器产生的伪随机数输出结果;(5) The two arbiter-type PUF circuits based on D flip-flops of the second-stage PUF circuit module receive the same input excitation, and output results of pseudo-random numbers generated by the m-sequence generator; (6)第二级PUF电路模块的输出响应和可靠性标志作为结果输出模块的输入,依据m序列发生器的末位信号,对第二级PUF电路模块的输出响应和可靠性标志进行选择输出;(6) The output response and reliability flag of the second-stage PUF circuit module are used as the input of the result output module, and the output response and reliability flag of the second-stage PUF circuit module are selected and output according to the last bit signal of the m-sequence generator ; (7)如果结果输出模块的可靠性标志F为1,说明当前选择输出的响应R是可靠的,可将其作为密钥的其中1比特数据;如果结果输出模块的可靠性标志F为0,说明当前选择输出的响应R是不可靠的,放弃当前的输出响应R,等待下一次来自m序列发生器的输入激励信号。(7) If the reliability flag F of the result output module is 1, it means that the currently selected output response R is reliable, and it can be used as 1-bit data of the key; if the reliability flag F of the result output module is 0, It shows that the current selected output response R is unreliable, give up the current output response R, and wait for the next input excitation signal from the m-sequence generator.
CN202011031519.8A 2020-09-27 2020-09-27 Anti-attack and self-checking characteristic key generation system and method based on composite PUF Active CN112272084B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011031519.8A CN112272084B (en) 2020-09-27 2020-09-27 Anti-attack and self-checking characteristic key generation system and method based on composite PUF

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011031519.8A CN112272084B (en) 2020-09-27 2020-09-27 Anti-attack and self-checking characteristic key generation system and method based on composite PUF

Publications (2)

Publication Number Publication Date
CN112272084A CN112272084A (en) 2021-01-26
CN112272084B true CN112272084B (en) 2023-04-07

Family

ID=74349675

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011031519.8A Active CN112272084B (en) 2020-09-27 2020-09-27 Anti-attack and self-checking characteristic key generation system and method based on composite PUF

Country Status (1)

Country Link
CN (1) CN112272084B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113177007B (en) * 2021-05-20 2023-02-21 湖北工业大学 A Highly Reliable ArbiterPUF Circuit Based on Offset Compensation
CN114584297B (en) * 2022-03-01 2024-02-27 广东工业大学 Encryption and decryption system and encryption and decryption method based on physical unclonable technology
CN114969845A (en) * 2022-03-30 2022-08-30 温州大学 A Path-Sensitive Multi-Entropy Source SPUF
CN114928454B (en) * 2022-06-09 2024-01-09 湖南大学 CRP (common-point control) confusion circuit and data confusion method
CN115865353B (en) * 2023-02-23 2023-05-30 湖北工业大学 Strong PUF circuit based on transient effect ring oscillator and response generation method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107862101A (en) * 2017-09-12 2018-03-30 广东工业大学 A kind of circuit structure of the brand-new framework physics unclonable function based on moderator
CN109063515A (en) * 2018-07-10 2018-12-21 湖北工业大学 For the reliability enhancing structure and its Enhancement Method of moderator PUF
CN109614790A (en) * 2018-11-28 2019-04-12 河海大学常州校区 Lightweight authentication device and authentication method based on feedback loop PUF
CN110929299A (en) * 2019-12-04 2020-03-27 湖北工业大学 Reliability Self-Check Circuit and Reliability Enhancement Method for Arbiter PUF
CN111339576A (en) * 2020-02-12 2020-06-26 鹏城实验室 Tri-state physics unclonable function circuit, control method and chip
CN111385091A (en) * 2018-12-31 2020-07-07 三星电子株式会社 Integrated circuit and apparatus for security of physically unclonable functions

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10038445B1 (en) * 2017-01-12 2018-07-31 Semiconductor Components Industries, Llc Component authentication utilizing multi-level arbiter
US10855478B2 (en) * 2018-08-13 2020-12-01 Taiwan Semiconductor Manufacturing Co., Ltd. Method and apparatus for protecting embedded software

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107862101A (en) * 2017-09-12 2018-03-30 广东工业大学 A kind of circuit structure of the brand-new framework physics unclonable function based on moderator
CN109063515A (en) * 2018-07-10 2018-12-21 湖北工业大学 For the reliability enhancing structure and its Enhancement Method of moderator PUF
CN109614790A (en) * 2018-11-28 2019-04-12 河海大学常州校区 Lightweight authentication device and authentication method based on feedback loop PUF
CN111385091A (en) * 2018-12-31 2020-07-07 三星电子株式会社 Integrated circuit and apparatus for security of physically unclonable functions
CN110929299A (en) * 2019-12-04 2020-03-27 湖北工业大学 Reliability Self-Check Circuit and Reliability Enhancement Method for Arbiter PUF
CN111339576A (en) * 2020-02-12 2020-06-26 鹏城实验室 Tri-state physics unclonable function circuit, control method and chip

Also Published As

Publication number Publication date
CN112272084A (en) 2021-01-26

Similar Documents

Publication Publication Date Title
CN112272084B (en) Anti-attack and self-checking characteristic key generation system and method based on composite PUF
CN111600699B (en) Circuit and method for implementing hash algorithm
Kodýtek et al. Improved ring oscillator PUF on FPGA and its properties
Wu et al. Flam-puf: A response–feedback-based lightweight anti-machine-learning-attack puf
CN103188075A (en) Secret key and true random number generator and method for generating secret key and true random number
CN108683505B (en) A kind of APUF circuit with safety
CN113297634B (en) Physical unclonable function hardware circuit based on full spin logic and implementation method
CN111027102B (en) High-safety configurable RO-PUF circuit structure
CN106533654A (en) Configurable physically unclonable function circuit and response generation method thereof
CN112364391A (en) Arbiter PUF reliable response screening system and bias control and response screening method thereof
Vijay et al. Physically unclonable functions using two-level finite state machine
CN109614790A (en) Lightweight authentication device and authentication method based on feedback loop PUF
CN102271038A (en) method for generating a bit vector
CN108763977B (en) Circuit and electronic device of clamp phase inverter PUF and implementation method
Hou et al. A lightweight and secure-enhanced Strong PUF design on FPGA
Khaleghi et al. An stt-MRAM based strong PUF
CN113268745B (en) Soft PUF Based on Camellia Encryption Algorithm
CN212135427U (en) A Delay-Based Reconfigurable PUF Circuit
CN114679277B (en) A Reliability Self-Check and Response Debiasing Method Based on SR PUF
CN113946882B (en) Schmitt trigger-based ultralow-power-consumption weak physical unclonable function circuit
Anchana et al. Design and analysis of physical unclonable function
CN116522296A (en) Strong PUF-oriented machine learning-resistant CRP confusion method
CN110232293B (en) APUF circuit based on cascade connection of maximum delay subchain and minimum delay subchain
CN114969845A (en) A Path-Sensitive Multi-Entropy Source SPUF
CN105322920B (en) Random number generator and random number generating method thereof

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant