一种安全内存实现方法及其系统技术方案

技术编号:26222948 阅读:32 留言:0更新日期:2020-11-04 10:54
本申请公开了一种安全内存实现方法及其系统,其中,安全内存实现系统,包括:设置于安全执行环境端的人脸算法和安全内存服务;设置于一般执行环境端的客户端程序、相机服务、安全内存分配器和安全内存;还包括相机硬件。本申请具有可以快速部属的安全内存,降低安全相机技术对硬件的依赖,从而使得在缺乏硬件保护的低端装置上也可以使用安全相机服务所带来的好处的技术效果。

【技术实现步骤摘要】
一种安全内存实现方法及其系统
本申请涉及计算机
,尤其涉及一种安全内存实现方法及其系统。
技术介绍
近年,人脸识别的认证机制越来越普及,但是也因此引发了一些安全上的隐忧。如果人脸识别的流程被带有恶意的黑客干涉,直接将要识别的人脸资料替换掉,则可能会直接危害到使用者的权益。因此确保人脸识别流程的安全性格外重要,而安全相机就是在这种需求下诞生的技术。使用安全相机的目的是确保在进行人脸识别的过程中,不会因为一些程序的安全漏洞而导致人脸资料被窜改,因此可以大幅度的降低安全隐忧。安全相机通常会搭配安全执行环境(TrustedExecuteEnvironment,简称TEE)来运行人脸辨识算法,并在辨识过程中将相机硬件使用的内存隔离,让运行于一般执行环境(RichExecutionEnvironment,简称REE)的程序无法存取相机内存,具有与即使应用程序存在漏洞也无法替换掉相机内存的资料的优点。如图1所示,现有的安全相机使用的安全内存实现系统(又称内存隔离系统)包括:设置于安全执行环境(TEE)端的人脸算法、安全内存服务和安全内存;设置于一般执行环境(REE)端的其它应用程序、客户端程序、相机服务和安全内存分配器;还包括:内存保护单元(MPU)、相机硬件和其它硬件。其中,人脸算法、其他应用程序,相机服务和客户端程序处于用户模式;安全内存服务,安全内存和安全内存分配器处于特权模式。其中,客户端程序:用于与用户交互的程序,也是人脸辨识系统的用户,负责啟动整个人脸辨识程序,会先控制相机服务进行拍照,并控制人脸算法开始进行辨识。安全内存分配器:用于负责管理安全内存,收到申请后,会从安全内存池中配置一块内存,使用内存保护单元(MPU)进行隔离,并通知安全内存服务有新的安全内存可以使用,最后返回安全内存句柄(handle)给请求内存的模块。相机服务:用于控制相机硬件的服务,它会向安全内存分配器申请安全内存,并且控制相机硬件将资料写入安全内存。其他应用服务:运行在REE环境的应用程序,这些应用程序无法修改人脸算法的内存,也无法修改安全内存中的资料。具体的,在具有内存保护单元(MPU)保护的系统中,只有授权的应用程序才能够存取安全内存。安全内存服务:负责管理安全内存,接收来自安全内存分配器的内存,建立安全内存表进行管理,同时提供人脸算法映射接口,让人脸算法可以读取安全内存。人脸算法:用来辨识人脸的应用程序,从安全内存中读取资料,并进行辨识。安全内存:是在内存中的一段连续的物理地址,透过一个称為内存保护单元(MemoryProtectionUnit,简称MPU)的硬件限制存取,只有被授权的硬件,以及运行在TEE环境的软件可以存取。在安全相机的应用场景之中,在辨识过程中就只有相机硬件被授权存取。具体的,客户端程序控制相机服务进行拍照,并控制人脸算法对拍摄的照片进行辨识。相机服务向安全内存分配器发送存储申请,内存分配器接收到申请后,从安全内存池中分配一块内存作为安全内存,并使用内存保护单元(MPU)进行隔离,通知安全内存服务具有新的安全内存可以使用,并返回安全内存句柄(handle)给请求内存的应用程序(例如:相机服务)。安全内存服务负责管理安全内存,接收来自安全内存分配器的内存信息,建立安全内存表进行管理,同时提供人脸算法映射接口,让人脸算法可以读取安全内存。人脸算法从安全内存中读取资料,并进行辨识。其中,使用内存保护单元(MPU)隔离其他硬件和相机硬件后,其他硬件的数据不可写入安全内存中,相机硬件的数据可写入安全内存。其他应用程序不可存取人脸算法和安全内存。但现有的安全内存的机制存在部属成本的问题,从而导致无法迅速普及。现有的内存隔离,一般是使用硬件达成,通常会使用内存保护单元(MemoryProtectionUnit,简称MPU),MPU是个特殊的硬件,可以用来设定某段连续物理地址,只有当处理器运行于TEE状态的时候能存取。但是该连续物理地址的数量是有限制的,数量越多成本越高。通常只有在较高阶的装置才会有多余的MPU来实现此功能,低阶装置的MPU都只够用来隔离TEE内存,这使得低阶装置几乎不可能使用安全内存技术。而安全相机本身也属于芯片供应商的私有技术,除了硬件成本之外,通常还会再收一笔软件整合费用,因此也提高了中高阶装置使用本技术的门槛。如图2所示,安全内存实现系统包括:设置于安全执行环境(TEE)端的人脸算法和安全内存服务;设置于一般执行环境(REE)端的其它应用程序、客户端程序、相机服务、安全内存分配器和安全内存;还包括:相机硬件和其它硬件。具体的,人脸算法、其他应用程序,相机服务和客户端程序处于用户模式;安全内存服务,安全内存和安全内存分配器处于特权模式。具体的,客户端程序控制相机服务进行拍照,并控制人脸算法对拍摄的照片进行辨识。相机服务向安全内存分配器发送存储申请,安全内存分配器接收到申请后,从安全内存池中分配一块内存作为安全内存,通知安全内存服务具有新的安全内存可以使用,并返回安全内存句柄(handle)给请求内存的应用程序(例如:相机服务)。安全内存服务负责管理安全内存,接收来自安全内存分配器的内存,建立安全内存表进行管理,同时提供人脸算法映射接口,让人脸算法可以读取安全内存。人脸算法从安全内存中读取资料,并进行辨识。由于未使用内存保护单元(MPU)隔离其他硬件和相机硬件,其他硬件的数据可写入安全内存中,相机硬件的数据可写入安全内存。其他应用程序不可存取人脸算法,但可存取安全内存。如图3所示,基于无内存保护单元(MPU)的安全内存实现系统,处于用户模式的应用程序、处于特权模式的安全内存分配器和处于特权模式的安全内存均设置于一般执行环境(REE)端。当处于用户模式下的任何应用程序(如相机服务)申请安全内存后,均会得到一个句柄(handle),只要应用程序取得句柄,则可以把安全内存映射设成为可读可写,进而修改安全内存中的资料。如图4所示,一个黑客攻击手法的例子。人脸算法设置于安全执行环境(TEE)端;相机服务、安全内存和黑客工具设置于一般执行环境(REE)端。人脸算法、相机服务和黑客工具位于用户空间,安全内存和相机硬件位于内核空间。如果相机服务有漏洞,黑客工具可能利用该漏洞取得安全内存的句柄,黑客工具取得句柄后可映射安全内存为可读可写,从而对安全内存的数据内容进行修改,人脸算法将读到假的图档。
技术实现思路
本申请的目的在于提供一种安全内存实现方法及其系统,具有可以快速部属的安全内存,降低安全相机技术对硬件的依赖,从而使得在缺乏硬件保护的低端装置上也可以使用安全相机服务所带来的好处的技术效果。为达到上述目的,本申请提供一种安全内存实现系统,包括:设置于安全执行环境端的人脸算法和安全内存服务;设置于一般执行环境端的客户端程序、相机服务、安全内存分配器和安全内存;还包括相机硬件;其中,人脸算法:是用于辨识人脸的应用程序;用于接收客户端程序下发的等待接收人脸资料指令,并执行等待接收人脸资料指令开始等待本文档来自技高网
...

