【技术实现步骤摘要】
安全内存扩展、释放方法及装置和电子设备
本说明书实施例涉及互联网
,尤其涉及一种安全内存扩展、释放方法及装置和电子设备。
技术介绍
在一些场景中,终端设备可能需要参与一些对安全性要求较高的安全处理过程(例如移动支付、身份认证等涉及资金、隐私的场景);而终端设备搭载的操作系统,通常是一个较为开放的环境;这就可能导致非法者利用一些非法手段来采集或者篡改安全处理过程中的数据,从而对数据安全造成威胁。为此终端设备可以将操作系统分为两部分,一个是用户操作系统用于运行安全性要求不高的应用程序以及执行安全性要求不高的处理过程。另一部分是可信执行环境用于运行安全要求较高的应用程序以及执行安全性要求较高的安全处理过程。随着安全处理场景复杂度越来越高,安全处理所需内存越来越大,可信执行环境中的安全内存空间经常面临内存不足的问题。
技术实现思路
本说明书实施例提供的一种安全内存扩展、释放方法及装置和电子设备。根据本说明书实施例的第一方面,提供一种安全内存扩展方法,应用于终端设备;其中,所述终端设备中运行有用户操作系统和可信执行环境;以及,运行在所述可信执行环境中的安全应用程序和第一内存管理驱动,和运行在所述用户操作系统中的第二内存管理驱动;所述可信执行环境包括供所述可信应用程序使用的安全内存空间;所述方法包括:响应于运行在所述可信执行环境中的安全应用程序触发的安全内存扩展请求,调用所述可信执行环境中的第一内存管理驱动将所述安全内存扩展请求中的需求内存大小发送给所述用户操作系统中的第二内存管 ...
【技术保护点】
1.一种安全内存扩展方法,应用于终端设备;其中,所述终端设备中运行有用户操作系统和可信执行环境;以及,运行在所述可信执行环境中的安全应用程序和第一内存管理驱动,和运行在所述用户操作系统中的第二内存管理驱动;所述可信执行环境包括供所述可信应用程序使用的安全内存空间;所述方法包括:/n响应于运行在所述可信执行环境中的安全应用程序触发的安全内存扩展请求,调用所述可信执行环境中的第一内存管理驱动将所述安全内存扩展请求中的需求内存大小发送给所述用户操作系统中的第二内存管理驱动;/n响应于所述第一内存管理驱动发送的需求内存大小,调用所述用户操作系统中的第二内存管理驱动,在所述用户操作系统中申请符合所述需求内存大小的空闲物理内存地址;并将所述申请到的物理内存地址发送给所述可信执行环境中的第一内存管理驱动;/n响应于所述第二内存管理驱动发送的物理内存地址,调用所述可信执行环境中的第一内存管理驱动,将所述物理内存地址写入所述安全内存空间的扩展内存列表;以由所述安全应用程序使用所述扩展内存列表中物理内存地址对应的物理内存空间。/n
【技术特征摘要】
1.一种安全内存扩展方法,应用于终端设备;其中,所述终端设备中运行有用户操作系统和可信执行环境;以及,运行在所述可信执行环境中的安全应用程序和第一内存管理驱动,和运行在所述用户操作系统中的第二内存管理驱动;所述可信执行环境包括供所述可信应用程序使用的安全内存空间;所述方法包括:
响应于运行在所述可信执行环境中的安全应用程序触发的安全内存扩展请求,调用所述可信执行环境中的第一内存管理驱动将所述安全内存扩展请求中的需求内存大小发送给所述用户操作系统中的第二内存管理驱动;
响应于所述第一内存管理驱动发送的需求内存大小,调用所述用户操作系统中的第二内存管理驱动,在所述用户操作系统中申请符合所述需求内存大小的空闲物理内存地址;并将所述申请到的物理内存地址发送给所述可信执行环境中的第一内存管理驱动;
响应于所述第二内存管理驱动发送的物理内存地址,调用所述可信执行环境中的第一内存管理驱动,将所述物理内存地址写入所述安全内存空间的扩展内存列表;以由所述安全应用程序使用所述扩展内存列表中物理内存地址对应的物理内存空间。
2.根据权利要求1所述的方法,所述方法还包括:
响应于运行在所述可信执行环境中的安全应用程序触发的安全内存释放请求,调用所述可信执行环境中的第一内存管理驱动基于所述安全内存释放请求中的待释放物理内存地址,删除所述安全内存空间的扩展内存列表中的物理内存地址,并将删除的待释放物理内存地址发送给所述用户操作系统中的第二内存管理驱动;
响应于所述第一内存管理驱动发送的待释放物理内存地址,调用所述用户操作系统中的第二内存管理驱动,在所述用户操作系统中请求释放所述待释放物理内存地址对应的物理内存空间。
3.根据权利要求1或2所述的方法,所述可信执行环境的第一内存管理驱动和用户操作系统的第二内存管理驱动之间通过安全通信协议接口实现安全通信。
4.根据权利要求3所述的方法,所述安全通信协议接口包括TrustyAPI。
5.根据权利要求1所述的方法,在所述可信执行环境中的第一内存管理驱动将所述物理内存地址写入所述安全内存空间的扩展内存列表之前,还包括:
调用运行在所述可信执行环境中的安全内存空间控制器,将所述物理内存地址配置为安全属性。
6.根据权利要求2所述的方法,在所述可信执行环境中的第一内存管理驱动将删除的待释放物理内存地址发送给所述用户操作系统中的第二内存管理驱动之前,还包括:
如果所述待释放物理内存地址被配置了安全属性,则调用运行在所述可信执行环境中的安全内存空间控制器,删除所述待释放物理内存地址配置的安全属性。
7.根据权利要求5或6所述的方法,所述安全内存空间控制器包括ARM的TZC500模块。
8.根据权利要求2所述的方法,在所述用户操作系统中成功释放所述待释放物理内存地址对应的物理内存空间之后,还包括:
调用所述用户操作系统中的第二内存管理驱动,将所述待释放物理内存地址释放成功的通知发送给所述可信执行环境中的第一内存管理驱动;
响应于所述第二内存管理驱动发送的通知,调用所述可信执行环境中的第一内存管理驱动向所述安全应用程序发送所述待释放物理内存地址释放成功的通知。
9.根据权利要求1所述的方法,所述物理内存地址为连续物理内存地址。
10.一种安全内存释放方法,应用于终端设备;其中,所述终端设备中运行有用户操作系统和可信执行环境;以及,运行在所述可信执行环境中的安全应用程序和第一内存管理驱动,和运行在所述用户操作系统中的第二内存管理驱动;所述可信执行环境包括供所述可信应用程序使用的安全内存空间;所述方法包括:
响应于运行在所述可信执行环境中的安全应用程序触发的安全内存释放请求,调用所述可信执行环境中的第一内存管理驱动基于所述安全内存释放请求中的待释放物理内存地址,删除所述安全内存空间的扩展内存列表中的物理内...
【专利技术属性】
技术研发人员:朱丙营,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。