LDPC码在PUF基于码偏移架构纠错中的应用方法及装置与流程

文档序号:13838389阅读:342来源:国知局

本发明涉及一种纠错码技术,具体涉及一种ldpc码在puf基于码偏移(code-offset)架构纠错中的应用方法及装置,属于硬件安全技术领域。



背景技术:

puf(物理不可克隆技术)是一种利用产品生产过程中存在的内在的随机性,来生成密钥的数字电路。它可以多次重新生成密钥。但是,puf的输出会因为环境因素(例如温度,供电电压等)的不同而改变。因此,在实际使用puf时,必须利用纠错技术纠正在重新生成密钥时的错误。

目前用于puf纠错的技术中,最经常使用的是bch码,bch也是一种线性分组码,在环境噪声比较小时,bch纠错性能较好,但是当环境噪声比较大,也就是puf实际应用中外界环境变化较大时,bch无法纠错性能较差,puf无法用于生成密钥或一些认证场景。



技术实现要素:

发明目的:针对现有技术的不足,本发明目的在于提供一种ldpc码在puf基于码偏移架构纠错中的应用方法及装置,利用码偏移架构,将ldpc码利用到puf技术上,实现在较差外界环境下对puf的纠错。

技术方案:为实现上述发明目的,本发明采用如下技术方案:

ldpc码在puf基于码偏移架构纠错中的应用方法,包括注册过程和验证过程,其中注册过程包括:激励经过puf后生成响应y,经过哈希函数生成注册密钥,同时利用响应y生成协助数据并存储协助数据e;其中c为一个ldpc码码元;

验证过程包括:激励经过puf后生成响应y’,从y’中减掉存储的协助数据e,再对进行ldpc码纠错,得到y纠错后的结果最后将通过哈希函数得到再生成密钥。

作为优选,注册过程中生成协助数据的方法为:将一个随机的码字经过ldpc编码器,生成一个随机的码元c,c与puf的响应y做按位异或运算得到协助数据e。

作为优选,验证过程中进行纠错的方法为:将y’与协助数据e进行按位异或运算,将运算结果放入ldpc译码器,生成估计值再和协助数据e进行按位异或运算,得到对y的纠错结果

作为优选,验证过程中选择最小和算法进行ldpc译码。

ldpc码在puf基于码偏移架构纠错中的应用装置,包括:

puf单元,用于根据激励生成响应;

协助数据生成单元,用于生成协助数据其中y为注册过程中puf单元生成的响应,c为一个ldpc码码元;

协助数据存储单元,用于存储协助数据e;

密钥再生成单元,用于将验证过程中puf单元生成的响应y’与存储的协助数据e按位异或,再对结果进行ldpc码纠错,得到y纠错后的结果

以及,哈希散列单元,用于对puf单元生成的响应或纠错后的响应结果进行散列运算,生成最终密钥。

作为优选,所述协助数据生成单元包括:

ldpc编码器,用于生成ldpc码码元c;

以及,模2加法器,用于将c与puf单元的响应y做按位异或运算。

作为优选,所述密钥再生成单元包括:

第一模2加法器,用于将y’与协助数据e进行按位异或运算;

ldpc译码器,用于对第一模2加法器运算的结果进行ldpc译码;

以及,第二模2加法器,用于将ldpc译码器的运算结果与协助数据e进行按位异或运算,输出纠错后的结果

有益效果:本发明利用码偏移架构,将ldpc码利用到puf上,可以有效改善puf在复杂环境下的错误率。ldpc码是一种线性分组码,可以并行译码,符合puf低功耗,较低复杂度的要求。实验证明在较差外界环境下,ldpc对于puf的纠错能力比现有的bch码等更强。

附图说明

图1为puf纠错的过程示意图。

图2为生成协助数据的过程示意图。

图3为密钥再生成的过程示意图。

图4为本发明与bch码对于puf纠错的性能比较结果图(码长:128、码率:1/8)。

图5为本发明与bch码对于puf纠错的性能比较结果图(码长:128、码率:1/4)。

图6为本发明与bch码对于puf纠错的性能比较结果图(码长:256、码率:1/8)。

图7为本发明与bch码对于puf纠错的性能比较结果图(码长:256、码率:1/4)。

具体实施方式

如图1所示,本发明实施例公开的一种ldpc码在puf基于码偏移架构纠错中的应用方法,包括注册和验证两个过程。

首先,激励(challenge)通过puf生成相应的响应(response),这成为注册(enrollment)过程。

