G06/F2174
1.一种基于TEE和REE的分离式切换系统,包括TEE环境和REE环境,其特征在于,
在所述REE环境中具备驱动器,
在所述TEE环境中具备监控器,
其中,所述驱动器用于发送分离配置申请,
所述监控器具备寄存器分离配置模块,所述寄存器分离配置模块接受所述分离配置申请并且基于所述分离配置申请有选择性地使得外设对应的寄存器在某个应用从TEE环境返回REE后的规定时间内保持仍被TEE控制。
2.如权利要求1所述的基于TEE和REE的分离式切换系统, 其特征在于,所述寄存器分离配置模块具备:
非分离配置区,用于管理非分离配置模式下的外设的对应的寄存器;以及
分离配置区,用于管理分离配置模式下的外设的对应的寄存器。
3.如权利要求2所述的基于TEE和REE的分离式切换系统, 其特征在于,
在所述非分离配置模式下,当某个应用在从TEE环境返回REE环境时,外设的寄存器由REE进行控制,
在所述分离配置模式下,当某个应用在从TEE环境返回REE环境时,外设的寄存器保持分离配置状态不变,即由TEE进行控制。
4.如权利要求1所述的基于TEE和REE的分离式切换系统, 其特征在于,
所述驱动器进一步用于发送取消分离配置请求,
所述寄存器分离配置模块接受所述取消分离配置请求并且基于所述取消分离配置请求使得外设对应的寄存器在某个应用从TEE环境返回REE后由REE控制。
5.如权利要求1所述的基于TEE和REE的分离式切换系统, 其特征在于,
所述外设包括:显示器、摄像头、NFC功能。
6.如权利要求1~5任意一项所述的基于TEE和REE的分离式切换系统, 其特征在于,
所述寄存器分离配置模块设置在对于各个外设进行统一控制的CPU中。
7.如权利要求1~5任意一项所述的基于TEE和REE的分离式切换系统, 其特征在于,
所述寄存器分离配置模块设置在各个外设的所属的控制器中。
8.一种基于TEE和REE的分离式切换方法,其特征在于,包括:
申请步骤,通过驱动器发送分离配置申请;
配置步骤,按照所述分离配置申请有选择性地使得外设对应的寄存器在某个应用从TEE环境返回REE后的规定时间内保持仍被TEE控制。
9.如权利要求8所述的基于TEE和REE的分离式切换方法, 其特征在于,
在所述请求步骤中,通过驱动器发送分离配置请求,根据设定使得某些外设的申请标记为分离配置模式,将其余的外设的申请标记为非分离配置模式。
10.如权利要求8所述的基于TEE和REE的分离式切换方法, 其特征在于,
在所述非分离配置模式下,当某个应用在从TEE环境返回REE环境时,外设的寄存器由REE进行控制,
在所述分离配置模式下,当某个应用在从TEE环境返回REE环境时,外设的寄存器保持分离配置状态不变即仍旧由TEE进行控制。
11.如权利要求8所述的基于TEE和REE的分离式切换方法, 其特征在于,在所述配置步骤之后进一步具备:
取消步骤,通过驱动器发送取消分离配置请求,基于所述取消分离配置请求使得外设对应的寄存器在某个应用从TEE环境返回REE后由REE控制。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求8~11任意一项所述的基于TEE和REE的分离式切换方法。
13.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求8~11任意一项所述的基于TEE和REE的分离式切换方法。
本发明涉及移动通信技术,特别地涉及一种基于TEE和REE的分离式切换方法以及基于TEE和REE的分离式切换系统。
目前随着移动设备的安全问题越来越受到关注, TEE(Trusted ExecutionEnvironment,可信执行环境)技术越来越广泛的被运用在终端安全领域(例如手机支付),TEE包含的关键技术有:安全启动(Secure Boot)、安全显示和触摸(Trusted UI)、安全存储(Secure filesystem)等等,以下以Trusted UI为例说明目前的TEE方案实现方法。
目前Trusted UI(即TUI,可信UI)被广泛用于移动设备中,参与到安全敏感的业务(如支付、办公)中。移动设备中的用户界面因为在应用中处于相对敏感的位置(处理输入和输出),容易成为恶意行为的目标,基于TrustZone技术的TUI可以解决包含敏感数据信息的用户界面被恶意攻击以及数据被窃取或篡改等问题。
图1是现有的可信TUI的框架示意图。
如图1所示,用户启动应用71(例如,网银APP),进入交易界面,输入交易信息,此时CPU处于SVC模式且由CPU中REE(Rich Execution Environment,富执行环境)60通过总线控制LCD控制器80从而控制LCD显示屏90,应用61通过调用NDK接口最终将交易信息送入驱动器62(在图1中示例了显示驱动器、触摸驱动器等的多个驱动器,驱动器的个数和种类不受限制),驱动器62通过TrustZone的SMC指令(Secure Monitor Call)进入TEE 60,此时CPU自动由SVC模式进入SecureMonitor模式,保存LCD控制器80中各寄存器值至REE 60的缓存中,同时LCD显示屏90此时的显示资源也会存储在REE的缓存中,TEE 70中的监视器72接收到SMC指令后启动对应的安全应用71(例如,网银TA,Trust Application)并送入交易信息,此时所有外设相关的寄存器都交由TEE 70控制(其中包括LCD控制器80的各寄存器也由TEE70控制来显示TUI),安全应用71完成交易信息的显示(TUI)和用户确认(比如PIN码验证),交易结果由TEE 70通过SMC指令返回给驱动器62,此时CPU自动切回SVC模式且所有外设相关的寄存器也都交还给REE 60控制(包括恢复REE 60对LCD控制器80中各寄存器的控制权),LCD控制器80中各寄存器恢复保存在REE 60的缓存中的值,LCD显示屏90随即会加载之前储存在REE 60缓存中的资源,驱动器62再将交易结果返回给应用61准备好下一个界面后,LCD显示屏90显示该界面。具体流程参见图2。
图2是表示现有的基于REE和TEE而实现的手机转账过程。
首先,应用61发起显示交易界面命令,基于REE图形库LCD显示屏80显示交易界面。接着,用户通过应用输入交易信息,并将交易信息发送到驱动器62,驱动器62发送SMC指令和交易信息到监控器72,此时表示进入TEE,接着,监控器72启动对应于该应用61的安全应用(TA)71并送入交易信息,安全应用71将交易信息发送到TUI,LCD显示屏80显示TUI(包括交易信息)并要求用户输入PIN码。TUI获得PIN码后,发送到安全应用71,安全应用71将交易结果返回到监控器72,监控器72发送SMC指令和交易结果,此时,表示离开TEE。驱动器62将交易结果返回给应用61,接着,应用61恢复现场,使得LCD显示屏90显示交易界面,记者,应用71准备下一个界面,然后使得LCD显示屏90显示下一个界面。
具体的用户使用体验以手机转账为例,用户在安全应用的转账界面(A界面)中输入收款人、收款卡号、转账金额等信息,确认无误点击转账按钮后,LCD屏幕的控制权由安卓REE转给TEE,此时LCD屏幕显示收款人信息并要求输入PIN码确认,该界面即为TUI(B界面),由TEE中TA负责交易信息的显示和用户确认,PIN码确认无误后,LCD屏幕的控制权由TEE交还给REE,首先REE会先恢复现场,即LCD屏幕首先会跳转回进入TUI之前的最后一个界面(本例中为REE的转账界面,即A界面),等到提示转账成功界面准备好之后,再跳转到提示转账成功界面(C界面),具体过程如图3所示。
图3中表示了手机转账中的用户界面显示示例。如图3所示,用户感受到的现象是A界面跳转B界面又回到A界面再跳转C界面,没有流畅感且影响用户体验。
也就是说,在现有技术中,对应用程序来说,在从TEE切换回REE的时候,由于采用的是一体式的切换方法,所有外设的控制权都统一由TEE交还给REE,导致在某些应用场景中的体验不够友好和流畅(例如上图中TUI返回REE过程时,A界面会重复显示的问题)。
鉴于上述问题, 本发明旨在提供一种丰富应用场景、提高用户体验的基于TEE和REE的分离式切换方法以及基于TEE和REE的分离式切换系统。
本发明的基于TEE和REE的分离式切换系统,包括TEE环境和REE环境,其特征在于,
在所述REE环境中具备驱动器,
在所述TEE环境中具备监控器,
其中,所述驱动器发送分离配置申请,
所述监控器具备寄存器分离配置模块,所述寄存器分离配置模块接受所述分离配置申请并且基于所述分离配置申请有选择性地使得外设对应的寄存器在某个应用从TEE环境返回REE后的规定时间内保持仍被TEE控制。
优选地,所述寄存器分离配置模块具备:
非分离配置区,用于管理非分离配置模式下的外设的对应的寄存器;以及
分离配置区,用于管理分离配置模式下的外设的对应的寄存器。
优选地,在所述非分离配置模式下,当某个应用在从TEE环境返回REE环境时,外设的寄存器由REE进行控制,
在所述分离配置模式下,当某个应用在从TEE环境返回REE环境时,外设的寄存器保持分离配置状态不变,即由TEE进行控制。
优选地,所述驱动器进一步用于发送取消分离配置请求,
所述寄存器分离配置模块接受所述取消分离配置请求并且基于所述取消分离配置请求使得外设对应的寄存器在某个应用从TEE环境返回REE后由REE控制。
优选地,所述外设包括:显示器、摄像头、NFC功能。
优选地,所述寄存器分离配置模块设置在对于各个外设进行统一控制的CPU中。
优选地,所述寄存器分离配置模块设置在各个外设的所属的控制器中。
本发明的基于TEE和REE的分离式切换方法,其特征在于,包括:
申请步骤,通过驱动器发送分离配置申请;
配置步骤,按照所述分离配置申请有选择性地使得外设对应的寄存器在某个应用从TEE环境返回REE后的规定时间内保持仍被TEE控制。
优选地,在所述请求步骤中,通过驱动器发送分离配置请求,根据设定使得某些外设的申请标记为分离配置模式,将其余的外设的申请标记为非分离配置模式。
优选地,在所述非分离配置模式下,当某个应用在从TEE环境返回REE环境时,外设的寄存器由REE进行控制,
在所述分离配置模式下,当某个应用在从TEE环境返回REE环境时,外设的寄存器保持分离配置状态不变即仍旧由TEE进行控制。
优选地,在所述配置步骤之后进一步具备:
取消步骤,通过驱动器发送取消分离配置请求,基于所述取消分离配置请求使得外设对应的寄存器在某个应用从TEE环境返回REE后由REE控制。
本发明的计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述的基于TEE和REE的分离式切换方法。
本发明的计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述的基于TEE和REE的分离式切换方法。
根据本发明的基于TEE和REE的分离式切换方法以及基于TEE和REE的分离式切换系统 ,能够解决应用从TEE切换回REE时候,所有外设的控制权都统一交还给REE的问题,应用开发者可以根据需要选择选择哪些外设交还给REE控制,哪些外设一定时间内依旧由TEE控制,由此,能够丰富了应用场景,优化了用户体验。
图1是现有的可信TUI的框架示意图。
图2是表示现有的基于REE和TEE而实现的手机转账过程。
图3中表示了手机转账中的用户界面显示示例。
图4是表示本发明的基于TEE和REE的分离式切换系统的构造框图。
图5是表示本发明的一实施例的基于TEE和REE的分离式切换系统的构造框图。
图6是表示本发明一实施例的分离式切换方法的流程图。
图7中表示了利用本发明一实施例的分离式切换方法实现手机转账的用户界面显示示例。
下面介绍的是本发明的多个实施例中的一些,旨在提供对本发明的基本了解。并不旨在确认本发明的关键或决定性的要素或限定所要保护的范围。
本发明的主要构思在于, 取消了应用在REE和TEE之间切换时对所有外设寄存器的一体式管理方法,采用分离式方法,即通过在监控器中集成寄存器分离配置模块,达到可以选择性地将某些外设在应用从TEE返回REE后的一段时间内依旧由TEE控制的目的,而并非像原方案那样将所有的外设全部交还给REE控制。
以TUI为例的情况下本发明如下述这样实现:当驱动器通过SMC指令进入TEE时(意味着LCD显示内容准备从安卓跳转至TUI),LCD的控制权由REE交给TEE, LCD显示TUI,当TEE通过SMC指令返回交易结果给驱动器时(意味着LCD显示内容准备从TEE跳转回安卓),此时保持TEE对LCD的控制权,LCD依旧显示TUI(即LCD的控制权仍然交给TEE,除此以外的外设控制权交还给安卓),直到安卓下一个界面资源已经准备好,通知CPU将LCD的控制权交还给REE,同时LCD加载刚刚准备好的界面资源。由此,能够解决TUI跳转回安卓时LCD会加载不必要界面的问题,优化了显示体验。
为了实现上述内容,本发明的重要一点是,在TEE的监控器中集成一个寄存器分离配置模块,由此达到可以选择性的将某些外设在应用从TEE返回REE后的一段时间内依旧由TEE控制的目的。
接着,对于本发明的基于TEE和REE的分离式切换系统进行说明。
图4是表示本发明的基于TEE和REE的分离式切换系统的构造框图。
如图1所示,本发明的一实施方式的基于TEE和REE的分离式切换系统包括REE环境100和TEE环境200。
在REE环境100中具备驱动器110,在图1中示例了4个驱动器,驱动器1~驱动器4,将它们都统一称为驱动器110。在本发明中,驱动器110用于发送分离配置申请。
在TEE环境200中具备监控器210。另外,在图1中海油监控器210进行控制的各外设的寄存器300,这里寄存器300表示为一个,实际上它代表各外设对应的寄存器,它们可以是多个。另外,这里的外设是指但不限定于显示器、摄像头、NFC功能。
在监控器210中设置寄存器分离配置模块211,寄存器分离配置模块211接受所述分离配置申请并且基于分离配置申请有选择性地使得外设对应的寄存器300在某个应用从TEE环境返回REE后的规定时间内保持仍被TEE控制。
其中,寄存器分离配置模块211具备:非分离配置区212,用于管理非分离配置模式下的外设的对应的寄存器;以及分离配置区213,用于管理分离配置模式下的外设的对应的寄存器300。
在所述非分离配置模式下,当某个应用在从TEE环境200返回REE环境100时,外设的寄存器300由REE进行控制;在所述分离配置模式下,当某个应用在从TEE环境200返回REE环境100时,外设的寄存器300保持分离配置状态不变,即仍旧由TEE进行控制。
本发明的一实施方式的基于TEE和REE的分离式切换系统的交互过程主要有3个步骤:
(1)申请配置区
在应用从REE环境 100进入TEE环境 200时,通过驱动器110发送申请指令给监控器210中的寄存器分离配置模块211,根据需要将某些外设申请标记为分离配置模式,其余的外设申请为非分离配置模式。
(2)按配置区控制外设
在申请成功后,在应用进入TEE环境 200之后,分离配置模式下的外设相关寄存器300都由分离配置区213接管,非分离配置模式下的外设相关寄存器300都由非分离配置区212接管。在从TEE 200返回REE 100时,非分离配置模式下的外设的各个寄存器300统一恢复REE现场(即这些寄存器的非分离配置状态被取消,对应的外设控制权交还给REE 100,各寄存器重新恢复进入TEE 200之前的值),分离配置模式下的外设寄存器300保持分离配置状态不变(这些寄存器对应的外设仍然由TEE控制)。
(3)取消分离模式
直到应用通过驱动器110发送取消分离配置状态的指令给监控器210后,寄存器分离配置模块211将对应的外设相关寄存器300的分离配置状态取消,这些外设的寄存器300控制权被交还给REE,从而外设也交由REE 控制。
接着,以基于TUI的网银交易为例对于本发明的基于TEE和REE的分离式切换系统及其分离式切换方法进行说明。
图5是表示本发明的一实施例的基于TEE和REE的分离式切换系统的构造框图。
如图5所示,在CPU中设置REE(即安卓)10和TEE(即可信区域)20。其中,在REE 10中包括应用11(例如网银App)和驱动器12。作为驱动器12可以存在显示驱动器13、触摸驱动器14等的驱动器。在TEE 20中,包括安全应用21和监控器22 ,其中监控器22中设置寄存器分离配置模块23,在寄存器分离配置模块23中设置非分离配置区24和分离配置区25。CPU通过总线与LCD控制器30以及LCD显示屏40连接。
另外,上述描述中的分离式切换系统是在CPU中实现,即如图5所示寄存器分离配置模块23设置在CPU中,作为一个变形例,可以迁移到具体的外设所属控制器中实现,无需CPU统一控制的同时,更进一步满足具体外设的特有控制需求,例如,可以将寄存器分离配置模块23设置在各个外设的所属的控制器中(未图示)。
上述以显示屏为例讲述本专利的方法,其他的外设,如摄像头、NFC等也可通过该方法实现各自所需的分离延时控制需求接着,对于利用图5所示的分离式切换系统而实现的分离式切换方法进行说明。
图6是表示本发明一实施例的分离式切换方法的流程图。
如图6所示,具备包括下述步骤:
用户打开网银APP(即应用11),进入交易界面,此时CPU进入SVC模式且LCD显示屏40由REE通过总线控制显示安卓中的交易界面(例如通过调用REE图形库进行显示),用户输入交易信息(收款人,首款卡号,金额等);
网银APP通过驱动器112将LCD分离配置申请发送给监控器22的寄存器分离配置模块23,申请通过后寄存器分离配置模块23将LCD相关的寄存器设置为分离配置状态(目的是为了交易完成后在TUI返回REE后的短暂时间内,LCD仍然由TEE控制保持显示TUI,但除了LCD以外的其它资源和外设都交还给REE,等REE准备好下一个界面资源后再通知Monitor取消其分离配置状态),其他外设的各寄存器都申请配置为非分离配置状态,申请成功后对应各外设的相关寄存器都被设置为非分离配置状态,然后通知网银APP申请成功;
网银APP将用户输入的交易信息送入驱动器12,驱动器12发送SMC指令和交易信息给TEE中的监控器22,此时CPU进入安全监控器模式,LCD的控制权由REE交给TEE,监控器22启动对应的TA (安全应用)21并送入交易信息,LCD显示屏加载TUI资源(显示交易信息)并要求用户确认信息无误后输入PIN码确认,TA 21验证PIN码的正确性,TA21将验证结果返回给监控器,监控器通过SMC指令将交易结果发给REE的驱动器12(此时因为LCD显示屏相关的寄存器为分离配置状态,仍然由TEE控制,LCD显示屏依旧显示TUI;而其它外设相关寄存器因为是非分离配置状态,都将从被TEE控制变为被REE控制);
网银APP11根据收到的交易结果准备下一个界面资源(此时LCD显示屏依旧显示TUI,除了LCD以外的所有资源都已经由TEE交给REE),下一个界面资源准备好了之后,通知驱动器12发送将LCD显示屏切换回REE的命令给寄存器分离配置模块23,寄存器分离配置模块23接收到命令后取消LCD显示屏的寄存器的分离配置状态并将LCD显示屏的控制权交还给REE控制后通知网银APP设置成功;
网银APP11接收到通知后(此时LCD显示屏的控制权已经由TEE交还给了REE),LCD显示屏加载已经准备好了的界面资源。
图7中表示了利用本发明一实施例的分离式切换方法实现手机转账的用户界面显示示例。根据以上方法,在手机转账的情况下可以做到A界面再跳转到C界面的流畅体验(不会像现有技术中那样从A界面到B界面后先回到A界面再跳至C界面)。
如上所述,根据本发明的基于TEE和REE的分离式切换方法以及基于TEE和REE的分离式切换系统,够解决应用从TEE切换回REE时候,所有外设的控制权都统一交还给REE的问题,应用开发者可以根据需要选择选择哪些外设交还给REE控制,哪些外设一定时间内依旧由TEE控制,由此,能够丰富了应用场景,优化了用户体验。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述基于TEE和REE的分离式切换方法。
本发明还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述的基于TEE和REE的分离式切换方法。
以上例子主要说明了本发明的的分离式切换系统以及的分离式切换方法。尽管只对其中一些本发明的具体实施方式进行了描述,但是本领域普通技术人员应当了解,本发明可以在不偏离其主旨与范围内以许多其他的形式实施。因此,所展示的例子与实施方式被视为示意性的而非限制性的,在不脱离如所附各权利要求所定义的本发明精神及范围的情况下,本发明可能涵盖各种的修改与替换。
本文发布于:2023-04-14 09:41:47,感谢您对本站的认可!
本文链接:https://patent.en369.cn/patent/3/86548.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |