一种基于多项式重构的APUF安全认证方法与流程

文档序号:13808051阅读:1215来源:国知局
一种基于多项式重构的APUF安全认证方法与流程

本发明涉及一种基于多项式重构的apuf安全认证方法,具体涉及一种抗机器学习攻击的apuf安全认证技术,属于信息安全技术领域。



背景技术:

近年来,随着物联网以及射频识别技术的迅速发展,物与物、人与物、人与人之间的协同关系被建立,从而在传感网、互联网和移动通信网的基础上形成一个更大的复杂网络系统。大多数电子器件都会与网络进行交互通信或者受控于计算机。物联网产生大量的信息数据,涉及感知、存储、运算、传输等各个环节,其安全性直接关系到物联网产业的发展。传统电子器件的安全性主要基于eeprom、flash等非易失性寄存器(non-volatilememory,nvm)进行安全认证与密钥存储。然而,基于nvm的存储机制需要在集成电路制造过程中加入浮栅晶体管工艺,增加制造成本。同时,nvm存储机制易受侵入式攻击等多种物理攻击的威胁。这将会导致大量的信息泄露,信息安全受到威胁。同时大多数情况下传统电子器件都存在计算能力差,资源受限的问题,所以,传统基于密码学的认证方法在应用时存在着很大障碍。基于物理实体的内在物理构造来唯一地标识单个物理实体实现有效认证的思路,物理不可克隆函数(physicalunclonablefunction,puf)的概念被提出来。

puf是一个物理函数。当给定一个已知激励,这个函数将会产生一个对应唯一的响应。这个响应同时取决于puf所在物理单元的纳米级结构。puf的本质是一种“芯片指纹”,该“指纹”来源于难以控制、无法预测、不可克隆的芯片制造差异,能够抵御针对nvm的物理攻击。puf最基本的应用是利用实体的唯一标识来实现认证,随着人们对puf的理解和应用的不断深入,puf又逐渐被应用到系统认证、密钥生成等更多的领域,并逐渐成为硬件安全领域研究中的一个热门话题。puf一般被分为“强puf”(strongpuf)与“弱puf”(weakpuf)两类:强puf具有指数级的激励响应对(challengeresponsepairs,crps),主要用于安全认证;弱puf的响应输出数量与电路规模呈正比,主要用于密钥、id等关键信息存储。

随着机器学习技术的不断发展,研究表明一些机器学习算法可以用来攻击强puf。其攻击效果比较明显。同时有研究提出结合边信道攻击的方法,机器学习技术可以攻破大多数被提出的强puf结构。针对机器学习算法,研究者提出了不同抗攻击方法,例如xorapuf、controlledpuf以及compositepuf等结构。但这些结构都存在一定的问题,随着结构复杂化,puf可靠性下降,同时资源消耗增大,无法满足一些资源受限情况下puf的可靠实现。



技术实现要素:

本发明所要解决的技术问题是:提供一种基于多项式重构的apuf安全认证方法,利用标准apuf,基于多项式重构特性达到高可靠性和抗攻击特性,同时资源占用量小。

本发明为解决上述技术问题采用以下技术方案:

一种基于多项式重构的apuf安全认证方法,包括注册阶段和认证阶段两个部分,其中,

注册阶段包括如下步骤:

步骤1,利用随机数生成器在服务器端生成apuf所需要的激励;

步骤2,对激励进行分组,每组包含n个激励,n为16的正整数倍;

步骤3,将各组激励输入到apuf中,根据apuf内部结构,输出对应的响应,并将每组对应的响应分为n/16组;

步骤4,在服务器中,利用随机数生成器生成一个随机数k,k∈gf(216),经过crc编码后将k平均分成deg(p)份,作为多项式p的系数,构建deg(p)级多项式p;

步骤5,将步骤3输出的响应代入步骤4多项式自变量,计算得到的值作为纵坐标,用步骤3分组后的响应作为横坐标,得到一个含有n/16个真实点的集合q;

步骤6,在集合q中增加数量大于真实点数量的随机杂凑点,得到新的集合v,随机杂凑点与真实点之间的距离大于常量δ;

步骤7,对每组激励进行步骤4-步骤6的操作,将每组激励、哈希后的多项式系数以及新的集合v保存在服务器的数据库中;

认证阶段包括如下步骤:

步骤8,根据给定的一组激励,该组激励来自注册阶段的其中一组,apuf产生其对应的响应,并将响应分为n/16组,同时进行随机化处理;

步骤9,将随机化处理后的响应作为横坐标索引,在新的集合v中匹配出真实点,这里真实点的数目l大于等于deg(p)+1,且小于等于n/16;

步骤10,对步骤9匹配出的真实点进行组合,重构出个多项式,其中满足crc-16校验的多项式即为密钥多项式,根据密钥多项式得到密钥;

步骤11,认证完成之后,将存储在服务器的数据库中的每组激励、哈希后的多项式系数以及新的集合v删除。

作为本发明的一种优选方案,步骤4所述多项式p的形式如下:

其中,sk表示多项式p(x)的系数,deg(p)表示多项式p(x)的级数。

作为本发明的一种优选方案,步骤5所述集合q的形式如下:

q={(ai,p(ai))|ai∈gf(216),i=1,…,n/16}

其中,ai表示一组激励对应的响应分组后的第i组响应,p(ai)表示将ai代入多项式p中计算得到的值,gf表示有限域,n/16为真实点的数目。

作为本发明的一种优选方案,步骤6所述新的集合v形式如下:

