基于电磁场效应的PCB篡改智能检测方法与流程

文档序号:18412948发布日期:2019-08-13 18:59阅读:169来源:国知局
基于电磁场效应的PCB篡改智能检测方法与流程

本发明涉及pcb硬件的检测技术,具体涉及一种基于电磁场效应的pcb篡改智能检测方法。



背景技术:

pcb的物理篡改是指通过恶意的篡改pcb上的元器件以及过孔的大小、走线宽度等等,从而造成电路功能以及性能的改变、泄露电路信息或者造成电路故障等等,这对硬件构成了极大的安全隐患。然而,由于这种物理篡改体积小并且容易操作,这使得它非常难以检测。目前,学术界有很多检测芯片级的硬件木马的方法,包括侧通道分析、逻辑测试以及逆向工程等等。

对于芯片级的硬件木马主要是进行逻辑上的恶意篡改,检测较容易,但是对于pcb板级的硬件木马主要是进行一些物理上的恶意篡改,检测起来非常困难。

目前对于pcb板级的一些恶意篡改的检测方法大部分停留在木马造成的严重后果以及防御措施上。如:对人们日常用到的智能设备进行了安全性分析,对pcb上的硬件木马进行了详细的分类,对pcb上的硬件木马进行了初步分析等等,但是这些检测方法都难以实现板子上的硬件的恶意篡改的检测。



技术实现要素:

针对现有技术中的上述不足,本发明提供的基于电磁场效应的pcb篡改智能检测方法能够以较高的概率检测出板子上电容和覆铜面积的恶意篡改。

为了达到上述发明目的,本发明采用的技术方案为:

提供一种基于电磁场效应的pcb篡改智能检测方法,其包括:

s1、选取多个有篡改的pcb板和无篡改的pcb板构成训练集;

s2、采用探针测量训练集中所有pcb板的电磁场分布,得到行数为m,列数为n的电磁场分布矩阵;

s3、对训练集中各电磁场分布矩阵加上标签,并依次进行乱序和归一化处理,之后提取每个电磁场分布矩阵的数学特征;

s4、选取训练集中预设比例的经过数学特征提取的电磁场分布矩阵作为训练样本对bp有监督神经网络进行训练,得到初步训练的神经网络;

s5、将训练集中余下的经过数学特征提取的电磁场分布矩阵作为验证样本输入初步训练的神经网络中,并输出篡改的验证正确率;

s6、判断验证正确率是否达到预设要求,若达到,则完成神经网络的训练,并进入步骤s7,否则,令m=m+1,n=n+1,并返回步骤s2;

s7、获取待测试pcb板的测试电磁场分布矩阵m×n,并对测试电磁场分布矩阵依次进行归一化处理和数学特征提取;以及

s8、采用训练好的神经网络对经过数学特征提取的测试电磁场分布矩阵进行识别,并输出是否篡改的识别结果,完成pcb篡改检测。

进一步地,所述提取每个电磁场分布矩阵的数学特征进一步包括:

s31、根据训练集中的电磁场分布矩阵求解协方差矩阵g:

其中,di(i∈[1,2,...,k])为训练集中电磁场分布矩阵;k为训练集中的电磁场分布矩阵的数量;为所有电磁场分布矩阵di的平均值;t为矩阵的转置;

s32、选取协方差矩阵g中最大的p个特征值对应的特征向量:

其中,为协方差矩阵g第a列的特征值,a∈(1,2,...,n),n为电磁场分布矩阵di的列数,λ为常数,等于0.9或者0.95;

s33、根据选取出的p个特征向量对应的特征值大小对特征向量进行降序排序,生成最佳投影轴xo:

其中,为排序后第k个特征向量,k∈(1,2,…,p);

s34、根据最佳投影xo计算训练集中每个pcb板的特征矩阵fi:

fi=dixo;

s35、计算特征矩阵fi中各列向量的二范数,得到每个训练pcb板的二范数矩阵li:

其中,为特征矩阵li的第j列,fij为样本特征矩阵fi的第j列,为fij的二范数。

进一步地,所述选取训练集中预设比例的经过数学特征提取的电磁场分布矩阵作为训练样本对bp有监督神经网络进行训练进一步包括:

