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

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

Info

Publication number
CN114969784A
CN114969784A CN202210582492.4A CN202210582492A CN114969784A CN 114969784 A CN114969784 A CN 114969784A CN 202210582492 A CN202210582492 A CN 202210582492A CN 114969784 A CN114969784 A CN 114969784A
Authority
CN
China
Prior art keywords
model
key
service
encrypted
service key
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
CN202210582492.4A
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.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou 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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202210582492.4A priority Critical patent/CN114969784A/zh
Publication of CN114969784A publication Critical patent/CN114969784A/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本说明书实施例公开了一种模型的处理方法、装置及设备,该方法应用于服务器,包括:获取待保护的第一模型和第一模型的模型参数,并基于与待部署第一模型的终端设备具有的相同通道建立规则,与终端设备之间建立安全通道,通过安全通道将业务密钥和业务密钥的标识发送给终端设备,以使终端设备将业务密钥和业务密钥的标识存储于可信执行环境中,为第一模型生成第一会话密钥,并使用第一会话密钥对第一模型和模型参数进行加密处理,并使用业务密钥对第一会话密钥进行加密处理,并将加密后的第一模型和模型参数,以及加密后的第一会话密钥和业务密钥的标识发送至可信执行环境中,以使终端设备获取第一模型和模型参数。

Description

