训练模型保护方法、装置、系统、设备和计算机存储介质与流程

专利2022-06-30  50


本发明涉及数据安全领域,尤其涉及训练模型保护方法、装置、系统、设备和计算机存储介质。



背景技术:

随着计算机技术的快速发展,训练模型的运用场景越来越多。

当前部分应用程序将训练模型内置在安装包中,通过训练模型进行人脸识别或语音识别,实现了无网络状态的用户登录,训练模型广泛应用给人们带来方便的同时也出现了模型泄露的风险,例如,非法用户通过解析应用程序安装包获取训练模型中的用户隐私信息,更有部分开发者抄袭应用程序中的训练模型。



技术实现要素:

本发明的主要目的在于提供一种训练模型保护方法、装置、系统、设备和计算机存储介质,旨在解决当前应用程序中训练模型安全性低的技术问题。

为实现上述目的,本发明提供训练模型保护方法,所述训练模型保护方法应用于服务器,所述训练模型保护方法包括以下步骤:

在接收到客户端发送的下载请求时,获取所述下载请求关联的应用标识,及所述应用标识对应的应用程序;

若所述应用程序中包含训练模型,则从所述应用程序中提取所述训练模型对应的描述文件和参数文件,组合所述描述文件和所述参数文件得到运行文件;

根据所述客户端的设备信息获取加密算法,根据所述加密算法对所述运行文件进行加密处理;

将加密后的运行文件添加到所述应用程序中,并将所述应用程序发送至客户端。

在一实施例中,所述在接收到客户端发送的下载请求时,获取所述下载请求关联的应用标识,及所述应用标识对应的应用程序的步骤之后,包括:

遍历所述应用程序的文件目录,以判断所述文件目录中是否存在json类型描述文件的文件索引,其中,所述文件索引中包含文件类型和文件名称;

若所述文件目录中存在json类型描述文件的文件索引,则判定所述应用程序中包含训练模型;

若所述文件目录中不存在json类型描述文件的文件索引,则判定所述应用程序中不包含训练模型。

在一实施例中,所述根据所述客户端的设备信息获取加密算法,根据所述加密算法对所述运行文件进行加密处理的步骤,包括:

获取所述客户端的设备信息,其中,所述设备信息包括:设备厂商标识、设备类型标识和设备系统版本标识;

遍历预设算法树,以确定所述设备厂商标识、所述设备类型标识和所述设备系统版本标识对应的算法节点,并获取所述算法节点关联的加密算法;

根据所述加密算法对所述运行文件进行加密处理,其中,所述加密算法包括:哈希算法、对称加密算法、非对称加密算法。

此外,为实现上述目的,本发明还提供一种训练模型保护装置,所述训练模型保护装置设置于服务器,所述训练模型保护装置包括:

程序获取模块,用于在接收到客户端发送的下载请求时,获取所述下载请求关联的应用标识,及所述应用标识对应的应用程序;

文件组合模块,用于若所述应用程序中包含训练模型,则从所述应用程序中提取所述训练模型对应的描述文件和参数文件,组合所述描述文件和所述参数文件得到运行文件;

文件加密模块,用于根据所述客户端的设备信息获取加密算法,根据所述加密算法对所述运行文件进行加密处理;

文件发送模块,用于将加密后的运行文件添加到所述应用程序中,并将所述应用程序发送至客户端。

此外,为实现上述目的,本发明还提供一种训练模型保护方法,所述训练模型保护方法应用于客户端,所述训练模型保护方法包括以下步骤:

在接收到基于应用标识触发的下载请求时,将所述应用标识和所述下载请求关联发送至服务器,以使服务器反馈所述应用标识对应的应用程序;

在接收到服务器反馈的应用程序时,判断所述应用程序中是否存在加密的运行文件;

若所述应用程序中存在加密的运行文件,则在内存解密所述运行文件,并将解密后的所述运行文件分解为描述文件和参数文件;

将所述描述文件的内存地址和所述参数文件的内存地址写入操作系统,以初始化所述描述文件对应的训练模型;

在接收到基于应用程序触发的识别请求时,调用操作系统运行所述描述文件和所述参数文件,以通过所述训练模型执行识别操作。

在一实施例中,所述若所述应用程序中存在加密的运行文件,则在内存解密所述运行文件,并将解密后的所述运行文件分解为描述文件和参数文件的步骤,包括:

