CN109446846A - 一种物理不可克隆函数纠错方法 - Google Patents

一种物理不可克隆函数纠错方法 Download PDF

Info

Publication number
CN109446846A
CN109446846A CN201811220692.5A CN201811220692A CN109446846A CN 109446846 A CN109446846 A CN 109446846A CN 201811220692 A CN201811220692 A CN 201811220692A CN 109446846 A CN109446846 A CN 109446846A
Authority
CN
China
Prior art keywords
matrix
scheme
response
error correction
code
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.)
Granted
Application number
CN201811220692.5A
Other languages
English (en)
Other versions
CN109446846B (zh
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.)
Southeast University
Original Assignee
Southeast University
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 Southeast University filed Critical Southeast University
Priority to CN201811220692.5A priority Critical patent/CN109446846B/zh
Publication of CN109446846A publication Critical patent/CN109446846A/zh
Application granted granted Critical
Publication of CN109446846B publication Critical patent/CN109446846B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/73Protecting 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种物理不可克隆函数纠错方法,包括如下步骤:m个n比特的响应组成了一个响应矩阵Rm×n,基于错误概率p将每个响应分为m部分,对具有相同的p的比特,拼在一行中,得到新的矩阵Pm×n;在注册阶段,利用Pm×n的每一行使用基于校正子的方案或码偏移架构的方案得到帮助数据矩阵HDm×n;在再生成阶段,m个激励生成另一个与Rm×n有些微不同的响应矩阵Xm×n,对Xm×n的每一行做基于校正子的方案或码偏移架构的方案的操作,得到矩阵Qm×n,再对矩阵Qm×n做矩阵的操作,得到Rm×n的估计值本发明针对PUF响应中每个比特错误率并不完全相同的情况,提出新的使用多对CRP的纠错方案,在使用BCH码、LDPC码和极化码时,均在一些错误率分布的情况下,相较传统的纠错方案有更好的BER表现。

Description