一种模型的处理方法、装置及设备
技术领域
本文件涉及计算机技术领域,尤其涉及一种模型的处理方法、装置及设备。
背景技术
当前,很多企业或组织以私有云的方式将其某些业务的模型部署到本地,此方式中的模型的模型结构和相关数据极易被攻击者窃取,而模型(如人脸识别模型等)通常是该企业或组织的核心资产,一旦模型被泄露,不但会暴露隐藏在该模型中的用户隐私数据,而且还会给企业或组织造成难以估量的损失。目前对模型的保护手段异常薄弱,例如,通常可以采用固定密码进行加密的方式对模型的传输进行保护,但此方式下,只需找到解密点进行hook处理,就可以很容易的通过如dump内存的方式窃取到模型的模型结构和相关数据。为此,需要提供一种在数据传输的过程能够更有效的保护模型的模型结构和相关数据,以防止被恶意攻击者窃取的技术方案。
发明内容
本说明书实施例的目的是提供一种在数据传输的过程能够更有效的保护模型的模型结构和相关数据,以防止被恶意攻击者窃取的技术方案。
为了实现上述技术方案,本说明书实施例是这样实现的:
本说明书实施例提供的一种模型的处理方法,应用于服务器,所述方法包括:获取待保护的第一模型和所述第一模型的模型参数,并基于与待部署所述第一模型的终端设备具有的相同通道建立规则,与所述终端设备之间建立安全通道。通过所述安全通道将业务密钥和所述业务密钥的标识发送给所述终端设备,所述业务密钥和所述业务密钥的标识用于触发所述终端设备将所述业务密钥和所述业务密钥的标识存储于所述终端设备的可信执行环境中。为所述第一模型生成第一会话密钥,并使用所述第一会话密钥对所述第一模型和所述模型参数进行加密处理,并使用所述业务密钥对所述第一会话密钥进行加密处理,并将加密后的第一模型和模型参数,以及加密后的第一会话密钥和所述业务密钥的标识发送至所述终端设备的可信执行环境中,所述加密后的第一会话密钥和所述业务密钥的标识用于触发所述终端设备在所述可信执行环境中对所述加密后的第一会话密钥进行解密,得到所述第一会话密钥,并使用所述第一会话密钥对所述加密后的第一模型和模型参数进行解密,得到所述第一模型和所述模型参数,以基于所述第一模型和所述模型参数对目标业务进行业务处理。
本说明书实施例提供的一种模型的处理方法,应用于终端设备,所述终端设备设置有可信执行环境,所述方法包括:基于与部署第一模型的服务器具有的相同通道建立规则,与所述服务器之间建立安全通道。通过所述安全通道接收所述服务器发送的业务密钥和所述业务密钥的标识,并将所述业务密钥和所述业务密钥的标识存储于所述可信执行环境中。通过所述可信执行环境接收所述服务器发送的加密后的第一模型和模型参数,以及加密后的第一会话密钥和所述业务密钥的标识,所述加密后的第一模型和模型参数是所述服务器使用为所述第一模型生成的第一会话密钥对所述第一模型和所述模型参数进行加密处理后得到,所述加密后的第一会话密钥是所述服务器使用所述业务密钥对所述第一会话密钥进行加密处理后得到。在所述可信执行环境中,通过所述业务密钥的标识获取所述业务密钥,使用所述业务密钥对所述加密后的第一会话密钥进行解密,得到所述第一会话密钥,并使用所述第一会话密钥对所述加密后的第一模型和模型参数进行解密,得到所述第一模型和所述模型参数,基于所述第一模型和所述模型参数对目标业务进行业务处理。
本说明书实施例提供的一种模型的处理装置,所述装置包括:通道建立模块,获取待保护的第一模型和所述第一模型的模型参数,并基于与待部署所述第一模型的终端设备具有的相同通道建立规则,与所述终端设备之间建立安全通道。密钥发送模块,通过所述安全通道将业务密钥和所述业务密钥的标识发送给所述终端设备,所述业务密钥和所述业务密钥的标识用于触发所述终端设备将所述业务密钥和所述业务密钥的标识存储于所述终端设备的可信执行环境中。模型数据发送模块,为所述第一模型生成第一会话密钥,并使用所述第一会话密钥对所述第一模型和所述模型参数进行加密处理,并使用所述业务密钥对所述第一会话密钥进行加密处理,并将加密后的第一模型和模型参数,以及加密后的第一会话密钥和所述业务密钥的标识发送至所述终端设备的可信执行环境中,所述加密后的第一会话密钥和所述业务密钥的标识用于触发所述终端设备在所述可信执行环境中对所述加密后的第一会话密钥进行解密,得到所述第一会话密钥,并使用所述第一会话密钥对所述加密后的第一模型和模型参数进行解密,得到所述第一模型和所述模型参数,以基于所述第一模型和所述模型参数对目标业务进行业务处理。
本说明书实施例提供的一种模型的处理装置,设置有可信执行环境,所述装置包括:通道建立模块,基于与部署第一模型的服务器具有的相同通道建立规则,与所述服务器之间建立安全通道。密钥接收模块,通过所述安全通道接收所述服务器发送的业务密钥和所述业务密钥的标识,并将所述业务密钥和所述业务密钥的标识存储于所述可信执行环境中。数据接收模块,通过所述可信执行环境接收所述服务器发送的加密后的第一模型和模型参数,以及加密后的第一会话密钥和所述业务密钥的标识,所述加密后的第一模型和模型参数是所述服务器使用为所述第一模型生成的第一会话密钥对所述第一模型和所述模型参数进行加密处理后得到,所述加密后的第一会话密钥是所述服务器使用所述业务密钥对所述第一会话密钥进行加密处理后得到。解密模块,在所述可信执行环境中,通过所述业务密钥的标识获取所述业务密钥,使用所述业务密钥对所述加密后的第一会话密钥进行解密,得到所述第一会话密钥,并使用所述第一会话密钥对所述加密后的第一模型和模型参数进行解密,得到所述第一模型和所述模型参数,基于所述第一模型和所述模型参数对目标业务进行业务处理。
本说明书实施例提供的一种模型的处理设备,所述模型的处理设备设置有可信执行环境,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:获取待保护的第一模型和所述第一模型的模型参数,并基于与待部署所述第一模型的终端设备具有的相同通道建立规则,与所述终端设备之间建立安全通道。通过所述安全通道将业务密钥和所述业务密钥的标识发送给所述终端设备,所述业务密钥和所述业务密钥的标识用于触发所述终端设备将所述业务密钥和所述业务密钥的标识存储于所述终端设备的可信执行环境中。为所述第一模型生成第一会话密钥,并使用所述第一会话密钥对所述第一模型和所述模型参数进行加密处理,并使用所述业务密钥对所述第一会话密钥进行加密处理,并将加密后的第一模型和模型参数,以及加密后的第一会话密钥和所述业务密钥的标识发送至所述终端设备的可信执行环境中,所述加密后的第一会话密钥和所述业务密钥的标识用于触发所述终端设备在所述可信执行环境中对所述加密后的第一会话密钥进行解密,得到所述第一会话密钥,并使用所述第一会话密钥对所述加密后的第一模型和模型参数进行解密,得到所述第一模型和所述模型参数,以基于所述第一模型和所述模型参数对目标业务进行业务处理。
本说明书实施例提供的一种模型的处理设备,所述设备为区块链系统的设备,所述模型的处理设备设置有可信执行环境,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:基于与部署第一模型的服务器具有的相同通道建立规则,与所述服务器之间建立安全通道。通过所述安全通道接收所述服务器发送的业务密钥和所述业务密钥的标识,并将所述业务密钥和所述业务密钥的标识存储于所述可信执行环境中。通过所述可信执行环境接收所述服务器发送的加密后的第一模型和模型参数,以及加密后的第一会话密钥和所述业务密钥的标识,所述加密后的第一模型和模型参数是所述服务器使用为所述第一模型生成的第一会话密钥对所述第一模型和所述模型参数进行加密处理后得到,所述加密后的第一会话密钥是所述服务器使用所述业务密钥对所述第一会话密钥进行加密处理后得到。在所述可信执行环境中,通过所述业务密钥的标识获取所述业务密钥,使用所述业务密钥对所述加密后的第一会话密钥进行解密,得到所述第一会话密钥,并使用所述第一会话密钥对所述加密后的第一模型和模型参数进行解密,得到所述第一模型和所述模型参数,基于所述第一模型和所述模型参数对目标业务进行业务处理。
本说明书实施例还提供了一种存储介质,其中,所述存储介质用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:获取待保护的第一模型和所述第一模型的模型参数,并基于与待部署所述第一模型的终端设备具有的相同通道建立规则,与所述终端设备之间建立安全通道。通过所述安全通道将业务密钥和所述业务密钥的标识发送给所述终端设备,所述业务密钥和所述业务密钥的标识用于触发所述终端设备将所述业务密钥和所述业务密钥的标识存储于所述终端设备的可信执行环境中。为所述第一模型生成第一会话密钥,并使用所述第一会话密钥对所述第一模型和所述模型参数进行加密处理,并使用所述业务密钥对所述第一会话密钥进行加密处理,并将加密后的第一模型和模型参数,以及加密后的第一会话密钥和所述业务密钥的标识发送至所述终端设备的可信执行环境中,所述加密后的第一会话密钥和所述业务密钥的标识用于触发所述终端设备在所述可信执行环境中对所述加密后的第一会话密钥进行解密,得到所述第一会话密钥,并使用所述第一会话密钥对所述加密后的第一模型和模型参数进行解密,得到所述第一模型和所述模型参数,以基于所述第一模型和所述模型参数对目标业务进行业务处理。
本说明书实施例还提供了一种存储介质,其中,所述存储介质用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:基于与部署第一模型的服务器具有的相同通道建立规则,与所述服务器之间建立安全通道。通过所述安全通道接收所述服务器发送的业务密钥和所述业务密钥的标识,并将所述业务密钥和所述业务密钥的标识存储于所述可信执行环境中。通过所述可信执行环境接收所述服务器发送的加密后的第一模型和模型参数,以及加密后的第一会话密钥和所述业务密钥的标识,所述加密后的第一模型和模型参数是所述服务器使用为所述第一模型生成的第一会话密钥对所述第一模型和所述模型参数进行加密处理后得到,所述加密后的第一会话密钥是所述服务器使用所述业务密钥对所述第一会话密钥进行加密处理后得到。在所述可信执行环境中,通过所述业务密钥的标识获取所述业务密钥,使用所述业务密钥对所述加密后的第一会话密钥进行解密,得到所述第一会话密钥,并使用所述第一会话密钥对所述加密后的第一模型和模型参数进行解密,得到所述第一模型和所述模型参数,基于所述第一模型和所述模型参数对目标业务进行业务处理。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1A为本说明书一种模型的处理方法实施例;
图1B为本说明书一种模型的处理过程示意图;
图2为本说明书一种终端设备中的执行环境的示意图;
图3A为本说明书另一种模型的处理过程示意图;
图3B为本说明书又一种模型的处理过程示意图;
图4A为本说明书另一种模型的处理方法实施例;
图4B为本说明书又一种模型的处理过程示意图;
图5为本说明书又一种模型的处理过程示意图;
图6为本说明书又一种模型的处理过程示意图;
图7为本说明书一种模型的处理装置实施例;
图8为本说明书另一种模型的处理装置实施例;
图9为本说明书一种模型的处理设备实施例。
具体实施方式
本说明书实施例提供一种模型的处理方法、装置及设备。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
实施例一
如图1A和图1B所示,本说明书实施例提供一种模型的处理方法,该方法的执行主体可以为服务器,该服务器可以是独立的一个服务器,还可以是由多个服务器构成的服务器集群等,该服务器可以是如金融业务或网络购物业务等的后台服务器,也可以是某应用程序的后台服务器等。该方法具体可以包括以下步骤:
在步骤S102中,获取待保护的第一模型和第一模型的模型参数,并基于与待部署第一模型的终端设备具有的相同通道建立规则,与终端设备之间建立安全通道。
其中,第一模型可以是针对某业务的相关模型,可以基于不同的业务构建不同的模型,例如,第一模型可以是用于进行信息推荐的模型或者是该模型中部分网络层构成的子模型,或者,第一模型可以是用于对该金融体系进行风险防控的模型或者是该模型中部分网络层构成的子模型,或者,第一模型可以是用于对某商品的销量进行预测的模型或者是该模型中部分网络层构成的子模型等。第一模型可以包括多种,不同的业务模型可以通过不同的方式构建,例如,可以通过分类算法构建用于进行信息推荐的第一模型,或者,可以通过卷积神经网络算法构建用于对金融体系进行风险防控的第一模型等。第一模型的模型参数可以根据第一模型的不同而不同,模型参数可以包括如某权重、系数或某向量等,本实施例中的模型参数还可以包括如权重Weights参数和/或偏移Bias参数等。终端设备可以如手机、平板电脑等移动终端设备,也可以如个人计算机等设备,还可以如智能手表、智能手环等设备。通道建立规则可以包括多种,终端设备与服务器之间可以设立该通道建立规则,通道建立规则可以如终端设备或服务器基于该通道建立规则生成认证请求,该认证请求中包括认证密码,可以将该认证请求发送给另一方,另一方可以对该认证请求中的认证密码进行验证,如果验证通过,则可以基于该通道建立规则生成认证请求,该认证请求中包括认证密码,可以将该认证请求发送给另一方,另一方可以对该认证请求中的认证密码进行验证,如果验证通过,则可以建立相应的安全通道等。
在实施中,当前,很多企业或组织以私有云的方式将其某些业务的模型部署到本地,此方式中的模型的模型结构和相关数据极易被攻击者窃取,而模型(如人脸识别模型等)通常是该企业或组织的核心资产,一旦模型被泄露,不但会暴露隐藏在该模型中的用户隐私数据,而且还会给企业或组织造成难以估量的损失。目前对模型的保护手段异常薄弱,例如,通常可以采用固定密码进行加密的方式对模型的传输进行保护,但此方式下,只需找到解密点进行hook处理,就可以很容易的通过如dump内存的方式窃取到模型的模型结构和相关数据。为此,需要提供一种在数据传输的过程能够更有效的保护模型的模型结构和相关数据,以防止被恶意攻击者窃取的技术方案。本说明书实施例中提供一种可实现的技术方案,具体可以包括以下内容:
可以基于可信执行环境的安全隔离环境来保护某模型(可以如深度学习模型等,例如,神经网络模型、残差网络模型、决策树模型或生成式对抗网络模型等),可以将该模型分成主干子模型和需要被保护的子模型,其中,被保护的子模型需要在终端设备侧的可信执行环境内完成模型的推理运算,这样,不仅要有效保护被保护的子模型和模型参数,以及模型运算在一个安全的隔离环境中,其传输过程中的安全性也尤为重要。具体地,被保护的子模型在可信执行环境中执行时,被保护的子模型和被保护的子模型的算子执行时需要的weight和bias等模型参数都需要从服务器中进行加密处理,然后传输到终端设备的可信执行环境中,其中,可以采用服务器与终端设备之间协商密钥的方式来确保模型数据的安全传输,但这种方式下,一旦协商的密钥泄露将导致模型数据泄露,从而给企业或组织造成难以估量的损失,例如,人脸识别模型中,其密钥被固化在可信执行环境中,而且固化的密钥也很难进行更新,该密钥一旦被泄露将影响所有部署该密钥的设备,直接影响业务的正常使用。为此,可以再提供一种可实现的技术方案,具体可以包括以下内容:
模型在处理业务数据时,随着对业务数据处理的不断深入,模型中越是靠后的数据处理越是复杂或机密性越强,而模型中越是靠前的数据处理越是基础的或机密性较低的处理,如对业务数据进行向量化或对业务数据进行特征提取等处理,由于数据的向量化处理和数据的特征提取通常是较常用的数据处理手段,其具体处理方式和过程包括多种,因此,上述处理可以是很容易实现的处理,而对于得到向量化的数据或提取的特征之后的处理方式和处理过程则可以是机密性越强的处理,可以是需要保护的部分(可以称为私有部分)。不同的模型可以分为公共部分和私有部分,私有部分为企业或组织的该模型中的需要保护的模型结构或相关数据所在的子模型。基于此,可以根据实际业务的要求或根据实际情况,将该模型进行分割,从而得到分割出的多个不同的部分。在实际应用中,也可以根据目标业务的要求或根据实际情况,预先设定目标业务对应的模型保护规则,该模型保护规则中可以记载有模型中需要保护的模型参数和模型架构等信息,因此,也可以基于上述模型保护规则对该模型进行分割,从而分割出多个不同的部分。其中分割出的各部分子模型经过拼接可以得到完整的模型,此外,排列在前的子模型的输出数据可以作为分割出的该子模型之后的一个子模型的输入数据,可以将模型分割为多个部分,如两个部分或三个部分等,可以在其中选择需要保护的部分。此外,在实际应用中,还可以将整个模型作为需要保护的部分,即可以将某模型的一部分(如模型的最后3个网络层或最后的5个网络层等)构成的子模型作为需要保护的第一模型,也可以将某模型作为需要保护的第一模型等,具体可以根据实际情况设定,本说明书实施例对此不做限定。
当需要部署第一模型或需要将第一模型提供给终端设备进行推理运算时,可以获取上述设定的需要保护的第一模型,并可以获取第一模型的模型参数等相关数据。同时,服务器可以向需要接收该第一模型的终端设备发送通道建立规则,这样,终端设备和服务器具有相同的通道建立规则。此外,考虑到终端设备中往往会设置有可信执行环境,而可信执行环境作为终端设备中的安全隔离环境,可以与终端设备中的其它环境相隔离,从而保证可信执行环境中数据的安全,基于此,可以将需要保护模型架构和相关数据的第一模型设置于可信执行环境运行,基于此,可以建立服务器与终端设备(即实际是终端设备的可信执行环境)之间的安全通道,具体地,基于该通道建立规则可以生成相同或相匹配的密钥(或密码)等相关数据,然后,服务器和终端设备可以通过相同的通道建立规则,利用服务器和终端设备具有相同生成会话密钥和认证密码等信息,进而通过验证认证密码来认证终端设备或终端设备的可信执行环境,终端设备或终端设备的可信执行环境也可以使用类似的过程对服务器进行认证,双方认证通过后,可以更新安全通道的密钥(即安全通道密钥),从而完成服务器与终端设备(或终端设备的可信执行环境)的双向认证,进而终端设备(即终端设备的可信执行环境)与服务器之间的安全通道(后续出现的终端设备与服务器之间的安全通道,在无特别说明的情况下,均是指终端设备的可信执行环境与服务器之间的安全通道)建立。
其中,上述涉及的可信执行环境可以是安全并与其它环境相隔离的数据处理环境,即在可信执行环境中执行的处理,以及数据处理的过程中产生的数据等无法被可执行环境外的其它执行环境或应用程序所访问。如图2所示,可信执行环境可以通过创建一个可以在可信区域(如TrustZone等)中独立运行的小型操作系统实现,可信执行环境可以以系统调用(如由TrustZone内核直接处理)的方式直接提供的服务。设备中可以包括REE(通用执行环境)和可信执行环境,REE下可以运行终端设备安装的操作系统,如Android操作系统、iOS操作系统、Windows操作系统、Linux操作系统等,REE的特点可包括如功能强大,开放性和扩展性较好等,可以为上层应用程序提供该设备的所有功能,比如摄像功能,触控功能等,但是,REE中存在很多安全隐患,例如,操作系统可以获得某应用程序的所有数据,但很难验证该操作系统或该应用程序是否被篡改,如果被篡改,则用户的信息将存在很大的安全隐患,针对于此,就需要设备中的可信执行环境进行处理。可信执行环境具有其自身的执行空间,也即是在可信执行环境下也存在一个操作系统,可信执行环境比REE的安全级别更高,可信执行环境所能访问的该设备中的软件和硬件资源是与REE分离的,但可信执行环境可以直接获取REE的信息,而REE不能获取可信执行环境的信息。可信执行环境可以通过提供的接口来进行验证等处理,从而保证用户信息(如支付信息、用户隐私信息等)不会被篡改、密码不会被劫持。
在步骤S104中,通过安全通道将业务密钥和业务密钥的标识发送给终端设备,该业务密钥和业务密钥的标识用于触发终端设备将业务密钥和业务密钥的标识存储于终端设备的可信执行环境中。
其中,业务密钥可以是根据不同的业务而生成的密钥,不同的业务,相应的业务密钥可以不同,业务密钥可以是根据设定的周期生成新的业务密钥,也可以不定期生成新的业务密钥,还可以根据设定的触发条件而生成新的业务密钥等,具体可以根据实际情况设定。此外,本实施例中涉及的业务密钥可以包含一个密钥,该密钥既可以对某数据进行加密处理,也可以使用该密钥对经过该密钥加密处理的数据进行解密处理而得到解密的该数据,或者,业务密钥也可以包含一个密钥对,该密钥对中可以包括用于加密的密钥和用于解密的密钥,具体如,该密钥对可以包括公钥和私钥等,此外,业务密钥还可以是一个密钥集合,该密钥集合中可以包括2个以上的密钥,该密钥集合中的密钥之间可以相互关联,并具有指定的关联关系等,具体可以根据实际情况设定,本说明书实施例对此不做限定。业务密钥的标识可以是业务密钥的名称、编码等信息,具体可以根据实际情况设定。
在实施中,为了保证数据传输的安全性,可以通过上述方式在终端设备与服务器之间建立安全通道,通过安全通道传输密钥等信息,确保密钥等信息在传输过程中的安全性。具体地,服务器可以基于通道建立规则生成针对当前执行的业务(可以根据第一模型的作用或用途确定第一模型所应用的业务,可以将确定的该业务作为当前执行的业务)或当前的第一模型的业务密钥和业务密钥的标识,其中,业务密钥和业务密钥的标识可以是在安全通道建立后生成,也可以是在需要将待保护的第一模型和其模型参数提供给终端设备时生成,具体可以根据实际情况设定。然后,可以通过安全通道将业务密钥和业务密钥的标识发送给终端设备。终端设备接收到业务密钥和业务密钥的标识后,可以将业务密钥和业务密钥的标识进行加密处理,并可以通过终端设备的REE将加密后的业务密钥和业务密钥的标识传递至可信执行环境中,或者,可以通过安全通道直接将业务密钥和业务密钥的标识发送至终端设备的可信执行环境中,或者,终端设备接收到业务密钥和业务密钥的标识后,可以使用预先设定的可信应用将业务密钥和业务密钥的标识传递至可信执行环境中等,具体可以根据实际情况设定。之后,可以在可信执行环境中将加密后的业务密钥和业务密钥的标识进行解密处理,得到业务密钥和业务密钥的标识,可以将业务密钥和业务密钥的标识存储于可信执行环境中。
其中,上述涉及的可信应用可以是预先设定的、具体向可信执行环境传递数据的权限的应用,该可信应用可以是需要安装在终端设备中的应用程序,也可以是预先植入终端设备某硬件设备中的代码程序,还可以是以插件的形式设置于终端设备的操作系统的后台运行的程序等,可信应用可以是具有指定权限的部件或组件(如可信执行环境对应的组件或中央处理器等)才能够调用的应用,具体可以根据实际情况设定。
在步骤S106中,为第一模型生成第一会话密钥,并使用第一会话密钥对第一模型和模型参数进行加密处理,并使用业务密钥对第一会话密钥进行加密处理,并将加密后的第一模型和模型参数,以及加密后的第一会话密钥和业务密钥的标识发送至终端设备的可信执行环境中,加密后的第一会话密钥和业务密钥的标识用于触发终端设备在可信执行环境中对加密后的第一会话密钥进行解密,得到第一会话密钥,并使用第一会话密钥对加密后的第一模型和模型参数进行解密,得到第一模型和模型参数,以基于第一模型和模型参数对目标业务进行业务处理。
其中,第一会话密钥可以是针对终端设备与服务器之间当前进行的交互而生成的密钥,第一会话密钥可以用于对待保护的模型和其模型参数进行加密处理等。本实施例中涉及的第一会话密钥可以包含一个密钥,该密钥既可以对某数据进行加密处理,也可以使用该密钥对经过该密钥加密处理的数据进行解密处理而得到解密的该数据,或者,第一会话密钥也可以包含一个密钥对,该密钥对中可以包括用于加密的密钥和用于解密的密钥,具体如,该密钥对可以包括公钥和私钥等,此外,第一会话密钥还可以是一个密钥集合,该密钥集合中可以包括2个以上的密钥,该密钥集合中的密钥之间可以相互关联,并具有指定的关联关系等,此外,为了保证数据的安全性,会话密钥可以预先限定使用次数,如只能使用一次等,或者,可以为会话密钥设定使用时长,如3分钟或5分钟等,具体可以根据实际情况设定,本说明书实施例对此不做限定。目标业务对应的应用可以是预先设定的、可以用于在业务模型的不同部分之间进行数据传递,且具体向可信执行环境传递数据的权限的应用,目标业务对应的应用可以是需要安装在终端设备中的应用程序,也可以是预先植入终端设备某硬件设备中的代码程序,还可以是以插件的形式设置于终端设备的操作系统的后台运行的程序等,目标业务对应的应用可以是具有指定权限的部件或组件(如可信执行环境对应的组件或中央处理器等)才能够调用的应用,具体可以根据实际情况设定。
在实施中,可以为第一模型生成第一会话密钥,其中,第一会话密钥的生成方式可以是通过随机的方式生成,这样,既可以保证生成的第一会话密钥的安全性,也可以动态的生成第一会话密钥。此外,不同的模型可以生成不同的会话密钥,不同的时刻也可以生成不同的会话密钥,从而保证密钥是动态变化的,提高会话密钥的安全性,以及被加密的数据的安全性。可以使用第一会话密钥对第一模型和模型参数进行加密处理,得到加密后的第一模型和加密后的模型参数。另外,为了使得终端设备能够对第一模型和该模型参数进行解密,可以使用业务密钥对第一会话密钥进行加密处理,得到加密后的第一会话密钥,之后,可以获取业务密钥的标识,可以将加密后的第一模型、加密后的模型参数、加密后的第一会话密钥和业务密钥的标识发送至终端设备的可信执行环境中。
终端设备接收到加密后的第一模型、加密后的模型参数、加密后的第一会话密钥和业务密钥的标识后,可以在可信执行环境中,通过该业务密钥的标识,从预先存储的业务密钥的标识与业务密钥中获取该业务密钥的标识对应的业务密钥,可以使用获取的业务密钥对加密后的第一会话密钥进行解密处理,得到第一会话密钥。然后,可以使用该第一会话密钥对加密后的第一模型进行解密处理,得到第一模型,同时,可以使用第一会话密钥对加密后的模型参数进行解密处理,得到模型参数,这样,可信执行环境中包含了第一模型和第一模型的模型参数。当获取到第一模型的输入数据后,可以将该输入数据安全的传递至可信执行环境中,在可信执行环境中,可以将该输入数据输入到第一模型中,通过第一模型和该模型参数对输入数据进行处理,得到第一模型的输出数据,可以基于该输出数据继续后续相关处理。
本说明书实施例提供一种模型的处理方法,应用于服务器,通过获取待保护的第一模型和第一模型的模型参数,并基于与待部署第一模型的终端设备具有的相同通道建立规则,与终端设备之间建立安全通道,通过安全通道将业务密钥和业务密钥的标识发送给终端设备,以使终端设备将业务密钥和业务密钥的标识存储于可信执行环境中,为第一模型生成第一会话密钥,并使用第一会话密钥对第一模型和模型参数进行加密处理,并使用业务密钥对第一会话密钥进行加密处理,并将加密后的第一模型和模型参数,以及加密后的第一会话密钥和业务密钥的标识发送至可信执行环境中,以使终端设备获取第一模型和模型参数,这样,在服务端和终端设备可信执行环境之间构建了一条安全通道,通过安全通道服务端可更新与目标业务相关的密钥到终端设备的可信执行环境中,从而提高了模型传输的效率和灵活性,并且提高模型传输过程中的安全性,避免了密钥固化带来的密钥更新困难的问题,此外,即使出现模型保护的相关密钥泄露的情况,也不会导致不可恢复,业务不可用的境地,能做到及时止损,提升模型等高知识产权资产的安全性。
实施例二
如图3A所示,本说明书实施例提供一种模型的处理方法,该方法的执行主体可以为服务器,该服务器可以是独立的一个服务器,还可以是由多个服务器构成的服务器集群等,该服务器可以是如金融业务或网络购物业务等的后台服务器,也可以是某应用程序的后台服务器等。该方法具体可以包括以下步骤:
在步骤S302中,获取待保护的第一模型和第一模型的模型参数,并基于与待部署第一模型的终端设备具有的相同通道建立规则,与终端设备之间建立安全通道。
其中,第一模型可以为预先训练的目标模型中的部分网络层(如上所述的最后3个网络层或最后5个网络层等)构建的子模型,该子模型可以包含隐私的信息或需要保密的信息等。或者,第一模型为目标模型等。
上述步骤S302的具体处理过程可以参见上述实施例中的相关内容,在此不再赘述。
在步骤S304中,生成安全通道密钥。
其中,安全通道密钥可以包含一个密钥,该密钥既可以对某数据进行加密处理,也可以使用该密钥对经过该密钥加密处理的数据进行解密处理而得到解密的该数据,或者,安全通道密钥也可以包含一个密钥对,该密钥对中可以包括用于加密的密钥和用于解密的密钥,具体如,该密钥对可以包括公钥和私钥等,此外,安全通道密钥还可以是一个密钥集合,该密钥集合中可以包括2个以上的密钥,该密钥集合中的密钥之间可以相互关联,并具有指定的关联关系等,具体可以根据实际情况设定,本说明书实施例对此不做限定。
在实施中,如图3B所示,当安全通道建立后,即可以生成该安全通道的安全通道密钥,生成的安全通道密钥可以分别设置于服务器中和终端设备中。安全通道密钥生成后,可以不需要经常性的进行更新,也可以在必要的时候进行更新,此外,如果安全通道被撤销,则服务器和终端设备可以将其存储的安全通道密钥删除或将安全通道密钥设置为无效状态等,具体可以根据实际情况设定,本说明书实施例对此不做限定。
在实际应用中,还可以周期性或触发条件式的更新安全通道密钥,具体可以参见下述内容:当到达预设周期或检测到预先存储的安全通道密钥存在风险时,生成安全通道密钥,并使用生成的安全通道密钥更新预先存储的安全通道密钥和终端设备中存储的安全通道密钥。
其中,预设周期可以根据实际情况设定,具体如5分钟或10分钟等。安全通道密钥存在的风险可以包括安全通道密钥存在泄露风险、安全通道存在漏洞风险等,具体可以根据实际情况设定,本说明书实施例对此不做限定。
在步骤S306中,使用安全通道密钥对业务密钥和业务密钥的标识进行加密处理,得到加密后的业务密钥和加密后的标识。
在步骤S308中,通过安全通道将加密后的业务密钥和加密后的标识发送给终端设备,加密后的业务密钥和加密后的标识用于触发终端设备对加密后的业务密钥和加密后的标识进行解密处理,得到业务密钥和业务密钥的标识,并将业务密钥和业务密钥的标识存储于终端设备的可信执行环境中。
在实施中,如图3B所示,可以将加密后的业务密钥和加密后的标识直接发送至终端设备的可信执行环境中,并可以在可信执行环境中通过安全通道密钥对加密后的业务密钥和加密后的标识进行解密处理,得到业务密钥和业务密钥的标识,将业务密钥和业务密钥的标识存储于终端设备的可信执行环境中。或者,可以将加密后的业务密钥和加密后的标识发送给终端设备,终端设备通过REE将加密后的业务密钥和加密后的标识发送至可信执行环境中,并可以在可信执行环境中通过安全通道密钥对加密后的业务密钥和加密后的标识进行解密处理,得到业务密钥和业务密钥的标识,将业务密钥和业务密钥的标识存储于终端设备的可信执行环境中,或者,可以将加密后的业务密钥和加密后的标识发送给终端设备,终端设备通过预设的可信应用将加密后的业务密钥和加密后的标识发送至可信执行环境中,并可以在可信执行环境中通过安全通道密钥对加密后的业务密钥和加密后的标识进行解密处理,得到业务密钥和业务密钥的标识,将业务密钥和业务密钥的标识存储于终端设备的可信执行环境中等,具体可以根据实际情况设定。
在步骤S310中,为第一模型生成第一会话密钥,并使用第一会话密钥对第一模型和模型参数进行加密处理,并使用业务密钥对第一会话密钥进行加密处理,并将加密后的第一模型和模型参数,以及加密后的第一会话密钥和业务密钥的标识发送至终端设备的可信执行环境中,加密后的第一会话密钥和业务密钥的标识用于触发终端设备在可信执行环境中对加密后的第一会话密钥进行解密,得到第一会话密钥,并使用第一会话密钥对加密后的第一模型和模型参数进行解密,得到第一模型和模型参数,以基于第一模型和模型参数对目标业务进行业务处理。
上述步骤S310的具体处理可以参见上述实施例中的相关内容,此外,终端设备得到解密后的第一模型和模型参数后,可以预先基于不同的模型设置对应的转换规则或转换算法,该转换规则或转换算法可以包括多种,具体可以根据实际情况设定,本说明书实施例对此不做限定。为了将第一模型设置于可信执行环境中,可以获取第一模型对应的转换规则或转换算法,可以通过获取的转换规则或转换算法对第一模型进行转换,从而可以将其转换为能够在可信执行环境中运行的数据。具体地,将第一模型转换为能够在可信执行环境中运行的预设类型的数据。其中的预设类型包括图Graph文件类型、参数类型中的一种或多种。此外,为了方便可信执行环境能够高效的执行被保护的第一模型,还可以在可信执行环境中设置参数索引表,具体可以通过以下方式处理:如果预设类型包括参数类型,则可以基于转换后的该参数类型的数据,生成相应的参数索引信息,然后,将该参数索引信息设置于可信执行环境中,具体如图2所示,可以通过预设的解析工具对第一模型进行解析,以将第一模型解析成能够在可信执行环境的轻量型AI执行引擎Nano Framework中直接运行的图Graph文件、参数等类型的数据,并可以在可信执行环境中构建相应的参数索引表,从而后续可以便于将第一模型设置于可信执行环境中,并使得第一模型能够在可信执行环境中运行。
当终端设备在可信执行环境中基于第一模型和模型参数进行目标业务处理时,可以通过下述步骤S312~步骤S316的处理实现。
在步骤S312中,接收终端设备发送的使用随机生成的第二会话密钥对输出数据进行加密处理后的经过加密处理的输出数据和通过业务密钥对第二会话密钥进行加密处理后的第二会话密钥,以及业务密钥的标识,该输出数据是终端设备接收到第一模型的输入数据时,将输入数据输入到第一模型中,通过第一模型和模型参数对输入数据进行处理后输出的数据。
其中,第二会话密钥可以与第一会话密钥相同,也可以与第一会话密钥不同,具体可以根据实际情况设定,第二会话密钥可以包含一个密钥,该密钥既可以对某数据进行加密处理,也可以使用该密钥对经过该密钥加密处理的数据进行解密处理而得到解密的该数据,或者,第二会话密钥也可以包含一个密钥对,该密钥对中可以包括用于加密的密钥和用于解密的密钥,具体如,该密钥对可以包括公钥和私钥等,此外,第二会话密钥还可以是一个密钥集合,该密钥集合中可以包括2个以上的密钥,该密钥集合中的密钥之间可以相互关联,并具有指定的关联关系等,此外,为了保证数据的安全性,第二会话密钥可以预先限定使用次数,如只能使用一次等,或者,可以为第二会话密钥设定使用时长,如3分钟或5分钟等,具体可以根据实际情况设定,本说明书实施例对此不做限定。
在实施中,如图3B所示,终端设备获取到第一模型的输入数据后,可以将输入数据输入到第一模型中,通过第一模型和模型参数对输入数据进行处理,得到第一模型的输出数据,为了保证输出数据在传输过程中的安全性,可以生成第二会话密钥,并使用第二会话密钥对输出数据进行加密处理,得到经过加密处理的输出数据,然后,可以使用业务密钥对第二会话密钥进行加密处理,得到加密后的第二会话密钥,可以将加密后的第二会话密钥、加密后的输出数据和业务密钥的标识发送给服务器,服务器可以接收上述信息。
在步骤S314中,基于业务密钥的标识获取业务密钥,并基于业务密钥对第二会话密钥进行解密处理,得到第二会话密钥。
在步骤S316中,基于第二会话密钥对经过加密处理的输出数据进行解密处理,并基于解密的数据确定相应的输出数据。
在实施中,可以将解密出的数据作为该输出数据。
此外,对于经过加密处理的输出数据是通过预设的业务身份密钥对该输出数据进行签名处理,得到签名数据,并通过第二会话密钥对该签名数据进行加密处理后得到的情况下,下述步骤S316的具体处理还可以通过下述步骤A2和步骤A4实现。
在步骤A2中,基于第二会话密钥对经过加密处理的输出数据进行解密处理,得到签名数据。
在步骤A4中,基于业务身份密钥对该签名数据进行验签处理,如果验签结果为通过,则获取输出数据。
其中,业务身份密钥可以是用于进行签名的密钥,业务身份密钥可以包括多种,具体可以根据实际情况设定。业务身份密钥可以包含一个密钥,该密钥既可以对某数据进行签名处理,也可以使用该密钥对经过该密钥签名处理的数据进行验签处理而得到验签结果,或者,业务身份密钥也可以包含一个密钥对,该密钥对中可以包括用于签名的密钥和用于验签的密钥,具体如,该密钥对可以包括公钥和私钥等,此外,业务身份密钥还可以是一个密钥集合,该密钥集合中可以包括2个以上的密钥,该密钥集合中的密钥之间可以相互关联,并具有指定的关联关系等,具体可以根据实际情况设定,本说明书实施例对此不做限定。
本说明书实施例提供一种模型的处理方法,应用于服务器,通过获取待保护的第一模型和第一模型的模型参数,并基于与待部署第一模型的终端设备具有的相同通道建立规则,与终端设备之间建立安全通道,通过安全通道将业务密钥和业务密钥的标识发送给终端设备,以使终端设备将业务密钥和业务密钥的标识存储于可信执行环境中,为第一模型生成第一会话密钥,并使用第一会话密钥对第一模型和模型参数进行加密处理,并使用业务密钥对第一会话密钥进行加密处理,并将加密后的第一模型和模型参数,以及加密后的第一会话密钥和业务密钥的标识发送至可信执行环境中,以使终端设备获取第一模型和模型参数,这样,在服务端和终端设备可信执行环境之间构建了一条安全通道,通过安全通道服务端可更新与目标业务相关的密钥到终端设备的可信执行环境中,从而提高了模型传输的效率和灵活性,并且提高模型传输过程中的安全性,避免了密钥固化带来的密钥更新困难的问题,此外,即使出现模型保护的相关密钥泄露的情况,也不会导致不可恢复,业务不可用的境地,能做到及时止损,提升模型等高知识产权资产的安全性。
实施例三
如图4A和4B所示,本说明书实施例提供一种模型的处理方法,该方法的执行主体可以为终端设备,终端设备可以如手机、平板电脑等移动终端设备,还可以如个人计算机等设备。该终端设备中包括可信执行环境,该可信执行环境可以是TEE,该可信执行环境可以通过预定的编程语言编写的程序来实现(即可以是以软件的形式实现),也可以通过硬件设备和预先编写的程序共同实现(即可以是以硬件+软件的形式实现)等,该可信执行环境可以为进行数据处理的安全运行环境。该方法具体可以包括以下步骤:
在步骤S402中,基于与部署第一模型的服务器具有的相同通道建立规则,与服务器之间建立安全通道。
在步骤S404中,通过安全通道接收服务器发送的业务密钥和业务密钥的标识,并将业务密钥和业务密钥的标识存储于可信执行环境中。
在步骤S406中,通过可信执行环境接收服务器发送的加密后的第一模型和模型参数,以及加密后的第一会话密钥和业务密钥的标识,加密后的第一模型和模型参数是服务器使用为第一模型生成的第一会话密钥对第一模型和模型参数进行加密处理后得到,加密后的第一会话密钥是服务器使用业务密钥对第一会话密钥进行加密处理后得到。
在步骤S408中,在可信执行环境中,通过业务密钥的标识获取业务密钥,使用业务密钥对加密后的第一会话密钥进行解密,得到第一会话密钥,并使用第一会话密钥对加密后的第一模型和模型参数进行解密,得到第一模型和模型参数,基于第一模型和模型参数对目标业务进行业务处理。
上述步骤S402~步骤S408的处理可以参见前述相关内容,在此不再赘述。
本说明书实施例提供一种模型的处理方法,应用于终端设备,通过服务器获取待保护的第一模型和第一模型的模型参数,并基于与待部署第一模型的终端设备具有的相同通道建立规则,与终端设备之间建立安全通道,通过安全通道将业务密钥和业务密钥的标识发送给终端设备,以使终端设备将业务密钥和业务密钥的标识存储于可信执行环境中,为第一模型生成第一会话密钥,并使用第一会话密钥对第一模型和模型参数进行加密处理,并使用业务密钥对第一会话密钥进行加密处理,并将加密后的第一模型和模型参数,以及加密后的第一会话密钥和业务密钥的标识发送至可信执行环境中,以使终端设备获取第一模型和模型参数,这样,在服务端和终端设备可信执行环境之间构建了一条安全通道,通过安全通道服务端可更新与目标业务相关的密钥到终端设备的可信执行环境中,从而提高了模型传输的效率和灵活性,并且提高模型传输过程中的安全性,避免了密钥固化带来的密钥更新困难的问题,此外,即使出现模型保护的相关密钥泄露的情况,也不会导致不可恢复,业务不可用的境地,能做到及时止损,提升模型等高知识产权资产的安全性。
实施例四
如图5所示,本说明书实施例提供一种模型的处理方法,该方法的执行主体可以为终端设备,终端设备可以如手机、平板电脑等移动终端设备,还可以如个人计算机等设备。该终端设备中包括可信执行环境,该可信执行环境可以是TEE,该可信执行环境可以通过预定的编程语言编写的程序来实现(即可以是以软件的形式实现),也可以通过硬件设备和预先编写的程序共同实现(即可以是以硬件+软件的形式实现)等,该可信执行环境可以为进行数据处理的安全运行环境。该方法具体可以包括以下步骤:
在步骤S502中,基于与部署第一模型的服务器具有的相同通道建立规则,与服务器之间建立安全通道。
在步骤S504中,生成安全通道密钥。
上述步骤S502和步骤S504的具体处理,可以参见上述相关内容,在此不再赘述。
在实际应用中,还可以通过下述方式对安全通道密钥进行更新,具体可以包括以下内容:当到达预设周期或检测到预先存储的安全通道密钥存在风险时,生成安全通道密钥,并使用生成的安全通道密钥更新预先存储的安全通道密钥和服务器中存储的安全通道密钥。
在步骤S506中,通过安全通道接收服务器发送的通过安全通道密钥加密处理后的业务密钥和业务密钥的标识,通过安全通道密钥对加密处理后的业务密钥和业务密钥的标识进行解密处理,得到业务密钥和业务密钥的标识,并将业务密钥和业务密钥的标识存储于可信执行环境中。
在步骤S508中,通过可信执行环境接收服务器发送的加密后的第一模型和模型参数,以及加密后的第一会话密钥和业务密钥的标识,加密后的第一模型和模型参数是服务器使用为第一模型生成的第一会话密钥对第一模型和模型参数进行加密处理后得到,加密后的第一会话密钥是服务器使用业务密钥对第一会话密钥进行加密处理后得到。
在步骤S510中,在可信执行环境中,通过业务密钥的标识获取业务密钥,使用业务密钥对加密后的第一会话密钥进行解密,得到第一会话密钥,并使用第一会话密钥对加密后的第一模型和模型参数进行解密,得到第一模型和模型参数。
上述步骤S506~步骤S508的处理可以参见前述相关内容,在此不再赘述。
在步骤S512中,获取目标业务的业务数据。
在步骤S514中,当基于业务数据确定第一模型的输入数据时,将输入数据传递至可信执行环境中。
在实施中,如果第一模型为一个完整的模型,则可以将该业务数据确定为输入数据,如果第一模型为某模型中的部分网络层构成的子模型,则可以将业务数据输入到该模型中除第一模型对应的子模型的网络层之外的网络层构建的子模型中,得到相应的输出数据,可以将该输出数据作为第一模型的输入数据,然后,可以将输入数据传递至可信执行环境中。
在步骤S516中,在可信执行环境中,将输入数据输入到第一模型中,基于第一模型和模型参数对输入数据进行处理,得到相应的输出数据。
在实施中,如图2和图3B所示,可信执行环境内AI执行引擎Nano Framework执行第一模型的相关运算时,与CA(Client Application,客户端应用)对应的TA(TrustedApplication,可信应用)会根据参数索引表检索相应的数据,以向AI执行引擎NanoFramework中的相应算子提供其执行时需要的数据。可信执行环境的AI执行引擎NanoFramework调用对应的算子库执行相应的算子,并由TA提供相应的输入数据,执行完成后,输出数据可以保存在可信执行环境中。
通过上述处理,可以有效地保护组织或机构私有部分的第一模型的模型结构和模型参数不被攻击者窃取,最后输出结果也不会处于可信执行环境之外,这样很好地防止模型提取攻击和模型逆向攻击,保证了业务处理和模型的安全性,保护了企业或组织的核心资产。
在步骤S518中,为输出数据生成第二会话密钥,并使用第二会话密钥对输出数据进行加密处理,得到加密后的输出数据。
在实际应用中,还可以通过下述处理完成对输出数据的加密处理,具体可以参见下述步骤B2和步骤B4的处理。
在步骤B2中,通过预设的业务身份密钥对输出数据进行签名处理,得到相应的签名数据。
在步骤B4中,通过第二会话密钥对签名数据进行加密处理,得到加密后的输出数据。
在步骤S520中,使用业务密钥对第二会话密钥进行加密处理,得到加密后的第二会话密钥。
在步骤S522中,将加密后的输出数据和加密后的第二会话密钥,以及业务密钥的标识发送给服务器。
本说明书实施例提供一种模型的处理方法,应用于终端设备,通过服务器获取待保护的第一模型和第一模型的模型参数,并基于与待部署第一模型的终端设备具有的相同通道建立规则,与终端设备之间建立安全通道,通过安全通道将业务密钥和业务密钥的标识发送给终端设备,以使终端设备将业务密钥和业务密钥的标识存储于可信执行环境中,为第一模型生成第一会话密钥,并使用第一会话密钥对第一模型和模型参数进行加密处理,并使用业务密钥对第一会话密钥进行加密处理,并将加密后的第一模型和模型参数,以及加密后的第一会话密钥和业务密钥的标识发送至可信执行环境中,以使终端设备获取第一模型和模型参数,这样,在服务端和终端设备可信执行环境之间构建了一条安全通道,通过安全通道服务端可更新与目标业务相关的密钥到终端设备的可信执行环境中,从而提高了模型传输的效率和灵活性,并且提高模型传输过程中的安全性,避免了密钥固化带来的密钥更新困难的问题,此外,即使出现模型保护的相关密钥泄露的情况,也不会导致不可恢复,业务不可用的境地,能做到及时止损,提升模型等高知识产权资产的安全性。
实施例五
如图6所示,本说明书实施例提供一种模型的处理方法,该方法的执行主体可以为终端设备和服务器,终端设备可以如手机、平板电脑等移动终端设备,还可以如个人计算机等设备。该终端设备中包括可信执行环境,该可信执行环境可以是TEE,该可信执行环境可以通过预定的编程语言编写的程序来实现(即可以是以软件的形式实现),也可以通过硬件设备和预先编写的程序共同实现(即可以是以硬件+软件的形式实现)等,该可信执行环境可以为进行数据处理的安全运行环境。该服务器可以是独立的一个服务器,还可以是由多个服务器构成的服务器集群等,该服务器可以是如金融业务或网络购物业务等的后台服务器,也可以是某应用程序的后台服务器等。如图3B所示,该方法具体可以包括以下步骤:
在步骤S602中,服务器获取待保护的第一模型和第一模型的模型参数,并基于与待部署第一模型的终端设备具有的相同通道建立规则,与终端设备之间建立安全通道。
在步骤S604中,服务器和终端设备生成安全通道密钥。
此外,当到达预设周期或检测到预先存储的安全通道密钥存在风险时,服务器生成安全通道密钥,并使用生成的安全通道密钥更新预先存储的安全通道密钥和终端设备中存储的安全通道密钥。
在步骤S606中,服务器使用安全通道密钥对业务密钥和业务密钥的标识进行加密处理,得到加密后的业务密钥和加密后的标识。
在步骤S608中,服务器将加密后的业务密钥和加密后的标识发送给终端设备。
在步骤S610中,终端设备通过安全通道密钥对加密处理后的业务密钥和业务密钥的标识进行解密处理,得到业务密钥和业务密钥的标识,并将业务密钥和业务密钥的标识存储于可信执行环境中。
在步骤S612中,服务器为第一模型随机生成第一会话密钥,并使用第一会话密钥对第一模型和模型参数进行加密处理,并使用业务密钥对第一会话密钥进行加密处理,并将加密后的第一模型和模型参数,以及加密后的第一会话密钥和业务密钥的标识发送至终端设备的可信执行环境中。
在步骤S614中,终端设备在可信执行环境中,通过业务密钥的标识获取业务密钥,使用业务密钥对加密后的第一会话密钥进行解密,得到第一会话密钥,并使用第一会话密钥对加密后的第一模型和模型参数进行解密,得到第一模型和模型参数。
在步骤S616中,终端设备获取目标业务的业务数据。
在步骤S618中,当基于业务数据确定第一模型的输入数据时,终端设备将输入数据传递至可信执行环境中。
在步骤S620中,终端设备在可信执行环境中,将输入数据输入到第一模型中,基于第一模型和模型参数对输入数据进行处理,得到相应的输出数据。
在步骤S622中,终端设备在可信执行环境中,为输出数据随机生成第二会话密钥,并通过预设的业务身份密钥对输出数据进行签名处理,得到相应的签名数据。
在步骤S624中,终端设备在可信执行环境中,通过第二会话密钥对签名数据进行加密处理,得到加密后的输出数据。
在步骤S626中,终端设备在可信执行环境中,使用业务密钥对第二会话密钥进行加密处理,得到加密后的第二会话密钥。
在步骤S628中,终端设备将加密后的输出数据和加密后的第二会话密钥,以及业务密钥的标识发送给服务器。
在步骤S630中,服务器基于业务密钥的标识获取业务密钥,并基于业务密钥对第二会话密钥进行解密处理,得到第二会话密钥。
在步骤S632中,服务器基于第二会话密钥对经过加密处理的输出数据进行解密处理,得到签名数据。
在步骤S634中,服务器基于业务身份密钥对该签名数据进行验签处理,如果验签结果为通过,则获取输出数据。
本说明书实施例提供一种模型的处理方法,通过获取待保护的第一模型和第一模型的模型参数,并基于与待部署第一模型的终端设备具有的相同通道建立规则,与终端设备之间建立安全通道,通过安全通道将业务密钥和业务密钥的标识发送给终端设备,以使终端设备将业务密钥和业务密钥的标识存储于可信执行环境中,为第一模型生成第一会话密钥,并使用第一会话密钥对第一模型和模型参数进行加密处理,并使用业务密钥对第一会话密钥进行加密处理,并将加密后的第一模型和模型参数,以及加密后的第一会话密钥和业务密钥的标识发送至可信执行环境中,以使终端设备获取第一模型和模型参数,这样,在服务端和终端设备可信执行环境之间构建了一条安全通道,通过安全通道服务端可更新与目标业务相关的密钥到终端设备的可信执行环境中,从而提高了模型传输的效率和灵活性,并且提高模型传输过程中的安全性,避免了密钥固化带来的密钥更新困难的问题,此外,即使出现模型保护的相关密钥泄露的情况,也不会导致不可恢复,业务不可用的境地,能做到及时止损,提升模型等高知识产权资产的安全性。
实施例六
以上为本说明书实施例提供的模型的处理方法,基于同样的思路,本说明书实施例还提供一种模型的处理装置,如图7所示。
该模型的处理装置包括:通道建立模块701、密钥发送模块702和模型数据发送模块703,其中:
通道建立模块701,获取待保护的第一模型和所述第一模型的模型参数,并基于与待部署所述第一模型的终端设备具有的相同通道建立规则,与所述终端设备之间建立安全通道;
密钥发送模块702,通过所述安全通道将业务密钥和所述业务密钥的标识发送给所述终端设备,所述业务密钥和所述业务密钥的标识用于触发所述终端设备将所述业务密钥和所述业务密钥的标识存储于所述终端设备的可信执行环境中;
模型数据发送模块703,为所述第一模型生成第一会话密钥,并使用所述第一会话密钥对所述第一模型和所述模型参数进行加密处理,并使用所述业务密钥对所述第一会话密钥进行加密处理,并将加密后的第一模型和模型参数,以及加密后的第一会话密钥和所述业务密钥的标识发送至所述终端设备的可信执行环境中,所述加密后的第一会话密钥和所述业务密钥的标识用于触发所述终端设备在所述可信执行环境中对所述加密后的第一会话密钥进行解密,得到所述第一会话密钥,并使用所述第一会话密钥对所述加密后的第一模型和模型参数进行解密,得到所述第一模型和所述模型参数,以基于所述第一模型和所述模型参数对目标业务进行业务处理。
本说明书实施例中,所述装置还包括:
通道密钥生成模块,生成安全通道密钥;
所述密钥发送模块702,包括:
第一加密单元,使用所述安全通道密钥对所述业务密钥和所述业务密钥的标识进行加密处理,得到加密后的业务密钥和加密后的标识;
密钥发送单元,将所述加密后的业务密钥和所述加密后的标识发送给所述终端设备,所述加密后的业务密钥和所述加密后的标识用于触发所述终端设备对所述加密后的业务密钥和所述加密后的标识进行解密处理,得到所述业务密钥和所述业务密钥的标识。
本说明书实施例中,所述装置还包括:
通道密钥更新模块,当到达预设周期或检测到预先存储的安全通道密钥存在风险时,生成安全通道密钥,并使用生成的安全通道密钥更新预先存储的安全通道密钥和所述终端设备中存储的安全通道密钥。
本说明书实施例中,所述装置还包括:
数据接收模块,接收所述终端设备发送的经过加密处理的输出数据和通过所述业务密钥对第二会话密钥进行加密处理后的第二会话密钥,以及所述业务密钥的标识,所述输出数据是所述终端设备接收到所述第一模型的输入数据时,将所述输入数据输入到所述第一模型中,通过所述第一模型和所述模型参数对所述输入数据进行处理后输出的数据;
第一解密模块,基于所述业务密钥的标识获取所述业务密钥,并基于所述业务密钥对所述第二会话密钥进行解密处理,得到所述第二会话密钥;
第二解密模块,基于所述第二会话密钥对所述经过加密处理的输出数据进行解密处理,并基于解密的数据确定所述输出数据。
本说明书实施例中,所述经过加密处理的输出数据是通过预设的业务身份密钥对所述输出数据进行签名处理,得到签名数据,通过所述第二会话密钥对所述签名数据进行加密处理后得到,
所述第二解密模块,包括:
解密单元,所述基于所述第二会话密钥对所述经过加密处理的输出数据进行解密处理,得到所述签名数据;
验签单元,基于所述业务身份密钥对所述签名数据进行验签处理,如果验签结果为通过,则获取所述输出数据。
本说明书实施例中,所述第一模型为预先训练的目标模型中的部分网络层构建的子模型,或者,所述第一模型为所述目标模型。
本说明书实施例提供一种模型的处理装置,通过获取待保护的第一模型和第一模型的模型参数,并基于与待部署第一模型的终端设备具有的相同通道建立规则,与终端设备之间建立安全通道,通过安全通道将业务密钥和业务密钥的标识发送给终端设备,以使终端设备将业务密钥和业务密钥的标识存储于可信执行环境中,为第一模型生成第一会话密钥,并使用第一会话密钥对第一模型和模型参数进行加密处理,并使用业务密钥对第一会话密钥进行加密处理,并将加密后的第一模型和模型参数,以及加密后的第一会话密钥和业务密钥的标识发送至可信执行环境中,以使终端设备获取第一模型和模型参数,这样,在服务端和终端设备可信执行环境之间构建了一条安全通道,通过安全通道服务端可更新与目标业务相关的密钥到终端设备的可信执行环境中,从而提高了模型传输的效率和灵活性,并且提高模型传输过程中的安全性,避免了密钥固化带来的密钥更新困难的问题,此外,即使出现模型保护的相关密钥泄露的情况,也不会导致不可恢复,业务不可用的境地,能做到及时止损,提升模型等高知识产权资产的安全性。
实施例七
基于同样的思路,本说明书实施例还提供一种模型的处理装置,所述装置中包括可信执行环境,如图8所示。
该模型的处理装置包括:通道建立模块801、密钥接收模块802、数据接收模块803和解密模块804,其中:
通道建立模块801,基于与部署第一模型的服务器具有的相同通道建立规则,与所述服务器之间建立安全通道;
密钥接收模块802,通过所述安全通道接收所述服务器发送的业务密钥和所述业务密钥的标识,并将所述业务密钥和所述业务密钥的标识存储于所述可信执行环境中;
数据接收模块803,通过所述可信执行环境接收所述服务器发送的加密后的第一模型和模型参数,以及加密后的第一会话密钥和所述业务密钥的标识,所述加密后的第一模型和模型参数是所述服务器使用为所述第一模型生成的第一会话密钥对所述第一模型和所述模型参数进行加密处理后得到,所述加密后的第一会话密钥是所述服务器使用所述业务密钥对所述第一会话密钥进行加密处理后得到;
解密模块804,在所述可信执行环境中,通过所述业务密钥的标识获取所述业务密钥,使用所述业务密钥对所述加密后的第一会话密钥进行解密,得到所述第一会话密钥,并使用所述第一会话密钥对所述加密后的第一模型和模型参数进行解密,得到所述第一模型和所述模型参数,基于所述第一模型和所述模型参数对目标业务进行业务处理。
本说明书实施例中,所述装置还包括:
通道密钥生成模块,生成安全通道密钥;
所述密钥接收模块802,通过所述安全通道接收所述服务器发送的通过所述安全通道密钥加密处理后的业务密钥和所述业务密钥的标识,通过所述安全通道密钥对加密处理后的业务密钥和所述业务密钥的标识进行解密处理,得到所述业务密钥和所述业务密钥的标识,并将所述业务密钥和所述业务密钥的标识存储于所述可信执行环境中。
本说明书实施例中,所述装置还包括:
通道密钥更新模块,当到达预设周期或检测到预先存储的安全通道密钥存在风险时,生成安全通道密钥,并使用生成的安全通道密钥更新预先存储的安全通道密钥和所述服务器中存储的安全通道密钥。
本说明书实施例中,所述解密模块804,包括:
业务数据获取单元,获取所述目标业务的业务数据;
数据传递单元,当基于所述业务数据确定所述第一模型的输入数据时,将所述输入数据传递至所述可信执行环境中;
数据处理单元,在所述可信执行环境中,将所述输入数据输入到所述第一模型中,基于所述第一模型和所述模型参数对所述输入数据进行处理,得到相应的输出数据。
本说明书实施例中,所述装置还包括:
第二密钥生成模块,为所述输出数据生成第二会话密钥,并使用所述第二会话密钥对所述输出数据进行加密处理,得到加密后的输出数据;
加密模块,使用所述业务密钥对所述第二会话密钥进行加密处理,得到加密后的第二会话密钥;
数据发送模块,将所述加密后的输出数据和所述加密后的第二会话密钥,以及所述业务密钥的标识发送给所述服务器。
本说明书实施例中,所述第二密钥生成模块,包括:
签名单元,通过预设的业务身份密钥对所述输出数据进行签名处理,得到相应的签名数据;
加密单元,通过所述第二会话密钥对所述签名数据进行加密处理,得到加密后的输出数据。
本说明书实施例提供一种模型的处理装置,通过获取待保护的第一模型和第一模型的模型参数,并基于与待部署第一模型的终端设备具有的相同通道建立规则,与终端设备之间建立安全通道,通过安全通道将业务密钥和业务密钥的标识发送给终端设备,以使终端设备将业务密钥和业务密钥的标识存储于可信执行环境中,为第一模型生成第一会话密钥,并使用第一会话密钥对第一模型和模型参数进行加密处理,并使用业务密钥对第一会话密钥进行加密处理,并将加密后的第一模型和模型参数,以及加密后的第一会话密钥和业务密钥的标识发送至可信执行环境中,以使终端设备获取第一模型和模型参数,这样,在服务端和终端设备可信执行环境之间构建了一条安全通道,通过安全通道服务端可更新与目标业务相关的密钥到终端设备的可信执行环境中,从而提高了模型传输的效率和灵活性,并且提高模型传输过程中的安全性,避免了密钥固化带来的密钥更新困难的问题,此外,即使出现模型保护的相关密钥泄露的情况,也不会导致不可恢复,业务不可用的境地,能做到及时止损,提升模型等高知识产权资产的安全性。
实施例八
以上为本说明书实施例提供的模型的处理装置,基于同样的思路,本说明书实施例还提供一种模型的处理设备,如图9所示。
所述模型的处理设备可以为上述实施例提供的终端设备、服务器等,该模型的处理设备中可以设置有可信执行环境。
模型的处理设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器901和存储器902,存储器902中可以存储有一个或一个以上存储应用程序或数据。其中,存储器902可以是短暂存储或持久存储。存储在存储器902的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对模型的处理设备中的一系列计算机可执行指令。更进一步地,处理器901可以设置为与存储器902通信,在模型的处理设备上执行存储器902中的一系列计算机可执行指令。模型的处理设备还可以包括一个或一个以上电源1103,一个或一个以上有线或无线网络接口904,一个或一个以上输入输出接口905,一个或一个以上键盘906。
具体在本实施例中,模型的处理设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对模型的处理设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
获取待保护的第一模型和所述第一模型的模型参数,并基于与待部署所述第一模型的终端设备具有的相同通道建立规则,与所述终端设备之间建立安全通道;
通过所述安全通道将业务密钥和所述业务密钥的标识发送给所述终端设备,所述业务密钥和所述业务密钥的标识用于触发所述终端设备将所述业务密钥和所述业务密钥的标识存储于所述终端设备的可信执行环境中;
为所述第一模型生成第一会话密钥,并使用所述第一会话密钥对所述第一模型和所述模型参数进行加密处理,并使用所述业务密钥对所述第一会话密钥进行加密处理,并将加密后的第一模型和模型参数,以及加密后的第一会话密钥和所述业务密钥的标识发送至所述终端设备的可信执行环境中,所述加密后的第一会话密钥和所述业务密钥的标识用于触发所述终端设备在所述可信执行环境中对所述加密后的第一会话密钥进行解密,得到所述第一会话密钥,并使用所述第一会话密钥对所述加密后的第一模型和模型参数进行解密,得到所述第一模型和所述模型参数,以基于所述第一模型和所述模型参数对目标业务进行业务处理。
本说明书实施例中,还包括:
生成安全通道密钥;
所述通过所述安全通道将业务密钥和所述业务密钥的标识发送给所述终端设备,包括:
使用所述安全通道密钥对所述业务密钥和所述业务密钥的标识进行加密处理,得到加密后的业务密钥和加密后的标识;
将所述加密后的业务密钥和所述加密后的标识发送给所述终端设备,所述加密后的业务密钥和所述加密后的标识用于触发所述终端设备对所述加密后的业务密钥和所述加密后的标识进行解密处理,得到所述业务密钥和所述业务密钥的标识。
本说明书实施例中,还包括:
当到达预设周期或检测到预先存储的安全通道密钥存在风险时,生成安全通道密钥,并使用生成的安全通道密钥更新预先存储的安全通道密钥和所述终端设备中存储的安全通道密钥。
本说明书实施例中,还包括:
接收所述终端设备发送的经过加密处理的输出数据和通过所述业务密钥对第二会话密钥进行加密处理后的第二会话密钥,以及所述业务密钥的标识,所述输出数据是所述终端设备接收到所述第一模型的输入数据时,将所述输入数据输入到所述第一模型中,通过所述第一模型和所述模型参数对所述输入数据进行处理后输出的数据;
基于所述业务密钥的标识获取所述业务密钥,并基于所述业务密钥对所述第二会话密钥进行解密处理,得到所述第二会话密钥;
基于所述第二会话密钥对所述经过加密处理的输出数据进行解密处理,并基于解密的数据确定所述输出数据。
本说明书实施例中,所述经过加密处理的输出数据是通过预设的业务身份密钥对所述输出数据进行签名处理,得到签名数据,通过所述第二会话密钥对所述签名数据进行加密处理后得到,
所述基于所述第二会话密钥对所述经过加密处理的输出数据进行解密处理,并基于解密的数据确定所述输出数据,包括:
所述基于所述第二会话密钥对所述经过加密处理的输出数据进行解密处理,得到所述签名数据;
基于所述业务身份密钥对所述签名数据进行验签处理,如果验签结果为通过,则获取所述输出数据。
本说明书实施例中,所述第一模型为预先训练的目标模型中的部分网络层构建的子模型,或者,所述第一模型为所述目标模型。
具体在本实施例中,模型的处理设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对模型的处理设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
基于与部署第一模型的服务器具有的相同通道建立规则,与所述服务器之间建立安全通道;
通过所述安全通道接收所述服务器发送的业务密钥和所述业务密钥的标识,并将所述业务密钥和所述业务密钥的标识存储于所述可信执行环境中;
通过所述可信执行环境接收所述服务器发送的加密后的第一模型和模型参数,以及加密后的第一会话密钥和所述业务密钥的标识,所述加密后的第一模型和模型参数是所述服务器使用为所述第一模型生成的第一会话密钥对所述第一模型和所述模型参数进行加密处理后得到,所述加密后的第一会话密钥是所述服务器使用所述业务密钥对所述第一会话密钥进行加密处理后得到;
在所述可信执行环境中,通过所述业务密钥的标识获取所述业务密钥,使用所述业务密钥对所述加密后的第一会话密钥进行解密,得到所述第一会话密钥,并使用所述第一会话密钥对所述加密后的第一模型和模型参数进行解密,得到所述第一模型和所述模型参数,基于所述第一模型和所述模型参数对目标业务进行业务处理。
本说明书实施例中,还包括:
生成安全通道密钥;
所述通过所述安全通道接收所述服务器发送的业务密钥和所述业务密钥的标识,并将所述业务密钥和所述业务密钥的标识存储于所述可信执行环境中,包括:
通过所述安全通道接收所述服务器发送的通过所述安全通道密钥加密处理后的业务密钥和所述业务密钥的标识,通过所述安全通道密钥对加密处理后的业务密钥和所述业务密钥的标识进行解密处理,得到所述业务密钥和所述业务密钥的标识,并将所述业务密钥和所述业务密钥的标识存储于所述可信执行环境中。
本说明书实施例中,还包括:
当到达预设周期或检测到预先存储的安全通道密钥存在风险时,生成安全通道密钥,并使用生成的安全通道密钥更新预先存储的安全通道密钥和所述服务器中存储的安全通道密钥。
本说明书实施例中,所述基于所述第一模型和所述模型参数对目标业务进行业务处理,包括:
获取所述目标业务的业务数据;
当基于所述业务数据确定所述第一模型的输入数据时,将所述输入数据传递至所述可信执行环境中;
在所述可信执行环境中,将所述输入数据输入到所述第一模型中,基于所述第一模型和所述模型参数对所述输入数据进行处理,得到相应的输出数据。
本说明书实施例中,还包括:
为所述输出数据生成第二会话密钥,并使用所述第二会话密钥对所述输出数据进行加密处理,得到加密后的输出数据;
使用所述业务密钥对所述第二会话密钥进行加密处理,得到加密后的第二会话密钥;
将所述加密后的输出数据和所述加密后的第二会话密钥,以及所述业务密钥的标识发送给所述服务器。
本说明书实施例中,所述使用所述第二会话密钥对所述输出数据进行加密处理,得到加密后的输出数据,包括:
通过预设的业务身份密钥对所述输出数据进行签名处理,得到相应的签名数据;
通过所述第二会话密钥对所述签名数据进行加密处理,得到加密后的输出数据。
本说明书实施例提供一种模型的处理设备,通过获取待保护的第一模型和第一模型的模型参数,并基于与待部署第一模型的终端设备具有的相同通道建立规则,与终端设备之间建立安全通道,通过安全通道将业务密钥和业务密钥的标识发送给终端设备,以使终端设备将业务密钥和业务密钥的标识存储于可信执行环境中,为第一模型生成第一会话密钥,并使用第一会话密钥对第一模型和模型参数进行加密处理,并使用业务密钥对第一会话密钥进行加密处理,并将加密后的第一模型和模型参数,以及加密后的第一会话密钥和业务密钥的标识发送至可信执行环境中,以使终端设备获取第一模型和模型参数,这样,在服务端和终端设备可信执行环境之间构建了一条安全通道,通过安全通道服务端可更新与目标业务相关的密钥到终端设备的可信执行环境中,从而提高了模型传输的效率和灵活性,并且提高模型传输过程中的安全性,避免了密钥固化带来的密钥更新困难的问题,此外,即使出现模型保护的相关密钥泄露的情况,也不会导致不可恢复,业务不可用的境地,能做到及时止损,提升模型等高知识产权资产的安全性。
实施例九
进一步地,基于上述图1A和图6所示的方法,本说明书一个或多个实施例还提供了一种存储介质,用于存储计算机可执行指令信息,一种具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令信息在被处理器执行时,能实现以下流程:
获取待保护的第一模型和所述第一模型的模型参数,并基于与待部署所述第一模型的终端设备具有的相同通道建立规则,与所述终端设备之间建立安全通道;
通过所述安全通道将业务密钥和所述业务密钥的标识发送给所述终端设备,所述业务密钥和所述业务密钥的标识用于触发所述终端设备将所述业务密钥和所述业务密钥的标识存储于所述终端设备的可信执行环境中;
为所述第一模型生成第一会话密钥,并使用所述第一会话密钥对所述第一模型和所述模型参数进行加密处理,并使用所述业务密钥对所述第一会话密钥进行加密处理,并将加密后的第一模型和模型参数,以及加密后的第一会话密钥和所述业务密钥的标识发送至所述终端设备的可信执行环境中,所述加密后的第一会话密钥和所述业务密钥的标识用于触发所述终端设备在所述可信执行环境中对所述加密后的第一会话密钥进行解密,得到所述第一会话密钥,并使用所述第一会话密钥对所述加密后的第一模型和模型参数进行解密,得到所述第一模型和所述模型参数,以基于所述第一模型和所述模型参数对目标业务进行业务处理。
本说明书实施例中,还包括:
生成安全通道密钥;
所述通过所述安全通道将业务密钥和所述业务密钥的标识发送给所述终端设备,包括:
使用所述安全通道密钥对所述业务密钥和所述业务密钥的标识进行加密处理,得到加密后的业务密钥和加密后的标识;
将所述加密后的业务密钥和所述加密后的标识发送给所述终端设备,所述加密后的业务密钥和所述加密后的标识用于触发所述终端设备对所述加密后的业务密钥和所述加密后的标识进行解密处理,得到所述业务密钥和所述业务密钥的标识。
本说明书实施例中,还包括:
当到达预设周期或检测到预先存储的安全通道密钥存在风险时,生成安全通道密钥,并使用生成的安全通道密钥更新预先存储的安全通道密钥和所述终端设备中存储的安全通道密钥。
本说明书实施例中,还包括:
接收所述终端设备发送的经过加密处理的输出数据和通过所述业务密钥对第二会话密钥进行加密处理后的第二会话密钥,以及所述业务密钥的标识,所述输出数据是所述终端设备接收到所述第一模型的输入数据时,将所述输入数据输入到所述第一模型中,通过所述第一模型和所述模型参数对所述输入数据进行处理后输出的数据;
基于所述业务密钥的标识获取所述业务密钥,并基于所述业务密钥对所述第二会话密钥进行解密处理,得到所述第二会话密钥;
基于所述第二会话密钥对所述经过加密处理的输出数据进行解密处理,并基于解密的数据确定所述输出数据。
本说明书实施例中,所述经过加密处理的输出数据是通过预设的业务身份密钥对所述输出数据进行签名处理,得到签名数据,通过所述第二会话密钥对所述签名数据进行加密处理后得到,
所述基于所述第二会话密钥对所述经过加密处理的输出数据进行解密处理,并基于解密的数据确定所述输出数据,包括:
所述基于所述第二会话密钥对所述经过加密处理的输出数据进行解密处理,得到所述签名数据;
基于所述业务身份密钥对所述签名数据进行验签处理,如果验签结果为通过,则获取所述输出数据。
本说明书实施例中,所述第一模型为预先训练的目标模型中的部分网络层构建的子模型,或者,所述第一模型为所述目标模型。
此外,在另一种具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令信息在被处理器执行时,能实现以下流程:
基于与部署第一模型的服务器具有的相同通道建立规则,与所述服务器之间建立安全通道;
通过所述安全通道接收所述服务器发送的业务密钥和所述业务密钥的标识,并将所述业务密钥和所述业务密钥的标识存储于所述可信执行环境中;
通过所述可信执行环境接收所述服务器发送的加密后的第一模型和模型参数,以及加密后的第一会话密钥和所述业务密钥的标识,所述加密后的第一模型和模型参数是所述服务器使用为所述第一模型生成的第一会话密钥对所述第一模型和所述模型参数进行加密处理后得到,所述加密后的第一会话密钥是所述服务器使用所述业务密钥对所述第一会话密钥进行加密处理后得到;
在所述可信执行环境中,通过所述业务密钥的标识获取所述业务密钥,使用所述业务密钥对所述加密后的第一会话密钥进行解密,得到所述第一会话密钥,并使用所述第一会话密钥对所述加密后的第一模型和模型参数进行解密,得到所述第一模型和所述模型参数,基于所述第一模型和所述模型参数对目标业务进行业务处理。
本说明书实施例中,还包括:
生成安全通道密钥;
所述通过所述安全通道接收所述服务器发送的业务密钥和所述业务密钥的标识,并将所述业务密钥和所述业务密钥的标识存储于所述可信执行环境中,包括:
通过所述安全通道接收所述服务器发送的通过所述安全通道密钥加密处理后的业务密钥和所述业务密钥的标识,通过所述安全通道密钥对加密处理后的业务密钥和所述业务密钥的标识进行解密处理,得到所述业务密钥和所述业务密钥的标识,并将所述业务密钥和所述业务密钥的标识存储于所述可信执行环境中。
本说明书实施例中,还包括:
当到达预设周期或检测到预先存储的安全通道密钥存在风险时,生成安全通道密钥,并使用生成的安全通道密钥更新预先存储的安全通道密钥和所述服务器中存储的安全通道密钥。
本说明书实施例中,所述基于所述第一模型和所述模型参数对目标业务进行业务处理,包括:
获取所述目标业务的业务数据;
当基于所述业务数据确定所述第一模型的输入数据时,将所述输入数据传递至所述可信执行环境中;
在所述可信执行环境中,将所述输入数据输入到所述第一模型中,基于所述第一模型和所述模型参数对所述输入数据进行处理,得到相应的输出数据。
本说明书实施例中,还包括:
为所述输出数据生成第二会话密钥,并使用所述第二会话密钥对所述输出数据进行加密处理,得到加密后的输出数据;
使用所述业务密钥对所述第二会话密钥进行加密处理,得到加密后的第二会话密钥;
将所述加密后的输出数据和所述加密后的第二会话密钥,以及所述业务密钥的标识发送给所述服务器。
本说明书实施例中,所述使用所述第二会话密钥对所述输出数据进行加密处理,得到加密后的输出数据,包括:
通过预设的业务身份密钥对所述输出数据进行签名处理,得到相应的签名数据;
通过所述第二会话密钥对所述签名数据进行加密处理,得到加密后的输出数据。
本说明书实施例提供一种存储介质,通过获取待保护的第一模型和第一模型的模型参数,并基于与待部署第一模型的终端设备具有的相同通道建立规则,与终端设备之间建立安全通道,通过安全通道将业务密钥和业务密钥的标识发送给终端设备,以使终端设备将业务密钥和业务密钥的标识存储于可信执行环境中,为第一模型生成第一会话密钥,并使用第一会话密钥对第一模型和模型参数进行加密处理,并使用业务密钥对第一会话密钥进行加密处理,并将加密后的第一模型和模型参数,以及加密后的第一会话密钥和业务密钥的标识发送至可信执行环境中,以使终端设备获取第一模型和模型参数,这样,在服务端和终端设备可信执行环境之间构建了一条安全通道,通过安全通道服务端可更新与目标业务相关的密钥到终端设备的可信执行环境中,从而提高了模型传输的效率和灵活性,并且提高模型传输过程中的安全性,避免了密钥固化带来的密钥更新困难的问题,此外,即使出现模型保护的相关密钥泄露的情况,也不会导致不可恢复,业务不可用的境地,能做到及时止损,提升模型等高知识产权资产的安全性。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书一个或多个实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书的实施例是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程欺诈案例的串并设备的处理器以产生一个机器,使得通过计算机或其他可编程欺诈案例的串并设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程欺诈案例的串并设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程欺诈案例的串并设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

Claims (18)

1.一种模型的处理方法,应用于服务器,所述方法包括:
获取待保护的第一模型和所述第一模型的模型参数,并基于与待部署所述第一模型的终端设备具有的相同通道建立规则,与所述终端设备之间建立安全通道;
通过所述安全通道将业务密钥和所述业务密钥的标识发送给所述终端设备,所述业务密钥和所述业务密钥的标识用于触发所述终端设备将所述业务密钥和所述业务密钥的标识存储于所述终端设备的可信执行环境中;
为所述第一模型生成第一会话密钥,并使用所述第一会话密钥对所述第一模型和所述模型参数进行加密处理,并使用所述业务密钥对所述第一会话密钥进行加密处理,并将加密后的第一模型和模型参数,以及加密后的第一会话密钥和所述业务密钥的标识发送至所述终端设备的可信执行环境中,所述加密后的第一会话密钥和所述业务密钥的标识用于触发所述终端设备在所述可信执行环境中对所述加密后的第一会话密钥进行解密,得到所述第一会话密钥,并使用所述第一会话密钥对所述加密后的第一模型和模型参数进行解密,得到所述第一模型和所述模型参数,以基于所述第一模型和所述模型参数对目标业务进行业务处理。
2.根据权利要求1所述的方法,所述方法还包括:
生成安全通道密钥;
所述通过所述安全通道将业务密钥和所述业务密钥的标识发送给所述终端设备,包括:
使用所述安全通道密钥对所述业务密钥和所述业务密钥的标识进行加密处理,得到加密后的业务密钥和加密后的标识;
通过所述安全通道将所述加密后的业务密钥和所述加密后的标识发送给所述终端设备,所述加密后的业务密钥和所述加密后的标识用于触发所述终端设备对所述加密后的业务密钥和所述加密后的标识进行解密处理,得到所述业务密钥和所述业务密钥的标识。
3.根据权利要求2所述的方法,所述方法还包括:
当到达预设周期或检测到预先存储的安全通道密钥存在风险时,生成安全通道密钥,并使用生成的安全通道密钥更新预先存储的安全通道密钥和所述终端设备中存储的安全通道密钥。
4.根据权利要求1所述的方法,所述方法还包括:
接收所述终端设备发送的经过加密处理的输出数据和通过所述业务密钥对第二会话密钥进行加密处理后的第二会话密钥,以及所述业务密钥的标识,所述输出数据是所述终端设备接收到所述第一模型的输入数据时,将所述输入数据输入到所述第一模型中,通过所述第一模型和所述模型参数对所述输入数据进行处理后输出的数据;
基于所述业务密钥的标识获取所述业务密钥,并基于所述业务密钥对所述第二会话密钥进行解密处理,得到所述第二会话密钥;
基于所述第二会话密钥对所述经过加密处理的输出数据进行解密处理,并基于解密的数据确定所述输出数据。
5.根据权利要求4所述的方法,所述经过加密处理的输出数据是通过预设的业务身份密钥对所述输出数据进行签名处理,得到签名数据,并通过所述第二会话密钥对所述签名数据进行加密处理后得到,
所述基于所述第二会话密钥对所述经过加密处理的输出数据进行解密处理,并基于解密的数据确定所述输出数据,包括:
所述基于所述第二会话密钥对所述经过加密处理的输出数据进行解密处理,得到所述签名数据;
基于所述业务身份密钥对所述签名数据进行验签处理,如果验签结果为通过,则获取所述输出数据。
6.根据权利要求1-5中任一项所述的方法,所述第一模型为预先训练的目标模型中的部分网络层构建的子模型,或者,所述第一模型为所述目标模型。
7.一种模型的处理方法,应用于终端设备,所述终端设备设置有可信执行环境,所述方法包括:
基于与部署第一模型的服务器具有的相同通道建立规则,与所述服务器之间建立安全通道;
通过所述安全通道接收所述服务器发送的业务密钥和所述业务密钥的标识,并将所述业务密钥和所述业务密钥的标识存储于所述可信执行环境中;
通过所述可信执行环境接收所述服务器发送的加密后的第一模型和模型参数,以及加密后的第一会话密钥和所述业务密钥的标识,所述加密后的第一模型和模型参数是所述服务器使用为所述第一模型生成的第一会话密钥对所述第一模型和所述模型参数进行加密处理后得到,所述加密后的第一会话密钥是所述服务器使用所述业务密钥对所述第一会话密钥进行加密处理后得到;
在所述可信执行环境中,通过所述业务密钥的标识获取所述业务密钥,使用所述业务密钥对所述加密后的第一会话密钥进行解密,得到所述第一会话密钥,并使用所述第一会话密钥对所述加密后的第一模型和模型参数进行解密,得到所述第一模型和所述模型参数,基于所述第一模型和所述模型参数对目标业务进行业务处理。
8.根据权利要求7所述的方法,所述方法还包括:
生成安全通道密钥;
所述通过所述安全通道接收所述服务器发送的业务密钥和所述业务密钥的标识,并将所述业务密钥和所述业务密钥的标识存储于所述可信执行环境中,包括:
通过所述安全通道接收所述服务器发送的通过所述安全通道密钥加密处理后的业务密钥和所述业务密钥的标识,通过所述安全通道密钥对加密处理后的业务密钥和所述业务密钥的标识进行解密处理,得到所述业务密钥和所述业务密钥的标识,并将所述业务密钥和所述业务密钥的标识存储于所述可信执行环境中。
9.根据权利要求8所述的方法,所述方法还包括:
当到达预设周期或检测到预先存储的安全通道密钥存在风险时,生成安全通道密钥,并使用生成的安全通道密钥更新预先存储的安全通道密钥和所述服务器中存储的安全通道密钥。
10.根据权利要求7所述的方法,所述基于所述第一模型和所述模型参数对目标业务进行业务处理,包括:
获取所述目标业务的业务数据;
当基于所述业务数据确定所述第一模型的输入数据时,将所述输入数据传递至所述可信执行环境中;
在所述可信执行环境中,将所述输入数据输入到所述第一模型中,基于所述第一模型和所述模型参数对所述输入数据进行处理,得到相应的输出数据。
11.根据权利要求10所述的方法,所述方法还包括:
为所述输出数据生成第二会话密钥,并使用所述第二会话密钥对所述输出数据进行加密处理,得到加密后的输出数据;
使用所述业务密钥对所述第二会话密钥进行加密处理,得到加密后的第二会话密钥;
将所述加密后的输出数据和所述加密后的第二会话密钥,以及所述业务密钥的标识发送给所述服务器。
12.根据权利要求11所述的方法,所述使用所述第二会话密钥对所述输出数据进行加密处理,得到加密后的输出数据,包括:
通过预设的业务身份密钥对所述输出数据进行签名处理,得到相应的签名数据;
通过所述第二会话密钥对所述签名数据进行加密处理,得到加密后的输出数据。
13.一种模型的处理装置,所述装置包括:
通道建立模块,获取待保护的第一模型和所述第一模型的模型参数,并基于与待部署所述第一模型的终端设备具有的相同通道建立规则,与所述终端设备之间建立安全通道;
密钥发送模块,通过所述安全通道将业务密钥和所述业务密钥的标识发送给所述终端设备,所述业务密钥和所述业务密钥的标识用于触发所述终端设备将所述业务密钥和所述业务密钥的标识存储于所述终端设备的可信执行环境中;
模型数据发送模块,为所述第一模型生成第一会话密钥,并使用所述第一会话密钥对所述第一模型和所述模型参数进行加密处理,并使用所述业务密钥对所述第一会话密钥进行加密处理,并将加密后的第一模型和模型参数,以及加密后的第一会话密钥和所述业务密钥的标识发送至所述终端设备的可信执行环境中,所述加密后的第一会话密钥和所述业务密钥的标识用于触发所述终端设备在所述可信执行环境中对所述加密后的第一会话密钥进行解密,得到所述第一会话密钥,并使用所述第一会话密钥对所述加密后的第一模型和模型参数进行解密,得到所述第一模型和所述模型参数,以基于所述第一模型和所述模型参数对目标业务进行业务处理。
14.一种模型的处理装置,设置有可信执行环境,所述装置包括:
通道建立模块,基于与部署第一模型的服务器具有的相同通道建立规则,与所述服务器之间建立安全通道;
密钥接收模块,通过所述安全通道接收所述服务器发送的业务密钥和所述业务密钥的标识,并将所述业务密钥和所述业务密钥的标识存储于所述可信执行环境中;
数据接收模块,通过所述可信执行环境接收所述服务器发送的加密后的第一模型和模型参数,以及加密后的第一会话密钥和所述业务密钥的标识,所述加密后的第一模型和模型参数是所述服务器使用为所述第一模型生成的第一会话密钥对所述第一模型和所述模型参数进行加密处理后得到,所述加密后的第一会话密钥是所述服务器使用所述业务密钥对所述第一会话密钥进行加密处理后得到;
解密模块,在所述可信执行环境中,通过所述业务密钥的标识获取所述业务密钥,使用所述业务密钥对所述加密后的第一会话密钥进行解密,得到所述第一会话密钥,并使用所述第一会话密钥对所述加密后的第一模型和模型参数进行解密,得到所述第一模型和所述模型参数,基于所述第一模型和所述模型参数对目标业务进行业务处理。
15.一种模型的处理设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
获取待保护的第一模型和所述第一模型的模型参数,并基于与待部署所述第一模型的终端设备具有的相同通道建立规则,与所述终端设备之间建立安全通道;
通过所述安全通道将业务密钥和所述业务密钥的标识发送给所述终端设备,所述业务密钥和所述业务密钥的标识用于触发所述终端设备将所述业务密钥和所述业务密钥的标识存储于所述终端设备的可信执行环境中;
为所述第一模型生成第一会话密钥,并使用所述第一会话密钥对所述第一模型和所述模型参数进行加密处理,并使用所述业务密钥对所述第一会话密钥进行加密处理,并将加密后的第一模型和模型参数,以及加密后的第一会话密钥和所述业务密钥的标识发送至所述终端设备的可信执行环境中,所述加密后的第一会话密钥和所述业务密钥的标识用于触发所述终端设备在所述可信执行环境中对所述加密后的第一会话密钥进行解密,得到所述第一会话密钥,并使用所述第一会话密钥对所述加密后的第一模型和模型参数进行解密,得到所述第一模型和所述模型参数,以基于所述第一模型和所述模型参数对目标业务进行业务处理。
16.一种模型的处理设备,所述模型的处理设备设置有可信执行环境,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
基于与部署第一模型的服务器具有的相同通道建立规则,与所述服务器之间建立安全通道;
通过所述安全通道接收所述服务器发送的业务密钥和所述业务密钥的标识,并将所述业务密钥和所述业务密钥的标识存储于所述可信执行环境中;
通过所述可信执行环境接收所述服务器发送的加密后的第一模型和模型参数,以及加密后的第一会话密钥和所述业务密钥的标识,所述加密后的第一模型和模型参数是所述服务器使用为所述第一模型生成的第一会话密钥对所述第一模型和所述模型参数进行加密处理后得到,所述加密后的第一会话密钥是所述服务器使用所述业务密钥对所述第一会话密钥进行加密处理后得到;
在所述可信执行环境中,通过所述业务密钥的标识获取所述业务密钥,使用所述业务密钥对所述加密后的第一会话密钥进行解密,得到所述第一会话密钥,并使用所述第一会话密钥对所述加密后的第一模型和模型参数进行解密,得到所述第一模型和所述模型参数,基于所述第一模型和所述模型参数对目标业务进行业务处理。
17.一种存储介质,所述存储介质用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:
获取待保护的第一模型和所述第一模型的模型参数,并基于与待部署所述第一模型的终端设备具有的相同通道建立规则,与所述终端设备之间建立安全通道;
通过所述安全通道将业务密钥和所述业务密钥的标识发送给所述终端设备,所述业务密钥和所述业务密钥的标识用于触发所述终端设备将所述业务密钥和所述业务密钥的标识存储于所述终端设备的可信执行环境中;
为所述第一模型生成第一会话密钥,并使用所述第一会话密钥对所述第一模型和所述模型参数进行加密处理,并使用所述业务密钥对所述第一会话密钥进行加密处理,并将加密后的第一模型和模型参数,以及加密后的第一会话密钥和所述业务密钥的标识发送至所述终端设备的可信执行环境中,所述加密后的第一会话密钥和所述业务密钥的标识用于触发所述终端设备在所述可信执行环境中对所述加密后的第一会话密钥进行解密,得到所述第一会话密钥,并使用所述第一会话密钥对所述加密后的第一模型和模型参数进行解密,得到所述第一模型和所述模型参数,以基于所述第一模型和所述模型参数对目标业务进行业务处理。
18.一种存储介质,所述存储介质用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:
基于与部署第一模型的服务器具有的相同通道建立规则,与所述服务器之间建立安全通道;
通过所述安全通道接收所述服务器发送的业务密钥和所述业务密钥的标识,并将所述业务密钥和所述业务密钥的标识存储于所述可信执行环境中;
通过所述可信执行环境接收所述服务器发送的加密后的第一模型和模型参数,以及加密后的第一会话密钥和所述业务密钥的标识,所述加密后的第一模型和模型参数是所述服务器使用为所述第一模型生成的第一会话密钥对所述第一模型和所述模型参数进行加密处理后得到,所述加密后的第一会话密钥是所述服务器使用所述业务密钥对所述第一会话密钥进行加密处理后得到;
在所述可信执行环境中,通过所述业务密钥的标识获取所述业务密钥,使用所述业务密钥对所述加密后的第一会话密钥进行解密,得到所述第一会话密钥,并使用所述第一会话密钥对所述加密后的第一模型和模型参数进行解密,得到所述第一模型和所述模型参数,基于所述第一模型和所述模型参数对目标业务进行业务处理。
CN202210582492.4A 2022-05-26 2022-05-26 一种模型的处理方法、装置及设备 Pending CN114969784A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210582492.4A CN114969784A (zh) 2022-05-26 2022-05-26 一种模型的处理方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210582492.4A CN114969784A (zh) 2022-05-26 2022-05-26 一种模型的处理方法、装置及设备

Publications (1)

Publication Number Publication Date
CN114969784A true CN114969784A (zh) 2022-08-30

Family

ID=82956208

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210582492.4A Pending CN114969784A (zh) 2022-05-26 2022-05-26 一种模型的处理方法、装置及设备

Country Status (1)

Country Link
CN (1) CN114969784A (zh)

Similar Documents

Publication Publication Date Title
CN111680305B (zh) 一种基于区块链的数据处理方法、装置及设备
CN107743133B (zh) 移动终端及其基于可信安全环境的访问控制方法和系统
CN111814198B (zh) 一种基于区块链的用户隐私数据提供方法及装置
US20190384934A1 (en) Method and system for protecting personal information infringement using division of authentication process and biometric authentication
CN110492990B (zh) 区块链场景下的私钥管理方法、装置及系统
CN111034120B (zh) 基于身份信息的加密密钥管理
CN109075976A (zh) 取决于密钥认证的证书发布
CN111917799B (zh) 基于验证信息、基于隐私数据的验证方法、装置及设备
US8904195B1 (en) Methods and systems for secure communications between client applications and secure elements in mobile devices
EP3945695B1 (en) Method, apparatus, and device for processing blockchain data
CN110796267A (zh) 数据共享的机器学习方法和机器学习装置
CN111401901B (zh) 生物支付设备的认证方法、装置、计算机设备和存储介质
CN113792297A (zh) 一种业务处理方法、装置及设备
CN113704826A (zh) 一种基于隐私保护的业务风险检测方法、装置及设备
JP6756056B2 (ja) 身元検証による暗号チップ
CN113239853B (zh) 一种基于隐私保护的生物识别方法、装置及设备
CN112241527B (zh) 物联网终端设备的密钥生成方法、系统及电子设备
CN112199661A (zh) 一种基于隐私保护的设备身份处理方法、装置及设备
CN114896603A (zh) 一种业务处理方法、装置及设备
CN112182509A (zh) 一种合规数据的异常检测方法、装置及设备
CN115941336A (zh) 数据的处理方法、装置及设备
WO2023040451A1 (zh) 资源转移
US20240113898A1 (en) Secure Module and Method for App-to-App Mutual Trust Through App-Based Identity
CN115834074A (zh) 一种身份认证方法、装置及设备
CN115640589A (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