CN111859415A - 神经网络模型加密***和方法 - Google Patents

神经网络模型加密***和方法 Download PDF

Info

Publication number
CN111859415A
CN111859415A CN202010560638.6A CN202010560638A CN111859415A CN 111859415 A CN111859415 A CN 111859415A CN 202010560638 A CN202010560638 A CN 202010560638A CN 111859415 A CN111859415 A CN 111859415A
Authority
CN
China
Prior art keywords
neural network
file
network model
algorithm
encryption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010560638.6A
Other languages
English (en)
Inventor
吴航
周朝恩
包铭聪
周单健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Energy Information Technology Co ltd
Original Assignee
Shanghai Energy Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Energy Information Technology Co ltd filed Critical Shanghai Energy Information Technology Co ltd
Priority to CN202010560638.6A priority Critical patent/CN111859415A/zh
Publication of CN111859415A publication Critical patent/CN111859415A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种神经网络模型加密***和方法,包括:神经网络模型加密模块:使用加密算法对神经网络模型的原文件进行加密;神经网络模型解密模块:使用内置到神经网络框架符号数学***库文件中的解密模块对加密的神经网络模型进行解密;库文件签名验证模块:利用移动平台软件的签名信息,对神经网络框架符号数学***库文件进行验证,防止被盗用;本发明通过对神经网络模型的加密,可以防止公司核心的技术成果被直接盗用。

Description