一种物理不可克隆函数纠错方法
技术领域
本发明涉及硬件安全技术领域,尤其是一种物理不可克隆函数纠错方法。
背景技术
物联网(IoT)是一个连接数十亿设备的网络,虽然物联网将为工业和社会带来巨大的经济利益,但是它的使用中也存在许多安全问题,大多数物联网设备在资源受限和分布式环境中运行。因此,传统的基于密码的安全和集中式密钥管理系统无法在物联网网络中轻松部署。物理不可克隆功能(PUF)为物联网安全提供了合适的解决方案。
PUF是一种利用产品生产过程中存在的内在的随机性来生成密钥的数字电路,它可以多次重新生成密钥。但是,PUF的输出会因为环境因素(例如温度、供电电压等)的不同而改变。因此,在实际使用PUF时,必须利用纠错技术纠正在重新生成密钥时的错误。
在目前的研究中,通常将PUF的响应中每个比特错误率都看作相同,但实际上,每个比特的错误率并不完全相同,因此需要针对这样的实际情况,改进现有的纠错方案。
发明内容
本发明所要解决的技术问题在于,提供一种物理不可克隆函数纠错方法,相较传统的纠错方案具有更好的BER表现。
为解决上述技术问题,本发明提供一种物理不可克隆函数纠错方法,包括如下步骤:
(1)m个n比特的响应组成了一个响应矩阵Rm×n,基于错误概率p将每个响应分为m部分,对具有相同的p的比特,拼在一行中,得到新的矩阵Pm×n
(2)在注册阶段,利用Pm×n的每一行使用基于校正子的方案或码偏移架构的方案得到帮助数据矩阵HDm×n
(3)在再生成阶段,m个激励生成另一个与Rm×n有些微不同的响应矩阵Xm×n,对Xm×n的每一行做基于校正子的方案或码偏移架构的方案的操作,得到矩阵Qm×n,再对矩阵Qm×n做矩阵的操作,得到Rm×n的估计值
优选的,步骤(2)中,基于校正子的方案具体为:对于一个有n比特的响应Rn,我们用H表示使用的纠错码的校验矩阵,那么帮助数据就是Rn与H的转置的内积,也就是
HD=Rn·HT
在再生成过程中,首先计算校正子Sn-k
因此有
也就是
Sn-k=En·HT
这样就可以利用Sn-k使用译码算法得到Rn的估计值
优选的,步骤(2)中,码偏移架构的方案具体为:对于一个有n比特的响应Rn,对于码偏移架构来说,在注册阶段,为了产生帮助数据HD,首先从给定的纠错码中随机选取一个码字c,将其与Rn做模二加法,
在再生成阶段,将Xn和HD做模二加法,得到这样就有
再将Yn放入译码器中,就可以得到c的估计值这样就可以得到Rn的估计值
优选的,步骤(3)中,矩阵的操作具体为:在做矩阵操作之前,若矩阵Q的大小为m×n,其中n=m×t,矩阵Qm×n
做了矩阵操作之后的矩阵为
其中,p为PUF某比特的错误概率,c为一个随机选取的码字,Rn为一个n比特的响应,H为纠错码的校验矩阵,Sn-k为校正子,Rm×n为m个n比特的响应组成的响应矩阵,Pm×n为对Rm×n重排后的矩阵,HDm×n为帮助数据矩阵,Xm×n为另一个m个n比特的响应组成的响应矩阵,Em×n为噪声产生的“差错”矩阵,Zm×n为对Xm×n重排后的矩阵,Ym×n为Zm×n与帮助数据操作后的矩阵,为对随机选取的码字矩阵的纠错结果,Qm×n为对Zm×n纠错后的矩阵,为m个n比特的响应组成的响应的估计值矩阵。
本发明的有益效果为:本发明针对PUF响应中每个比特错误率并不完全相同的情况,提出新的使用多对CRP的纠错方案,在使用BCH码、LDPC码和极化码时,均在一些错误率分布的情况下,相较传统的纠错方案具有更好的BER表现。
附图说明
图1为PUF现有纠错方案的结构示意图
图2为在三个温度下重复的45900个512字节的PUF响应观察到的成对汉明距离的分布示意图。
图3为本发明的纠错方案结构示意图。
图4为本发明的纠错方案一个例子示意图。
图5为将BCH码用于本发明提出的纠错方案中的性能示意图。
图6为将LDPC码用于本发明提出的纠错方案中的性能示意图。
图7为将极化码用于本发明提出的纠错方案中的性能示意图。
具体实施方式
如图3所示,一种物理不可克隆函数纠错方法,包括如下步骤:
(1)m个n比特的响应组成了一个响应矩阵Rm×n,基于错误概率p将每个响应分为m部分,对具有相同的p的比特,拼在一行中,得到新的矩阵Pm×n
(2)在注册阶段,利用Pm×n的每一行使用基于校正子的方案或码偏移架构的方案得到帮助数据矩阵HDm×n
(3)在再生成阶段,m个激励生成另一个与Rm×n有些微不同的响应矩阵Xm×n,对Xm×n的每一行做基于校正子的方案或码偏移架构的方案的操作,得到矩阵Qm×n,再对矩阵Qm×n做矩阵的操作,得到Rm×n的估计值
现有的纠错方案如图1所示。PUF现有的纠错方案主要是基于校正子的纠错方案与码偏移的纠错方案。这两种纠错方案的大体框架相同,只是在帮助数据的使用上存在区别。
PUF纠错分为注册阶段和再生成阶段。注册阶段包括对于某激励得到相应的n位响应Rn,根据响应得到帮助数据HD,再将帮助数据HD存储下来。再生成阶段包括对于某激励再次生成的的响应Xn,将Xn与HD一起进行操作,得到纠错结果。
对于基于校正子的纠错方案来说,我们用H表示使用的纠错码的校验矩阵,那么帮助数据就是Rn与H的转置的内积,也就是
HD=Rn·HT
在再生成过程中,首先计算校正子Sn-k
因此有
也就是
Sn-k=En·HT
这样就可以利用Sn-k使用译码算法得到Rn的估计值
对于码偏移架构来说,在注册阶段,为了产生帮助数据HD,首先从给定的纠错码中随机选取一个码字c,将其与Rn做模二加法,
在再生成阶段,将Xn和HD做模二加法,得到这样就有
再将Yn放入译码器中,就可以得到c的估计值这样就可以得到Rn的估计值
如图2所示,对于相同的温度,相同的激励,得到的45900个响应互相之间的汉明距离分布大致呈高斯分布,并不是仅仅有一个汉明距离,因此响应每比特的错误概率并不完全相同。
图3是本发明提出的使用多组CRP进行纠错方案的结构图。首先,m个n比特的响应组成了一个响应矩阵Rm×n,因为每个比特的错误概率并不完全相同,基于错误概率p将每个响应分为m部分,对具有相同的p的比特,拼在一行中,就得到了新的矩阵Pm×n。在注册阶段,利用Pm×n的每一行使用基于校正子的方案或码偏移架构的方案得到帮助数据矩阵HDm×n。在再生成阶段,这m个激励就会生成另一个与Rm×n有些微不同的响应矩阵Xm×n,再对Xm×n的每一行做基于校正子的方案或码偏移架构的方案的操作,就可以得到矩阵Qm×n,最后再对矩阵Qm×n做一些矩阵的操作,就可以得到Rm×n的估计值
下面我们以n=128,m=8为例,讲解这个新的纠错方案。如图4所示,R8×128的每一行被分为了8部分,每部分都具有相同的错误概率p。因此,P8×128的第一行由R8×128第一行的前16个比特,第二行的前16个比特,直到第八行的前16个比特组成。以此类推,可以得到P8×128的另外7行。对于P8×128的每一行,可以使用码偏移架构或基于校正子进行纠错的架构生成帮助数据矩阵,我们以码偏移架构为例继续说明。那么就会随机选取8个码字组成C8×128,那么
在再生成阶段,再次得到的响应矩阵X8×128与R8×128一样使用相同的操作得到Z8×128,对Z8×128和HD8×128进行模二加法,得到对Y8×128的每一行进行译码操作就得到了再将和HD8×128进行模二运算,得到Q8×128。而的第一行由Q8×128第一行的前16个比特,第二行的前16个比特,直到第八行的前16个比特组成,这样我们就得到了
该方案可以用矩阵方式表示,假定n=m×t。那么Rm×n可以如下表示:
这样,Pm×n可以如下表示:
这就是注册阶段。
在再生成阶段,再次得到的响应矩阵可以由Xm×n得到,
对Ym×n每一行进行译码操作,就得到了再将与HDm×n做模二加法,得到再由Qm×n就可以如下得到Rm×n的估计值
将BCH码,LDPC码和极化码利用到本发明提出的新的译码方案的仿真结果如图5、图6和图7所示。可以看到,在使用BCH码,LDPC码和极化码时,均在一些错误率分布的情况下,相较传统的纠错方案具有更好的BER表现。
PUF可以用于密钥生成场景,这时候本发明就可以被使用。如在银行的密码锁中,我们使用PUF。生产厂家在生产时对PUF进行测试,计算出一系列的激励-响应对,告诉买家,作为密码。当有人想进入时,他所应该有的密码是激励响应对,当他输入激励相应对时,密码锁将两部分分离,将激励部分输入到PUF中,产生响应,将这时的响应与输入部分的响应对比,当完全吻合时认为密码正确,开门成功。而PUF响应的再生成过程就可以用到本发明。
PUF可以用于设备认证场景。我们考虑一个物联网场景,电动汽车去充电桩充电,充电桩该如何识别电动汽车是“善意的”,不会对自己造成损坏呢。在电动汽车上装上PUF芯片,充电桩向PUF发送激励,检测返回的响应是否与应该的响应相同,就可以实现对汽车的认证。在发送激励得到激励的过程中,电动汽车的PUF就可以用到本发明进行纠错。

