一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

加解密神经网络模型的方法、电子设备及存储介质与流程

2022-09-02 19:26:10 来源:中国专利 TAG:


1.本技术涉及数据安全技术领域,尤其涉及一种加解密神经网络模型的方法、电子设备及存储介质。


背景技术:

2.目前,对模型进行加解密的方法大多采用固定密码对保存的模型文件进行加密,然后在推理过程中对加密后的模型进行解密操作。这种加密方式简单单一,模型的网络架构及权重能够轻易地被破解,导致模型更容易被复制及传播。可见,模型的安全性难以得到保证。


技术实现要素:

3.鉴于以上内容,有必要提供一种加解密神经网络模型的方法、电子设备及存储介质,解决模型的网络架构及权重能够轻易被破解的问题。
4.本技术的第一方面提供一种加密神经网络模型的方法,所述加密神经网络模型的方法包括:
5.获取所述神经网络模型应用时所需的第一电子设备的硬件配置信息,并基于所述硬件配置信息得到加密密钥;
6.通过预设加密算法加密所述神经网络模型。
7.在一种可能的实现方式中,所述方法还包括:
8.若所述第一电子设备调用所述加密后的神经网络模型,基于所述硬件配置信息得到解密钥密;
9.若所述解密密钥与所述加密密钥一致,通过预设解密算法解密所述加密后的神经网络模型。
10.在一种可能的实现方式中,所述方法还包括:
11.若所述第一电子设备接收到第二电子设备的解密请求,判断所述第二电子设备是否为授权设备;
12.若所述第二电子设备为授权设备,发送所述硬件配置信息至所述第二电子设备;或
13.若所述第二电子设备为非授权设备,拒绝所述解密请求。
14.在一种可能的实现方式中,所述通过预设加密算法加密所述神经网络模型包括:
15.读取所述神经网络模型的第一结构定义文件;
16.通过所述预设加密算法加密所述第一结构定义文件,得到加密后的神经网络模型。
17.在一种可能的实现方式中,所述方法还包括:
18.通过安全散列算法(secure hash algorithm,sha)对所述硬件配置信息进行计算,得到所述加密密钥。
19.本技术的第二方面提供一种解密神经网络模型的方法,应用于第二电子设备,所述神经网络模型存储于第一电子设备中,对所述神经网络模型加密的加密密钥为基于所述第一电子设备的硬件配置信息所得到,所述解密神经网络模型的方法包括:
20.第二电子设备从所述第一电子设备获取加密后的神经网络模型;
21.若所述加密后的神经网络模型被调用,向所述第一电子设备发送解密请求,若所述第一电子设备确认所述第二电子设备为授权设备,发送所述硬件配置信息至所述第二电子设备;
22.响应于接收到的所述硬件配置信息,所述第二电子设备基于所述硬件配置信息得到解密密钥;
23.若所述解密密钥与所述加密密钥一致,通过预设解密算法解密所述加密后的神经网络模型。
24.在一种可能的实现方式中,所述通过预设解密算法解密所述加密后的神经网络模型包括:
25.读取所述加密后的神经网络模型的第二结构定义文件;
26.通过所述预设解密算法解密所述第二结构定义文件,得到解密后的神经网络模型。
27.在一种可能的实现方式中,所述方法还包括:
28.通过sha算法对所述硬件配置信息进行计算,得到所述解密密钥。
29.本技术的第三方面提供一种电子设备,所述电子设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现所述的加解密神经网络模型的方法。
30.本技术的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的加解密神经网络模型的方法。
31.本技术公开的加解密神经网络模型的方法、电子设备及存储介质,可以提高模型的安全性,使得模型不易被复制及使用,同时简化了加密流程,使模型的后期使用更为方便。
附图说明
32.图1是本技术实施例提供的一种加密神经网络模型的方法的流程图。
33.图2是本技术实施例提供的一种解密神经网络模型的方法的流程图。
34.图3是本技术实施例提供的一种加解密神经网络模型的方法的交互流程图。
35.图4是本技术实现加解密神经网络模型的方法的较佳实施例的电子设备的结构示意图。
具体实施方式
36.下面将结合本实施例中的附图,对本实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都
属于本技术保护的范围。
37.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中在本技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术。
38.本技术实施例的加解密神经网络模型的方法应用在电子设备中,所述电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)、数字处理器(digital signal processor,dsp)、嵌入式设备等。所述电子设备还可包括网络设备和/或用户设备。其中,所述网络设备包括但不限于单个网络设备、多个网络设备组成的服务器组或基于云计算(cloud computing)的由大量主机或网络设备构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。所述用户设备包括但不限于任何一种可与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理pda等。
39.请参见图1,图1是本技术实施例提供的一种加密神经网络模型的方法的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。所述加密神经网络模型的方法的执行主体可以是所述电子设备。
40.需要说明的是,为了便于下文描述清楚,将存储神经网络模型的电子设备假定为第一电子设备,对神经网络模型的加密执行于第一电子设备中,而后续对神经网络模型的解密可执行于第一电子设备中,也可执行于其他电子设备(例如,下文描述的第二电子设备)。
41.s101、获取所述神经网络模型应用时所需的第一电子设备的硬件配置信息,并基于所述硬件配置信息得到加密密钥。
42.在实际应用中,神经网络模型会被复制到其他未经允许的电子设备上进行使用,因此,在本技术提供的实施例中,需要获取神经网络模型所在的当前电子设备的硬件配置信息,并将所述硬件配置信息转化为密钥,通过所述第一电子设备的硬件配置信息来限制所述神经网络模型的使用。
43.在本实施例中,所述神经网络模型是指训练完成后的神经网络模型。
44.在本实施例中,所述硬件配置信息包括图形处理器(graphic processing unit,gpu)的配置信息,中央处理器(central process unit,cpu)的配置信息,以及硬盘的配置信息。所述硬件配置信息可以根据用户的实际需求进行选取,例如,可以通过获取gpu的通用唯一识别码(universally unique identifier,uuid)作为本技术的硬件配置信息。所述uuid是指在一台电子设备上生成的数字,其可以确保在同一时空中的所有电子设备都是唯一的。
45.在本实施例中,所述基于所述硬件配置信息得到加密密钥包括:
46.通过安全散列算法(secure hash algorithm,sha)对所述硬件配置信息进行计算,得到加密密钥。其中,所述sha算法是一个密码散列函数家族,可以根据用户的实际需求进行选取与设定,例如,sha-256算法。
47.s102、通过预设加密算法加密所述神经网络模型。
48.为了保护神经网络模型不被轻易地复制及使用,需要通过加密算法对所述神经网络模型的结构定义文件的内容进行加密。
49.在本实施例中,所述通过预设加密算法加密所述神经网络模型包括:
50.读取所述神经网络模型的第一结构定义文件。具体地,根据所述神经网络模型的结构信息,从文件系统中提取所述神经网络模型的第一结构定义文件model.pb;
51.通过所述预设加密算法加密所述第一结构定义文件,得到加密后的神经网络模型。其中所述预设加密算法包括数据加密算法(data encryption standard,des),以及高级加密标准算法(advanced encryption standard,aes),具体地,可以根据用户的实际需求进行选取与设定,例如,选取aes加密算法作为预设加密算法。
52.作为一种可选的实施方式,所述步骤s102之后,所述加密神经网络模型的方法还包括:
53.保存所述加密后的神经网络模型至数据库,例如,在所述第一电子设备的存储装置内创建的本地数据库,或者与所述第一电子设备进行通信连接的外部存储装置中创建的数据库。
54.在图1所描述的方法流程中,可以获取所述神经网络模型应用时所需的第一电子设备的硬件配置信息,并基于所述硬件配置信息得到加密密钥;通过预设加密算法加密所述神经网络模型。本技术能提高模型的安全性,使得模型不易被复制及使用,同时简化了加密流程,使模型的后期使用更为方便。
55.请参见图2,图2是本技术实施例提供的一种解密神经网络模型的方法的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。所述解密神经网络模型的方法的执行主体可以是所述电子设备。
56.如上文所述,加密后的神经网络模型存储于第一电子设备,第二电子设备在获取加密后的神经网络模型后,需要先进行解密才能正常使用,具体可参考下文的详细描述。
57.s201、第二电子设备从所述第一电子设备获取加密后的神经网络模型。
58.在本实施例中,所述第二电子设备可以是授权设备,也可以是未授权设备。所述授权设备为允许使用所述神经网络模型的电子设备,所述未授权设备为禁止使用所述神经网络模型的电子设备。
59.s202、若所述加密后的神经网络模型被调用,向所述第一电子设备发送解密请求,若所述第一电子设备确认所述第二电子设备为授权设备,发送所述硬件配置信息至所述第二电子设备。
60.为了防止所述神经网络模型被非法使用,需要限制所述神经网络模型的使用设备。
61.具体地,在本实施例中,所述第二电子设备调用所述加密后的神经网络模型,触发了解密请求的生成,发送所述解密请求至所述第一电子设备。其中所述解密请求包括所述第二电子设备的唯一识别码,以及请求解密所述神经网络模型的提示信息,所述第二电子设备的唯一识别码可以根据用户的需求进行设定,例如:设备id号;
62.在本技术所提供的实施例中,所述第一电子设备可预先创建授权设备数据库,所述授权设备数据库用于存储所述授权设备的唯一识别码,例如:设备id号;
63.所述第一电子设备接收所述解密请求,并根据所述第二电子设备的唯一识别码对
所述授权设备数据库进行遍历,若发现存在相同的唯一识别码,则所述第一电子设备确认所述第二电子设备为授权设备,并发送所述硬件配置信息至所述第二电子设备;
64.若所述第一电子设备未发现存在相同的唯一识别码,拒绝所述解密请求。
65.此外,在进一步的实施例中,若所述第一电子设备确定所述第二电子设备为未授权设备时,所述第一电子设备还可进一步响应所述解密请求,发送回应信息以提示所述第二电子设备提供用户信息;若所述第一电子设备基于所述第二电子设备发送的用户信息确认用户身份后,可对所述第二电子设备进行授权,包括:将所述第二电子设备的设备id号加入至授权设备数据库,并发送所述第一电子设备的硬件配置信息至所述第二电子设备。
66.s203、响应于接收到的所述硬件配置信息,所述第二电子设备基于所述硬件配置信息得到解密密钥。
67.为了神经网络模型后续的使用,需要对所述加密后的神经网络模型进行解密,所述步骤s101将所述硬件配置信息作为加密密钥,为了解密所述加密后的神经网络模型,需要获取解密密钥。
68.在本实施例中,所述第二电子设备基于所述硬件配置信息得到解密密钥包括:
69.通过所述sha-256算法对所述硬件配置信息进行计算,得到解密密钥。
70.s204、若所述解密密钥与所述加密密钥一致,通过预设解密算法解密所述加密后的神经网络模型。
71.为了利用解密算法解密所述加密后的神经网络模型,需要比对所述加密密钥与所述解密密钥。
72.在本实施例中,所述通过预设解密算法解密所述加密后的神经网络模型包括:
73.读取加密后的神经网络模型的第二结构定义文件;
74.通过预设解密算法解密所述第二结构定义文件,得到解密后的神经网络模型,其中所述预设解密算法包括数据解密算法(data encryption standard,des),以及高级解密标准算法(advanced encryption standard,aes),具体地,可以根据用户的实际需求进行选取与设定,例如,选取aes解密算法作为预设解密算法。
75.在本技术提供的其他实施例中,若所述解密神经网络模型的方法应用于第一电子设备中,还包括:
76.若所述第一电子设备调用所述加密后的神经网络模型,基于所述硬件配置信息得到解密密钥;
77.若所述解密密钥与所述加密密钥一致,通过预设解密算法解密所述加密后的神经网络模型。
78.所述解密神经网络模型的方法还包括:
79.若所述解密密钥与所述加密密钥不一致,输出解密失败的提示信息。
80.通过比对所述解密密钥与所述加密密钥是否一致,再进行解密的方式,确保了神经网络模型所在电子设备的可靠性,提高了神经网络模型应用的安全性。
81.在图2所描述的方法流程中,第二电子设备从所述第一电子设备获取加密后的神经网络模型;若所述加密后的神经网络模型被调用,向所述第一电子设备发送解密请求,若所述第一电子设备确认所述第二电子设备为授权设备,发送所述硬件配置信息至所述第二电子设备;响应于接收到的所述硬件配置信息,所述第二电子设备基于所述硬件配置信息
protocol television,iptv)、智能式穿戴式设备等。所述电子设备4所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(virtual private network,vpn)等。
98.所述至少一个处理器42可以是cpu,还可以是其他通用处理器、数字信号处理器dsp、专用集成电路asic、现场可编程门阵列fpga或者其他可编程逻辑器件、晶体管逻辑器件、分立硬件组件等。该处理器42可以是微处理器或者该处理器42也可以是任何常规的处理器等,所述处理器42是所述电子设备4的控制中心,利用各种接口和线路连接整个电子设备4的各个部分。
99.所述存储器41可用于存储所述计算机程序43和/或模块/单元,所述处理器42通过运行或执行存储在所述存储器41内的计算机程序和/或模块/单元,以及调用存储在存储器41内的数据,实现所述电子设备4的各种功能。所述存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备4的使用所创建的数据等。此外,存储器41可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件等。
100.所述电子设备4中的所述存储器41存储多个指令,所述多个指令由所述处理器42执行时可实现如图1所示的一种加密神经网络模型的方法,或者实现如图2所示的一种解密神经网络模型的方法。例如,如上文所述,所述电子设备4可以是第一电子设备,也可以是第二电子设备。
101.具体地,所述处理器42对上述指令的具体实现方法可参考上文针对图1至图3所对应的实施例中相关步骤的描述,在此不赘述。
102.所述电子设备4集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-only memory,rom)。
103.在本技术所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。
104.对于本领域技术人员而言,显然本技术不限于上述示范性实施例的细节,而且在不背离本技术的精神或基本特征的情况下,能够以其他的具体形式实现本技术。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本技术的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本技术内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
105.最后应说明的是,以上实施例仅用以说明本技术的技术方案而非限制,尽管参照较佳实施例对本技术进行了详细说明,本领域的普通技术人员应当理解,可以对本技术的技术方案进行修改或等同替换,而不脱离本技术技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献