可信执行环境制造技术

技术编号:15939272 阅读:27 留言:0更新日期:2017-08-04 21:56
企业内的计算设备(无论是由企业还是雇员/用户拥有)上的可信执行环境允许调用可信企业应用而不妨碍外部或非企业应用在同一计算设备上运行。每个可信应用可以以可信方式与同一企业计算设备上的其他可信应用交互,使得防止其他应用或不可信网络连接访问可信应用。然而,计算设备还执行非企业应用,其在相同地址空间中使用与计算设备上的企业应用相同的未修改的操作系统,独立于企业应用进行操作。因此,可信执行环境将进程间通信限制为仅在企业应用集合之内,并且还允许其他应用在相同的OTS(现成)操作系统下的无阻碍操作。

Trusted execution environment

A trusted execution environment within an enterprise computing device (whether owned by an enterprise or employee / user) allows invoking trusted enterprise applications without impeding external or non enterprise applications running on the same computing device. Each trusted application can be trusted to interact with other trusted applications on the same enterprise computing device, preventing access to trusted applications from other applications or untrusted network connections. However, the computing device also performs non enterprise applications operating independently of enterprise applications in the same address space using the same unmodified operating system as the enterprise applications on the computing device. Therefore, the trusted execution environment limits interprocess communication to enterprise applications only, and allows other applications to operate without hindrance under the same OTS (off the shelf) operating system.