当将puf用于验证时,需要输入challenge来检测生成的response是否与注册的结果相同,实现对设备的认证。但是因为puf的输出还会被环境因素干扰,因此纠错的过程必不可少。

在我们使用的结构中,在注册过程中,激励经过puf后生成响应y,从使用的ldpc码中随机选取一个码元c,生成协助数据并存储协助数据e在iii中,之后y就可以被删除了。在密钥再生成过程中,y变成了从y’中减掉在iii中存储的e,之后就可以对进行纠错,这就可以看作是ldpc码元的错误,利用ldpc码的纠错技术,就可以实现对于puf的纠错,生成了也就是y纠错后的结果。最后通过哈希散列,提高密钥的随机性。

图2具体展示了在ii生成协助数据过程中是如何使用ldpc编码器的。一个随机的码字经过ldpc编码器,生成一个随机的码元c,c与puf的响应y做模二的加法就生成了协助数据e。

图3具体展示了iv密钥再生成过程中是如何使用ldpc译码器的。当相同的激励通过puf后,因为环境因素的影响,会产生与注册时的y有少量差异的y’=y+e’,e’是由于环境因素造成的差异。将y’与存储在iii中的e进行模二加法再将这个结果放入ldpc译码器,当差异e’在使用的ldpc码纠错范围内时,就可以成功纠错,生成估计值再和协助数据e进行模二加法,就生成了对y的纠错结果

关于ldpc码,这是一种线性分组码,有很多的译码算法,在本发明中,为了较好的纠错性能,我们选择标准的最小和算法来进行译码。

对于一个规则的(n,k)ldpc码,有n个变量节点和k个校验节点,并且校验矩阵h是一个(n-k)*n大小的矩阵。在译码过程中,译码信息会在校验节点和变量节点之间互相传递。

表1变量说明

那么,纠错算法就可以这样表述:

对于所有满足hij=1的i和j,

1)初始化:

l(qij)=l(ci)=yi.//l表示运算中使用的是对数似然比(llr)

2)迭代译码:

当1≤it≤itermax时,

当1≤i≤m时,

对于任意的j,

当1≤j≤n时,

对于任意的i,

3)判断结果:

如果l(qi)>0,那么结果输出为0,否则结果输出为1。

本发明实施例公开的一种ldpc码在puf基于码偏移架构纠错中的应用装置,包括:puf单元,用于根据激励生成响应;协助数据生成单元,用于生成协助数据其中y为注册过程中puf单元生成的响应,c为一个ldpc码码元;协助数据存储单元,用于存储协助数据e;密钥再生成单元,用于将验证过程中puf单元生成的响应y’与存储的协助数据e按位异或,再对结果进行ldpc码纠错,得到y纠错后的结果哈希散列单元,用于对puf单元生成的响应或纠错后的响应结果进行散列运算,生成最终密钥。

其中,协助数据生成单元包括:ldpc编码器,用于生成ldpc码码元c;模2加法器,用于将c与puf单元的响应y做按位异或运算。密钥再生成单元包括:第一模2加法器,用于将y’与协助数据e进行按位异或运算;ldpc译码器,用于对第一模2加法器运算的结果进行ldpc译码;第二模2加法器,用于将ldpc译码器的运算结果与协助数据e进行按位异或运算,输出纠错后的结果

为了验证本发明方法的效果和优势,我们可以将puf的纠错过程考虑为一个对于bsc信道的纠错,从图4-7我们可以看到,当bsc信道的条件差错概率变大,也就是bsc信道状况变差,即环境变化剧烈时,ldpc码在不同码率和码长都表现出了比bch码更好的纠错性能。

应用示例1:puf可以用于密钥生成场景,这时候我们的发明就可以被使用。如在银行银行的密码锁中,我们使用puf。生产厂家在生产时对puf进行测试,计算出一系列的激励-响应对,告诉买家,作为密码。当有人想进入时,他所应该有的密码是激励响应对,当他输入激励相应对时,密码锁将两部分分离,将激励部分输入到puf中,产生响应,将这时的响应与输入部分的响应对比,当完全吻合时认为密码正确,开门成功。而puf响应的再生成过程就可以用到我们的发明。

应用示例2:puf可以用于设备认证场景。我们考虑一个物联网场景,电动汽车去充电桩充电,充电桩该如何识别电动汽车是“善意的”,不会对自己造成损坏呢。在电动汽车上装上puf芯片,充电桩向puf发送激励,检测返回的响应是否与应该的响应相同,就可以实现对汽车的认证。在发送激励得到激励的过程中,电动汽车的puf就可以用到我们的发明进行纠错。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1