一种动态配置可信应用程序访问控制的装置和方法制造方法及图纸

技术编号:30659683 阅读:15 留言:0更新日期:2021-11-06 08:31
一种处理器,用于提供REE和TEE,其中,所述TEE中的存储器受到保护,以免受在REE中执行的应用程序访问或修改。所述处理器将客户端应用程序安装在所述REE中,并验证使用服务提供商私钥生成的签名。所述处理器确定所述客户端应用程序需要来自TA的服务,联系外部实体,并接收服务提供商公钥以及用于安装所述TA的数据。所述密钥和所述数据安全地传输到所述TEE。所述处理器在所述TEE中配置安全域,在所述安全域中安装所述TA,并将所述TA与所述安全域相关联,其中,所述安全域也与所述服务提供商公钥相关联。所述处理器在所述安全域内配置访问控制列表,其中,对所述TA的访问由所述访问控制列表控制。列表控制。列表控制。

【技术实现步骤摘要】
【国外来华专利技术】一种动态配置可信应用程序访问控制的装置和方法


[0001]本公开的各个方面大体上涉及移动计算装置,并且更具体地,涉及移动计算装置内的软件安全。

技术介绍

[0002]移动计算装置或设备,如手机或其他支持通信的移动计算设备,通常包括多个执行环境,以增强安全性以及保护重要机密数据和进程。通常,第一执行环境,称为富执行环境(rich execution environment,REE),包括由谷歌公司生产的Android操作系统或由苹果公司生产的iOS等功能齐全的操作系统(operating system,OS),以及一组丰富的支持软件服务。所述REE用于托管需要丰富的全功能用户体验的用户应用程序。第二执行环境,称为可信执行环境(trusted execution environment,TEE)或安全执行环境(secure execution environment,SEE),包括一组少得多的软件服务,并且通常包括基于硬件的安全特征,以保护存储在所述TEE中的机密数据和程序。所述TEE内执行的软件数量减少,通过减少攻击载体以及减少可能的软件缺陷来提高安全性。
[0003]通常使用基于硬件的安全特征,在所述TEE内保护加密操作和相关机密密钥材料等敏感应用程序。所述TEE通过一个受控和明确定义的接口公开服务,该接口可以由在所述REE内执行的客户端应用程序(client application,CA)访问。可信应用程序(trusted application,TA)暴露所述CA消费的服务。例如CA

TA对的一个示例是在所述REE内执行的Android支付应用程序,该应用程序需要访问在所述TEE内执行的可信加密签名应用程序,以便使用批准的签名密钥签署支付交易。签名密钥是在TEE内受保护的机密密钥材料的示例。签名算法和签名密钥保留在TEE内并且在TEE外不可访问。只有签名服务可以通过REE

TEE接口访问。在REE中运行的恶意软件无法访问私钥或加密服务,因此无法滥用或分发签名密钥或相关联的加密服务。攻击者必须使用实际的物理设备才能签署支付消息。
[0004]攻击者仍然可以通过在REE中运行伪装成合法支付应用程序的恶意应用程序来破坏支付过程,从而诱使支付TA签署欺诈性消息。理想情况下,TEE或TA包括保护措施,以防止诈用可信应用程序。
[0005]一种方法是在TEE内包括一个可信用户界面,这样TA就不需要直接接受来自REE的输入。向TEE环境中添加额外软件会增加TEE受到威胁的机会。此外,可信用户界面将具有与REE应用程序的用户界面明显不同的外观和感觉,因此,在REE中运行的应用程序的配套部分将出现明显不同,导致用户体验不佳。
[0006]或者,访问控制机制可以包括在REE中,例如在由谷歌公司生产的SE Android操作系统中所做的那样,以使TEE仅可用于某些REE侧CA。遗憾的是,这些方案往往非常复杂,导致难以维护或修改,并且维护或修改时存在风险。此外,这些方案依赖于在REE中运行的软件,因此容易受到篡改,无法提供某些类型TA所需的高水平安全性。
[0007]因此,需要提供至少能解决上述问题中的一些问题的方法和装置。

技术实现思路

