深度神经网络模型的加密方法及装置与流程

文档序号:16311692发布日期:2018-12-19 05:18阅读:505来源:国知局
深度神经网络模型的加密方法及装置与流程

本发明实施例涉及网路安全技术领域,尤其涉及一种深度神经网络模型的加密方法及装置。

背景技术

深度神经网络(deepneuralnetwork,dnn)因其在语音识别和图像识别任务中展现出的突破性成果成为了许多现代ai应用的基础。目前dnn技术被广泛应用在人机交互、推荐系统、安全防护等各个领域。具体场景包括语音、图像识别、信用评估、防止欺诈、过滤恶意邮件、抵抗恶意代码攻击、网络攻击等等。随着边缘设备和终端设备的增多,在云端训练dnn模型并使用深度学习加速器在边缘设备上处理传感器数据已成为一种趋势。当前的商业模式主要是由dnn模型的提供者向用户提供一种在云端(服务器端)训练好的并具备智能识别(如语音识别、图像识别)等功能的dnn模型,然后用户将dnn模型放到深度学习加速器上运行以实现某种特定的功能。在整个过程中,dnn模型可能会面临被他人无偿使用、复制、攻击和篡改等风险,特别是在人机交互这一环节,随着语音、图像作为新兴的人机输入手段,其便捷和实用性被大众所欢迎。同时随着移动设备的普及,以及移动设备对这些新兴的输入手段的集成,使得这项技术被大多数人所亲身体验。而语音、图像的识别的准确性对机器理解并执行用户指令的有效性至关重要。与此同时,这一环节也是最容易被攻击者利用,通过对数据源的细微修改,达到用户感知不到,而机器接受了该数据后做出错误的后续操作的目的,并会导致计算设备被入侵,错误命令被执行,以及执行后的连锁反应造成的严重后果。

然而,现有技术中,缺少对dnn模型进行保护的相关技术方案。



技术实现要素:

本发明实施例提供了一种深度神经网络模型的加密方法及装置,以实现对dnn模型进行加密保护。

第一方面,本发明实施例提供一种深度神经网络模型的加密方法,包括:

服务器根据用户设备的设备信息以及设定的密钥产生方式产生密钥信息;

从所述密钥信息中选择一个或多个数据,采用加密算法对待加密的深度神经网络dnn模型进行加密,生成加密后的dnn模型和密钥;

将所述加密后的dnn模型和所述密钥发送给用户设备;

接收用户设备根据所述加密后的dnn模型和所述密钥返回的响应信号;

根据所述响应信号与所述密钥信息进行匹配,当匹配成功时,所述用户设备验证通过,所述用户设备对所述加密后的dnn模型进行解密。

在一个可能的实施方式中,所述采用加密算法对待加密的深度神经网络dnn模型进行加密,包括:

采用加密算法对所述dnn模型的参数和超参数进行加密;

其中,所述参数和超参数至少包括以下之一:

连接权重weight、偏置值bias、对应神经网络结构的控制信号或指令、层数或每层的神经元个数,以及神经网络模型的任何静态参数;

所述加密算法至少包括以下之一:

aes、des、3des、rsa、diffe-hellman、ecc、abe、pre或fhe算法。

在一个可能的实施方式中,所述方法还包括:

用户设备通过接口与服务器建立连接,以完成用户设备在服务器上的注册。

在一个可能的实施方式中,所述服务器根据用户设备的设备信息以及设定的密钥产生方式产生密钥信息,包括:

服务器根据用户设备的设备信息以及设定的加密电路在用户设备上生成多组激励响应对,并将所述多组激励响应对存储于所述服务器上。

在一个可能的实施方式中,所述设定的密钥产生方式至少包括以下之一:

物理不可克隆函数puf电路、随机数发生器或哈希电路。

第二方面,本发明实施例提供一种深度神经网络模型的加密装置,包括:

生成模块,用于服务器根据用户设备的设备信息以及设定的密钥产生方式产生密钥信息;

所述生成模块,还用于从所述密钥信息中选择一个或多个数据,采用加密算法对待加密的深度神经网络dnn模型进行加密,生成加密后的dnn模型和密钥;

发送模块,用于将所述加密后的dnn模型和所述密钥发送给用户设备;

接收模块,用于接收用户设备根据所述加密后的dnn模型和所述密钥返回的响应信号;

判断模块,用于根据所述响应信号与所述密钥信息进行匹配,当匹配成功时,所述用户设备验证通过,所述用户设备对所述加密后的dnn模型进行解密。

在一个可能的实施方式中,所述生成模块,具体用于采用加密算法对所述dnn模型的参数和超参数进行加密;

其中,所述参数和超参数至少包括以下之一:

连接权重weight、偏置值bias、对应神经网络结构的控制信号或指令、层数或每层的神经元个数,以及神经网络模型的任何静态参数;

所述加密算法至少包括以下之一:

aes、des、3des、rsa、diffe-hellman、ecc、abe、pre或fhe算法。

在一个可能的实施方式中,所述装置还包括:

注册模块,用于用户设备通过接口与服务器建立连接,以完成用户设备在服务器上的注册。