【技术实现步骤摘要】
可信执行环境
技术介绍
随着越来越多的数据通过公共接入网络以电子方式传输,计算机安全,特别是保护公司和其他企业的专有和敏感数据已变得越来越受到审查。然而,拥有许多雇员或成员的企业或其他组织表现出特别的易受攻击性,因为任何用户可用来获得访问。此外,这样的企业可能在每个单独用户的计算设备上使用公共应用集合。命令或强制这些个人设备的专属公司使用是有问题的;实际情况是,用户/雇员拥有的机器上只能进行很少的控制。由于由企业应用和用户提供的应用共享公共的执行环境,用户所做的附加应用和活动可能干扰和/或损害计算设备上的企业活动,导致依赖于用户加载的外来应用的完整性的易受攻击性。
技术实现思路
在企业使能的计算设备(无论是由企业还是用户/雇员拥有,以下称为“企业计算设备”)上的可信执行环境允许调用设备上的安全企业应用(app)套件,而不妨碍外部或非企业应用在同一企业计算设备上运行。每个企业计算设备执行安全企业应用套件,其以可信的方式彼此交互,使得防止外部应用或网络连接访问企业应用。然而,企业计算设备还执行非企业应用,其在相同地址空间中独立于企业应用进行操作,并且可以与其他非企业应用通信,并且使用与企业计算设备上的企业应用相同的未修改的操作系统。因此,可信执行环境仅限制了企业应用集合和非企业应用之间的进程间通信,并且还允许其他应用在相同的OTS(现成)操作系统下的无阻碍操作。本文的配置至少部分地基于以下观察:公司和其他企业通常采用一套专用的应用或应用程序来处理专有数据。企业的雇员或成员希望在便携式计算设备上与不涉及专有数据的其他应用一起调用企业应用套件。不幸的是,提供安全或可信的应用空间(例如用于执行企业应用)的常规方法的缺点是,需要对原生操作系统(OS)做出改变或有条件地评估所尝试的存储器访问或存储器分区。使用修改或自定义的操作系统带来了部署的成本和逻辑问题,以及与不在专用套件中的其他应用的执行有关的兼容性问题。因此,通过在便携式计算设备上提供可信应用空间以用于使用未修改的现成(OTS)OS并发执行可信应用和其他用户选择的或通用应用以保持兼容性并避免部署自定义可信操作系统,本文的配置基本上克服了上述缺点。更详细地,本文的配置通过将多个应用加载到计算设备上的执行环境的存储器中,在移动计算设备上的未修改的现成(OTS)操作系统下提供可信执行环境。计算设备上的执行环境具有存储器、处理器、文件系统和网络接口,并且通过指定加载的应用之一与多个加载的应用的相关应用之间的通信关联来安全通信。通过任何加载的应用,该方法检测与定义可信应用集合或套件的加载应用中的接收方应用通信的尝试。如果应用不具有指定的通信关联,则不允许所尝试的通信。在未修改的OTSOS上的实现允许将一个或多个其他应用加载到执行环境中,使得防止未被指定为可信的其他应用与任何可信应用进行通信。附图说明根据如附图所示的对本专利技术的特定实施例的以下描述,本专利技术的上述及其他的目的、特征和优点将会是显而易见的,贯穿不同视图,相同的附图标记表示相同的部件。附图不必按比例绘出,而是着眼于说明本专利技术的原理。图1是用于控制应用存储器访问的现有系统;图2是适合与本文的配置一起使用的企业环境的上下文图;图3是图2的环境中的计算设备的架构图;图4示出了根据本文的配置的图3中的计算设备的框图;以及图5A和图5B是图4的计算设备中的应用(app)执行的流程图。具体实施方式下面描述的是具有多个便携式计算设备的企业的示例,这些便携式计算设备可以由企业的雇员使用,每个表现出安全的执行环境。在安全执行环境中的应用之间的通信的示例描绘了特定的特征,但是不应该被认为是限制本文所要求保护的本专利技术的方案。各种组织设置可以选择在静止、移动、便携、手持或其他物理配置中具有安全执行环境的计算设备。所描述的应用或应用程序代表在计算设备的存储空间中启动的可执行实体。计算设备具有操作系统,例如AndroidTM、IOS(操作系统)、Linux或其他合适平台,然而应当强调的是,本文公开的技术独立于原生OS,并且不强求或要求计算设备的底层OS的改变。所公开的方法还采用现成的应用,使得加载的应用不需要专用版本以与所公开的方法兼容。本文描绘的示例配置提供了用于使安全应用在存在其它不安全应用的情况下彼此通信的环境。这在应用自身内实现,因此不依赖于操作系统来提供特殊的可信容器。可信执行环境中的各个进程被封装以提供系统调用的拦截,系统调用影响与其他进程的通信和其他进程的调用。可信执行环境被监视进程或“密钥库(keystore)”应用监督,监视进程或“密钥库”应用管理安全应用之间的通信。通过密钥库应用来管理和分发加密密钥。密钥库应用具有访问控制列表(ACL)或指示哪些应用可以相互通信的其他存储库。每个应用都有一个唯一ID,该唯一ID映射到其他应用的ID列表。可信应用只能与其ACL中的应用通信。当安装应用时,密钥库应用为其生成新的加密密钥。使用诸如Diffie-Hellman的各种密钥生成机制在新安装的应用和密钥库应用(KA)之间建立可信的进程间通信信道,以便传送密钥。想要与另一个应用通信的应用通常有两个选项。可以建立直接通信信道,或者应用可以将文件写入磁盘,其由另一个应用读取。例如,当应用A尝试读取由不同的应用B创建的文件时,其从明文文件元数据中读取文件的密钥ID,然后向KA查询正确的解密密钥。如果应用A的唯一ID没有针对应用B的ACL条目,则KA拒绝访问。如果它具有访问权,则通过安全的进程间通信信道返回解密密钥。当应用希望直接通信时,使用利用从KA检索的公共密钥的AESGCM加密,或使用另一个合适的加密机制,来建立两者之间的安全IPC信道。以这种方式,在可信应用之间可以发生加密文件的安全共享和IPC通信,这是由限制访问权的密钥库应用管理的。图1是用于控制应用存储器访问的现有系统的示例。参考图1,用于操作可信进程或地址空间的常规计算机10维护被指定为“可信”的存储器12的分区或区域。CPU30响应于占用存储器的高地址区域或低地址区域(在所示示例中为高地址区域)的OS26来指引存储器访问。不可信部分20不维持特定监管控制。可信存储器部分24占据OS26下方的区域,并且随着不可信部分20和可信部分24中的进程相对彼此增长时,分配空闲部分22。常规操作系统26在允许CPU进行存储器访问之前检查该访问以确保其不侵犯可信存储器区域24。允许从不可信部分20中的进程到不可信区域20中的另一进程的存储器访问40,也允许从可信区域24到可信区域24的存储器访问42。然而,不允许从不可信部分20到可信区域24的访问尝试44,如所声称的访问44上的“X”所示。然而,在仔细检查每个存储器访问时,操作系统需要发挥不可或缺的作用,以确保可信存储器部分24对于不可信部分20保持是不可访问的。这通常需要专门的操作系统,或者至少修改标准操作系统,以仔细检查每个存储器访问。当每个存储器访问触发范围检查时,还施加了运行时性能影响。提供可信的执行环境将是有益的,其允许可信过程在未修改的、由供应商提供的OTSOS上与其他可信过程或应用通信。图2是适合与本文的配置一起使用的企业环境的上下文图。参考图2,在企业设置100,例如,雇员使用特定的一组或一套应用来处理专有或商业敏感的信本文档来自技高网...
可信执行环境

