一种基于强PUF的抗机器学习安全认证方法及装置与流程

文档序号:26146264发布日期:2021-08-03 14:32阅读:175来源:国知局
一种基于强PUF的抗机器学习安全认证方法及装置与流程

【技术领域】

本发明涉及信息安全技术领域,特别是涉及一种基于强puf的抗机器学习安全认证方法及装置。



背景技术:

物联网领域,现存的基于nvm(全称为:non-volatilememory)的密钥存储与安全认证机制存在安全隐患,无法抵御众多物理攻击的威胁。物理不可克隆函数(physicalunclonablefunctions,缩写为:puf)具有轻量级、高安全性的特点,能够有效解决上述问题,在硬件安全领域有着重要应用。目前,包括intel、arm、三星在内的多个厂商均在puf领域进行布局,并实现了在soc、fpga等多个产品领域的产业化应用。国内具有完全自主知识产权的puf应用较少,相关产品目前多处于探索研究阶段。

鉴于此,克服该现有技术所存在的缺陷是本技术领域亟待解决的问题。



技术实现要素:

本发明要解决的技术问题是机器学习攻击能够基于获取的激励响应对crps实施建模攻击,破坏认证系统的安全性。强puf易受机器学习攻击,攻击者基于暴露的puf信息可以完成puf的建模,进而威胁认证系统的安全;传统方案大都通过掩盖激励与响应间的映射关系抵御攻击,但是研究表明改进的机器学习攻击仍然可以实现建模。

本发明采用如下技术方案:

第一方面,本发明提供了一种基于强puf的抗机器学习安全认证方法,服务器端中存储强puf的数学模型,所述强puf的数学模型是根据设备端的强puf生成的,认证方法包括:

服务器生成k维的随机激励组,将生成的随机激励组发送至设备端;

设备端根据获取的随机激励组生成k维的强puf的响应;所述强puf的响应被导入t阶随机多项式,得到k个多项式结果;其中,k和t均为自然数,且k>=t;

设备端将所述k个多项式结果和多项式系数经预处理后发送给服务器;

服务器根据强puf的数学模型和所述随机激励组,计算得到k维的强puf的数学模型响应;结合所述强puf的数学模型响应和获取到的k个多项式结果,反推出多项式系数;并在验证所述反推出多项式系数在经相同预处理后与获取相应内容一致时,服务器认证结果为成功。

优选的,所述方法还包括:

服务器将反推出多项式系数中的一个或者多个发送给设备端;

所述设备端在验证获取到的服务器反推出的多项式系数与本地生成的t阶随机多项式的多项式系数一致,则客户端认证结果为成功。

优选的,所述强puf的数学模型是根据设备端的强puf生成的,具体包括:

服务器生成随机激励组cai,将所述随机激励组cai发送至设备端;其中,i为自然数;

设备端根据从服务器获取的所述随机激励组cai,生成对应的强puf的响应,将所述强puf的响应反馈至服务器;

服务器端基于生成的随机激励组cai和所述强puf的响应训练强puf的数学模型;

重复上述生成随机激励组cai到训练强puf的数学模型的过程,直到所训练的强puf的数学模型精度大于等于预设阈值δ,存储满足所述预设阈值δ的强puf的数学模型。

优选的,所述预处理包括:

将多项式系数合并后做hash计算得到结果值;或者,

服务器和设备端预先确定好所要验证的多项式中系数的位置和数量g,所述预处理为从多项式系数中提取相应位置和数量的系数。

优选的,服务器生成k维的随机激励组,具体包括:

服务器使用随机数生成器生成k维的随机激励组ca={a1,a2,...,ak},发送至设备端;

服务器的强puf数学模型基于生成的激励预测生成对应的k个响应ra1,ra2,...,rak;基于所接收到的随机激励ca,设备端的强puf生成对应的响应

优选的,所述t阶随机多项式具体为:设备端基于随机数生成器随机生成一个t阶多项式f(x)=a0+a1x+…+atxt

则所述强puf的响应导入t阶随机多项式,得到k个多项式结果,具体为:

将强puf所生成的响应分别代入所述t阶多项式,从而生成k个多项式f(x)上的点

则所述设备端将所述k个多项式结果和多项式系数经预处理后发送给服务器,具体为:

将所述点集的纵坐标值以及hash运算a1、a2、…、at中的一项或者多项得到的结果值,发送至服务器。

优选的,所述结合所述强puf的数学模型响应和获取到的k个多项式结果,反推出多项式系数,具体包括:

服务器通过求解以下所示的范德蒙矩阵,反推出多项式系数

