CN111191267B - 一种模型数据的处理方法、装置及设备 - Google Patents

一种模型数据的处理方法、装置及设备 Download PDF

Info

Publication number
CN111191267B
CN111191267B CN202010268456.1A CN202010268456A CN111191267B CN 111191267 B CN111191267 B CN 111191267B CN 202010268456 A CN202010268456 A CN 202010268456A CN 111191267 B CN111191267 B CN 111191267B
Authority
CN
China
Prior art keywords
encrypted
model
model data
data
application platform
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.)
Active
Application number
CN202010268456.1A
Other languages
English (en)
Other versions
CN111191267A (zh
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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital 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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN202210314362.2A priority Critical patent/CN114741708A/zh
Publication of CN111191267A publication Critical patent/CN111191267A/zh
Application granted granted Critical
Publication of CN111191267B publication Critical patent/CN111191267B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供一种模型数据的处理方法、装置及设备,该方法包括:获取机器学习模型的模型数据;对所述模型数据进行加密,得到加密后的模型数据;将所述加密后的模型数据发送给目标设备。通过本申请的技术方案,提高机器学习模型的安全性,避免机器学习模型被非法利用。

Description

一种模型数据的处理方法、装置及设备
技术领域
本申请涉及机器学习领域,尤其是一种模型数据的处理方法、装置及设备。
背景技术
机器学习是实现人工智能的一种途径,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。机器学习用于研究计算机如何模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习更加注重算法设计,使计算机能够自动地从数据中学习规律,并利用规律对未知数据进行预测。
机器学习已经有了十分广泛的应用,如深度学习、数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人运用等等。
随着机器学习相关技术的快速发展,各种类型的机器学习模型被广泛使用,机器学习模型存在被非法截获的风险,机器学习模型存在被非法利用的风险。
发明内容
有鉴于此,本申请提供一种模型数据的处理方法,所述方法包括:
获取机器学习模型的模型数据;
对所述模型数据进行加密,得到加密后的模型数据;
将所述加密后的模型数据发送给目标设备。
本申请提供一种模型数据的处理方法,所述方法包括:
获取机器学习模型的加密后的模型数据;
对所述加密后的模型数据进行解密,得到解密后的模型数据;
根据所述解密后的模型数据获取机器学习模型。
本申请提供一种模型数据的处理方法,所述方法包括:
从模型提供设备获取加密后的模型数据;其中,所述加密后的模型数据是所述模型提供设备基于应用平台的地址存储到所述应用平台;
将所述加密后的模型数据发送给用户设备;其中,所述加密后的模型数据是所述用户设备基于应用平台的地址从所述应用平台获取;
其中,所述加密后的模型数据是机器学习模型的模型数据。
本申请提供一种模型数据的处理装置,所述装置包括:
获取模块,用于获取机器学习模型的模型数据;
加密模块,用于对所述模型数据进行加密,得到加密后的模型数据;
发送模块,用于将所述加密后的模型数据发送给目标设备。
本申请提供一种模型数据的处理装置,所述装置包括:
获取模块,用于获取机器学习模型的加密后的模型数据;
解密模块,用于对所述加密后的模型数据进行解密,得到解密后的模型数据;处理模块,用于根据所述解密后的模型数据获取机器学习模型。
本申请提供一种模型数据的处理装置,所述装置包括:
获取模块,用于从模型提供设备获取加密后的模型数据;其中,所述加密后的模型数据是所述模型提供设备基于应用平台的地址存储到所述应用平台;
发送模块,用于将所述加密后的模型数据发送给用户设备;其中,所述加密后的模型数据是所述用户设备基于应用平台的地址从所述应用平台获取;
其中,所述加密后的模型数据是机器学习模型的模型数据。
本申请提供一种模型提供设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现如下步骤:
获取机器学习模型的模型数据;
对所述模型数据进行加密,得到加密后的模型数据;
将所述加密后的模型数据发送给目标设备。
本申请提供一种用户设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现如下步骤:
获取机器学习模型的加密后的模型数据;
对所述加密后的模型数据进行解密,得到解密后的模型数据;
根据所述解密后的模型数据获取机器学习模型。
本申请提供一种应用平台,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现如下步骤:
从模型提供设备获取加密后的模型数据;其中,所述加密后的模型数据是所述模型提供设备基于应用平台的地址存储到所述应用平台;
将所述加密后的模型数据发送给用户设备;其中,所述加密后的模型数据是所述用户设备基于应用平台的地址从所述应用平台获取;
其中,所述加密后的模型数据是机器学习模型的模型数据。
由以上技术方案可见,本申请实施例中,可以对机器学习模型的模型数据进行加密,即对模型数据进行加密保护,这样,即使非法用户得到机器学习模型的模型数据,也无法对模型数据进行解密,非法用户无法根据模型数据获取机器学习模型,提高机器学习模型的安全性,避免机器学习模型被非法利用。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1A和图1B是本申请一种实施方式中的系统结构示意图;
图2是本申请一种实施方式中的模型数据的处理方法的流程图;
图3是本申请一种实施方式中的模型数据的处理方法的流程图;
图4是本申请一种实施方式中的模型数据的处理方法的流程图;
图5是本申请一种实施方式中的模型数据的处理方法的流程图;
图6A-图6F是本申请一种实施方式中的加密/解密示意图;
图7A-图7C是本申请一种实施方式中的模型数据的处理装置的结构图;
图8A-图8C是本申请一种实施方式中的设备结构图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
机器学习是实现人工智能的一种途径,用于研究计算机如何模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。深度学习属于机器学习的子类,且神经网络是深度学习的一种实现方式。为了方便描述,以神经网络为例,简单介绍神经网络的结构和功能,对于机器学习的其它子类,与神经网络的结构和功能类似,在此不再赘述。示例性的,神经网络可以包括但不限于:卷积神经网络(简称CNN)、循环神经网络(简称RNN)、全连接网络等。神经网络的结构单元可以包括但不限于:卷积层(Conv)、池化层(Pool)、激励层、全连接层(FC)等,对此不做限制。
在卷积层中,通过使用卷积核对数据进行卷积运算,使数据特征增强,卷积层在空间范围内使用卷积核进行卷积运算,该卷积核可以是一个m*n大小的矩阵,卷积层的输入与卷积核进行卷积,可得到卷积层的输出。卷积运算实际是一个滤波过程,在卷积运算中,是将矩阵上点(x,y)的值f(x,y)与卷积核w(x,y)进行卷积。例如,提供4*4的卷积核,该4*4的卷积核包含16个数值,这16个数值的大小可以根据需要配置。按照4*4的大小在矩阵上依次滑动,得到多个4*4的滑动窗口,将该4*4的卷积核与每个滑动窗口进行卷积,得到多个卷积特征,这些卷积特征就是卷积层的输出,且被提供给池化层。
在池化层中,实际上就是一个降采样的过程,通过对多个卷积特征(即卷积层的输出)进行取最大值、取最小值、取平均值等操作,从而可以减少计算量,并保持特征不变性。在池化层中,可以利用数据局部相关性的原理,对数据进行子抽样,从而可以减少数据处理量,并保留数据中的有用信息。在池化层之后的激励层,可以使用激活函数(如非线性函数)对池化层输出的特征进行映射,从而引入非线性因素,使得神经网络通过非线性的组合而增强表达能力。其中,激励层的激活函数可以包括但不限于ReLU(Rectified LinearUnits,整流线性单元)函数,以ReLU函数为例,则该ReLU函数可以将池化层输出的所有特征中,小于0的特征置0,而大于0的特征保持不变。在全连接层中,该全连接层用于将输入给本全连接层的所有特征进行全连接处理,从而得到一个特征向量,且该特征向量中可以包括多个特征。进一步的,全连接层还可以采用1*1的卷积层,从而可以构成全卷积的网络。
在实际应用中,可以根据不同需求,将一个或多个卷积层、一个或多个池化层、一个或多个激励层和一个或多个全连接层进行组合构建神经网络。
当然,上述只是神经网络的示例,对此神经网络的结构不做限制。
为了使用神经网络实现业务处理(如人脸检测、人体检测、车辆检测,对此业务处理场景不做限制),涉及神经网络的训练过程、神经网络的使用过程。
在神经网络的训练过程中,可以利用训练数据训练神经网络内的各神经网络参数,如卷积层参数(如卷积核参数)、池化层参数、激励层参数、全连接层参数等,对此不做限制,可以训练神经网络内的所有神经网络参数。通过训练神经网络内各神经网络参数,可以使神经网络拟合出输入和输出的映射关系。在神经网络的使用过程中,可以将输入数据提供给神经网络,由神经网络对输入数据进行处理,如利用所有神经网络参数对输入数据进行处理,得到输出数据,且输入数据与输出数据满足神经网络拟合出的输入和输出的映射关系。最终,利用神经网络实现业务处理,如人脸检测、人体检测、车辆检测等。
在上述过程中,以神经网络的结构和功能为例,介绍了机器学习的结构和功能,也就是说,在机器学习的训练过程中,利用训练数据训练机器学习内的各机器学习参数,最终得到机器学习模型。在机器学习的使用过程中,将输入数据提供给机器学习模型,由机器学习模型对输入数据进行处理,如利用所有机器学习参数对输入数据进行处理,得到输出数据,最终实现业务处理。为了通过机器学习实现业务处理,可以在用户设备部署用于实现机器学习的机器学习模型,用户设备可以利用机器学习模型实现业务处理,例如,可以将输入数据提供给机器学习模型,由机器学习模型对输入数据进行处理,得到输出数据,最终实现业务处理,如人脸检测、人体检测、车辆检测等。
参见图1A所示,为本申请实施例的系统结构示意图,可以包括应用平台,模型提供设备和用户设备。参见图1B所示,为本申请实施例的另一个系统结构示意图,可以包括模型提供设备和用户设备,即图1B中不涉及图1A中的应用平台。在图1A和图1B中,用户设备的数量可以为多个,图1A和图1B中以1个用户设备为例进行说明。
与图1A相比,在图1B中,应用平台的功能和模型提供设备的功能,均由模型提供设备实现,也就是说,模型提供设备也具有应用平台的功能。
在图1A和图1B中,模型提供设备可以如PC(Personal Computer,个人计算机),服务器,训练平台(如机器学习训练平台、深度学习训练平台等),终端设备,笔记本电脑等,对此模型提供设备的类型不做限制。在图1A和图1B中,用户设备可以如中心端的智能服务器,边缘端的IPC(IP Camera,网络摄像机)设备,边缘端的NVR(Network Video Recorder,即网络视频录像机)设备等,对此用户设备的类型不做限制。在图1A中,应用平台可以如PC,服务器,终端设备,笔记本电脑等,对此应用平台的类型不做限制。
当然,上述系统结构只是本申请的示例,对此系统结构不做限制。
在一种可能的实施方式中,模型提供设备可以获取机器学习模型的模型数据,并将模型数据提供给用户设备,用户设备可以根据该模型数据获取机器学习模型,继而利用机器学习模型实现业务处理。但是,在上述过程中,机器学习模型的模型数据存在被非法截获的风险,使得机器学习模型可能被非法利用。
针对上述发现,本申请实施例中,模型提供设备可以对机器学习模型的模型数据进行加密,即对模型数据进行加密保护,即使非法用户得到机器学习模型的模型数据,也无法对模型数据进行解密,非法用户无法根据模型数据获取机器学习模型,提高机器学习模型的安全性,避免机器学习模型被非法利用。
在一种可能的实施方式中,参见图1A所示,在应用平台配置指定密码算法,该指定密码算法用于对模型数据进行加密处理。应用平台将该指定密码算法发送给模型提供设备,将该指定密码算法发送给用户设备。基于此,模型提供设备利用该指定密码算法对机器学习模型的模型数据进行加密,得到加密后的模型数据。用户设备在得到加密后的模型数据后,利用该指定密码算法对加密后的模型数据进行解密,得到解密后的模型数据。在另一种可能的实施方式中,参见图1B所示,可以在模型提供设备配置指定密码算法,该指定密码算法用于对模型数据进行加密处理,且模型提供设备可以将该指定密码算法发送给用户设备。基于此,模型提供设备可以利用该指定密码算法对机器学习模型的模型数据进行加密,得到加密后的模型数据。用户设备在得到加密后的模型数据后,利用该指定密码算法对加密后的模型数据进行解密,得到解密后的模型数据。
基于图1A或者图1B,可以在模型提供设备和用户设备配置相同的指定密码算法。基于此,模型提供设备利用该指定密码算法对机器学习模型的模型数据进行加密,得到加密后的模型数据。用户设备在得到加密后的模型数据后,利用该指定密码算法对加密后的模型数据进行解密,得到解密后的模型数据。
以下结合具体实施例,对本申请实施例的技术方案进行说明。
本申请实施例提出一种模型数据的处理方法,该方法可以应用于图1A或图1B中的模型提供设备,当然,图1A和图1B只是示例,对此不做限制,只要能够实现模型提供设备的功能即可。参见图2所示,为该方法的流程示意图。
步骤201,获取机器学习模型的模型数据。
示例性的,可以将机器学习模型内的各机器学习参数,称为机器学习模型的模型数据。例如,以机器学习模型采用神经网络为例,则机器学习参数可以包括神经网络内的各神经网络参数,如卷积层参数(如卷积核参数)、池化层参数、激励层参数、全连接层参数等,机器学习模型的模型数据可以包括但不限于:卷积层参数、池化层参数、激励层参数、全连接层参数等。
当然,上述只是机器学习模型的模型数据的示例,对此模型数据不做限制。
示例性的,可以采用如下步骤获取机器学习模型的模型数据:
步骤2011,获取机器学习模型对应的数据训练模型。
示例性的,参见图1A所示的应用场景,可以在应用平台配置机器学习模型对应的数据训练模型,模型提供设备从应用平台获取机器学习模型对应的数据训练模型。或者,参见图1A或者图1B所示的应用场景,可以在模型提供设备配置机器学习模型对应的数据训练模型,模型提供设备可以从本地获取机器学习模型对应的数据训练模型。当然,上述只是两个示例,对此不做限制。
示例性的,为了获取机器学习模型的模型数据,可以先获取机器学习模型对应的数据训练模型,这个数据训练模型与机器学习模型(即部署到用户设备的机器学习模型)类似,但是,数据训练模型的模型复杂度高于机器学习模型的模型复杂度,例如,数据训练模型中的参数精度高于机器学习模型中的参数精度,数据训练模型中的参数数量多于机器学习模型中的参数数量,这样,基于数据训练模型得到的各机器学习参数,训练结果更加准确,训练效果更好。
示例性的,数据训练模型也可以称为机器学习计算框架。
步骤2012,利用输入数据(也可以称为样本数据)对数据训练模型进行训练,得到训练后的数据训练模型(即目标数据训练模型)。
示例性的,模型提供设备可以获取大量输入数据,并利用这些输入数据的特征信息和标注信息,对数据训练模型进行训练。在训练过程中,不断调整数据训练模型内的各机器学习参数,对此训练过程不做限制,一直到训练后的数据训练模型符合预期,将训练后的数据训练模型作为目标数据训练模型。
例如,针对大量输入数据,可以得到每个输入数据的特征信息和标注信息,并利用每个输入数据的特征信息和标注信息进行训练,如训练数据训练模型内的各机器学习参数,最终得到符合预期的目标数据训练模型。
示例性的,可以基于高精度的训练算法(可以根据实际需要进行选择,对此高精度的训练算法不做限制),利用每个输入数据的特征信息和标注信息对数据训练模型进行高效的训练,最终得到目标数据训练模型。
示例性的,在利用输入数据的特征信息和标注信息对数据训练模型进行训练时,还可以约定输入数据的最小数量,通过预设数量阈值表示最小数量,如100。若输入数据的数量大于等于该预设数量阈值,才会利用每个输入数据的特征信息和标注信息对数据训练模型进行训练,最终得到目标数据训练模型。
步骤2013,从训练后的数据训练模型中获取机器学习模型的模型数据。
示例性的,在训练后的数据训练模型符合预期时,将训练后的数据训练模型作为目标数据训练模型,将目标数据训练模型中的机器学习参数,作为机器学习模型的模型数据。例如,可以将目标数据训练模型中的卷积层参数、池化层参数、激励层参数、全连接层参数等,作为机器学习模型的模型数据。
显然,由于数据训练模型的模型复杂度高于机器学习模型的模型复杂度,如数据训练模型中的参数精度高于机器学习模型中的参数精度,数据训练模型中的参数数量多于机器学习模型中的参数数量,这样,基于数据训练模型得到的各机器学习参数,训练结果更加准确,训练效果更好。在将这些机器学习参数作为机器学习模型的模型数据时,模型数据更加准确,模型数据性能更好。
综上所述,基于步骤2011-步骤2013,模型提供设备可以获取到机器学习模型的模型数据,基于机器学习模型的模型数据,可以进行后续步骤。
步骤202,对模型数据进行加密,得到加密后的模型数据。
示例性的,在得到机器学习模型的模型数据后,可以对该模型数据进行加密,对此加密方式不做限制,只要能够对模型数据进行加密即可。
在一种可能的实施方式中,模型提供设备可以先获取用于对模型数据进行加密的指定密码算法。参见图1A所示的应用场景,可以在应用平台配置用于对模型数据进行加密的指定密码算法,模型提供设备从应用平台获取该指定密码算法。或者,参见图1A或者图1B所示的应用场景,可以在模型提供设备配置用于对模型数据进行加密的指定密码算法,模型提供设备可以从本地获取预先配置的指定密码算法。当然,上述获取方式只是两个示例,对此不做限制。
模型提供设备在得到该指定密码算法后,可以利用该指定密码算法对模型数据进行加密,得到加密后的模型数据。示例性的,该指定密码算法可以包括但不限于对称密码算法,当然,对称密码算法只是一个示例,对此不做限制。
示例性的,对称密码算法可以包括但不限于:AES(Advanced EncryptionStandard,高级加密标准)算法、SM4算法(即一种分组密码标准算法)、3DES(DataEncryption Standard,数据加密标准)算法、DES算法、TDEA(Triple Data EncryptionAlgorithm,三重数据加密算法)算法、Blowfish算法、IDEA(International DataEncryption Algorithm,国际数据加密算法)算法。当然,上述几个算法只是对称密码算法的示例,对此对称密码算法不做限制。
在另一种可能的实施方式中,模型提供设备可以生成用于对模型数据进行加密的工作密钥(也可以称为对称密钥)。例如,模型提供设备可以随机生成一个随机数,将该随机数作为工作密钥。当然,上述工作密钥的生成方式只是示例,还可以采用其它方式生成工作密钥,对此不做限制。在生成工作密钥后,就可以基于工作密钥对模型数据进行加密,得到加密后的模型数据。
在另一种可能的实施方式中,模型提供设备可以先获取用于对模型数据进行加密的指定密码算法。例如,可以在应用平台配置用于对模型数据进行加密的指定密码算法,模型提供设备从应用平台获取该指定密码算法。或者,可以在模型提供设备配置用于对模型数据进行加密的指定密码算法,模型提供设备可以从本地获取预先配置的指定密码算法。然后,模型提供设备可以生成用于对模型数据进行加密的工作密钥,例如,可以随机生成一个随机数,将该随机数作为工作密钥。
模型提供设备在得到该指定密码算法和该工作密钥后,根据该指定密码算法和该工作密钥对模型数据进行加密,得到加密后的模型数据。例如,将该工作密钥提供给指定密码算法(如对称密码算法),即将该工作密钥作为对称密码算法的对称密钥。这样,就可以利用对称密码算法对模型数据进行加密,对此加密过程不做限制,可以参见对称密码算法的加密方式。
步骤203,将加密后的模型数据发送给目标设备。
在一种可能的实施方式中,参见图1A所示的应用场景,目标设备可以为应用平台,基于应用平台的地址,模型提供设备将加密后的模型数据发送给应用平台,以使用户设备基于应用平台的地址,从应用平台获取加密后的模型数据。
示例性的,应用平台可以部署数据集合,该数据集合可以是算法市场,算法商城,也可以是模型仓库,还可以是应用市场,对此数据集合不做限制,只要数据集合包括机器学习模型的模型数据(本文是加密后的模型数据)即可。
可以在模型提供设备配置应用平台的地址,这个应用平台的地址能够访问到应用平台的数据集合,对此地址的类型不做限制,如URL(如Uniform Resource Locator,统一资源定位符)地址等,只要能够访问到应用平台的数据集合即可。
可以在用户设备配置应用平台的地址,这个应用平台的地址能够访问到应用平台的数据集合,在用户设备配置的地址与在模型提供设备配置的地址相同。
综上所述,基于应用平台的地址,模型提供设备可以将加密后的模型数据发送给应用平台,也就是说,由于能够基于应用平台的地址访问到应用平台的数据集合,因此,可以将加密后的模型数据存储到应用平台的数据集合。
基于应用平台的地址,用户设备可以从应用平台下载加密后的模型数据,也就是说,由于能够基于应用平台的地址访问到应用平台的数据集合,因此,用户设备可以从应用平台的数据集合中下载加密后的模型数据。
示例性的,数据集合是算法市场为例,在将加密后的模型数据存储到算法市场时,还可以按照算法市场规定的格式,将加密后的模型数据转换为与所述格式对应的加密后的模型数据,将转换后的加密后的模型数据存储到算法市场。
在另一种可能的实施方式中,参见图1A或者图1B所示的应用场景,目标设备可以为用户设备,模型提供设备可以从多个用户设备中选择待升级用户设备,例如,将所有用户设备均作为待升级用户设备,或者,将部分用户设备作为待升级用户设备。然后,利用待升级用户设备的信息,与待升级用户设备建立指定连接;通过指定连接,将加密后的模型数据发送给待升级用户设备。
示例性的,模型提供设备可以与多个用户设备连接,对此连接方式不做限制,模型提供设备用于为多个用户设备提供模型数据。模型提供设备得到加密后的模型数据后,可以从多个用户设备中选择部分或全部用户设备作为待升级用户设备,对此选择方式不做限制,如将所有用户设备均作为待升级用户设备。
示例性的,针对每个待升级用户设备,模型提供设备利用该待升级用户设备的信息,与该待升级用户设备建立连接,对此待升级用户设备的信息不做限制,只要能够在模型提供设备与待升级用户设备之间建立连接即可。
该指定连接可以包括但不限于:TCP(Transmission Control Protocol,传输控制协议)连接,UDP(User Datagram Protocol,用户数据报协议)连接,HTTP(HyperTextTransfer Protocol,超文本传输协议)连接等,当然,上述只是指定连接的几个示例,对此不做限制,只要通过指定连接能够传输数据即可。
当指定连接为TCP连接时,待升级用户设备的信息用于建立TCP连接,对此不做限制,能够在模型提供设备与待升级用户设备之间建立TCP连接即可。当指定连接为UDP连接时,待升级用户设备的信息用于建立UDP连接,对此不做限制,能够在模型提供设备与待升级用户设备之间建立UDP连接即可。当指定连接为HTTP连接时,待升级用户设备的信息用于建立HTTP连接,对此不做限制,能够在模型提供设备与待升级用户设备之间建立HTTP连接即可。
示例性的,模型提供设备与待升级用户设备建立指定连接后,模型提供设备可以通过指定连接,将加密后的模型数据发送给待升级用户设备。
在一种可能的实施方式中,模型提供设备生成工作密钥,基于工作密钥对模型数据进行加密,得到加密后的模型数据后,可以采用预设密码算法对工作密钥进行加密,得到加密后的工作密钥,将加密后的工作密钥发送给目标设备。
示例性的,模型提供设备可以先获取用于对工作密钥进行加密的预设密码算法。参见图1A所示的应用场景,可以在应用平台配置用于对工作密钥进行加密的预设密码算法,模型提供设备从应用平台获取该预设密码算法。或者,参见图1A或者图1B所示的应用场景,可以在模型提供设备配置用于对工作密钥进行加密的预设密码算法,模型提供设备从本地获取该预设密码算法。
模型提供设备在得到该预设密码算法后,可以利用该预设密码算法对工作密钥进行加密,得到加密后的工作密钥。示例性的,该预设密码算法可以包括但不限于:白盒密码算法;或者,非对称密码算法;或者,对称密码算法等。当然,上述只是预设密码算法的几个示例,对此预设密码算法不做限制。
例如,对称密码算法可以包括但不限于:AES算法、SM4算法、3DES算法、DES算法、TDEA算法、Blowfish算法、IDEA算法。当然,上述几个算法只是对称密码算法的几个示例,对此对称密码算法不做限制。
例如,非对称密码算法可以包括但不限于:RSA算法,ECC(Error CorrectingCode,错误检查和纠正)算法,SM2算法,背包算法等。当然,上述几个算法只是非对称密码算法的几个示例,对此非对称密码算法不做限制。
白盒密码算法是一项能够抵抗白盒攻击的密码技术,核心思想是混淆,以保护在白盒环境(攻击者可以完全控制加密的终端)下的密钥,从而在开放不可控环境下安全进行加解密操作,对此白盒密码算法的加解密方式不做限制。
示例性的,参见图1A所示的应用场景,目标设备可以为应用平台,基于应用平台的地址,模型提供设备将加密后的工作密钥发送给应用平台,以使用户设备基于应用平台的地址,从应用平台获取加密后的工作密钥。
例如,应用平台可以部署数据集合,该数据集合可以是算法市场,也可以是算法商城,也可以是模型仓库,还可以是应用市场。可以在模型提供设备配置应用平台的地址,这个应用平台的地址能够访问到应用平台的数据集合。可以在用户设备配置应用平台的地址,这个应用平台的地址能够访问到应用平台的数据集合,在用户设备配置的地址与在模型提供设备配置的地址相同。
综上所述,基于应用平台的地址,模型提供设备可以将加密后的工作密钥发送给应用平台,也就是说,由于能够基于应用平台的地址访问到应用平台的数据集合,因此,可以将加密后的工作密钥存储到应用平台的数据集合。
基于应用平台的地址,用户设备可以从应用平台下载加密后的工作密钥,也就是说,由于能够基于应用平台的地址访问到应用平台的数据集合,因此,用户设备可以从应用平台的数据集合中下载加密后的工作密钥。
在上述方式中,模型提供设备可以将加密后的模型数据和加密后的工作密钥,存储到应用平台的数据集合。在存储过程中,还需要在应用平台的数据集合中关联加密后的模型数据和加密后的工作密钥。例如,加密后的工作密钥外面封装数据头,该数据头包括加密后的模型数据的标识。或者,加密后的模型数据外面封装数据头,该数据头包括加密后的工作密钥的标识。当然,上述方式只是示例,对此不做限制,只要能够对二者进行关联即可。这样,用户设备可以从应用平台的数据集合中下载加密后的模型数据和加密后的工作密钥。
示例性的,参见图1A或者图1B所示的应用场景,目标设备可以为用户设备,模型提供设备可以从多个用户设备中选择待升级用户设备,例如,将所有用户设备均作为待升级用户设备,或者,将部分用户设备作为待升级用户设备。然后,模型提供设备利用待升级用户设备的信息,与待升级用户设备建立指定连接;通过指定连接,将加密后的工作密钥发送给待升级用户设备。
例如,模型提供设备得到加密后的工作密钥后,可以从多个用户设备中选择部分或全部用户设备作为待升级用户设备。针对每个待升级用户设备,模型提供设备利用该待升级用户设备的信息,与该待升级用户设备建立连接,该指定连接可以包括但不限于:TCP连接,UDP连接,HTTP连接等。然后,模型提供设备可以通过指定连接,将加密后的工作密钥发送给待升级用户设备。
在一种可能的实施方式中,模型提供设备生成工作密钥,基于工作密钥对模型数据进行加密,得到加密后的模型数据,采用预设密码算法对工作密钥进行加密,得到加密后的工作密钥。将加密后的模型数据和加密后的工作密钥发送给目标设备,即加密后的模型数据和加密后的工作密钥在同一消息中发送。
示例性的,参见图1A所示的应用场景,目标设备可以为应用平台,基于应用平台的地址,模型提供设备将加密后的模型数据和加密后的工作密钥发送给发送给应用平台,以使用户设备基于应用平台的地址,从应用平台获取加密后的模型数据和加密后的工作密钥。例如,应用平台可以提供数据集合,由于能够基于应用平台的地址访问到应用平台的数据集合,因此,模型提供设备可以将加密后的模型数据和加密后的工作密钥存储到应用平台的数据集合。由于能够基于应用平台的地址访问到应用平台的数据集合,因此,用户设备可以从应用平台的数据集合中下载加密后的模型数据和加密后的工作密钥。
示例性的,参见图1A或者图1B所示的应用场景,目标设备可以为用户设备,模型提供设备可以从多个用户设备中选择待升级用户设备,并利用待升级用户设备的信息,与待升级用户设备建立指定连接。然后,通过指定连接,将加密后的模型数据和加密后的工作密钥发送给待升级用户设备。
示例性的,机器学习模型可以是针对摄像机视觉算法的机器学习模型,针对音响语音算法的机器学习模型,针对边缘端的智能算法的机器学习模型,针对云端服务器的智能算法的机器学习模型,针对智能摄像机的智能算法的机器学习模型,针对智能音箱的智能算法的机器学习模型,针对车载系统的智能算法的机器学习模型,针对移动终端的智能算法的机器学习模型,对此不做限制。
示例性的,机器学习模型可以是机器学习分类模型,机器学习检测模型,机器学习分类检测混合模型,对此不做限制。机器学习分类模型可以是指:基于机器学习分类模型能够区分数据的类型,即用于实现数据分类,例如,区分出包含人体的数据和包含动物的数据。机器学习检测模型可以是指:基于机器学习检测模型能够实现数据目标区域的检测,即用于实现数据检测,例如,检测数据目标区域是否为人脸。机器学习分类检测混合模型可以是指:基于机器学习分类检测混合模型能够区分数据的类型,并实现数据目标区域的检测,即用于实现数据分类和数据检测。例如,先区分出包含人体的数据和包含动物的数据,针对包含人体的数据,再检测数据目标区域是否为人脸。
由以上技术方案可见,本申请实施例中,可以对机器学习模型的模型数据进行加密,即对模型数据进行加密保护,这样,即使非法用户得到机器学习模型的模型数据,也无法对模型数据进行解密,非法用户无法根据模型数据获取机器学习模型,提高机器学习模型的安全性,避免机器学习模型被非法利用。示例性的,还可以对工作密钥进行加密,得到加密后的工作密钥,这样,采用两层密钥框架,对于模型数据和工作密钥分别采用独立的加密保护机制,在保证加密效率的情况下,最大化安全保护效果,进一步保障模型数据的安全性。
基于与上述方法同样申请构思,本申请实施例提出一种模型数据的处理方法,该方法可以应用于图1A或图1B中的用户设备,当然,图1A和图1B只是示例,对此不做限制,只要能够实现用户设备的功能即可。参见图3所示,为该方法的流程示意图。
步骤301,获取机器学习模型的加密后的模型数据。
示例性的,可以将机器学习模型内的各机器学习参数,称为机器学习模型的模型数据。例如,以机器学习模型采用神经网络为例,则机器学习参数可以包括神经网络内的各神经网络参数,如卷积层参数(如卷积核参数)、池化层参数、激励层参数、全连接层参数等,机器学习模型的模型数据可以包括但不限于:卷积层参数、池化层参数、激励层参数、全连接层参数等。
本步骤301中,用户设备可以获取到加密后的模型数据。
在一种可能的实施方式中,参见图1A所示的应用场景,模型提供设备可以基于应用平台的地址,将加密后的模型数据存储到应用平台。基于此,用户设备可以基于应用平台的地址,从应用平台获取加密后的模型数据。
示例性的,应用平台可以部署数据集合,该数据集合可以是算法市场,也可以是算法商城,也可以是模型仓库,还可以是应用市场。
示例性的,可以在模型提供设备配置应用平台的地址,这个应用平台的地址能够访问到应用平台的数据集合,基于应用平台的地址,模型提供设备可以将加密后的模型数据存储到应用平台的数据集合。可以在用户设备配置应用平台的地址,这个应用平台的地址能够访问到应用平台的数据集合,基于应用平台的地址,用户设备可以从应用平台的数据集合中下载加密后的模型数据。
在另一种可能的实施方式中,参见图1A所示的应用场景或者图1B所示的应用场景,用户设备可以利用模型提供设备的信息,与模型提供设备建立指定连接;通过指定连接,从模型提供设备获取加密后的模型数据。
示例性的,基于用户设备的信息和模型提供设备的信息,用户设备可以与模型提供设备建立指定连接,对此用户设备的信息和模型提供设备的信息均不做限制,只要能够在模型提供设备与用户设备之间建立连接即可。该指定连接可以包括但不限于:TCP连接,UDP连接,HTTP连接等,当然,上述只是指定连接的几个示例,对此不做限制,只要通过指定连接能够传输数据即可。
示例性的,模型提供设备与用户设备建立指定连接之后,模型提供设备可以通过指定连接,将加密后的模型数据发送给用户设备。这样,用户设备可以通过指定连接,从模型提供设备接收加密后的模型数据。
步骤302,对加密后的模型数据进行解密,得到解密后的模型数据。
示例性的,在得到加密后的模型数据后,可以对加密后的模型数据进行解密,对此解密方式不做限制,只要能够对加密后的模型数据进行解密即可。
在一种可能的实施方式中,用户设备可以先获取用于对模型数据进行解密的指定密码算法(在解密处理时,指定密码算法也可以称为解密算法,与模型提供设备采用的指定密码算法相同)。参见图1A所示的应用场景,可以在应用平台配置用于对模型数据进行解密的指定密码算法,用户设备从应用平台获取该指定密码算法。或者,参见图1A或者图1B所示的应用场景,可以在模型提供设备配置用于对模型数据进行解密的指定密码算法,用户设备可以从模型提供设备获取该指定密码算法。或者,参见图1A或者图1B所示的应用场景,可以在用户设备配置用于对模型数据进行解密的指定密码算法,用户设备可以从本地获取预先配置的指定密码算法。当然,上述指定密码算法的获取方式只是几个示例,对此获取方式不做限制。
用户设备在得到该指定密码算法后,可以利用该指定密码算法对加密后的模型数据进行解密,得到解密后的模型数据。示例性的,该指定密码算法可以包括但不限于对称密码算法,当然,对称密码算法只是示例,对此不做限制。
在另一种可能的实施方式中,用户设备可以获取用于对模型数据进行解密的工作密钥(工作密钥也可以称为对称密钥)。在获取到工作密钥后,可以基于该工作密钥对加密后的模型数据进行解密,得到解密后的模型数据。
在另一种可能的实施方式中,用户设备可以先获取用于对模型数据进行解密的指定密码算法,例如,可以从应用平台获取该指定密码算法,或者,可以从模型提供设备获取该指定密码算法,或者,可以从本地获取预先配置的指定密码算法。然后,获取用于对模型数据进行解密的工作密钥。用户设备在得到该指定密码算法和该工作密钥后,可以根据该指定密码算法和该工作密钥对加密后的模型数据进行解密,得到解密后的模型数据。例如,将该工作密钥提供给指定密码算法(如对称密码算法),即将该工作密钥作为对称密码算法的对称密钥。这样,就可以利用对称密码算法对加密后的模型数据进行解密。
步骤303,根据解密后的模型数据获取机器学习模型。
示例性的,用户设备可以获取机器学习模型对应的初始模型,然后,可以根据解密后的模型数据和初始模型,获取机器学习模型。
示例性的,机器学习模型对应的初始模型,未设置机器学习参数值(如卷积层参数、池化层参数、激励层参数、全连接层参数等),或者,虽然设置机器学习参数值,但是机器学习参数值是初始值,而不是经过训练的数值。
用户设备在得到解密后的模型数据后,可以将解密后的模型数据(即机器学习参数值,这个机器学习参数值是经过训练的数值)加载到初始模型中,得到机器学习模型。例如,初始模型中包括参数A,而解密后的模型数据包括参数A的数值,这样,就可以将参数A的数值代入初始模型中的参数A。
用户设备对加密后的模型数据进行解密,得到解密后的模型数据后,解密后的模型数据直接加载到初始模型,用户无法看到解密后的模型数据。
在一种可能的实施方式中,参见图1A所示的应用场景,可以在应用平台配置机器学习模型对应的初始模型,用户设备可以从应用平台获取机器学习模型对应的初始模型。或者,参见图1A或者图1B所示的应用场景,可以在模型提供设备配置机器学习模型对应的初始模型,用户设备可以从模型提供设备获取机器学习模型对应的初始模型。当然,上述只是两个示例,对此不做限制。或者,参见图1A或者图1B所示的应用场景,可以在用户设备配置机器学习模型对应的初始模型,用户设备可以从本地获取机器学习模型对应的初始模型。
当然,上述只是几个示例,对此初始模型的获取方式不做限制。
上述实施例需要获取用于对模型数据进行解密的工作密钥,在该过程中,用户设备获取加密后的工作密钥,采用预设密码算法对加密后的工作密钥进行解密,得到解密后的工作密钥,解密后的工作密钥用于对模型数据进行解密。
在一种可能的实施方式中,用户设备可以先获取用于对工作密钥进行解密的预设密码算法(与模型提供设备采用的预设密码算法相同)。参见图1A所示的应用场景,可以在应用平台配置用于对工作密钥进行解密的预设密码算法,用户设备可以从应用平台获取该预设密码算法。或者,参见图1A或者图1B所示的应用场景,可以在模型提供设备配置用于对工作密钥进行解密的预设密码算法,用户设备可以从模型提供设备获取该预设密码算法。或者,参见图1A或者图1B所示的应用场景,可以在用户设备配置用于对工作密钥进行解密的预设密码算法,用户设备可以从本地获取该预设密码算法。当然,上述方式只是几个示例,对此不做限制。
用户设备在得到该预设密码算法后,可以利用该预设密码算法对加密后的工作密钥进行解密,得到解密后的工作密钥。示例性的,该预设密码算法可以包括但不限于:白盒密码算法;或者,非对称密码算法;或者,对称密码算法等。当然,上述只是预设密码算法的几个示例,对此预设密码算法不做限制。
在一种可能的实施方式中,参见图1A所示的应用场景,针对用户设备获取加密后的工作密钥的过程,可以采用如下方式实现:模型提供设备可以基于应用平台的地址,将加密后的工作密钥存储到应用平台。基于此,用户设备可以基于应用平台的地址,从应用平台获取加密后的工作密钥。
示例性的,应用平台可以部署数据集合,该数据集合可以是算法市场,也可以是算法商城,也可以是模型仓库,还可以是应用市场。
示例性的,可以在模型提供设备配置应用平台的地址,这个应用平台的地址能够访问到应用平台的数据集合,基于应用平台的地址,模型提供设备可以将加密后的工作密钥存储到应用平台的数据集合。可以在用户设备配置应用平台的地址,这个应用平台的地址能够访问到应用平台的数据集合,基于应用平台的地址,用户设备可以从应用平台的数据集合中下载加密后的工作密钥。
在另一种可能的实施方式中,参见图1A或者图1B所示的应用场景,针对用户设备获取加密后的工作密钥的过程,可以采用如下方式实现:
用户设备可以利用模型提供设备的信息,与模型提供设备建立指定连接;通过指定连接,从模型提供设备获取加密后的工作密钥。
示例性的,基于用户设备的信息和模型提供设备的信息,用户设备可以与模型提供设备建立指定连接,该指定连接可以包括但不限于:TCP连接,UDP连接,HTTP连接等。模型提供设备与用户设备建立指定连接之后,模型提供设备可以通过指定连接,将加密后的工作密钥发送给用户设备。这样,用户设备可以通过指定连接,从模型提供设备接收加密后的工作密钥。
在另一种可能的实施方式中,加密后的模型数据和加密后的工作密钥可以在同一消息中发送。例如,模型提供设备可以基于应用平台的地址,将加密后的模型数据和加密后的工作密钥存储到应用平台。基于此,用户设备可以基于应用平台的地址,从应用平台获取加密后的模型数据和加密后的工作密钥。
例如,模型提供设备基于应用平台的地址,可以将加密后的模型数据和加密后的工作密钥存储到应用平台的数据集合。用户设备基于应用平台的地址,可以从应用平台的数据集合中下载加密后的模型数据和加密后的工作密钥。又例如,用户设备利用模型提供设备的信息,与模型提供设备建立指定连接;通过指定连接,从模型提供设备获取加密后的模型数据和加密后的工作密钥。
针对模型提供设备来说,使用指定密码算法进行加密处理,因此,指定密码算法可以作为加密器。针对用户设备来说,使用指定密码算法进行解密处理,因此,指定密码算法可以作为解密器。加密器和解密器是相同的算法。
应用平台可以向用户设备提供具有解密功能的计算库,比如说,计算库中包括机器学习模型对应的初始模型以及指定密码算法(用于实现解密功能),用户设备使用具有解密功能的计算库,对加密后的模型数据进行解密,得到解密后的模型数据,将解密后的模型数据部署到初始模型,显然,解密后的模型数据直接在计算库(如计算库的初始模型)中执行,用户无法看到)。
由以上技术方案可见,本申请实施例中,可以对机器学习模型的模型数据进行加密,即对模型数据进行加密保护,这样,即使非法用户得到机器学习模型的模型数据,也无法对模型数据进行解密,非法用户无法根据模型数据获取机器学习模型,提高机器学习模型的安全性,避免机器学习模型被非法利用。示例性的,还可以对工作密钥进行加密,得到加密后的工作密钥,这样,采用两层密钥框架,对于模型数据和工作密钥分别采用独立的加密保护机制,在保证加密效率的情况下,最大化安全保护效果,进一步保障模型数据的安全性。
基于与上述方法同样申请构思,本申请实施例提出一种模型数据的处理方法,该方法可以应用于图1A中的应用平台。参见图4所示,为该模型数据的处理方法的流程示意图。
步骤401,从模型提供设备获取加密后的模型数据;其中,加密后的模型数据是模型提供设备基于应用平台的地址存储到应用平台。
例如,应用平台可以部署数据集合,模型提供设备基于应用平台的地址(这个应用平台的地址能够访问到应用平台的数据集合),可以将加密后的模型数据存储到应用平台的数据集合,具体实现参见上述实施例,在此不再赘述。
步骤402,将加密后的模型数据发送给用户设备;其中,该加密后的模型数据是用户设备基于应用平台的地址从应用平台获取。
例如,应用平台可以部署数据集合,用户设备基于应用平台的地址(这个应用平台的地址能够访问到应用平台的数据集合),可以从应用平台的数据集合中下载加密后的模型数据,具体实现参见上述实施例,在此不再赘述。
在上述实施例中,加密后的模型数据是机器学习模型的模型数据。
在一种可能的实施方式中,应用平台还可以获取用于对模型数据进行加密处理的指定密码算法(如对称密码算法)。应用平台将该指定密码算法发送给模型提供设备,以使模型提供设备利用该指定密码算法对模型数据进行加密,得到加密后的模型数据,具体加密过程参见上述实施例,在此不再赘述。应用平台将该指定密码算法发送给用户设备,以使用户设备利用该指定密码算法对加密后的模型数据进行解密,得到解密后的模型数据,具体解密过程参见上述实施例,在此不再赘述。
在一种可能的实施方式中,应用平台可以从模型提供设备获取加密后的工作密钥;加密后的工作密钥是模型提供设备基于应用平台的地址存储到应用平台。例如,应用平台可以部署数据集合,模型提供设备基于应用平台的地址(这个应用平台的地址能够访问到应用平台的数据集合),可以将加密后的工作密钥存储到应用平台的数据集合,具体实现参见上述实施例,在此不再赘述。
应用平台将加密后的工作密钥发送给用户设备,加密后的工作密钥是用户设备基于应用平台的地址从应用平台获取。例如,用户设备基于应用平台的地址(这个应用平台的地址能够访问到应用平台的数据集合),从应用平台的数据集合中下载加密后的工作密钥,具体实现参见上述实施例,在此不再赘述。
应用平台还可以获取机器学习模型对应的数据训练模型,并将该数据训练模型发送给模型提供设备,以使模型提供设备根据该数据训练模型获取机器学习模型的模型数据,模型数据的获取过程参见上述实施例,在此不再赘述。
应用平台还可以获取机器学习模型对应的初始模型,并将该初始模型发送给用户设备,以使用户设备根据初始模型和解密后的模型数据获取机器学习模型,用户设备获取机器学习模型的过程参见上述实施例,在此不再赘述。
由以上技术方案可见,本申请实施例中,可以对机器学习模型的模型数据进行加密,即对模型数据进行加密保护,这样,即使非法用户得到机器学习模型的模型数据,也无法对模型数据进行解密,非法用户无法根据模型数据获取机器学习模型,提高机器学习模型的安全性,避免机器学习模型被非法利用。示例性的,还可以对工作密钥进行加密,得到加密后的工作密钥,这样,采用两层密钥框架,对于模型数据和工作密钥分别采用独立的加密保护机制,在保证加密效率的情况下,最大化安全保护效果,进一步保障模型数据的安全性。
参见图5所示,为本申请实施例提出的模型数据处理方法的流程示意图。
步骤501,模型提供设备获取机器学习模型的模型数据。
步骤502,模型提供设备生成用于对模型数据进行加密的工作密钥。
步骤503,模型提供设备基于该工作密钥和指定密码算法(该指定密码算法可以为对称密码算法)对模型数据进行加密,得到加密后的模型数据。
步骤504,模型提供设备采用预设密码算法(如白盒密码算法,非对称密码算法,对称密码算法等)对工作密钥进行加密,得到加密后的工作密钥。
步骤505,模型提供设备基于应用平台的地址,将加密后的模型数据和加密后的工作密钥发送给应用平台。例如,基于应用平台的地址,模型提供设备将加密后的模型数据和加密后的工作密钥存储到应用平台的数据集合。
步骤506,用户设备基于应用平台的地址,从应用平台获取加密后的模型数据和加密后的工作密钥。例如,基于应用平台的地址,用户设备可以从应用平台的数据集合中下载加密后的模型数据和加密后的工作密钥。
步骤507,用户设备采用预设密码算法(如白盒密码算法,非对称密码算法,对称密码算法等)对加密后的工作密钥进行解密,得到解密后的工作密钥。
步骤508,用户设备基于解密后的工作密钥和指定密码算法(如对称密码算法)对加密后的模型数据进行解密,得到解密后的模型数据。
步骤509,用户设备根据解密后的模型数据获取机器学习模型。
用户设备在得到机器学习模型后,就可以根据机器学习模型实现业务处理,如人脸检测、人体检测、车辆检测等。例如,假设机器学习模型用于进行人脸检测,则可以将图像输入给该机器学习模型,以使该机器学习模型对图像进行处理,例如,根据机器学习模型的各模型数据对图像进行处理,得到该图像的人脸检测结果,对此检测过程不做限制。当机器学习模型用于进行人体检测或车辆检测时,实现原理与人脸检测类似,在此不再重复赘述。
由以上技术方案可见,本申请实施例中,可以对机器学习模型的模型数据进行加密,即对模型数据进行加密保护,这样,即使非法用户得到机器学习模型的模型数据,也无法对模型数据进行解密,非法用户无法根据模型数据获取机器学习模型,提高机器学习模型的安全性,避免机器学习模型被非法利用。示例性的,还可以对工作密钥进行加密,得到加密后的工作密钥,这样,采用两层密钥框架,对于模型数据和工作密钥分别采用独立的加密保护机制,在保证加密效率的情况下,最大化安全保护效果,进一步保障模型数据的安全性。
以下结合几个具体应用场景,对模型提供设备的加密过程,用户设备的解密过程进行说明。当然,这里只是几个示例,并不局限于这些应用场景。
参见图6A和图6B所示,以白盒密码算法和对称密码算法为例,介绍模型提供设备的加密过程和用户设备的解密过程。参见图6A所示,针对模型提供设备来说,可以获取指定密码算法(如对称密码算法,后续以对称密码算法为例)和白盒密码算法。在生成工作密钥后,可以将工作密钥提供给对称密码算法,基于对称密码算法和工作密钥对模型数据进行加密,得到加密后的模型数据。在生成工作密钥后,可以将工作密钥提供给白盒密码算法,基于白盒密码算法对工作密钥进行加密,得到加密后的工作密钥。经过上述处理,得到加密后的模型数据和加密后的工作密钥。参见图6B所示,针对用户设备来说,可以获取指定密码算法(如对称密码算法,后续以对称密码算法为例)和白盒密码算法。在得到加密后的工作密钥后,可以将加密后的工作密钥提供给白盒密码算法,基于白盒密码算法对加密后的工作密钥进行解密,得到解密后的工作密钥。将解密后的工作密钥提供给对称密码算法,基于对称密码算法和解密后的工作密钥对加密后的模型数据进行解密,得到解密后的模型数据。经过上述处理,可以得到解密后的模型数据。
参见图6C和图6D所示,以非对称密码算法和对称密码算法为例,介绍模型提供设备的加密过程和用户设备的解密过程。参见图6C所示,针对模型提供设备来说,可以获取指定密码算法(如对称密码算法,后续以对称密码算法为例)和非对称密码算法。在生成工作密钥后,可以将工作密钥提供给对称密码算法,基于对称密码算法和工作密钥对模型数据进行加密,得到加密后的模型数据。在生成工作密钥后,可以将工作密钥提供给非对称密码算法,并将非对称密码算法的公钥提供给非对称密码算法,基于非对称密码算法和该公钥对工作密钥进行加密,得到加密后的工作密钥。经过上述处理,可以得到加密后的模型数据和加密后的工作密钥。参见图6D所示,针对用户设备来说,可以获取指定密码算法(如对称密码算法,后续以对称密码算法为例)和非对称密码算法。在得到加密后的工作密钥后,可以将加密后的工作密钥提供给非对称密码算法,并将非对称密码算法的私钥提供给非对称密码算法,基于非对称密码算法和该私钥对加密后的工作密钥进行解密,得到解密后的工作密钥。将解密后的工作密钥提供给对称密码算法,基于对称密码算法和解密后的工作密钥对加密后的模型数据进行解密,得到解密后的模型数据。经过上述处理,可以得到解密后的模型数据。
参见图6E和图6F所示,以对称密码算法和对称密码算法为例,介绍模型提供设备的加密过程和用户设备的解密过程。参见图6E所示,针对模型提供设备来说,可以获取指定密码算法(如对称密码算法,后续以对称密码算法为例)和对称密码算法。在生成工作密钥后,可以将工作密钥提供给对称密码算法,基于对称密码算法和工作密钥对模型数据进行加密,得到加密后的模型数据。在生成工作密钥后,可以将工作密钥提供给对称密码算法,并将对称密码算法的根密钥提供给对称密码算法,基于对称密码算法和该根密钥对工作密钥进行加密,得到加密后的工作密钥。经过上述处理,可以得到加密后的模型数据和加密后的工作密钥。参见图6F所示,针对用户设备来说,可以获取指定密码算法(如对称密码算法,后续以对称密码算法为例)和对称密码算法。在得到加密后的工作密钥后,可以将加密后的工作密钥提供给对称密码算法,并将对称密码算法的根密钥提供给对称密码算法,基于对称密码算法和该根密钥对加密后的工作密钥进行解密,得到解密后的工作密钥。将解密后的工作密钥提供给对称密码算法,基于对称密码算法和解密后的工作密钥对加密后的模型数据进行解密,得到解密后的模型数据。经过上述处理,可以得到解密后的模型数据。
综上所述,无论是采用哪种密码算法,模型提供设备均可以对机器学习模型的模型数据进行加密,并对工作密钥进行加密,实现模型数据和工作密钥的双重加密保护。这样,即使非法用户得到机器学习模型的模型数据,也无法对模型数据进行解密。进一步的,即使非法用户可以得到机器学习模型的模型数据,并得到工作密钥,但是,由于工作密钥也是加密后的工作密钥,非法用户无法对工作密钥进行解密,继而无法对模型数据进行解密。
基于与上述方法同样的申请构思,本申请实施例中还提出一种模型数据的处理装置,如图7A所示,为所述装置的结构图,所述装置包括:
获取模块711,用于获取机器学习模型的模型数据;
加密模块712,用于对所述模型数据进行加密,得到加密后的模型数据;
发送模块713,用于将所述加密后的模型数据发送给目标设备。
所述目标设备包括应用平台,所述发送模块713具体用于:基于应用平台的地址,将所述加密后的模型数据发送给所述应用平台,以使用户设备基于应用平台的地址,从所述应用平台获取所述加密后的模型数据。
所述目标设备包括用户设备,所述发送模块713具体用于:从多个用户设备中选择待升级用户设备;利用所述待升级用户设备的信息,与所述待升级用户设备建立指定连接;通过所述指定连接,将所述加密后的模型数据发送给所述待升级用户设备。
所述加密模块712具体用于:获取预先配置的指定密码算法,或从应用平台获取指定密码算法;利用所述指定密码算法对模型数据进行加密,得到加密后的模型数据。
所述加密模块712具体用于:生成用于对模型数据进行加密的工作密钥;基于所述工作密钥对所述模型数据进行加密,得到加密后的模型数据。
所述加密模块712还用于:采用预设密码算法对所述工作密钥进行加密,得到加密后的工作密钥;所述发送模块713还用于:将所述加密后的工作密钥发送给所述目标设备。
所述目标设备包括应用平台,所述发送模块713将所述加密后的工作密钥发送给所述目标设备时具体用于:基于应用平台的地址,将所述加密后的工作密钥发送给所述应用平台,以使用户设备基于应用平台的地址,从所述应用平台获取所述加密后的工作密钥。
所述目标设备包括用户设备,所述发送模块713将所述加密后的工作密钥发送给所述目标设备时具体用于:从多个用户设备中选择待升级用户设备;利用所述待升级用户设备的信息,与所述待升级用户设备建立指定连接;通过所述指定连接,将所述加密后的工作密钥发送给所述待升级用户设备。
所述预设密码算法具体为:
白盒密码算法;或者,非对称密码算法;或者,对称密码算法。
所述获取模块711具体用于:从应用平台获取机器学习模型对应的数据训练模型;利用输入数据对所述数据训练模型进行训练,得到训练后的数据训练模型;从所述训练后的数据训练模型中获取所述机器学习模型的模型数据。
基于与上述方法同样的申请构思,本申请实施例中还提出一种模型数据的处理装置,如图7B所示,为所述装置的结构图,所述装置包括:
获取模块721,用于获取机器学习模型的加密后的模型数据;
解密模块722,用于对所述加密后的模型数据进行解密,得到解密后的模型数据;处理模块723,用于根据所述解密后的模型数据获取机器学习模型。
所述获取模块721具体用于:基于应用平台的地址,从所述应用平台获取加密后的模型数据;其中,所述加密后的模型数据是模型提供设备基于应用平台的地址存储到所述应用平台。所述获取模块721具体用于:利用模型提供设备的信息,与所述模型提供设备建立指定连接;通过所述指定连接,从所述模型提供设备获取加密后的模型数据。
所述解密模块722具体用于:获取预先配置的指定密码算法,或从应用平台获取指定密码算法;利用所述指定密码算法对加密后的模型数据进行解密,得到解密后的模型数据。所述解密模块722具体用于:获取用于对模型数据进行解密的工作密钥;基于工作密钥对加密后的模型数据进行解密,得到解密后的模型数据。
所述解密模块722获取用于对模型数据进行解密的工作密钥时具体用于:获取加密后的工作密钥;采用预设密码算法对所述加密后的工作密钥进行解密,得到解密后的工作密钥;所述解密后的工作密钥用于对模型数据进行解密。
所述解密模块722获取加密后的工作密钥时具体用于:基于应用平台的地址,从所述应用平台获取加密后的工作密钥;其中,所述加密后的工作密钥是模型提供设备基于应用平台的地址存储到所述应用平台。
所述解密模块722获取加密后的工作密钥时具体用于:利用模型提供设备的信息,与所述模型提供设备建立指定连接;通过所述指定连接,从所述模型提供设备获取加密后的工作密钥。
所述预设密码算法具体为:
白盒密码算法;或者,非对称密码算法;或者,对称密码算法。
所述处理模块723具体用于:从应用平台获取机器学习模型对应的初始模型;根据所述解密后的模型数据和所述初始模型,获取机器学习模型。
基于与上述方法同样的申请构思,本申请实施例中还提出一种模型数据的处理装置,如图7C所示,为所述装置的结构图,所述装置包括:
获取模块731,用于从模型提供设备获取加密后的模型数据;其中,所述加密后的模型数据是所述模型提供设备基于应用平台的地址存储到所述应用平台;
发送模块732,用于将所述加密后的模型数据发送给用户设备;其中,所述加密后的模型数据是所述用户设备基于应用平台的地址从所述应用平台获取;
其中,所述加密后的模型数据是机器学习模型的模型数据。
所述获取模块731还用于:获取用于对模型数据进行加密处理的指定密码算法;所述发送模块732还用于:将所述指定密码算法发送给模型提供设备,以使所述模型提供设备利用所述指定密码算法对模型数据进行加密,得到所述加密后的模型数据;将所述指定密码算法发送给用户设备,以使用户设备利用所述指定密码算法对所述加密后的模型数据进行解密,得到解密后的模型数据。
所述获取模块731还用于:从模型提供设备获取加密后的工作密钥;所述加密后的工作密钥是所述模型提供设备基于应用平台的地址存储到所述应用平台;所述发送模块732还用于:将所述加密后的工作密钥发送给用户设备;所述加密后的工作密钥是所述用户设备基于应用平台的地址从所述应用平台获取。
所述获取模块731还用于:获取机器学习模型对应的数据训练模型;
所述发送模块732还用于:将所述数据训练模型发送给模型提供设备,以使所述模型提供设备根据所述数据训练模型获取所述机器学习模型的模型数据。
所述获取模块731还用于:获取机器学习模型对应的初始模型;
所述发送模块732还用于:将所述初始模型发送给用户设备,以使所述用户设备根据所述初始模型和解密后的模型数据获取机器学习模型。
基于与上述方法同样的申请构思,本申请实施例中还提出一种模型提供设备,本申请实施例提供的模型提供设备,从硬件层面而言,硬件架构示意图可以参见图8A所示。可以包括:处理器811和机器可读存储介质812,所述机器可读存储介质812存储有能够被所述处理器811执行的机器可执行指令;所述处理器811用于执行机器可执行指令,以实现本申请上述示例公开的方法。例如,处理器811用于执行机器可执行指令,以实现如下步骤:
获取机器学习模型的模型数据;对所述模型数据进行加密,得到加密后的模型数据;将所述加密后的模型数据发送给目标设备。
基于与上述方法同样的申请构思,本申请实施例中还提出一种用户设备,本申请实施例提供的用户设备,从硬件层面而言,硬件架构示意图可以参见图8B所示。可以包括:处理器821和机器可读存储介质822,所述机器可读存储介质822存储有能够被所述处理器821执行的机器可执行指令;所述处理器821用于执行机器可执行指令,以实现本申请上述示例公开的方法。例如,处理器821用于执行机器可执行指令,以实现如下步骤:
获取机器学习模型的加密后的模型数据;对所述加密后的模型数据进行解密,得到解密后的模型数据;根据所述解密后的模型数据获取机器学习模型。
基于与上述方法同样的申请构思,本申请实施例中还提出一种应用平台,本申请实施例提供的应用平台,从硬件层面而言,硬件架构示意图可以参见图8C所示。可以包括:处理器831和机器可读存储介质832,所述机器可读存储介质832存储有能够被所述处理器831执行的机器可执行指令;所述处理器831用于执行机器可执行指令,以实现本申请上述示例公开的方法。例如,处理器831用于执行机器可执行指令,以实现如下步骤:
从模型提供设备获取加密后的模型数据;其中,所述加密后的模型数据是所述模型提供设备基于应用平台的地址存储到所述应用平台;将所述加密后的模型数据发送给用户设备;其中,所述加密后的模型数据是所述用户设备基于应用平台的地址从所述应用平台获取;其中,所述加密后的模型数据是机器学习模型的模型数据。
基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,其中,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被处理器执行时,能够实现本申请上述示例公开的方法。示例性的,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (18)

