用于保护共享对象的装置和方法制造方法及图纸

技术编号:33725173 阅读:21 留言:0更新日期:2022-06-08 21:18
一种装置,用于通过将共享对象加载到富执行环境的用户内存中,保护共享对象的隐私,并帮助防止这些软件资产丢失。所述共享对象具有加密段和元数据。解密请求被发送到可信执行环境,并且所述加密段根据所述元数据和预定平台密钥进行解密,以产生解密段。所述解密段被写入所述共享对象。发送锁定所述共享对象的请求,并将所述共享对象占用的内存锁定或设置为仅执行。由经解密的共享对象占用的内存区域的所述锁定将所述内存区域映射为对在第一特权级别执行的所有应用程序和在第二特权级别执行的操作系统内核不可读和不可写。行的操作系统内核不可读和不可写。行的操作系统内核不可读和不可写。

【技术实现步骤摘要】
【国外来华专利技术】用于保护共享对象的装置和方法


[0001]所公开实施例的各方面大体上涉及计算机安全的装置,更具体地,涉及保护共享软件对象的隐私。

技术介绍

[0002]在开发计算机应用程序时,通常做法是结合第三方库、软件开发工具包(software development kit,SDK)或其它第三方共享对象,以促进高效的应用程序开发。SDK或共享对象可以结合新技术,这些技术为共享对象开发人员和第三方应用程序开发人员提供竞争优势。例如,共享对象可以提供一种新的图形处理技术,该技术可以提供优质的用户体验。
[0003]当共享对象被分发时,检查和逆向工程共享对象中包含的计算机代码相对容易,使任何新技术都会被滥用。传统的共享对象通常包括用于保护共享对象的完整性和检测未经授权的修改的加密手段。但是,没有可靠的手段来保护共享对象的内容在整个生命周期中的机密性。
[0004]因此,需要保护作为共享对象分发的软件资产的隐私,同时还支持这些共享对象在富执行环境内执行的改进的方法和装置。因此,希望提供解决上述至少一些问题的方法和装置。

技术实现思路

[0005]所公开实施例的各方面的目的是保护作为共享对象分发的软件资产的隐私,同时仍然支持这些共享对象在富执行环境内执行。该目的和其它目的通过独立权利要求请求保护的主题来实现。在从属权利要求中提供了其它有利修改。
[0006]根据第一方面,通过一种装置获得上述以及其它目的和优点。在一个实施例中,所述装置包括耦合到存储器的处理器。所述处理器和所述存储器用于提供富执行环境和可信执行环境。所述可信执行环境中的内存和进程受到保护,不会被在所述富执行环境内执行的应用程序访问或修改。所述处理器和内存还用于在所述富执行环境内提供用于在第一特权级别执行的第一计算环境,以及用于在第二特权级别执行的第二计算环境。在一个实施例中,所述第一特权级别的限制性高于所述第二特权级别的限制性。所述处理器还用于在所述富执行环境内将共享对象加载到用户内存中。在一个实施例中,所述共享对象包括加密段和元数据。所述处理器还用于从所述富执行环境向所述可信执行环境发送解密请求,其中,所述解密请求包括所述元数据和所述加密段。所述处理器还用于在所述可信执行环境内对所述加密段进行解密以产生解密段。在一个实施例中,所述解密基于所述元数据和预定平台密钥。所述处理器用于在所述富执行环境内接收解密响应。所述解密响应包括所述解密段。所述处理器还用于将所述解密段写入所述共享对象,并从所述第一计算环境向所述第二计算环境发送锁定所述共享对象的请求。所述处理器用于在所述第二特权级别执行时,将所述共享对象占用的内存设置为仅执行。锁定由经解密的共享对象占用的内存区域或将由经解密的共享对象占用的内存区域设置为仅执行将所述内存区域映射为对在第
一特权级别执行的所有应用程序不可读,并且还将所述内存区域标记为不可读,甚至对可能在第二特权级别执行的操作系统内核也不可读。
[0007]在所述装置的第一种可能的实现方式中,所述元数据包括经加密的资产密钥。所述经加密的资产密钥是根据所述预定平台密钥加密的资产密钥。所述处理器还用于在所述可信执行环境内,根据所述预定平台密钥对所述经加密的资产密钥进行解密,并根据所述经解密的资产密钥对所述加密段进行解密。这支持使用更高效的对称密码学来解密加密段,同时仍然获得计算更密集的非对称密钥密码学的安全优势。
[0008]在所述装置的一种可能的实现方式中,所述元数据包括多个经加密的密钥数据,其中,所述多个经加密的密钥数据包括根据多个平台密钥中的一个不同平台密钥加密的所述资产密钥。所述处理器还用于根据所述预定平台密钥从所述多个经加密的密钥数据中选择所述经加密的密钥数据。这可以支持单个经加密的共享对象在具有不同平台密钥的多个计算装置上解密和执行。
[0009]在所述装置的一种可能的实现方式中,所述解密请求由在所述富执行环境内执行的代理发送。所述处理器还用于在所述可信执行环境内,在对所述加密段进行解密之前,验证所述代理的完整性。验证代理确保解密请求是由经批准的代理发送的,并且代理没有受到感染或其它损坏,从而提供了额外的安全性。
[0010]在所述装置的一种可能的实现方式中,所述预定平台密钥是非对称密钥对的公共部分。非对称密钥密码学支持公共密钥基础设施(public key infrastructure,PKI),并提高了对攻击的抵抗力。
[0011]在所述装置的一种可能的实现方式中,所述资产密钥是对称密钥。加密段可能非常大,因此与非对称密码学相比,使用对称密钥密码学减少了处理。
[0012]在所述装置的一种可能的实现方式中,所述富执行环境包括用于在第三特权级别执行的第三计算环境。所述第二特权级别的限制性高于所述第三特权级别的限制性。所述处理器用于在所述第三特权级别执行时,将所述共享对象占用的内存设置为仅执行。使用第三特权级别对在第三特权级别执行的软件进行更严格的控制并减小了该软件的大小,从而提高了安全性。
[0013]在所述装置的一种可能的实现方式中,所述第一计算环境包括用户应用程序,所述第二计算环境包括操作系统,所述第三计算环境包括虚拟机管理程序。虚拟机管理程序通常是一个更小、测试更全面的应用程序。在虚拟机管理程序内应用锁可以提高安全性并减少可用的攻击向量。
[0014]在所述装置的一种可能的实现方式中,所述共享对象包括构造函数例程,当所述处理器执行所述构造函数例程时,所述构造函数例程使所述处理器发送所述解密请求。包括构造函数例程提供了额外的灵活性,并有机会补充SOP代理的功能。
[0015]在所述装置的一种可能的实现方式中,所述可信执行环境包括可信应用程序,所述富执行环境包括代理。所述可信应用程序用于:从所述代理接收所述解密请求;验证所述代理的完整性;当所述完整性有效时,对所述加密段进行解密以产生所述解密段,并将所述解密段返回给所述代理。在解密之前验证代理有机会在将解密代理发送到可能是恶意应用程序的应用程序之前检测代理已被损坏。
[0016]在所述装置的一种可能的实现方式中,所述加密段占用第一内存区域,将所述解
密段写入所述共享对象包括以下操作中的一个或多个:将所述解密段写入所述第一内存区域;将所述解密段写入第二内存区域;将所述第二内存区域合并到所述共享对象中。例如,当锁定第二内存区域比锁定第一内存区域更容易或更高效时,将解密段写入第二内存区域可能是有利的。解密段可以大于加密段,从而需要额外内存,或者在某些装置中,分配新空间可能比覆盖已经使用的空间更高效。
[0017]在所述装置的一种可能的实现方式中,所述装置包括移动通信装置。许多应用程序之间的无缝用户体验依赖于在单个设备内集成许多共享对象。在现代移动计算装置中,保护共享对象变得愈发重要。
[0018]根据第二方面,通过一种方法获得上述以及其它目的和优点。在一个实施例中,所述方法包括:在富执行环境内将共享对象加载到用户内存中,其中,所述共享对象包括加密段、元数据和构造函数例程;从所述富执行环境向本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种装置(100),其特征在于,包括耦合到存储器(184)的处理器(102),其中,所述处理器(102)和所述存储器(184)用于提供富执行环境(104)和可信执行环境(106),其中,所述可信执行环境(106)中的内存(182)和进程(126)受到保护,不会被在所述富执行环境(104)内执行的应用程序访问或修改,并且所述处理器(102)和内存(180)还用于在所述富执行环境(104)内提供:用于在第一特权级别执行的第一计算环境(108);以及用于在第二特权级别执行的第二计算环境(178),其中,所述第一特权级别的限制性高于所述第二特权级别的限制性,并且所述处理器(102)用于:在所述富执行环境内将共享对象(116)加载到用户内存(108)中,其中,所述共享对象(116)包括加密段(122)和元数据(120);从所述富执行环境向所述可信执行环境(106)发送解密请求(158),其中,所述解密请求(158)包括所述元数据(120)和所述加密段(122);在所述可信执行环境内对所述加密段(122)进行解密以产生解密段(175),其中,所述解密基于所述元数据(120)和预定平台密钥(174);在所述富执行环境(104)内接收包括所述解密段(175)的解密响应(162);将所述解密段(175)写入所述共享对象(116);从所述第一计算环境(108)向所述第二计算环境(178)发送锁定所述共享对象(116)的请求(168);在所述第二特权级别执行时,将所述共享对象(116)占用的内存(190)设置为仅执行。2.根据权利要求1所述的装置(100),其特征在于,所述元数据(118)包括经加密的资产密钥,并且所述经加密的资产密钥包括根据所述预定平台密钥(174)加密的资产密钥,其中,所述处理器(102)用于在所述可信执行环境(106)内,根据所述预定平台密钥(174)对所述经加密的资产密钥进行解密,并根据所述经解密的资产密钥对所述加密段(175)进行解密。3.根据权利要求1或2所述的装置(100),其特征在于,所述元数据(120)包括多个经加密的密钥数据,并且每个经加密的密钥数据包括根据多个平台密钥中的一个不同平台密钥加密的所述资产密钥,所述处理器(102)用于根据所述预定平台密钥(174)从所述多个经加密的密钥数据中选择所述经加密的密钥数据。4.根据上述权利要求中任一项所述的装置(100),其特征在于,所述解密请求(158)由在所述富执行环境(104)内执行的代理(124)发送,所述处理器(102)用于在所述可信执行环境(106)内,在对所述加密段(122)进行解密之前,验证所述代理(124)的完整性。5.根据上述权利要求中任一项所述的装置(100),其特征在于,所述预定平台密钥(174)是非对称密钥对的公共部分。6.根据上述权利要求中任一项所述的装置(100),其特征在于,所述资产密钥是对称密钥。7.根据上述权利要求中任一项所述的装置(100),其特征在于,所述富执行环境(104)包括用于在第三特权级别执行的第三计算环境(192),并且所述第二特权级别的限制性...

【专利技术属性】
技术研发人员:桑波
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1