CN110430056A - 一种基于fpga的物理不可克隆函数加密技术实现方法 - Google Patents
一种基于fpga的物理不可克隆函数加密技术实现方法 Download PDFInfo
- Publication number
- CN110430056A CN110430056A CN201910861130.7A CN201910861130A CN110430056A CN 110430056 A CN110430056 A CN 110430056A CN 201910861130 A CN201910861130 A CN 201910861130A CN 110430056 A CN110430056 A CN 110430056A
- Authority
- CN
- China
- Prior art keywords
- fpga
- signal
- logic
- output
- input
- 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
Classifications
-
- 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/0877—Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Logic Circuits (AREA)
Abstract
本发明涉及一种基于FPGA的物理不可克隆函数加密技术实现方法,属数据安全保护技术领域,该方法在***SoC上,产生特定信息的编码,其编码可为自定义逻辑序列信号,亦可为传统加密序列数据进行序列编码后的输出信号,以其作为FPGA的PLL单元输入激励;输入信号在PLL单元复位信号作用下,经过定制化的多路输出单元,产生对应的响应信息;认证时,将特定密码输入转化为硬件逻辑信号,经过上述***作用输出,与原始密钥信号对比进行密码认证。基于FPGA的硬件可编程性,对密钥原始因子进行硬件逻辑上的定制,多路输出与多路选择(仲裁)共同作用,克服了单一信号单一路径的难以测量及误差,易于FPGA实现,且具有实用性。
Description
技术领域
本发明涉及数据安全保护技术领域,特别地涉及一种基于FPGA的物理不可克隆函数加密技术实现方法。
背景技术
物理不可克隆函数(PUF)是指利用芯片等集成电路内部结构作为唯一识别码的一种签名数据。在物理硬件安全领域,物理不可克隆函数的研究,已成为一个热门主题。目前,在硬件领域上有众多的加密解决方案,但大多都停留在固定硬件SN号识别、相关机器码MID绑定等原始加密手段。在一定程度上,这些方法具有一定的安全防伪作用,但由于加密数据的加密因子原始信息容易被提取与复制,识别过程的标准流程化操作等因素,其在加密安全性上仍存在一定欠缺。
芯片等集成电路在制造过程中,会引入各种不可确定,且不可避免的工艺差异。这些工艺差异因芯片设计,工艺难度,生产环境等各因素相关。一旦芯片制造完成,其又可保持相当的稳定性,故可用来作为硬件加密的原始信息,以实现密钥不可复制的硬件底层加密。
FPGA是一种现场可编程的硬件逻辑电路芯片,其特点是硬件的可定制化,也即是在逻辑资源允许的范围内,可重复定义自己的硬件电路,具有高度灵活性。同时,FPGA也是集成电路的一种,其自身也保存有芯片制造过程中的一些特有信息,结合FPGA自身的可编程特点,同时利用相关固化的硬件信息,可灵活地创造特有的,不可复制的加密方案。
发明内容
基于上述背景,本发明提供一种基于FPGA的物理不可克隆函数加密技术实现方法,在***SoC上,产生特定信息的编码,其编码可为自定义逻辑序列信号,亦可为传统加密序列数据进行序列编码后的输出信号,以其作为FPGA的PLL单元输入激励;输入信号在PLL单元复位信号作用下,经过定制化的多路输出单元,产生对应的响应信息;认证时,将特定密码输入转化为硬件逻辑信号,经过上述***作用输出,与原始密钥信号对比进行密码认证。
一种基于FPGA的物理不可克隆函数加密技术实现方法,包括以下实施步骤:
S1、利用FPGA,编码单路输入多路扇出的逻辑电路,输入信号经过触发器T1,沿路径传递到触发器T2,在时钟作用下,一级一级往下传递。
具体的,所述的逻辑电路在信号传输过程中会有不同的延时,包含触发器自身的延时、传输路径的延时和时钟信号的延时,延时特性跟具体的芯片工艺及型号相关,多路扇出可通过多路选择器,合并为一个逻辑单位,在布局布线过程中,人为地约束不同线路逻辑电路到FPGA的不同BANK,以充分利用芯片电路生产工艺上的随机性。
S2、设输入信号Ii,采用FPGA内部PLL时钟发生单元的时钟输出作为加密因子的输入激励,复位信号到来时,时钟输出信号被复位,输出固定逻辑电平0,复位作用信号释放后,CLKout处于不稳定态,多路扇出逻辑电路单元经历一段时间后,时钟输出信号达到稳态。
S3、CLKout依据设置,输出相位和频率固定的时钟信号,通过对不同路的扇出信号延时计数测量,得到响应数据(Y1,Y2,...,Yn),以及对应的逻辑结果Zi。
S4、将Zi作为硬件加密的原始因子,利用硬件逻辑算法产生输出响应的密钥。
具体的,所述的利用硬件逻辑算法产生输出响应的密钥,因可编程逻辑电路一旦确定,即具有高度稳定性,同时由于时钟PLL单元与多路扇出单元的可编程性,以及输出的延时与具体芯片的物理特性绑定,故密钥也具有唯一性。
S5、在加密认证过程中,FPGA的PLL输入端产生特定信号,将相应的输出与密钥创建时的输出进行比对,即可确认加密主体是否一致。
进一步地,所述的FPGA的PLL输入端,其单元的输入,由一般***晶振电路经过振荡电路起振作为原始输入,改为采用***特定芯片的某特性I/O,以实现主体硬件的连同加密。
本发明技术方案与现有技术相比具有以下有益效果:
(1)充分利用了FPGA的硬件可编程性,对密钥原始因子进行硬件逻辑上的定制;
(2)多路输出与多路选择(仲裁)共同作用,克服了单一信号单一路径的难以测量及误差,易于FPGA实现,且具有实用性;
(3)与***芯片的特性相结合,可对整体电路的重要硬件进行绑定加密,甚至可定制多路输入多路绑定,使得对单一信号加密方式的破解无效;
(4)***输入信号可进行定制,多路输出信号可进行硬件逻辑编程,结合FPGA芯片物理差异上的延时,使得加密原始因子具有唯一性,具有不可克隆性。
附图说明
图1是本发明***电路与FPGA结合示意图;
图2是本发明信号在逻辑电路中的传输示意图;
图3是本发明单路输入多路扇出逻辑电路示意图;
图4是本发明FPGA的PLL时钟单元的输入与输出示意图;
具体实施方式
为了使本发明的目的及技术方案更加清晰,以下结合附图,对本发明作进一步清楚、完整地描述。应当理解,此处所描述的具体实施例仅仅用以解释本发明的技术方案,本领域技术人员在没有作出创造性劳动前提下所获得的其他实施例,应属于本发明的保护范围。
一种基于FPGA的物理不可克隆函数加密技术实现方法,包括以下实施步骤:
S1、利用FPGA,编码单路输入多路扇出的逻辑电路,输入信号经过触发器T1,沿路径传递到触发器T2,在时钟作用下,一级一级往下传递。
具体的,参照图2所示是本发明信号在逻辑电路中的传输示意图,所述的逻辑电路在信号传输过程中会有不同的延时,包含触发器自身的延时、传输路径的延时和时钟信号的延时,延时特性跟具体的芯片工艺及型号相关,多路扇出可通过多路选择器,合并为一个逻辑单位,在布局布线过程中,人为地约束不同线路逻辑电路到FPGA的不同BANK,以充分利用芯片电路生产工艺上的随机性。
S2、设输入信号Ii,采用FPGA内部PLL时钟发生单元的时钟输出作为加密因子的输入激励,复位信号到来时,时钟输出信号被复位,输出固定逻辑电平0,复位作用信号释放后,CLKout处于不稳定态,多路扇出逻辑电路单元经历一段时间后,时钟输出信号达到稳态。
S3、CLKout依据设置,输出相位和频率固定的时钟信号,通过对不同路的扇出信号延时计数测量,得到响应数据(Y1,Y2,...,Yn),以及对应的逻辑结果Zi。
参照图3所示为本发明单路输入多路扇出逻辑电路示意图,图4所示为本发明FPGA的PLL时钟单元的输入与输出示意图。
S4、将Zi作为硬件加密的原始因子,利用硬件逻辑算法产生输出响应的密钥。
具体的,所述的利用硬件逻辑算法产生输出响应的密钥,因可编程逻辑电路一旦确定,即具有高度稳定性,同时由于时钟PLL单元与多路扇出单元的可编程性,以及输出的延时与具体芯片的物理特性绑定,故密钥也具有唯一性。
S5、在加密认证过程中,FPGA的PLL输入端产生特定信号,将相应的输出与密钥创建时的输出进行比对,即可确认加密主体是否一致。
进一步地,参照图1所示为本发明***电路与FPGA结合示意图,在硬件电路的设计中,往往具有某逻辑功能的电路单元,并非由单一芯片完成,一般需要搭配相应配套的辅助电路,或者ARM/MCU等复杂控制电路。而FPGA的PLL输入端,其单元的输入,由一般***晶振电路经过振荡电路起振作为原始输入,改为采用***特定芯片的某特性I/O,以实现主体硬件的连同加密。
更具体地,在加密认证过程中,并不需要改变电路的逻辑结构。只需要FPGA的PLL输入端,产生特定的信号,即可得到相应的输出。用此输出与密钥创建时的输出进行比对,即可确认加密主体是否一致。甚至,可以在***输入恒定下,只需对FPGA进行PLL单元逻辑复位,得到FPGA芯片特性与延时逻辑的共同作用下的输出,也可快速识别密码的有效性。
本发明提供的技术方案,基于FPGA的硬件可编程性,对密钥原始因子进行硬件逻辑上的定制,多路输出与多路选择(仲裁)共同作用,克服了单一信号单一路径的难以测量及误差,易于FPGA实现,且具有实用性。同时,与***芯片的特性相结合,可对整体电路的重要硬件进行绑定加密,甚至可定制多路输入多路绑定,使得对单一信号加密方式的破解无效;***输入信号可进行定制,多路输出信号可进行硬件逻辑编程,结合FPGA芯片物理差异上的延时,使得加密原始因子具有唯一性,具有不可克隆性。
以上所述对于本领域的技术人员来说能够实现,在不脱离本发明技术方案构思的前提下,所作的修改、等同替换,都理应视为属于本发明的保护范围。
Claims (4)
1.一种基于FPGA的物理不可克隆函数加密技术实现方法,其特征在于,包括以下实施步骤:
S1、利用FPGA,编码单路输入多路扇出的逻辑电路,输入信号经过触发器T1,沿路径传递到触发器T2,在时钟作用下,一级一级往下传递;
S2、设输入信号Ii,采用FPGA内部PLL时钟发生单元的时钟输出作为加密因子的输入激励,复位信号到来时,时钟输出信号被复位,输出固定逻辑电平0,复位作用信号释放后,CLKout处于不稳定态,多路扇出逻辑电路单元经历一段时间后,时钟输出信号达到稳态;
S3、CLKout依据设置,输出相位和频率固定的时钟信号,通过对不同路的扇出信号延时计数测量,得到响应数据(Y1,Y2,...,Yn),以及对应的逻辑结果Zi;
S4、将Zi作为硬件加密的原始因子,利用硬件逻辑算法产生输出响应的密钥;
S5、在加密认证过程中,FPGA的PLL输入端产生特定信号,将相应的输出与密钥创建时的输出进行比对,即可确认加密主体是否一致。
2.根据权利要求1所述一种基于FPGA的物理不可克隆函数加密技术实现方法,其特征在于,步骤S1所述的逻辑电路在信号传输过程中会有不同的延时,包含触发器自身的延时、传输路径的延时和时钟信号的延时,延时特性跟具体的芯片工艺及型号相关,多路扇出可通过多路选择器,合并为一个逻辑单位,在布局布线过程中,人为地约束不同线路逻辑电路到FPGA的不同BANK,以充分利用芯片电路生产工艺上的随机性。
3.根据权利要求1所述一种基于FPGA的物理不可克隆函数加密技术实现方法,其特征在于,步骤S4所述的利用硬件逻辑算法产生输出响应的密钥,因可编程逻辑电路一旦确定,即具有高度稳定性,同时由于时钟PLL单元与多路扇出单元的可编程性,以及输出的延时与具体芯片的物理特性绑定,故密钥也具有唯一性。
4.根据权利要求1所述一种基于FPGA的物理不可克隆函数加密技术实现方法,其特征在于,步骤S5所述的FPGA的PLL输入端,其单元的输入,由一般***晶振电路经过振荡电路起振作为原始输入,改为采用***特定芯片的某特性I/O,以实现主体硬件的连同加密。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910861130.7A CN110430056A (zh) | 2019-09-10 | 2019-09-10 | 一种基于fpga的物理不可克隆函数加密技术实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910861130.7A CN110430056A (zh) | 2019-09-10 | 2019-09-10 | 一种基于fpga的物理不可克隆函数加密技术实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110430056A true CN110430056A (zh) | 2019-11-08 |
Family
ID=68418063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910861130.7A Pending CN110430056A (zh) | 2019-09-10 | 2019-09-10 | 一种基于fpga的物理不可克隆函数加密技术实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110430056A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111259416A (zh) * | 2020-01-13 | 2020-06-09 | 湖北大学 | 一种基于fpga的多算法安全加密认证***及认证方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105009507A (zh) * | 2013-02-28 | 2015-10-28 | 西门子公司 | 借助于物理不可克隆函数创建从加密密钥中推导的密钥 |
CN105760786A (zh) * | 2016-02-06 | 2016-07-13 | 中国科学院计算技术研究所 | 一种cpu+fpga集成芯片的强puf认证方法及*** |
CN106817223A (zh) * | 2017-01-11 | 2017-06-09 | 电子科技大学 | 一种基于SoPC的动态可配置密钥认证*** |
CN106878014A (zh) * | 2017-03-29 | 2017-06-20 | 中国电子产品可靠性与环境试验研究所 | 随机数密钥产生装置及随机数密钥产生方法 |
CN109460681A (zh) * | 2018-10-22 | 2019-03-12 | 南京航空航天大学 | 一种基于延时链的可配置物理不可克隆函数电路 |
-
2019
- 2019-09-10 CN CN201910861130.7A patent/CN110430056A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105009507A (zh) * | 2013-02-28 | 2015-10-28 | 西门子公司 | 借助于物理不可克隆函数创建从加密密钥中推导的密钥 |
CN105760786A (zh) * | 2016-02-06 | 2016-07-13 | 中国科学院计算技术研究所 | 一种cpu+fpga集成芯片的强puf认证方法及*** |
CN106817223A (zh) * | 2017-01-11 | 2017-06-09 | 电子科技大学 | 一种基于SoPC的动态可配置密钥认证*** |
CN106878014A (zh) * | 2017-03-29 | 2017-06-20 | 中国电子产品可靠性与环境试验研究所 | 随机数密钥产生装置及随机数密钥产生方法 |
CN109460681A (zh) * | 2018-10-22 | 2019-03-12 | 南京航空航天大学 | 一种基于延时链的可配置物理不可克隆函数电路 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111259416A (zh) * | 2020-01-13 | 2020-06-09 | 湖北大学 | 一种基于fpga的多算法安全加密认证***及认证方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8782396B2 (en) | Authentication with physical unclonable functions | |
JP5333669B2 (ja) | 個体別情報生成装置及び個体別情報生成方法 | |
CA2971212C (en) | Reliability enhancement methods for physically unclonable function bitstring generation | |
CN105760786B (zh) | 一种cpu+fpga集成芯片的强puf认证方法及*** | |
US9286466B2 (en) | Registration and authentication of computing devices using a digital skeleton key | |
US11144649B2 (en) | Sensitive information provision process | |
CN109005040A (zh) | 动态多密钥混淆puf结构及其认证方法 | |
CN109726598A (zh) | 基于云服务器的嵌入式安全加密芯片 | |
JP5831202B2 (ja) | 個体別情報生成装置及び個体別情報生成方法 | |
US10063526B2 (en) | Method and apparatus for secure provisioning of an integrated circuit device | |
WO2014105310A1 (en) | Device authentication using a physically unclonable functions based key generation system | |
CN107113553A (zh) | 统一近场通信基础架构的安全协议 | |
CN106372539A (zh) | 变频环形振荡器puf电路 | |
Zhang et al. | Design and implementation of a delay-based PUF for FPGA IP protection | |
Alkatheiri et al. | An experimental study of the state-of-the-art PUFs implemented on FPGAs | |
Hemavathy et al. | Arbiter puf—a review of design, composition, and security aspects | |
US9384682B2 (en) | Electronic circuit, electronic apparatus, and authentication system | |
US20220012186A1 (en) | Diversifying a base symmetric key based on a public key | |
CN103516524A (zh) | 安全验证方法和*** | |
WO2021232255A1 (zh) | 真随机数发生器及电子设备 | |
CN110430056A (zh) | 一种基于fpga的物理不可克隆函数加密技术实现方法 | |
Shariffuddin et al. | Review on arbiter physical unclonable function and its implementation in FPGA for IoT security applications | |
CN109683852A (zh) | 一种真随机数发生器 | |
Rai et al. | Design and analysis of reconfigurable cryptographic primitives: TRNG and PUF | |
CN105978889A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 510670 17 / F, building 3, Yunsheng Science Park, No. 11, puyuzhong Road, Huangpu District, Guangzhou City, Guangdong Province Applicant after: GUANGZHOU MELUX INFORMATION TECHNOLOGY Co.,Ltd. Address before: 510670 5th floor, building 5, No.8, science Avenue, Science City, Guangzhou high tech Industrial Development Zone, Guangzhou City, Guangdong Province Applicant before: GUANGZHOU MELUX INFORMATION TECHNOLOGY Co.,Ltd. |