1.一种模型数据的处理方法,其特征在于,所述方法包括:
获取机器学习模型的模型数据;
生成用于对所述模型数据进行加密的工作密钥,基于所述工作密钥对所述模型数据进行加密,得到加密后的模型数据;其中,工作密钥为随机数;
将所述加密后的模型数据发送给目标设备;
采用预设密码算法对所述工作密钥进行加密,得到加密后的工作密钥,并将所述加密后的工作密钥发送给所述目标设备;
其中,所述将所述加密后的模型数据发送给目标设备,包括:若所述目标设备包括应用平台,基于应用平台的地址,将所述加密后的模型数据发送给所述应用平台,由所述应用平台存储所述加密后的模型数据,以使多个用户设备基于应用平台的地址,从所述应用平台获取所述加密后的模型数据;
其中,将所述加密后的工作密钥发送给所述目标设备,包括:基于应用平台的地址,将所述加密后的工作密钥发送给所述应用平台,由所述应用平台存储所述加密后的工作密钥,以使多个用户设备基于应用平台的地址,从所述应用平台获取所述加密后的工作密钥;
其中,在所述应用平台中存储所述加密后的模型数据和所述加密后的工作密钥时,在所述加密后的工作密钥外面封装数据头,该数据头包括所述加密后的模型数据的标识;或者,在所述加密后的模型数据外面封装数据头,该数据头包括所述加密后的工作密钥的标识。
2.根据权利要求1所述的方法,其特征在于,
所述对所述模型数据进行加密,得到加密后的模型数据,包括:
获取预先配置的指定密码算法,或者,从应用平台获取指定密码算法;
利用所述指定密码算法对所述模型数据进行加密,得到加密后的模型数据。
3.根据权利要求1所述的方法,其特征在于,所述预设密码算法具体为:
白盒密码算法;或者,非对称密码算法;或者,对称密码算法。
4.根据权利要求1所述的方法,其特征在于,
所述获取机器学习模型的模型数据,包括:
从应用平台获取机器学习模型对应的数据训练模型;
利用输入数据对所述数据训练模型进行训练,得到训练后的数据训练模型;
从所述训练后的数据训练模型中获取所述机器学习模型的模型数据。
5.一种模型数据的处理方法,其特征在于,所述方法包括:
获取机器学习模型的加密后的模型数据;
获取加密后的工作密钥;采用预设密码算法对所述加密后的工作密钥进行解密,得到解密后的工作密钥,并基于所述解密后的工作密钥对所述加密后的模型数据进行解密,得到解密后的模型数据;其中,工作密钥为随机数;
根据所述解密后的模型数据获取机器学习模型;
其中,所述获取机器学习模型的加密后的模型数据,包括:基于应用平台的地址,从所述应用平台获取加密后的模型数据;其中,所述加密后的模型数据是模型提供设备基于应用平台的地址存储到所述应用平台;
其中,所述获取加密后的工作密钥,包括:基于应用平台的地址,从所述应用平台获取加密后的工作密钥;其中,所述加密后的工作密钥是模型提供设备基于应用平台的地址存储到所述应用平台;
其中,在所述应用平台中存储所述加密后的模型数据和所述加密后的工作密钥时,在所述加密后的工作密钥外面封装数据头,该数据头包括所述加密后的模型数据的标识;或者,在所述加密后的模型数据外面封装数据头,该数据头包括所述加密后的工作密钥的标识。
6.根据权利要求5所述的方法,其特征在于,
所述对所述加密后的模型数据进行解密,得到解密后的模型数据,包括:
获取预先配置的指定密码算法,或者,从应用平台获取指定密码算法;利用所述指定密码算法对加密后的模型数据进行解密,得到解密后的模型数据。
7.根据权利要求5所述的方法,其特征在于,所述预设密码算法具体为:
白盒密码算法;或者,非对称密码算法;或者,对称密码算法。
8.根据权利要求5所述的方法,其特征在于,
所述根据所述解密后的模型数据获取机器学习模型,包括:
从应用平台获取机器学习模型对应的初始模型;
根据所述解密后的模型数据和所述初始模型,获取机器学习模型。
9.一种模型数据的处理方法,其特征在于,所述方法包括:
从模型提供设备获取加密后的模型数据和加密后的工作密钥;其中,所述加密后的模型数据和所述加密后的工作密钥是所述模型提供设备基于应用平台的地址存储到所述应用平台;其中,工作密钥为随机数;
将所述加密后的模型数据和所述加密后的工作密钥发送给用户设备;其中,所述加密后的模型数据和所述加密后的工作密钥是所述用户设备基于应用平台的地址从所述应用平台获取;
其中,所述加密后的模型数据是机器学习模型的模型数据;
其中,在所述应用平台中存储所述加密后的模型数据和所述加密后的工作密钥时,在所述加密后的工作密钥外面封装数据头,该数据头包括所述加密后的模型数据的标识;或者,在所述加密后的模型数据外面封装数据头,该数据头包括所述加密后的工作密钥的标识。
10.根据权利要求9所述的方法,其特征在于,
所述从模型提供设备获取加密后的模型数据之前,所述方法还包括:
获取用于对模型数据进行加密处理的指定密码算法;
将所述指定密码算法发送给模型提供设备,以使所述模型提供设备利用所述指定密码算法对模型数据进行加密,得到所述加密后的模型数据;
将所述指定密码算法发送给用户设备,以使所述用户设备利用所述指定密码算法对所述加密后的模型数据进行解密,得到解密后的模型数据。
11.根据权利要求9所述的方法,其特征在于,
所述从模型提供设备获取加密后的模型数据之前,所述方法还包括:
获取机器学习模型对应的数据训练模型;
将所述数据训练模型发送给模型提供设备,以使所述模型提供设备根据所述数据训练模型获取所述机器学习模型的模型数据。
12.根据权利要求9所述的方法,其特征在于,
所述将所述加密后的模型数据发送给用户设备之前,所述方法还包括:
获取机器学习模型对应的初始模型;
将所述初始模型发送给用户设备,以使所述用户设备根据所述初始模型和解密后的模型数据获取机器学习模型。
13.一种模型数据的处理装置,其特征在于,所述装置包括:
获取模块,用于获取机器学习模型的模型数据;
加密模块,用于生成用于对所述模型数据进行加密的工作密钥,基于所述工作密钥对所述模型数据进行加密,得到加密后的模型数据;其中,工作密钥为随机数;采用预设密码算法对工作密钥进行加密,得到加密后的工作密钥;
发送模块,用于将所述加密后的模型数据发送给目标设备,并将所述加密后的工作密钥发送给所述目标设备;
其中,所述发送模块具体用于:
若所述目标设备包括应用平台,基于应用平台的地址,将所述加密后的模型数据发送给所述应用平台,由所述应用平台存储所述加密后的模型数据,以使多个用户设备基于应用平台的地址,从所述应用平台获取所述加密后的模型数据;基于应用平台的地址,将所述加密后的工作密钥发送给所述应用平台,由所述应用平台存储所述加密后的工作密钥,以使多个用户设备基于应用平台的地址,从所述应用平台获取所述加密后的工作密钥;
其中,在所述应用平台中存储所述加密后的模型数据和所述加密后的工作密钥时,在所述加密后的工作密钥外面封装数据头,该数据头包括所述加密后的模型数据的标识;或者,在所述加密后的模型数据外面封装数据头,该数据头包括所述加密后的工作密钥的标识。
14.一种模型数据的处理装置,其特征在于,所述装置包括:
获取模块,用于获取机器学习模型的加密后的模型数据;获取加密后的工作密钥;其中,工作密钥为随机数;
解密模块,用于采用预设密码算法对所述加密后的工作密钥进行解密,得到解密后的工作密钥,并基于所述解密后的工作密钥对所述加密后的模型数据进行解密,得到解密后的模型数据;
处理模块,用于根据所述解密后的模型数据获取机器学习模型;
其中,所述获取模块具体用于:
基于应用平台的地址,从所述应用平台获取加密后的模型数据;其中,所述加密后的模型数据是模型提供设备基于应用平台的地址存储到所述应用平台;基于应用平台的地址,从所述应用平台获取加密后的工作密钥;其中,所述加密后的工作密钥是模型提供设备基于应用平台的地址存储到所述应用平台;
其中,在所述应用平台中存储所述加密后的模型数据和所述加密后的工作密钥时,在所述加密后的工作密钥外面封装数据头,该数据头包括所述加密后的模型数据的标识;或者,在所述加密后的模型数据外面封装数据头,该数据头包括所述加密后的工作密钥的标识。
15.一种模型数据的处理装置,其特征在于,所述装置包括:
获取模块,用于从模型提供设备获取加密后的模型数据和加密后的工作密钥;其中,所述加密后的模型数据和所述加密后的工作密钥是所述模型提供设备基于应用平台的地址存储到所述应用平台;其中,工作密钥为随机数;
发送模块,用于将所述加密后的模型数据和所述加密后的工作密钥发送给用户设备;其中,所述加密后的模型数据和所述加密后的工作密钥是所述用户设备基于应用平台的地址从所述应用平台获取;
其中,所述加密后的模型数据是机器学习模型的模型数据;
其中,在所述应用平台中存储所述加密后的模型数据和所述加密后的工作密钥时,在所述加密后的工作密钥外面封装数据头,该数据头包括所述加密后的模型数据的标识;或者,在所述加密后的模型数据外面封装数据头,该数据头包括所述加密后的工作密钥的标识。
16.一种模型提供设备,其特征在于,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现如下步骤:
获取机器学习模型的模型数据;
对所述模型数据进行加密,得到加密后的模型数据;
将所述加密后的模型数据发送给目标设备;
其中,所述将所述加密后的模型数据发送给目标设备,包括:若所述目标设备包括应用平台,基于应用平台的地址,将所述加密后的模型数据发送给所述应用平台,以使用户设备基于应用平台的地址,从所述应用平台获取所述加密后的模型数据;
或者,若所述目标设备包括用户设备,从多个用户设备中选择待升级用户设备;利用所述待升级用户设备的信息,与所述待升级用户设备建立指定连接;通过所述指定连接,将所述加密后的模型数据发送给所述待升级用户设备;
其中,对所述模型数据进行加密,得到加密后的模型数据,包括:基于加密器对所述模型数据进行加密,得到加密后的模型数据;其中,所述加密器是应用平台提供给所述模型提供设备,且所述加密器与所述应用平台提供给用户设备的解密器是相同的算法。
17.一种用户设备,其特征在于,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现如下步骤:
获取机器学习模型的加密后的模型数据;
对所述加密后的模型数据进行解密,得到解密后的模型数据;
根据所述解密后的模型数据获取机器学习模型;
其中,所述获取机器学习模型的加密后的模型数据,包括:
基于应用平台的地址,从所述应用平台获取加密后的模型数据;其中,所述加密后的模型数据是模型提供设备基于应用平台的地址存储到所述应用平台;
或者,利用模型提供设备的信息,与所述模型提供设备建立指定连接;通过所述指定连接,从所述模型提供设备获取加密后的模型数据;
其中,所述对所述加密后的模型数据进行解密,得到解密后的模型数据,根据所述解密后的模型数据获取机器学习模型,包括:从应用平台获取具有解密功能的计算库,所述计算库中包括机器学习模型对应的初始模型和解密器,所述解密器与应用平台提供给模型提供设备的加密器是相同的算法;通过所述计算库中的解密器对所述加密后的模型数据进行解密,得到解密后的模型数据,将解密后的模型数据部署到所述计算库中的初始模型,得到所述机器学习模型。
18.一种应用平台,其特征在于,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现如下步骤:
从模型提供设备获取加密后的模型数据;其中,所述加密后的模型数据是所述模型提供设备基于应用平台的地址存储到所述应用平台;
将所述加密后的模型数据发送给用户设备;其中,所述加密后的模型数据是所述用户设备基于应用平台的地址从所述应用平台获取;
其中,所述加密后的模型数据是机器学习模型的模型数据;
其中,所述处理器执行机器可执行指令时,还实现如下步骤:
向所述模型提供设备发送加密器,以使所述模型提供设备基于所述加密器对模型数据进行加密,得到加密后的模型数据;
向用户设备发送具有解密功能的计算库,所述计算库中包括机器学习模型对应的初始模型和解密器,所述解密器与所述加密器是相同的算法,以使所述用户设备通过所述计算库中的解密器对加密后的模型数据进行解密,得到解密后的模型数据,将解密后的模型数据部署到所述计算库中的初始模型,得到机器学习模型。
CN202010268456.1A 2019-12-04 2020-04-08 一种模型数据的处理方法、装置及设备 Active CN111191267B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210314362.2A CN114741708A (zh) 2019-12-04 2020-04-08 一种模型数据的处理方法、装置及设备

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911230340 2019-12-04
CN2019112303402 2019-12-04

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202210314362.2A Division CN114741708A (zh) 2019-12-04 2020-04-08 一种模型数据的处理方法、装置及设备