若所述应用程序中存在加密的运行文件,则在内存解密所述运行文件,并判断所述运行文件是否包含分隔符;

若所述运行文件中包含分隔符,则从所述分隔符处进行文件分割,得到描述文件和参数文件;

若所述运行文件中不包含分隔符,则从所述运行文件中提取占位标签处的参数,将各所述参数排列形成参数文件,将不包含参数的运行文件作为描述文件。

此外,为实现上述目的,本发明还提供一种训练模型保护装置,所述训练模型保护装置设置于客户端,所述训练模型保护装置包括:

请求发送模块,用于在接收到基于应用标识触发的下载请求时,将所述应用标识和所述下载请求关联发送至服务器,以使服务器反馈所述应用标识对应的应用程序;

加密判断模块,用于在接收到服务器反馈的应用程序时,判断所述应用程序中是否存在加密的运行文件;

解密分解模块,用于若所述应用程序中存在加密的运行文件,则在内存解密所述运行文件,并将解密后的所述运行文件分解为描述文件和参数文件;

模型初始化模块,用于将所述描述文件的内存地址和所述参数文件的内存地址写入操作系统,以初始化所述描述文件对应的训练模型;

模型运行模块,用于在接收到基于应用程序触发的识别请求时,调用操作系统运行所述描述文件和所述参数文件,以通过所述训练模型执行识别操作。

此外,为实现上述目的,本发明还提供一种训练模型保护系统,所述训练模型保护系统包括通信连接的服务器和客户端,所述训练模型保护系统实现以下步骤:

客户端在接收到基于应用标识触发的下载请求时,客户端将所述应用标识和所述下载请求关联发送至服务器,以使服务器反馈所述应用标识对应的应用程序;

服务器在接收到客户端发送的下载请求时,服务器获取所述下载请求关联的应用标识,及所述应用标识对应的应用程序;

若所述应用程序中包含训练模型,服务器则从所述应用程序中提取所述训练模型对应的描述文件和参数文件,服务器组合所述描述文件和所述参数文件得到运行文件;

服务器根据所述客户端的设备信息获取加密算法,服务器根据所述加密算法对所述运行文件进行加密处理;

服务器将加密后的运行文件添加到所述应用程序中,服务器并将所述应用程序发送至客户端;

客户端在接收到服务器反馈的应用程序时,客户端判断所述应用程序中是否存在加密的运行文件;

若所述应用程序中存在加密的运行文件,客户端则在内存解密所述运行文件,并将解密后的所述运行文件分解为描述文件和参数文件;

客户端将所述描述文件的内存地址和所述参数文件的内存地址写入操作系统,以初始化所述描述文件对应的训练模型;

客户端在接收到基于应用程序触发的识别请求时,客户端调用操作系统运行所述描述文件和所述参数文件,以通过所述训练模型执行识别操作。

此外,为实现上述目的,本发明还提供一种训练模型保护设备,所述训练模型保护设备为服务器或客户端;

所述服务器中包含第一存储器、第一处理器及存储在所述第一存储器上并可在所述第一处理器上运行的计算机程序,其中,所述计算机程序被所述第一处理器执行时实现上述的训练模型保护方法的步骤;或,

所述客户端中包含第二存储器、第二处理器及存储在所述第二存储器上并可在所述第二处理器上运行的计算机程序,其中,所述计算机程序被所述第二处理器执行时实现上述的训练模型保护方法的步骤。

此外,为实现上述目的,本发明还提供计算机存储介质;

所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的训练模型保护方法的步骤。

本发明实施例提出的一种训练模型保护方法、装置、系统、设备和计算机存储介质,本发明实施例中通过对应用程序中训练模型的文件进行组合加密,用户可以使用应用程序对应的训练模型,却难以获取到训练模型的运行文件或者训练模型中的用户隐私信息,即,由于训练模型对应的文件进行了组合,用户并不可以准确地查找到训练模型对应的文件,即使用户对应用程序的各个文件进行解析,确定了训练模型对应的文件也不可以对其解密,因此,提高了应用程序中训练模型的安全性。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图;

图2为本发明训练模型保护方法第一实施例的流程示意图;

图3为本发明训练模型保护方法第三实施例的流程示意图;

图4为本发明训练模型保护装置一实施例的功能模块示意图;