s41、初始化bp有监督神经网络中的权重、偏置、学习率和训练次数;

s42、采用激励函数对输入节点进行运算,得到bp有监督神经网络隐含层的输出hj:

其中,i=1…n,j=1…l,n为输入层的节点个数,l为隐含层的节点个数;wij为输入层到隐含层的权重,aj为输入层到隐含层的偏置,xi为第i个节点的输入数据;g(.)为激励函数;

s43、根据隐含层的输出、隐含层到输出层的权重以及隐含层到输出层的偏置计算输出层的输出结果;

s44、根据输出层的输出结果与训练样本的期望输出计算误差值;

s45、采用梯度下降法更新隐含层到输出层的权值和输入层到隐含层的权值,其中隐含层到输出层的权值的更新公式为:

wjk=wjk+ηhjek

输入层到隐含层的权值的更新公式为:

其中,η为学习速率;ek=yk-ok;wjk为隐含层到输出层的权值;

s46、更新隐含层到输出层的偏置,之后再更新输入层到隐含层的偏置:

s47、判断bp有监督神经网络是否已完成训练:

当相邻两次误差之间的差值小于设定阈值或迭代次数等于预设次数时,得到初步训练的神经网络;

当相邻两次误差之间的差值及迭代次数均不满足条件时,返回步骤s42。

进一步地,所述输出层的输出结果ok的计算公式为:

其中,ok为输出结果;k=1…m,m为输出层的节点个数;bk为隐含层到输出层的偏置。

进一步地,所述误差值的计算公式为:

其中,e为误差值;yk为期望输出。

本发明的有益效果为:本方案通过已训练的bp有监督神经网络对pcb上的各种物理篡改进行分类检测,能够实现pcb上覆铜面积的篡改及元器件电阻和电容的篡改,在进行识别过程中,对覆铜面积及元器件电容篡改具有较高的检测率。

附图说明

图1为基于电磁场效应的pcb篡改智能检测方法的流程图。

图2为实施例中低通滤波器原理图。

图3为图2中低通滤波器的pcb板图。

具体实施方式

下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

参考图1,图1示出了基于电磁场效应的pcb篡改智能检测方法的流程图,如图1所示,该方法s包括步骤s1至步骤s8。

在步骤s1中,选取多个有篡改的pcb板和无篡改的pcb板构成训练集;

在步骤s2中,采用探针测量训练集中所有pcb板的电磁场分布,得到行数为m,列数为n的电磁场分布矩阵;

在步骤s3中,对训练集中各电磁场分布矩阵加上标签,并依次进行乱序和归一化处理,之后提取每个电磁场分布矩阵的数学特征,得到电磁场值的二范数矩阵;

由于本方案是bp有监督神经网络,故需要对已知的有无篡改的板子的电磁场分布矩阵加上标签,其中,有篡改的为标签1,未篡改的为标签2;之后再对加上标签的电磁场分布矩阵进行乱序处理,以打乱重组便于后续的训练样本与验证样本的选择。进行归一化处理的目的是使得不同范围的数据能够放在一个参考系下进行比较,即为后面的分类算法作准备。

在本发明的一个实施例中,提取每个电磁场分布矩阵的数学特征包括:

s31、根据训练集中的电磁场分布矩阵求解协方差矩阵g:

其中,di(i∈[1,2,...,k])为训练集中电磁场分布矩阵;k为训练集中的电磁场分布矩阵的数量;为所有电磁场分布矩阵di的平均值;t为矩阵的转置;

s32、选取协方差矩阵g中最大的p个特征值对应的特征向量:

其中,为协方差矩阵g第a列的特征值,a∈(1,2,...,n),n为电磁场分布矩阵di的列数,λ为常数,等于0.9或者0.95;

s33、根据选取出的p个特征向量对应的特征值大小对特征向量进行降序排序,生成最佳投影轴xo:

其中,为排序后第k个特征向量,k∈(1,2,…,p);

s34、根据最佳投影xo计算训练集中每个pcb板的特征矩阵fi:

fi=dixo;

s35、计算特征矩阵fi中各列向量的二范数,得到每个训练pcb板的二范数矩阵li:

其中,为特征矩阵li的第j列,fij为样本特征矩阵fi的第j列,的二范数。

在步骤s4中,选取训练集中预设比例的经过数学特征(电磁场值的二范数矩阵)提取的电磁场分布矩阵作为训练样本对bp有监督神经网络进行训练,得到初步训练的神经网络;在训练过程中根据已知的标签类别,得到期望输出与实际输出之间的误差,根据误差不断调整bp有监督神经网络的权值和偏置,最后得到训练好的有监督神经网络。

在本发明的一个实施例中,选取训练集中预设比例的经过数学特征提取的电磁场分布矩阵作为训练样本对bp有监督神经网络进行训练进一步包括:

s41、初始化bp有监督神经网络中的权重、偏置、学习率和训练次数;

s42、采用激励函数对输入节点进行运算,得到bp有监督神经网络隐含层的输出hj:

其中,i=1…n,j=1…l,n为输入层的节点个数,l为隐含层的节点个数;wij为输入层到隐含层的权重,aj为输入层到隐含层的偏置,xi为第i个节点的输入数据;g(.)为激励函数;

s43、根据隐含层的输出、隐含层到输出层的权重以及隐含层到输出层的偏置计算输出层的输出结果ok:

其中,ok为输出结果;k=1…m,m为输出层的节点个数;bk为隐含层到输出层的偏置。

s44、根据输出层的输出结果与训练样本的期望输出计算误差值:

其中,e为误差值;yk为期望输出。

s45、采用梯度下降法更新隐含层到输出层的权值和输入层到隐含层的权值,其中隐含层到输出层的权值的更新公式为:

wjk=wjk+ηhjek

输入层到隐含层的权值的更新公式为:

其中,η为学习速率;ek=yk-ok;wjk为隐含层到输出层的权值;

s46、更新隐含层到输出层的偏置,之后再更新输入层到隐含层的偏置:

s47、判断bp有监督神经网络是否已完成训练:

当相邻两次误差之间的差值小于设定阈值或迭代次数等于预设次数时,得到初步训练的神经网络;

当相邻两次误差之间的差值及迭代次数均不满足条件时,返回步骤s42。

在步骤s5中,将训练集中余下的经过数学特征提取的电磁场分布矩阵作为验证样本输入初步训练的神经网络中,并输出篡改的验证正确率;具体地为:

将余下已经经过数学特征提取的电磁场分布矩阵输送给初步得到的神经网络,神经网络会分析出其是否属于篡改板,再根据已知的标签比对,进行是否验证正确的判断,得到篡改的验证正确率。

在步骤s6中,判断验证正确率是否达到预设要求,若达到,则完成神经网络的训练,并进入步骤s7,否则,令m=m+1,n=n+1,并返回步骤s2;

在步骤s7中,获取待测试pcb板的测试电磁场分布矩阵m×n,并对测试电磁场分布矩阵依次进行归一化处理和数学特征提取;本步骤中的测试电磁场分布矩阵的行数m和列数n都是更新后的最后取值。

在步骤s8中,采用训练好的神经网络对经过数学特征提取的测试电磁场分布矩阵进行识别,并输出是否篡改的识别结果,完成pcb篡改检测。

下面以一个具体的实例对本方案的检测效果进行说明:

本实例中利用matlab通过bp有监督神经网络对未进行篡改的板子以及已经进行了篡改的板子进行检测。

本实例中用到的电路原理图如图2所示,板图如图3所示,该电路的截止频率为2khz,电压增益为2的低通滤波器,对未进行篡改以及进行各种类型的篡改均进行了50组训练样本,30组测试样本。

本实例中对pcb板子中的各种参数添加了随机制造误差,误差添加的方式如表1所示。对pcb板子进行的不同物理篡改的篡改方式如表2所示,检测结果如表3所示。

表1双面板添加制造误差的方式

表2不同篡改类型的篡改方式

表3基于pcb电磁场效应的bp神经网络检测结果

从表3可以看出,本方案提供的方法能够对电路板上覆铜面积的篡改及元器件电阻和电容的篡改的识别,尤其是对其中的覆铜面积的篡改及电器件电容具有较高的检出率。

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