神经网络模型加密***和方法
技术领域
本发明涉及数据安全领域,具体地,涉及一种神经网络模型加密***和方法,更为具体地,涉及一种基于移动平台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库文件。
优选地,所述加密算法包括对称型加密算法和非对称型加密算法;
所述对称型加密算法包括:流密码加密算法和分组密码加密算法;
所述流密码加密算法包括一次加密一个字母和/或数字;
所述分组密码加密算法包括多个比特的一个数据块加密成一个单元,需要将明文填充成块大小的整数倍;
所述分组密码加密算法包括DES算法、3DES算法、AES算法、Blowfish算法、IDEA算法、RC5算法和/或RC6算法;
所述非对称型加密算法是使用秘钥对的加密***,秘钥对包含两个秘钥分别为公钥和私钥,公钥广泛传播,私钥则只有所有者所知;
所述写入步骤包括采用常规的文件***写入的方式和/或使用内存映射文件的方式加快文件的写入操作;
所述加密模型读取步骤包括:文件的读取方式包括采用常规的文件***读取方式和/或使用内存映射文件的方式加快文件的读取操作。
与现有技术相比,本发明具有如下的有益效果:
1、通过对神经网络模型的加密,可以防止公司核心的技术成果被直接盗用;
2、把解密模块内置到Tensorflow以及移动版的TensorflowLite库模块中,可以很隐蔽的实现解密模块,不显现解密后结果,可以防止对解密后内容的抓取;
3、对Tensorflow以及移动版的TensorflowLite库文件的签名验证,可以防止对神经网络模型和tensowflow库一起直接使用来破解的情况。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为基于移动平台Tensorflow以及移动版的TensorflowLite的模型加密方法流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
实施例1
根据本发明提供的一种神经网络模型加密***,包括:
神经网络模型加密模块:使用加密算法对神经网络模型的原文件中的至少部分内容进行加密;
神经网络模型解密模块:使用内置到神经网络框架Tensorflow以及移动版的TensorflowLite库文件中的解密模块对加密的神经网络模型进行解密;
库文件签名验证模块:为了防止库和神经网络模型被一起盗用,利用移动平台软件的签名信息,对神经网络框架Tensorflow以及移动版的TensorflowLite库文件进行验证,只有自己APP对应的签名才能使用该库文件;
所述解密模块包括通过解密算法对加密后的模型数据进行解密。
具体地,所述神经网络模型加密模块包括:使用加密算法对神经网络模型的原文件中的至少部分内容进行加密;
读取模块:根据神经网络模型的结构信息,从文件***中或内存中读取原神经网络模型的数据;
加密模块:将读入的原神经网络模型的数据运用加密算法进行加密;
写入模块:将加密后的神经网络模型数据写入文件***或内存中。
所述原神经网络模型是指神经网络模型训练后的模型,即加密前的模型。
具体地,所述神经网络模型解密模块包括:
加密模型读取模块:从文件***中或内存中读取加密的神经网络模型的数据;
解密模块:将读取的加密的神经网络模型运用解密算法进行解密。
具体地,所述库文件签名验证模块包括:对库文件使用App的签名进行验证,这样可以防止加密的神经网络模型和库文件一起被直接调用的情况。
签名信息读取模块:利用Android和/或IOS的***接口***的接口访问签名文件的信息;
签名信息比对模块:根据签名文件的信息区分不同的移动平台软件,在Tensorflow以及移动版的TensorflowLite库文件中,通过访问的签名文件的信息和Tensorflow以及移动版的TensorflowLite库文件中相应的签名信息的比对,验证调用Tensorflow以及移动版的TensorflowLite库文件的是不是合法的移动平台软件。
具体地,所述加密算法包括对称型加密算法和非对称型加密算法;
所述对称型加密算法包括:流密码加密算法和分组密码加密算法;
所述流密码加密算法包括一次加密一个字母和/或数字;
所述分组密码加密算法包括多个比特的一个数据块加密成一个单元,需要将明文填充成块大小的整数倍;
所述分组密码加密算法包括DES算法、3DES算法、AES算法、Blowfish算法、IDEA算法、RC5算法和/或RC6算法;
所述非对称型加密算法是使用秘钥对的加密***,秘钥对包含两个秘钥分别为公钥和私钥,公钥广泛传播,私钥则只有所有者所知;
所述写入模块包括采用常规的文件***写入的方式和/或使用内存映射文件的方式加快文件的写入操作。
具体地,所述加密模型读取模块包括:文件的读取方式包括采用常规的文件***读取方式和/或使用内存映射文件的方式加快文件的读取操作。
根据本发明提供的一种神经网络模型加密方法,包括:
神经网络模型加密步骤:使用加密算法对神经网络模型的原文件中的至少部分内容进行加密;
神经网络模型解密步骤:使用内置到神经网络框架Tensorflow以及移动版的TensorflowLite库文件中的解密模块对加密的神经网络模型进行解密;
库文件签名验证步骤:为了防止库和神经网络模型被一起盗用,利用移动平台软件的签名信息,对神经网络框架Tensorflow以及移动版的TensorflowLite库文件进行验证,只有自己APP对应的签名才能使用该库文件;
所述解密模块包括通过解密算法对加密后的模型数据进行解密。
具体地,所述神经网络模型加密步骤包括:使用加密算法对神经网络模型的原文件中的至少部分内容进行加密;
读取步骤:根据神经网络模型的结构信息,从文件***中或内存中读取原神经网络模型的数据;
加密步骤:将读入的原神经网络模型的数据运用加密算法进行加密;
写入步骤:将加密后的神经网络模型数据写入文件***或内存中。
所述原神经网络模型是指神经网络模型训练后的模型,即加密前的模型。
具体地,所述神经网络模型解密步骤包括:
加密模型读取步骤:从文件***中或内存中读取加密的神经网络模型的数据;
解密步骤:将读取的加密的神经网络模型运用解密算法进行解密。
具体地,所述库文件签名验证步骤包括:对库文件使用App的签名进行验证,这样可以防止加密的神经网络模型和库文件一起被直接调用的情况。
签名信息读取步骤:利用Android和/或IOS的***接口***的接口访问签名文件的信息;
签名信息比对步骤:根据签名文件的信息区分不同的移动平台软件,在Tensorflow以及移动版的TensorflowLite库文件中,通过访问的签名文件的信息和Tensorflow以及移动版的TensorflowLite库文件中相应的签名信息的比对,验证调用Tensorflow以及移动版的TensorflowLite库文件的是不是合法的移动平台软件。
具体地,所述加密算法包括对称型加密算法和非对称型加密算法;
所述对称型加密算法包括:流密码加密算法和分组密码加密算法;
所述流密码加密算法包括一次加密一个字母和/或数字;
所述分组密码加密算法包括多个比特的一个数据块加密成一个单元,需要将明文填充成块大小的整数倍;
所述分组密码加密算法包括DES算法、3DES算法、AES算法、Blowfish算法、IDEA算法、RC5算法和/或RC6算法;
所述非对称型加密算法是使用秘钥对的加密***,秘钥对包含两个秘钥分别为公钥和私钥,公钥广泛传播,私钥则只有所有者所知;
所述写入步骤包括采用常规的文件***写入的方式和/或使用内存映射文件的方式加快文件的写入操作。
具体地,所述加密模型读取步骤包括:文件的读取方式包括采用常规的文件***读取方式和/或使用内存映射文件的方式加快文件的读取操作。
实施例2
实施例2是实施例1的变化例
如图1所示,本发明提供神经网络模型加密方法及***,包括:对训练后的神经网络模型进行加密;加载神经网络模型时,利用Tensorflow以及移动版的TensorflowLite库文件对加密后的模型进行解密;为了防止库和神经网络模型被一起盗用,需要对Tensorflow以及移动版的TensorflowLite库文件进行签名验证,只有自己APP对应的签名才能使用该库文件。
具体地,所述模型加密模块包括:模型读取模块:根据模型的结构信息,从文件***中或内存中读取原模型的数据。文件的读取方式可以采取常规的文件***读取的方式,也可以使用内存映射文件的方式加快文件的读取操作。
将读入的模型数据运用加密算法进行加密,这个过程可以对文件的全部内容进行加密,也可以只选取一部分加密,以加快加解密的速度;加密算法至少包括对称型加密算法和非对称型加密算法,对称型加密方法包括两种:流密码加密和分组密码加密。流密码加密是指一次加密一个字母或者数字;分组密码加密是指将包括多个比特的一个数据块加密成一个单元,需要将明文填充成块大小的整数倍,包括DES(DataEncryption Standard,数据加密标准)算法,3DES(三重DES)算法,AES(AdvancedEncryption Standard,高级加密标准)算法,Blowfish算法,IDEA(InternationalDataEncryption Algorithm,国际数据加密算法),RC5算法,RC6算法等。非对称加密是使用秘钥对的加密***,秘钥对包含两个秘钥分别为公钥和私钥,公钥可以广泛传播,私钥则只有所有者才知道。通过公开的公钥对密文进行加密,接收者可以通过私钥进行解密。这种加密算法的强度高,直接破解比较困难,所以安全性较高,只需要保证私钥的安全性。例如,RSA加密算法等。对于上述方法,由于对称加密方法的秘钥以及非对称加密方法的私钥会存储在终端设备侧的代码中,因此仍然存在安全隐患;此外,非对称加密算法解密复杂,效率较低。
模型写入模块:将加密后的模型数据写入文件***或内存中。可以采取常规的文件***写入的方式,也可以使用内存映射文件的方式加快文件的写入操作。
优选地,所述解密模块包括:加密模型读取模块:从文件***中或内存中读取加密的神经网络模型的数据。文件的读取方式可以采取常规的文件***读取的方式,也可以使用内存映射文件的方式加快文件的读取操作。
解密模块:将读入的加密的神经网络模型运用解密算法进行解密。这部分内容在Tensorflow以及移动版的TensorflowLite的源代码中进行修改,并重新编译生成。解密的算法至少包括对称型加密算法和非对称型加密算法,需要与前面提到的加密算法要一致。
优选地,签名验证模块包括:签名信息读取模块:利用***的接口可以访问签名文件的信息。
签名信息比对模块:由于签名信息可以区分不同的App,在库文件中,通过签名信息的比对,就可以知道调用库文件的是不是合法的App。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的***、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的***、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的***、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (10)