Claims (4)

1.一种物理不可克隆函数纠错方法,其特征在于,包括如下步骤:
(1)m个n比特的响应组成了一个响应矩阵Rm×n,基于错误概率p将每个响应分为m部分,对具有相同的p的比特,拼在一行中,得到新的矩阵Pm×n
(2)在注册阶段,利用Pm×n的每一行使用基于校正子的方案或码偏移架构的方案得到帮助数据矩阵HDm×n
(3)在再生成阶段,m个激励生成另一个与Rm×n有些微不同的响应矩阵Xm×n,对Xm×n的每一行做基于校正子的方案或码偏移架构的方案的操作,得到矩阵Qm×n,再对矩阵Qm×n做矩阵的操作,得到Rm×n的估计值
2.如权利要求1所述的物理不可克隆函数纠错方法,其特征在于,步骤(2)中,基于校正子的方案具体为:对于一个有n比特的响应Rn,用H表示使用的纠错码的校验矩阵,帮助数据就是Rn与H的转置的内积,也就是
HD=Rn·HT
在再生成过程中,首先计算校正子Sn-k
Sn-k=Xn·HT⊕HD
而Xn=Rn⊕En,因此有
Sn-k=(Rn·HT)⊕(En·HT)⊕HD
也就是
Sn-k=En·HT
利用Sn-k使用译码算法得到Rn的估计值
3.如权利要求1所述的物理不可克隆函数纠错方法,其特征在于,步骤(2)中,码偏移架构的方案具体为:对于一个有n比特的响应Rn,对于码偏移架构来说,在注册阶段,为了产生帮助数据HD,首先从给定的纠错码中随机选取一个码字c,将其与Rn做模二加法,
HD=Rn⊕c
在再生成阶段,将Xn和HD做模二加法,得到Yn=Xn⊕HD,而Xn=Rn⊕En=HD⊕c⊕En,这样就有
Yn=c⊕En
再将Yn放入译码器中,就可以得到c的估计值得到Rn的估计值
4.如权利要求1所述的物理不可克隆函数纠错方法,其特征在于,步骤(3)中,矩阵的操作具体为:在做矩阵操作之前,若矩阵Q的大小为m×n,其中n=m×t,矩阵Qm×n
做了矩阵操作之后的矩阵为
CN201811220692.5A 2018-10-19 2018-10-19 一种物理不可克隆函数纠错方法 Active CN109446846B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811220692.5A CN109446846B (zh) 2018-10-19 2018-10-19 一种物理不可克隆函数纠错方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811220692.5A CN109446846B (zh) 2018-10-19 2018-10-19 一种物理不可克隆函数纠错方法

