CN114329646A - 数字指纹生成器及数字指纹生成方法 - Google Patents
数字指纹生成器及数字指纹生成方法 Download PDFInfo
- Publication number
- CN114329646A CN114329646A CN202011043474.6A CN202011043474A CN114329646A CN 114329646 A CN114329646 A CN 114329646A CN 202011043474 A CN202011043474 A CN 202011043474A CN 114329646 A CN114329646 A CN 114329646A
- Authority
- CN
- China
- Prior art keywords
- signal
- pulse signal
- digital fingerprint
- pulse
- control
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 230000000630 rising effect Effects 0.000 claims description 30
- 230000004044 response Effects 0.000 claims description 22
- 238000010586 diagram Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 13
- 102100040862 Dual specificity protein kinase CLK1 Human genes 0.000 description 9
- 230000008859 change Effects 0.000 description 6
- 101000749294 Homo sapiens Dual specificity protein kinase CLK1 Proteins 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000003786 synthesis reaction Methods 0.000 description 5
- 102100040844 Dual specificity protein kinase CLK2 Human genes 0.000 description 4
- 101000749291 Homo sapiens Dual specificity protein kinase CLK2 Proteins 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000000737 periodic effect Effects 0.000 description 4
- 101100113692 Caenorhabditis elegans clk-2 gene Proteins 0.000 description 3
- 230000032683 aging Effects 0.000 description 3
- 238000013475 authorization Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 101100328957 Caenorhabditis elegans clk-1 gene Proteins 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 238000011522 transarterial infusion chemotherapy Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
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/73—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 by creating or determining hardware identification, e.g. serial numbers
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/02—Generators characterised by the type of circuit or by the means used for producing pulses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
- H04L9/3278—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Manipulation Of Pulses (AREA)
Abstract
本公开提供了一种数字指纹生成器及数字指纹生成方法。所述数字指纹生成器包括:控制电路,产生控制字;第一脉冲产生电路,与所述控制电路连接,响应于所述控制字,输出第一脉冲信号;第二脉冲产生电路,与所述控制电路连接,且与所述第一脉冲产生电路结构相同,响应于所述控制字,输出第二脉冲信号;所述第一脉冲信号和第二脉冲信号分别包括第一频率信号和第二频率信号,且所述第一频率信号和所述第二频率信号出现的概率由所述控制字控制;输出电路,分别与所述第一脉冲产生电路和所述第二脉冲产生电路连接,基于所述第一脉冲信号和所述第二脉冲信号按照预设的第一规则,输出数字指纹。
Description
技术领域
本公开涉及一种数字指纹生成器及数字指纹生成方法。
背景技术
数字指纹是设备认证、授权、数据加密等场景中的重要数字凭证。相关技术中,数字指纹通常采用软件方式生成,这种方式不能完全做到输出的数字指纹的独一无二,可靠性不够高。
发明内容
本公开实施例提供了一种数字指纹生成器及数字指纹生成方法。
本公开至少一实施例提供了一种数字指纹生成器,所述数字指纹生成器包括:
控制电路,产生控制字;
第一脉冲产生电路,与所述控制电路连接,响应于所述控制字,输出第一脉冲信号;
第二脉冲产生电路,与所述控制电路连接,且与所述第一脉冲产生电路结构相同,响应于所述控制字,输出第二脉冲信号;所述第一脉冲信号和第二脉冲信号分别包括第一频率信号和第二频率信号,且所述第一频率信号和所述第二频率信号出现的概率由所述控制字控制;
输出电路,分别与所述第一脉冲产生电路和所述第二脉冲产生电路连接,基于所述第一脉冲信号和所述第二脉冲信号按照预设的第一规则,输出数字指纹。
可选地,所述第一脉冲产生电路,包括:
频率合成器,所述频率合成器分别与所述控制电路和所述输出电路连接;
所述频率合成器响应于相位均匀间隔的基准脉冲信号和所述控制字,产生所述第一脉冲信号;
其中,所述控制字包括第一系数和第二系数;
所述第一脉冲信号包括基于所述基准脉冲信号和第一系数产生的所述第一频率信号和基于所述基准脉冲信号和第一系数产生的所述第二频率信号,所述第一脉冲信号中的所述第一频率信号和所述第二频率信号的占比由所述第二系数控制。
可选地,所述第一规则,包括基于所述第一脉冲信号和所述第二脉冲信号的上升沿的先后顺序,输出数字指纹;或者,基于所述第一脉冲信号和所述第二脉冲信号的下降沿的先后顺序,输出数字指纹。
可选地,所述输出电路包括D触发器,
所述D触发器的数据输入端与所述第一脉冲产生电路连接,所述D触发器的时钟输入端与所述第二脉冲产生电路连接;
所述D触发器,基于所述第一脉冲信号和所述第二脉冲信号的上升沿的先后顺序,输出数字指纹。
可选地,所述数字指纹生成器还包括:
信号发生器,分别与所述第一脉冲产生电路和所述第二脉冲产生电路连接,产生相位均匀间隔的多路基准脉冲信号。
可选地,所述信号发生器还与所述控制电路连接;
所述控制电路,向所述信号发生器发送初始相位控制指令,所述初始相位控制指令用于控制所述信号发生器产生的基准脉冲信号的初始相位;其中,所述基准脉冲信号的初始相位不同,对应的所述数字指纹不同。
可选地,所述控制电路,接收第一控制信号,响应于所述第一控制信号,更新输出的所述控制字和所述初始相位控制指令中的至少一个。
可选地,所述控制电路还与所述输出电路连接;
所述控制电路,获取所述输出电路输出的数字指纹,并对所述数字指纹进行简化处理:提取所述数字指纹中一个周期的数据并删除其他周期的数据,所述周期根据所述基准脉冲信号的路数以及所述控制字确定。
本公开至少一实施例提供了一种数字指纹生成方法,所述方法包括:
获取控制字;
响应于所述控制字,输出第一脉冲信号;
响应于所述控制字,输出第二脉冲信号;所述第一脉冲信号和所述第二脉冲信号通过相同结构的电路生成;所述第一脉冲信号和所述第二脉冲信号分别包括第一频率信号和第二频率信号,所述第一频率信号和所述第二频率信号出现的概率由对应的所述控制字控制;
基于所述第一脉冲信号和所述第二脉冲信号按照预设的第一规则,输出数字指纹。
可选地,所述响应于所述控制字,输出第一脉冲信号,包括:
响应于相位均匀间隔的基准脉冲信号和所述控制字,产生所述第一脉冲信号;
其中,所述控制字包括第一系数和第二系数;
所述第一脉冲信号包括基于所述基准脉冲信号和第一系数产生的所述第一频率信号和基于所述基准脉冲信号和第一系数产生的所述第二频率信号,所述第一脉冲信号中的所述第一频率信号和所述第二频率信号的占比由所述第二系数控制。
可选地,所述第一规则,包括基于所述第一脉冲信号和所述第二脉冲信号的上升沿的先后顺序,输出数字指纹;或者,基于所述第一脉冲信号和所述第二脉冲信号的下降沿的先后顺序,输出数字指纹。
可选地,所述方法还包括:
接收第一控制信号;
响应于所述第一控制信号,更新所述控制字和初始相位控制指令中的至少一个,所述初始相位控制指令用于控制所述基准脉冲信号的初始相位。
可选地,所述方法还包括:
获取输出的数字指纹,并对所述数字指纹进行简化处理:提取所述数字指纹中一个周期的数据并删除其他周期的数据,所述周期根据所述基准脉冲信号的路数以及所述控制字确定。
附图说明
图1是本公开实施例提供的一种数字指纹生成器的结构示意图;
图2是本公开实施例提供的数字指纹生成器的详细结构示意图;
图3为图2中的环路振荡器的结构示意图;
图4为采用图2中的信号发生器产生的K路相位均匀间隔的基准脉冲信号的波形图;
图5为采用频率合成器进行脉冲信号合成的原理示意图;
图6为本公开实施例提供的一种频率合成器的结构示意图;
图7为本公开实施例提供的脉冲信号的频率Fo与控制字F的关系示意图;
图8为本公开实施例提供的一种特征位分布示意图;
图9为本公开实施例提供的一种初始相位与特征位的关系图;
图10是本公开实施例提供的数字指纹生成器状态转换示意图;
图11是本公开实施例提供的数字指纹示意图;
图12示出了本公开实施例提供的一种数字指纹生成方法的流程图。
具体实施方式
为使本公开的原理和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
随着通信技术的提升和万物互联技术的普及,信息化水平逐步提高,设备产生的数据的数据量也呈指数上升,这些数据中有的涉及个人隐私,有的涉及个人或公共财产,有的涉及国防安全等等。这些数据一旦被窃取或篡改将造成不可预估的损失,因此如何保证数据在存储、传输等情况下的安全性就尤为重要。
本公开提出一种物理非克隆函数(Physical Unclonable Function,PUF)电路,也称为数字指纹电路,即使克隆结构完全相同的数字指纹电路,生成的数字指纹也不同,这里的“指纹”指的是电路或者芯片本身的特征。电路在制备过程中由于工艺误差会使电路性能与设计时产生偏差,将这些偏差提取并转换为数字特征,便成为了这个电路或者是这颗芯片的数字指纹,我们利用数字指纹完成设备认证、授权,数据加密、解密等操作,从而可以保证数据的存储、传输安全。该数字指纹电路具有低功耗、低面积等特点,并且全部为数字电路,易于复用与移植,适合集成于物联网终端芯片中。
图1是本公开实施例提供的一种数字指纹生成器的结构示意图。参见图1,所述数字指纹生成器包括:控制电路10、第一脉冲产生电路20、第二脉冲产生电路30和输出电路40。
其中,控制电路10产生控制字;第一脉冲产生电路20与所述控制电路10连接,第一脉冲产生电路20响应于所述控制字,输出第一脉冲信号;第二脉冲产生电路30与所述控制电路10连接,且第二脉冲产生电路30与所述第一脉冲产生电路20结构相同,第二脉冲产生电路30响应于所述控制字,输出第二脉冲信号;所述第一脉冲信号和第二脉冲信号分别包括第一频率信号和第二频率信号,且所述第一频率信号和所述第二频率信号出现的概率由所述控制字控制;输出电路40分别与所述第一脉冲产生电路20和所述第二脉冲产生电路30连接,输出电路40基于所述第一脉冲信号和所述第二脉冲信号按照预设的第一规则,输出数字指纹。
其中,第一脉冲信号和第二脉冲信号分别包括第一频率信号和第二频率信号是指,第一脉冲信号包括第一频率信号和第二频率信号,第二脉冲信号包括第一频率信号和第二频率信号。
这里,第二脉冲产生电路30与第一脉冲产生电路20结构相同,是指第二脉冲产生电路30与第一脉冲产生电路20设计是完全相同的,也即电路结构相同、采用相同型号批次的器件制作、采用相同的制作工艺等。但由于制作工艺、器件误差等因素导致二者的电路结构特性不可能完全相同,导致信号输出不同,例如第二脉冲产生电路30与第一脉冲产生电路20输出同样的信号时,信号波形不完全相同。
在本公开实施例中,采用两路结构相同的脉冲产生电路来产生脉冲,由于制备工艺、器件误差等因素导致电路结构特性不可能完全相同,所以即使基于相同的控制字,两路脉冲产生电路输出的脉冲信号各个周期不可能完全对齐,并且由于电路结构特性对每个周期的影响是不可预测的,所以两个脉冲产生电路输出的脉冲信号对应周期的先后没有规律,将脉冲信号对应周期先后关系转换为数字指纹,该数字指纹具有不可预测性及独一无二性。
例如,输出电路40,基于所述第一脉冲信号和所述第二脉冲信号的上升沿的先后顺序,输出数字指纹;或者,基于所述第一脉冲信号和所述第二脉冲信号的下降沿的先后顺序,输出数字指纹。也即,前述第一规则为比较上升沿的先后顺序,输出数字指纹,或者比较下降沿的先后顺序,输出数字指纹。
示例性地,可以将第一脉冲信号和第二脉冲信号中对应周期的上升沿的先后顺序转换为比特0/1,例如第一脉冲信号的上升沿在第二脉冲信号中对应周期的上升沿之前则输出0,第一脉冲信号的上升沿在第二脉冲信号中对应周期的上升沿之后则输出1。
这里,对应周期是指相同序号的周期,例如,第一脉冲信号的第1个周期和第二脉冲信号的第1个周期为对应周期,第一脉冲信号的第2个周期和第二脉冲信号的第2个周期为对应周期,依此类推,第一脉冲信号的第n个周期和第二脉冲信号的第n个周期为对应周期。
其中,结构特性可能是制作工艺差异或者材料、零部件差异导致的。这些差异导致信号传输速度、处理速度的差异。
对于不同的数字指纹生成器,由于电路结构特性差异,输出的数字指纹会不同,也正是如此,才能作为一个电路的指纹使用。
在一种可能的实现方式中,控制电路10可以按照第一规则产生控制字,例如可以是指从预定的控制字集合中随机输出控制字,并且每次随机产生的控制字不同。
示例性地,控制电路10可以包括控制器(Control Block),例如采用可编程芯片实现,通过编程,限定控制字集合,从而限定随机输出的控制字的范围。
在其他可能的实现方式中,第一规则也可以是其他规则,例如按照顺序选择控制字等,本公开对此不做限定。
图2示出了本公开实施例提供的数字指纹生成器的详细结构示意图。参见图2,第一脉冲产生电路20包括频率合成器200,所述频率合成器200分别与所述控制电路10和所述输出电路40连接;第二脉冲产生电路30的结构与第一脉冲产生电路20相同。
所述频率合成器200响应于相位均匀间隔的基准脉冲信号和所述控制字,产生所述第一脉冲信号。
其中,所述控制字包括第一系数和第二系数;所述第一脉冲信号包括基于所述基准脉冲信号和第一系数产生的所述第一频率信号和基于所述基准脉冲信号和第一系数产生的所述第二频率信号,所述第一脉冲信号中的所述第一频率信号和所述第二频率信号的占比由所述第二系数控制。
示例性地,第一系数和第二系数的关系可以如下:第一系数和第二系数之和为控制字,例如第一系数为控制字的整数部分,第二系数为控制字的小数部分。
参见图2,该数字指纹生成器还包括信号发生器50,信号发生器50分别与所述第一脉冲产生电路20和所述第二脉冲产生电路30连接,产生相位均匀间隔的多路基准脉冲信号。
示例性地,信号发生器50可以为环路振荡器(Ring Oscillator,RO)。图3示出了环路振荡器的结构示意图,参见图3,该环路振荡器包括多个与非门,多个与非门相连形成环路,该环路振荡器具有多个引脚P0-P15,其中一个引脚可以作为输入端输入一路初始脉冲信号,初始脉冲信号经过与非门产生延迟,由其他引脚作为输出端输出多路基准脉冲信号,且多路基准脉冲信号为相位均匀间隔的基准脉冲信号。
相位均匀间隔的基准脉冲信号是指,信号发生器50产生的多路脉冲信号的相位变化情况相同,且多路脉冲信号初始相位的间隔相等。
图4为采用图2中的信号发生器产生的K路相位均匀间隔的基准脉冲信号的波形图。参见图4,任意两路信号的波形相同(即周期和幅度相同),且K路信号的波形均匀排布,也即间隔相同,任意两个相邻的信号之间的相位差为基本时间单元Δ,K路信号的频率均为fi,K为大于2的整数。
在本公开实施例的一种实现方式中,频率合成器200,被配置为按照如下公式生成脉冲信号:
TTAF=(1-r)*TA+r*TB,TA=I*Δ,TB=(I+1)*Δ (1)
也即TTAF=(1-r)*I*Δ+r*(I+1)*Δ=(I+r)*Δ,控制字F=I+r。
其中,TTAF为脉冲信号的周期,TA为第一频率信号(或称为第一周期信号),TB为第二频率信号(或称为第二周期信号);I为前述第一系数,用于从K路基准脉冲信号中进行选择,以进行频率信号的合成;r为前述第二系数,用于控制第一频率信号和第二频率信号出现的概率,其中r控制TB出现的概率,1-r控制TA出现的概率。
例如,控制字I为3,r为0.5,则在第一个周期内,从K路基准脉冲信号中选择出两路相位差为3Δ的基准脉冲信号,进而合成并输出TA=3Δ,在第二个周期内,选择出两路相位差为4Δ的基准脉冲信号,进而合成并输出TB=4Δ,Δ为K路相位均匀间隔的基准脉冲信号中的任意两个相邻信号之间的相位差。
在本公开实施例中,控制字均可以为整数或小数,每个控制字可以拆分为整数部分和小数部分,可以采用整数部分作为前述第一系数,小数部分作为前述第二系数,实现脉率信号的合成。例如,控制字为5.4,则整数部分为5,小数部分为0.4。再例如,控制字为6,则整数部分为6,小数部分为0。
图5为采用频率合成器进行脉冲信号合成的原理示意图。参见图5,该频率合成器利用时间平均频率概念来合成输出脉冲信号。下面以第一频率信号的合成为例进行说明:频率合成器接收控制字和K路相位均匀间隔的基准脉冲信号。控制字F=I+r,其中I是整数部分,r是小数部分;K路相位均匀间隔的基准脉冲信号中的任意两个相邻的信号之间的相位差为基本时间单元Δ。频率合成器首先根据基本时间单元Δ和控制字F中的整数部分I,构建两种不同的时钟周期TA和TB,TA=I·Δ,TB=(I+1)·Δ,TB相较于TA周期更大,在图5中表现为TB的高电平(或低电平)的长度比TA长。之后,频率合成器基于控制字F中的小数部分r,控制TA和TB出现的概率,也即前文所说的第一频率信号和第二频率信号的占比,从而产生脉冲信号。
控制字的小数部分影响TA和TB出现的概率,当小数部分为0.5时,TA和TB出现的概率相等,参见图5所示的脉冲信号,其中TA和TB交替出现。当小数部分小于0.5时,TA出现的概率大于TB,特殊情况是当小数部分为0时,该脉冲信号只有TA一个成分;当小数部分大于0.5时,TB出现的概率大于TA。
图6为本公开提供的一种频率合成器的结构示意图。参见图6,频率合成器可以包括第一处理单元21、第二处理单元22以及输出单元23。
第一处理单元21,与控制电路10连接,基于控制字分别产生第一控制信号和第二控制信号;第二处理单元22,与第一处理单元21连接,基于第一控制信号从相位均匀间隔的基准脉冲信号中选出第一脉冲信号,以及基于第二控制信号从所述基准脉冲信号中选出第二脉冲信号,并从第一脉冲信号和第二脉冲信号中选择一个作为输出信号;
输出单元23,与第二处理单元22连接,基于第二处理单元22的输出信号产生所述脉冲信号。
下面结合图6对第一处理单元21、第二处理单元22以及输出单元23的详细工作过程进行说明:
第一处理单元21包括第一逻辑控制电路211、第二逻辑控制电路212。
参考图6,第一逻辑控制电路211包括第一加法器2111、第一寄存器2112和第二寄存器2113,第一寄存器2112分别与第一加法器2111和第二寄存器2113连接。第一逻辑控制电路211的作用是产生第一控制信号。
第一加法器2111将控制字F和第一寄存器2112存储的最高有效位(mostsignificant bits,例如,5比特)相加,然后在第二时钟信号CLK2的上升沿时将相加结果保存到第一寄存器2112中;或者,第一加法器2111可以将控制字F和第一寄存器2112存储的所有比特相加,然后在第二时钟信号CLK2的上升沿时将相加结果保存到第一寄存器2112中。在第二时钟信号CLK2的下一个上升沿时,第一寄存器2112存储的最高有效位将被存储到第二寄存器2113中,作为第一K→1多路复用器221的选择信号,也即前述第一控制信号,用于从K路相位均匀间隔的基准脉冲信号中选择一路信号作为第一脉冲信号。
在将控制字F和第一寄存器2112存储的最高有效位相加时,假设第一寄存器2112内的值小于1,如果相加结果的小数部分进位,则存入第二寄存器2113的最高有效位为I+1,如果相加时控制字未发生进位,则存入第二寄存器2113的最高有效位为I。当第二寄存器2113中为I+1时,频率合成器对应输出的是TB=(I+1)·Δ,当第二寄存器2113中为I时,频率合成器对应输出的是TA=I·Δ,可以看出输出TA还是TB与控制字的小数部分大小相关,控制字的小数部分越小,越不容易发生进位,则输出TA的概率越大,反之则输出TB的概率大。
这里,第一寄存器2112可以包括存储整数的第一部分和存储小数的第二部分。相加时,将控制字F的整数部分和第一部分中的内容相加,将控制字F的小数部分和第二部分中的内容相加。相加时为二进制相加,由加法器实现。
第二逻辑控制电路212包括第二加法器2121、第三寄存器2122和第四寄存器2123。第三寄存器2122分别与第二加法器2121以及第四寄存器2123连接。第二逻辑控制电路212的作用是产生第二控制信号。
第二加法器2121将控制字的一半F/2和第一寄存器2112存储的最高有效位相加,然后在第二时钟信号CLK2的上升沿时将相加结果保存到第三寄存器2122中。在将相加结果保存到第三寄存器2122中之后,在第一时钟信号CLK1的上升沿时,第三寄存器2122存储的信息将被存储到第四寄存器2123中,并作为第二K→1多路复用器222的选择信号,也即前述第二控制信号,用于从K个多相位输入信号中选择一路信号作为第二脉冲信号。其中,第二时钟信号CLK2为第一时钟信号CLK1经过非门后的信号。
参考图6,第二处理单元22包括第一K→1多路复用器221、第二K→1多路复用器222和2→1多路复用器223。第一K→1多路复用器221和第二K→1多路复用器222分别包括多个输入端、控制输入端和输出端。2→1多路复用器223包括控制输入端、输出端、第一输入端和第二输入端。第一K→1多路复用器221的输出端和2→1多路复用器223的第一输入端连接,第二K→1多路复用器222的输出端和2→1多路复用器223的第二输入端连接;第一K→1多路复用器221的多个输入端、第二K→1多路复用器222的多个输入端均与信号发生器连接;第一K→1多路复用器221的控制输入端与第二寄存器2113连接,第二K→1多路复用器222的控制输入端与第四寄存器2123连接。
第一K→1多路复用器221的控制输入端在第一逻辑控制电路211产生的第一控制信号的控制下,从K路相位均匀间隔的基准脉冲信号中选择一路信号作为输出信号,也即第一脉冲信号;第二K→1多路复用器222的控制输入端在第二逻辑控制电路212产生的第二控制信号控制下,从K路相位均匀间隔的基准脉冲信号中选择一路信号作为输出信号,也即第二脉冲信号。
以第一K→1多路复用器为例,在选择输出信号时,可以根据第二寄存器2113存储的值,也即第一控制信号的数值选择,例如,第一控制信号为3,则选择K路相位均匀间隔的基准脉冲信号中的第3路作为输出。
2→1多路复用器223可以在第一时钟信号CLK1的上升沿时,选择来自第一K→1多路复用器221输出的第一脉冲信号和来自第二K→1多路复用器222输出的第二脉冲信号中的一个,作为2→1多路复用器223的输出信号。例如,在第一个上升沿时开始选择第一脉冲信号直到第二个上升沿,在第二个上升沿时开始选择第二脉冲信号直到第三个上升沿,依次类推。
由于2→1多路复用器是在2个K→1多路复用器的输出中进行选择的,2个K→1多路复用器的输出拼合形成新的周期,由于2个K→1多路复用器的输出的第一脉冲信号和第二脉冲信号间相差整数个Δ,并且存在相差I个Δ和相差I+1个Δ两种情况,使得最终频率合成器输出的脉冲信号中存在TA和TB两个不同的周期。
参考图6,输出单元23包括触发电路。触发电路用于生成脉冲串。触发电路包括D触发器231、第一反相器232和第二反相器233。D触发器231包括数据输入端、时钟输入端和输出端。第一反相器232包括输入端和输出端。第二反相器233包括输入端和输出端。D触发器231的时钟输入端与2→1多路复用器223连接,D触发器231的数据输入端与第一反相器232的输出端连接,D触发器231的输出端分别与第一反相器232的输入端和第二反相器233的输入端连接。D触发器231的输出端或第二反相器233的输出端可以作为频率合成器的输出端,也即产生脉冲信号的一端,因此,频率合成器输出的脉冲信号也即图6中的第一时钟信号CLK1或者第二时钟信号CLK2。
D触发器231的时钟输入端接收来自2→1多路复用器223的输出端的输出,并通过输出端输出第一时钟信号CLK1;第一反相器232的输入端接收第一时钟信号CLK1,并将输出信号输出给D触发器231的数据输入端;第二反相器233的输入端接收第一时钟信号CLK1,并通过输出端输出第二时钟信号CLK2。
频率合成器输出的脉冲信号的频率Fo与控制字F的关系如图7所示,二者的关系为Fo=1/(F·Δ),可以看出在相位差Δ一定的情况下,频率Fo与控制字F成反比,也即控制字越大频率越小。
该频率合成器内部含有多个多路选择器,如前文中的第一K→1多路复用器221、第二K→1多路复用器222和2→1多路复用器223,同一个多路选择器中的不同路径传输相同信号所用时间不同,这也是该电路产生抖动(jitters)的主要与原因之一,我们把两个频率合成器并联,输入同一个信号,那么这个信号到达输出电路时间将存在差异,将这个差异提取,并编码成1或0,即可获得一串二进制比特组成的标识(ID),也即数字指纹,并且该数字指在每次上电后才会产生并且在不改变参数的情况下不变。在上层应用中,可以利用此数字指完成授权、认证、加密、解密等。
下面对本公开提供的数字指纹产生器中电路性能与设计时产生偏差进行说明,该指纹产生器中主要存在以下几个方面的偏差,每个方面的偏差都会导致脉冲信号波形的变化,最终这些偏差共同影响数字指纹产生器输出的数字指纹:
1、信号发生器的电路布局布线产生的偏差,造成输出的K路相位均匀间隔的基准脉冲信号与理想波形存在偏差ε1;
2、信号发生器将K路信号分别传输给第一脉冲产生电路20和第二脉冲产生电路30,由于传输布线偏差,造成传输到第一脉冲产生电路20的信号与传输到第二脉冲产生电路30的信号之间存在偏差ε2;
3、K路信号到达第一脉冲产生电路20和第二脉冲产生电路30,会经过第一脉冲产生电路20和第二脉冲产生电路30内部处理,最终输出相应的脉冲信号,由于第一脉冲产生电路20和第二脉冲产生电路30的布局布线偏差,造成第一脉冲产生电路20和第二脉冲产生电路30输出的脉冲信号之间存在偏差ε3;
4、第一脉冲产生电路20和第二脉冲产生电路30将脉冲信号传输给输出电路40,由于传输布线偏差,造成第一脉冲产生电路20和第二脉冲产生电路30脉冲信号到达输出电路40的时间存在偏差ε4。
需要说明的是,上述偏差会由于环境发生剧烈变化而改变,因此该数字指纹生成器还可以包括保护装置,数字指纹生成器的电路结构可以设置在该保护装置内,例如保护装置内恒温、恒压、恒湿,从而避免环境因素对电路影响,保证数字指纹输出的稳定性。另外,上述偏差还会随着线路老化而变化,该数字指纹生成器在设计制作时需要考虑老化周期,保证该数字指纹生成器的使用寿命足够长,在该使用寿命内老化造成的偏差不影响数字指纹输出,保证数字指纹生成器的输出稳定。
除去信号发生器内部偏差ε1(两个频率合成器使用相同的信号发生器,这部分偏差对两个频率合成器的影响相同,在比较两个频率合成器输出脉冲信号的上升沿先后时,将会把偏差ε1消除),其余的所有偏差都会影响数字指纹的产生,因此可以将ε2、ε3、ε4统一定义为一个参数ε,仅用这个参数来表示第一脉冲产生电路20和第二脉冲产生电路30对应的两条路径的偏差。
假设,K路相位均匀间隔的基准脉冲信号中第x路到达第一脉冲产生电路20的频率合成器中2→1多路复用器的时刻为εx,K路相位均匀间隔的基准脉冲信号中第mod(x+nF,K)路到达第一脉冲产生电路20的频率合成器中2→1多路复用器的时刻为εx+nF。K路相位均匀间隔的基准脉冲信号中第x路到达第二脉冲产生电路30的频率合成器中2→1多路复用器的时刻为ε′x,K路相位均匀间隔的基准脉冲信号中第mod(x+nF,K)路到达第二脉冲产生电路30的频率合成器中2→1多路复用器的时刻为ε′x+nF。其中,第x路和第mod(x+nF,K)路分别为频率合成器中K→1多路复用器连续两个周期选中的两路脉冲信号。其中,第mod(x+nF,K)路表示,将第一寄存器存储的最高有效位x与控制字F连续经过n个周期的叠加后选中的脉冲信号的路数(第一寄存器每周期与控制字F累加)。
此时,第一脉冲产生电路20输出的脉冲信号的周期可以表示为:
T1=εx+F-εx (2)
第二脉冲产生电路30输出的脉冲信号的周期可以表示为:
T2=ε′x+F-ε′x (3)
根于公式(1)(2)可知,由于第一脉冲产生电路20和第二脉冲产生电路30之间的偏差,造成T1和T2的周期差异,且该差异在不同周期可能不同,例如部分周期中第一脉冲信号的上升沿在前,部分周期中第二脉冲信号的上升沿在前,将各个周期中第一脉冲信号和第二脉冲信号的上升沿的先后关系转换为比特输出,从而实现对前述偏差的编码,得到数字指纹。
为了实现对于前述偏差的编码,所述输出电路40包括D触发器(D-Flip Flop,DFF)400,所述D触发器400的数据输入端D与所述第一脉冲产生电路20连接,所述D触发器400的时钟输入端CLK与所述第二脉冲产生电路30连接;
所述D触发器400,基于所述第一脉冲信号和所述第二脉冲信号的上升沿的先后顺序,输出数字指纹。
D触发器400的工作原理是当CLK信号出现上升沿时,D的数据可以存储至Q端口,因此该电路是理想的时间比较器,当CLK(第一脉冲信号)快于D信号(第二脉冲信号)时,产生比特0,当CLK慢于D信号时,产生比特1。
也即,当ΔT=T2-T1≥0时,输出电路40的输出bm=1。
当ΔT=T2-T1<0时,输出电路40的输出bm=0。
其中,
ΔT=T2-T1=(ε′x+F-ε′x)-(εx+F-εx)=(ε′x+F-εx+F)-(ε′x-εx) (4)
εx,εx′,εx+F,ε′x+F主要依赖于第一脉冲产生电路20和第二脉冲产生电路30的布局,在设计电路时将二者设计为相同结构,这样其误差主要来源于工艺误差,因此引入了随机性和不可预测性。
将ΔT的一种取值作为一个特征位(Feature-bit),在K和F确定的情况下,该数字指纹生成器可以产生Ω×K个特征位:
ΔT的第一个值,此时输出电路40的输出bm为1bit:
ΔT=(ε′x+F-εx+F)-(ε′x-εx)=δ1 (5)
ΔT的第二个值,此时输出电路40的输出bm为2bit:
ΔT=[(ε′x+2F-εx+2F)-(ε′x+F-εx+F)]+[(ε′x+F-εx+F)-(ε′x-εx)]=δ2+δ1 (6)
当n<Ω时,ΔT的第n个值,此时输出电路40的输出bm为nbit:
ΔT=[(ε′x+nF-εx+nF)-(ε′x+(n-1)F-εx+(n-1)F)]+…+[(ε′x+F-εx+F)-(ε′x-εx)]=δn+δn-1+…+δ2+δ1 (7)
当n=Ω时,ΔT的第n个值,此时输出电路40的输出bm为Ωbit:
ΔT=[(ε′x+ΩF-εx+ΩF)-(ε′x+(Ω-1)F-εx+(Ω-1)F)]+…+[(ε′x+F-εx+F)-(ε′x-εx)]=δΩ+δΩ-1+…+δ2+δ1 (8)
到目前为止,ΔT每次都引入了新的偏差量,且各个偏差量之间相互独立,没有必然联系。
当n>Ω时,ΔT的第n个值,此时输出电路40的输出bm为nbit:
ΔT=[(ε′x+nF-εx+nF)-(ε′x+(n-1)F-εx+(n-1)F)]+[ε′x+(n-1)F-εx+(n-1)F-(ε′x+(n-2)F-εx+(n-2)F)]+…+[(ε′x+ΩF-εx+ΩF)-(ε′x+(Ω-1)F-εx+(Ω-1)F)]…+[(ε′x+F-εx+F)-(ε′x-εx)]
=δn+δn-1+…+δΩ+δΩ-1…+δ2+δ1 (9)
由于频率合成器中两个K→1多路复用器在经过若干个周期后便会重复选择之前选择波形,并且经过的周期数为Ω,因此:
δΩ+1=δ1
δΩ+2=δ2
δn=δ(n mod Ω)
(10)
在Ω周期后,由于不能引入新的偏差量,电路的不可预测性降低,因此可以将Ω个周期后产生的数据删除,只保留Ω个周期数据。
其中,Ω可以通过下式计算:
其中,K为基准脉冲信号的路数,也等于第一寄存器能够存储的最大值,F为控制字,gcd为最大公约数。
例如,K=16,F=4,第一寄存器为4位,即存储最大值为16,则该寄存器中的值每周期+F(+4),则4个周期后寄存器中的值与初始情况相同,也即这里的Ω为4。
示例性地,所述控制电路10还与所述输出电路40连接;
所述控制电路10,获取所述输出电路40输出的数字指纹,并对所述数字指纹进行简化处理:提取所述数字指纹中一个周期的数据并删除其他周期的数据,所述周期根据所述基准脉冲信号的路数以及所述控制字确定。
图8示出了一种特征位分布示意图。如图8所示,横坐标为周期(0~40),纵坐标为ΔT,在这幅图中Ω=8,可以看出,每经过8个周期后,偏差量便开始重复。图中线A为阈值线,也即ΔT在该线上方大于0,在线下方小于0,对应的最终输出电路输出的值也不同;图中B代表每个周期对应的ΔT的取值点;线C表示ΔT变化趋势,虽然偏差增量会周期重复,例如0~8周期中各个周期的偏差增量和9~16中各个周期的偏差增量相同。但在0~40周期中,由于偏差的累加效果,其整体趋势会呈斜线,例如0~8周期和9~16周期并非完全重复。
在生成数字指纹的过程中,频率合成器所选择的基准脉冲信号的初始相位会影响数字指纹。
当控制字F确定时,假设K→1多路复用器在两种情况下选择的基准脉冲信号的初始相位分别为i和j,则:
ΔTi=T2-T1=(ε′i+F-εi+F)-(ε′i-εi)=δi
ΔTj=T2-T1=(ε′j+F-εj+F)-(ε′j-εj)=δj
ΔTi-ΔTj=δi-δj=[(ε′i+F-εi+F)-(ε′i-εi)]-[(ε′j+F-εj+F)-(ε′j-εj)]
=(ε′i+F-ε′j+F)+(εj+F-εi+F)+(ε′j-ε′i)+(εi-εj)
(12)
初始相位不同,偏差不同,将导致ΔTi-ΔTj不等于0,这意味着我们选择不同的初始相位,便会得到不同的ΔT,输出不同的数据比特,得到不同的数字指纹。
图9示出了一种初始相位与特征位的关系图。参见图9,K=128,横坐标为基准脉冲信号对应的路数,不同路的基准脉冲信号初始相位不同,纵坐标为ΔT,频率合成器工作时选择不同初始相位的基准脉冲信号进行频率合成时,会产生不同的ΔT,并且,从图中可以看出各个ΔT之间没有任何关系。初始相位有K个选择,结合上述Ω个特征位,便可以得到一个控制字输入下,总的特征位(Feature-bit,FB)为:
FB=Ω×K (13)
再次参见图2,所述信号发生器50还与所述控制电路10连接;
所述控制电路10,向所述信号发生器50发送初始相位控制指令,所述初始相位控制指令用于控制所述信号发生器50产生的基准脉冲信号的初始相位;其中,所述基准脉冲信号的初始相位不同,对应的所述数字指纹不同。
以图4所示的0~K-1路脉冲为例,在信号发生器50中有1~K个输出端口,在信号发生器50产生脉冲时,可以按照第0路从第1个输出端口输出,第1路从第2个输出端口输出,依次类推的方式输出;也可以按照第0路从第2个输出端口输出,第1路从第3个输出端口输出,依次类推的方式输出;上述不同的输出方式就对应了不同的初始相位。所以,这里的初始相位实际是指信号发生器50不同输出端口输出的脉冲的初始相位。由于不同输出端口和频率合成器之间的连接关系是固定的(K路信号可以通过K条线传输),因此改变初始相位,可以改变输出的数字指纹。
在本公开实施例中,所述控制电路10,还可以接收第一控制信号,响应于所述第一控制信号,更新输出的所述控制字和所述初始相位控制指令中的至少一个。
示例性地,所述控制电路10还可以与处理器、上位机或者其他终端连接,上述控制电路10连接的器件或设备可以控制数字指纹生成器变更输出的数字指纹。例如,所述控制电路10,接收所述处理器、上位机或者其他终端发送的第一控制信号,响应于所述第一控制信号,更新输出的所述控制字和所述初始相位控制指令中的至少一个。
控制电路10除了控制控制初始相位、控制字外,还可以控制基准脉冲信号的频率。该数字指纹生成器具有4个状态:分别是空闲(IDLE)状态,等待配置(WAITC)状态,相位重置(PHRST)状态和指纹生成(PUFEN)状态。
在空闲状态下,数字指纹生成器没有任何操作,等待使能信号;当获取使能信号后,数字指纹生成器进入等待配置状态。
在等待配置状态下,频率合成器开始工作,等待配置控制字F;相应地,控制电路10获得使能信号后,产生控制字F给频率合成器,完成配置,数字指纹生成器进入相位重置状态。当在等待配置状态下,长时间没有完成配置时,会重新返回空闲状态。
在相位重置状态,控制电路10配置信号发生器输出的基准脉冲信号的初始相位,将相位重置后进入指纹生成状态。其中,相位重置是指将相位重置到输出某个特定指纹的初始相位(输出多个数字指纹中特定的一个),或者重置为和上一次的初始相位不同的初始相位(改变输出的数字指纹)。
在指纹生成状态下,数字指纹生成器生成数字指纹。
在指纹生成状态下,控制电路10还可以接收处理器、上位机或其他终端的第一控制信号,基于该第一控制信号数字指纹生成器从指纹生成状态转回等待配置状态,此时,控制电路10切换INV或控制字F中的至少一个,从而改变生成的数字指纹。
数字指纹生成器的几个状态间的转换关系可以如图10所示。
该数字指纹生成器一共可以产生ΩK个特征位,一共K个数字指纹。
可选地,输出电路40基于所述第一脉冲信号和所述第二脉冲信号的上升沿的先后顺序,输出0/1比特序列;或者,基于所述第一脉冲信号和所述第二脉冲信号的下降沿的先后顺序,输出0/1比特序列;将0/1比特序列转换为二维码。
例如,将比特0转换为白点,比特1转换为黑点,按照比特序列的顺序,排列出固定尺寸的矩形,得到二维码。例如,排列出M×N的矩形,M为每行中黑点和白点的数量,N为每列中黑点和白点的数量。将上述二维码作为数字指纹。
图11示出了该指纹生成器产生的数字指纹。如图11所示,在K=32,F=4,Ω=8时产生的十个数字指纹,仅为该场景下产生的部分数字指纹。每个都具有特定的图案,根据各个数字指纹的图案可以确定对应的电路或者芯片,从而可以完成认证。
本公开提出的基于频率合成器的物理非克隆函数数字指纹生成方案,具有高效、低功耗、低成本、高可靠性等特点,可以集成在各种芯片中,可用于指纹识别、密码学、安全防护、加密等领域,为物联网时代各个独立的芯片提供一个独一无二的数字指纹。
图12示出了本公开实施例提供的一种数字指纹生成方法的流程图。参见图12,该方法包括:
步骤501:获取控制字;
该步骤可以由图1中的控制电路执行。
步骤502:响应于所述控制字,输出第一脉冲信号;
该步骤可以由图1中的第一脉冲产生电路执行。
步骤503:响应于所述控制字,输出第二脉冲信号;所述第一脉冲信号和所述第二脉冲信号通过相同结构的电路生成;所述第一脉冲信号和所述第二脉冲信号分别包括第一频率信号和第二频率信号,所述第一频率信号和所述第二频率信号出现的概率由对应的所述控制字控制
该步骤可以由图1中的第二脉冲产生电路执行。
可选地,所述响应于所述控制字,输出第一脉冲信号,包括:
响应于相位均匀间隔的基准脉冲信号和所述控制字,产生所述第一脉冲信号;
其中,所述控制字包括第一系数和第二系数;
所述第一脉冲信号包括基于所述基准脉冲信号和第一系数产生的所述第一频率信号和基于所述基准脉冲信号和第一系数产生的所述第二频率信号,所述第一脉冲信号中的所述第一频率信号和所述第二频率信号的占比由所述第二系数控制。
可选地,所述响应于相位均匀间隔的基准脉冲信号和所述控制字,产生所述第一脉冲信号,包括:
基于所述控制字分别产生第一控制信号和第二控制信号;
基于所述第一控制信号从相位均匀间隔的多路基准脉冲信号中选出第一脉冲信号,以及基于所述第二控制信号从所述多路基准脉冲信号中选出第二脉冲信号,并从所述第一脉冲信号和所述第二脉冲信号中选择一个作为输出信号;
基于所述输出信号产生所述第一脉冲信号。
示例性地,按照如下公式生成脉冲信号:TTAF=(1-r)*TA+r*TB,TA=I*Δ,TB=(I+1)*Δ,TTAF=(1-r)*I*Δ+r*(I+1)*Δ=(I+r)*Δ,控制字F=I+r。
其中,TTAF为脉冲信号的周期,TA为第一频率信号(或称为第一周期信号),TB为第二频率信号(或称为第二周期信号);I为前述第一系数,用于从K路基准脉冲信号中进行选择,以进行频率信号的合成,例如控制字I为3,则在一个周期内,从K路基准脉冲信号中选择出两路相位差为3Δ的基准脉冲信号,进而合成并输出TA=3Δ,在下一周期内,选择出两路相位差为4Δ的基准脉冲信号,进而合成并输出TB=4Δ,Δ为K路相位均匀间隔的基准脉冲信号中的任意两个相邻信号之间的相位差;r为前述第二系数,用于控制第一频率信号和第二频率信号出现的概率,其中r控制TB出现的概率,1-r控制TA出现的概率。
步骤504:基于所述第一脉冲信号和所述第二脉冲信号按照预设的第一规则,输出数字指纹。
示例性地,第一规则,包括:基于所述第一脉冲信号和所述第二脉冲信号的上升沿的先后顺序,输出数字指纹;或者,基于所述第一脉冲信号和所述第二脉冲信号的下降沿的先后顺序,输出数字指纹。
该步骤可以由图1中的输出产生电路执行。
可选地,所述方法还包括:
接收第一控制信号;
响应于所述第一控制信号,更新所述控制字和初始相位控制指令中的至少一个,所述初始相位控制指令用于控制所述基准脉冲信号的初始相位;其中,所述基准脉冲信号的初始相位不同,对应的所述数字指纹不同。
可选地,所述方法还包括:
获取输出的数字指纹,并对所述数字指纹进行简化处理:提取所述数字指纹中一个周期的数据并删除其他周期的数据,所述周期根据所述基准脉冲信号的路数以及所述控制字确定。
以上仅为本公开的示例性实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开所附权利要求书限定的保护范围之内。
Claims (13)
1.一种数字指纹生成器,其特征在于,所述数字指纹生成器包括:
控制电路,产生控制字;
第一脉冲产生电路,与所述控制电路连接,响应于所述控制字,输出第一脉冲信号;
第二脉冲产生电路,与所述控制电路连接,且与所述第一脉冲产生电路结构相同,响应于所述控制字,输出第二脉冲信号;所述第一脉冲信号和第二脉冲信号分别包括第一频率信号和第二频率信号,且所述第一频率信号和所述第二频率信号出现的概率由所述控制字控制;
输出电路,分别与所述第一脉冲产生电路和所述第二脉冲产生电路连接,基于所述第一脉冲信号和所述第二脉冲信号按照预设的第一规则,输出数字指纹。
2.根据权利要求1所述的数字指纹生成器,其特征在于,所述第一脉冲产生电路,包括:
频率合成器,所述频率合成器分别与所述控制电路和所述输出电路连接;
所述频率合成器响应于相位均匀间隔的基准脉冲信号和所述控制字,产生所述第一脉冲信号;
其中,所述控制字包括第一系数和第二系数;
所述第一脉冲信号包括基于所述基准脉冲信号和第一系数产生的所述第一频率信号和基于所述基准脉冲信号和第一系数产生的所述第二频率信号,所述第一脉冲信号中的所述第一频率信号和所述第二频率信号的占比由所述第二系数控制。
3.根据权利要求1所述的数字指纹生成器,其特征在于,所述第一规则,包括基于所述第一脉冲信号和所述第二脉冲信号的上升沿的先后顺序,输出数字指纹;或者,基于所述第一脉冲信号和所述第二脉冲信号的下降沿的先后顺序,输出数字指纹。
4.根据权利要求3所述的数字指纹生成器,其特征在于,所述输出电路包括D触发器,
所述D触发器的数据输入端与所述第一脉冲产生电路连接,所述D触发器的时钟输入端与所述第二脉冲产生电路连接;
所述D触发器,基于所述第一脉冲信号和所述第二脉冲信号的上升沿的先后顺序,输出数字指纹。
5.根据权利要求1至4任一项所述的数字指纹生成器,其特征在于,所述数字指纹生成器还包括:
信号发生器,分别与所述第一脉冲产生电路和所述第二脉冲产生电路连接,产生相位均匀间隔的多路基准脉冲信号。
6.根据权利要求5所述的数字指纹生成器,其特征在于,所述信号发生器还与所述控制电路连接;
所述控制电路,向所述信号发生器发送初始相位控制指令,所述初始相位控制指令用于控制所述信号发生器产生的基准脉冲信号的初始相位;其中,所述基准脉冲信号的初始相位不同,对应的所述数字指纹不同。
7.根据权利要求6所述的数字指纹生成器,其特征在于,所述控制电路,接收第一控制信号,响应于所述第一控制信号,更新输出的所述控制字和所述初始相位控制指令中的至少一个。
8.根据权利要求7所述的数字指纹生成器,其特征在于,所述控制电路还与所述输出电路连接;
所述控制电路,获取所述输出电路输出的数字指纹,并对所述数字指纹进行简化处理:提取所述数字指纹中一个周期的数据并删除其他周期的数据,所述周期根据所述基准脉冲信号的路数以及所述控制字确定。
9.一种数字指纹生成方法,其特征在于,所述方法包括:
获取控制字;
响应于所述控制字,输出第一脉冲信号;
响应于所述控制字,输出第二脉冲信号;所述第一脉冲信号和所述第二脉冲信号通过相同结构的电路生成;所述第一脉冲信号和所述第二脉冲信号分别包括第一频率信号和第二频率信号,所述第一频率信号和所述第二频率信号出现的概率由对应的所述控制字控制;
基于所述第一脉冲信号和所述第二脉冲信号按照预设的第一规则,输出数字指纹。
10.根据权利要求9所述的方法,其特征在于,所述响应于所述控制字,输出第一脉冲信号,包括:
响应于相位均匀间隔的基准脉冲信号和所述控制字,产生所述第一脉冲信号;
其中,所述控制字包括第一系数和第二系数;
所述第一脉冲信号包括基于所述基准脉冲信号和第一系数产生的所述第一频率信号和基于所述基准脉冲信号和第一系数产生的所述第二频率信号,所述第一脉冲信号中的所述第一频率信号和所述第二频率信号的占比由所述第二系数控制。
11.根据权利要求9所述的方法,其特征在于,所述第一规则,包括基于所述第一脉冲信号和所述第二脉冲信号的上升沿的先后顺序,输出数字指纹;或者,基于所述第一脉冲信号和所述第二脉冲信号的下降沿的先后顺序,输出数字指纹。
12.根据权利要求9至11任一项所述的方法,其特征在于,所述方法还包括:
接收第一控制信号;
响应于所述第一控制信号,更新所述控制字和初始相位控制指令中的至少一个,所述初始相位控制指令用于控制基准脉冲信号的初始相位;其中,所述基准脉冲信号的初始相位不同,对应的所述数字指纹不同。
13.根据权利要求9至11任一项所述的方法,其特征在于,所述方法还包括:
获取输出的数字指纹,并对所述数字指纹进行简化处理:提取所述数字指纹中一个周期的数据并删除其他周期的数据,所述周期根据基准脉冲信号的路数以及所述控制字确定。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011043474.6A CN114329646A (zh) | 2020-09-28 | 2020-09-28 | 数字指纹生成器及数字指纹生成方法 |
PCT/CN2021/110872 WO2022062711A1 (zh) | 2020-09-28 | 2021-08-05 | 数字指纹生成器及数字指纹生成方法 |
US17/794,142 US11868511B2 (en) | 2020-09-28 | 2021-08-05 | Digital fingerprint generator and method for generating digital fingerprint |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011043474.6A CN114329646A (zh) | 2020-09-28 | 2020-09-28 | 数字指纹生成器及数字指纹生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114329646A true CN114329646A (zh) | 2022-04-12 |
Family
ID=80844835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011043474.6A Pending CN114329646A (zh) | 2020-09-28 | 2020-09-28 | 数字指纹生成器及数字指纹生成方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11868511B2 (zh) |
CN (1) | CN114329646A (zh) |
WO (1) | WO2022062711A1 (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101478404A (zh) * | 2009-01-08 | 2009-07-08 | 上海交通大学 | 芯片指纹的提取装置及方法 |
US20090326840A1 (en) * | 2008-06-26 | 2009-12-31 | International Business Machines Corporation | Temperature-Profiled Device Fingerprint Generation and Authentication from Power-Up States of Static Cells |
CN108540109A (zh) * | 2018-04-11 | 2018-09-14 | 中国电子科技集团公司第五十八研究所 | 基于环形振荡器的物理指纹生成电路及方法 |
US20190149519A1 (en) * | 2017-11-16 | 2019-05-16 | Simmonds Precision Products, Inc. | Method and apparatus for physical layer security in low power wireless sensor networks |
CN111327301A (zh) * | 2020-04-14 | 2020-06-23 | 京东方科技集团股份有限公司 | 脉冲宽度调制电路、调制方法及电子设备 |
EP3680905A1 (en) * | 2019-01-13 | 2020-07-15 | eMemory Technology Inc. | Random code generator |
CN114070267A (zh) * | 2020-08-07 | 2022-02-18 | 京东方科技集团股份有限公司 | 数字指纹生成电路、生成方法和电子设备 |
CN114115807A (zh) * | 2020-08-31 | 2022-03-01 | 京东方科技集团股份有限公司 | 随机数生成器及随机数生成方法 |
CN114614987A (zh) * | 2020-12-03 | 2022-06-10 | 北京京东方技术开发有限公司 | 一种集成电路及其数字指纹生成电路、方法 |
CN116368463A (zh) * | 2021-10-27 | 2023-06-30 | 京东方科技集团股份有限公司 | 随机数生成器及随机数生成方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW557636B (en) * | 2002-03-26 | 2003-10-11 | Ind Tech Res Inst | Random number generator |
US7886176B1 (en) * | 2007-09-24 | 2011-02-08 | Integrated Device Technology, Inc. | DDR memory system for measuring a clock signal by identifying a delay value corresponding to a changed logic state during clock signal transitions |
EP2590355A4 (en) * | 2010-06-30 | 2017-04-19 | Fujitsu Limited | Individual-specific information generation device and individual-specific information generation method |
US10044513B2 (en) * | 2013-09-02 | 2018-08-07 | Samsung Electronics Co., Ltd. | Security device having physical unclonable function |
CN103839013B (zh) * | 2014-02-27 | 2017-01-25 | 杭州晟元数据安全技术股份有限公司 | 基于三延时链的物理不可克隆函数电路结构 |
CN106919860B (zh) * | 2015-12-25 | 2020-06-23 | 上海华虹集成电路有限责任公司 | 用于实现物理不可克隆函数的电路以及相应的运行方法 |
CN106533654B (zh) * | 2016-10-12 | 2019-04-19 | 南京航空航天大学 | 可配置物理不可克隆函数电路及其响应产生方法 |
CN106874799B (zh) * | 2017-02-27 | 2020-02-18 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种基于时钟分布网络的物理不可克隆函数生成方法 |
CN108875418B (zh) * | 2017-05-12 | 2020-08-07 | 中芯国际集成电路制造(上海)有限公司 | Puf特征值的生成方法和具有puf的器件 |
CN107241195A (zh) * | 2017-06-26 | 2017-10-10 | 上海华虹集成电路有限责任公司 | 一种稳定增强型物理不可克隆函数 |
US10686458B1 (en) * | 2017-08-01 | 2020-06-16 | Liming Xiu | Method and apparatus for improving frequency source frequency accuracy and frequency stability |
CN108429551B (zh) * | 2018-01-31 | 2022-07-05 | 京东方科技集团股份有限公司 | 一种电子设备的控制方法及电子设备 |
-
2020
- 2020-09-28 CN CN202011043474.6A patent/CN114329646A/zh active Pending
-
2021
- 2021-08-05 US US17/794,142 patent/US11868511B2/en active Active
- 2021-08-05 WO PCT/CN2021/110872 patent/WO2022062711A1/zh active Application Filing
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090326840A1 (en) * | 2008-06-26 | 2009-12-31 | International Business Machines Corporation | Temperature-Profiled Device Fingerprint Generation and Authentication from Power-Up States of Static Cells |
CN101478404A (zh) * | 2009-01-08 | 2009-07-08 | 上海交通大学 | 芯片指纹的提取装置及方法 |
US20190149519A1 (en) * | 2017-11-16 | 2019-05-16 | Simmonds Precision Products, Inc. | Method and apparatus for physical layer security in low power wireless sensor networks |
CN108540109A (zh) * | 2018-04-11 | 2018-09-14 | 中国电子科技集团公司第五十八研究所 | 基于环形振荡器的物理指纹生成电路及方法 |
EP3680905A1 (en) * | 2019-01-13 | 2020-07-15 | eMemory Technology Inc. | Random code generator |
CN111327301A (zh) * | 2020-04-14 | 2020-06-23 | 京东方科技集团股份有限公司 | 脉冲宽度调制电路、调制方法及电子设备 |
CN114070267A (zh) * | 2020-08-07 | 2022-02-18 | 京东方科技集团股份有限公司 | 数字指纹生成电路、生成方法和电子设备 |
CN114115807A (zh) * | 2020-08-31 | 2022-03-01 | 京东方科技集团股份有限公司 | 随机数生成器及随机数生成方法 |
CN114614987A (zh) * | 2020-12-03 | 2022-06-10 | 北京京东方技术开发有限公司 | 一种集成电路及其数字指纹生成电路、方法 |
CN116368463A (zh) * | 2021-10-27 | 2023-06-30 | 京东方科技集团股份有限公司 | 随机数生成器及随机数生成方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2022062711A1 (zh) | 2022-03-31 |
US20230070146A1 (en) | 2023-03-09 |
US11868511B2 (en) | 2024-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10503476B2 (en) | Self-timed random number generator | |
US8341201B2 (en) | Random number generator | |
TWI374649B (en) | Digital random number generator based on digitally-controlled oscillators | |
US20230305811A1 (en) | Systolic random number generator | |
US20140143292A1 (en) | Random number generating circuit | |
EP3067875A1 (en) | Multi-frequencies puf based electronic circuit, authentication system, and authentication method | |
TW201430699A (zh) | 用於亂數產生器之延遲裝置及方法及其亂數產生器 | |
US6407606B1 (en) | Clock generating apparatus | |
CN106919860B (zh) | 用于实现物理不可克隆函数的电路以及相应的运行方法 | |
JP2012186809A (ja) | 乱数を発生させるための装置および方法 | |
US7526087B2 (en) | Random number generator | |
Trichina et al. | Supplemental cryptographic hardware for smart cards | |
JP6550502B1 (ja) | 固有データ生成装置、半導体装置および認証システム | |
CN114329646A (zh) | 数字指纹生成器及数字指纹生成方法 | |
CN114115807A (zh) | 随机数生成器及随机数生成方法 | |
Johnson et al. | Remote dynamic clock reconfiguration based attacks on internet of things applications | |
CN114070267A (zh) | 数字指纹生成电路、生成方法和电子设备 | |
WO2021142830A1 (zh) | 随机数生成电路、随机数生成方法和电子设备 | |
CN114614987B (zh) | 一种集成电路及其数字指纹生成电路、方法 | |
CN116076054A (zh) | 物理不可克隆函数器件及其操作方法、电子设备 | |
CN112084539A (zh) | 一种基于混合布尔网络的多功能物理不可克隆函数装置 | |
US20230179411A1 (en) | Entropy generation for use in cryptographic random number generation | |
US20190243960A1 (en) | Electronic apparatus with clock authentication function and authentication method of clock signal | |
WO2014007583A1 (ko) | Fpga 기반된 진정한 난수 생성기의 성능 향상을 위한 장치 및 방법 | |
CN114089810A (zh) | 用于为加密核提供处理时钟信号的方法和时钟产生电路 |
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 |