1.一种神经网络模型加密***,其特征在于,包括:
神经网络模型加密模块:使用加密算法对神经网络模型的原文件中的至少部分内容进行加密;
神经网络模型解密模块:使用内置到神经网络框架符号数学***库文件中的解密模块对加密的神经网络模型进行解密;
库文件签名验证模块:利用移动平台软件的签名信息,对神经网络框架符号数学***库文件进行验证,防止被盗用;
所述解密模块包括通过解密算法对加密后的模型数据进行解密。
2.根据权利要求1所述的神经网络模型加密***,其特征在于,所述神经网络模型加密模块包括:
读取模块:根据神经网络模型的结构信息,从文件***中或内存中读取原神经网络模型的数据;
加密模块:将读入的原神经网络模型的数据运用加密算法进行加密;
写入模块:将加密后的神经网络模型数据写入文件***或内存中。
3.根据权利要求1所述的神经网络模型加密***,其特征在于,所述神经网络模型解密模块包括:
加密模型读取模块:从文件***中或内存中读取加密的神经网络模型的数据;
解密模块:将读取的加密的神经网络模型运用解密算法进行解密。
4.根据权利要求1所述的神经网络模型加密***,其特征在于,所述库文件签名验证模块包括:
签名信息读取模块:利用Android和/或IOS***接口***的接口访问签名文件的信息;
签名信息比对模块:根据签名文件的信息区分不同的移动平台软件,在符号数学***库文件中,通过访问的签名文件的信息和符号数学***库文件中相应的签名信息的比对,验证调用符号数学***库文件的是不是合法的移动平台软件。
5.根据权利要求2所述的神经网络模型加密***,其特征在于,所述加密算法包括对称型加密算法和非对称型加密算法;
所述对称型加密算法包括:流密码加密算法和分组密码加密算法;
所述流密码加密算法包括一次加密一个字母和/或数字;
所述分组密码加密算法包括多个比特的一个数据块加密成一个单元,需要将明文填充成块大小的整数倍;
所述分组密码加密算法包括DES算法、3DES算法、AES算法、Blowfish算法、IDEA算法、RC5算法和/或RC6算法;
所述非对称型加密算法是使用秘钥对的加密***,秘钥对包含两个秘钥分别为公钥和私钥,公钥广泛传播,私钥则只有所有者所知;
所述写入模块包括采用常规的文件***写入的方式和/或使用内存映射文件的方式加快文件的写入操作。
6.根据权利要求3所述的神经网络模型加密***,其特征在于,所述加密模型读取模块包括:文件的读取方式包括采用常规的文件***读取方式和/或使用内存映射文件的方式加快文件的读取操作。
7.根据权利要求1所述的神经网络模型加密***,其特征在于,所述符号数学***库文件包括Tensorflow库文件和移动版的TensorflowLite库文件。
8.一种神经网络模型加密方法,其特征在于,包括:
神经网络模型加密步骤:使用加密算法对神经网络模型的原文件中的至少部分内容进行加密;
神经网络模型解密步骤:使用内置到神经网络框架符号数学***库文件中的解密模块对加密的神经网络模型进行解密;
库文件签名验证步骤:利用移动平台软件的签名信息,对神经网络框架符号数学***库文件进行验证,防止被盗用;
所述解密模块包括通过解密算法对加密后的模型数据进行解密。
9.根据权利要求8所述的神经网络模型加密方法,其特征在于,所述神经网络模型加密步骤包括:
读取步骤:根据神经网络模型的结构信息,从文件***中或内存中读取原神经网络模型的数据;
加密步骤:将读入的原神经网络模型的数据运用加密算法进行加密;
写入步骤:将加密后的神经网络模型数据写入文件***或内存中;
所述神经网络模型解密步骤包括:
加密模型读取步骤:从文件***中或内存中读取加密的神经网络模型的数据;
解密步骤:将读取的加密的神经网络模型运用解密算法进行解密;
所述库文件签名验证步骤包括:
签名信息读取步骤:利用Android和/或IOS***接口***的接口访问签名文件的信息;
签名信息比对步骤:根据签名文件的信息区分不同的移动平台软件,在符号数学***库文件中,通过访问的签名文件的信息和符号数学***库文件中相应的签名信息的比对,验证调用符号数学***库文件的是不是合法的移动平台软件;
所述符号数学***库文件包括Tensorflow库文件和移动版的TensorflowLite库文件。
10.根据权利要求9所述的神经网络模型加密方法,其特征在于,所述加密算法包括对称型加密算法和非对称型加密算法;
所述对称型加密算法包括:流密码加密算法和分组密码加密算法;
所述流密码加密算法包括一次加密一个字母和/或数字;
所述分组密码加密算法包括多个比特的一个数据块加密成一个单元,需要将明文填充成块大小的整数倍;
所述分组密码加密算法包括DES算法、3DES算法、AES算法、Blowfish算法、IDEA算法、RC5算法和/或RC6算法;
所述非对称型加密算法是使用秘钥对的加密***,秘钥对包含两个秘钥分别为公钥和私钥,公钥广泛传播,私钥则只有所有者所知;
所述写入步骤包括采用常规的文件***写入的方式和/或使用内存映射文件的方式加快文件的写入操作;
所述加密模型读取步骤包括:文件的读取方式包括采用常规的文件***读取方式和/或使用内存映射文件的方式加快文件的读取操作。
CN202010560638.6A 2020-06-18 2020-06-18 神经网络模型加密***和方法 Pending CN111859415A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010560638.6A CN111859415A (zh) 2020-06-18 2020-06-18 神经网络模型加密***和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010560638.6A CN111859415A (zh) 2020-06-18 2020-06-18 神经网络模型加密***和方法