在一个可能的实施方式中,所述生成模块,具体用于服务器根据用户设备的设备信息以及设定的加密电路在用户设备上生成多组激励响应对,并将所述多组激励响应对存储于所述服务器上。

在一个可能的实施方式中,所述设定的密钥产生方式至少包括以下之一:

物理不可克隆函数puf电路、随机数发生器或哈希电路。

本发明实施例提供的深度神经网络模型的加密方案,通过服务器根据用户设备的设备信息以及设定的密钥产生方式产生密钥信息;从所述密钥信息中选择一个或多个数据,采用加密算法对待加密的深度神经网络dnn模型进行加密,生成加密后的dnn模型和密钥;将所述加密后的dnn模型和所述密钥发送给用户设备;接收用户设备根据所述加密后的dnn模型和所述密钥返回的响应信号;根据所述响应信号与所述密钥信息进行匹配,当匹配成功时,所述用户设备验证通过,所述用户设备对所述加密后的dnn模型进行解密;以加密的形式将模型提供给用户并限制dnn模型仅能在已授权的设备上解密并运行可以有效保护模型被非法复制、攻击和篡改,加密模型保证了其所获取dnn模型的合法性和来源的可靠性。

附图说明

图1为本发明实施例提供的一种深度神经网络模型的加密方法的流程示意图;

图2为本发明实施例提供的一种深度神经网络模型的加密装置的结构示意图;

图3为本发明实施例提供的一种深度神经网络模型的加密设备的硬件结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。

图1为本发明实施例提供的一种深度神经网络模型的加密方法的流程示意图,如图1所示,该方法具体包括:

s101、用户设备通过接口与服务器建立连接,以完成用户设备在服务器上的注册。

本发明实施例的提供的深度神经网络模型的加密方法可应用于车载计算设备中,通过对车载计算设备中的深度神经网络模型进行加密,解密后的深度神经网络模型可用于检测行人和车辆。

即用户设备可以是车载计算设备,服务器可是提供深度神经网络模型的提供商,深度神经网络模型可以是fasterrcnn模型,下文将以fasterrcnn模型进行介绍。

s102、服务器根据用户设备的设备信息以及设定的密钥产生方式产生密钥信息。

具体的,服务器根据用户设备的设备信息以及设定的加密电路在用户设备上生成多组激励响应对,并将所述多组激励响应对存储于所述服务器上。

在本发明实施例中,所述设定的加密电路可以是,但不限于:物理不可克隆函数puf电路、随机数发生器或哈希电路,利用puf电路在用户设备上生成多组激励响应对(x-y),puf电路具有唯一性和随机性,在本实施例中还可采用其它电路来实现本方案,对此本实施例不作具体限定。

s103、从所述密钥信息中选择一个或多个数据,采用加密算法对待加密的深度神经网络dnn模型进行加密,生成加密后的dnn模型和密钥。

具体地,采用aes算法对fasterrcnn模型的参数和超参数进行加密;

其中,所述参数和超参数至少包括以下之一:

连接权重weight、偏置值bias、对应神经网络结构的控制信号或指令、层数或每层的神经元个数,以及神经网络模型的任何静态参数。

需要说明的是,在本实施例中,除aes算法外,还可采用其它称加密算法或非对称加密算法来替代aes算法,如:des、3des、rsa、diffe-hellman、ecc、abe、pre、fhe等算法,对此本实施例不作具体限定。

s104、将所述加密后的dnn模型和所述密钥发送给用户设备。

具体地,服务器加将加密后的fasterrcnn模型以及激励相应信号x发送给用户设备。

s105、接收用户设备根据所述加密后的dnn模型和所述密钥返回的响应信号。

s106、根据所述响应信号与所述密钥信息进行匹配,当匹配成功时,所述用户设备验证通过,所述用户设备对所述加密后的dnn模型进行解密。

用户设备根据服务器发送的激励相应信号x进行验证,并向服务器返回对应的响应信号,若返回的响应信号为y时,则表示该用户设备为已在服务器端注册过的设备,即该用户设备为合法设备,就可继续对加密后的fasterrcnn模型进行解密以及使用;若返回的信号为非y时,即用户设备返回的信号与存储于服务器的激励响应对不同,则表示该用户设备为非在服务器端注册过的设备,该用户设备为不合法设备,该用户设备无法对加密后的fasterrcnn模型进行解密以及使用。

本发明实施例提供的深度神经网络模型的加密方法,通过服务器根据用户设备的设备信息以及设定的密钥产生方式产生密钥信息;从所述密钥信息中选择一个或多个数据,采用加密算法对待加密的深度神经网络dnn模型进行加密,生成加密后的dnn模型和密钥;将所述加密后的dnn模型和所述密钥发送给用户设备;接收用户设备根据所述加密后的dnn模型和所述密钥返回的响应信号;根据所述响应信号与所述密钥信息进行匹配,当匹配成功时,所述用户设备验证通过,所述用户设备对所述加密后的dnn模型进行解密;以加密的形式将模型提供给用户并限制dnn模型仅能在已授权的设备上解密并运行可以有效保护模型被非法复制、攻击和篡改,加密模型保证了其所获取dnn模型的合法性和来源的可靠性。

图2为本发明实施例提供的一种深度神经网络模型的加密装置的结构示意图,如图2所示,该装置具体包括:

生成模块201,用于服务器根据用户设备的设备信息以及设定的密钥产生方式产生密钥信息;

所述生成模块201,还用于从所述密钥信息中选择一个或多个数据,采用加密算法对待加密的深度神经网络dnn模型进行加密,生成加密后的dnn模型和密钥;

发送模块202,用于将所述加密后的dnn模型和所述密钥发送给用户设备;

接收模块203,用于接收用户设备根据所述加密后的dnn模型和所述密钥返回的响应信号;

判断模块204,用于根据所述响应信号与所述密钥信息进行匹配,当匹配成功时,所述用户设备验证通过,所述用户设备对所述加密后的dnn模型进行解密。

可选地,所述生成模块201,具体用于采用aes算法对所述dnn模型的参数和超参数进行加密;

其中,所述参数和超参数至少包括以下之一:

权重、偏差、学习率、迭代次数、层数或每层的神经元个数。

可选地,所述装置还包括:

注册模块205,用于用户设备通过接口与服务器建立连接,以完成用户设备在服务器上的注册。

可选地,所述生成模块201,具体用于服务器根据用户设备的设备信息以及设定的加密电路在用户设备上生成多组激励响应对,并将所述多组激励响应对存储于所述服务器上。

可选地,所述设定的加密电路为物理不可克隆函数puf电路。

本实施例提供的深度神经网络模型的加密装置可以是如图2中所示的深度神经网络模型的加密装置,可执行如图1中深度神经网络模型的加密中的所有步骤,进而实现图1所示深度神经网络模型的加密方法的技术效果,具体请参照图1相关描述,为简洁描述,在此不作赘述。

图3为本发明实施例提供的一种深度神经网络模型的加密设备的硬件结构示意图,如图3所示,该深度神经网络模型的加密设备备具体包括:处理器310、存储器320、收发器330。

处理器310可以是中央处理器(英文:centralprocessingunit,cpu),或者cpu和硬件芯片的组合。上述硬件芯片可以是专用集成电路(英文:application-specificintegratedcircuit,asic),可编程逻辑器件(英文:programmablelogicdevice,pld)或其组合。上述pld可以是复杂可编程逻辑器件(英文:complexprogrammablelogicdevice,cpld),现场可编程门阵列(英文:field-programmablegatearray,fpga),通用阵列逻辑(英文:genericarraylogic,gal)或其任意组合。

存储器320用于存储各种应用,操作系统和数据。存储器320可以将存储的数据传输给处理器310。存储器320可以包括易失性存储器,非易失性动态随机存取内存(英文:nonvolatilerandomaccessmemory,nvram)、相变化随机存取内存(英文:phasechangeram,pram)、磁阻式随机存取内存(英文:magetoresistiveram,mram)等,例如至少一个磁盘存储器件、电子可擦除可编程只读存储器(英文:electricallyerasableprogrammableread-onlymemory,eeprom)、闪存器件,例如反或闪存(norflashmemory)或是反及闪存(nandflashmemory)、半导体器件,例如固态硬盘(英文:solidstatedisk,ssd)等。存储器320还可以包括上述种类的存储器的组合。

收发器330,用于发送和/或接收数据,收发器330可以是天线等。

所述各器件的工作过程如下:

处理器310,用于服务器根据用户设备的设备信息以及设定的密钥产生方式产生密钥信息;

处理器310,用于从所述密钥信息中选择一个或多个数据,采用加密算法对待加密的深度神经网络dnn模型进行加密,生成加密后的dnn模型和密钥;

收发器330,用于将所述加密后的dnn模型和所述密钥发送给用户设备;

收发器330,用于接收用户设备根据所述加密后的dnn模型和所述密钥返回的响应信号;

处理器310,用于根据所述响应信号与所述密钥信息进行匹配,当匹配成功时,所述用户设备验证通过,所述用户设备对所述加密后的dnn模型进行解密。

可选地,处理器310,具体用于采用aes算法对所述dnn模型的参数和超参数进行加密;

其中,所述参数和超参数至少包括以下之一:

权重、偏差、学习率、迭代次数、层数或每层的神经元个数。

可选地,处理器310,具体用于通过接口与服务器建立连接,以完成用户设备在服务器上的注册。

可选地,处理器310,具体用于服务器根据用户设备的设备信息以及设定的加密电路在用户设备上生成多组激励响应对,并将所述多组激励响应对存储于所述服务器上。

可选地,所述设定的加密电路为物理不可克隆函数puf电路。

本实施例提供的深度神经网络模型的加密设备可以是如图3中所示的深度神经网络模型的加密设备,可执行如图1中深度神经网络模型的加密中的所有步骤,进而实现图1所示深度神经网络模型的加密方法的技术效果,具体请参照图1相关描述,为简洁描述,在此不作赘述。

专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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