图5为本发明训练模型保护装置另一实施例的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的服务器(又叫训练模型保护设备,其中,训练模型保护设备可以是由单独的训练模型保护装置构成,也可以是由其他装置与训练模型保护装置组合形成)结构示意图。

本发明实施例服务器指一个管理资源并为用户提供服务的计算机,通常分为文件服务器、数据库服务器和应用程序服务器。运行以上软件的计算机或计算机系统也被称为服务器。相对于普通pc(personalcomputer)个人计算机来说,服务器在稳定性、安全性、性能等方面都要求较高;如图1所示,该服务器可以包括:处理器1001,例如中央处理器(centralprocessingunit,cpu),网络接口1004,用户接口1003,存储器1005,通信总线1002、芯片组、磁盘系统、网络等硬件等。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真wireless-fidelity,wifi接口)。存储器1005可以是高速随机存取存储器(randomaccessmemory,ram),也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

可选地,服务器还可以包括摄像头、rf(radiofrequency,射频)电路,传感器、音频电路、wifi模块;输入单元,比显示屏,触摸屏;网络接口可选除无线接口中除wifi外,蓝牙、探针等。本领域技术人员可以理解,图1中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,该计算机软件产品存储在一个存储介质(存储介质:又叫计算机存储介质、计算机介质、可读介质、可读存储介质、计算机可读存储介质或者直接叫介质等,存储介质可以是非易失性可读存储介质,如ram、磁碟、光盘)中,包括若干指令用以使得一台客户端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及计算机程序。

在图1所示的服务器中,网络接口1004主要用于连接后台数据库,与后台数据库进行数据通信;用户接口1003主要用于连接客户端(客户端,又叫用户端或客户端,本发明实施例客户端可以固定客户端也可以是移动客户端,如,带联网功能的智能空调、智能电灯、智能电源、智能音箱、自动驾驶汽车、pc、智能手机、平板电脑、电子书阅读器、便携计算机等,客户端中包含传感器比如光传感器、运动传感器以及其他传感器,在此不再赘述),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的计算机程序,并执行本发明以下实施例提供的训练模型保护方法中的步骤。

基于上述硬件结构提出了训练模型保护方法的实施例。

参照图2,在本发明训练模型保护方法的第一实施例中,所述训练模型保护方法包括:

步骤s10,在接收到客户端发送的下载请求时,获取所述下载请求关联的应用标识,及所述应用标识对应的应用程序。

本实施例中的训练模型保护方法应用于服务器,服务器预先建立与客户端的通信连接,服务器接收客户端发送的下载请求,其中,下载请求的触发方式不作具体限定,即,下载请求可以是用户主动触发的,例如,用户在客户端应用商场显示界面中点击应用图标触发下载请求,客户端将接收到的下载请求发送至服务器;此外下载请求也可以是由客户端自动触发的,例如,客户端中预先设置了下载请求的触发条件:应用程序更新时自动触发下载请求,客户端在检测到应用程序更新时客户端自动触发下载请求,客户端将下载请求发送至服务器。

服务器在接收到客户端发送的下载请求时,服务器获取下载请求关联的应用标识,应用标识是指唯一识别应用程序的标识信息,例如,应用标识可以是应用图标或应用名称;服务器查询代码数据库,获取应用标识对应的应用程序,本实施例中的应用程序可以理解为应用程序对应的文件集合。

服务器在获取到应用程序之后,服务器判断应用程序中是否包含训练模型,训练模型是指通过机器学习的形成的识别算法,机器学习可以是通过神经网络、遗传算法、支持向量机等多种方式实现,训练模型包括:语音识别模型、人脸识别模型等等。

本实施例中给出了一种服务器判断应用程序中是否包含训练模型的具体实现方式,包括:

步骤a1,遍历所述应用程序的文件目录,以判断所述文件目录中是否存在json类型描述文件的文件索引,其中,所述文件索引中包含文件类型和文件名称;

步骤a2,若所述文件目录中存在json类型描述文件的文件索引,则判定所述应用程序中包含训练模型;

步骤a3,若所述文件目录中不存在json类型描述文件的文件索引,则判定所述应用程序中不包含训练模型。

