掌桥专利:专业的专利平台
掌桥专利
首页

一种触屏方法及电子设备

文献发布时间:2023-06-19 19:32:07


一种触屏方法及电子设备

技术领域

本申请涉及信息安全技术领域,尤其涉及一种触屏方法及电子设备。

背景技术

在支付、登录等对安全性要求较高的场景下,电子设备可以使用可信用户界面(Trusted User Interface,TUI)保护触屏信息(如密码、卡号等)的安全,避免遗漏或者被恶意篡改。在显示普通UI时,可由运行在富执行环境(Rich Execution Environment,REE)下的虚拟机(也可以称为普通虚拟机)来获取触屏芯片采集的触屏信息并响应。在显示TUI时,则需要运行在可信执行环境(Trusted Execution Environment,TEE)下的虚拟机(也可以称为安全虚拟机)与普通虚拟机之间协商转让触屏芯片的使用权,以使安全虚拟机可以获得触屏芯片的使用权。最后安全虚拟机则可以获取触屏芯片采集的触屏信息并响应。如此,可以保证用户在TUI中执行的触屏操作的触屏信息只会被安全虚拟机获取到,从而可以保证密码、卡号等触屏信息的安全性。

然而,安全虚拟机需要与普通虚拟机先协商,安全虚拟机在协商获得触屏芯片的使用权之后才能获取触屏芯片采集的触屏信息,实现过程较复杂。

发明内容

有鉴于此,本申请提供了一种触屏方法及电子设备,在保证触屏信息的安全性同时,可以简化处理流程。

第一方面,本申请实施例提供了一种触屏方法,应用于电子设备。电子设备在第一虚拟机中运行第一应用,显示第一应用的第一界面,第一应用不是可信应用TA。电子设备的第一驱动获取并处理第一触屏信息,向第一虚拟机上报处理后的第一触屏信息,第一触屏信息是对第一界面的第一触屏操作产生的。电子设备在第二虚拟机中运行第二应用,显示第二应用的第二界面,第二应用是TA。第一驱动获取并处理第二触屏信息,向第二虚拟机上报处理后的第二触屏信息,第二触屏信息是对第二界面的第二触屏操作产生的。

综上所述,采用本申请实施例的方法,在采用不同的虚拟机运行TA或者非TA时,都可以使用第一触屏驱动来获取触屏信息。并且,第一触屏驱动可以灵活的将触屏信息上报给对应的虚拟机,从而可以将对TA的应用界面的触屏操作而产生的触屏信息上报给第二虚拟机。由此可见,本申请实施例中并不涉及多个触屏驱动,因此无需为了保证第二触屏信息的安全性,而为多个触屏驱动分配获取触屏信息的权限(即触屏芯片的使用权)。而仅需第一触屏驱动通过简单的路由选择,即可保证安全触屏信息的安全性,极大的简化了保证触屏信息安全性的实现流程。

在一种可能的设计方式中,电子设备的处理器采用进阶精简指令集机器ARM架构,第一虚拟机和第二虚拟机位于ARM架构的第一异常等级中,第一驱动运行位于在ARM架构的第二异常等级中,第二异常等级对资源的使用权限高于第二异常等级对资源的使用权限。

也就是说,采用本实施例的方法,可以将触屏驱动与虚拟机运行在ARM架构的不同异常等级中,使触屏驱动与虚拟机的运行完全隔离,系统安全性也更高。

在一种可能的设计方式中,在上述显示第一应用的第一界面之后,第一驱动获取并处理第三触屏信息,向第一虚拟机上报处理后的第三触屏信息,第一触屏信息是对第一界面的第三触屏操作产生的,第三触屏操作用于触发电子设备在前台运行第二应用。也就是说,可以在第一界面中触发运行第二应用。响应于处理后的第三触屏信息,第一虚拟机向第二虚拟机发送第一消息。上述电子设备在第二虚拟机中运行第二应用,显示第二应用的第二界面,包括:响应于第一消息,第二虚拟机运行第二应用,显示第二应用的第二界面。

在一种可能的设计方式中,在显示第一应用的第一界面的情况下,第一驱动的触屏路由指向第一虚拟机;在显示第二应用的第二界面的情况下,第一驱动的触屏路由指向第二虚拟机。第一驱动根据触屏路由上报触屏信息。也就是说,第一驱动可以灵活切换触屏路由,使触屏路由指向对应的虚拟机。

在一种可能的设计方式中,在上述第二虚拟机接收到第一消息之后,第二虚拟机向第一驱动发送第一通知。响应于第一通知,第一驱动切换触屏路由,使触屏路由指向第二虚拟机。也就是说,第二虚拟机在接收到第一消息后,可以及时通知第一驱动切换触屏路由,从而防止运行第二应用的过程中产生的触屏信息的泄露。

在一种可能的设计方式中,在上述第二虚拟机运行第二应用,显示第二应用的第二界面后,第一驱动获取并处理第四触屏信息,向第二虚拟机上报处理后的第四触屏信息,第四触屏信息是对第二界面的第四触屏操作产生的,第四触屏操作用于触发电子设备在前台运行第三应用,第三应用不是TA。响应于处理后的第四触屏信息,第二虚拟机向第一虚拟机发送第二消息。响应于第二消息,第一虚拟机运行第三应用,显示第三应用的第三界面。第一驱动获取并处理第五触屏信息,向第一虚拟机上报处理后的第五触屏信息,第五触屏信息是对第三界面的第五触屏操作产生的。

也就是说,运行第二应用之后,可以进一步切回运行普通应用,即非TA。例如,响应于用户从第二界面的底部向上的滑动操作,则可以触发运行桌面应用。在运行第三应用之后,第一驱动又可以向第一虚拟机上报触屏信息,而不会继续向第二虚拟机上报触屏信息。如此,即使反复切换运行不同的应用,第一驱动也可以将触屏信息上报给合适的虚拟机。

在一种可能的设计方式中,在上述第二虚拟机接收到第四触屏信息之后,第二虚拟机向第一驱动发送第二通知。响应于第二通知,第一驱动切换触屏路由,使触屏路由指向第一虚拟机。上述向第一虚拟机上报处理后的第五触屏信息,包括:第一驱动根据触屏路由,向第一虚拟机上报处理后的第五触屏信息。

在一种可能的设计方式中,上述显示第一应用的第一界面,显示第二应用的第二界面,包括:分屏显示第一应用的第一界面和第二应用的第二界面,或者,在悬浮窗中显示第一界面或第二界面。也就是说,电子设备可以同时显示第一界面和第二界面。在该场景中,在触屏操作的焦点在第一界面的情况下,即第一界面处于活动状态(类似活动窗口一样,下同)的情况下,第一驱动的触屏路由指向第一虚拟机。在焦点在第二界面的情况下,即第二界面处于活动状态第一驱动的触屏路由指向第二虚拟机。第一驱动根据触屏路由上报触屏信息。如此,可以保证在同时显示TUI和普通UI时,可以将触屏信息上报给合适的虚拟机。