Publications (2)

Publication Number Publication Date
CN109446846A true CN109446846A (zh) 2019-03-08
CN109446846B CN109446846B (zh) 2023-01-31

Family

ID=65547221

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811220692.5A Active CN109446846B (zh) 2018-10-19 2018-10-19 一种物理不可克隆函数纠错方法

Country Status (1)

Country Link
CN (1) CN109446846B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110703735A (zh) * 2019-10-24 2020-01-17 长安大学 一种基于物理不可克隆函数电路的无人车ecu安全认证方法
CN112422273A (zh) * 2020-10-15 2021-02-26 湖北工业大学 一种基于比特自检puf的无偏响应去偏结构及生成方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106301786A (zh) * 2016-08-10 2017-01-04 南京航空航天大学 一种基于sram型存储器的物理不可克隆函数响应纠错电路
CN106385316A (zh) * 2016-08-31 2017-02-08 电子科技大学 Puf模糊提取电路和方法
CN107749791A (zh) * 2017-10-17 2018-03-02 东南大学 Ldpc码在puf基于码偏移架构纠错中的应用方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106301786A (zh) * 2016-08-10 2017-01-04 南京航空航天大学 一种基于sram型存储器的物理不可克隆函数响应纠错电路
CN106385316A (zh) * 2016-08-31 2017-02-08 电子科技大学 Puf模糊提取电路和方法
CN107749791A (zh) * 2017-10-17 2018-03-02 东南大学 Ldpc码在puf基于码偏移架构纠错中的应用方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
冯志华等: "适用于SRAM-PUF的纠错码研究", 《微电子学与计算机》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110703735A (zh) * 2019-10-24 2020-01-17 长安大学 一种基于物理不可克隆函数电路的无人车ecu安全认证方法
CN112422273A (zh) * 2020-10-15 2021-02-26 湖北工业大学 一种基于比特自检puf的无偏响应去偏结构及生成方法

Also Published As

Publication number Publication date
CN109446846B (zh) 2023-01-31

Similar Documents

Publication Publication Date Title
Agrawal et al. A rate-optimizing compiler for non-malleable codes against bit-wise tampering and permutations
US10135466B2 (en) Data sending method and apparatus
CN108337092B (zh) 用于在通信网络中执行集体认证的方法和系统
CN109446846A (zh) 一种物理不可克隆函数纠错方法
CN106385316B (zh) Puf模糊提取电路和方法
Bai et al. Improved boomerang attacks on round‐reduced SM3 and keyed permutation of BLAKE‐256
Hooshmand et al. Improving the Rao-Nam Secret Key Cryptosystem Using Regular EDF-QC-LDPC Codes.
CN107749791B (zh) Ldpc码在puf基于码偏移架构纠错中的应用方法及装置
CN112131614A (zh) 自适应配置的puf设备、含puf设备的融合终端及身份认证系统
CN111865595B (zh) 一种区块链的共识方法及装置
Guo et al. Sca-ldpc: A code-based framework for key-recovery side-channel attacks on post-quantum encryption schemes
CN115333803A (zh) 用户密码加密处理方法、装置、设备及存储介质
Chen et al. Secrecy coding for the binary symmetric wiretap channel
WO2020156641A1 (en) Device and method for processing data of a quantum key distribution system
Shooshtari et al. Provably secure strong designated verifier signature scheme based on coding theory
CN117081751A (zh) 一种高可靠性量化响应仲裁器型puf结构
Yue et al. Coded decentralized learning with gradient descent for big data analytics
Unruh The impossibility of computationally sound XOR
Guo et al. Time-variant decoding of convolutional network codes
Jiao et al. Improved guess‐and‐determine attack on TRIVIUM
JP4986162B2 (ja) 電子署名システム
Wang et al. Group Signature with Verifier‐Local Revocation Based on Coding Theory
Thanalakshmi et al. A new code‐based designated verifier signature scheme
Roeder et al. Multi-verifier signatures
Liang et al. Two-layer Coded Gradient Aggregation with Straggling Communication Links

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