【技术保护点】
1.一种安全内存实现系统,其特征在于,包括:设置于安全执行环境端的人脸算法和安全内存服务;设置于一般执行环境端的客户端程序、相机服务、安全内存分配器和安全内存;还包括相机硬件;/n其中,人脸算法:是用于辨识人脸的应用程序;用于接收客户端程序下发的等待接收人脸资料指令,并执行等待接收人脸资料指令开始等待人脸资料;用于接收安全内存服务的通知,读取安全内存中的人脸资料进行辨识,生成辨识结果,并将辨识结果返回给客户端程序;/n安全内存服务:负责管理安全内存;用于接收,并管理安全内存分配器发送的安全内存的内存信息;向人脸算法下发通知,提供人脸算法映射接口,使人脸算法可以读取安全内存;/n客户端程序:与用户交互的程序;控制相机服务获取人脸资料,并控制人脸算法对人脸资料进行辨识;接收反馈的辨识结果;/n相机服务:控制相机硬件获取人脸资料;用于向安全内存分配器发送存储申请指令,获取安全内存,并控制相机硬件将人脸资料写入至安全内存中;/n安全内存分配器:负责管理安全内存,用于执行存储申请指令,从安全内存池中配置一块内存作为安全内存,并通知安全内存服务有新的安全内存可以使用,最后将安全内存的句柄发送至相机服务,其中,相机服务获得句柄后只能允许映射成只读;/n安全内存:是在内存中的一段连续的物理地址,用于存储人脸资料,并允许人脸算法读取人脸资料;/n相机硬件:用于接收相机服务发送的拍照指令,获取人脸资料并将人脸资料写入至相应的安全内存,完成写入后向相机服务反馈写入完毕通知。/n...

