安全内存扩展、释放方法及装置和电子设备制造方法及图纸

技术编号:25041028 阅读:35 留言:0更新日期:2020-07-29 05:32
一种安全内存扩展方法。所述方法包括:响应于运行在可信执行环境中的安全应用程序触发的安全内存扩展请求,调用可信执行环境中的第一内存管理驱动将请求中的需求内存大小发送给用户操作系统中的第二内存管理驱动;响应于第一内存管理驱动发送的需求内存大小,调用第二内存管理驱动,在用户操作系统中申请符合需求内存大小的空闲物理内存地址;并将申请到的物理内存地址发送给第一内存管理驱动;响应于第二内存管理驱动发送的物理内存地址,调用第一内存管理驱动,将物理内存地址写入安全内存空间的扩展内存列表;以由安全应用程序使用扩展内存列表中物理内存地址对应的物理内存空间,从而保护用户数据。

【技术实现步骤摘要】
安全内存扩展、释放方法及装置和电子设备
本说明书实施例涉及互联网
,尤其涉及一种安全内存扩展、释放方法及装置和电子设备。
技术介绍
在一些场景中,终端设备可能需要参与一些对安全性要求较高的安全处理过程(例如移动支付、身份认证等涉及资金、隐私的场景);而终端设备搭载的操作系统,通常是一个较为开放的环境;这就可能导致非法者利用一些非法手段来采集或者篡改安全处理过程中的数据,从而对数据安全造成威胁。为此终端设备可以将操作系统分为两部分,一个是用户操作系统用于运行安全性要求不高的应用程序以及执行安全性要求不高的处理过程。另一部分是可信执行环境用于运行安全要求较高的应用程序以及执行安全性要求较高的安全处理过程。随着安全处理场景复杂度越来越高,安全处理所需内存越来越大,可信执行环境中的安全内存空间经常面临内存不足的问题。
技术实现思路
本说明书实施例提供的一种安全内存扩展、释放方法及装置和电子设备。根据本说明书实施例的第一方面,提供一种安全内存扩展方法,应用于终端设备;其中,所述终端设备中运行有用户操作系统和可信执行环境;以及,运行在所述可信执行环境中的安全应用程序和第一内存管理驱动,和运行在所述用户操作系统中的第二内存管理驱动;所述可信执行环境包括供所述可信应用程序使用的安全内存空间;所述方法包括:响应于运行在所述可信执行环境中的安全应用程序触发的安全内存扩展请求,调用所述可信执行环境中的第一内存管理驱动将所述安全内存扩展请求中的需求内存大小发送给所述用户操作系统中的第二内存管理驱动;响应于所述第一内存管理驱动发送的需求内存大小,调用所述用户操作系统中的第二内存管理驱动,在所述用户操作系统中申请符合所述需求内存大小的空闲物理内存地址;并将所述申请到的物理内存地址发送给所述可信执行环境中的第一内存管理驱动;响应于所述第二内存管理驱动发送的物理内存地址,调用所述可信执行环境中的第一内存管理驱动,将所述物理内存地址写入所述安全内存空间的扩展内存列表;以由所述安全应用程序使用所述扩展内存列表中物理内存地址对应的物理内存空间。根据本说明书实施例的第二方面,提供一种安全内存释放方法,应用于终端设备;其中,所述终端设备中运行有用户操作系统和可信执行环境;以及,运行在所述可信执行环境中的安全应用程序和第一内存管理驱动,和运行在所述用户操作系统中的第二内存管理驱动;所述可信执行环境包括供所述可信应用程序使用的安全内存空间;所述方法包括:响应于运行在所述可信执行环境中的安全应用程序触发的安全内存释放请求,调用所述可信执行环境中的第一内存管理驱动基于所述安全内存释放请求中的待释放物理内存地址,删除所述安全内存空间的扩展内存列表中的物理内存地址,并将删除的待释放物理内存地址发送给所述用户操作系统中的第二内存管理驱动;响应于所述第一内存管理驱动发送的待释放物理内存地址,调用所述用户操作系统中的第二内存管理驱动,在所述用户操作系统中请求释放所述待释放物理内存地址对应的物理内存空间。根据本说明书实施例的第三方面,提供一种安全内存扩展装置,应用于终端设备;其中,所述终端设备中运行有用户操作系统和可信执行环境;以及,运行在所述可信执行环境中的安全应用程序和第一内存管理驱动,和运行在所述用户操作系统中的第二内存管理驱动;所述可信执行环境包括供所述可信应用程序使用的安全内存空间;所述装置包括:请求单元,响应于运行在所述可信执行环境中的安全应用程序触发的安全内存扩展请求,调用所述可信执行环境中的第一内存管理驱动将所述安全内存扩展请求中的需求内存大小发送给所述用户操作系统中的第二内存管理驱动;申请单元,响应于所述第一内存管理驱动发送的需求内存大小,调用所述用户操作系统中的第二内存管理驱动,在所述用户操作系统中申请符合所述需求内存大小的空闲物理内存地址;并将所述申请到的物理内存地址发送给所述可信执行环境中的第一内存管理驱动;扩展单元,响应于所述第二内存管理驱动发送的物理内存地址,调用所述可信执行环境中的第一内存管理驱动,将所述物理内存地址写入所述安全内存空间的扩展内存列表;以由所述安全应用程序使用所述扩展内存列表中物理内存地址对应的物理内存空间。根据本说明书实施例的第四方面,提供一种安全内存释放装置,应用于终端设备;其中,所述终端设备中运行有用户操作系统和可信执行环境;以及,运行在所述可信执行环境中的安全应用程序和第一内存管理驱动,和运行在所述用户操作系统中的第二内存管理驱动;所述可信执行环境包括供所述可信应用程序使用的安全内存空间;所述装置包括:请求单元,响应于运行在所述可信执行环境中的安全应用程序触发的安全内存释放请求,调用所述可信执行环境中的第一内存管理驱动基于所述安全内存释放请求中的待释放物理内存地址,删除所述安全内存空间的扩展内存列表中的物理内存地址,并将删除的待释放物理内存地址发送给所述用户操作系统中的第二内存管理驱动;释放单元,响应于所述第一内存管理驱动发送的待释放物理内存地址,调用所述用户操作系统中的第二内存管理驱动,在所述用户操作系统中请求释放所述待释放物理内存地址对应的物理内存空间。根据本说明书实施例的第五方面,提供一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为上述任一项安全内存扩展或者释放方法。通过上述技术方案,一方面,在可信执行环境中的安全内存空间不足时,安全应用程序可以主动申请扩展安全内存,通过将用户操作系统中的物理内存转换为安全内存,以供安全应用程序使用。从而实现可信执行环境中的安全内存空间的扩展。另一方面,所述从用户操作系统中的物理内存扩展的安全内存可以是临时的;在可信执行环境中的安全内存空间使用结束后,还可以将这个临时的安全内存进行释放;即将临时的安全内存地址归还给用户操作系统中的物理内存空间。从而实现降低对用户操作系统的性能影响。通过将上述安全内存扩展方案和安全内存释放方案配合实施,可以实现灵活、动态地调整可信执行环境中的安全内存空间大小,以满足安全应用程序所需的安全内存。附图说明图1是本说明书一实施例提供的终端设备的系统架构图;图2是本说明书一实施例提供的安全内存扩展方法的流程图;图3是本说明书一实施例提供的终端设备的系统架构图;图4是本说明书一实施例提供的安全内存释放方法的流程图;图5是本说明书一实施例提供的安全内存扩展装置的硬件结构图;图6是本说明书一实施例提供的安全内存扩展装置的模块示意图;图7是本说明书一实施例提供的安全内存释放装置的硬件结构图;图8是本说明书一实施例提供的安全内存释放装置的模块示意图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的方式并不代表与本说明书相一致的所有方式。相反,它本文档来自技高网...

【技术保护点】
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

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

1