神经网络模型加密系统和方法技术方案

技术编号:26171666 阅读:35 留言:0更新日期:2020-10-31 13:45
本发明专利技术提供了一种神经网络模型加密系统和方法,包括:神经网络模型加密模块:使用加密算法对神经网络模型的原文件进行加密;神经网络模型解密模块:使用内置到神经网络框架符号数学系统库文件中的解密模块对加密的神经网络模型进行解密;库文件签名验证模块:利用移动平台软件的签名信息,对神经网络框架符号数学系统库文件进行验证,防止被盗用;本发明专利技术通过对神经网络模型的加密,可以防止公司核心的技术成果被直接盗用。

Encryption system and method of neural network model

【技术实现步骤摘要】
神经网络模型加密系统和方法
本专利技术涉及数据安全领域,具体地,涉及一种神经网络模型加密系统和方法,更为具体地,涉及一种基于移动平台Tensorflow以及移动版的TensorflowLite的模型加密系统和方法。
技术介绍
随着人工智能技术的发展,在App开发中越来越多的用到了人工神经网络技术,神经网络模型作为应用开发商的核心
技术实现思路
,是最有价值的资源。为防止被竞争对手之间使用训练好的模型,需要对模型进行加密。模型的加解密需要注意几点:1.解密模块的接口不能暴露,否则竞争对手可以很方便的调用解密模块把模型还原。2.解密模块需要有验证机制,否则竞争对手可以直接使用库文件和加密模型,用库文件去解密模型。专利文献CN110619220A(申请号:201910735898.X)公开了一种对神经网络模型加密或获取神经网络模型的输出信息的方法及装置、存储介质,该方法包括:对描述目标神经网络模型的原模型文件中的模型信息的至少一部分进行加密,得到加密模型文件;根据所述加密模型文件,生成描述所述目标神经网络模型的模型程序代码;基于终端设备的请求,将包含所述模型程序代码的应用程序安装包发送到所述终端设备。该方案存在以下的缺点:需要对不同的神经网络模型,编写不同的模型程序代码,算法不具有通用性;另外,服务器需要把应用程序包发送到终端设备,设备上通过安装运行一个新的应用程序来现实神经网络模型的功能,但这种自行安装应用程序的方案,很多应用程序平台是不允许的,相当于偷偷后台安装应用;另外,如果竞争对手把模型和加密程序包一直打包盗用,上述专利文献中也没有提及如何避免。针对现有技术的缺陷,我们提出了一种新颖的模型加密方法:把训练好的神经网络模型和神经网络模型Tensorflow以及移动版的TensorflowLite库文件进行捆绑,就像一把钥匙配一把锁,只有我们的Tensorflow以及移动版的TensorflowLite库文件才能解密我们的Tensorflow以及移动版的TensorflowLite模型。而Tensorflow以及移动版的TensorflowLite库文件又是只有使用正确的签名文件才能进行调用的,而应用程序的签名是唯一的。通过这些环环相扣的机制,确保了模型的安全。由于Tensorflow以及移动版的TensorflowLite是开源的,使得我们把解密模型内置到Tensorflow以及移动版的TensorflowLite中是可行的,只需要加入相关解密的代码,并重新编译Tensorflow以及移动版的TensorflowLite库文件即可。
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种神经网络模型加密系统和方法。根据本专利技术提供的一种神经网络模型加密系统,包括:神经网络模型加密模块:使用加密算法对神经网络模型的原文件中的至少部分内容进行加密;神经网络模型解密模块:使用内置到神经网络框架符号数学系统库文件中的解密模块对加密的神经网络模型进行解密;库文件签名验证模块:利用移动平台软件的签名信息,对神经网络框架符号数学系统库文件进行验证,防止被盗用;所述解密模块包括通过解密算法对加密后的模型数据进行解密。优选地,所述神经网络模型加密模块包括:读取模块:根据神经网络模型的结构信息,从文件系统中或内存中读取原神经网络模型的数据;加密模块:将读入的原神经网络模型的数据运用加密算法进行加密;写入模块:将加密后的神经网络模型数据写入文件系统或内存中。优选地,所述神经网络模型解密模块包括:加密模型读取模块:从文件系统中或内存中读取加密的神经网络模型的数据;解密模块:将读取的加密的神经网络模型运用解密算法进行解密。优选地,所述库文件签名验证模块包括:签名信息读取模块:利用Android和/或IOS系统接口系统的接口访问签名文件的信息;签名信息比对模块:根据签名文件的信息区分不同的移动平台软件,在符号数学系统库文件中,通过访问的签名文件的信息和符号数学系统库文件中相应的签名信息的比对,验证调用符号数学系统库文件的是不是合法的移动平台软件。优选地,所述加密算法包括对称型加密算法和非对称型加密算法;所述对称型加密算法包括:流密码加密算法和分组密码加密算法;所述流密码加密算法包括一次加密一个字母和/或数字;所述分组密码加密算法包括多个比特的一个数据块加密成一个单元,需要将明文填充成块大小的整数倍;所述分组密码加密算法包括DES算法、3DES算法、AES算法、Blowfish算法、IDEA算法、RC5算法和/或RC6算法;所述非对称型加密算法是使用秘钥对的加密系统,秘钥对包含两个秘钥分别为公钥和私钥,公钥广泛传播,私钥则只有所有者所知;所述写入模块包括采用常规的文件系统写入的方式和/或使用内存映射文件的方式加快文件的写入操作。优选地,所述加密模型读取模块包括:文件的读取方式包括采用常规的文件系统读取方式和/或使用内存映射文件的方式加快文件的读取操作。优选地,所述符号数学系统库文件包括Tensorflow库文件和移动版的TensorflowLite库文件。根据本专利技术提供的一种神经网络模型加密方法,包括:神经网络模型加密步骤:使用加密算法对神经网络模型的原文件中的至少部分内容进行加密;神经网络模型解密步骤:使用内置到神经网络框架符号数学系统库文件中的解密模块对加密的神经网络模型进行解密;库文件签名验证步骤:利用移动平台软件的签名信息,对神经网络框架符号数学系统库文件进行验证,防止被盗用;所述解密模块包括通过解密算法对加密后的模型数据进行解密。优选地,所述神经网络模型加密步骤包括:读取步骤:根据神经网络模型的结构信息,从文件系统中或内存中读取原神经网络模型的数据;加密步骤:将读入的原神经网络模型的数据运用加密算法进行加密;写入步骤:将加密后的神经网络模型数据写入文件系统或内存中;所述神经网络模型解密步骤包括:加密模型读取步骤:从文件系统中或内存中读取加密的神经网络模型的数据;解密步骤:将读取的加密的神经网络模型运用解密算法进行解密;所述库文件签名验证步骤包括:签名信息读取步骤:利用Android和/或IOS的系统接口系统的接口访问签名文件的信息;签名信息比对步骤:根据签名文件的信息区分不同的移动平台软件,在符号数学系统库文件中,通过访问的签名文件的信息和符号数学系统库文件中相应的签名信息的比对,验证调用符号数学系统库文件的是不是合法的移动平台软件;所述符号数学系统库文件包括Tensorflow库文件和移动版的TensorflowLite库文件。优选地,所述加密算法包括对称型加密算法和非对称型加密算法;所述对称型加密算法包括:流密码加密算法和分组密码加密算法;所述流密码加密算法包括一次加密本文档来自技高网
...

【技术保护点】
1.一种神经网络模型加密系统,其特征在于,包括:/n神经网络模型加密模块:使用加密算法对神经网络模型的原文件中的至少部分内容进行加密;/n神经网络模型解密模块:使用内置到神经网络框架符号数学系统库文件中的解密模块对加密的神经网络模型进行解密;/n库文件签名验证模块:利用移动平台软件的签名信息,对神经网络框架符号数学系统库文件进行验证,防止被盗用;/n所述解密模块包括通过解密算法对加密后的模型数据进行解密。/n

【技术特征摘要】
1.一种神经网络模型加密系统,其特征在于,包括:
神经网络模型加密模块:使用加密算法对神经网络模型的原文件中的至少部分内容进行加密;
神经网络模型解密模块:使用内置到神经网络框架符号数学系统库文件中的解密模块对加密的神经网络模型进行解密;
库文件签名验证模块:利用移动平台软件的签名信息,对神经网络框架符号数学系统库文件进行验证,防止被盗用;
所述解密模块包括通过解密算法对加密后的模型数据进行解密。


2.根据权利要求1所述的神经网络模型加密系统,其特征在于,所述神经网络模型加密模块包括:
读取模块:根据神经网络模型的结构信息,从文件系统中或内存中读取原神经网络模型的数据;
加密模块:将读入的原神经网络模型的数据运用加密算法进行加密;
写入模块:将加密后的神经网络模型数据写入文件系统或内存中。


3.根据权利要求1所述的神经网络模型加密系统,其特征在于,所述神经网络模型解密模块包括:
加密模型读取模块:从文件系统中或内存中读取加密的神经网络模型的数据;
解密模块:将读取的加密的神经网络模型运用解密算法进行解密。


4.根据权利要求1所述的神经网络模型加密系统,其特征在于,所述库文件签名验证模块包括:
签名信息读取模块:利用Android和/或IOS系统接口系统的接口访问签名文件的信息;
签名信息比对模块:根据签名文件的信息区分不同的移动平台软件,在符号数学系统库文件中,通过访问的签名文件的信息和符号数学系统库文件中相应的签名信息的比对,验证调用符号数学系统库文件的是不是合法的移动平台软件。


5.根据权利要求2所述的神经网络模型加密系统,其特征在于,所述加密算法包括对称型加密算法和非对称型加密算法;
所述对称型加密算法包括:流密码加密算法和分组密码加密算法;
所述流密码加密算法包括一次加密一个字母和/或数字;
所述分组密码加密算法包括多个比特的一个数据块加密成一个单元,需要将明文填充成块大小的整数倍;
所述分组密码加密算法包括DES算法、3DES算法、AES算法、Blowfish算法、IDEA算法、RC5算法和/或RC6算法;
所述非对称型加密算法是使用秘钥对的加密系统,秘钥对包含两个秘钥分别为公钥和私钥,公钥广泛传播,私钥则只有所有者所知;
所述写入模块包括采用常规的文件系统写入的方式和/或使用内存映射文件的方式加快文件的写入操作。


6.根据权利要求3所述的神经网络模型加密系统,其特征在于,所述加密模型读取模块包括:文件的读取方式包括采用常规的文件系统读取方式和/或使用内存映射文件的方式加快文件的读取操作。


7.根据权利要求1所...

【专利技术属性】
技术研发人员:吴航周朝恩包铭聪周单健
申请(专利权)人:上海艾麒信息科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1