Publications (2)

Publication Number Publication Date
CN111191267A CN111191267A (zh) 2020-05-22
CN111191267B true CN111191267B (zh) 2023-03-31

Family

ID=70708729

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202010268456.1A Active CN111191267B (zh) 2019-12-04 2020-04-08 一种模型数据的处理方法、装置及设备
CN202210314362.2A Pending CN114741708A (zh) 2019-12-04 2020-04-08 一种模型数据的处理方法、装置及设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202210314362.2A Pending CN114741708A (zh) 2019-12-04 2020-04-08 一种模型数据的处理方法、装置及设备

Country Status (1)

Country Link
CN (2) CN111191267B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200327454A1 (en) * 2020-06-26 2020-10-15 Intel Corporation Secured deployment of machine learning models
CN112288133A (zh) * 2020-09-28 2021-01-29 珠海大横琴科技发展有限公司 一种算法服务处理方法和装置
CN113190877B (zh) * 2021-04-29 2022-10-04 网易(杭州)网络有限公司 一种模型加载方法、装置、可读存储介质及电子设备
CN115344886B (zh) * 2022-07-22 2023-11-24 安徽深信科创信息技术有限公司 一种模型加密方法、模型解密方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111756754B (zh) * 2017-07-28 2023-04-07 创新先进技术有限公司 一种训练模型的方法及装置
CN108520181B (zh) * 2018-03-26 2022-04-22 联想(北京)有限公司 数据模型训练方法和装置
CN109040091A (zh) * 2018-08-17 2018-12-18 中科物栖(北京)科技有限责任公司 深度神经网络模型的加密方法及装置
CN109711556B (zh) * 2018-12-24 2020-11-03 中国南方电网有限责任公司 机巡数据处理方法、装置、网级服务器和省级服务器