即,服务器遍历应用程序的文件目录,以判断文件目录中是否存在json类型描述文件的文件索引(本实施例中json类型描述文件就是训练模型对应的文件,若训练模型是其他类型或者按照其他规则定义的,服务器也可以按照对应的类型和规则进行遍历查询),文件索引中包含文件类型和文件名称;若文件目录中存在json类型描述文件的文件索引,服务器判定应用程序中包含训练模型;若文件目录中不存在json类型描述文件的文件索引,服务器判定应用程序中不包含训练模型。

若应用程序中不包含训练模型,服务器将应用程序发送至客户端。

步骤s20,若所述应用程序中包含训练模型,则从所述应用程序中提取所述训练模型对应的描述文件和参数文件,组合所述描述文件和所述参数文件得到运行文件。

若应用程序中包含训练模型,服务器则从应用程序中提取训练模型对应的描述文件(又叫bin文件)和参数文件(又叫param文件),即,服务器从应用程序的文件集合中获取训练模型的描述文件和训练模型的参数文件,服务器将描述文件和参数文件进行组合得到运行文件(dex文件)。

服务器将描述文件和参数文件组合形成运行文件的方式不作具体限定,具体地,实现方式一服务器可以直接将描述文件和参数文件进行拼接,例如,先设置描述文件然后添加分割符再将参数文件设置在分隔符的后面,拼接得到运行文件;实现方式二服务器可以参数数据对应的参数写入到描述文件对应的位置处,即,服务器确定描述文件中用于填写参数的位置,服务器将参数文件中的参数按照顺序填写到描述文件中,得到运行文件。

本实施例中,服务器将训练模型对应的描述文件和参数文件进行组合,得到运行文件,这样即使用户获取到应用程序,用户也难以查找到应用程序中训练模型对应的文件,从而增加了应用程序的安全性。

步骤s30,根据所述客户端的设备信息获取加密算法,根据所述加密算法对所述运行文件进行加密处理。

服务器在得到运行文件之后,服务器根据客户端的设备信息,确定加密算法,即,服务器预先与客户端约定加密算法(加密算法的类型不作具体限定,加密算法可以是hash算法、对称加密算法或者非对称加密算法),服务器中将约定的加密算法和设备信息进行关联,添加到映射关系表中,服务器获取到客户端的设备信息之后,服务器查询映射关系表,获取设备信息对应的加密算法。

在确定加密算法之后,服务器根据加密算法对运行文件进行加密处理,例如,加密算法为hash算法,则按照hash算法对运行文件进行加密处理;加密算法为对称加密算法,服务器设置加密密钥,并对运行文件进行加密处理。

步骤s40,将加密后的运行文件添加到所述应用程序中,并将所述应用程序发送至客户端。

服务器将加密后的运行文件添加到应用程序中,服务器将包含加密运行文件的应用程序发送至客户端,以使客户端在内存进行解密并运行。

本实施例中通过对应用程序中训练模型的文件进行组合加密,用户可以使用应用程序对应的训练模型,却难以获取到训练模型的运行文件或者训练模型中的用户隐私信息,即,由于训练模型对应的文件进行了组合,用户并不可以准确地查找到训练模型对应的文件,即使用户对应用程序的各个文件进行解析,确定了训练模型对应的文件也不可以对其解密,因此,提高了应用程序中训练模型的安全性。

进一步地,在本发明第一实施例的基础上,提出了本发明训练模型保护方法的第二实施例。

本实施例是第一实施例中步骤s30的细化步骤,本实施例与本发明第一实施例的区别在于:

获取所述客户端的设备信息,其中,所述设备信息包括:设备厂商标识、设备类型标识和设备系统版本标识;

遍历预设算法树,以确定所述设备厂商标识、所述设备类型标识和所述设备系统版本标识对应的算法节点,并获取所述算法节点关联的加密算法;

根据所述加密算法对所述运行文件进行加密处理,其中,所述加密算法包括:哈希算法、对称加密算法、非对称加密算法。

本实施例中,服务器获取客户端的设备信息,其中,设备信息包括:设备厂商标识(设备厂商标识是指唯一识别生产客户端的厂商信息,例如设备厂商名称)、设备类型标识(设备类型标识是指设备种类信息,例如,设备为手机,或者平板电脑)和设备系统版本标识(设备系统版本标识例如:安卓9.1)。

服务器中预设算法树,预设算法树是按照设备信息建立的二叉树,例如,预设算法树,树的各级叶子节点为设备信息,最末一级节点为加密算法,服务器在获取到客户端的设备信息之后,服务器遍历预设算法树,以确定设备厂商标识、设备类型标识和设备系统版本标识对应的算法节点,并获取所述算法节点关联的加密算法。