[0008]所公开实施例的一个目的是提供改进的方法和装置,该方法和装置能够实现对移动计算装置内可信应用程序的安全和有效的访问。本目的由独立权利要求的主题解决。其他有利的修改可以在从属权利要求中找到。
[0009]根据第一方面,上述及另外的目的和优点是通过一种装置实现和获得的,该装置包括耦合到存储器的处理器,其中,所述处理器和所述存储器用于提供富执行环境和可信执行环境。所述可信执行环境中的所述存储器和进程受到保护,以免受在所述富执行环境内执行的应用程序的访问或修改。所述处理器用于在所述富执行环境内安装第一客户端应用程序,其中,所述第一客户端应用程序包括基于服务提供商私钥生成的签名,并确定所述第一客户端应用程序需要来自可信应用程序的服务。所述处理器用于向外部实体发送安装所述可信应用程序的请求;在所述富执行环境内接收一个或多个消息,其中,所述一个或多个消息包括与所述服务提供商私钥相对应的服务提供商公钥和用于安装所述可信应用程序的数据;并且将所述一个或多个消息安全地传输到所述可信执行环境。所述处理器在所述可信执行环境内配置安全域,其中,所述安全域与所述服务提供商公钥相关联;在所述可信执行环境内安装所述可信应用程序;并且将所述可信应用程序与所述安全域相关联。所述处理器在所述安全域(security domain,SD)内配置访问控制列表,其中,对所述可信应用程序的访问由所述访问控制列表控制。配置所述SD和所述访问控制列表使得所述TA安全性更高和访问控制得更好。在没有指定的ACL配置的情况下,可以通过允许任何CA访问TA或允许TA仅服务预定义的CA来实现对TA的访问。允许所有CA访问TA会产生严重的安全风险,而允许基于预定义列表的访问是有问题的,因为无法将TA提供的安全关键服务公开给安装TA后开发的任何新CA。
[0010]根据第一方面,在所述装置的第一种可能的实现形式中,所述处理器用于在所述富执行环境内,生成来自第二客户端应用程序的对所述可信应用程序的访问请求。所述处理器识别所述第二客户端应用程序,并从安装包获取与所述第二客户端应用程序对应的应用程序公钥,其中,所述安装包包括所述第二客户端应用程序和所述应用程序公钥。所述处理器将所述访问请求和所述应用程序公钥安全地传输到所述可信执行环境,并在所述可信执行环境内,确定所述第二客户端应用程序是否被授权访问所述可信应用程序。所述确定基于所述应用程序公钥和所述访问控制列表。在所述第二客户端应用程序被授权的情况下,所述处理器用于允许所述第二客户端应用程序访问所述可信应用程序。根据所述访问控制列表验证每个请求,可以在将每个访问请求转发到所述可信应用程序之前,可靠地授权该请求。
[0011]根据第一方面本身或第一种可能的实现形式,在所述装置的一种可能的实现形式中,所述应用程序公钥包括应用程序证书,并且所述处理器用于将所述应用程序证书安全地传输到所述可信执行环境。使用应用程序证书可以验证所述公钥以及与所述客户端应用程序相关联的其他信息的真实性和完整性。
[0012]根据第一方面,在所述装置的一种可能的实现形式中,所述访问控制列表包括多个应用程序公钥,并且所述处理器用于允许基于所述多个公钥访问所述可信应用程序。在所述访问控制列表中包括多个公钥可以在不安装更新或所述TA的多个副本的情况下,修改对所述可信应用程序的访问。
[0013]根据第一方面,在所述的装置的一种可能的实现形式中,所述应用程序公钥与所述服务提供商公钥相同,并且所述处理器用于基于所述应用程序公钥和所述访问控制列表允许或拒绝对所述可信应用程序的访问。对所述客户端应用程序和所述服务提供商使用相同的公钥可以保证所述可信应用程序、所述安全域和所述客户端应用程序都由同一来源提供。
[0014]根据第一方面,在所述装置本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种装置(110),其特征在于:包括耦合到存储器(152,154)的处理器(150),其中,所述处理器(150)和所述存储器(152,154)用于提供富执行环境(112)和可信执行环境(114),其中,所述可信执行环境(114)中的所述存储器(154)和进程(122,128,140)受到保护,以免受在所述富执行环境(112)中执行的应用程序(116,117)访问或修改,并且所述处理器(150)用于:在所述富执行环境(112)内安装第一客户端应用程序(116),其中,所述第一客户端应用程序包括基于服务提供商私钥生成的签名;确定所述第一客户端应用程序需要来自可信应用程序(122)的服务;向外部实体(106)发送安装所述可信应用程序的请求;在所述富执行环境(112)内接收一个或多个消息,其中,所述一个或多个消息包括与所述服务提供商私钥相对应的服务提供商公钥和用于安装所述可信应用程序的数据;将所述一个或多个消息安全地传输到所述可信执行环境(114);在所述可信执行环境(114)内配置安全域(120),其中,所述安全域(120)与所述服务提供商公钥(126)相关联;在所述可信执行环境(114)内安装所述可信应用程序(122);将所述可信应用程序(122)与所述安全域(120)相关联;以及在所述安全域(120)内配置访问控制列表(128),其中,对所述可信应用程序(122)的访问由所述访问控制列表(128)控制。2.根据权利要求1所述的装置(110),其特征在于,所述处理器(150)用于:在所述富执行环境(112)内,生成来自所述第一客户端应用程序(116)的对所述可信应用程序(122)的访问请求;识别所述第一客户端应用程序(116);从安装包(146)获取与所述第一客户端应用程序对应的应用程序公钥,其中,所述安装包(146)包括所述第一客户端应用程序(116)和所述应用程序公钥;将所述访问请求和所述应用程序公钥安全地传输到所述可信执行环境(114);在所述可信执行环境(114)内,确定所述第一客户端应用程序(116)是否被授权访问所述可信应用程序(122),其中,所述确定基于所述应用程序公钥和所述访问控制列表(128);以及在所述第一客户端应用程序(116)被授权的情况下,允许所述第一客户端应用程序(116)访问所述可信应用程序(128)。3.根据前述权利要求中任一项所述的装置(110),其特征在于,所述应用程序公钥包括应用程序证书,并且所述处理器用于将所述应用程序证书安全地传输到所述可信执行环境(114)。4.根据前述权利要求中任一项所述的装置(110),其特征在于,所述访问控制列表(128)包括多个应用程序公钥,并且所述处理器(150)用于允许基于所述多个公钥访问所述可信应用程序(122)。5.根据权利要求2或3所述的装置(110),其特征在于,所述应用程序公钥与所述服务提供商公钥(126)相同,并且所述处理器(150)用于基于所述应用程序公钥和所述访问控制列表(128)允许或拒绝对所述可信应用程序(122)的访问。
6.根据前述权利要求中任一项所述的装置(...

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

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

1