Also Published As

Publication number Publication date
CN114741708A (zh) 2022-07-12
CN111191267A (zh) 2020-05-22

Similar Documents

Publication Publication Date Title
CN111191267B (zh) 一种模型数据的处理方法、装置及设备
US20210312334A1 (en) Model parameter training method, apparatus, and device based on federation learning, and medium
US11558176B2 (en) Apparatus and method for generating ciphertext data with maintained structure for analytics capability
US11902413B2 (en) Secure machine learning analytics using homomorphic encryption
CN102611692B (zh) 多承租人数据中心中的安全计算方法
CN111428887B (zh) 一种基于多个计算节点的模型训练控制方法、装置及系统
WO2022001092A1 (zh) 一种数据处理方法、装置及设备
CN112949545B (zh) 识别人脸图像的方法、装置、计算设备和介质
US11949711B2 (en) Systems and methods for securing information
CN112365001B (zh) 模型的生成方法、装置和服务器
CN110647659B (zh) 摄像系统以及视频处理方法
CN110399717A (zh) 密钥获取方法和装置、存储介质及电子装置
JP2023533020A (ja) プライバシー保護画像配信
CN116662941B (zh) 信息加密方法、装置、计算机设备和存储介质
CN110210591A (zh) 一种智能ic卡个人化数据的写入方法、计算机装置及计算机可读存储介质
CN111046857A (zh) 基于知识联邦的人脸识别方法、装置、设备、介质及系统
Madono et al. Sia-gan: Scrambling inversion attack using generative adversarial network
Khazbak et al. TargetFinder: A privacy preserving system for locating targets through IoT cameras
Kim et al. Real-time streaming image based PP2LFA-CRNN model for facial sentiment analysis
Shankar et al. Secure image transmission in wireless sensor network (WSN) applications
CN112948883B (zh) 保护隐私数据的多方联合建模的方法、装置和系统
Sultan et al. A novel image-based homomorphic approach for preserving the privacy of autonomous vehicles connected to the cloud
Galletta et al. Investigating the applicability of nested secret share for drone fleet photo storage
CN108512651B (zh) 一种人工智能图像辨识攻击防御方法、系统及存储介质
CN105279443A (zh) 一种照片加密、解密的方法及装置

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
GR01 Patent grant
GR01 Patent grant