服务器根据加密算法对运行文件进行加密处理,其中,加密算法包括:哈希算法、对称加密算法、非对称加密算法;本实施例中服务器根据客户端的设备信息设置加密算法,使得加密算法的种类较多,不会出现训练模型被统一破解的情况,提高了训练模型的安全性。

进一步地,参照图3,在本发明训练模型保护方法的第三实施例中,所述训练模型保护方法包括:

步骤s50,在接收到基于应用标识触发的下载请求时,将所述应用标识和所述下载请求关联发送至服务器,以使服务器反馈所述应用标识对应的应用程序。

本实施例中训练模型保护方法应用于客户端,客户端接收下载请求,其中,下载请求可以是用户主动触发的,下载请求还可以是自动触发的;客户端接收到下载请求时,客户端获取应用标识,客户端将应用标识和下载请求关联发送至服务器,以使服务器反馈应用标识对应的应用程序。

步骤s60,在接收到服务器反馈的应用程序时,判断所述应用程序中是否存在加密的运行文件。

客户端在接收到服务器反馈的应用程序时,客户端判断应用程序中是否存在加密的运行文件,若应用程序中不存在加密的运行文件,客户端判定运用程序中不包含训练模型。

步骤s70,若所述应用程序中存在加密的运行文件,则在内存解密所述运行文件,并将解密后的所述运行文件分解为描述文件和参数文件。

若应用程序中存在加密的运行文件,客户端判定训练模型在包含训练模型,客户度在内存解密运行文件,客户端将解密后的运行文件分解为描述文件和参数文件;具体地,包括:

步骤b1,若所述应用程序中存在加密的运行文件,则在内存解密所述运行文件,并判断所述运行文件是否包含分隔符;

步骤b2,若所述运行文件中包含分隔符,则从所述分隔符处进行文件分割,得到描述文件和参数文件;

步骤b3,若所述运行文件中不包含分隔符,则从所述运行文件中提取占位标签处的参数,将各所述参数排列形成参数文件,将不包含参数的运行文件作为描述文件。

即,若应用程序中存在加密的运行文件,客户端在内存解密运行文件,并判断运行文件是否包含分隔符;若运行文件中包含分隔符,即,运行文件为描述文件和参数文件拼接得到的,此时客户端从分隔符处进行文件分割,得到描述文件和参数文件;若运行文件中不包含分隔符,即,运行文件是将参数文件中的参数添加到描述文件中形成的,此时,客户端则从运行文件中提取占位标签处的参数,客户端将各参数排列形成参数文件,客户端将不包含参数的运行文件作为描述文件。

本实施例中客户端在内存进行解密操作,内存解密与一般解密不同的是:一般解密操作会将密文文件保存磁盘中,这样若拷贝磁盘还是会泄露训练模型,本实施例中在内存中执行运行文件分割的过程,这样分割后的描述文件和参数数据落到临时存储中,增强了被破解的难度。

步骤s80,将所述描述文件的内存地址和所述参数文件的内存地址写入操作系统,以初始化所述描述文件对应的训练模型。

客户端将描述文件的内存地址述参数文件的内存地址写入操作系统(操作系统可以是安卓系统、windows系统或者ios系统),以初始化描述文件对应的训练模型,例如,操作系统为安卓系统时,客户端将描述文件和参数文件内存地址传入ncnn框架进行初始化,以在ncnn框架中运行描述文件和参数文件。

步骤s90,在接收到基于应用程序触发的识别请求时,调用操作系统运行所述描述文件和所述参数文件,以通过所述训练模型执行识别操作。

客户端在接收到基于应用程序触发的识别请求时,客户端调用操作系统运行描述文件和参数文件,以通过训练模型执行识别操作,本实施例中客户端接收服务器发送的应用程序,若应用程序中包含训练模型,客户端在内存中对训练模型对应的文件进行解密,以防止非法用户从客户端拷贝已经解密的训练模型,从而提高了训练模型的安全性。

进一步地,在本发明训练模型保护系统实施例中,所述训练模型保护系统包通信连接的服务器和客户端,所述训练模型保护系统实现以下步骤:

客户端在接收到基于应用标识触发的下载请求时,客户端将所述应用标识和所述下载请求关联发送至服务器,以使服务器反馈所述应用标识对应的应用程序;