其中,x1,x2,…,xt+1分别对应于ra1,ra2,...,rak中的t+1项;所述y1,y2,…,yt+1分别对应于中的t+1项。

第二方面,本发明还提供了一种基于强puf的抗机器学习安全认证装置,装置包括强puf模块、串转并模块、控制模块、双端口ram、随机生成器、多项式求值模块、哈希模块,其中,强puf模块和串转并模块串联后与双端口ram耦合,随机生成器分别与多项式求值模块和哈希模块相连,多项式求值模块还与双端口ram相连,哈希模块输出端还与控制模块相连,控制模块用于控制相关组模块与双端口ram之间的数据选通,具体的:

装置接收到来自服务器的随机激励组ca;

所述强puf模块根据接收到的随机激励组ca依次生成对应的响应组用以完成双端口ram的初始化;

双端口ram的地址均存储有多组响应组;随机生成器生成随机数作为多项式系数,输入多项式取值模块;

双端口ram中从地址addr_k-1至addr_0;每一个地址addr中存储的响应组,均做一次多项式结果计算,并将多项式结果计算内容输出至认证服务器,以实现服务器侧的安全认证。

优选的,所述将多项式结果计算内容输出至认证服务器,以实现服务器侧的安全认证,具体包括:

将多项式系数进行拼接,求哈希值后,与所述多项式结果计算内容一并输出至服务器;

其中,所述服务器根据强puf的数学模型和所述随机激励组ca,计算得到强puf的数学模型响应;结合所述强puf的数学模型响应和获取到的多项式结果,反推出多项式系数;并在验证反推出多项式系数进行拼接,求哈希值后与获取的哈希值一致时,服务器认证结果为成功。

优选的,结合所述强puf的数学模型响应和获取到的多项式结果,反推出多项式系数,具体包括:

服务器通过求解以下所示的范德蒙矩阵,反推出多项式系数

其中,x1,x2,…,xt+1分别对应于ra1,ra2,...,rak中的t+1项;所述y1,y2,…,yt+1分别对应于中的t+1项。

本发明基于多项式重构的算法思想,构造基于强puf的安全认证机制,具有通用性;本发明将强puf的信息隐藏入多项式点集中,使得攻击者无法实施机器学习攻击,具有较好的安全性。

【附图说明】

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种基于强puf的抗机器学习安全认证方法流程示意图;

图2是本发明实施例提供的一种基于强puf的抗机器学习安全认证方法流程示意图;

图3是本发明实施例提供的一种基于强puf的抗机器学习安全认证方法流程示意图;

图4是本发明实施例提供的一种基于强puf的抗机器学习安全认证装置结构示意图;

图5是本发明实施例提供的一种基于强puf的抗机器学习安全认证方法信令示意图;

图6是本发明实施例提供的一种基于强puf的抗机器学习安全认证方法流程示意图;

图7是本发明实施例提供的一种基于强puf的抗机器学习安全认证方法信令示意图。

【具体实施方式】

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

在本发明的描述中,术语“内”、“外”、“纵向”、“横向”、“上”、“下”、“顶”、“底”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明而不是要求本发明必须以特定的方位构造和操作,因此不应当理解为对本发明的限制。

现有基于强puf的安全认证协议大都支持基于模型的安全认证:注册阶段,服务器基于获取的激励响应对(challengeresponsepairs,简写为:crps)完成设备端的强puf模型训练;认证阶段,基于该puf模型实施基于crps的安全认证。

现有基于强puf的安全认证协议的优势在于:服务器端仅需要安全存储强puf的数学模型,而不需要存储大量的crps;服务器可以基于强puf模型的行为实施安全认证,而不仅仅是所存储的crps本身。

由此,机器学习攻击能够基于获取的crps实施建模攻击,破坏认证系统的安全性。强puf易受机器学习攻击,攻击者基于暴露的puf信息可以完成puf的建模,进而威胁认证系统的安全;传统方案大都通过掩盖激励与响应间的映射关系抵御攻击,然而,发明人研究表明,改进的机器学习攻击仍然可以实现建模。

进一步的,现有方案还将复杂的加密算法用于基于puf的安全认证,难以应用于轻量级设备。puf在应用中存在可靠性问题,在认证过程中如何用轻量级的方法应对,是puf应用中需要解决的核心问题。

此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

实施例1:

本发明实施例1提供了一种基于强puf的抗机器学习安全认证方法,服务器端中存储强puf的数学模型,所述强puf的数学模型是根据设备端的强puf生成的,如图1所示,认证方法包括:

在步骤201中,服务器生成k维的随机激励组,将生成的随机激励组发送至设备端。

