物理非克隆功能抗模板攻击和人工智能攻击的方法与流程

文档序号:15272716发布日期:2018-08-28 22:37阅读:164来源:国知局

本发明涉及用于一种采用深度学习网络电路保护物理非克隆功能抗模板攻击和人工智能攻击的方法,使它免遭模板攻击或人工智能算法攻击,属于集成电路设计领域的芯片安全防护领域。



背景技术:

斯诺登事件发生后,人们对信息安全的重视越来越深入。物理非克隆技术越来越广泛地应用于各种考虑安全机制和功能的芯片中,其目的是为了在每颗芯片中产生类似于人类指纹的唯一标识该芯片的特征信号,从而使该芯片只有唯一一颗存于世上,其余的同类芯片即使电路功能完全一致,但其物理非克隆标志信号或识别号是不可能有重复的,这使得该类芯片的安全有了一定的保障,攻击者即使知道了这颗芯片当前运行的识别号,但是同一颗芯片下一次上电运行时该识别号又完全不同了,因此称之为物理非克隆功能,即没法通过技术手段来完全复制出同一颗芯片。但是随着黑客攻击技术的水平越来越提升,黑客利用新型模板攻击或人工智能技术比如深度学习网络来提取物理非克隆功能模块的行为特征,预测物理非克隆功能模块的输出,从而达到复制芯片或对芯片进行攻击的目的。为此本发明提出了一种利用深度学习网络电路及其方法来保护物理非克隆功能模块,使之特征无法被模板攻击或深度学习网络来提取或预测,从而保证芯片的安全。



技术实现要素:

本发明的目的在于提供一种采用深度学习网络电路保护物理非克隆功能抗模板攻击和人工智能攻击的方法,使之特征无法被模板攻击或深度学习网络来提取,从而保证芯片的安全。

本发明是通过以下措施来实现的

本发明公开了采用深度学习网络电路保护物理非克隆功能抗模板攻击和人工智能攻击的方法,其特征在于采用以下步骤:

(1)具有物理非克隆功能的芯片,其实际物理非克隆功能模块输出连接到一个深度学习网络电路,其物理非克隆的模拟模块的输入端连接该深度学习网络电路;

(2)采用模板攻击和深度学习网络攻击方式对深度学习网络电路进行训练和测试,通过m万组以上的输入选择控制位并产生对应的m万组以上的输出位的组合来训练深度学习网络;同时产生n万组以上的输入选择控制位并产生对应的n万组以上的输出位,组合成n万组的测试数据来测试训练后的深度学习网络电路;训练数据的数量和测试数据的数量的比例取决于训练后的测试效果,只要满足精度要求,m和n的数量就是合适的;所述的m>=5,n>=5。

(3)根据训练数据和测试数据确定深度学习网络电路的权重参数wn;

(4)如果测试结果,抗攻击正确率在55%以下,则保护电路功能起作用,能够用来抵抗模板攻击或人工智能攻击方法对物理非克隆功能模块的攻击;如果抗攻击准确率高于55%,则重新执行步骤2-3,直至抗攻击准确率降到55%以下。

上述的方法,所述的深度学习网络电路,由16个处理引擎(processingengine,pe)来组成,每个pe输出16位计算结果和16位部分和(partialsum,psum),每四个pe公用一个缓存器(buffer),通过二级本地总线与公用的buffer进行相连,用来存储中间计算结果,16个pe总共用了4个128字节大小的buffer;16个pe,从pe0开始一直到pe15,每个pe的psum都输出到下一个紧临的pe,从而实现累加功能;所有的缓存器通过32位位宽的一级本地总线与32k字节大小的全局sram相连,用来存放深度学习网络卷积运算的中间结果和最终结果。

上述的方法,所述的处理引擎(processingengine,pe)的电路图中,共有4个4位乘法器和三个12位加法器和一个16位加法器来组重,其中4个4位乘法器和三个12位加法器共同实现两个16位乘法器相乘的功能,一个16位加法器将乘法结果和输入的部分和(psum)进行相加并输出,有1位比特组成的处理引擎配置位来决定是否将该部分和相加到16位加法器中,每个乘法器都一个非0的使能信号,如果乘数是零,就不进行乘法运算,以节省功耗并加快计算速度;实际计算过程中的输入数据由p位物理非克隆功能模块的输入选择控制位和1位输出位来共同组成,将他们以16位位宽进行拆分作为xn的输入数据;wn表示16位位宽的网络权重参数,xn表示16位位宽的输入数据;为了保证物理非克隆模块的输出随机性,所述的p往往不小于20。

上述的方法,优选的:所述的m为10-30,n为10-20。所述的p为20-30。

本发明的有益效果是,采用深度学习网络电路保护物理非克隆功能抗模板攻击和人工智能攻击的方法,使之特征无法被模板攻击或深度学习网络攻击来提取,从而保证芯片的安全。

附图说明

图1是物理非克隆功能模块电路原理图,图中p>=20

图2是模板攻击和深度学习网络攻击示意图

图3单个处理引擎(pe)的电路图

图4是保护物理非克隆模块的深度学习网络电路结构图

图5利用深度学习网络来保护物理非克隆模块的方法示意图

图6是模板攻击或深度学习网络攻击随着训练数据的增加而提高攻击(预测)正确率的曲线图,上方为深度学习网络攻击曲线,下方为模板攻击曲线。

图7是深度学习网络随着训练数据增加来降低攻击准确率的曲线图,上方为抗深度学习网络攻击曲线,下方为抗模板攻击曲线。

实施方式:

下面结合附图1-7对本发明进行具体的描述。