服务器在接收到客户端发送的下载请求时,服务器获取所述下载请求关联的应用标识,及所述应用标识对应的应用程序;

若所述应用程序中包含训练模型,服务器则从所述应用程序中提取所述训练模型对应的描述文件和参数文件,服务器组合所述描述文件和所述参数文件得到运行文件;

服务器根据所述客户端的设备信息获取加密算法,服务器根据所述加密算法对所述运行文件进行加密处理;

服务器将加密后的运行文件添加到所述应用程序中,服务器并将所述应用程序发送至客户端;

客户端在接收到服务器反馈的应用程序时,客户端判断所述应用程序中是否存在加密的运行文件;

若所述应用程序中存在加密的运行文件,客户端则在内存解密所述运行文件,并将解密后的所述运行文件分解为描述文件和参数文件;

客户端将所述描述文件的内存地址和所述参数文件的内存地址写入操作系统,以初始化所述描述文件对应的训练模型;

客户端在接收到基于应用程序触发的识别请求时,客户端调用操作系统运行所述描述文件和所述参数文件,以通过所述训练模型执行识别操作。

其中,训练模型保护系统实现的步骤可参照本发明训练模型保护方法的各个实施例,此处不再赘述。

此外,参照图4,本发明实施例还提出一种训练模型保护装置,所述训练模型保护装置设置于服务器,所述训练模型保护装置包括:

程序获取模块10,用于在接收到客户端发送的下载请求时,获取所述下载请求关联的应用标识,及所述应用标识对应的应用程序;

文件组合模块20,用于若所述应用程序中包含训练模型,则从所述应用程序中提取所述训练模型对应的描述文件和参数文件,组合所述描述文件和所述参数文件得到运行文件;

文件加密模块30,用于根据所述客户端的设备信息获取加密算法,根据所述加密算法对所述运行文件进行加密处理;

文件发送模块40,用于将加密后的运行文件添加到所述应用程序中,并将所述应用程序发送至客户端。

在一实施例中,所述训练模型保护装置,包括:

遍历判断模块,用于遍历所述应用程序的文件目录,以判断所述文件目录中是否存在json类型描述文件的文件索引,其中,所述文件索引中包含文件类型和文件名称;

第一判定模块,用于若所述文件目录中存在json类型描述文件的文件索引,则判定所述应用程序中包含训练模型;

第二判定模块,用于若所述文件目录中不存在json类型描述文件的文件索引,则判定所述应用程序中不包含训练模型。

在一实施例中,所述文件加密模块30,包括:

信息获取单元,用于获取所述客户端的设备信息,其中,所述设备信息包括:设备厂商标识、设备类型标识和设备系统版本标识;

算法获取单元,用于遍历预设算法树,以确定所述设备厂商标识、所述设备类型标识和所述设备系统版本标识对应的算法节点,并获取所述算法节点关联的加密算法;

加密处理单元,用于根据所述加密算法对所述运行文件进行加密处理,其中,所述加密算法包括:哈希算法、对称加密算法、非对称加密算法。

此外,参照图5,本发明实施例还提出另一种训练模型保护装置,所述训练模型保护装置设置于客户端,所述训练模型保护装置包括:

请求发送模块50,用于在接收到基于应用标识触发的下载请求时,将所述应用标识和所述下载请求关联发送至服务器,以使服务器反馈所述应用标识对应的应用程序;

加密判断模块60,用于在接收到服务器反馈的应用程序时,判断所述应用程序中是否存在加密的运行文件;

解密分解模块70,用于若所述应用程序中存在加密的运行文件,则在内存解密所述运行文件,并将解密后的所述运行文件分解为描述文件和参数文件;

模型初始化模块80,用于将所述描述文件的内存地址和所述参数文件的内存地址写入操作系统,以初始化所述描述文件对应的训练模型;

模型运行模块90,用于在接收到基于应用程序触发的识别请求时,调用操作系统运行所述描述文件和所述参数文件,以通过所述训练模型执行识别操作。

在一实施例中,所述解密分解模块70,包括:

分割判断单元,用于若所述应用程序中存在加密的运行文件,则在内存解密所述运行文件,并判断所述运行文件是否包含分隔符;

第一分割单元,用于若所述运行文件中包含分隔符,则从所述分隔符处进行文件分割,得到描述文件和参数文件;