在步骤202中,设备端根据获取的随机激励组生成k维的强puf的响应;所述强puf的响应被导入t阶随机多项式,得到k个多项式结果;其中,k和t均为自然数,且k>=t。

其中,k与t的距离差距决定了容错特性(即可提升认证的成功率),这是因为可以在k个多项式结果中选择更多的组合来进行计算,从而克服实际情况中k维的强puf的响应中会因为噪声带来的响应不一样问题。

在每个认证过程中,设备端的多项式均随机生成。该随机生成的多项式类似于通用认证协议中的nonce,用以支持双向认证以及抵御重放攻击,进一步提升了强puf在认证中的安全性。

在步骤203中,设备端将所述k个多项式结果和多项式系数经预处理后发送给服务器。

在步骤204中,服务器根据强puf的数学模型和所述随机激励组,计算得到k维的强puf的数学模型响应;结合所述强puf的数学模型响应和获取到的k个多项式结果,反推出多项式系数;并在验证所述反推出多项式系数在经相同预处理后与获取相应内容一致时,服务器认证结果为成功。

所述预处理至少包括以下两种方式。

方式一:

将多项式系数合并后做hash计算得到结果值;对于拥有正确强puf模型的服务器,可以通过强puf模型预测出ca的响应,即点集的x值,从而重构多项式。对于低成本设备,哈希运算可以使用skinny等轻量级哈希函数替代。哈希的安全等级则可以根据安全需求进行选择。在此需要说明的是,哈希所有多项式系数并发送至服务器端不是必须的。系统可以基于安全需求动态选择。

方式二:

服务器和设备端预先确定好所要验证的多项式中系数的位置和数量h,所述预处理为从多项式系数中提取相应位置和数量h的系数。

本发明基于多项式重构的算法思想,构造基于强puf的安全认证机制,具有通用性;本发明将强puf的信息隐藏入多项式点集中,使得攻击者无法实施机器学习攻击,具有较好的安全性。本发明具有天然的容错特性,能够在一定程度上应对puf的可靠性问题。

若本发明实施例在实现过程中要完成双向认证,则结合本发明实施例还存在一种优选的扩展方案,如图2所示,所述方法还包括:

在步骤205中,服务器将反推出多项式系数中的一个或者多个发送给设备端。

此时,若采用上述预设方式中的服务器和设备端预先确定好所要验证的多项式中系数的位置和数量h,所述预处理为从多项式系数中提取相应位置和数量h的系数,并且,此处服务器将反推出多项式系数中的g个发送给设备端,并且,上述h个系数和g个系数位置不重叠的情况下,为了确保攻击者无法基于获取的信息重构多项式,需要进一步去报h+g<t成立。

在步骤206中,所述设备端在验证获取到的服务器反推出的多项式系数与本地生成的t阶随机多项式的多项式系数一致,则客户端认证结果为成功。

在本发明具体实现方式中,所述强puf的数学模型是根据设备端的强puf生成的,相应的生成方法如图3所示,具体包括:

在步骤301中,服务器生成随机激励组cai,将所述随机激励组cai发送至设备端;其中,i为自然数。

其中,在可选的方案中,服务器随机或顺序产生该设备的唯一身份标识,该标识被储存于设备端的非易失性寄存器中(例如otp,全称为onetimeprogrammablestorage)。

此处之所以用带下标i的随机激励组cai表示,是为了能够与步骤304中的递归过程进行特征表述上的衔接,与之配套的,可以理解第一次执行步骤301时,相应i的取值为1,即此时服务器生成随机激励组为ca1,而在执行一次步骤304后,即递归到步骤301执行第二次时,相应的i的取值自加1变为2,即此时服务器生成随机激励组为ca2,依次类推;直到步骤304中所训练的强puf的数学模型精度大于等于预设阈值δ,跳出相应步骤301-303的递归过程。

在步骤302中,设备端根据从服务器获取的所述随机激励组cai,生成对应的强puf的响应,将所述强puf的响应反馈至服务器。

在步骤303中,服务器端基于生成的随机激励组cai和所述强puf的响应训练强puf的数学模型。

在步骤304中,重复上述步骤301-303的过程,直到所训练的强puf的数学模型精度大于等于预设阈值δ,存储满足所述预设阈值δ的强puf的数学模型。

在上述强puf的数据模型的建模过程中,相应的建模方式,包括但不限于lr、es、dnn、approximate和attack中的一种或者多种。

接下来,将通过适当的参数值来配合展现本发明实施例的上述方法过程,例如服务器生成k维的随机激励组,具体包括:

服务器使用随机数生成器生成k维的随机激励组ca={a1,a2,...,ak},发送至设备端;

服务器的强puf数学模型基于生成的激励预测生成对应的k个响应ra1,ra2,...,rak(即强puf的数学模型响应);基于所接收到的随机激励ca,设备端的强puf生成对应的响应(即强puf的响应)。

基于上述展现的参数内容,进一步完善对本发明实施例中涉及的方法内容的展示,所述t阶随机多项式具体为:设备端基于随机数生成器随机生成一个t阶多项式f(x)=a0+a1x+…+atxt

则所述强puf的响应被导入t阶随机多项式,得到k个多项式结果,具体为:

将强puf所生成的响应分别代入所述t阶多项式,从而生成k个多项式f(x)上的点设备端由随机数生成器随机生成多项式,用以保护强puf的响应,使得激励响应对crps被在认证过程中被隐藏于认证点集中,攻击者无法实施深度学习攻击。

此处,多项式f(x)的系数a0,a1,…,ak被视为秘密信息,需要对端靠强puf的数学模型计算得到,则所述设备端将所述k个多项式结果和多项式系数经预处理后发送给服务器,具体为:

将所述点集的纵坐标值以及hash运算a0、a1、…、at中的一项或者多项得到的结果值,发送至服务器。对于攻击者,由于无法获取ca对应的响应值,即点集的横坐标值,仅仅依靠公开传输的点集y值无法完成多项式重构。

进一步的,所述结合所述强puf的数学模型响应和获取到的k个多项式结果,反推出多项式系数,具体包括:

服务器通过求解以下所示的范德蒙矩阵,反推出多项式系数

其中,x1,x2,…,xt+1分别对应于ra1,ra2,...,rak中的t+1项;所述y1,y2,…,yt+1分别对应于中的t+1项。具体方式可以是顺序选择,也可以随机挑选t+1项。

实施例2:

本发明实施例还提供了一种基于强puf的抗机器学习安全认证装置,所述装置可以用于实现如实施例1中设备端所实现的相应功能,如图4所示,装置包括强puf模块、串转并模块、控制模块、双端口ram、随机生成器、多项式求值模块、哈希模块,其中,强puf模块和串转并模块串联后与双端口ram耦合,随机生成器分别与多项式求值模块和哈希模块相连,多项式求值模块还与双端口ram相连,哈希模块输出端还与控制模块相连,控制模块用于控制相关组模块与双端口ram之间的数据选通,具体的:

装置接收到来自服务器的随机激励组ca;

所述强puf模块根据接收到的随机激励组ca依次生成对应的响应组用以完成双端口ram的初始化;

双端口ram的地址均存储有多组响应组;随机生成器生成随机数作为多项式系数,输入多项式取值模块;

双端口ram中从地址addr_k-1至addr_0;每一个地址addr中存储的响应组,均做一次多项式结果计算,并将多项式结果计算内容输出至认证服务器,以实现服务器侧的安全认证。

结合本发明实施例还存在一种优选的实现方式,所述将多项式结果计算内容输出至认证服务器,以实现服务器侧的安全认证,具体包括:

将多项式系数进行拼接,求哈希值后,与所述多项式结果计算内容一并输出至服务器;

其中,所述服务器根据强puf的数学模型和所述随机激励组ca,计算得到强puf的数学模型响应;结合所述强puf的数学模型响应和获取到的多项式结果,反推出多项式系数;并在验证反推出多项式系数进行拼接,求哈希值后与获取的哈希值一致时,服务器认证结果为成功。

结合本发明实施例还存在一种优选的实现方式,结合所述强puf的数学模型响应和获取到的多项式结果,反推出多项式系数,具体包括:

服务器通过求解以下所示的范德蒙矩阵,反推出多项式系数

其中,x1,x2,…,xt+1分别对应于ra1,ra2,...,rak中的t+1项;所述y1,y2,…,yt+1分别对应于中的t+1项。

实施例3:

基于本发明实施例1所阐述的方法内容,本发明实施例将结合实例场景特性,从一个将完整方案内容分为注册阶段和认证阶段的视角阐述本发明实施例1的具体实现过程,如图5所示的注册阶段信令图和图7所示的认证阶段的信令图所示,在本发明实施例中,服务器和设备端分别被描述为认证服务器和认证设备,阐述如下:

注册阶段:

注册过程仅需要在服务器端完成强puf的建模。该过程通常要求在安全环境下进行(例如可以采用局域网环境)。注册阶段的流程如图5和图6所示:

在步骤401中,认证服务器随机或顺序产生认证设备的唯一身份标识id,该标识被储存于认证设备的非易失性寄存器中,例如otp。

在实施例2中并为涉及此步骤401,然而作为可选方案此步骤401的存在,可以进一步提高认证服务器和认证设备的安全性,即在认证阶段多了一重身份标识id的验证。

在步骤402中,认证服务器使用随机数生成器(truerandomnumbergenerator,简写为:trng)产生随机激励组ca,并被发送至认证设备。

在步骤403中,认证设备的强puf基于来源于认证服务器的激励,生成对应的响应ra,并反馈至认证服务器。

在步骤404中,认证服务器端基于生成的crps训练强puf的数据模型。

在步骤405中,重复上述步骤402-404的过程,直到所训练的强puf的数据模型精度大于等于阈值δ。

在步骤406中,认证服务器安全存储所生成的强puf的数据模型

上述过程要求认证设备的强puf可以被精确建模。apuf等多种已被充分研究的强puf电路均符合上述要求。现存的多种机器学习算法可以被应用于强puf建模,包括但不限于lr、es、dnn、approximateattack等。

认证阶段

认证阶段在工作环境中进行,攻击者可以物理接触设备端,并窃取不可信信道中的信息。认证阶段的流程如图7所示:

在步骤501中,认证协议由认证服务器发起,认证设备首先将储存在otp中的id发送至认证服务器,若该id存在于认证服务器数据库中,则认证服务器开始实施认证过程。

在步骤502中,服务器使用trng生成激励组ca={ca1,ca2,...,cak}并发送至设备端。ca包含q×k个激励。同时,强puf的数学模型基于生成的激励预测生成对应的k个q-bit响应群ra1,ra2,...,rak。基于所接收到的激励,认证设备的强puf生成对应的响应

在步骤503中,认证设备基于trng随机生成一个t阶随机多项式f(x)=a0+a1x+…+atxt,将强puf所生成的响应在多项式上求值,从而生成k个多项式f(x)上的点:此处,多项式f(x)的系数a0、a1、…、at被视为秘密信息,并通过上述点集分享至服务器端。将上述点集的纵坐标值及hash(a0||a1||…||at)发送至服务器。对于拥有正确强puf的数学模型的服务器,可以通过强puf的数学模型预测出ca的响应,即点集的x值,从而重构多项式。对于低成本设备,哈希运算可以使用skinny等轻量级哈希函数替代。哈希的安全等级则可以根据安全需求进行选择。在此需要说明的是,哈希所有多项式系数并发送至服务器端不是必须的。系统可以基于安全需求动态选择。例如,如果此处使用hash-128,则哈希运算的多项式系数可以选择128/q个。对于攻击者,由于无法获取ca对应的响应值,即点集的横坐标值,仅仅依靠公开传输的点集y值无法完成多项式重构。

在步骤504中,在服务器端,基于接收到的及强puf数学模型所预测生成的ra1,ra2,...,rak,可以构造备选点集

为了完成多项式重构,至少需要服务器端预测值ra1,ra2,...,rak中的t个与来源于设备端的响应相同。由于此处共有k个点,因此所有可能的组合方式个数如下公式所示,最多需要次循环num。

即从k个元素中任选t+1个;

在每一次循环中,服务器通过高斯消元或克莱姆法则求解公式如下所示的范德蒙矩阵,从而计算出与输入的hash(a1||a2||…||at)相等,则服务器端对设备端的认证成功,否则,认证失败。

其中,x1,x2,…,xt+1分别对应于ra1,ra2,...,rak中的t+1项;

所述y1,y2,…,yt+1分别对应于中的t+1项。

在步骤505中,若服务器对设备端认证成功,则将g(g<t+1)个重构的多项式系数(例如)反馈至设备端,以证明服务器端具有正确的puf的数学模型,可以完成多项式重构。

在步骤506中,设备端对比接收到的与设备在步骤502生成的多项式系数a0||a1||…||ag。若两者相同,则设备认证服务器成功,双向认证完成。否则,设备将服务器认证为非法服务器。

本发明实施例可以根据不同的应用场景而变化。例如,在低成本设备中,协议中的哈希算法可以被l(l<t+1)个f(x)上的随机点替代。服务器通过验证这些点是否在所重构的多项式上来验证设备的合法性。需要注意的是,为了确保攻击者无法基于获取的信息重构多项式,需要确保l+g<t+1成立。

值得说明的是,上述装置和系统内的模块、单元之间的信息交互、执行过程等内容,由于与本发明的处理方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取存储器(ram,randomaccessmemory)、磁盘或光盘等。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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