CN113836538A - 数据模型处理方法、装置、服务器及存储介质 - Google Patents
数据模型处理方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN113836538A CN113836538A CN202110967919.8A CN202110967919A CN113836538A CN 113836538 A CN113836538 A CN 113836538A CN 202110967919 A CN202110967919 A CN 202110967919A CN 113836538 A CN113836538 A CN 113836538A
- Authority
- CN
- China
- Prior art keywords
- model
- data
- key
- server
- encrypted
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
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
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据模型处理方法、装置、服务器及存储介质。
背景技术
随着科学技术的发展,数据模型应用而生,例如用户可以建立数据模型与实际应用场景的联系,针对实际情况出现的问题进行求解,以便数据模型可以极大地改善用户的生活。数据模型的开发通常会耗费大量的人力、物理和财力,因此数据模型的安全也逐渐成为用户关注的重点。
发明内容
本申请实施例提供了一种数据模型处理方法、装置、服务器及存储介质,可以提高模型获取的安全性。本申请实施例的技术方案如下:
第一方面,本申请实施例提供了一种数据模型处理方法,应用于服务器,所述方法包括:
在第一可信执行环境中获取数据模型;
基于模型加密密钥对所述数据模型进行加密处理,以得到第一加密数据,所述模型加密密钥与所述数据模型一一对应;
获取模型下载终端针对所述数据模型的模型获取请求,发送所述第一加密数据至所述模型下载终端,以使所述模型下载终端对所述第一加密数据验证通过后,得到所述第一加密数据中的所述数据模型。
第二方面,本申请实施例提供了一种数据模型处理装置,包括:
模型获取单元,用于在第一可信执行环境中获取数据模型;
模型加密单元,用于基于模型加密密钥对所述数据模型进行加密处理,以得到第一加密数据,所述模型加密密钥与所述数据模型一一对应;
数据发送单元,用于获取模型下载终端针对所述数据模型的模型获取请求,发送所述第一加密数据至所述模型下载终端,以使所述模型下载终端对所述第一加密数据验证通过后,得到所述第一加密数据中的所述数据模型。
第三方面,本申请实施例提供了一种数据模型处理方法,应用于模型下载终端,所述方法包括:
发送模型获取请求至服务器,所述模型获取请求中包括模型标识,所述模型标识用于指示所述服务器获取与所述模型标识对应的第一加密数据,所述第一加密数据中包括与所述模型标识对应的数据模型;
获取所述服务器针对所述模型获取请求发送的所述第一加密数据;
在第二可信执行环境中对所述第一加密数据验证通过后,得到所述第一加密数据中的数据模型。
第四方面,本申请实施例提供了一种数据模型处理装置,所述装置包括:
请求发送单元,用于发送模型获取请求至服务器,所述模型获取请求中包括模型标识,所述模型标识用于指示所述服务器获取与所述模型标识对应的第一加密数据,所述第一加密数据中包括与所述模型标识对应的数据模型;
数据获取单元,用于获取所述服务器针对所述模型获取请求发送的所述第一加密数据;
数据验证单元,用于在第二可信执行环境中对所述第一加密数据验证通过后,得到所述第一加密数据中的数据模型。
第五方面,本申请实施例提供一种服务器,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述第一方面的方法步骤。
第六方面,本申请实施例提供一种终端,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述第三方面的方法步骤。
第七方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
本申请一些实施例提供的技术方案带来的有益效果至少包括:
在本申请一个或多个实施例中,通过在第一可信执行环境中获取数据模型,可以基于模型加密密钥对数据模型进行加密处理,以得到第一加密数据,获取模型下载终端针对数据模型的模型获取请求,发送第一加密数据至模型下载终端,以使模型下载终端对第一加密数据验证通过后,得到第一加密数据中的数据模型,因此,服务器只有在安全执行环境中才会获取到数据模型,可以减少普通执行环境获取数据模型时数据模型被篡改的概率,发送至模型下载终端的为第一加密数据,而不是未加密的数据模型,也就是说,数据模型仅存在于安全执行环境中,可以减少直接发送数据模型导致模型被篡改的概率,可以提高模型获取的安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本申请实施例提供的一种数据模型处理方法的背景示意图;
图2示出本申请实施例提供的一种数据模型处理方法的场景示意图;
图3示出本申请实施例提供的一种数据模型处理方法的流程示意图;
图4示出本申请实施例提供的一种数据模型处理方法的流程示意图;
图5示出本申请实施例提供的一种服务器获取数据模型的流程时序图;
图6示出本申请实施例提供的一种数据模型处理方法的***架构图;
图7示出本申请实施例提供的一种数据模型处理方法的流程时序图;
图8示出本申请实施例提供的一种数据模型处理方法的***架构图;
图9示出本申请实施例提供的一种数据模型处理方法的流程时序图;
图10示出本申请实施例提供的一种数据模型处理方法的流程示意图;
图11示出本申请实施例提供的一种数据模型处理方法的流程示意图;
图12示出本申请实施例提供的一种数据模型处理装置的结构示意图;
图13示出本申请实施例提供的一种数据模型处理装置的结构示意图;
图14示出本申请实施例提供的一种数据模型处理装置的结构示意图;
图15示出本申请实施例提供的一种数据模型处理装置的结构示意图;
图16示出本申请实施例提供的一种数据模型处理装置的结构示意图;
图17是本申请实施例提供的一种终端的结构示意图;
图18是本申请实施例提供的操作***和用户空间的结构示意图;
图19是图18中安卓操作***的架构图;
图20是图18中IOS操作***的架构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请的描述中,需要说明的是,除非另有明确的规定和限定,“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
随着科学技术的发展,数据模型的规模普及和发展极大地方便了用户的生活。由于数据模型开发和训练会耗费企业或者个人大量的人力、物力和财力,因此数据模型的安全逐渐成为关注的中心。图1示出本申请实施例提供的一种数据模型处理方法的场景示意图。如图1所示,用户通过模型开发终端11对数据模型开发完成时,可以通过网络12在加密服务器13的富执行环境中对数据进行加密转换,以便对数据模型进行保护。加密服务器加密后的数据模型可以通过网络12发送至模型开发终端或者模型下载终端14。但是由于加密的过程是在富执行环境中完成的,因此数据模型完全暴露在富执行环境,因此其他用户对于数据模型的篡改较为容易,使得模型获取的安全性降低。
可选的,图2示出本申请实施例提供的一种数据模型处理方法的场景示意图。如图2所示,用户通过模型开发终端11对数据模型开完成时,可以通过网络12在加密服务器13的可信执行环境中对数据模型进行加密得到加密后的数据模型。此时可以将该加密后的数据模型加载至模型下载终端14的可信执行环境中运行,也就是说在模型下载终端14的可信执行环境中运行的为加密后的数据模型,并非未加密的数据模型,且由于可信执行环境本身资源的限制,单独加载运行加密后的数据模型,会降低数据模型的运行效率。例如,由于可信执行环境的容量较低,加载并运行加密后的数据模型,运行效率会受到容量的限制,降低了运行效率。
下面结合具体的实施例对本申请进行详细说明。
在一个实施例中,如图3所示,提出了一种数据模型处理方法,该方法可依赖于计算机程序实现,可运行于具有模型加密功能的装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。
具体的,该方法包括:
S101,在第一可信执行环境中获取数据模型;
根据一些实施例,可信执行环境(Trusted execution environment,TEE)是指加密或隔离的、因而被认为安全可信的执行环境,因此,代码和数据在加密或隔离的环境里不易受来自环境外的攻击。第一可执行环境是指服务器提供的硬件级安全技术,可以为程序和数据提供隔离的运行空间,确保执行结果可信,因此第一可执行环境仅仅是指服务器中的安全运行环境,并不特指某一固定运行环境。当服务器针对第一可执行环境设置的内存发生变化时,该第一可信执行环境也会相应变化。
易于理解的是,数据模型是指可以表示数据特征的模型,该数据模型并不特指某一固定数据模型。该数据模型例如可以是不同类型的模型。当数据模型的模型类型发生变化时,该数据模型也会相应变化。
在一些实施例中,服务器在执行数据模型处理方法时,服务器可以在第一可信执行环境中,获取数据模型。
S102,基于模型加密密钥对数据模型进行加密处理,以得到第一加密数据;
根据一些实施例,密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。加密密钥是指将明文转换为密文的密钥。模型加密密钥是指对数据模型进行加密处理的密钥。该模型加密密钥并不特指某一固定密钥,该模型加密密钥与数据模型一一对应。也就是说不同的数据模型对应不同的模型加密密钥,同一个模型加密密钥仅对应一个数据模型。
易于理解的是,加密数据是指对明文进行加密处理后密文。第一加密数据是指服务器针对数据模型进行加密处理后得到的加密数据。该第一加密数据并不特指某一固定数据。例如,当数据模型的模型类型发生变化时,该数据模型也会相应变化,该第一加密数据也会相应变化。
在一些实施例中,当服务器在第一可信执行环境中获取到数据模型时,服务器可以直接基于模型加密密钥对数据模型进行加密处理,以得到第一加密数据。即服务器采用模型加密密钥对数据模型进行加密处理,以得到第一加密数据。
S103,获取模型下载终端针对数据模型的模型获取请求,发送第一加密数据至模型下载终端,以使模型下载终端对第一加密数据验证通过后,得到第一加密数据中的数据模型。
根据一些实施例,模型下载终端是指向服务器请求获取数据模型的终端。该模型下载终端包括但不限于:可穿戴设备、手持设备、个人电脑、平板电脑、车载设备、智能手机、计算设备或连接到无线调制解调器的其它处理设备等。在不同的网络中终端可以叫做不同的名称,例如:用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置、蜂窝电话、无绳电话、个人数字处理(personal digital assistant,PDA)、第五代移动通信技术(5th GenerationMobile Communication Technology,5G)网络、***移动通信技术(the 4th generationmobile communication technology,4G)网络、第三代移动通信技术(3rd-Generation,3G)网络或未来演进网络中的终端等。
易于理解的是,模型获取请求是指模型下载终端发送至服务器,且用于获取数据模型的请求。该模型获取请求并不特指某一固定请求。例如当模型下载终端发生变化时,该模型获取请求也会相应变化。
在一些实施例中,当服务器得到第一加密数据时,服务器获取模型下载终端针对数据模型的模型获取请求,服务器可以发送第一加密数据至模型下载终端。由于第一加密数据中包括数据模型,因为模型下载终端获取到服务器发送的第一加密数据,且对第一加密数据验证通过后,模型下载终端可以得到第一加密数据中的数据模型。
在本申请一个或多个实施例中,通过在第一可信执行环境中获取数据模型,可以基于模型加密密钥对数据模型进行加密处理,以得到第一加密数据,获取模型下载终端针对数据模型的模型获取请求,发送第一加密数据至模型下载终端,以使模型下载终端对第一加密数据验证通过后,得到第一加密数据中的数据模型,因此,服务器只有在安全执行环境中才会获取到数据模型,可以减少普通执行环境获取数据模型时数据模型被篡改的概率,发送至模型下载终端的为第一加密数据,而不是未加密的数据模型,也就是说,数据模型仅存在于安全执行环境中,可以减少直接发送数据模型导致模型被篡改的概率,可以提高模型获取的安全性。
请参见图4,图4示出本申请实施例提供的一种数据模型处理方法的流程示意图。如图4所示,具体的:
S201,获取模型开发终端采用第二公钥对数据模型进行加密处理得到的第二加密数据;
根据一些实施例,模型开发终端是指用于开发数据模型的终端,该模型开发终端并不特指某一固定终端。该模型开发终端例如可以接收用户针对数据模型的开发指令,开发数据模型。该数据模型即为模型开发终端开发的模型,即该数据模型为未经过加密的模型。
易于理解的是,第二公钥为服务器针对数据模型共享至模型开发终端的密钥,该第二公钥并不特指某一固定公钥。服务器可以针对数据模型生成第二公钥,并将第二公钥共享至模型开发终端。
可选的,第二加密数据是指模型开发终端采用第二公钥对数据模型进行加密处理后得到的加密数据。该第二加密数据并不特指某一固定数据,当数据模型发生变化时,该第二加密数据也会相应变化。例如,当数据模型中的一个参数发生变化时,该数据模型也会相应变化,第二加密数据也会相应变化。
在一些实施例中,请参见图5,图5示出本申请实施例提供的一种服务器获取数据模型的流程时序图。如图5所示,当模型开发终端采用第二公钥对数据模型进行加密处理后得到第二加密数据时,模型开发终端可以将第二加密数据发送至服务器。当服务器检测到模型开发终端发送第二加密数据时,服务器可以获取到模型开发终端发送的第二加密数据,即服务器可以获取到模型开发终端采用第二公钥对数据模型进行加密处理得到的第二加密数据。
易于理解的是,该数据模型例如可以是人工智能(Artificial Intelligence,AI)数据模型。模型开发终端例如可以是A计算机。当A计算机获取到用户针对AI数据模型的开发指令时,A计算机可以基于该开发指令获取到AI数据模型。A计算机可以获取B服务器针对数据模型共享的第二公钥。A计算机可以采用该第二公钥对该AI数据模型进行加密处理,得到第二加密数据。例如A计算机可以采用第二公钥和AI数据模型采用预设加密算法得到第二加密数据。例如当第二加密算法发生变化时,该第二加密数据也会相应变化。A计算机得到第二加密数据时,A计算机可以将该第二加密数据发送至B服务器。B服务器可以获取到A计算机采用第二公钥和AI数据模型采用预设加密算法得到的第二加密数据。
S202,在第一可信执行环境中通过第二私钥解密第二加密数据,得到第二数据密文中的数据模型;
根据一些实施例,第二私钥为服务器中与第二公钥组成密钥对的密钥。第二公钥和第二私钥为同时生成的,其中第二私钥为仅存储在服务器中的密钥,而第二公钥为服务器进行共享的密钥。
易于理解的是,如图5所示,当服务器获取到模型开发终端采用第二公钥对数据模型进行加密处理得到的第二加密数据时,服务器可以将该第二加密数据加载至第一可信执行环境中。服务器可以在第一可信执行环境中通过第二私钥解密第二加密数据。即服务器可以在第一可信执行环境中采用第二私钥对第二加密数据进行解密处理,得到第二加密数据中的数据模型。
可选的,该服务器例如可以是B服务器。当B服务器获取到A计算机采用第二公钥和AI数据模型采用预设加密算法得到的第二加密数据时,B服务器可以将第二加密数据加载至第一可信执行环境中。B服务器可以在第一可信执行环境中采用第二私钥对第二加密数据进行解密处理,得到第二加密数据中的AI数据模型。
根据一些实施例,服务器中例如可以包括第一可信执行环境和富执行环境。其中,模型开发终端发送第二加密数据至服务器,服务器可以将该第二加密数据直接加载至第一可信执行环境或将第二加密数据加载至富执行环境。
易于理解的是,服务器获取数据模型时,例如可以是模型开发终端发送第二加密数据至服务器,且服务器是在第一可信执行环境中直接加载第二加密数据时,服务器可以直接在第一可信执行环境中通过第二私钥解密第二加密数据,得到第二数据密文中的数据模型。
可选的,服务器获取数据模型例如可以是模型开发终端发送第二加密数据至服务器,且服务器是在富执行环境中加载第二加密数据时,服务器可以将该第二加密数据加载至第一可信执行环境中。当服务器将第二加密数据由富执行环境加载至第一可信执行环境中是,服务器可以在第一可信执行环境中通过第二私钥解密第二加密数据,得到第二数据密文中的数据模型。
S203,在第一可信执行环境中,基于数据模型的模型参数,获取数据模型对应的模型加密密钥;
根据一些实施例,数据模型的模型参数是指数据模型中包括的模型参数,该模型参数包括但不限于数据结构参数、数据操作参数和数据约束参数等等。该模型数据参数并不特指某一固定参数,例如当获取到针对数据模型的模型修改指令时,可以基于该模型修改指令对数据模型中的模型参数进行修改。
易于理解的是,模型加密密钥是服务器在第一可信执行环境针对数据模型生成的加密密钥。该模型加密密钥并不特指某一固定密钥,例如当数据模型发生变化,数据模型中的模型参数也会相应变化,该模型加密密钥也会相应变化。
在一些实施例中,服务器在第一可信执行环境中通过第二私钥解密第二加密数据,得到第二数据密文中的数据模型时,服务器可以在第一可信执行环境中,基于模型数据的模型参数,获取数据模型对应的模型加密密钥。其中模型加密密钥和数据模型是一一对应的。例如数据模型的模型参数发生变化时,该模型加密密钥也会相应变化。
可选的,B服务器在第一可信执行环境中采用第二私钥对第二加密数据进行解密处理,得到第二加密数据中的AI数据模型时,B服务器可以在第一可信执行环境中获取AI数据模型的模型参数。当B服务器获取到AI数据模型的模型参数时,B服务器可以获取AI数据模型对应的模型加密密钥。
根据一些实施例,服务器基于数据模型的模型参数,获取数据模型对应的模型加密密钥时,服务器可以采用密钥生成算法,并根据数据模型的模型参数生成第一加密密钥。第一加密密钥是指仅根据数据模型参数生成的加密密钥。该第一加密密钥并不特指某一固定加密密钥。该第一加密密钥是与数据模型一一对应的。密钥生成算法包括但不限于数字签名算法(Digital Signature Algorithm,DSA)、国际数据加密算法(International DataEncryption Algorithm,IDEA)、单向散列算法等等。单向散列算法包括但不限于MD5算法、安全散列算法(Secure Hash Algorithm,SHA)、消息认证代码(Message AuthenticationCode,MAC)等等。服务获取可以获取对数据模型所分配的加密标签信息。该加密标签信息用于标识该第一加密密钥为对数据模型进行加密处理的密钥。服务器根据第一加密密钥和加密标签信息,可以生成数据模型对应的模型加密密钥。
易于理解的是,服务器例如可以采用安全散列算法,根据AI数据模型的模型参数生成第一加密密钥。该第一加密密钥例如可以是key1,该通过AI数据模型的模型参数获取的SHA1(Model)。服务器对AI数据模型所分配的加密标签信息包括info1值和salt1值。Info1值例如可以设置为“Encrypt Key”,salt1值例如可以为固定值。
S204,采用模型加密密钥对数据模型进行加密处理,得到第一加密数据;
具体过程如上所述,此处不再赘述。
根据一些实施例,服务器在得到第一加密数据之后,服务器可以将第一加密数据发送至服务器中的富执行环境(Rich Execution Enviornment,REE),并存储第一加密数据。其中,富执行环境是指普通执行环境,富执行环境的安全性低于可信执行环境的安全性。因此,服务器在富执行环境中存储的第一加密数据,即服务器在富执行环境中存储的为加密后的数据模型,因此可以提高模型数据存储的安全性,另外由于可信执行环境的本身限制,可以节省可信执行环境的存储空间。
可选的,B服务器获取到AI数据模型的模型参数时,B服务器可以获取AI数据模型对应的模型加密密钥。B服务器可以采用模型加密密钥对AI数据模型进行加密处理,得到第一加密数据,即得到加密后的AI数据模型对应的密文。B服务器在第一可信执行环境中得到第一加密数据时,B服务器可以将改第一加密数据发送至B服务器中的富执行环境,并存储第一加密数据,即B服务器可以将第一加密数据存储至B服务器中的富执行环境。
在一些实施例中,服务器对第一加密数据存储时,可以对数据模型的模型标识和第一加密数据进行关联存储,以便服务器获取到模型下载终端针对数据模型的模型获取请求时可以基于模型获取请求中的模型标识获取到对应的第一加密数据。
S205,获取模型下载终端针对数据模型的模型获取请求,发送第一加密数据至模型下载终端,以使模型下载终端对第一加密数据验证通过后,得到第一加密数据中的数据模型。
具体过程如上所述,此处不在赘述。
根据一些实施例,服务器获取模型下载终端针对数据模型的模型获取请求,发送第一加密数据至模型下载终端,例如可以是服务器确定获取到模型下载终端针对数据模型的模型获取请求,服务器可以采用第一公钥对模型加密密钥进行加密处理,得到加密后的模型加密密钥。其中,第一公钥为模型下载终端针对数据模型共享至授权许可服务器的密钥。服务器可以发送第一加密数据和加密后的模型加密密钥至模型下载终端,以使模型下载终端根据加密后的模型加密密钥对第一加密数据进行解密处理,得到第一加密数据中的数据模型。
根据一些实施例,图6示出本申请实施例提供的一种数据模型处理方法的***架构图。如图6所示,服务器例如可以包括模型服务器和授权许可服务器(license服务器)。请参见图7,图7示出本申请实施例提供的一种数据模型处理方法的流程时序图。服务器发送第一加密数据和加密后的模型加密密钥至模型下载终端时,服务器可以在第一可信执行环境中,基于数据模型的模型参数,控制模型服务器获取数据模型对应的模型验证密钥。服务器控制模型服务器获取到模型验证密钥后,服务器可以控制模型服务器同步模型验证密钥和模型加密密钥至授权许可服务器。
可选的,B服务器控制模型服务器在模型服务器的第一可信执行环境中采用第二私钥对第二加密数据进行解密处理,得到第二加密数据中的AI数据模型时,B服务器控制模型服务器可以在模型服务器的第一可信执行环境中获取AI数据模型的模型参数。当B服务器控制模型服务器获取到AI数据模型的模型参数时,B服务器可以获取AI数据模型对应的模型加密密钥,并获取AI数据模型对应的模型验证密钥。B服务器可以控制模型服务器AI数据模型对应的模型加密密钥和模型验证密钥至授权许可服务器。
易于理解的是,模型服务器是指对数据模型进行加密处理得到第一加密数据的服务器。模型服务器可以在第一可信执行环境中获取数据模型,并基于模型加密密钥对数据模型进行加密处理,以得到第一加密数据。
在一些实施例中,服务器确定模型服务器获取到模型下载终端针对数据模型的模型获取请求,可以发送第一加密数据至模型下载终端。模型服务器获取第一加密数据时,可以解析模型获取请求得到模型标识。模型标识用于唯一标识数据模型。模型服务器可以基于该模型标识获取到数据模型对应的第一加密数据。若第一加密数据存储于模型服务器的富执行环境中时,模型服务器可以将富执行环境终端的第一加密数据发送至模型下载终端。例如,模型服务器可以将AI数据模型对应的第一加密数据发送至A终端。
易于理解的是,服务器确定授权许可服务器获取模型下载终端针对数据模型的模型许可请求,服务器可以控制授权许可服务器采用第二私钥对与数据模型对应的权限信息、模型验证密钥和模型加密密钥进行签名,得到与数据模型对应的验证信息。第二私钥为服务器中针对数据模型生成的密钥,第二公钥和第二私钥组成密钥对。当服务器控制授权许可服务器获取到验证信息时,服务器可以控制授权许可服务器发送验证信息至模型下载终端,验证信息用于指示模型下载终端根据验证信息得到第一加密数据中的数据模型。
根据一些实施例,获取模型验证密钥的执行主体具体可以是模型服务器。服务器基于数据模型的模型参数,获取数据模型对应的模型验证密钥时,服务器可以采用密钥生成算法,并根据数据模型和密钥生成算法生成第二加密密钥。第二加密密钥是指仅根据数据模型参数生成的加密密钥。当针对同一数据模型和同样的密钥生成算法生成第一加密密钥和第二加密密钥时,第一加密密钥和第二加密密钥可以是相同的。当数据模型的模型参数发生变化时,第一加密密钥和第二加密密钥则不相同。该第二加密密钥是与数据模型一一对应的。该第二加密密钥并不特指某一固定加密密钥。例如当数据模型的模型参数发生变化或者密钥生成算法发生变化时,第二加密密钥都会相应变化。服务器可以获取对数据模型所分配的验证标签信息,根据第二加密密钥和验证标签信息,生成数据模型对应的模型验证密钥。密钥生成算法包括但不限于DSA算法、IDEA算法、单向散列算法等等。单向散列算法包括但不限于MD5算法、SHA算法、MAC算法等等。该验证标签信息用于标识该第二加密密钥为对数据模型进行验证处理的密钥。
易于理解的是,服务器例如可以采用安全散列算法,根据AI数据模型的模型参数生成第二加密密钥。该第二加密密钥例如可以是key2,该通过AI数据模型的模型参数获取的SHA2(Model)。服务器对AI数据模型所分配的验证标签信息包括info2值和salt2值。Info1值例如可以设置为“Hmac Key”,salt2值例如可以为固定值。Salt1值和Salt2值可以是不同数值。
根据一些实施例,图8示出本申请实施例提供的一种数据模型处理方法的***架构图。如图8所示,该***架构图中仅包括一个服务器。请参见图9,图9示出本申请实施例提供的一种数据模型处理方法的流程时序图。服务器发送第一加密数据和加密后的模型加密密钥至模型下载终端时,服务器可以在第一可信执行环境中,获取权限信息。该权限信息用于指示模型下载终端是否可以对该第一加密数据进行解密处理的权限。服务器可以将第一加密数据、权限信息和加密后的模型加密密钥进行打包,得到模型头部数据。服务器可以采用第二私钥对模型头部数据进行签名,得到签名后的模型头部数据,第二私钥为服务器中针对数据模型生成的密钥。服务器针对模型下载终端发送的模型获取请求,服务器可以发送签名后的模型头部数据至模型下载终端,以使模型下载终端根据签名后的模型头部数据,得到第一加密数据中的数据模型。
易于理解的是,该权限信息例如可以包括授权应用程序集合,该授权应用集合中例如可以包括Q应用程序、W应用程序、E应用程序、R应用程序和T应用程序,即只有模型下载终端的使用AI数据模型的应用程序是授权应用程序时,模型下载终端才可以对第一加密数据进行解密处理。例如,在A终端启动W应用程序时,可以生成包括P模型标识的模型获取请求。A终端可以发送该模型获取请求至B服务器。A终端发送模型获取请求时可以同时共享第一公钥至服务器。B服务器可以在第一可信执行环境中获取与P模型标识对应的权限信息和第一加密数据。该第一加密数据中例如包括p数据模型。B服务器可以采用第一公钥对模型加密密钥进行加密处理得到加密后的模型加密密钥。B服务器可以对第一加密数据、权限信息和加密后的模型加密密钥进行打包,得到模型头部数据。服务器可以采用第二私钥对模型头部数据进行签名,得到签名后的模型头部数据。B服务器可以发送该签名后的模型头部数据至A终端。A终端可以采用第二公钥对该签名后的模型头部数据进行验证。当A终端对签名后的模型头部数据验证通过后,A终端可以解析签名后的模型头部数据得到第一加密数据、权限信息和加密后的模型加密密钥。A终端可以采用第一私钥对加密后的模型加密密钥进行解密处理得到模型加密密钥。A终端可以检测W应用程序是否属于授权应用程序,即确定W应用程序是否在权限信息中。当A终端确定W应用程序属于授权应用程序时,A终端可以采用模型加密密钥对第一加密数据进行解密处理,得到第一加密数据中的AI数据模型。
在本申请一个或多个实施例中,服务器获取数据模型时,可以获取模型开发终端采用第二公钥对数据模型进行加密处理得到的第二加密数据,可以在第一可信执行环境中通过第二私钥解密第二加密数据,得到第二数据密文中的数据模型,由于第二私钥仅存在服务器中,且服务器是在第一可信执行环境中采用第二私钥对第二加密数据进行解密,因此降低了数据模型被篡改的概率,可以提高数据模型获取的安全性。其次,通过在第一可信执行环境中获取数据模型,可以基于模型加密密钥对数据模型进行加密处理,以得到第一加密数据,获取模型下载终端针对数据模型的模型获取请求,发送第一加密数据至模型下载终端,以使模型下载终端对第一加密数据验证通过后,得到第一加密数据中的数据模型,因此,服务器只有在安全执行环境中才会获取到数据模型,可以减少普通执行环境获取数据模型时数据模型被篡改的概率,发送至模型下载终端的为第一加密数据,而不是未加密的数据模型,也就是说,数据模型仅存在于安全执行环境中,可以减少直接发送数据模型导致模型被篡改的概率,可以提高模型获取的安全性。
请参见图10,图10示出本申请实施例提供的一种数据模型处理方法的流程示意图。具体的:
S301,发送模型获取请求至服务器;
根据一些实施例,本实施例中的执行主体为模型下载终端,该模型下载终端包括但不限于:可穿戴设备、手持设备、个人电脑、平板电脑、车载设备、智能手机、计算设备或连接到无线调制解调器的其它处理设备等。在不同的网络中终端可以叫做不同的名称,例如:用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置、蜂窝电话、无绳电话、个人数字处理、第五代移动通信技术网络、***移动通信技术网络、第三代移动通信技术网络或未来演进网络中的终端等。
易于理解的是,模型获取请求中包括模型标识,模型标识用于指示服务器获取与模型标识对应的第一加密数据,第一加密数据中包括与模型标识对应的数据模型。该第一加密数据为服务器在第一可信执行环境中对数据模型进行加密生成的。例如可以是模型开发终端接收用户针对数据模型的开发指令,开发数据模型。模型开发终端是指用于开发数据模型的终端,该模型开发终端并不特指某一固定终端。当模型开发终端采用第二公钥对数据模型进行加密处理后得到第二加密数据时,模型开发终端可以将第二加密数据发送至服务器。当服务器检测到模型开发终端发送第二加密数据时,服务器可以获取到模型开发终端发送的第二加密数据,即服务器可以获取到模型开发终端采用第二公钥对数据模型进行加密处理得到的第二加密数据。第二公钥为服务器针对数据模型共享至模型开发终端的密钥,该第二公钥并不特指某一固定公钥。服务器可以针对数据模型生成第二公钥,并将第二公钥共享至模型开发终端。
根据一些实施例,当服务器获取到模型开发终端采用第二公钥对数据模型进行加密处理得到的第二加密数据时,服务器可以将该第二加密数据加载至第一可信执行环境中。服务器可以在第一可信执行环境中通过第二私钥解密第二加密数据。即服务器可以在第一可信执行环境中采用第二私钥对第二加密数据进行解密处理,得到第二加密数据中的数据模型。第二私钥为服务器中与第二公钥组成密钥对的密钥。第二公钥和第二私钥为同时生成的,其中第二私钥为仅存储在服务器中的密钥,而第二公钥为服务器进行共享的密钥。
易于理解的是,当模型下载终端执行模型获取方法时,模型下载终端可以发送模型获取请求至服务器。该模型获取请求中包括模型标识。模型标识用于指示服务器获取与模型标识对应的第一加密数据,即服务器接收到该模型获取请求时,可以获取该模型获取请求中的模型标识,并获取与该模型标识对应的第一加密数据。服务器获取到该第一加密数据时,可以发送该第一加密数据至模型下载终端。
S302,获取服务器针对模型获取请求发送的第一加密数据;
根据一些实施例,加密数据是指对明文进行加密处理后密文。第一加密数据是指服务器针对数据模型进行加密处理后得到的加密数据。该第一加密数据并不特指某一固定数据。例如,当数据模型的模型类型发生变化时,该数据模型也会相应变化,该第一加密数据也会相应变化。
易于理解的是,模型下载终端在发送模型获取请求服务器后,且在确定服务器发送第一加密数据时,模型下载终端可以获取服务器针对模型获取请求发送的第一加密数据。该第一加密数据中包括模型下载终端所请求的数据模型。
S303,在第二可信执行环境中对第一加密数据验证通过后,得到第一加密数据中的数据模型。
根据一些实施例,当模型下载终端获取到服务器针对模型获取请求发送的第一加密数据时,模型下载终端可以对第一加密数据进行验证。模型下载终端在第二可信执行环境对第一加密数据验证通过后,模型下载终端可以得到第一加密数据中的数据模型。
可选的,可信执行环境是指加密或隔离的、因而被认为安全可信的执行环境,因此,代码和数据在加密或隔离的环境里不易受来自环境外的攻击。第二可执行环境是指模型下载终端提供的硬件级安全技术,可以为程序和数据提供隔离的运行空间,确保执行结果可信,因此第二可执行环境仅仅是指模型下载终端中的安全运行环境,并不特指某一固定运行环境。当模型下载终端针对第二可执行环境设置的内存发生变化时,该第二可信执行环境也会相应变化。
在本申请一个或多个实施例中,通过发送模型获取请求至服务器,可以获取服务器针对模型获取请求发送的第一加密数据,在第二可信执行环境中在第一加密数据验证通过后,可以得到第一加密数据中的数据模型,由于第一加密数据为服务器对数据模型进行加密得到的,因此服务器传输至模型下载终端的是加密后的数据模型,且模型下载终端是在第二可信执行环境中获取到的数据模型,降低数据模型被篡改的概率,可以减少直接在富执行环境中获取数据模型导致模型获取不准确的问题,可以提高数据模型获取的安全性。其次,模型下载终端只有在验证通过后,才可以获取到第一加密数据中的数据模型,可以降低数据模型被篡改的风险,减少数据模型丢失的概率,可以提高数据模型获取的安全性。
请参见图11,图11示出本申请实施例提供的一种数据模型处理方法的流程示意图。具体的:
S401,发送模型获取请求至服务器;
具体过程如上所述,此处不再赘述。
S402,获取服务器针对模型获取请求发送的第一加密数据;
具体过程如上所述,此处不再赘述。
S403,获取第一加密数据和加密后的模型加密密钥,对第一加密数据验证进行验证;
根据一些实施例,模型下载终端获取到第一加密数据时,终端可以确定是否获取到加密后的模型加密密钥。其中加密后的模型加密密钥为服务器采用第一公钥对模型加密密钥进行加密得到的,模型加密密钥用于服务器采用模型加密密钥将数据模型加密为第一模型数据的密钥,第一公钥为模型下载终端针对数据模型共享至授权许可服务器的密钥。
易于理解的是,模型下载终端获取到第一加密数据和加密后的模型加密密钥时,模型下载终端可以对第一加密数据进行验证。模型下载终端对第一加密数据进行验证包括但不限于服务器安全性验证、权限验证、数据模型完整性校验、加密数据完整校验等等。
可选的,模型下载终端获取到签名后的模型头部数据时,由于签名后的模型头部数据是服务器采用第二私钥对模型头部数据进行签名得到的,第二私钥为服务器中针对数据模型生成的密钥,因此模型下载终端可以采用第二公钥对该签名后的模型头部数据进行验证。
在一些实施例中,若模型下载终端获取到的第一加密数据是由模型服务器发送的,加密后的模型加密密钥是由授权许可服务器发送的,则对第一加密数据验证进行验证包括对授权许可服务器的安全性验证、权限验证等。
S404,对第一加密数据的验证通过后,采用第一私钥对加密后的模型加密密钥进行解密处理得到模型加密密钥;
根据一些实施例,当模型下载终端对第一加密数据的验证通过后,由于加密后的模型加密密钥为服务器采用第一公钥对模型加密密钥进行加密处理得到的,因此模型下载终端可以采用第一私钥对加密后的模型加密密钥进行解密处理的得到模型加密密钥。其中第一私钥为仅存在于模型下载终端中的密钥,第一私钥为模型下载终端中与第一公钥组成第一密钥对的密钥。
根据一些实施例,服务器例如可以包括模型服务器和授权许可服务器。对第一加密数据的验证通过后,采用第一私钥对加密后的模型加密密钥进行解密处理得到模型加密密钥时,模型下载终端例如可以确定第一加密数据是否由模型服务器发送的。若模型下载终端确定第一加密数据为模型服务器发送的,则发送模型许可请求至授权许可服务器。即模型下载终端生成针对该数据模型的模型许可请求,该模型许可请求中例如可以包括该数据模型的模型标识。当授权许可服务器获取到该模型许可请求时,授权许可服务器可以获取与该数据对应的权限信息。该权限信息例如可以包括至少一个授权许可应用程序等。授权许可服务器可以采用第二私钥对数据模型对应的权限信息和加密后的模型加密密钥进行签名得到验证信息,并将该验证信息发送至模型下载终端。其中,第二私钥为服务器中针对数据模型生成的密钥,且该第二私钥仅存储于服务器中。
在一些实施例中,模型下载终端可以获取授权许可服务器发送的验证信息。当模型下载终端获取到该验证信息时,模型下载终端可以采用第二公钥对该验证信息进行签名验证。第二公钥为服务器针对数据模型共享至模型下载终端的密钥,第二私钥与第二公钥组成第二密钥对。模型下载终端采用第二公钥对验证信息进行签名验证通过后,模型下载终端可以对权限信息进行权限验证,以便模型下载终端可以确定模型下载终端是否有获取该数据模型的权限。模型下载终端进行签名验证包括但不限于对服务器证书的校验、校验服务器是否可信、加密数据是否完整等。
可选的,模型下载终端对权限信息的权限验证通过后,模型下载终端可以在第二可信执行环境中通过第一私钥对加密后的模型加密密钥进行解密处理得到模型加密密钥中的模型加密密钥和模型验证密钥。其中第二可信执行环境为模型下载终端中的安全执行环境。
根据一些实施例,服务器的数量仅为一个。模型下载终端对第一加密数据的验证通过后,采用第一私钥对加密后的模型加密密钥进行解密处理得到模型加密密钥时,若模型下载终端确定第一加密数据为服务器发送的,则模型下载终端可以采用第二公钥对签名后的模型头部数据进行签名验证。模型下载终端对签名后的模型头部数据进行签名验证包括但不限于验证服务器的安全性、模型头部数据的完整性校验等等。其中第二私钥为服务器中针对数据模型生成的密钥。签名后的模型头部数据为服务器对第一加密数据、权限信息和加密后的模型加密密钥进行打包和签名后得到的数据,第二公钥为服务器针对数据模型共享至模型下载终端的密钥,第二私钥与第二公钥组成第二密钥对。
在一些实施例中,模型下载终端对模型头部数据的签名通过后,模型下载终端在第二可信执行环境中对权限信息进行权限验证。模型下载终端对权限信息的权限验证通过后,模型下载终端可以在第二可信执行环境中通过第一私钥对模型头部数据进行解密处理得到模型加密密钥中的模型加密密钥。
S405,在第二可信执行环境中采用模型加密密钥对第一加密数据进行解密处理,得到第一加密数据中的数据模型。
根据一些实施例,在模型下载终端获取到模型加密密钥时,模型下载终端可以在第二可信执行环境中采用模型加密密钥对第一加密数据进行解密处理,得到第一加密数据中的数据模型。
根据一些实施例,服务器包括模型服务器和授权许可服务器。模型下载终端在第二可信执行环境中获取到模型加密密钥和模型验证密钥时,模型下载终端采用模型加密密钥对第一加密数据进行解密处理,得到第一加密数据中的数据模型,例如可以是模型下载终端在第二可信执行环境中根据模型验证密钥对第一加密数据进行完整性校验。对第一加密数据进行完整性校验通过后,模型下载终端可以在第二可信执行环境中通过模型加密密钥对第一加密数据进行解密处理,得到第一加密数据中的数据模型。模型下载终端对第一加密数据进行完整性校验可以确定第一加密数据是否被篡改,可以提高第一加密数据的安全性,进而可以提高数据模型获取的准确性。
根据一些实施例,服务器的数量仅为一个。模型下载终端在第二可信执行环境中通过第一私钥对模型头部数据进行解密处理得到模型加密密钥中的模型加密密钥时,模型下载终端可以在第二可信执行环境中采用模型加密密钥对第一加密数据进行解密处理,得到第一加密数据中的数据模型例如可以是模型下载终端在第二可信执行环境中通过模型加密密钥对第一加密数据进行解密处理,得到第一加密数据中的数据模型。
在一些实施例中,当模型下载终端在第二可信执行环境中获取到第一加密数据中的数据模型时,模型下载终端可以运行该数据模型。模型下载终端在运行该数据模型时,模型下载终端可以将第二可信执行环境中获取到的数据模型加载至模型下载终端的富执行环境中,并在富执行环境中运行该数据模型。由于,模型下载终端是在第二可信执行环境获取的第一加密数据中的数据模型,且在模型下载终端的富执行环境中运行该数据模型,可以减少直接在富执行环境中运行加密后的数据模型导致数据模型运行效率较低的情况,也可以降低数据模型被篡改的概率,因此可以在保证数据模型运行效率的同时提高模型获取的安全性。
在本申请一个或多个实施例中,模型下载终端可以发送模型获取请求至服务器,由于模型获取请求中包括模型标识,可以提高减少服务器获取第一加密数据的时长,模型下载终端可以获取服务器针对模型获取请求发送的第一加密数据,可以减少模型下载终端获取第一加密数据的时长,进而减少数据模型的获取时长。其次,获取第一加密数据和加密后的模型加密密钥,对第一加密数据验证进行验证,对第一加密数据的验证通过后,采用第一私钥对加密后的模型加密密钥进行解密处理得到模型加密密钥,模型下载终端对第一加密数据的验证,可以提高第一加密数据获取的准确性,进而提高数据模型获取的准确性。其次,模型下载终端是在第二可信执行环境中获取到的数据模型,降低数据模型被篡改的概率,可以减少直接在富执行环境中获取数据模型导致模型获取不准确的问题,可以提高数据模型获取的安全性。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参见图12,其示出了本申请一个示例性实施例提供的数据模型处理装置的结构示意图。该数据模型处理装置可以通过软件、硬件或者两者的结合实现成为装置的全部或一部分。该数据模型处理装置1200包括模型获取单元1201、模型加密单元1202和数据发送单元1203,其中:
模型获取单元1201,用于在第一可信执行环境中获取数据模型;
模型加密单元1202,用于基于模型加密密钥对数据模型进行加密处理,以得到第一加密数据,模型加密密钥与数据模型一一对应;
数据发送单元1203,用于获取模型下载终端针对数据模型的模型获取请求,发送第一加密数据至模型下载终端,以使模型下载终端对第一加密数据验证通过后,得到第一加密数据中的数据模型。
根据一些实施例,图13示出本申请实施例提供的一种数据模型处理装置的结构示意图。如图13所示,模型加密单元1202包括密钥获取子单元1212和模型加密子单元1222,模型加密单元1202,用于基于模型加密密钥对数据模型进行加密处理,以得到第一加密数据时:
密钥获取子单元1212,用于在第一可信执行环境中,基于数据模型的模型参数,获取数据模型对应的模型加密密钥;
模型加密子单元1222,用于采用模型加密密钥对数据模型进行加密处理,得到第一加密数据。
根据一些实施例,密钥获取子单元1212,用于基于数据模型的模型参数,获取数据模型对应的模型加密密钥时,具体用于:
采用密钥生成算法,并根据数据模型的模型参数生成第一加密密钥;
获取对数据模型所分配的加密标签信息;
根据第一加密密钥和加密标签信息,生成数据模型对应的模型加密密钥。
根据一些实施例,图14示出本申请实施例提供的一种数据模型处理装置的结构示意图。如图14所示,该数据模型处理装置1200还包括数据存储单元1204,用于得到第一加密数据之后,将第一加密数据发送至服务器中的富执行环境,并存储第一加密数据。
根据一些实施例,数据发送单元1203,用于获取模型下载终端针对数据模型的模型获取请求,发送第一加密数据至模型下载终端时,具体用于:
获取模型下载终端针对数据模型的模型获取请求,采用第一公钥对模型加密密钥进行加密处理,得到加密后的模型加密密钥,第一公钥为模型下载终端针对数据模型共享至授权许可服务器的密钥;
发送第一加密数据和加密后的模型加密密钥至模型下载终端,以使模型下载终端根据加密后的模型加密密钥对第一加密数据进行解密处理,得到第一加密数据中的数据模型。
根据一些实施例,服务器包括模型服务器和授权许可服务器,数据发送单元1203,用于发送第一加密数据和加密后的模型加密密钥至模型下载终端,包括:
在第一可信执行环境中,基于数据模型的模型参数,控制模型服务器获取数据模型对应的模型验证密钥;
控制模型服务器同步模型验证密钥和模型加密密钥至授权许可服务器;
确定模型服务器获取到模型下载终端针对数据模型的模型获取请求,发送第一加密数据至模型下载终端;
确定授权许可服务器获取到模型下载终端针对数据模型的模型许可请求,控制授权许可服务器采用第二私钥对与数据模型对应的权限信息、模型验证密钥和模型加密密钥进行签名,得到与数据模型对应的验证信息,第二私钥为服务器中针对数据模型生成的密钥;
控制授权许可服务器发送验证信息至模型下载终端,验证信息用于指示模型下载终端根据验证信息得到第一加密数据中的数据模型。
根据一些实施例,密钥获取子单元1212还用于基于数据模型的模型参数,获取数据模型对应的模型验证密钥,且具体用于:
采用密钥生成算法,并根据数据模型和密钥生成算法生成第二加密密钥;
获取对数据模型所分配的验证标签信息;
根据第二加密密钥和验证标签信息,生成数据模型对应的模型验证密钥。
根据一些实施例,数据发送单元1203,用于发送第一加密数据和加密后的模型加密密钥至模型下载终端时,具体用于:
在第一可信执行环境中,获取权限信息;
将第一加密数据、权限信息和加密后的模型加密密钥进行打包,得到模型头部数据;
采用第二私钥对模型头部数据进行签名,得到签名后的模型头部数据,第二私钥为服务器中针对数据模型生成的密钥;
发送签名后的模型头部数据至模型下载终端,以使模型下载终端根据签名后的模型头部数据,得到第一加密数据中的数据模型。
根据一些实施例,数据模型处理单元1201,用于获取数据模型,包括:
获取模型开发终端采用第二公钥对数据模型进行加密处理得到的第二加密数据,第二公钥为服务器针对数据模型共享至模型开发终端的密钥;
在第一可信执行环境中通过第二私钥解密第二加密数据,得到第二数据密文中的数据模型,第二私钥为服务器中与第二公钥组成密钥对的密钥。
需要说明的是,上述实施例提供的数据模型处理装置在执行数据模型处理方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据模型处理装置与数据模型处理方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请一个或多个实施例中,通过模型获取单元在第一可信执行环境中获取数据模型,模型加密单元可以基于模型加密密钥对数据模型进行加密处理,以得到第一加密数据,模型加密密钥与数据模型一一对应,数据发送单元获取模型下载终端针对数据模型的模型获取请求,发送第一加密数据至模型下载终端,以使模型下载终端对第一加密数据验证通过后,得到第一加密数据中的数据模型。因此,数据模型处理装置只有在安全执行环境中才会获取到数据模型,可以减少普通执行环境获取数据模型时数据模型被篡改的概率,发送至模型下载终端的为第一加密数据,而不是未加密的数据模型,也就是说,数据模型仅存在于安全执行环境中,可以减少直接发送数据模型导致模型被篡改的概率,可以提高模型获取的安全性。
请参见图15,其示出了本申请一个示例性实施例提供的数据模型处理装置的结构示意图。该数据模型处理装置可以通过软件、硬件或者两者的结合实现成为装置的全部或一部分。该数据模型处理装置1500包括请求发送单元1501、数据获取单元1502和数据验证单元1503,其中:
请求发送单元1501,用于发送模型获取请求至服务器,模型获取请求中包括模型标识,模型标识用于指示服务器获取与模型标识对应的第一加密数据,第一加密数据中包括与模型标识对应的数据模型;
数据获取单元1502,用于获取服务器针对模型获取请求发送的第一加密数据;
数据验证单元1503,用于在第二可信执行环境中对第一加密数据验证通过后,得到第一加密数据中的数据模型。
根据一些实施例,图16示出本申请实施例提供的一种数据模型处理装置的结构示意图。如图16所示,数据验证单元1503包括数据验证子单元1513、加密密钥获取子单元1523和数据解密子单元1533,数据验证单元1503,用于在第二可信执行环境中对第一加密数据验证通过后,得到第一加密数据中的数据模型时:
数据验证子单元1513,用于获取第一加密数据和加密后的模型加密密钥,对第一加密数据验证进行验证,加密后的模型加密密钥为服务器采用第一公钥对模型加密密钥进行加密得到的,模型加密密钥用于服务器采用模型加密密钥将数据模型加密为第一模型数据的密钥,第一公钥为模型下载终端针对数据模型共享至授权许可服务器的密钥;
加密密钥获取子单元1523,用于对第一加密数据的验证通过后,采用第一私钥对加密后的模型加密密钥进行解密处理得到模型加密密钥,第一私钥为模型下载终端中与第一公钥组成第一密钥对的密钥;
数据解密子单元1533,用于在第二可信执行环境中采用模型加密密钥对第一加密数据进行解密处理,得到第一加密数据中的数据模型。
根据一些实施例,加密密钥获取子单元1523,用于对第一加密数据的验证通过后,采用第一私钥对加密后的模型加密密钥进行解密处理得到模型加密密钥时,具体用于:
确定第一加密数据为模型服务器发送的,发送模型许可请求至授权许可服务器;
获取授权许可服务器发送的验证信息,验证信息为授权许可服务器采用第二私钥对数据模型对应的权限信息和加密后的模型加密密钥进行签名得到的,第二私钥为服务器中针对数据模型生成的密钥;
采用第二公钥对验证信息进行签名验证通过后,对权限信息进行权限验证,第二公钥为服务器针对数据模型共享至模型下载终端的密钥,第二私钥与第二公钥组成第二密钥对;
对权限信息的权限验证通过后,在第二可信执行环境中通过第一私钥对加密后的模型加密密钥进行解密处理得到模型加密密钥中的模型加密密钥和模型验证密钥;
数据解密子单元1533,用于在第二可信执行环境中采用模型加密密钥对第一加密数据进行解密处理,得到第一加密数据中的数据模型时,具体用于:
在第二可信执行环境中根据模型验证密钥对第一加密数据进行完整性校验;
对第一加密数据进行完整性校验通过后,通过模型加密密钥对第一加密数据进行解密处理,得到第一加密数据中的数据模型。
根据一些实施例,加密密钥获取子单元1523,用于确定对第一加密数据的验证通过后,采用第一私钥对加密后的模型加密密钥进行解密处理得到模型加密密钥时,具体用于:
确定第一加密数据为服务器发送的,采用第二公钥对签名后的模型头部数据进行签名验证,第二私钥为服务器中针对数据模型生成的密钥,签名后的模型头部数据为服务器对第一加密数据、权限信息和加密后的模型加密密钥进行打包和签名后得到的数据,第二公钥为服务器针对数据模型共享至模型下载终端的密钥,第二私钥与第二公钥组成第二密钥对;
对模型头部数据的签名通过后,在第二可信执行环境中对权限信息进行权限验证;
对权限信息的权限验证通过后,通过第一私钥对模型头部数据进行解密处理得到模型加密密钥中的模型加密密钥;
数据解密子单元1533,用于在第二可信执行环境中采用模型加密密钥对第一加密数据进行解密处理,得到第一加密数据中的数据模型时,具体用于:
在第二可信执行环境中通过模型加密密钥对第一加密数据进行解密处理,得到第一加密数据中的数据模型。
在本申请一个或多个实施例中,通过请求发送单元发送模型获取请求至服务器,模型获取请求中包括模型标识,数据获取单元可以获取服务器针对模型获取请求发送的第一加密数据,数据验证单元可以在第二可信执行环境中对第一加密数据验证通过后,得到第一加密数据中的数据模型。由于第一加密数据为服务器对数据模型进行加密得到的,因此服务器传输至数据模型处理装置的是加密后的数据模型,且数据模型处理装置是在第二可信执行环境中获取到的数据模型,降低数据模型被篡改的概率,可以减少直接在富执行环境中获取数据模型导致模型获取不准确的问题,可以提高数据模型获取的安全性。
本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图3-图9或图10-图11所示实施例的所述数据模型处理方法,具体执行过程可以参见图3-图9或图10-图11所示实施例的具体说明,在此不进行赘述。
本申请还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行如上述图3-图9或图10-图11所示实施例的所述数据模型处理方法,具体执行过程可以参见图3-图9或图10-图11所示实施例的具体说明,在此不进行赘述。
本申请实施例提供一种服务器,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述图3-图9所示实施例的所述数据模型处理方法,具体执行过程可以参见图3-图9或图10-图11所示实施例的具体说明,在此不进行赘述。
请参考图17,其示出了本申请一个示例性实施例提供的终端的结构方框图。本申请中的终端可以包括一个或多个如下部件:处理器110、存储器120、输入装置130、输出装置140和总线150。处理器110、存储器120、输入装置130和输出装置140之间可以通过总线150连接。所述处理器加载并执行如上述图3-图10所示实施例的所述数据模型处理方法,具体执行过程可以参见图3-图10所示实施例的具体说明,在此不进行赘述。
处理器110可以包括一个或者多个处理核心。处理器110利用各种接口和线路连接整个终端内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行终端100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(digital signal processing,DSP)、现场可编程门阵列(field-programmable gate array,FPGA)、可编程逻辑阵列(programmable logicArray,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(centralprocessing unit,CPU)、图像处理器(graphics processing unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作***、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
存储器120可以包括随机存储器(random Access Memory,RAM),也可以包括只读存储器(read-only memory,ROM)。可选地,该存储器120包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作***的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等,该操作***可以是安卓(Android)***,包括基于Android***深度开发的***、苹果公司开发的IOS***,包括基于IOS***深度开发的***或其它***。存储数据区还可以存储终端在使用中所创建的数据比如电话本、音视频数据、聊天记录数据,等。
参见图18所示,存储器120可分为操作***空间和用户空间,操作***即运行于操作***空间,原生及第三方应用程序即运行于用户空间。为了保证不同第三方应用程序均能够达到较好的运行效果,操作***针对不同第三方应用程序为其分配相应的***资源。然而,同一第三方应用程序中不同应用场景对***资源的需求也存在差异,比如,在本地资源加载场景下,第三方应用程序对磁盘读取速度的要求较高;在动画渲染场景下,第三方应用程序则对GPU性能的要求较高。而操作***与第三方应用程序之间相互独立,操作***往往不能及时感知第三方应用程序当前的应用场景,导致操作***无法根据第三方应用程序的具体应用场景进行针对性的***资源适配。
为了使操作***能够区分第三方应用程序的具体应用场景,需要打通第三方应用程序与操作***之间的数据通信,使得操作***能够随时获取第三方应用程序当前的场景信息,进而基于当前场景进行针对性的***资源适配。
以操作***为Android***为例,存储器120中存储的程序和数据如图19所示,存储器120中可存储有Linux内核层320、***运行时库层340、应用框架层360和应用层380,其中,Linux内核层320、***运行库层340和应用框架层360属于操作***空间,应用层380属于用户空间。Linux内核层320为终端的各种硬件提供了底层的驱动,如显示驱动、音频驱动、摄像头驱动、蓝牙驱动、Wi-Fi驱动、电源管理等。***运行库层340通过一些C/C++库来为Android***提供了主要的特性支持。如SQLite库提供了数据库的支持,OpenGL/ES库提供了3D绘图的支持,Webkit库提供了浏览器内核的支持等。在***运行时库层340中还提供有安卓运行时库(Android runtime),它主要提供了一些核心库,能够允许开发者使用Java语言来编写Android应用。应用框架层360提供了构建应用程序时可能用到的各种API,开发者也可以通过使用这些API来构建自己的应用程序,比如活动管理、窗口管理、视图管理、通知管理、内容提供者、包管理、通话管理、资源管理、定位管理。应用层380中运行有至少一个应用程序,这些应用程序可以是操作***自带的原生应用程序,比如联系人程序、短信程序、时钟程序、相机应用等;也可以是第三方开发者所开发的第三方应用程序,比如游戏类应用程序、即时通信程序、相片美化程序、数据模型处理程序等。
以操作***为IOS***为例,存储器120中存储的程序和数据如图20所示,IOS***包括:核心操作***层420(Core OS layer)、核心服务层440(Core Services layer)、媒体层460(Media layer)、可触摸层480(Cocoa Touch Layer)。核心操作***层420包括了操作***内核、驱动程序以及底层程序框架,这些底层程序框架提供更接近硬件的功能,以供位于核心服务层440的程序框架所使用。核心服务层440提供给应用程序所需要的***服务和/或程序框架,比如基础(Foundation)框架、账户框架、广告框架、数据存储框架、网络连接框架、地理位置框架、运动框架等等。媒体层460为应用程序提供有关视听方面的接口,如图形图像相关的接口、音频技术相关的接口、视频技术相关的接口、音视频传输技术的无线播放(AirPlay)接口等。可触摸层480为应用程序开发提供了各种常用的界面相关的框架,可触摸层480负责用户在终端上的触摸交互操作。比如本地通知服务、远程推送服务、广告框架、游戏工具框架、消息用户界面接口(User Interface,UI)框架、用户界面UIKit框架、地图框架等等。
在图17所示出的框架中,与大部分应用程序有关的框架包括但不限于:核心服务层440中的基础框架和可触摸层480中的UIKit框架。基础框架提供许多基本的对象类和数据类型,为所有应用程序提供最基本的***服务,和UI无关。而UIKit框架提供的类是基础的UI类库,用于创建基于触摸的用户界面,iOS应用程序可以基于UIKit框架来提供UI,所以它提供了应用程序的基础架构,用于构建用户界面,绘图、处理和用户交互事件,响应手势等等。
其中,在IOS***中实现第三方应用程序与操作***数据通信的方式以及原理可参考Android***,本申请在此不再赘述。
其中,输入装置130用于接收输入的指令或数据,输入装置130包括但不限于键盘、鼠标、摄像头、麦克风或触控设备。输出装置140用于输出指令或数据,输出装置140包括但不限于显示设备和扬声器等。在一个示例中,输入装置130和输出装置140可以合设,输入装置130和输出装置140为触摸显示屏,该触摸显示屏用于接收用户使用手指、触摸笔等任何适合的物体在其上或附近的触摸操作,以及显示各个应用程序的用户界面。触摸显示屏通常设置在终端的前面板。触摸显示屏可被设计成为全面屏、曲面屏或异型屏。触摸显示屏还可被设计成为全面屏与曲面屏的结合,异型屏与曲面屏的结合,本申请实施例对此不加以限定。
除此之外,本领域技术人员可以理解,上述附图所示出的终端的结构并不构成对终端的限定,终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,终端中还包括射频电路、输入单元、传感器、音频电路、无线保真(wirelessfidelity,WiFi)模块、电源、蓝牙模块等部件,在此不再赘述。
在本申请实施例中,各步骤的执行主体可以是上文介绍的终端。可选地,各步骤的执行主体为终端的操作***。操作***可以是安卓***,也可以是IOS***,或者其它操作***,本申请实施例对此不作限定。
本申请实施例的终端,其上还可以安装有显示设备,显示设备可以是各种能实现显示功能的设备,例如:阴极射线管显示器(cathode ray tubedisplay,简称CR)、发光二极管显示器(light-emitting diode display,简称LED)、电子墨水屏、液晶显示屏(liquidcrystal display,简称LCD)、等离子显示面板(plasma display panel,简称PDP)等。用户可以利用终端100上的显示设备,来查看显示的文字、图像、视频等信息。所述终端可以是智能手机、平板电脑、游戏设备、AR(Augmented Reality,增强现实)设备、汽车、数据存储装置、音频播放装置、视频播放装置、笔记本、桌面计算设备、可穿戴设备诸如电子手表、电子眼镜、电子头盔、电子手链、电子项链、电子衣物等设备。
本领域的技术人员可以清楚地了解到本申请的技术方案可借助软件和/或硬件来实现。本说明书中的“单元”和“模块”是指能够独立完成或与其他部件配合完成特定功能的软件和/或硬件,其中硬件例如可以是现场可编程门阵列(Field-ProgrammaBLE GateArray,FPGA)、集成电路(Integrated Circuit,IC)等。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通进程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。
以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者匹配度变化,这些变型、用途或者匹配度变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。
Claims (17)
1.一种数据模型处理方法,其特征在于,应用于服务器,所述方法包括:
在第一可信执行环境中获取数据模型;
基于模型加密密钥对所述数据模型进行加密处理,以得到第一加密数据,所述模型加密密钥与所述数据模型一一对应;
获取模型下载终端针对所述数据模型的模型获取请求,发送所述第一加密数据至所述模型下载终端,以使所述模型下载终端对所述第一加密数据验证通过后,得到所述第一加密数据中的所述数据模型。
2.根据权利要求1所述的方法,其特征在于,所述基于模型加密密钥对所述数据模型进行加密处理,以得到第一加密数据,包括:
在第一可信执行环境中,基于所述数据模型的模型参数,获取所述数据模型对应的模型加密密钥;
采用所述模型加密密钥对所述数据模型进行加密处理,得到第一加密数据。
3.根据权利要求2所述的方法,其特征在于,所述基于所述数据模型的模型参数,获取所述数据模型对应的模型加密密钥,包括:
采用密钥生成算法,并根据所述数据模型的模型参数生成第一加密密钥;
获取对所述数据模型所分配的加密标签信息;
根据所述第一加密密钥和所述加密标签信息,生成所述数据模型对应的模型加密密钥。
4.根据权利要求2所述的方法,其特征在于,所述得到第一加密数据之后,还包括:
将所述第一加密数据发送至所述服务器中的富执行环境,并存储所述第一加密数据。
5.根据权利要求2所述的方法,其特征在于,所述获取模型下载终端针对所述数据模型的模型获取请求,发送所述第一加密数据至所述模型下载终端,包括:
获取模型下载终端针对所述数据模型的模型获取请求,采用第一公钥对所述模型加密密钥进行加密处理,得到加密后的模型加密密钥,所述第一公钥为所述模型下载终端针对所述数据模型共享至所述授权许可服务器的密钥;
发送所述第一加密数据和所述加密后的模型加密密钥至所述模型下载终端,以使所述模型下载终端根据所述加密后的模型加密密钥对所述第一加密数据进行解密处理,得到所述第一加密数据中的所述数据模型。
6.根据权利要求5所述的方法,其特征在于,所述服务器包括模型服务器和授权许可服务器,所述发送所述第一加密数据和所述加密后的模型加密密钥至所述模型下载终端,包括:
在所述第一可信执行环境中,基于所述数据模型的模型参数,控制所述模型服务器获取所述数据模型对应的模型验证密钥;
控制所述模型服务器同步所述模型验证密钥和所述模型加密密钥至所述授权许可服务器;
确定所述模型服务器获取到所述模型下载终端针对所述数据模型的模型获取请求,发送所述第一加密数据至所述模型下载终端;
确定所述授权许可服务器获取到所述模型下载终端针对所述数据模型的模型许可请求,控制所述授权许可服务器采用第二私钥对与所述数据模型对应的权限信息、所述模型验证密钥和所述模型加密密钥进行签名,得到与所述数据模型对应的验证信息,所述第二私钥为所述服务器中针对所述数据模型生成的密钥;
控制所述授权许可服务器发送所述验证信息至所述模型下载终端,所述验证信息用于指示所述模型下载终端根据所述验证信息得到所述第一加密数据中的所述数据模型。
7.根据权利要求6所述的方法,其特征在于,所述基于所述数据模型的模型参数,获取所述数据模型对应的模型验证密钥,包括:
采用密钥生成算法,并根据所述数据模型和密钥生成算法生成第二加密密钥;
获取对所述数据模型所分配的验证标签信息;
根据所述第二加密密钥和所述验证标签信息,生成所述数据模型对应的模型验证密钥。
8.根据权利要求5所述的方法,其特征在于,所述发送所述第一加密数据和所述加密后的模型加密密钥至所述模型下载终端,包括:
在所述第一可信执行环境中,获取权限信息;
将所述第一加密数据、所述权限信息和所述加密后的模型加密密钥进行打包,得到模型头部数据;
采用第二私钥对所述模型头部数据进行签名,得到签名后的模型头部数据,所述第二私钥为所述服务器中针对所述数据模型生成的密钥;
发送所述签名后的模型头部数据至所述模型下载终端,以使所述模型下载终端根据所述签名后的模型头部数据,得到所述第一加密数据中的所述数据模型。
9.根据权利要求1所述的方法,其特征在于,所述获取数据模型,包括:
获取模型开发终端采用第二公钥对数据模型进行加密处理得到的第二加密数据,所述第二公钥为所述服务器针对所述数据模型共享至所述模型开发终端的密钥;
在第一可信执行环境中通过第二私钥解密所述第二加密数据,得到所述第二数据密文中的所述数据模型,所述第二私钥为所述服务器中与所述第二公钥组成密钥对的密钥。
10.一种数据模型处理装置,其特征在于,所述装置包括:
模型获取单元,用于在第一可信执行环境中获取数据模型;
模型加密单元,用于基于模型加密密钥对所述数据模型进行加密处理,以得到第一加密数据,所述模型加密密钥与所述数据模型一一对应;
数据发送单元,用于获取模型下载终端针对所述数据模型的模型获取请求,发送所述第一加密数据至所述模型下载终端,以使所述模型下载终端对所述第一加密数据验证通过后,得到所述第一加密数据中的所述数据模型。
11.一种数据模型处理方法,其特征在于,应用于模型下载终端,所述方法包括:
发送模型获取请求至服务器,所述模型获取请求中包括模型标识,所述模型标识用于指示所述服务器获取与所述模型标识对应的第一加密数据,所述第一加密数据中包括与所述模型标识对应的数据模型;
获取所述服务器针对所述模型获取请求发送的所述第一加密数据;
在第二可信执行环境中对所述第一加密数据验证通过后,得到所述第一加密数据中的数据模型。
12.根据权利要求11所述的方法,其特征在于,所述在所述第二可信执行环境中对所述第一加密数据验证通过后,得到所述第一加密数据中的数据模型,包括:
获取所述第一加密数据和加密后的模型加密密钥,对所述第一加密数据验证进行验证,所述加密后的模型加密密钥为所述服务器采用第一公钥对模型加密密钥进行加密处理得到的,所述模型加密密钥用于所述服务器采用所述模型加密密钥将所述数据模型加密为所述第一模型数据的密钥,所述第一公钥为所述模型下载终端针对所述数据模型共享至所述授权许可服务器的密钥;
对所述第一加密数据的验证通过后,采用第一私钥对所述加密后的模型加密密钥进行解密处理得到所述模型加密密钥,所述第一私钥为所述模型下载终端中与所述第一公钥组成第一密钥对的密钥;
在所述第二可信执行环境中采用所述模型加密密钥对所述第一加密数据进行解密处理,得到所述第一加密数据中的所述数据模型。
13.根据权利要求12所述的方法,其特征在于,所述确定对所述第一加密数据的验证通过后,采用第一私钥对所述加密后的模型加密密钥进行解密处理得到所述模型加密密钥,包括:
确定所述第一加密数据为模型服务器发送的,发送模型许可请求至授权许可服务器;
获取所述授权许可服务器发送的验证信息,所述验证信息为所述授权许可服务器采用第二私钥对所述数据模型对应的权限信息和所述加密后的模型加密密钥进行签名得到的,所述第二私钥为所述服务器中针对所述数据模型生成的密钥;
采用第二公钥对所述验证信息进行签名验证通过后,对所述权限信息进行权限验证,所述第二公钥为所述服务器针对所述数据模型共享至所述模型下载终端的密钥,所述第二私钥与所述第二公钥组成第二密钥对;
对所述权限信息的权限验证通过后,在第二可信执行环境中通过所述第一私钥对所述加密后的模型加密密钥进行解密处理得到所述模型加密密钥中的模型加密密钥和模型验证密钥;
所述在所述第二可信执行环境中采用所述模型加密密钥对所述第一加密数据进行解密处理,得到所述第一加密数据中的所述数据模型,包括:
在所述第二可信执行环境中根据所述模型验证密钥对所述第一加密数据进行完整性校验;
对所述第一加密数据进行完整性校验通过后,通过所述模型加密密钥对所述第一加密数据进行解密处理,得到所述第一加密数据中的所述数据模型。
14.根据权利要求12所述的方法,其特征在于,所述确定对所述第一加密数据的验证通过后,采用第一私钥对所述加密后的模型加密密钥进行解密处理得到所述模型加密密钥,包括:
确定所述第一加密数据为所述服务器发送的,采用第二公钥对签名后的模型头部数据进行签名验证,所述第二私钥为所述服务器中针对所述数据模型生成的密钥,所述签名后的模型头部数据为所述服务器对所述第一加密数据、所述权限信息和所述加密后的模型加密密钥进行打包和签名后得到的数据,所述第二公钥为所述服务器针对所述数据模型共享至所述模型下载终端的密钥,所述第二私钥与所述第二公钥组成第二密钥对;
对所述模型头部数据的签名通过后,在第二可信执行环境中对所述权限信息进行权限验证;
对所述权限信息的权限验证通过后,通过所述第一私钥对所述模型头部数据进行解密处理得到所述模型加密密钥中的模型加密密钥;
所述在所述第二可信执行环境中采用所述模型加密密钥对所述第一加密数据进行解密处理,得到所述第一加密数据中的所述数据模型,包括:
在所述第二可信执行环境中通过所述模型加密密钥对所述第一加密数据进行解密处理,得到所述第一加密数据中的所述数据模型。
15.一种服务器,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1-9任意一项的方法步骤。
16.一种终端设备,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求11-14任意一项的方法步骤。
17.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1-9或11-14任意一项的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110967919.8A CN113836538A (zh) | 2021-08-23 | 2021-08-23 | 数据模型处理方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110967919.8A CN113836538A (zh) | 2021-08-23 | 2021-08-23 | 数据模型处理方法、装置、服务器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113836538A true CN113836538A (zh) | 2021-12-24 |
Family
ID=78960958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110967919.8A Pending CN113836538A (zh) | 2021-08-23 | 2021-08-23 | 数据模型处理方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113836538A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114598541A (zh) * | 2022-03-18 | 2022-06-07 | 维沃移动通信有限公司 | 一种安全评估方法及装置、电子设备和可读存储介质 |
-
2021
- 2021-08-23 CN CN202110967919.8A patent/CN113836538A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114598541A (zh) * | 2022-03-18 | 2022-06-07 | 维沃移动通信有限公司 | 一种安全评估方法及装置、电子设备和可读存储介质 |
CN114598541B (zh) * | 2022-03-18 | 2024-03-29 | 维沃移动通信有限公司 | 一种安全评估方法及装置、电子设备和可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108595970B (zh) | 处理组件的配置方法、装置、终端及存储介质 | |
US20180367315A1 (en) | Method and apparatus for signing and verifying application installation package, and storage medium | |
CN108769027B (zh) | 安全通信方法、装置、移动终端和存储介质 | |
CN111177801B (zh) | 电子文档的签章方法、装置、存储介质和电子设备 | |
CN110401677B (zh) | 数字版权密钥的获取方法、装置、存储介质及电子设备 | |
US20140173761A1 (en) | Method and apparatus for protecting an application program | |
CN110414190B (zh) | 应用安装包的签名方法、相关装置、存储介质及电子设备 | |
CN110366183B (zh) | 短信安全防护方法及装置 | |
CN112214653B (zh) | 字符串识别方法、装置、存储介质及电子设备 | |
CN111030827A (zh) | 信息交互方法、装置、电子设备、及存储介质 | |
CN111241556A (zh) | 一种数据安全存储方法、装置、存储介质及终端 | |
CN113836538A (zh) | 数据模型处理方法、装置、服务器及存储介质 | |
CN109120576B (zh) | 数据分享方法及装置、计算机设备及存储介质 | |
CN110414269B (zh) | 应用安装包的处理方法、相关装置、存储介质及*** | |
CN113127844A (zh) | 一种变量访问方法、装置、***、设备和介质 | |
CN111130805B (zh) | 安全传输方法、电子设备及计算机可读存储介质 | |
CN112363771B (zh) | 应用程序的处理方法及相关产品 | |
CN112995322B (zh) | 信息传输通道建立方法、装置、存储介质以及终端 | |
WO2020187008A1 (zh) | 服务调用控制方法、服务调用方法、装置及终端 | |
CN113158244A (zh) | 数据隐私保护方法、装置、存储介质及电子设备 | |
CN109614114B (zh) | License文件的获取方法、装置、可读存储介质及电子设备 | |
CN111538997A (zh) | 图像处理方法、装置、存储介质以及终端 | |
CN114363888A (zh) | 数据传输方法、装置、存储介质及电子设备 | |
CN110996088B (zh) | 视频处理方法及相关装置 | |
CN114430343B (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 |