【技术特征摘要】
1.一种安全内存实现系统,其特征在于,包括:设置于安全执行环境端的人脸算法和安全内存服务;设置于一般执行环境端的客户端程序、相机服务、安全内存分配器和安全内存;还包括相机硬件;
其中,人脸算法:是用于辨识人脸的应用程序;用于接收客户端程序下发的等待接收人脸资料指令,并执行等待接收人脸资料指令开始等待人脸资料;用于接收安全内存服务的通知,读取安全内存中的人脸资料进行辨识,生成辨识结果,并将辨识结果返回给客户端程序;
安全内存服务:负责管理安全内存;用于接收,并管理安全内存分配器发送的安全内存的内存信息;向人脸算法下发通知,提供人脸算法映射接口,使人脸算法可以读取安全内存;
客户端程序:与用户交互的程序;控制相机服务获取人脸资料,并控制人脸算法对人脸资料进行辨识;接收反馈的辨识结果;
相机服务:控制相机硬件获取人脸资料;用于向安全内存分配器发送存储申请指令,获取安全内存,并控制相机硬件将人脸资料写入至安全内存中;
安全内存分配器:负责管理安全内存,用于执行存储申请指令,从安全内存池中配置一块内存作为安全内存,并通知安全内存服务有新的安全内存可以使用,最后将安全内存的句柄发送至相机服务,其中,相机服务获得句柄后只能允许映射成只读;
安全内存:是在内存中的一段连续的物理地址,用于存储人脸资料,并允许人脸算法读取人脸资料;
相机硬件:用于接收相机服务发送的拍照指令,获取人脸资料并将人脸资料写入至相应的安全内存,完成写入后向相机服务反馈写入完毕通知。


2.权利要求1所述的安全内存实现系统,其特征在于,安全内存服务中建立有安全内存表,所述安全内存表用于存储和管理每个安全内存的内存信息,该内存信息包括:物理地址、大小和流水号。


3.一种安全内存实现方法,其特征在于,应用于如权利要求1-2任一项所述的安全内存实现系统中,包括如下步骤:
相机服务接收到客户端程序发送的获取人脸资料命令后,根据获取人脸资料命令向安全内存分配器下发存储申请指令;
相机服务接收安全内存分配器执行存储申请指令后反馈的安全内存的内存信息中的流水号和句柄;
相机服务根据安全内存的句柄向相机硬件下发拍照指令;
相机服务接收到相机硬件执行拍照指令后反馈的写入完毕通知后,将流水号传送至安全内存服务,通知安全内存服务该安全内存已经可以使用,再由安全内存服务通知人脸算法读取安全内存中的人脸资料进行辨识并生成辨识结果。


4.根据权利要...

【专利技术属性】
技术研发人员:周博
申请(专利权)人:沈阳谦川科技有限公司
类型:发明
国别省市:辽宁;21

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

1