第二分割单元,用于若所述运行文件中不包含分隔符,则从所述运行文件中提取占位标签处的参数,将各所述参数排列形成参数文件,将不包含参数的运行文件作为描述文件。

其中,训练模型保护装置的各个功能模块实现的步骤可参照本发明训练模型保护方法的各个实施例,此处不再赘述。

此外,本发明实施例还提出一种计算机存储介质。

所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例提供的训练模型保护方法中的操作。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体/操作/对象与另一个实体/操作/对象区分开来,而不一定要求或者暗示这些实体/操作/对象之间存在任何这种实际的关系或者顺序;术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台客户端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。


技术特征:

1.一种训练模型保护方法,其特征在于,所述训练模型保护方法应用于服务器,所述训练模型保护方法包括以下步骤:

在接收到客户端发送的下载请求时,获取所述下载请求关联的应用标识,及所述应用标识对应的应用程序;

若所述应用程序中包含训练模型,则从所述应用程序中提取所述训练模型对应的描述文件和参数文件,组合所述描述文件和所述参数文件得到运行文件;

根据所述客户端的设备信息获取加密算法,根据所述加密算法对所述运行文件进行加密处理;

将加密后的运行文件添加到所述应用程序中,并将所述应用程序发送至客户端。

2.如权利要求1所述的训练模型保护方法,其特征在于,所述在接收到客户端发送的下载请求时,获取所述下载请求关联的应用标识,及所述应用标识对应的应用程序的步骤之后,包括:

遍历所述应用程序的文件目录,以判断所述文件目录中是否存在json类型描述文件的文件索引,其中,所述文件索引中包含文件类型和文件名称;

若所述文件目录中存在json类型描述文件的文件索引,则判定所述应用程序中包含训练模型;

若所述文件目录中不存在json类型描述文件的文件索引,则判定所述应用程序中不包含训练模型。

3.如权利要求1所述的训练模型保护方法,其特征在于,所述根据所述客户端的设备信息获取加密算法,根据所述加密算法对所述运行文件进行加密处理的步骤,包括:

获取所述客户端的设备信息,其中,所述设备信息包括:设备厂商标识、设备类型标识和设备系统版本标识;

遍历预设算法树,以确定所述设备厂商标识、所述设备类型标识和所述设备系统版本标识对应的算法节点,并获取所述算法节点关联的加密算法;

根据所述加密算法对所述运行文件进行加密处理,其中,所述加密算法包括:哈希算法、对称加密算法、非对称加密算法。

4.一种训练模型保护装置,其特征在于,所述训练模型保护装置设置于服务器,所述训练模型保护装置包括:

程序获取模块,用于在接收到客户端发送的下载请求时,获取所述下载请求关联的应用标识,及所述应用标识对应的应用程序;

文件组合模块,用于若所述应用程序中包含训练模型,则从所述应用程序中提取所述训练模型对应的描述文件和参数文件,组合所述描述文件和所述参数文件得到运行文件;

文件加密模块,用于根据所述客户端的设备信息获取加密算法,根据所述加密算法对所述运行文件进行加密处理;

文件发送模块,用于将加密后的运行文件添加到所述应用程序中,并将所述应用程序发送至客户端。

5.一种训练模型保护方法,其特征在于,所述训练模型保护方法应用于客户端,所述训练模型保护方法包括以下步骤:

在接收到基于应用标识触发的下载请求时,将所述应用标识和所述下载请求关联发送至服务器,以使服务器反馈所述应用标识对应的应用程序;

在接收到服务器反馈的应用程序时,判断所述应用程序中是否存在加密的运行文件;

若所述应用程序中存在加密的运行文件,则在内存解密所述运行文件,并将解密后的所述运行文件分解为描述文件和参数文件;

将所述描述文件的内存地址和所述参数文件的内存地址写入操作系统,以初始化所述描述文件对应的训练模型;

在接收到基于应用程序触发的识别请求时,调用操作系统运行所述描述文件和所述参数文件,以通过所述训练模型执行识别操作。

6.如权利要求5所述的训练模型保护方法,其特征在于,所述若所述应用程序中存在加密的运行文件,则在内存解密所述运行文件,并将解密后的所述运行文件分解为描述文件和参数文件的步骤,包括:

若所述应用程序中存在加密的运行文件,则在内存解密所述运行文件,并判断所述运行文件是否包含分隔符;