v=q∪q′=q∪{(bj,cj)|bj,cj∈gf(216),j=1,…,m,m>>n/16}

其中,q表示真实点的集合,q′表示随机杂凑点的集合,m为随机杂凑点的数目,n/16为真实点的数目,gf表示有限域,(bj,cj)表示随机杂凑点。

作为本发明的一种优选方案,步骤6所述随机杂凑点与真实点之间的距离大于常量δ形式如下:

其中,d表示随机杂凑点与真实点之间的距离,(ai,p(ai))表示真实点,(bj,cj)表示随机杂凑点,m为随机杂凑点的数目,n/16为真实点的数目。

本发明采用以上技术方案与现有技术相比,具有以下技术效果:

1、本发明一种基于多项式重构的apuf安全认证方法,具有较高的可靠性以及安全性。整个系统中利用了标准的apuf结构产生响应,没有增加资源消耗,保证了整个系统的可靠性。利用多项式重构中插值点的无序性进而对apuf输出响应进行随机化处理,将apuf的激励转化为真实点储存起来,打乱了apuf激励与响应之间的对应关系,有效地抵抗了机器学习攻击,极大地提高了安全性。

2、本发明在服务器端存储数据时利用模糊保险箱原理,在真实点中加入数量远大于真实点的杂凑点,确保模糊保险箱中任意两个点之间距离大于某一特定值,该特定值由设计者自行选取,使得攻击者只能采取暴力攻击方法破解,极大的提高了密钥存储的安全性。

附图说明

图1是本发明一种基于多项式重构的apuf安全认证方法的原理图。

图2是本发明提供的注册阶段具体示意图。

图3是本发明提供的认证阶段具体示意图。

具体实施方式

下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

如图1所示,一种基于多项式重构的apuf安全认证方法由apuf安全认证系统实现,整个系统大体包括apuf模块和多项式构建模块。服务器随机产生大量激励,同时产生一个随机数。激励被用于apuf模块产生相对应的激励用作横坐标。随机数经过crc-16校验之后用于多项式系数。利用激励作横坐标,在多项式中找出所有真实点,加入大量杂凑点形成点集。将激励、经过哈希后的多项式以及点集存储在服务器中。在认证过程中,用户手中的激励与存储在服务器中的激励相同。将用户手中的激励输入apuf中,产生响应,将响应打乱输出,在点集中寻找真实点,通过找出的真实点,利用拉格朗日插值重构多项式,提取多项式系数进行哈希与服务器中存储的哈希系数相比较,相同则认证成功,反之则失败。本发明提出的认证方法结构框图如图2和图3所示。

如图2所示,为注册阶段,包括:

第一步:利用随机数生成器在认证服务器端生成apuf所需要的激励。

第二步:由于标准apuf输出响应只有1bit,所以对激励进行分组处理形成多bit响应,每组包含320个激励。如式(1):

g={c1,c2,…,c320}(1)

第三步:将分组完成的激励输入到apuf中,根据puf内部结构ai=apufs(ci),将会输出对应的响应。同时将响应分成16bit*20组:

r={a1,a2,…,a20}(2)

第四步:在服务器中,随机数生成器生成一个随机数k(k∈gf(216))。经过crc编码后将k平均分成7(多项式级数deg(p))份,作为多项式p的系数如式(3)。根据(4)构建deg(p)级多项式p。

k={s1,s2,…,sdeg(p)}(3)

第五步:将步骤3中的响应每16bit一个作为多项式的横坐标索引,共有20个横坐标值。可以得到一个含有20个真实点的集合q。

q={(ai,p(ai))|ai∈gf(216),i=1,…,20}(5)

第六步:由于步骤5中所产生的真实点保存在服务器中非易失性存储器(non-volatilememory,nvm)中,因此很容易受到物理攻击。为了保证数据的安全性,需要在集合q中增加数量远大于真实点数量的随机杂凑点用以加密真实点。所有的杂凑点必须经过筛选。杂凑点与真实点之间的距离必须大于一个常量δ。杂凑点形成的集合为q′。最终得到的点集为v=q∪q′。(m>>20)

q′={(bj,cj)|bj,cj∈gf(216),j=1,…,m}(6)

第七步:完成上述步骤之后服务器将激励组g、hash(k)以及点集v保存在数据库中。经过整个阶段处理,apuf的响应经过hash(k)以及v的加密可以安全存储在nvm中。

如图3所示,为认证阶段,包括:

第一步:根据给定的一组激励g,apuf产生相对应的响应r'。这个响应在传输给服务器之前经过随机化处理,满足一定的随机性,从而可以打乱激励响应之间的对应关系,达到抵抗机器学习攻击的效果。

r'={a1',a2',…,a20'}(8)

rd={ad1,ad2,…,ad20}={a10',a20',…,a7'}(9)

第二步:步骤1中已打乱的响应作为横坐标索引,可以在点集v中匹配到相对应的真实点。(8≤l≤20)

qd={(adh,v(adh))|h=1,…,l}(10)

第三步:由于噪声影响,匹配到的真实点中可能掺有一些杂凑点。构造7级多项式,至少需要8个点。找出所有点的组合重构出个多项式,找出其中满足crc-16校验检查的多项式,即为密钥多项式,认证成功。对于攻击者来说,在没有获得apuf的响应情况下,从含有杂凑点的集合v中得到密钥是非常困难的。

第四步:完成认证之后,删除存储在服务器nvm中的g、hash(k)以及点集v。

以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。

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