一种人工智能算法模型文件的保护方法技术

技术编号:21225061 阅读:33 留言:0更新日期:2019-05-29 05:48
本发明专利技术公开了一种人工智能算法模型文件的保护方法,于一本地智能设备中包括一人工智能算法的模型文件以及应用人工智能算法处理数据的应用程序,还包括以下步骤:步骤S1,对模型文件进行加密处理,形成一加密文件;步骤S2,对加密文件进行随机分割处理,生成多个子加密文件;步骤S3,分别根据每个子加密文件生成对应的源代码子文件;步骤S4,将所有源代码子文件编译链接到应用程序中。上述技术方案的有益效果是:能够解决放置于设备端上的智能算法模型,容易破解盗用的问题,隐藏了模型文件的位置和内容,提高了逆向工程的难度,有效保护了算法模型的安全性。

A Method of Protecting Model Files of Artificial Intelligence Algorithms

The invention discloses a method for protecting model files of artificial intelligence algorithm, which includes a model file of artificial intelligence algorithm and an application program for processing data by using artificial intelligence algorithm in a local intelligent device. It also includes the following steps: _, encrypting model files to form an encrypted file; _, random segmentation of encrypted files; Generate multiple sub-encrypted files; (1) generate corresponding source code sub-files according to each sub-encrypted file; (4) compile and link all source code sub-files into the application program. The beneficial effect of the above technical scheme is that it can solve the intelligent algorithm model placed on the device end, easily crack the problem of embezzlement, hide the location and content of the model file, improve the difficulty of reverse engineering, and effectively protect the security of the algorithm model.

【技术实现步骤摘要】
一种人工智能算法模型文件的保护方法
本专利技术涉及人工智能领域,尤其涉及一种人工智能算法模型文件的保护方法。
技术介绍
随着近几年人工智能行业的飞速发展,人工智能的应用不断出现。典型的人工智能应用软件,由三部分组成:应用模块,AI计算框架和算法模型。算法模型包括神经网络结构以及针对应用场景采用大量数据训练之后得到的网络参数,可能是一个或多个单独文件,是应用软件的最核心部分。对于云端的人工智能应用来说,算法模型放在服务提供商的服务器上,处于安全状态。而对于嵌入设备的人工智能应用来说,算法模型必须随同应用软件一起,放到设备上。如何保证在设备端上放置的算法模型,不被破解,盗用,是一个需要解决的问题。特别对于算法公司来说,算法模型是其核心价值,这方面需求更为强烈。目前已有的保护方法主要分为两类:第一类是传统的对算法模型文件进行加密。系统中依然存在单独的模型文件,为竞争对手分析算法模型提供了线索;第二类,把模型文件变成源代码文件,和整个应用程序一起编译链接。这样,系统中不存在单独的模型文件,比如小米公司的MACE,提供工具可以将模型文件转换为C++文件。但是,MACE生成的C++文件中,每一个网络层,都有单独的数据定义,完整保留了网络的结构,并且也没有做加密,安全性不够。
技术实现思路
根据现有技术中存在的上述问题,现提供一种人工智能算法模型文件的保护方法,旨在解决放置于设备端上的智能算法模型,容易破解盗用的问题,隐藏了模型文件的位置和内容,提高了逆向工程的难度,有效保护了算法模型的安全性。上述技术方案具体包括:一种人工智能算法模型文件的保护方法,于一本地智能设备中包括一人工智能算法的模型文件以及应用所述人工智能算法处理数据的应用程序,还包括以下步骤:步骤S1,对所述模型文件进行加密处理,形成一加密文件;步骤S2,对所述加密文件进行随机分割处理,生成多个子加密文件;步骤S3,分别根据每个所述子加密文件生成对应的源代码子文件;步骤S4,将所有所述源代码子文件编译链接到所述应用程序中。优选的,所述步骤S1中,采用预设的加密算法,利用加密密钥对所述模型文件进行加密处理,形成所述加密文件。优选的,每个所述源代码子文件包括一模块控制头和一字符数组;所述模块控制头中包括用于推导所述加密算法和所述加密密钥的信息、所述加密文件的总长度、所述子加密文件在所述加密文件中的起始位置、所述子加密文件的大小以及所述子加密文件的地址;所述字符数组为所述子加密文件的文本信息。优选的,所述步骤S4中,将所有所述源代码子文件编译链接到所述应用程序中后,各个所述源代码子文件被随机散落在所述应用程序的不同位置。优选的,当所述应用程序需要使用所述模型文件时,执行下述解密步骤:步骤A1,找到全部所述源代码子文件的所述模块控制头;步骤A2,根据所述模块控制头,依据所有所述源代码子文件拼合形成所述加密文件;步骤A3,根据所述步骤S1中对所述加密文件进行加密处理的加密方式,对所述加密文件进行解密,得到所述模型文件并输出。优选的,所述步骤A2具体包括:步骤A21,根据所述模块控制头,分别提取对应的所述源代码子文件中的所述字符数组的内容;步骤A22,根据提取到所有所述字符数组的内容,拼合形成所述加密文件。优选的,所述步骤A3具体包括:步骤A31,根据所述模块控制头计算得到所述步骤S1中采用的加密算法以及加密密钥;步骤A32,采用计算得到的所述加密算法以及所述加密密钥对所述加密文件进行解密,得到所述模型文件并输出。优选的,所述源代码子文件为C文件,或者C++文件,或者汇编文件。上述技术方案的有益效果是:提供一种人工智能算法模型文件的保护方法,能够解决放置于设备端上的智能算法模型,容易破解盗用的问题,隐藏了模型文件的位置和内容,提高了逆向工程的难度,有效保护了算法模型的安全性。附图说明图1是本专利技术的较佳的实施例中,一种人工智能算法模型文件的保护方法的总体流程示意图;图2是本专利技术的较佳的实施例中,一种人工智能算法模型文件的保护方法的模型文件解密总体流程示意图;图3-4是本专利技术的较佳的实施例中,于图1的基础上,对人工智能算法模型文件的保护方法做进一步描述的流程示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。需要说明的是,在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。下面结合附图和具体实施例对本专利技术作进一步说明,但不作为本专利技术的限定。基于现有技术中存在的上述问题,本专利技术提供一种人工智能算法模型文件的保护方法,于一本地智能设备中包括一人工智能算法的模型文件以及应用人工智能算法处理数据的应用程序,如图1所示,还包括以下步骤:步骤S1,对模型文件进行加密处理,形成一加密文件;步骤S2,对加密文件进行随机分割处理,生成多个子加密文件;步骤S3,分别根据每个子加密文件生成对应的源代码子文件;步骤S4,将所有源代码子文件编译链接到应用程序中。具体地,本专利技术的具体实施例中,一种人工智能算法的模型文件嵌入于本地智能设备中,设备中预置的应用程序应用上述人工智能算法对数据进行处理。为了保护上述人工智能算法的模型文件不易破解盗用,首先,对模型文件进行加密处理以形成一加密文件;然后,对加密文件进行随机分割成多个子加密文件;进一步地,分别根据每个子加密文件生成对应的源代码子文件,其中源代码子文件可以为C文件,或者C++文件,或者汇编文件;最后,将所有源代码子文件编译链接到应用程序中。本专利技术的较佳的实施例中,步骤S1中,采用预设的加密算法,利用加密密钥对模型文件进行加密处理,形成加密文件。具体地,数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。加密算法通常分为两大类:“对称式”和“非对称式”。本专利技术的一个较佳实施例中,采用对称式加密技术,即加密和解密使用同一个密钥,通常称之为“SessionKey”这种加密技术在当今被广泛采用,如美国政府所采用的DES加密标准就是一种典型的“对称式”加密法,它的SessionKey长度为56bits。采用上述对称式加密技术对模型文件进行加密处理,形成加密文件。进一步地,每个源代码子文件包括一模块控制头和一字符数组;其中,模块控制头中包括用于推导加密算法和加密密钥的信息、加密文件的总长度、子加密文件在加密文件中的起始位置、子加密文件的大小以及子加密文件的地址;字符数组为子加密文件的文本信息。本专利技术的较佳的实施例中,步骤S4中,将所有源代码子文件编译链接到应用程序中后,各个源代码子文件被随机散落在应用程序的不同位置。具体地,将所有源代码子文件编译成一目标文件,在进行链接生成应用程序时,对传入链接器的目标文件列表进行随机排序,以打乱各个目标文件在文件列表中的位置,从而实现在生成的应用程序中,各个源代码子文件被随机散落在应用程序的不同位置。需要说明的是,上述本文档来自技高网...

【技术保护点】
1.一种人工智能算法模型文件的保护方法,其特征在于,于一本地智能设备中包括一人工智能算法的模型文件以及应用所述人工智能算法处理数据的应用程序,还包括以下步骤:步骤S1,对所述模型文件进行加密处理,形成一加密文件;步骤S2,对所述加密文件进行随机分割处理,生成多个子加密文件;步骤S3,分别根据每个所述子加密文件生成对应的源代码子文件;步骤S4,将所有所述源代码子文件编译链接到所述应用程序中。

【技术特征摘要】
1.一种人工智能算法模型文件的保护方法,其特征在于,于一本地智能设备中包括一人工智能算法的模型文件以及应用所述人工智能算法处理数据的应用程序,还包括以下步骤:步骤S1,对所述模型文件进行加密处理,形成一加密文件;步骤S2,对所述加密文件进行随机分割处理,生成多个子加密文件;步骤S3,分别根据每个所述子加密文件生成对应的源代码子文件;步骤S4,将所有所述源代码子文件编译链接到所述应用程序中。2.如权利要求1所述的保护方法,其特征在于,所述步骤S1中,采用预设的加密算法,利用加密密钥对所述模型文件进行加密处理,形成所述加密文件。3.如权利要求1所述的保护方法,其特征在于,每个所述源代码子文件包括一模块控制头和一字符数组;所述模块控制头中包括用于推导所述加密算法和所述加密密钥的信息、所述加密文件的总长度、所述子加密文件在所述加密文件中的起始位置、所述子加密文件的大小以及所述子加密文件的地址;所述字符数组为所述子加密文件的文本信息。4.如权利要求1所述的保护方法,其特征在于,所述步骤S4中,将所有所述源代码子文件编译链接到所述应用程序中后,各个所述源...

【专利技术属性】
技术研发人员:王海涛罗浩黄明飞
申请(专利权)人:开放智能机器上海有限公司
类型:发明
国别省市:上海,31

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

1