在一种可能的设计方式中,在焦点从第一界面切换到第二界面之后,第二虚拟机向第一驱动发送第一通知。响应于第一通知,第一驱动切换触屏路由,使触屏路由指向第二虚拟机。在焦点从第二界面切换到第一界面之后,第二虚拟机向第一驱动发送第二通知。响应于第二通知,第一驱动切换触屏路由,使触屏路由指向第一虚拟机。也就是说,在焦点切换后,通过通知第一驱动切换触屏路由,可以保证第一驱动能将触屏信息上报给合适的虚拟机。

第二方面,本申请实施例还提供一种电子设备,所述电子设备包括:显示屏、存储器和一个或多个处理器,所述存储器与所述处理器耦合;其中,所述存储器中存储有计算机程序代码,所述计算机程序代码包括计算机指令,当所述计算机指令被所述处理器执行时,使得所述电子设备执行如第一方面及其任一种可能的设计方式所述的方法。

第三方面,本申请实施例提供一种芯片系统,该芯片系统应用于包括显示屏和存储器的电子设备;所述芯片系统包括一个或多个接口电路和一个或多个处理器;所述接口电路和所述处理器通过线路互联;所述接口电路用于从所述电子设备的存储器接收信号,并向所述处理器发送所述信号,所述信号包括所述存储器中存储的计算机指令;当所述处理器执行所述计算机指令时,所述电子设备执行如第一方面及其任一种可能的设计方式所述的方法。

第四方面,本申请提供一种计算机存储介质,该计算机存储介质包括计算机指令,当所述计算机指令在电子设备上运行时,使得电子设备执行如第一方面及其任一种可能的设计方式所述的方法。

第五方面,本申请提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如第一方面及其任一种可能的设计方式所述的方法。

可以理解地,上述提供的第二方面所述的电子设备,第三方面所述的芯片系统,第四方面所述的计算机存储介质,第五方面所述的计算机程序产品所能达到的有益效果,可参考第一方面及其任一种可能的设计方式中的有益效果,此处不再赘述。

附图说明

图1为本申请实施例提供的手机界面的示意图之一;

图2为本申请实施例提供的电子设备的硬件结构图;

图3为本申请实施例提供的电子设备的软件架构图;

图4为本申请实施例提供的ARM架构的示意图之一;

图5A为本申请实施例提供的ARM架构的示意图之二;

图5B为本申请实施例提供的ARM架构的示意图之三;

图6为本申请实施例提供的ARM架构的示意图之四;

图7为本申请实施例提供的触屏方法的流程图之一;

图8为本申请实施例提供的触屏方法的软硬件交互示意图之一;

图9为本申请实施例提供的手机界面的示意图之二;

图10为本申请实施例提供的触屏方法的流程图之二;

图11为本申请实施例提供的触屏方法的软硬件交互示意图之二;

图12为本申请实施例提供的触屏方法的流程图之三;

图13为本申请实施例提供的手机界面的示意图之三;

图14为本申请实施例提供的触屏方法的软硬件交互示意图之三;

图15为本申请实施例提供的手机界面的示意图之四;

图16为本申请实施例提供的手机界面的示意图之五;

图17为本申请实施例提供的芯片系统的结构示意图。

具体实施方式

