基于可信执行环境中虚拟安全元件的安全系统实现方法
【技术领域】
[0001]本发明涉及的是一种移动设备安全领域的技术,具体是一种基于可信执行环境(TEE, Trusted Execut1n Environment)中虚拟安全元件(SE,Secure Element)的安全系统实现方法。
【背景技术】
[0002]软件运行环境是指软件运行所需的各种条件,可分为丰富运行环境和可信执行环境。
[0003]丰富运行环境由软件和硬件组成,提供丰富的功能接口,是针对多功能性和丰富性创建的软件执行环境。它包括多功能操作系统以及运行在其上面的各种应用程序,多功能操作系统又名Rich操作系统,Rich OS。举个移动设备上的多功能操作系统的例子,如Android,它可运行在智能手机、平板电脑和智能手表等移动设备上,提供了非常丰富的功能接口,Android应用程序调用这些接口实现各类需求,例如无线通信、网上购物等。但其安全性相对较低,数据容易被窃取。
[0004]可信执行环境由可信软件和可信硬件组成,与设备上的Rich OS并存并共享处理器资源。它提供了仅次于安全元件芯片的高安全性,可以针对在Rich OS环境中生成的软件攻击提供保护,在访问与Rich OS隔离的敏感性应用时,提供访问控制处理,并且可以提供对敏感数据的安全存储。例如,TEE是内容提供商在限定的时间段内提供视频服务的理想环境,因为其重要内容(例如高清视频)的安全需要得到保障,使其无法被免费共享。目前相对于Rich OS来说,提供的功能相对简单。
[0005]一个移动设备上可信执行环境的商用实例是基于ARM trustZone的系统级芯片技术,几个常用的应用场景包括内容管理,移动金融服务,可信用户界面,硬件资源隔离,安全数据存储,高安全性的身份识别及访问控制等。
[0006]安全元件芯片由软件和防篡改硬件组成,支持高级别的安全性。对于需要最高安全级别的近距离支付或官方电子签名,SE是强制的安全措施。其内部具有加密/解密逻辑电路或算法,以防止外部恶意解析攻击,保护数据安全。比如银行卡内都会包含一颗安全元件芯片,以保护用户账户,密钥,证书等敏感数据。
[0007]目前已知方案中,安全元件芯片连接到Rich OS,Rich OS应用通过Rich OS访问和操作安全元件芯片,如图1所示。Rich OS将安全元件视为外部设备,各类应用可以调用内置在Rich OS的通道管理及访问控制模块来访问安全元件芯片。通道管理及访问控制模块包括通道管理模块和访问控制模块。在应用同时打开多个通道发起访问至安全元件芯片,通道管理模块管理在多个通道上同时传输数据的同步处理。访问控制模块根据访问控制规则判断应用是否可以访问安全元件芯片内的applet,该规则保存在安全元件芯片的访问控制applet内,在通道管理及访问控制模块初始化时从安全元件芯片的访问控制applet读出并缓存在Rich OS内。
[0008]已知的通用访问安全元件芯片的流程是,当Rich OS应用需要访问安全元件芯片,首先调用通道管理及访问控制模块的通道管理模块使用相应的终端打开一个通道,在打开通道时,访问控制模块会根据访问控制规则判断是否接受该次访问。如果接受,通道管理模块会打开一个数据通道访问安全元件芯片,如果不接受,通道管理模块会停止。
[0009]目前已知的可信执行环境仅支持C/C++实现的安全应用数量极少,且可移植性差,无法适应目前应用的快速更新及跨平台需求。并且由于开发安全应用的复杂度,例如,无法在线调试,将可能引入新的安全问题导致可信执行环境内的敏感数据泄漏,以致整个系统易受攻击。
[0010]经过对现有技术的检索发现,Zaheer Ahmad等在“Enhancing the Security ofMobile Applicat1ns by using TEE and (U) SIM(通过 TEE和(U) SIM加强移动应用的安全性)”(2013 IEEE UIC/ATC)中提出了一种安全体系结构和一种新颖的移动支付和多媒体内容回放解决方案,利用在现有的后付费记帐方法,整合了 TEE和(U) SIM的网络安全技术,以提供用户身份验证,内容购买增强的安全性,受保护的存储和安全内容的观看。欧洲专利文献号EP2746981A1,公开(公告)日2014.06.25,公开了一种针对可信应用的接入控制方法,通过在Rich OS的现有规则中增加针对可信应用的控制规则。
[0011]但由于上述技术中涉及操作系统对于可信通道以及权限管理的控制,使得实际应用对可信执行环境的访问无法摆脱外置硬件的约束,在安全性和系统架构有效性之间难以实现平衡,使得造成了现阶段可信执行环境的推广受到较大阻碍。
【发明内容】
[0001]本发明针对现有技术存在的上述不足,提出一种基于可信执行环境中虚拟安全元件的安全系统实现方法,简化了现有系统结构的同时,显著提高了系统安全性;每个虚拟安全元件内设虚拟机使得易用性及可移植性显著提高。
[0002]本发明是通过以下技术方案实现的:
[0003]本发明通过在Rich OS内置的通道管理和访问控制模块中移除针对访问可信执行环境的访问控制处理,然后在可信执行环境中设置一个向Rich OS中的应用提供统一访问接口的安全管理模块和至少一个虚拟安全元件,通过安全管理模块接收所有来自Rich OS中的应用的访问请求,从而实现对系统安全性的改进。
[0004]所述的通道管理和访问控制模块对每个终端的实现都配置有访问控制,但RichOS的低安全性降低了它存在的必要性,因此移除针对访问可信执行环境的访问控制处理。
[0005]所述的访问请求通过Rich OS中的应用发出,由设置于Rich OS中的通道管理及访问控制模块传输至所述安全管理模块。
[0006]所述的访问请求针对可行执行环境中虚拟安全元件中的安全应用或针对安全元件芯片中的安全应用。
[0007]所述的安全管理模块在可信执行环境初始化或收到初次请求时,从源数据中读入并解析访问控制规则集合。所述的源数据保存于安全管理模块内和/或虚拟安全元件内。
[0008]所述的虚拟安全元件采用虚拟机机制来承载多个安全应用,可支持安全应用的安装、卸载及更新等管理功能。具体为,所述的虚拟安全元件包括至少一个安全应用、一个用于接收访问请求并保存证书或签名数据的权限管理单元和一个用于进行动态安装、卸载或更新应用的应用管理单元。
[0009]所述的采用虚拟机机制来承载多个安全应用可采用本领域技术人员通晓的开源/非开源操作系统实现。
[0010]所述的虚拟安全元件中优选进一步设有访问控制应用,该访问控制应用用于生成或修改针对安全应用的访问规则。
[0011]所述的应用管理单元在收到来自Rich OS的初次访问请求时,启动一用于执行所述安全应用的虚拟机进程,该虚拟机进程接收并处理所有指向该安全应用的访问请求。
[0012]所述的虚拟机优选为运行于可信执行环境中的JAVA虚拟机。
[0013]所述的安全应用优选通过JAVA实现。
[0014]所述的权限管理单元通过解析证书或签名数据获得相应的访问权限信息,并根据访问权限信息反馈所述访问请求。
技术效果
[0015]与现有技术相比,本发明技术效果包括:
[0016]第一,在Rich OS内置的通道管理和访问控制模块中增加对可信执行环境中应用访问的终端,并且由于Rich OS的低安全性,移除该通道管理和访问控制模块中针对访问可信执行环境的访问控制处理,简化了系统设计,提高了系统效率。
[0017]第二,可信执行环境中,增加安全管理模块,由安全管理模块按照访问控制配置统一处理Rich OS应用对虚拟安全元件的访问,提高了安全性。
[0018]第三,可信执行环境内实现一个或多个独立的虚拟安全元件。每个虚拟安全元件内设有虚拟机,可支持多个安全应用同时工作,并且可以支持应用的安装、下载以及更新,提高了易用性及可移植性。
[0019]第四,每个虚拟安全元件都支持统一的证书管理功能,保证证书或者签名数据在可信执行环境中,不会外泄,提高了用户数据的安全性。
[0020]第五,将安全元件芯片连接到可信执行环境,由安全管理模块管理读取其访问控制规则,来处理对安全元件芯片的访问,提高了安全性。
【附图说明】
[0021]图1为现有技术示意图;
[0022]图2为本发明实施示意图;
[0023]图3为图2中Rich OS应用对虚拟安全元件访问的示意图;