若所述运行文件中包含分隔符,则从所述分隔符处进行文件分割,得到描述文件和参数文件;

若所述运行文件中不包含分隔符,则从所述运行文件中提取占位标签处的参数,将各所述参数排列形成参数文件,将不包含参数的运行文件作为描述文件。

7.一种训练模型保护装置,其特征在于,所述训练模型保护装置设置于客户端,所述训练模型保护装置包括:

请求发送模块,用于在接收到基于应用标识触发的下载请求时,将所述应用标识和所述下载请求关联发送至服务器,以使服务器反馈所述应用标识对应的应用程序;

加密判断模块,用于在接收到服务器反馈的应用程序时,判断所述应用程序中是否存在加密的运行文件;

解密分解模块,用于若所述应用程序中存在加密的运行文件,则在内存解密所述运行文件,并将解密后的所述运行文件分解为描述文件和参数文件;

模型初始化模块,用于将所述描述文件的内存地址和所述参数文件的内存地址写入操作系统,以初始化所述描述文件对应的训练模型;

模型运行模块,用于在接收到基于应用程序触发的识别请求时,调用操作系统运行所述描述文件和所述参数文件,以通过所述训练模型执行识别操作。

8.一种训练模型保护系统,其特征在于,所述训练模型保护系统包括通信连接的服务器和客户端,所述训练模型保护系统实现以下步骤:

客户端在接收到基于应用标识触发的下载请求时,客户端将所述应用标识和所述下载请求关联发送至服务器,以使服务器反馈所述应用标识对应的应用程序;

服务器在接收到客户端发送的下载请求时,服务器获取所述下载请求关联的应用标识,及所述应用标识对应的应用程序;

若所述应用程序中包含训练模型,服务器则从所述应用程序中提取所述训练模型对应的描述文件和参数文件,服务器组合所述描述文件和所述参数文件得到运行文件;

服务器根据所述客户端的设备信息获取加密算法,服务器根据所述加密算法对所述运行文件进行加密处理;

服务器将加密后的运行文件添加到所述应用程序中,服务器并将所述应用程序发送至客户端;

客户端在接收到服务器反馈的应用程序时,客户端判断所述应用程序中是否存在加密的运行文件;

若所述应用程序中存在加密的运行文件,客户端则在内存解密所述运行文件,并将解密后的所述运行文件分解为描述文件和参数文件;

客户端将所述描述文件的内存地址和所述参数文件的内存地址写入操作系统,以初始化所述描述文件对应的训练模型;

客户端在接收到基于应用程序触发的识别请求时,客户端调用操作系统运行所述描述文件和所述参数文件,以通过所述训练模型执行识别操作。

9.一种训练模型保护设备,其特征在于,所述训练模型保护设备为服务器或客户端;

所述服务器中包含第一存储器、第一处理器及存储在所述第一存储器上并可在所述第一处理器上运行的计算机程序,其中,所述计算机程序被所述第一处理器执行时实现如权利要求1至3中任一项所述的训练模型保护方法的步骤;或,

所述客户端中包含第二存储器、第二处理器及存储在所述第二存储器上并可在所述第二处理器上运行的计算机程序,其中,所述计算机程序被所述第二处理器执行时实现如权利要求5至6中任一项所述的训练模型保护方法的步骤。

10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3和/或5至6中任一项所述的训练模型保护方法的步骤。

技术总结
本发明涉及数据安全领域,本发明公开了一种训练模型保护方法,包括以下步骤:在接收到客户端发送的下载请求时,获取所述下载请求关联的应用标识,及所述应用标识对应的应用程序;若所述应用程序中包含训练模型,则从所述应用程序中提取所述训练模型对应的描述文件和参数文件,组合所述描述文件和所述参数文件得到运行文件;根据所述客户端的设备信息获取加密算法,根据所述加密算法对所述运行文件进行加密处理;将加密后的运行文件添加到所述应用程序中,并将所述应用程序发送至客户端。本发明还公开了一种训练模型保护装置、系统、设备和计算机存储介质。本发明通过对训练模型的文件进行组合加密,提高了训练模型的安全性。

技术研发人员:孙中飞;徐佳良;刘劲柏;丁中海
受保护的技术使用者:深圳壹账通智能科技有限公司
技术研发日:2020.01.07
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-56064.html

最新回复(0)