本申请实施例提供一种触屏方法,该方法可以应用于支持触屏操作的电子设备,如包括触摸屏的电子设备。示例性的,上述电子设备可以是手机、平板电脑、个人计算机(personal computer,PC)、智慧屏、人工智能(artificial intelligence,AI)音箱、车机设备以及智能手表等可穿戴终端设备,还可以是各种教学辅助工具(例如学习机、早教机)、智能玩具、便携式机器人、个人数字助理(personal digital assistant,PDA)、增强现实技术(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备等,也可以是具有移动办公功能的设备、具有智能家居功能的设备、具有影音娱乐功能的设备、支持智能出行的设备等。应理解,本申请实施例对电子设备的具体形态不做限定。

进一步的,本申请实施例提供的触屏方法可以适用于电子设备中安全触屏的场景。其中,安全触屏的场景包括但不限于支付场景、转账场景以及登录场景。示例性的,安全触屏的场景可以是图1中界面101所示的转账场景,在转账场景中,用户执行触屏操作输入的触屏信息可能会涉及银行账号、密码等敏感信息。又示例性的,安全触屏的场景可以是图1中界面102所示的登录场景,在登录场景中,用户执行触屏操作输入的触屏信息可能会涉及用户账号、登录密码等敏感信息。简言之,安全触屏的场景是指触屏信息涉及敏感信息(下文中将统一称为安全触屏信息)的场景。本申请实施例提供的触屏方法,应用于上述安全触屏的场景中,可以保证安全触屏信息的私密性,避免泄露或被篡改。

为了能够更好地理解本申请实施例,下面对电子设备的硬件结构进行介绍。示例性的,图2为本申请实施例提供的一种电子设备的结构示意图。

电子设备可以包括处理器210,外部存储器接口220,内部存储器221,通用串行总线(universal serial bus,USB)接口230,充电管理模块240,电源管理模块241,天线1,天线2,移动通信模块250,无线通信模块260,音频模块270,扬声器270A,受话器270B,麦克风270C,传感器模块280,按键290,指示器292,摄像头293,以及显示屏294等。

可选地,上述传感器模块280可以包括触摸传感器(TP Sensor)280K。应理解,传感器模块280中还可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,环境光传感器,骨传导传感器等,本申请实施例对此不作具体限定。

可以理解的是,本申请实施例示意的结构并不构成对电子设备的具体限定。在本申请另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。

处理器210可以包括一个或多个处理单元。例如:处理器210可以包括应用处理器(application processor,AP),调制解调处理器,中央处理器(Central Processing Unit,CPU),图形处理器(graphics processing unit,GPU),图像信号处理器(image signalprocessor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signalprocessor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。处理器210中还可以设置存储器,用于存储指令和数据。

USB接口230是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口230可以用于连接充电器为电子设备充电,也可以用于电子设备与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。

充电管理模块240用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。电源管理模块241用于连接充电管理模块240与处理器210。

电子设备的无线通信功能可以通过天线1,天线2,移动通信模块250,无线通信模块260,调制解调处理器以及基带处理器等实现。

天线1和天线2用于发射和接收电磁波信号。电子设备中的天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。

移动通信模块250可以提供应用在电子设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块250可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块250可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。

无线通信模块260可以提供应用在电子设备上的包括无线局域网(wirelesslocalarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM)等无线通信的解决方案。

电子设备通过图形处理器(graphics processing unit,GPU),显示屏294以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏294和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。GPU又可以称为显示核心、视觉处理器和显示芯片等。

显示屏294用于显示图像,视频等。显示屏294包括显示面板。在一些实施例中,电子设备可以包括1个或N个显示屏294,N为大于1的正整数。

电子设备可以通过图像处理器(image signal processor,ISP),摄像头293,视频编解码器,GPU,显示屏294以及应用处理器等实现拍摄功能。

摄像头293用于捕获静态图像或视频。在一些实施例中,电子设备可以包括1个或N个摄像头293,N为大于1的正整数。

外部存储器接口220可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备的存储能力。外部存储卡通过外部存储器接口220与处理器210通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。

内部存储器221可以用于存储计算机可执行程序代码,可执行程序代码包括指令。内部存储器221可以包括存储程序区和存储数据区。

电子设备可以通过音频模块270,扬声器270A,受话器270B,麦克风270C,以及应用处理器等实现音频功能。例如音乐播放,录音等。

音频模块270用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。扬声器270A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备可以通过扬声器270A收听音乐,或收听免提通话。受话器270B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备接听电话或语音信息时,可以通过将受话器270B靠近人耳接听语音。麦克风270C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。

触摸传感器280K,也称“触控面板”。触摸传感器280K可以设置于显示屏294,由触摸传感器280K与显示屏294组成触摸屏,也称“触控屏”。触摸传感器280K用于检测作用于其上或附近的触屏操作。触摸传感器280K可以将检测到的触屏操作传递给应用处理器,如触屏芯片(TP IC),以确定触屏操作的相关数据。可以通过显示屏294提供与触摸操作相关的视觉输出。

按键290包括开机键,音量键等。按键290可以是机械按键。也可以是触摸式按键。电子设备可以接收按键输入,产生与电子设备的用户设置以及功能控制有关的键信号输入。指示器292可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。

上述电子设备中软件构成可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。下面以分层架构为例说明电子设备的软件结构。

图3为本申请实施例适用的一种电子设备的软件结构框图。分层架构将软件系统分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,可以将软件系统分为四层,从上到下依次为应用程序层(applications)、应用程序框架层(application framework)、系统层及内核层(kernel)。应理解,电子设备中的执行环境包括REE和TEE,TEE和REE下都可以独立运行应用程序和操作系统(Operating System,OS)。与此同时,在软件结构的每一层中,包括分别可在TEE和REE中运行的软件构成,下面将一一说明:

应用程序层可以包括一系列应用程序。按照执行环境,这些应用程序可以被分为普通应用(REE APP)和可信应用(trusted application,TA)。其中,REE APP是运行在REE下的APP,如日历、备忘录、地图、导航、视频、支付、聊天等APP。TA是运行在TEE下的APP。与REE相比,TEE可以给数据和代码的执行提供一个更安全的空间,并保证它们的机密性和完整性。因此,TEE可用于运行对安全性要求较高的APP。也就是说,TA可以是一些对安全性要求较高的APP。并且,用户对TA的应用界面(即TUI)执行触屏操作的场景通常为安全触屏的场景,即触屏信息往往是安全触屏信息。与之相对的,REE APP对安全性的要求则没有TA那么高,用户对REE APP的应用界面(即普通UI)执行的触屏操作的触屏信息(可记为普通触屏信息)通常不涉及敏感信息。为了区别安全触屏场景,可以将用户对REE APP的应用界面执行触屏操作的场景称为普通触屏场景。

在一些实施例中,TA可以是支持生物(面部、指纹、声音等)识别功能、转账功能、支付功能等的APP。生物识别、转账、支付等场景中用户都可能会通过触屏操作输入一些安全触屏信息,如指纹、身份证号、银行账号、支付密码等,通过在TEE下运行这些TA,可以保证这些安全触屏信息不会被恶意篡改或者泄露。

需要说明的是,TA可以是独立的APP,如钱包应用。或者,TA也可以不是独立的APP,而是内嵌于REE APP中,用于实现REE APP中的某项功能。例如,REE APP为银行类APP,银行类APP中的转账功能需要银行业务TA来实现,也就是说,在运行银行类APP并触发进入转账功能时,则会触发银行业务TA的运行。很显然,银行业务TA可以理解为内嵌于REE APP中的APP。

应用程序框架层为应用程序层中的应用程序提供应用程序接口(applicationprogramming interface,API)和编程框架。示例性的,应用程序框架层中包括支持应用程序运行的各种服务,如蓝牙服务、相机服务等。同样按照执行环境,应用程序框架层中包括支持REE APP运行的服务,以及支持TA运行的服务。

在一些实施例中,应用程序框架层中包括普通触屏服务和安全触屏服务。其中,普通触屏服务用于支持REE APP实现响应触屏操作的功能,安全触屏服务用于支持TA实现响应触屏操作的功能。以安全触屏服务为例,安全触屏服务可以接收来自底层(如内核层)的安全触屏信息,如触屏位置、触屏类型(点击、长按等类型)等,并将安全触屏信息(或者处理后的安全触屏信息)发送给上层TA,然后TA可以根据安全触屏信息和业务逻辑响应触屏操作,例如,显示用户输入的密码。

系统层中可以包括运行在REE下的OS(可记为普通操作系统REE OS),如安卓(andriod)、IOS、Linux等系统,以及运行在TEE下的OS(可记为可信操作系统TEE OS)。应理解,OS中可以包括系统库,如媒体库(Media Libraries),三维图形处理库(例如:OpenGLES)等。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:JPG,PNG等。三维图形处理库用于实现三维图形绘图,图像渲染,合成和图层处理等。

内核层是硬件和软件之间的层。内核层中可以包括显示驱动、触屏驱动、摄像头驱动,音频驱动,传感器驱动,蓝牙驱动等硬件驱动,用于驱动硬件工作。同样的,对应两种执行环境,上述硬件驱动也可以分为两种。

在一些实施例中,内核层中包括普通触屏驱动和安全触屏驱动。普通触屏驱动是运行在REE下的触屏驱动,安全触屏驱动是运行在TEE下的触屏驱动。普通触屏驱动和安全触屏驱动都可以通过访问触屏芯片的输入/输出(Input/Output,IO)内存,获得触屏信息。示例性的,在普通触屏场景(即触屏信息不涉及敏感信息的场景)中,普通触屏驱动可以通过访问触屏芯片的IO内存,获得普通触屏信息(不包括敏感信息)。在安全触屏场景中,安全触屏驱动可以通过访问触屏芯片的IO内存,获得安全触屏信息。

进一步的,电子设备的处理器通常可以采用进阶精简指令集机器(Advanced RISCMachine)架构。由于ARM所用的指令集为精简指令集(Reduced Instruction SetComputing,RISC),避免了复杂指令,以逻辑控制为主,不用或少用微码控制。从而可以使SOC的体积小、功耗低,非常适用于手机这种小型的电子设备。

如图4所示,ARM架构中可以包括四个异常级别(Exception level,EL),从EL0到EL3。对于ELn(n为大于或等于0的整数),n越大则表示软件执行的特权权限越大。EL0级别下的执行叫非特权执行(unprivileged execution)。并且,n越大则表示对电子设备中的资源的使用权限也越高。

EL0中运行有应用程序层中的应用程序,如REE APP、TA,还运行有应用程序框架层中提供的、支持应用程序运行的各种服务,如普通触屏服务、安全触屏服务。EL1中运行有系统层中的OS,如REE OS、TEE OS,还运行有内核层中的硬件驱动,如普通触屏驱动、安全触屏驱动。EL2中运行有虚拟机监视器(Hypervisor)。EL3支持安全状态和非安全状态之间的转换。例如,EL3中运行有安全监视器(Secure Monitor)。

应理解,应用程序层、应用程序框架层和内核层可以运行在虚拟机中。虚拟机将应用程序层、应用程序框架层和内核层的Java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。也就是说,ARM架构中EL0和EL1的运行可以由虚拟机来实现。为了方便说明,可以将异常级别称为异常等级,将EL0和EL1统称为第一异常级别,将EL2称为第二异常等级。

Hypervisor可以创建上述虚拟机,每个虚拟机都具有独立的操作系统(即每个虚拟机中运行的OS),可以独立地运行APP,保存数据等。

示例性的,Hypervisor可以创建如图5A所示的虚拟机1、虚拟机2和虚拟机3。虚拟机1的OS为andriod系统,在虚拟机1中运行的包括REE APP,以及支持该REE APP运行的普通服务(如普通触屏服务)和普通驱动(如普通触屏驱动)。应理解,虚拟机1中运行的REE APP可以有一个或多个,如REE APP包括日历、备忘录、地图、导航等。虚拟机2的OS为TEE OS,在虚拟机2中运行的包括TA,以及支持该TA运行的安全服务(如安全触屏服务)和安全驱动(如安全触屏驱动)。类似的,虚拟机2中运行的TA也可以是一个或多个。

前述图5A中仅以两个虚拟机为示例。实际实施时,Hypervisor可以创建更多的虚拟机。在一些场景中,可以创建运行在TEE下的多个虚拟机,多个虚拟机可分别用于运行不同的TA。从而可以使多个TA隔离运行,避免TA之间的数据泄露。

在另一些场景中,可以将TA、支持TA运行的服务以及支持TA运行的驱动在至少两个虚拟机中运行,至少两个虚拟机之间互相配合,可以减少单个虚拟机的运行负载。示例性的,Hypervisor可以创建如图5B所示的虚拟机1(同图5A中的虚拟机1)、虚拟机3和虚拟机4。虚拟机3和虚拟机4的OS均为TEE OS。虚拟机4中运行有TA和安全触屏客户端,虚拟机3中运行有安全触屏服务和安全触屏驱动。其中,虚拟机4中的安全触屏客户端和虚拟机3中的安全触屏服务结合的作用与前述图5A所示虚拟机2中的安全触屏服务相同。也就是说,TA的运行并不完全在一个虚拟机中完成的,而是需要虚拟机3和虚拟机4结合,来完成前述图5A中虚拟机2的工作。从而虚拟机3和虚拟机4都仅需完成图5A所示虚拟机2的一部分工作,可以减少虚拟机3和虚拟机4的运行负载。

并且,Hypervisor具有资源管理的功能,可以为创建的虚拟机分配软硬件资源。

示例性的,在普通触屏场景下,即不涉及安全触屏信息的场景中,如在桌面左右滑动、点击应用图标、拨打电话等场景,Hypervisor需要为普通触屏驱动分配对触屏芯片的IO内存的访问权(下文中统称对触屏芯片的使用权)。这样,普通触屏驱动才能获取到普通触屏场景下产生的普通触屏信息,如用户点击应用图标的触屏信息。然后,普通触屏驱动向上经过普通触屏服务,向REE APP反馈普通触屏信息。最终REE APP才能响应用户在普通触屏场景下的触屏操作。例如,响应于用户对桌面上REE APP的图标的点击操作,REE APP可以显示主界面。

当切换到安全触屏场景后,即涉及安全触屏信息的场景,如图1所示转账、登录等场景,Hypervisor需要将对触屏芯片的使用权从普通触屏驱动转移给安全触屏驱动。这样,一方面可以保证安全触屏场景下产生的安全触屏信息,如用户在转账界面输入转账密码的触屏信息,不会被普通触屏驱动获取到。从而可以保证安全触屏信息的安全性。另一方面使安全触屏驱动可以获得安全触屏场景下产生的安全触屏信息。然后,安全触屏驱动向上经过安全触屏服务,向TA反馈安全触屏信息。最终TA才能响应用户在安全触屏场景下的触屏操作。例如,响应于用户在转账界面中点击数字“5”对应的区域的操作,TA可以在密码输入框中显示数字“5”。

也就是说,在电子设备运行的过程中,为了保证安全触屏信息的安全性,在从普通触屏场景切换到安全触屏场景后,需要转移触屏芯片的使用权。然而,在转移触屏芯片的使用权的过程中,需要多个虚拟机之间相互协商,以图5B为例,需要虚拟机4向虚拟机1请求交出触屏芯片的使用权。还需要Hypervisor将触屏芯片的使用权从一个虚拟机转出,并授权给另一个虚拟机,仍以图5B为例,需要Hypervisor将触屏芯片的使用权从虚拟机1转出,并转移给虚拟机3,从而使虚拟机3中的安全触屏驱动具有对触屏芯片的使用权。上述转移触屏芯片的使用权的流程复杂,从而导致保证安全触屏信息的安全性的实现难度更大。

基于上述问题,本申请实施例提供一种触屏方案,可以将普通触屏驱动和安全触屏驱动合并为一个触屏驱动,如图6所示的第一触屏驱动(也可称为第一驱动)。由于将普通触屏驱动和安全触屏驱动合并为一个触屏驱动,即第一触屏驱动,则该第一触屏驱动可以始终拥有触屏芯片的使用权,从而获得触屏信息(包括普通触屏场景中产生的普通触屏信息和安全触屏场景中产生的安全触屏信息)。也就是说,本申请实施例中则不涉及触屏芯片的使用权的转移了,则可以省略掉转移触屏芯片的使用权的复杂流程。

在普通触屏场景下,第一触屏驱动可以将获取到的触屏信息(也可以称为第一触屏信息)上报给运行在REE下的虚拟机,如图6中的虚拟机1(也可以称为第一虚拟机),从而使运行在虚拟机1中的REE APP可以响应用户针对REE APP(即在普通UI中)的触屏操作。在安全触屏场景下,第一触屏驱动可以将获取到的触屏信息(也可以称为第二触屏信息)上报给运行在TEE下的虚拟机,如图6中的虚拟机5(也可以称为第二虚拟机),从而使运行在虚拟机5中的TA可以响应用户针对TA(即在TUI中)的触屏操作。如此,仅需第一触屏芯片通过简单的路由选择,即可保证安全触屏信息的安全性。

在一些实施例中,如图6所示,还可以将第一触屏驱动下沉到EL2中,例如,下沉到图6所示EL2中运行的Hypervisor中。从而可以使触屏驱动与虚拟机完全隔离,系统安全性也更高。

在一些实施例中,在将第一触屏驱动下沉到EL2中之后,则在EL0-EL1中完成的有关触屏操作的处理更少了,从而可以将如图5B所示的虚拟机3和虚拟机4合并为一个虚拟机,例如,合并为图6所示的虚拟机5。应理解,在合并为一个虚拟机之后,则不再区分客户端和服务端,从而可将虚拟机3中的安全触屏服务和虚拟机4中的安全触屏客户端统称为安全触屏服务。也就是说,触屏操作的处理可以在一个虚拟机中完成,从而可以减少虚拟机的数量,便于虚拟机的维护。

在一些实施例中,虚拟机1或者虚拟机5可以通知第一触屏驱动切换触屏信息的触屏路由,以使第一触屏驱动可以实现路由选择。即,在普通触屏场景下将触屏信息上报给虚拟机1,在安全触屏场景下降触屏信息上报给虚拟机5。示例性的,第一触屏驱动默认将触屏信息路由至虚拟机1。而在进入安全触屏场景后,虚拟机5可以通知第一触屏驱动切换触屏信息的路由,后续第一触屏驱动则可以将触屏信息路由至虚拟机5。此后,在退出安全触屏场景,进入普通触屏场景后,虚拟机5可以通知第一触屏驱动再次切换触屏信息的路由,后续第一触屏驱动则可以将触屏信息路由至虚拟机1。下文中,主要以虚拟机5通知第一触屏驱动切换触屏信息的触屏路由为例来说明。

进一步的,如图6所示,第一触屏驱动中可以包括路由模块,由路由模块根据虚拟机1或者虚拟机5的通知对触屏信息路由。

综上所述,在本申请实施例中,不会涉及多个触屏驱动对触屏芯片的使用权的冲突问题,从而无需在多个虚拟机之间转移触屏芯片的使用权,可以简化处理流程。并且,第一触屏驱动自身即可完成路由选择,而无需多个虚拟机之间的协商,也就是说,路由选择的过程与虚拟机隔离,安全性也更高。

为了便于理解本申请实施例的方案,下面先结合图7-图9,并主要以图5B为例,对常规技术中通过转移触屏芯片的使用权,以保证安全触屏信息的安全性的具体实现进行说明。如图7所示,常规技术的具体实现包括:

S701、虚拟机1运行第一REE APP,显示第一REE APP的第一界面。

其中,第一REE APP(也可以称为第一应用)可以是虚拟机1中运行的任一个REEAPP,即不是TA。第一界面可以是第一REE APP的任一界面。也就是说,用户对第一界面的触屏操作的触屏信息为普通触屏信息,即不涉及敏感信息。

以第一REE APP是运行在图8所示虚拟机1中的银行APP为例,则第一界面可以是银行APP的任一界面。例如,第一界面是图9所示银行APP的主界面901,主界面901中包括银行APP支持的多种功能(收付款、转账、理财等)的功能入口,用户对各个功能入口执行的触屏操作通常不会涉及敏感信息。

应理解,虚拟机1显示第一界面,具体是指第一REE APP(如图8所示虚拟机1中的银行APP)显示第一界面。结合图8所示,在银行APP显示第一界面的过程中,用户对第一界面执行触屏操作会产生普通触屏信息,触屏芯片可以采集到普通触屏信息。并且,默认情况下,虚拟机1具有对触屏芯片的使用权,则虚拟机1中的普通触屏驱动可以访问触屏芯片的IO内存,获得普通触屏信息。然后,普通触屏驱动向上经过普通触屏服务,向银行APP反馈普通触屏信息。最终银行APP则可以响应用户在第一界面中执行的触屏操作。

S702、响应于用户对第一界面的第一操作,虚拟机1向虚拟机4发送消息1,消息1指示虚拟机4运行第一TA。

第一操作(也可以称为第三触屏操作)用于触发运行第一REE APP的第一功能,第一功能需要由第一TA来实现。换言之,第一操作用于触发运行第一TA(也可以称为第二应用)。

示例性的,第一界面是图9所示银行APP的主界面901,银行APP中的转账功能需要第一TA(如图8所示虚拟机4中的银行业务TA)来实现,则第一功能可以是银行APP中的转账功能,第一操作可以是用户对主界面901中转账按钮902的点击操作。

在虚拟机1显示第一界面的过程中,用户对第一界面执行第一操作,触屏芯片可以采集到第一操作对应的普通触屏信息,如第一操作的触屏位置、触屏时间等。为了方便说明,可以将第一操作对应的普通触屏信息称为第三触屏信息。虚拟机1中的普通触屏驱动可以获取到第一操作对应的普通触屏信息,然后向上最终传输给第一REE APP。从而第一REEAPP可以接收到第一操作对应的普通触屏信息,也可以理解为虚拟机1接收到第一操作。

虚拟机1在接收到第一操作后,可以向虚拟机4发送消息1(也可以称为第一消息)。虚拟机4即为运行第一TA的虚拟机,消息1可以指示虚拟机4来执行第一TA,以实现第一REEAPP的第一功能。结合图8所示,虚拟机1向虚拟机4发送消息1可以为过程①所示,即虚拟机1中的银行APP向虚拟机4中的银行业务TA发送消息1。

虚拟机4在接收到消息1之后,一方面需要显示第二界面,以便实现第一功能,如下S703所示。其中,虚拟机4接收到消息1可以是第一TA(如图8所示虚拟机4中的银行业务TA)接收到消息1。

S703、虚拟机4响应于消息1,运行第一TA,显示第一TA的第二界面。

虚拟机4显示第二界面可以是虚拟机4中的第一TA(如图8所示虚拟机4中的银行业务TA)显示第二界面。应理解,用户在第二界面中执行的触屏操作会产生安全触屏信息。

示例性的,第二界面是图9所示的界面903,界面903是转账功能的界面,用户会在界面903中输入收款人姓名、卡号等敏感信息。

虚拟机4在接收到消息1之后,另一方面需要将触屏芯片的使用权由虚拟机1(具体为虚拟机1中的普通触屏驱动,下同)转移给虚拟机3(具体为虚拟机3中的安全触屏驱动,下同),以保证安全触屏信息的安全性,如下S704-S706所示。

S704、虚拟机4响应于消息1,向虚拟机1发送消息2,消息2指示获得触屏芯片的使用权。

结合图8所示,虚拟机4向虚拟机1发送消息2的过程包括:虚拟机4中的银行业务TA在接收到消息1之后,可以通知虚拟机4中的安全触屏客户端向虚拟机1请求获得触屏芯片的使用权,如图8中的过程②所示。然后,安全触屏客户端可以向虚拟机1中的通用触屏驱动发送消息2,以指示需要获得触屏芯片的使用权,如8中的过程③所示。并且,虚拟机1中的普通触屏驱动接收到消息2,则可以理解为虚拟机1接收到消息2。

S705、虚拟机1响应于消息2,向Hypervisor发送消息3,消息3指示转移触屏芯片的使用权。

在一种具体的实现方式中,Hypervisor中包括资源管理模块,用于分配各个虚拟机的软硬件资源。结合图8所示,虚拟机1中的普通触屏驱动在接收到消息2后,可以向Hypervisor中的资源管理模块发送消息3,如图8中的过程④所示。资源管理模块接收到消息,3则可以理解为Hypervisor接收到消息3。从而实现虚拟机1向Hypervisor发送消息3。

S706、Hypervisor响应于消息3,将触屏芯片的使用权由虚拟机1转移至虚拟机3,虚拟机3接受对触屏芯片的使用权。

其中,虚拟机3是运行有安全触屏驱动的虚拟机。

结合图8所示,Hypervisor中的资源管理模块在接收到消息3后,则重新分配触屏芯片的使用权。示例性的,Hypervisor可以收回分配给虚拟机1的触屏芯片的IO内存地址,使虚拟机1失去对触屏芯片的使用权,从而虚拟机1中的普通触屏驱动在进入安全触屏场景后不能访问触屏芯片的IO内存,无法获得安全触屏信息。以及,Hypervisor可以将触屏芯片的IO内存地址发送给虚拟机3,使虚拟机3获得对触屏芯片的使用权,从而虚拟机3中的安全触屏驱动在进入安全触屏场景后可以访问触屏芯片的IO内存,获得安全触屏信息。

进一步结合图8所示,资源管理模块将触屏芯片的使用权分配给虚拟机3后,安全触屏驱动可以接收到对触屏芯片的使用权,如图8中的过程⑤所示。从而实现虚拟机3接受对触屏芯片的使用权。

至此,需要说明的是,在前述图7的示意中,以先执行S703,即显示第二界面,再执行S704-S706,即转移触屏芯片的使用权为例来说明。但是,实际实施时,并不以此为限。例如,可以同时执行S703以及S704-S706,或者,也可以先执行S704-S706,再执行S703。

在完成触屏芯片的使用权的转移后,则可以采用下述S707-S708来实现安全触屏场景下的触屏响应。

S707、在虚拟机4显示第二界面的过程中,触屏芯片采集用户对第二界面的触屏操作的安全触屏信息,虚拟机3获得安全触屏信息。

若用户对第二界面执行触屏操作,触屏芯片可以采集该触屏操作对应的安全触屏信息,例如,触屏位置、触屏时间等。由于虚拟机3具有对触屏芯片的使用权,则虚拟机3可以访问触屏芯片的IO内存,获得安全触屏信息。结合图8所示,虚拟机3获得安全触屏信息具体为虚拟机3中的安全触屏驱动获得触屏信息采集的安全触屏信息,如图8中的过程⑥所示。

S708、虚拟机3向虚拟机4发送安全触屏信息,虚拟机4根据安全触屏信息响应触屏操作。

由于安全触屏驱动运行在虚拟机3中,第一TA运行在虚拟机4中,虚拟机3在获取到安全触屏信息后,需要发送给虚拟机4,然后虚拟机4才能响应用户在第二界面中的触屏操作。示例性的,第二界面是图9所示的界面904,触屏操作为用户对界面904中“姓名”输入框对应的区域的点击操作(可记为操作1),相应的,虚拟机4获得的安全触屏信息可以操作1在第二界面中的位置(如“姓名”输入框对应的区域)、操作1的类型(如点击操作),虚拟机4响应于该安全触屏信息,可以显示图9所示的界面905,界面905中包括虚拟键盘,用于输入“姓名”。

应理解,触屏驱动(包括普通触屏驱动、安全触屏驱动、第一触屏驱动)都可以在对触屏信息进行一定的处理后进行上报,例如,安全触屏驱动可以对多个触屏位置求取平均位置,确定出更合理的触屏位置。本申请实施例对此不作具体限定。

结合图8所示,虚拟机3向虚拟机4发送安全触屏信息的过程包括:虚拟机3中的安全触屏驱动可以向安全触屏服务发送安全触屏信息,如图8中的过程⑦所示。然后,安全触屏服务可以向虚拟机4中的安全触屏客户端发送安全触屏信息,如图8中的过程⑧所示。从而实现虚拟机3向虚拟机4发送安全触屏信息。

进一步结合图8所示,虚拟机4根据安全触屏信息响应触屏操作的过程包括:安全触屏客户端在接收到安全触屏信息后,可以向银行业务TA发送安全触屏信息,如图8中的过程⑨所示。最后,银行业务TA可以根据安全触屏信息响应用户对第二界面的触屏操作。

需要说明的是,只要未退出第一TA的运行,即未退出安全触屏场景,则会持续采用前述S707-S708来响应用户对第二界面的触屏操作。从而可以保证安全触屏场景中,所有触屏操作对应的安全触屏信息的安全性。示例性的,虚拟机4在显示图9所示的界面905后,用户执行输入姓名、卡号、银行等触屏操作的安全触屏信息,都只能被虚拟机3和虚拟机4获取到,而无法被虚拟机1获取到,从而可以保证安全触屏信息的安全性。

采用图7-图9的实施例,可以通过转移虚拟机对触屏芯片的使用权,来保证安全触屏信息的安全性。但是,上述转移触屏芯片的使用权的过程,涉及多个虚拟机之间的协商,例如,虚拟机4向虚拟机1发送消息2,以请求获得触屏芯片的使用权。并且,需要Hypervisor将虚拟机1(如虚拟机1中的普通触屏驱动)对触屏芯片的使用权转出,以及授予虚拟机4(如虚拟机4中的安全触屏驱动)对触屏芯片的使用权。上述流程过于复杂。

前述图7-图9的实施例,主要说明了将触屏芯片的使用权从普通触屏驱动转移给安全触屏驱动的过程,而在此之后,还可以将触屏芯片的使用权从安全触屏驱动恢复为普通触屏驱动。示例性的,在将触屏芯片的使用权转移给安全触屏驱动后,响应于用户的第二操作,电子设备会退出安全触屏场景。其中,第二操作用于触发退出安全触屏场景,并进入普通触屏场景。示例性的,第二操作是用户点击确认转账按钮的操作,在用户点击确认转账按钮后则会转账完成,同时触发退出银行业务TA的运行,并且会继续运行银行APP,如显示转账成功的界面。又示例性的,第二操作是上滑返回桌面的操作,在检测到用户在第二界面中执行上滑返回桌面的操作之后,则会触发退出在前台运行银行业务TA,并返回桌面。

应理解,当退出安全触屏的场景后,则需要将触屏芯片的使用权归还给普通触屏驱动,使得虚拟机1可以获取到普通触屏场景下的普通触屏信息并响应触屏操作。与前述将触屏芯片的使用权由虚拟机1转移给虚拟机4的过程类似的,将触屏芯片的使用权归还给虚拟机1也需要多个虚拟机之间协商,例如需要虚拟机1向虚拟机3请求交出触屏芯片的使用权。并且,需要Hypervisor将虚拟机3对触屏芯片的使用权转出,并授予虚拟机1对触屏芯片的使用权。过程同样很复杂。

下面将集合图10和图11,并以图6所示的架构为例,对第一触屏驱动通过路由选择,保证安全触屏信息的安全性的具体实现进行说明。如图10所示,本申请实施例的方案可以包括:

S1001、虚拟机1显示第一界面,第一界面是第一REE APP的应用界面。可参见前文S601的说明。

需要注意的是,第一触屏驱动默认的触屏路由为第一标识,指示默认向虚拟机1发送触屏信息。那么,在虚拟机1显示第一界面的过程中,用户对第一界面执行触屏操作(也可以称为第一触屏操作)会产生普通触屏信息(即第一触屏信息),触屏芯片可以采集到普通触屏信息。第一触屏芯片在获取到普通触屏信息之后,可以按照默认的触屏路由,向虚拟机1发送普通触屏信息,然后虚拟机1可以根据安全触屏信息响应用户对第一界面的触屏操作。也就是说,在显示第一界面的情况下,触屏路由指向虚拟机1。

结合图11所示,按照默认的触屏路由,向虚拟机1发送普通触屏信息包括:第一触屏芯片中的触屏路由可以按照默认的触屏路由向虚拟机1中的安全触屏服务发送安全触屏信息。虚拟机1可以根据安全触屏信息响应用户对第一界面的触屏操作包括:安全触屏服务可以向银行APP发送安全触屏服务,最终银行APP则可以响应用户在第一界面中执行的触屏操作。

S1002、响应于用户对第一界面的第一操作,虚拟机1向虚拟机5发送消息4,消息4指示虚拟机5运行第一TA。可参见前文S602中的说明,其中,消息4与S602中的消息1类似。

结合图11所示,虚拟机1向虚拟机5发送消息4可以为:虚拟机1中的银行APP(即第一REE APP)向虚拟机5中的银行业务TA(即第一TA)发送消息4,如图11中的过程①所示。

虚拟机5在接收到消息4之后,一方面需要显示第二界面,以便实现第一功能,如下S1003所示。其中,虚拟机5接收到消息4可以是银行业务TA接收到消息4。

S1003、虚拟机5响应于消息4,显示第二界面,第二界面是第一TA的应用界面。可参见S603的说明。

虚拟机5在接收到消息4之后,另一方面需要切换触屏路由,以使安全触屏信息可以传输给虚拟机5,从而保证安全触屏信息的安全性,如下S1004-S1005所示。

S1004、虚拟机5响应于消息4,向第一触屏驱动发送通知1,通知1指示切换触屏路由至虚拟机5。

结合图11所示,虚拟机5向第一触屏驱动发送通知1(也可以称为第一通知)包括:虚拟机5中的银行业务TA在接收到消息4之后,经过安全触屏服务向第一触屏驱动中的路由模块发送通知1,如图11中的过程②和过程③所示。

S1005、第一触屏驱动响应于通知1,设置触屏路由为虚拟机5。

结合图11所示,可以由第一触屏驱动中的路由模块设置触屏路由为虚拟机5。例如,路由模块更新触屏路由为第二标识,指示向虚拟机5发送触屏信息,从而实现设置触屏路由为虚拟机5。

经过上述S1004-S1005,在显示第二界面的情况下,触屏路由可以指向虚拟机5。

至此,需要说明的是,在前述图10的示意中,以先执行S1003,即显示第二界面,再执行S1004-S1005,即切换触屏路由为例来说明。但是,实际实施时,并不以此为限。例如,可以同时执行S1003以及S1004-S1005,或者,也可以先执行S1004-S1005,再执行S1003。

在完成触屏路由的切换后,则可以采用下述S1006-S1007来实现安全触屏场景下的触屏响应。

S1006、在虚拟机5显示第二界面的过程中,触屏芯片采集用户对第二界面的触屏操作的安全触屏信息,第一触屏驱动获得安全触屏信息。

为了方便说明,可以将用户对第二界面的触屏操作称为第二触屏操作,安全触屏信息即为第二触屏信息。

在本实施例中,无论是安全触屏场景或者普通触屏场景,第一触屏驱动都具有对触屏芯片的使用权,即可以访问触屏芯片的IO内存,从而可以获得触屏芯片采集的触屏信息,如图11中的过程④和过程⑤所示。

S1007、第一触屏驱动根据触屏路由向虚拟机5发送安全触屏信息,虚拟机5根据安全触屏信息响应触屏操作。

结合图11所示,第一触屏驱动根据触屏路由向虚拟机5发送安全触屏信息包括:第一触屏驱动在获取到安全触屏信息后,路由模块查询触屏路由为第二标识,则路由模块将安全触屏信息发送给虚拟机5中的安全触屏服务,如图11中的过程⑥所示。虚拟机5根据安全触屏信息响应触屏操作包括:虚拟机5中的安全触屏服务将安全触屏信息上报给银行业务TA,如图11中的过程⑦所示。然后,银行业务TA根据安全触屏信息响应触屏操作。

采用图10-图11的实施例,可以通过第一触屏驱动对触屏信息进行路由,来保证安全触屏信息的安全性。一方面,将触屏驱动下沉到EL2中,并且多个触屏驱动合并为一个第一触屏驱动,消除了多个触屏驱动使用触屏芯片的冲突。另一方面,在安全触屏场景下,第一触屏芯片根据触屏路由可以将安全触屏信息上报给虚拟机5,可以保证安全触屏场景下产生的安全触屏信息的安全性,同时可以省去解决冲突的过程,简化了流程。而且路由选择仅依据虚拟机1下发的通知1即可完成,无需多个虚拟机之间协商,也就是说,路由选择的过程与虚拟机隔离,安全性也更高。

前述图10-图11的实施例,主要说明了第一触屏驱动从将触屏信息路由到虚拟机1切换至路由到虚拟机5的具体过程。实际中,当退出安全触屏场景后,也需要第一触屏驱动从将触屏信息路由至虚拟机5切换至路由到虚拟机1。下面将结合图12-图14说明该过程。

S1201、虚拟机5显示第四界面,第四界面是第二TA的应用界面。

其中,第四界面可与前文第二界面相同,例如,第二界面是图8所示的界面803,则第四界面也可以是图8所示的界面803。或者,第四界面可与前文第二界面不同。示例性的,第四界面可以是虚拟机5响应于用户对第二界面的触屏操作跳转到的界面。例如,第二界面是图8所示的界面803,第四界面可以是虚拟机5响应于用户点击界面803中“下一步”按钮后显示的输入支付密码的界面,如图1所示的界面101。

其中,第二TA可与前文第一TA相同,例如,第二TA和第一TA均为银行业务TA。或者,第二TA可与前文第一TA不同。示例性的,第一TA是可以显示图8所示的界面803的TA,第二TA是可以显示图1所示的界面101的TA。

下文中,主要以第四界面与第二界面相同,第二TA与第一TA相同为例来说明。

S1202、响应于用户对第四界面的第三操作,虚拟机5向第一触屏驱动发送通知2,通知2指示切换触屏路由至虚拟机1。

为了方便说明,可以将通知2称为第二通知。

第三操作(也可以称为第四触屏操作)可用于触发运行第二REE APP(也可以称为第三应用),第二REE APP也是一个REE APP。换言之,第二REE APP也不是TA。第三操作的具体形态与前文第二操作类类似,可参见前文关于第二操作的相关说明,此处不再赘述。为了方便说明,可以将第三操作对应的安全触屏信息称为第四触屏信息。

以第四界面是图13所示的界面1301,第三操作是用户对第四界面执行的上滑返回桌面的操作为例,则虚拟机5在接收到用户对界面1301执行的上滑返回桌面的操作后,可以向第一触屏驱动发送通知2。

应理解,该第二操作的触屏信息也是通过触屏芯片采集,然后经过第一触屏驱动上报,最后传输给虚拟机5来响应的。结合图14所示,虚拟机5向第一触屏驱动发送通知2包括:虚拟机5中的银行业务TA响应于第三操作,经过安全触屏服务向第一触屏驱动中的路由模块发送通知2,如图14中的过程①和过程②所示。

S1203、第一触屏驱动响应于通知2,设置触屏路由为虚拟机1。

结合图14所示,可以由第一触屏驱动中的路由模块设置触屏路由为虚拟机1。例如,路由模块更新触屏路由为第一标识,指示向虚拟机1发送触屏信息,从而实现设置触屏路由为虚拟机1。

S1204、响应于用户对第四界面的第三操作,虚拟机5向虚拟机1发送消息5,消息5指示虚拟机1运行第二REE APP。

为了方便说明,可以将消息5称为第二消息。

其中,第二REE APP可与前文第一REE APP相同,例如,第二REE APP和第一REE APP都是银行APP。或者,第二REE APP可与前文第一REE APP不同,例如,第一REE APP为银行APP,第二REE APP为桌面APP,下文将主要以此示例来说明。

结合图14所示,响应于用户对第二界面的第三操作,虚拟机5向虚拟机1发送消息5包括:银行业务TA响应于用户对第四界面的第三操作,向桌面APP发送消息5,如图14中的过程③所示。应理解,桌面APP接收到消息5,则可视为虚拟机1接收到消息5。

S1205、虚拟机1响应于消息5,显示第三界面,第三界面是第二REE APP的应用界面。

示例性的,虚拟机1在接收到消息5之后,可以显示图13所示的界面1302,界面1302即为第三界面。

结合图14所示,桌面APP接收到消息5之后,则可以显示第三界面。

至此,需要说明的是,在前述图12的示意中,以先执行S1202-S1203,即切换触屏路由再执行S1204-S1205,即显示第三界面为例来说明。但是,实际实施时,并不以此为限。例如,可以同时执行S1202-S1203以及S1204-S1205,或者,也可以先执行S1204-S1205,再执行S1202-S1203。

S1206、在虚拟机1显示第三界面的过程中,触屏芯片采集用户对第三界面的触屏操作的普通触屏信息,第一触屏驱动获得普通触屏信息。

为了方便说明,可以将对第三界面的触屏操作称为第五触屏操作,将第五操作对应的普通触屏信息称为第五触屏信息。

在本实施例中,无论是安全触屏场景或者普通触屏场景,第一触屏驱动都具有对触屏芯片的使用权,即可以访问触屏芯片的IO内存,从而可以获得触屏芯片采集的触屏信息,如图14中的过程④和过程⑤所示。

以第三界面是图13所示的界面1302为例,则在显示界面1302的过程中,第一触屏芯片可以获取到用户对界面1302执行的触屏操作(如点击界面1302中的应用图标、或者左右滑动等操作)的普通触屏信息。

S1207、第一触屏驱动根据触屏路由向虚拟机1发送普通触屏信息,虚拟机1根据普通触屏信息响应触屏操作。

结合图14所示,第一触屏驱动根据触屏路由向虚拟机1发送普通触屏信息包括:第一触屏驱动在获取到普通触屏信息后,路由模块查询触屏路由为第一标识,则路由模块将普通触屏信息发送给虚拟机1中的普通触屏服务,如图14中的过程⑥所示。虚拟机1根据安全触屏信息响应触屏操作包括:虚拟机1的普通触屏服务将普通触屏信息上报给桌面APP,如图14中的过程⑦所示。然后,桌面APP根据普通触屏信息响应触屏操作。

采用前述图12-图14的实施例,当退出安全触屏场景后,第一触屏驱动则可以将触屏信息路由至虚拟机1。

前述图10-图14的实施例中,主要以第一界面和第二界面不会同时在前台显示为例来说明。而在一些场景中,电子设备可以在显示屏中同时显示多个界面。例如,可以在显示屏中分屏显示第一界面和第二界面。又例如,可以将第一界面或者第二界面显示在悬浮窗中。下文将主要以分屏显示为例来说明。

应理解,在电子设备的显示屏中同时显示多个界面时,在同一时刻通常只能对其中一个界面进行触屏操作。也就是说,触屏操作的焦点在同一时刻只能位于一个界面上。

以分屏显示为例,电子设备可以在虚拟机1中运行第一应用,从而在显示屏中显示图15中的(a)所示的界面1501,界面1501为第一界面;以及,电子设备可以在虚拟机5中运行第二应用,从而在显示屏中显示图15中的(a)所示的界面1502,界面1502为第二界面。如图15中的(a)所示,界面1501和界面1502分屏显示,此时触屏操作的焦点当前在界面1502上,图15中的(a)以加粗的边缘线表示。此后,在检测到用户对图15中的(a)所示的界面1501的触屏操作(如点击操作),可以将触屏操作的焦点切换到图15中的(b)所示的界面1501上,图15中的(b)中仍以加粗的边缘线表示。

在这些场景中,触屏操作的焦点位于第一界面,则表示第一界面处于活动状态,当前处于普通触屏场景,第一触屏驱动将触屏信息上报给虚拟机1。触屏操作的焦点位于第二界面,则表示第二界面处于活动状态,当前处于安全触屏场景,第一触屏驱动将触屏信息上报给虚拟机5。

需要在此说明的是,本申请实施例中对电子设备实现分屏显示第一界面和第二界面的具体方式不做限定。在一些实施例中,电子设备可以根据用户的分屏请求,在显示屏中分屏显示第一界面和第二界面。在另一些实施例中,电子设备在显示第一界面,而未显示第二界面的前提下,响应于用户对第一界面的第一操作(可参见前文说明),可以自动分屏显示第一界面和第二界面。示例性的,以第一界面是图16中的(a)所示的界面1601,第二操作是对图16中的(a)所示的界面1601中“转账”按钮1602的点击操作为例,手机可以在显示屏中显示图16中的(a)所示的界面1601,而没有同时显示其他界面(如第二界面)。手机响应于用户对图16中的(a)所示的界面1601中“转账”按钮1602的点击操作,可以在显示屏中自动分屏显示图16中的(b)所示的界面1601和界面1603,界面1603是第二界面。

在焦点发生切换之后,虚拟机1或者虚拟机5可以向第一触屏驱动发送通知,以通知第一触屏驱动切换触屏路由,使第一触屏驱动在普通触屏场景下将触屏信息上报给虚拟机1,在安全触屏场景下将触屏信息上报给虚拟机5。下文中将以虚拟机5通知第一触屏驱动切换触屏路由为例来说明。

示例性的,在焦点从第一界面切换到第二界面之后,虚拟机5可以向第一触屏驱动发送通知1。响应于通知1,第一触屏驱动切换触屏路由,例如,设置触屏路由为第二标识,使触屏路由指向虚拟机5。

又示例性的,在焦点从第二界面切换到第一界面之后,虚拟机5可以向第一触屏驱动发送通知2。响应于通知2,第一触屏驱动切换触屏路由,例如,设置触屏路为第一标识,使触屏路由指向虚拟机1。

本申请实施例还提供一种电子设备,该电子设备可以包括:存储器和一个或多个处理器。存储器和处理器耦合。该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令。当处理器执行计算机指令时,电子设备可执行上述方法实施例中设备执行的各个功能或者步骤。

本申请实施例还提供一种芯片系统,如图17所示,该芯片系统1700包括至少一个处理器1701和至少一个接口电路1702。处理器1701和接口电路1702可通过线路互联。例如,接口电路1702可用于从其它装置(例如电子设备的存储器)接收信号。又例如,接口电路1702可用于向其它装置(例如处理器1701)发送信号。示例性的,接口电路1702可读取存储器中存储的指令,并将该指令发送给处理器1701。当所述指令被处理器1701执行时,可使得电子设备执行上述实施例中的各个步骤。当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。

本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的方法。

本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的方法。

另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的方法。

其中,本实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是,以上实施例仅用以说明本申请的技术方案而非限制,尽管参照较佳实施例对本申请进行了详细说明,本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或等同替换,而不脱离本申请技术方案的精神和范围。

技术分类

06120115940405