【技术保护点】
一种在移动计算设备中提供执行环境的方法,包括:将多个可信应用加载到执行环境的存储器中,所述执行环境具有存储器、处理器、文件系统和网络接口;指定所述可信应用之一与所述多个可信应用中的相关应用之间的通信关联;通过所述可信应用中的任一个可信应用,检测与所述可信应用中的接收方应用的通信尝试;以及如果所述应用不具有指定的通信关联,则不允许尝试的通信。

【技术特征摘要】
2016.01.27 US 15/007,5471.一种在移动计算设备中提供执行环境的方法,包括:将多个可信应用加载到执行环境的存储器中,所述执行环境具有存储器、处理器、文件系统和网络接口;指定所述可信应用之一与所述多个可信应用中的相关应用之间的通信关联;通过所述可信应用中的任一个可信应用,检测与所述可信应用中的接收方应用的通信尝试;以及如果所述应用不具有指定的通信关联,则不允许尝试的通信。2.根据权利要求1所述的方法,还包括:将至少一个其他应用加载到所述执行环境中,所述至少一个其他应用是不可信的,防止所述至少一个其他应用与任何可信应用进行通信。3.根据权利要求1所述的方法,还包括:识别用于在相关联的应用之间传输的消息;基于通信尝试所针对的相关应用的标识生成密钥;使用计算出的密钥,向所述接收方应用发送识别的消息;以及在所述接收方应用处接收计算出的密钥,以用于对生成的消息进行解密。4.根据权利要求3所述的方法,其中,发送还包括:将识别的消息写入文件,所述文件的内容用生成的密钥来加密;从密钥库应用向所述接收方应用发送生成的密钥,所述密钥库应用能够操作以存储和检索指定的通信关联;由所述接收方应用读取所述文件并使用发送的密钥来对所述消息进行解密。5.根据权利要求3所述的方法,其中,发送还包括:在所述可信应用的发送方应用和所述接收方应用之间指定进程间通信IPC信道;使用生成的密钥对识别的消息进行加密;从所述发送方应用向所述接收方应用发送加密的消息;以及从所述密钥库应用向所述接收方应用发送生成的密钥,所述密钥库应用能够操作以存储和检索指定的通信关联。6.根据权利要求1所述的方法,其中,所述检测通信尝试识别所述可信应用中的每一个可信应用的文件访问、IPC访问和网络访问,所述可信应用定义可信应用集合,所述可信应用集合能够操作以仅与所述可信应用集合中的其他应用、而不与所述存储器中在所述可信应用集合之外的其他应用进行通信。7.根据权利要求6所述的方法,其中,检测通信尝试还包括:将所述应用封装在所述可信应用集合中,并且保留其他应用不作修改,被封装的应用能够响应于未修改的操作系统而在所述执行环境中操作。8.根据权利要求1所述的方法,还包括:将指定的通信关联存储在能够由密钥库应用访问的关联表中,所述密钥库应用被配置为接收可信应用的标识并指示是否存在与所述执行环境中的另一应用的通信关联。9.根据权利要求8所述的方法,其中,所述关联表包括条目,每个条目具有所述多个可信应用中的一个应用的指示以及能够与所述应用通信的相关应用的标识。10.根据权利要求9所述的方法,还包括:识别与所述执行环境中的任何应用的通信尝试;以及如果未找到所述通信关联中的对应条目,则不允许通信。11.一种用于提供执行环境的计算设备,包...

【专利技术属性】
技术研发人员:詹姆斯·赛贝尔凯文·拉弗兰梅弗雷德·科沙拉赖因哈德·舒马克杰里米·德巴特
申请(专利权)人:黑莓有限公司
类型:发明
国别省市:加拿大,CA

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

1