Publications (1)

Publication Number Publication Date
CN111859415A true CN111859415A (zh) 2020-10-30

Family

ID=72986214

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010560638.6A Pending CN111859415A (zh) 2020-06-18 2020-06-18 神经网络模型加密***和方法

Country Status (1)

Country Link
CN (1) CN111859415A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112508200A (zh) * 2020-12-18 2021-03-16 北京百度网讯科技有限公司 处理机器学习模型文件的方法、装置、设备、介质和程序
CN113190877A (zh) * 2021-04-29 2021-07-30 网易(杭州)网络有限公司 一种模型加载方法、装置、可读存储介质及电子设备
CN115001748A (zh) * 2022-04-29 2022-09-02 北京奇艺世纪科技有限公司 一种模型处理方法、装置及计算机可读存储介质
CN115828287A (zh) * 2023-01-10 2023-03-21 湖州丽天智能科技有限公司 一种模型加密方法、模型解密方法、计算机及集成芯片
CN116150784A (zh) * 2022-12-30 2023-05-23 上海物骐微电子有限公司 神经网络的安全保护方法、***、加速器及芯片
WO2023169409A1 (zh) * 2022-03-09 2023-09-14 华为技术有限公司 模型调用方法、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107256349A (zh) * 2017-06-13 2017-10-17 广州阿里巴巴文学信息技术有限公司 动态库防盗用方法、装置、电子设备及可读存储介质
EP3477616A1 (en) * 2017-10-27 2019-05-01 Sigra Technologies GmbH Method for controlling a vehicle using a machine learning system
CN109981252A (zh) * 2019-03-12 2019-07-05 中国科学院信息工程研究所 一种基于关键路径加密的人工智能处理器安全增强***及方法
US20190258953A1 (en) * 2018-01-23 2019-08-22 Ulrich Lang Method and system for determining policies, rules, and agent characteristics, for automating agents, and protection
CN110490305A (zh) * 2019-08-22 2019-11-22 腾讯科技(深圳)有限公司 基于区块链网络的机器学习模型处理方法及节点

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107256349A (zh) * 2017-06-13 2017-10-17 广州阿里巴巴文学信息技术有限公司 动态库防盗用方法、装置、电子设备及可读存储介质
EP3477616A1 (en) * 2017-10-27 2019-05-01 Sigra Technologies GmbH Method for controlling a vehicle using a machine learning system
US20190258953A1 (en) * 2018-01-23 2019-08-22 Ulrich Lang Method and system for determining policies, rules, and agent characteristics, for automating agents, and protection
CN109981252A (zh) * 2019-03-12 2019-07-05 中国科学院信息工程研究所 一种基于关键路径加密的人工智能处理器安全增强***及方法
CN110490305A (zh) * 2019-08-22 2019-11-22 腾讯科技(深圳)有限公司 基于区块链网络的机器学习模型处理方法及节点
CN110991622A (zh) * 2019-08-22 2020-04-10 腾讯科技(深圳)有限公司 基于区块链网络的机器学习模型处理方法及节点

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112508200A (zh) * 2020-12-18 2021-03-16 北京百度网讯科技有限公司 处理机器学习模型文件的方法、装置、设备、介质和程序
CN112508200B (zh) * 2020-12-18 2024-01-16 北京百度网讯科技有限公司 处理机器学习模型文件的方法、装置、设备、介质和程序
CN113190877A (zh) * 2021-04-29 2021-07-30 网易(杭州)网络有限公司 一种模型加载方法、装置、可读存储介质及电子设备
WO2023169409A1 (zh) * 2022-03-09 2023-09-14 华为技术有限公司 模型调用方法、装置及存储介质
CN115001748A (zh) * 2022-04-29 2022-09-02 北京奇艺世纪科技有限公司 一种模型处理方法、装置及计算机可读存储介质
CN115001748B (zh) * 2022-04-29 2023-11-03 北京奇艺世纪科技有限公司 一种模型处理方法、装置及计算机可读存储介质
CN116150784A (zh) * 2022-12-30 2023-05-23 上海物骐微电子有限公司 神经网络的安全保护方法、***、加速器及芯片
CN116150784B (zh) * 2022-12-30 2023-09-05 上海物骐微电子有限公司 神经网络的安全保护方法、***、加速器及芯片
CN115828287A (zh) * 2023-01-10 2023-03-21 湖州丽天智能科技有限公司 一种模型加密方法、模型解密方法、计算机及集成芯片

