本发明涉及信息安全技术领域,尤其涉及一种芯片物理指纹可靠性评估方法、装置、设备及介质。
背景技术:
随着通信技术的飞速发展,物联网技术已广泛应用于管理、生产、生活的各个领域。物联网通信终端通常无人看守,因此也面临着独特的网络安全问题,如何实现对物联网通信终端的可信认证是实现物联网安全的重点。目前对物联网通信终端的可信认证可以根据其所使用芯片的物理指纹来验证,芯片物理指纹用于唯一证明芯片身份的信息。芯片在加工制造过程中,由于加工工艺的限制,不可避免地会产生随机性差异,这些随机差异是无法被复制或人为控制,具备唯一性特征,另外,芯片物理指纹在实际运行环境中,由于温度的变化、芯片的老化或电压变化会导致电路延时出现难以彻底消除的波动,使得芯片物理指纹的性能受到影响。目前关于芯片物理指纹的研究主要集中在芯片物理指纹的电路设计和基于芯片物理指纹的身份验证方法上,关于芯片物理指纹可靠性评估的研究较少。目前,对芯片物理指纹性能的认证主要通过和认证管理服务器中的物理指纹库进行比对,当二者的物理指纹完全一致时,则该芯片物理指纹性能具有较高的可靠性,但该方法严重限制了芯片物理指纹资源的可用率。因此研究人员也提出了基于物理指纹汉明距离的认证方案,通过容错的方式实现更多的可用物理指纹。目前对芯片物理指纹性能的验证无法实现量化计算,缺乏有效且严谨的评估。
技术实现要素:
本发明所要解决的技术问题是目前对芯片物理指纹可靠性评估的研究较少,缺乏对芯片物理指纹的性能进行有效评估的方法,因此,本发明提供一种芯片物理指纹可靠性评估方法,对芯片物理指纹的性能评估进行量化计算,以实现对芯片物理指纹可靠性进行有效且严谨的评估。
本发明通过下述技术方案实现:一种芯片物理指纹可靠性评估方法,包括:
计算待评估芯片物理指纹中由同一芯片对同一激励产生的响应的第一汉明距离数列hs和待评估芯片物理指纹中由不同芯片对同一激励产生的响应的第二汉明距离数列hd;
基于所述第一汉明距离数列hs计算第一均值δhs和第一方差值vhs;基于所述第二汉明距离数列hd计算第二均值δhd和第二方差值vhd;
获取所述待评估芯片物理指纹的响应bit数hmax和正态分布修正值σ;
调用指纹库可靠性因子计算公式,对所述第一均值δhs、所述第一方差值vhs、所述第二均值δhd、所述第二方差值vhd、所述响应bit数hmax和所述正态分布修正值σ进行计算,获取指纹库可靠性因子r;所述指纹库指存储所有待评估芯片物理指纹的数据库;
获取预设认证可靠性权值α,并计算认证错误接受率的平均值fa和认证错误拒绝率的平均值fr;
调用认证错误特征值计算公式,对所述认证错误接受率的平均值fa、认证错误拒绝率的平均值fr和所述预设认证可靠性权值α进行计算,获取认证错误特征值er;
选取最小的所述认证错误特征值er作为最小认证错误特征值ermin;
基于所述指纹库可靠性因子r和所述最小认证错误特征值ermin对所述待评估芯片物理指纹进行评估,获取评估结果。
进一步地,所述指纹库指纹库可靠性因子计算公式具体为:
其中,δhs指第一汉明距离数列hs对应的第一均值,vhs指第一汉明距离数列hs对应的第一方差值,δhd指第二汉明距离数列hd对应的第二均值,vhd指第二汉明距离数列hd对应的第二方差值。
进一步地,所述计算认证错误接受率的平均值fa和认证错误拒绝率的平均值fr,包括:
通过错误接受率计算公式计算所有待评估芯片物理指纹的错误接受率fai,j,所述错误接受率计算公式具体为:
其中,p指待评估芯片物理指纹对应的芯片的个数,k指每条激励对每个待评估芯片物理指纹对应的芯片测试的次数,a指认证阈值,hd(rm,i,j,rn,i',j)指第i待评估芯片物理指纹对应的芯片的第j次激励的第m次响应和第i'个待评估芯片物理指纹对应的芯片的第j次激励的第n次响应的汉明距离,com(a,hd(rm,i,j,rn,i',j))函数具体为:
通过错误接受率的平均值计算公式对所述错误接受率fai,j进行计算,获取认证错误接受率的平均值fa,所述错误接受率的平均值计算公式具体为:
其中,q指激励的个数;
通过错误拒绝率计算公式计算所有待评估芯片物理指纹的错误拒绝率fri,j,所述错误拒绝率计算公式具体为:
其中,k指每条激励对每个待评估芯片物理指纹对应的芯片测试的次数,a指认证阈值,hd(rm,i,j,rn,i,j)指第i个待评估芯片物理指纹对应的芯片的第j次激励的第m次响应和第n次响应的汉明距离;
通过错误拒绝率的平均值计算公式对所述错误接受率fri,j进行计算,获取认证错误接受率的平均值fr,所述错误拒绝率的平均值计算公式具体为:
其中,q指激励的个数。
进一步地,所述认证错误特征值计算公式具体为:
er=αfr+(1-α)fa
其中,fa指认证错误接受率的平均值、fr指认证错误拒绝率的平均值,α指预设认证可靠性权值。
进一步地,所述基于所述指纹库可靠性因子r和所述最小认证错误特征值ermin对所述待评估芯片物理指纹进行评估,获取评估结果,包括:
通过指纹库可靠性因子r对所述待评估芯片物理指纹进行初步评估,当所述指纹库可靠性因子r大于指纹库可靠性因子评估参考值时,则初步评估通过;
当所述初步评估通过后,则通过所述最小认证错误特征值ermin对所述待评估芯片物理指纹进行再次评估,当所述最小认证错误特征值ermin小于错误特征值评估参考值时,则所述待评估芯片物理指纹对应的评估结果为评估通过。
一种芯片物理指纹可靠性评估装置,包括:
待评估数据获取模块,用于计算待评估芯片物理指纹中由同一芯片对同一激励产生的响应的第一汉明距离数列hs和待评估芯片物理指纹中由不同芯片对同一激励产生的响应的第二汉明距离数列hd;
待评估数据计算模块,用于基于所述第一汉明距离数列hs计算第一均值δhs和第一方差值vhs;基于所述第二汉明距离数列hd计算第二均值δhd和第二方差值vhd;
参数获取模块,用于获取所述待评估芯片物理指纹的响应bit数hmax和正态分布修正值σ;
指纹库可靠性因子获取模块,用于调用指纹库可靠性因子计算公式,对所述第一均值δhs、所述第一方差值vhs、所述第二均值δhd、所述第二方差值vhd、所述响应bit数hmax和所述正态分布修正值σ进行计算,获取指纹库可靠性因子r;所述指纹库指存储所有待评估芯片物理指纹的数据库;
计算数据获取模块,用于获取预设认证可靠性权值α,并计算认证错误接受率的平均值fa和认证错误拒绝率的平均值fr;
认证错误特征值计算模块,用于调用认证错误特征值计算公式,对所述认证错误接受率的平均值fa、认证错误拒绝率的平均值fr和所述预设认证可靠性权值α进行计算,获取认证错误特征值er;
最小认证错误特征值选取模块,用于选取最小的所述认证错误特征值er作为最小认证错误特征值ermin;
评估结果获取模块,用于基于所述指纹库可靠性因子r和所述最小认证错误特征值ermin对所述待评估芯片物理指纹进行评估,获取评估结果。
错误接受率计算单元,用于通过错误接受率计算公式计算所有待评估芯片物理指纹的错误接受率fai,j,所述错误接受率计算公式具体为:
其中,p指待评估芯片物理指纹对应的芯片的个数,k指每条激励对每个待评估芯片物理指纹对应的芯片测试的次数,a指认证阈值,hd(rm,i,j,rn,i',j)指第i待评估芯片物理指纹对应的芯片的第j次激励的第m次响应和第i'个待评估芯片物理指纹对应的芯片的第j次激励的第n次响应的汉明距离,com(a,hd(rm,i,j,rn,i',j))函数具体为:
认证错误接受率的平均值计算单元,用于通过错误接受率的平均值计算公式对所述错误接受率fai,j进行计算,获取认证错误接受率的平均值fa,所述错误接受率的平均值计算公式具体为:
其中,q指激励的个数;
认证错误拒绝率计算单元,用于通过错误拒绝率计算公式计算所有待评估芯片物理指纹的错误拒绝率fri,j,如下式所示
其中,k指每条激励对每个待评估芯片物理指纹对应的芯片测试的次数,a指认证阈值,hd(rm,i,j,rn,i,j)指第i个待评估芯片物理指纹对应的芯片的第j次激励的第m次响应和第n次响应的汉明距离;
认证错误拒绝率的平均值计算单元,用于通过错误拒绝率的平均值计算公式对所述错误接受率fri,j进行计算,获取认证错误拒绝率的平均值fr,所述错误拒绝率的平均值计算公式具体为:
其中,q指激励的个数。
进一步地,所述评估结果获取模块包括:
第一评估单元,用于通过指纹库可靠性因子r对所述待评估芯片物理指纹进行初步评估,当所述指纹库可靠性因子r大于指纹库可靠性因子评估参考值时,则初步评估通过;
第二评估单元,用于当所述初步评估通过后,则通过所述最小认证错误特征值ermin对所述待评估芯片物理指纹进行再次评估,当所述最小认证错误特征值ermin小于错误特征值评估参考值时,则所述待评估芯片物理指纹对应的评估结果为评估通过。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种芯片物理指纹可靠性评估方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述一种芯片物理指纹可靠性评估方法。
本发明提供的一种芯片物理指纹可靠性评估方法、装置、设备及介质,通过计算第一汉明距离数列hs,并基于该第一汉明距离数列hs计算第一均值δhs和第一方差值vhs,以及计算第二汉明距离数列hd,并基于该第一汉明距离数列hd计算第二均值δhd和第二方差值vhd,再根据待评估芯片物理指纹的响应bit数hmax和正态分布修正值σ,获取指纹库可靠性因子r。然后通过预设认证可靠性权值α、认证错误接受率的平均值fa和认证错误拒绝率的平均值fr进行计算,获取认证错误特征值er,并选取最小的认证错误特征值er作为最小认证错误特征值ermin。最后,基于指纹库可靠性因子r和最小认证错误特征值ermin对待评估芯片物理指纹进行评估,获取评估结果,以实现对芯片物理指纹的可靠性进行量化评估,获取准确的评估结果。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
图1为本发明一种芯片物理指纹可靠性评估方法的流程图。
图2为图1中步骤s50的一具体流程图。
图3为图1中步骤s80的一具体流程图。
图4为本发明一种芯片物理指纹可靠性评估装置的结构示意图。
图5为本发明计算机设备的一示意图。
图6为本发明实施例1中一具体实施例图。
图7为本发明实施例1中一具体实施例图。
图8为本发明实施例1中一具体实施例图。
图9为本发明实施例1中一具体实施例图。
图10为本发明实施例1中一具体实施例图。
图11为本发明实施例1中一具体实施例图。
其中,图6的横坐标为汉明距离hd,纵坐标为各汉明距离出现的次数占测试总次数的百分比。图7的横坐标为指纹库可靠性因子r,纵坐标为最小认证错误特征值ermin。图8的横坐标为认证阈值,纵坐标为认证错误接受率的平均值fa。图9的横坐标为认证阈值,纵坐标为认证错误拒绝率的平均值fr。图10的横坐标为认证阈值,纵坐标为认证错误特征值er。图11的横坐标为认证阈值,纵坐标为认证错误特征值er。
图8中的fa1表示第一组待评估芯片物理指纹的认证错误接受率的平均值,fa2表示第二组待评估芯片物理指纹的认证错误接受率的平均值,fa3表示第三组待评估芯片物理指纹的认证错误接受率的平均值,fa4表示第四组待评估芯片物理指纹的认证错误接受率的平均值。图9中的fr1表示第一组待评估芯片物理指纹的认证错误拒绝率的平均值,fr2表示第二组待评估芯片物理指纹的认证错误拒绝率的平均值,fr3表示第三组待评估芯片物理指纹的认证错误拒绝率的平均值,fr4表示第四组待评估芯片物理指纹的认证错误拒绝率的平均值。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
实施例1
本发明提供一种芯片物理指纹可靠性评估方法,该方法可应用于不同计算机设备中。
如图1所示,本发明提供一种芯片物理指纹可靠性评估方法,包括如下步骤:
s10:计算待评估芯片物理指纹中由同一芯片对同一激励产生的响应的第一汉明距离数列hs和待评估芯片物理指纹中由不同芯片对同一激励产生的响应的第二汉明距离数列hd。
其中,待评估芯片物理指纹指需要进行可靠性评估的芯片的物理指纹,需符合采集于相同设计的物理指纹芯片的要求,物理指纹库中的待评估芯片物理指纹采用了相同的激励集合,每一条激励对每一个待评估芯片物理指纹对应的芯片重复进行了测试,并将每次测试的响应与对应的激励进行记录并记为一条指纹数据。
由于芯片物理指纹在实际运行环境中,不可避免地会受到温度的变化、芯片的老化或电压变化会导致电路延时出现难以彻底消除的波动,使得芯片物理指纹对同一激励所作出的响应出现不同。因此,本实施例通过计算第一汉明距离数列hs表示待评估芯片物理指纹中同一芯片对同一激励产生的响应的相异位的位数,第二汉明距离数列hd表示待评估芯片物理指纹中不同芯片对同一激励产生的响应的相异位的位数。
其中,第一汉明距离数列hs指待评估芯片物理指纹中同一芯片对同一激励产生的响应的相异位的位数所形成的数列。
第二汉明距离数列hd指待评估芯片物理指纹中不同芯片对同一激励产生的响应的相异位的位数所形成的数列。
s20:基于第一汉明距离数列hs计算第一均值δhs和第一方差值vhs;基于第二汉明距离数列hd计算第二均值δhd和第二方差值vhd。
其中,第一均值δhs指第一汉明距离数列hs的平均值;第一方差值vhs指第一汉明距离数列hs的方差值。第二均值δhd指第二汉明距离数列hd的平均值;第二方差值vhd指第二汉明距离数列hd的方差值。
s30:获取待评估芯片物理指纹的响应bit数hmax和正态分布修正值σ。
其中,正态分布修正值指根据实际经验得到的用于对正态分布近似值进行修正的值。
s40:调用指纹库可靠性因子计算公式,对第一均值δhs、第一方差值vhs、第二均值δhd、第二方差值vhd、响应bit数hmax和正态分布修正值σ进行计算,获取指纹库可靠性因子r。指纹库指存储所有待评估芯片物理指纹的数据库。
其中,指纹库可靠性因子指量化表示指纹库可靠性的值,用于量化表示指纹库的可靠性。
具体地,为了验证待评估芯片物理指纹的可靠性,在获取第一均值δhs、第一方差值vhs、第二均值δhd、第二方差值vhd、响应bit数hmax和正态分布修正值σ后,调用指纹库可靠性因子计算公式对上述数据进行计算,获取该待评估芯片物理指纹的指纹库可靠性因子r。
进一步地,指纹库可靠性因子计算公式具体为:
其中,δhs指第一汉明距离数列hs对应的第一均值,vhs指第一汉明距离数列hs对应的第一方差值,δhd指第二汉明距离数列hd对应的第二均值,vhd指第二汉明距离数列hd对应的第二方差值。
s50:获取预设认证可靠性权值α,并计算认证错误接受率的平均值fa和认证错误拒绝率的平均值fr。
其中,预设认证可靠性权值α指根据实际情况设置的用于判断待评估芯片物理指纹的可靠性达到认证要求的权值。认证错误接受率的平均值fa指待评估芯片物理指纹的认证错误接受率的平均值。认证错误拒绝率的平均值fr指待评估芯片物理指纹的认证错误拒绝率的平均值。
进一步地,如图2所示,步骤s50,计算认证错误接受率的平均值fa和认证错误拒绝率的平均值fr,具体包括如下步骤:
s51:通过错误接受率计算公式计算所有待评估芯片物理指纹的错误接受率fai,j,错误接受率计算公式具体为:
其中,p指待评估芯片物理指纹对应的芯片的个数,k指每条激励对每个待评估芯片物理指纹对应的芯片测试的次数,a指认证阈值,hd(rm,i,j,rn,i',j)指第i待评估芯片物理指纹对应的芯片的第j次激励的第m次响应和第i'个待评估芯片物理指纹对应的芯片的第j次激励的第n次响应的汉明距离,com(a,hd(rm,i,j,rn,i',j))函数具体为:
其中,错误接受率指采用目标物理指纹库中物理指纹对非匹配设备进行认证时,被判定认证通过的概率。
s52:通过错误接受率的平均值计算公式对错误接受率fai,j进行计算,获取认证错误接受率的平均值fa,错误接受率的平均值计算公式具体为:
其中,q指激励的个数。
s53:通过错误拒绝率计算公式计算所有待评估芯片物理指纹的错误拒绝率fri,j,错误拒绝率计算公式具体为:
其中,其中,k指每条激励对每个待评估芯片物理指纹对应的芯片测试的次数,a指认证阈值,hd(rm,i,j,rn,i,j)指第i个待评估芯片物理指纹对应的芯片的第j次激励的第m次响应和第n次响应的汉明距离。
其中,错误拒绝率指采用目标物理指纹库中物理指纹对匹配设备进行认证时,被判定认证不通过的概率。
s54:通过错误拒绝率的平均值计算公式对错误接受率fri,j进行计算,获取认证错误接受率的平均值fr,错误拒绝率的平均值计算公式具体为:
其中,q指激励的个数。
s60:调用认证错误特征值计算公式,对认证错误接受率的平均值fa、认证错误拒绝率的平均值fr和预设认证可靠性权值α进行计算,获取认证错误特征值er。
其中,认证错误特征值er,指用于表征待评估芯片物理指纹在设备认证应用中由于发生认证错误带来的影响度。
进一步地,认证错误特征值计算公式具体为
er=αfr+(1-α)fa,
其中,fa指认证错误接受率的平均值、fr指认证错误拒绝率,α指预设认证可靠性权值。
s70:选取最小的认证错误特征值er作为最小认证错误特征值ermin。
具体地,在获取认证错误特征值er后,从认证错误特征值er中选取最小的值作为最小认证错误特征值ermin,以方便后续步骤根据该最小认证错误特征值ermin对待评估芯片物理指纹进行可靠性评估。
s80:基于指纹库可靠性因子r和最小认证错误特征值ermin对待评估芯片物理指纹进行评估,获取评估结果。
一组待评估芯片指纹库对应一个指纹库可靠性因子r,一个最小认证错误特征值ermin,指纹库可靠性因子r越大,最小认证错误特征值ermin越小,则表示该组待评估芯片物理指纹可靠性越好。
进一步地,如图3所示,步骤s80,基于目标认证阈值对待评估芯片物理指纹进行评估,获取评估结果,具体包括如下步骤:
s81:通过指纹库可靠性因子r对待评估芯片物理指纹进行初步评估,当指纹库可靠性因子r大于指纹库可靠性因子评估参考值时,则初步评估通过。
s82:当初步评估通过后,则通过最小认证错误特征值ermin对待评估芯片物理指纹进行再次评估,当最小认证错误特征值ermin小于错误特征值评估参考值时,则待评估芯片物理指纹对应的评估结果为评估通过。
为提高数据的准确性,本实施例采用n组(如10)待评估芯片物理指纹进行测试。具体地,本实施例中的每组待评估芯片物理指纹提取于p个(如100)物理指纹芯片,每个物理指纹芯片通过q个(如50)激励重复测试k次(如20),获取对应的第一汉明距离数列hs和第二汉明距离数列hd。
为便于理解,本实施例以10组256bit位的待评估芯片物理指纹为例进行说明,每条芯片物理指纹包括128bit位激励,128bit位响应。如图6所示,为上述第一组待评估芯片物理指纹对应的第一汉明距离数列hs和第二汉明距离数列hd。其中,图6的横坐标为汉明距离hd,纵坐标为各汉明距离出现的次数与测试总次数的百分比(%)。
预设认证可靠性权值α设为0.5,预设认证阈值a可在预设阈值范围内[0,128]取值,取值范围上限与响应bit数hmax一致。认证阈值指认证时服务器收到终端传回的响应后计算其与数据库中响应汉明距离,判断响应能通过认证的最小值,恰当的认证阈值能用于提高待评估芯片物理指纹的认证错误特征值的计算效率和计算准确性。在实际应用中,可通过观察第一汉明距离数列hs和第二汉明距离数列hd的分布情况对预设认证阈值范围进行缩小,提高计算效率和计算准确性。
具体可在获取认证错误特征值er和预设认证阈值a范围的关系曲线后,选取最小认证错误特征值ermin对应的认证阈值作为预设认证阈值。如图10所示,为第1组-第4组待评估芯片物理指纹的认证错误特征值er,随各自的认证阈值变化的特性曲线。通过该特性曲线选取最小的认证错误特征值ermin对应的认证阈值为预设认证阈值。其中,图10的横坐标为认证阈值,纵坐标为认证错误特征值er。由图10可知,不同的待评估芯片物理指纹具有不同的目标认证阈值。
进一步地,本实施例步骤s50中,预设认证可靠性权值α的设置是根据该待评估芯片物理指纹的错误特征值er和认证阈值a范围设定的。其中,图11的横坐标为认证阈值,纵坐标为认证错误特征值er。通过图11所示,为α=0.3、0.5、0.7时第一组待评估芯片物理指纹的认证错误特征值er随认证阈值的变化特性曲线,当α=0.3时,ermin=1.44%,此时a=28,当α=0.5时,ermin=1.92%,此时a=25,当α=0.7时,ermin=2.02%,此时a=23。由此可知,最小认证错误特征值ermin和目标认证阈值与预设认证可靠性权值α的设置有关,预设认证可靠性权值α越大,最小认证错误特征值ermin越大,目标认证阈值越小。
如图7所示,为上述10组待评估芯片物理指纹的指纹库可靠性因子r和最小认证错误特征值ermin的关系特性曲线图。
如图8所示,为第1组-第4组待评估芯片物理指纹的认证错误接受率的平均值fa,随认证阈值变化的特性曲线。其中,图8的横坐标为认证阈值,纵坐标为认证错误接受率的平均值fa,fa1表示第一组待评估芯片物理指纹的认证错误接受率的平均值,fa2表示第二组待评估芯片物理指纹的认证错误接受率的平均值,fa3表示第三组待评估芯片物理指纹的认证错误接受率的平均值,fa4表示第四组待评估芯片物理指纹的认证错误接受率的平均值。
如图9所示,为第1组-第4组待评估芯片物理指纹的认证错误拒绝率的平均值fr,随认证阈值变化的特性曲线。其中,图9的横坐标为认证阈值,纵坐标为认证错误拒绝率的平均值fr,fr1表示第一组待评估芯片物理指纹的认证错误拒绝率的平均值,fr2表示第二组待评估芯片物理指纹的认证错误拒绝率的平均值,fr3表示第三组待评估芯片物理指纹的认证错误拒绝率的平均值,fr4表示第四组待评估芯片物理指纹的认证错误拒绝率的平均值。
本发明提供的芯片物理指纹可靠性评估方法,通过计算第一汉明距离数列hs,并基于该第一汉明距离数列hs计算第一均值δhs和第一方差值vhs,以及计算第二汉明距离数列hd,并基于该第一汉明距离数列hd计算第二均值δhd和第二方差值vhd,再根据待评估芯片的物理指纹的响应bit数hmax和正态分布修正值σ,获取指纹库可靠性因子r。然后通过预设认证可靠性权值α、认证错误接受率的平均值fa和认证错误拒绝率的平均值fr进行计算,获取认证错误特征值er,并选取最小的认证错误特征值er作为最小认证错误特征值ermin。最后,基于指纹库可靠性因子r和最小认证错误特征值ermin对待评估芯片的物理指纹进行评估,获取评估结果,以实现对芯片物理指纹的可靠性进行量化评估,获取准确的评估结果。
实施例2
如图4所示,本实施例与实施例1的区别在于,一种芯片物理指纹可靠性评估装置,包括:
待评估数据获取模块10,用于计算待评估芯片物理指纹中由同一芯片对同一激励产生的响应的第一汉明距离数列hs和待评估芯片物理指纹中由不同芯片对同一激励产生的响应的第二汉明距离数列hd。
待评估数据计算模块20,用于基于第一汉明距离数列hs计算第一均值δhs和第一方差值vhs;基于第二汉明距离数列hd计算第二均值δhd和第二方差值vhd。
参数获取模块30,用于获取待评估芯片物理指纹的响应bit数hmax和正态分布修正值σ。
指纹库可靠性因子获取模块40,用于调用指纹库可靠性因子计算公式,对第一均值δhs、第一方差值vhs、第二均值δhd、第二方差值vhd、响应bit数hmax和正态分布修正值σ进行计算,获取指纹库可靠性因子r;指纹库指存储所有待评估芯片物理指纹的数据库。
进一步地,指纹库可靠性因子获取模块40中的指纹库可靠性因子计算公式具体为:
其中,δhs指第一汉明距离数列hs对应的第一均值,vhs指第一汉明距离数列hs对应的第一方差值,δhd指第二汉明距离数列hd对应的第二均值,vhd指第二汉明距离数列hd对应的第二方差值。
计算数据获取模块50,用于调用认证错误特征值计算公式,对认证错误接受率的平均值fa、认证错误拒绝率的平均值fr和预设认证可靠性权值α进行计算,获取认证错误特征值er。
进一步地,计算数据获取模块50包括错误接受率计算单元51、认证错误接受率的平均值计算单元52、错误拒绝率计算单元53和认证错误拒绝率的平均值计算单元54。
错误接受率计算单元51,用于通过错误接受率计算公式计算所有待评估芯片物理指纹的错误接受率fai,j,错误接受率计算公式具体为:
其中,p指待评估芯片物理指纹对应的芯片的个数,k指每条激励对每个待评估芯片物理指纹对应的芯片测试的次数,a指认证阈值,hd(rm,i,j,rn,i',j)指第i待评估芯片物理指纹对应的芯片的第j次激励的第m次响应和第i'个待评估芯片物理指纹对应的芯片的第j次激励的第n次响应的汉明距离,com(a,hd(rm,i,j,rn,i',j))函数具体为:
认证错误接受率的平均值计算单元52,用于通过错误接受率的平均值计算公式对错误接受率fai,j进行计算,获取认证错误接受率的平均值fa,错误接受率的平均值计算公式具体为:
其中,q指激励的个数。
认证错误拒绝率计算单元53,用于通过错误拒绝率计算公式计算所有待评估芯片物理指纹的错误拒绝率fri,j,错误拒绝率计算公式具体为:
其中,其中,k指每条激励对每个待评估芯片物理指纹对应的芯片测试的次数,a指认证阈值,hd(rm,i,j,rn,i,j)指第i个待评估芯片物理指纹对应的芯片的第j次激励的第m次响应和第n次响应的汉明距离。
认证错误拒绝率的平均值计算单元54,用于通过错误拒绝率的平均值计算公式对错误接受率fri,j进行计算,获取认证错误拒绝率的平均值fr,错误拒绝率的平均值计算公式具体为:
其中,q指激励的个数。
认证错误特征值计算模块60,用于调用认证错误特征值计算公式,对认证错误接受率的平均值fa、认证错误拒绝率的平均值fr和预设认证可靠性权值α进行计算,获取认证错误特征值er。
进一步地,认证错误特征值计算模块60中的认证错误特征值计算公式具体为:
er=αfr+(1-α)fa
其中,fa指认证错误接受率的平均值、fr指认证错误拒绝率的平均值,α指预设认证可靠性权值。
最小认证错误特征值选取模块70,用于选取最小的认证错误特征值er作为最小认证错误特征值ermin。
评估结果获取模块80,用于基于指纹库可靠性因子r和最小认证错误特征值ermin对待评估芯片物理指纹进行评估,获取评估结果。
进一步地,评估结果获取模块80包括第一评估结果获取单元和第二评估结果获取单元。
第一评估单元,用于通过指纹库可靠性因子r对待评估芯片物理指纹进行初步评估,当指纹库可靠性因子r大于指纹库可靠性因子评估参考值时,则初步评估通过。
第二评估单元,用于当初步评估通过后,则通过最小认证错误特征值ermin对待评估芯片物理指纹进行再次评估,当最小认证错误特征值ermin小于错误特征值评估参考值时,则待评估芯片物理指纹对应的评估结果为评估通过。
关于芯片物理指纹可靠性评估的具体限定可以参见上文中对于芯片物理指纹可靠性评估方法的限定,在此不再赘述。上述芯片物理指纹可靠性评估中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
实施例3
本实施例提供一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括计算机可读存储介质、内存储器。该计算机可读存储介质存储有操作系统、计算机程序和数据库。该内存储器为计算机可读存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储芯片物理指纹可靠性评估方法中涉及到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种芯片物理指纹可靠性评估方法。
本实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中芯片物理指纹可靠性评估方法的步骤,例如图1所示的步骤10至步骤s80,或者,图2-图3所示的步骤,为避免重复,这里不再赘述。或者,处理器执行计算机程序时实现上述实施例中芯片物理指纹可靠性评估装置的各模块/单元的功能,例如图4所示模块10至模块80的功能。为避免重复,这里不再赘述。
实施例4
本实施例,提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中芯片物理指纹可靠性评估方法的步骤,例如图1所示的步骤s10-s80,或者,图2-图3所示的步骤,为避免重复,这里不再赘述。或者,处理器执行计算机程序时实现芯片物理指纹可靠性评估装置这一实施例中的各模块/单元的功能,例如图4所示的模块10至模块80的功能。为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。