图1是物理非克隆功能模块电路原理图,该模块由一个脉冲信号共同输入到模块的两个输入端中,为了保证模块输出的随机性,通常模块由不少于20个(即p>=20)选择器来组成,每个选择器都有一位输入选择控制位来控制选择器的输出方向,p个选择器对应p位输入选择控制位。物理非克隆模块工作原理是,利用半导体集成电路制造工艺的非一致性,当输入选择控制位的值确定时,脉冲信号的输入,比如高电平“1”或低电平“0”就会经过p个选择器选择,通过不同的选择路径,最后到达输出锁存器的d端和clk端。当输入是高电平的脉冲信号,当clk端的高电平早于d端的高电平到达输出寄存器时,输出寄存器的输出即为0,当clk端的高电平晚于d端的高电平到达输出寄存器时,输出寄存器的输出即为1。由于集成电路制造工艺的细微偏差,即使所有选择寄存器电路上完全一致,它们的输入输出延迟也是有细微差别的,再加上连线延迟和随机产生的输入选择控制位,则物理非克隆模块的输出也是随机的。

图2是模板攻击和深度学习网络攻击对物理非克隆功能模块进行攻击的示意图。产生p位10万组数量以上的输入选择控制位,作为模板攻击方法和深度学习网络攻击方法的输入,经过模板攻击的特征提取(模板攻击是一种公开通用方法),或者经过深度学习网络的特征提取功能,两种方法都通过一种物理非克隆功能模拟模型,该模型模拟真正的物理非克隆功能电路模块的行为,不同的是该模型的n个选择器的数量要远小于实际物理非克隆功能模块中选择器的数量p,最后输出一位的值。攻击者利用模板攻击或深度学习网络结合物理非克隆功能模型不断对随机产生的输入选择控制位进行训练,并将攻击方法的输出与实际物理非克隆模块的输出位进行比对,随着输入数据的不断增加,攻击方法的输出与实际物理非克隆功能模块的输出一致性越来越高(如图6所示),即所谓的攻击准确率越来越高,攻击方法就可以用来预测实际物理非克隆模块的输出,最终达到替代和克隆的作用。

图4本发明采用的用来保护物理非克隆模块的深度学习网络电路。它由16个处理引擎(processingengine,pe)来组成,每个pe输出16位计算结果和16位部分和(partialsum,psum),每四个pe共用一个缓存器(buffer),通过二级本地总线与公用的buffer进行相连,用来存储中间计算结果,16个pe总共用了4个128字节大小的buffer。16个pe,从pe0开始一直到pe15,每个pe的psum都输出到下一个紧临的pe,从而实现累加功能;所有的缓存器通过32位宽的一级本地总线与32k字节大小的全局sram相连,用来存放深度学习网络卷积运算的中间结果和最终结果。

图3是单个处理引擎(processingengine,pe)的电路结构图,wn表示16位宽的网络权重参数,xn表示16位宽的输入数据。实际计算过程中的输入数据由p位物理非克隆功能模块的输入选择控制位和1位输出位来共同组成,将他们以16位位宽进行拆分作为xn的输入数据。pe中总共有4个4位乘法器和三个12位加法器和一个16位加法器来组重,其中4个4位乘法器和三个12位加法器共同实现两个16位乘法器相乘的功能,一个16位加法器将乘法结果和输入的部分和(psum)进行相加并输出,有1位比特组成的处理引擎配置位来决定是否将该部分和相加到16位加法器中,每个乘法器都有一个非0的使能信号,如果乘数为零,就不进行乘法运算,以节省功耗并加快计算速度。

图5是利用深度学习网络来保护物理非克隆模块的方法示意图。它由两部分组成,一部分是经过训练和测试好的深度学习网络,另一部分是物理非克隆功能模拟模块(该模块不同于实际物理非克隆功能电路模块)。深度学习网络的输入来自于实际物理非克隆功能电路模块的p位输入选择控制位再加上一位实际物理非克隆功能电路模块的输出位,即p+1位数据作为该深度学习网络的输入;该网络的输出通过32位位宽的一级本地总线输出到全局sram;同时全局sram通过32位位宽的一级本地总线连接到物理非克隆功能模拟模块,该模拟模块由10个选择器组成。

用图2所示的模板攻击或深度学习网络攻击方法,确定至少20万组以上的由p位输入选择控制位和一位攻击结果输出位来组成图5所示的保护电路的训练和测试输入数据,通过由图5所示的保护电路中10个选择器组成的物理非克隆功能模拟电路输出位,与实际物理非克隆功能模块的输出进行比对,如果准确率很高,则调整图4所示深度学习网络的权重参数wn,直至其准确率低于55%,此时图5所示保护电路的输出就来替代原来直接由物理非克隆功能模块的输出。这就意味着黑客即使采用模板攻击或人工智能攻击,他们即使能够预测(攻击准确率超过60%)实际物理非克隆功能模块的输出,但也无法预测保护电路的输出,从而实现了抗模板攻击或深度学习网络攻击的保护功能。具体步骤如下:

第一步:由通用模板特征提取方法或人工智能网络方法加上物理非克隆功能模型(有限个选择器组成的物理非克隆功能模拟模型),通过20万组以上的输入选择控制位并产生20万组以上的输出位来共同组成图5所示保护深度学习网络电路的训练数据和测试数据;

第二步:使用至少10万组训练数据来训练图4所示的深度学习网络,确定网络参数wn;

第三步:使用至少10万组数据来测试图5所示的采用深度学习网络的保护电路;

第四步:如果第三步测试结果,抗攻击准确率在55%以下,则保护电路功能起作用,能够用来抵抗模板攻击或人工智能攻击方法对物理非克隆功能模块的攻击;如果抗攻击准确率高于55%,则重新执行第一步至第三部,直至抗攻击准确率降到55%以下。

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