Similar Documents

Publication Publication Date Title
CN111859415A (zh) 神经网络模型加密***和方法
CN109284586B (zh) 一种软件授权许可实现方法和装置
AU2009233685B2 (en) Method and apparatus for incremental code signing
CN109284585B (zh) 一种脚本加密方法、脚本解密运行方法和相关装置
CN109598104B (zh) 基于时间戳和秘密鉴权文件的软件授权保护***及其方法
CN106372497B (zh) 一种应用编程接口api保护方法和保护装置
EP3316160A1 (en) Authentication method and apparatus for reinforced software
US10103884B2 (en) Information processing device and information processing method
CN103946856A (zh) 加解密处理方法、装置和设备
US20050198517A1 (en) System and method for distributed module authentication
CN110414248B (zh) 一种调试微处理器的方法及微处理器
CN108229144B (zh) 一种应用程序的验证方法、终端设备及存储介质
CN107944234B (zh) 一种Android设备的刷机控制方法
CN111191195A (zh) 一种用于保护apk的方法和装置
CN111628863B (zh) 一种数据签名的方法、装置、电子设备及存储介质
CN107257282B (zh) 一种基于rc4算法的代码全包加密方法
CN111585995A (zh) 安全风控信息传输、处理方法、装置、计算机设备及存储介质
CN109784072B (zh) 一种安全文件管理方法和***
CN116800535A (zh) 多台服务器之间相互免密方法及装置
CN113542187A (zh) 文件上传下载方法、装置、计算机装置及介质
CN106650329A (zh) 一种数据导出设备的个体授权方法
CN111611603B (zh) 一种sata接口的安全量产控制设备
CN114817956A (zh) 一种usb通信对象验证方法、***、装置及存储介质
CN114444027A (zh) 软件签名植入方法、验证方法、装置、电子设备及介质
KR100734600B1 (ko) 변조방지 하드웨어에 기반한 자가 무결성 검증 기법을이용한 시스템 인증 및 보안성 강화 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination