CN116090032A - 显示方法及相关装置 - Google Patents
显示方法及相关装置 Download PDFInfo
- Publication number
- CN116090032A CN116090032A CN202210748883.9A CN202210748883A CN116090032A CN 116090032 A CN116090032 A CN 116090032A CN 202210748883 A CN202210748883 A CN 202210748883A CN 116090032 A CN116090032 A CN 116090032A
- Authority
- CN
- China
- Prior art keywords
- display
- user interface
- virtual machine
- information
- storage space
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/84—Protecting input, output or interconnection devices output devices, e.g. displays or monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供一种显示方法及相关装置。本申请提供的技术方案中,终端设备在安全环境中显示用户界面和在普通环境中显示用户界面时所用的存储空间不同,但终端设备在安全环境中显示用户界面和在普通环境中显示用户界面时所运用的显示驱动为同一显示驱动。本申请的方法,可以提高终端设备对用户进行安全显示时的响应速度。
Description
技术领域
本申请涉及安全技术领域,尤其涉及一种显示方法及相关装置。
背景技术
随着信息技术的不断发展,越来越多的用户可以运用终端设备办理各种业务,例如支付、转账、登录等业务。终端设备通过显示设备输出用户界面,然后用户可以基于用户界面进行相应的业务操作。但终端设备的用户界面容易遭受恶意软件的攻击,当终端设备的用户界面涉及用户隐私等敏感信息时,可能导致敏感信息被窃取,因此需要对该用户界面进行安全显示。
在现有的显示方案中,终端设备可以通过虚拟机监视器(hypervisor)建立三种虚拟机:普通虚拟机、安全显示服务虚拟机和安全业务虚拟机,其中普通虚拟机和安全显示服务虚拟机中均部署显示驱动,当终端设备的用户界面包括敏感信息时,即安全业务虚拟机需要安全显示的时候,可以基于安全显示服务虚拟机的显示驱动进行安全显示,当终端设备的用户界面不包括敏感信息时,通过普通虚拟机的显示驱动进行显示。
该方法中,当安全业务虚拟机需要安全显示时,安全业务虚拟机先向普通虚拟机发送安全显示请求,普通虚拟机接收该请求后,普通虚拟机的显示驱动停止向显示设备发送驱动信息。然后,安全业务虚拟机向安全显示服务虚拟机请求显示内存地址,安全显示服务虚拟机可以通过虚拟机监视器将该显示内存地址发送给安全业务虚拟机,安全业务虚拟机在该显示内存地址对应的显示内存进行绘图。最后,安全业务虚拟机绘图成功后,向安全显示服务虚拟机发送指示信息,该指示信息用于指示安全显示服务虚拟机进行安全显示,安全显示服务虚拟机接收该指示信息后,通过显示驱动向显示设备发送可以显示的信息,显示设备接收该信息后对安全显示服务虚拟机显示内存中的绘图进行显示。
但是本领域技术人员在使用过程中发现,当终端设备对用户界面进行安全显示时,终端设备的响应速度不够快。
发明内容
本申请提供一种显示方法及相关装置,用以解决现有技术中终端设备对用户界面进行安全显示时响应速度较慢的问题。
第一方面,本申请提供一种显示方法,该方法应用于终端设备中,该方法可以包括:接收第一指令,所述第一指令用于请求在安全环境中显示用户界面;响应于所述第一指令向第一存储空间写入第一用户界面数据信息;控制显示驱动基于所述第一用户界面数据信息显示用户界面;接收第二指令,所述第二指令用于请求在普通环境中显示用户界面;响应于所述第二指令向第二存储空间写入第二用户界面数据信息;控制所述显示驱动基于所述第二用户界面数据信息显示用户界面。
本方法中,第一存储空间可以为如图5所示的安全显示图层,第二存储空间可以为如图5所示的普通显示图层。
其中,普通显示图层用于对用户界面进行普通显示,安全显示图层用于对用户界面进行安全显示。
本方法中,当终端设备接收到第一指令,该第一指令用于指示该终端设备显示某用户界面,且该用户界面中包括用户的敏感信息时,表示该第一指令用于请求在安全环境中显示用户界面,即终端设备需要对用户界面进行安全显示。例如,当第一指令用于请求显示如图3中的(a)、(b)和(c)所示的用户界面时,这三种用户界面中均包括用户敏感信息,则终端设备需要在安全环境中显示用户界面。
本方法中,当终端设备接收到第二指令,该第二指令用于指示该终端设备显示某用户界面,且该用户界面中不包括用户的敏感信息时,表示该第二指令用于请求在普通环境中显示用户界面,即终端设备需要对用户界面进行普通显示。例如,当第一指令用于请求显示如图3中的(d)所示的用户界面时,由于该用户界面中不包括用户敏感信息,则终端设备在普通环境中显示用户界面。
当终端设备需要对用户界面安全显示时,可以在安全显示图层中写入用户界面数据。这样无需再建立一个专门的虚拟机进行安全显示,可以减少交互次数,缩短响应时长。
另外,终端设备基于第一用户界面数据信息显示用户界面时所用的显示驱动和基于第二用户界面数据信息显示用户界面时所用的显示驱动为同一个显示驱动。与现有技术中终端设备基于两个显示驱动分别进行安全显示和普通显示相比,终端设备对用户界面进行安全显示时,无需再设置终端设备当前响应的显示驱动为用于安全显示的显示驱动,简化了安全显示的流程,提高了终端设备对用户界面进行安全显示时的响应速度。
在一些可能的实现方式中,所述终端设备包括虚拟机监视器和第一虚拟机,所述第一虚拟机用于在安全环境中运行第一应用;相应地,所述接收第一指令,包括:所述第一虚拟机接收所述第一指令;所述响应于所述第一指令向第一存储空间写入第一用户界面数据信息,包括:所述第一虚拟机响应于所述第一指令向所述虚拟机监视器发送第一请求信息,所述第一请求信息用于指示所述第一虚拟机请求安全环境中的存储空间;所述虚拟机监视器响应于所述第一请求信息向所述第一虚拟机发送第一响应信息,所述第一响应信息用于指示安全环境中的所述第一存储空间。
本方法中,第一虚拟机可以为如图5所示的安全业务虚拟机,安全环境可以为可信执行环境,第一应用可以为可信应用,该可信应用中包括用户的敏感数据。
例如,安全业务虚拟机向虚拟机监视器发送第一请求信息,该第一请求信息用于指示安全业务虚拟机请求安全显示图层的地址,虚拟机监视器接收该第一请求信息后,向安全业务虚拟机发送第一响应信息,该第一响应信息包括安全显示图层的地址信息。这样安全业务虚拟机接收该安全显示图层的地址信息后,可以基于该地址信息在该安全显示图层中写入第一用户界面数据信息,以保证该安全显示图层中可以包括用于显示的第一用户界面数据信息。
在一些可能的实现方法中,所述控制显示驱动基于所述第一用户界面数据信息显示用户界面,包括:所述虚拟机监视器控制所述显示驱动向所述终端设备的显示设备发送第一指示信息,所述第一指示信息用于指示所述显示设备对所述第一存储空间中的第一用户界面数据信息进行显示;所述终端设备的显示设备响应于所述第一指示信息对所述第一存储空间中的第一用户界面数据信息进行显示。
本方法中,在第一虚拟机在第一存储空间内成功写入第一用户界面数据信息的情况下,虚拟机监视器向显示设备发送第一指示信息,使虚拟机监视器可以控制显示驱动对第一用户界面数据进行显示,以完成终端设备对用户界面进行安全显示的功能。
在一些可能的实现方式中,所述控制显示驱动第一用户界面数据信息显示用户界面之前,所述方法还包括:所述第一虚拟机向所述虚拟机监视器发送第二指示信息,所述第二指示信息用于指示当前需显示的用户界面的数据信息的存储空间为所述第一存储空间。
本方法中,第一虚拟机向虚拟机监视器发送第二指示信息,使虚拟机监视器可以响应于该第二指示信息确定当前需要显示的存储空间为所述第一存储空间,从而对所述第一存储空间中的第一用户界面的数据信息进行安全显示。
在一些可能的实现方式中,所述方法还包括:所述虚拟机监视器接收来自所述第一虚拟机的第三指示信息,所述第三指示信息用于指示当前需显示的用户界面的数据信息的存储空间为所述第二存储空间。
本方法中,当终端设备接收到退出该用户界面的指令后,第一虚拟机可以向虚拟机监视器发送该第三指示信息,使虚拟机监视器可以基于该第三指示信息确定当前需要显示的存储空间为所述第二存储空间,以对所述第二存储空间中的第二用户界面数据信息进行普通显示。
在一些可能的实现方式中,所述接收第二指令,包括:所述第一虚拟机接收所述第二指令。相应地,所述响应于所述第二指令向第二存储空间写入第二用户界面数据信息,包括:所述第一虚拟机响应于所述第二指令向所述虚拟机监视器发送第二请求信息,所述第二请求信息用于指示所述第一虚拟机请求普通环境中的存储空间;所述虚拟机监视器响应于所述第二请求信息向所述第一虚拟机发送第二响应信息,所述第二响应信息用于指示普通环境中的所述第二存储空间。
本方法中,普通环境可以为普通执行环境,第一虚拟机可以为前面所述的安全业务虚拟机。
本方法中,可信应用中还可以包括非敏感数据,该非敏感数据可以包括多个用户所共用的数据。当第二指令用于请求显示的用户界面中仅包括可信应用的非敏感信息时,则该第二指令用于请求在普通环境中显示用户界面。
例如,安全业务虚拟机向虚拟机监视器发送第二请求信息,该第二请求信息用于指示安全业务虚拟机请求普通显示图层的地址,虚拟机监视器接收该第二请求信息后,向安全业务虚拟机发送第二响应信息,该第二响应信息包括普通显示图层的地址信息。这样安全业务虚拟机接收该普通显示图层的地址信息后,可以基于该地址信息在该普通显示图层中写入第二用户界面数据信息,以保证该普通显示图层中可以包括用于显示的第二用户界面数据信息。
在一些实现方式中,所述控制所述显示驱动基于所述第二用户界面数据信息显示用户界面,包括:所述虚拟机监视器控制所述显示驱动向所述终端设备的显示设备发送第四指示信息,所述第四指示信息用于指示所述显示设备对所述第二存储空间中的第二用户界面数据信息进行显示;所述终端设备的显示设备响应于所述第四指示信息对所述第二存储空间中的第二用户界面数据信息进行显示。
本方法中,在第一虚拟机在第二存储空间内成功写入第二用户界面数据信息的情况下,虚拟机监视器向显示设备发送第四指示信息,使虚拟机监视器可以控制显示驱动对第二用户界面数据进行显示,以完成终端设备对用户界面进行普通显示的功能。
在一些实现方式中,所述终端设备还包括第二虚拟机,所述第二虚拟机用于在普通环境中运行第二应用。相应地,所述响应于所述第二指令向第二存储空间写入第二用户界面数据信息,包括:所述第二虚拟机响应于所述第二指令向所述虚拟机监视器发送第三请求信息,所述第三请求信息用于指示所述第二虚拟机请求普通环境中的存储空间;所述虚拟机监视器响应于所述第三请求信息向所述第二虚拟机发送第三响应信息,所述第三响应信息用于指示普通环境中的所述第二存储空间。
本方法中,第二虚拟机可以为如图5所示的普通虚拟机,第二应用可以包括系统应用。
例如,普通虚拟机向虚拟机监视器发送第三请求信息,该第三请求信息用于指示普通虚拟机请求普通显示图层的地址,虚拟机监视器接收该第三请求信息后,向普通虚拟机发送第三响应信息,该第三响应信息包括普通显示图层的地址信息。这样普通虚拟机接收该普通显示图层的地址信息后,可以基于该地址信息在该普通显示图层中写入第二用户界面数据信息,以保证该普通显示图层中可以包括用于显示的第二用户界面数据信息。
在一些实现方式中,所述控制所述显示驱动基于所述第二用户界面数据信息显示用户界面,包括:所述虚拟机监视器控制所述显示驱动向所述终端设备的显示设备发送第五指示信息,所述第五指示信息用于指示所述显示设备对所述第二存储空间中的第二用户界面数据信息进行显示;所述终端设备的显示设备响应于所述第五指示信息对所述第二存储空间中的第二用户界面数据信息进行显示。
本方法中,在第二虚拟机在第二存储空间内成功写入第二用户界面数据信息的情况下,虚拟机监视器向显示设备发送第五指示信息,使虚拟机监视器可以控制显示驱动对第二用户界面数据进行显示,以完成终端设备对用户界面进行普通显示的功能。
第二方面,本申请提供一种显示装置,包括:装置可以包括用于实现第一方面中的方法的各个功能模块。每个功能模块可以通过软件和/或硬件的方式实现。
作为一种示例,该装置可以包括:接收模块、写入模块和控制模块。
其中,接收模块可以用于接收第一指令,所述第一指令用于请求在安全环境中显示用户界面;写入模块可以用于响应于所述第一指令向第一存储空间写入第一用户界面数据信息;控制模块可以用于控制显示驱动基于所述第一用户界面数据信息显示用户界面。
所述接收模块可以用于接收第二指令,所述第二指令用于请求在普通环境中显示用户界面;所述写入模块还可以用于响应于所述第二指令向第二存储空间写入第二用户界面数据信息;所述控制模块还可以用于控制所述显示驱动基于所述第二用户界面数据信息显示用户界面。
可选地,该装置还可以包括发送模块,所述发送模块可以用于所述第一虚拟机响应于所述第一指令向所述虚拟机监视器发送第一请求信息,所述第一请求信息用于指示所述第一虚拟机请求安全环境中的存储空间;所述发送模块还可以用于所述虚拟机监视器响应于所述第一请求信息向所述第一虚拟机发送第一响应信息,所述第一响应信息用于指示安全环境中的所述第一存储空间。
所述发送模块还可以用于所述虚拟机监视器控制所述显示驱动向所述终端设备的显示设备发送第一指示信息,所述第一指示信息用于指示所述显示设备对所述第一存储空间中的第一用户界面数据信息进行显示。
相应地,该装置还可以包括显示模块,所述显示模块可以用于所述终端设备的显示设备响应于所述第一指示信息对所述第一存储空间中的第一用户界面数据信息进行显示。
可选地,所述发送模块还可以用于所述第一虚拟机向所述虚拟机监视器发送第二指示信息,所述第二指示信息用于指示当前需显示的用户界面的数据信息的存储空间为所述第一存储空间。
可选地,所述发送模块还可以用于所述虚拟机监视器接收来自所述第一虚拟机的第三指示信息,所述第三指示信息用于指示当前需显示的用户界面的数据信息的存储空间为所述第二存储空间。
可选地,所述发送模块还可以用于所述第一虚拟机响应于所述第二指令向所述虚拟机监视器发送第二请求信息,所述第二请求信息用于指示所述第一虚拟机请求普通环境中的存储空间。
所述发送模块还可以用于所述虚拟机监视器响应于所述第二请求信息向所述第一虚拟机发送第二响应信息,所述第二响应信息用于指示普通环境中的所述第二存储空间。
可选地,所述发送模块还可以用于所述虚拟机监视器控制所述显示驱动向所述终端设备的显示设备发送第四指示信息,所述第四指示信息用于指示所述显示设备对所述第二存储空间中的第二用户界面数据信息进行显示。
所述显示模块还可以用于所述终端设备的显示设备响应于所述第四指示信息对所述第二存储空间中的第二用户界面数据信息进行显示。
可选地,所述发送模块还可以用于所述第二虚拟机响应于所述第二指令向所述虚拟机监视器发送第三请求信息,所述第三请求信息用于指示所述第二虚拟机请求普通环境中的存储空间。
所述发送模块还可以用于所述虚拟机监视器响应于所述第三请求信息向所述第二虚拟机发送第三响应信息,所述第三响应信息用于指示普通环境中的所述第二存储空间。
可选地,所述发送模块还可以用于所述虚拟机监视器控制所述显示驱动向所述终端设备的显示设备发送第五指示信息,所述第五指示信息用于指示所述显示设备对所述第二存储空间中的第二用户界面数据信息进行显示。
所述显示模块还可以用于所述终端设备的显示设备响应于所述第五指示信息对所述第二存储空间中的第二用户界面数据信息进行显示。
第三方面,本申请提供一种显示装置,该装置可以包括存储器,以及与存储器耦合的处理器。
处理器用于执行程序指令,以实现第一方面中方法所执行的指令;存储器用于存储处理器执行的指令或存储处理器运行指令所需的输入数据或存储处理器运行指令后产生的数据。
第四方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质存储用于处理器执行的程序代码,该程序代码包括用于实现第一方面中的方法的指令。
第五方面,本申请提供一种计算机程序产品,当该计算机程序产品在处理器上运行时,使得该显示装置可以实现第一方面的方法。
可以理解的是,本申请提供的显示装置、计算机可读存储介质和计算机程序产品所能达到的技术效果可以参考第一方面。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种终端设备的结构示意图;
图2为本申请实施例适用的一种终端设备的软件结构框图;
图3为本申请提供的终端设备的四种用户界面示意图;
图4为一种终端设备的用户界面的显示方法的示意图;
图5为本申请实施例适用的系统架构示意图;
图6为本申请一个实施例提供的显示方法流程示意图;
图7为本申请一个实施例提供的显示装置示意图;
图8为本申请另一个实施例提供的显示装置示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
此外,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b和c中的至少一项(个),可以表示:a,或b,或c,或a和b,或a和c,或b和c,或a、b和c,其中a,b,c可以是单个,也可以是多个。
本申请实施例提供的方法可以适用于终端设备,例如手机。除此之外,终端设备还可以为平板电脑、个人计算机(personal computer,PC)、智慧屏、人工智能(artificialintelligence,AI)音箱、车机设备以及智能手表等可穿戴终端设备,还可以是各种教学辅助工具(例如学习机、早教机)、智能玩具、便携式机器人、个人数字助理(personal digitalassistant,PDA)、增强现实技术(augmented reality,AR)设备、虚拟现实(virtualreality,VR)设备等,也可以是具有移动办公功能的设备、具有智能家居功能的设备、具有影音娱乐功能的设备、支持智能出行的设备等。应理解,本申请的实施例对终端设备所采用的具体技术和具体设备形态不做限定。
为了能够更好地理解本申请实施例,下面对本申请实施例的终端设备的硬件结构进行介绍。示例性地,图1为本申请实施例提供的一种终端设备的结构示意图。
终端设备可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,传感器模块180,按键190,指示器192,摄像头193,以及显示屏194等。
可选地,上述传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对终端设备的具体限定。在本申请另一些实施例中,终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。处理器110中还可以设置存储器,用于存储指令和数据。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为终端设备充电,也可以用于终端设备与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他终端设备,例如AR设备等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。电源管理模块141用于连接充电管理模块140与处理器110。
终端设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。终端设备中的天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。
移动通信模块150可以提供应用在终端设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。
无线通信模块160可以提供应用在终端设备上的包括无线局域网(wirelesslocalarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM)等无线通信的解决方案。
终端设备通过图形处理器(graphics processing unit,GPU),显示屏194以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。GPU又可以称为显示核心、视觉处理器和显示芯片等。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。在一些实施例中,终端设备可以包括1个或N个显示屏194,N为大于1的正整数。
终端设备可以通过图像处理器(image signal processor,ISP),摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
摄像头193用于捕获静态图像或视频。在一些实施例中,终端设备可以包括1个或N个摄像头193,N为大于1的正整数。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端设备的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。
终端设备可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。终端设备可以通过扬声器170A收听音乐,或收听免提通话。受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当终端设备接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。陀螺仪传感器180B可以用于确定终端设备的运动姿态。气压传感器180C用于测量气压。磁传感器180D包括霍尔传感器。加速度传感器180E可检测终端设备在各个方向上(一般为三轴)加速度的大小。距离传感器180F,用于测量距离。接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。环境光传感器180L用于感知环境光亮度。指纹传感器180H用于采集指纹。温度传感器180J用于检测温度。触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。骨传导传感器180M可以获取振动信号。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。终端设备可以接收按键输入,产生与终端设备的用户设置以及功能控制有关的键信号输入。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
终端设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。分层架构可以采用安卓(Android)系统,也可以采用苹果(IOS)系统,还可以采用其他操作系统,本申请实施例对此不作限定。下面以分层架构的Android系统为例,示例性说明终端设备的软件结构。
图2为本申请实施例适用的一种终端设备的软件结构框图。分层架构将终端设备的软件系统分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,可以将Android系统分为四层,从上到下依次为应用程序层(applications)、应用程序框架层(application framework)、安卓运行时(Androidruntime)和系统库、以及内核层(kernel)。
应用程序层可以包括显示模块和一系列应用程序包,应用程序层通过调用应用程序框架层所提供的应用程序接口(application programming interface,API)运行应用程序。
应用程序框架层为应用程序层的应用程序提供API和编程框架。应用程序框架层包括一些预先定义的函数。
内核层是硬件和软件之间的层。内核层用于驱动硬件,使得硬件工作。内核层至少包含显示驱动,指纹幕驱动、摄像头驱动以及蓝牙驱动等,本申请实施例对此不做限制。
安卓系统运行时包括核心库、虚拟机和虚拟机监视器。安卓系统运行时负责安卓系统的调度和管理。
核心库包含两部分:一部分是Java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层、应用程序框架层和内核层可以运行在虚拟机中。虚拟机将应用程序层、应用程序框架层和内核层的Java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
虚拟机监视器用于创建和管理虚拟机,并为所创建的虚拟机处理内存、存储和计算资源的分配。
可以理解的是,终端设备可以通过虚拟机监视器创建至少一个虚拟机,这至少一个虚拟机中的每个虚拟机都有独立的操作系统和应用程序,每个虚拟机都可以独立地运行软件,保存数据,每个虚拟机的运行环境可以不同。
系统库可以包含多个功能的模块,例如:表面管理器,媒体库、三维图形处理库以及识别算法模块等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了二维图层和三维图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:JPG,PNG等。三维图形处理库用于实现三维图形绘图,图像渲染,合成和图层处理等。识别算法模块可以用于手语识别、语音识别以及文字语义识别。其中,手语识别是指将语音或者文字识别为手语,语音识别是指将手语或者文字识别为语音,文字语义识别是指将手语或者语音识别为文字。
目前用户可以运用终端设备处理各种业务,例如支付、转账、登录等业务。终端设备可以通过用户界面向用户输出业务提示信息,然后用户可以基于该用户界面中的业务提示信息进行相应的业务操作。
图3为本申请提供的终端设备的四种用户界面示意图。在第一种示例中,当用户进行支付操作时,终端设备的用户界面可以如图3中的(a)所示,该用户界面中包括用户的付款条形码和付款二维码。用户可以向其它用户展示该用户界面,当其它用户使用可扫描的电子设备对该用户的付款条形码和付款二维码进行扫描之后,就可以完成支付业务。
在第二种示例中,当用户选择转账用户、输入转账金额并点击转账按键后,终端设备可以跳转到如图3中的(b)所示的用户界面,该用户界面中包括键盘,用户可以在该键盘中输入支付密码。当用户在该键盘中输入正确的支付密码后,就可以完成转账业务。
在第三种示例中,当用户需要登录某个应用时,终端设备的用户界面可以如图3中的(c)所示,该用户界面中包括用户登录框和键盘,该用户登录框中可以包括第一区域和第二区域,其中第一区域可以为用户账号的输入区域,第二区域可以为密码的输入区域。用户可以通过键盘在第一区域中输入正确的用户账号,以及在第二区域中输入该用户账号对应的密码,然后点击登录按键后,就可以成功登录该应用。
在第四种示例中,当用户对终端设备进行解锁后,终端设备的用户界面可以如图3中的(d)所示,该用户界面为终端设备的主界面,该主界面中包括可信应用(trustedapplication,TA)和系统应用图标。该示例中,可信应用可以包括支付应用等应用,系统应用可以包括时钟、日历、天气、音乐、设置、联系人和图库等应用。
可以理解的是,在前三种示例中,终端设备的用户界面中均包括敏感信息,例如付款码、支付密码、用户登录账号和密码等用户隐私信息。由于终端设备容易遭受恶意软件的攻击,因此当终端设备的用户界面中包括用户隐私信息时,可能会导致用户数据泄露,甚至可能对用户的财产安全造成危害。
基于上述问题,本领域技术人员提出一种安全显示方案,即将终端设备划分为两种独立且隔离的执行环境:普通执行环境(rich execution environment,REE)和可信执行环境(trusted execution environment,TEE)。其中,REE可以为设备的系统运行环境,例如安卓、苹果等。TEE用来存储用户的敏感信息,TEE中包括可信应用,可信应用的数据包括用户的敏感信息等数据。
图4为一种终端设备的用户界面的显示方法的示意图。可以理解的是,图4仅示出了终端设备中与用户界面显示相关的一些架构。
如图4所示,该终端设备中可以包括普通虚拟机、安全显示服务虚拟机、安全业务虚拟机、虚拟机监视器和显示设备。
虚拟机监视器用来建立和执行虚拟机,以及为虚拟机分配内存资源以及对内存资源进行管理。该示例中,虚拟机监视器可以为普通虚拟机和安全显示服务虚拟机分配显示用户界面时所需的内存资源。
普通虚拟机的运行环境为REE,该普通虚拟机中可以运行显示驱动。当终端设备的用户界面不涉及敏感信息时,可以通过普通虚拟机的显示驱动进行显示。例如,当终端设备需要显示如图3中的(d)所示的用户界面时,由于该用户界面中仅包括一些应用图标,没有涉及用户隐私信息,则终端设备可以通过普通虚拟机中的显示驱动对该用户界面进行显示。
安全显示服务虚拟机的运行环境为TEE,该虚拟机为一种专门用于安全显示的虚拟机,该安全显示服务虚拟机中可以运行安全显示驱动。当终端设备的用户界面涉及敏感信息时,可以基于安全显示服务虚拟机的安全显示驱动进行显示。例如,当终端设备需要显示如图3中的(a)、(b)和(c)所示的用户界面时,由于这三种用户界面中均包括用户隐私信息,则终端设备可以通过该安全显示服务虚拟机中的显示驱动来显示用户界面。
显示设备为终端设备的输入输出设备,用来显示图像数据。
安全业务虚拟机的运行环境为TEE,该虚拟机中可以包括可信应用,用来存储和处理可信应用的数据。当安全业务虚拟机需要进行安全显示时,可以通过安全显示服务虚拟机对用户界面进行安全显示。
安全业务虚拟机通过安全显示服务虚拟机对用户界面进行安全显示的方法包括:首先,安全业务虚拟机向普通虚拟机发送安全显示请求,普通虚拟机接收该请求后,普通虚拟机的显示驱动停止向显示设备发送驱动信息。然后,安全业务虚拟机向安全显示服务虚拟机请求显示内存地址,安全显示服务虚拟机可以通过虚拟机监视器将该显示内存地址发送给安全业务虚拟机,安全业务虚拟机在该显示内存地址对应的显示内存进行绘图。最后,安全业务虚拟机绘图成功后,向安全显示服务虚拟机发送指示信息,该指示信息用于指示安全显示服务虚拟机进行安全显示,安全显示服务虚拟机接收该指示信息后,基于安全显示服务虚拟机的显示驱动向显示设备发送可以显示的信息,显示设备接收该信息后对安全显示服务虚拟机显示内存中的绘图进行显示。
该方法中,由于普通虚拟机的显示驱动和安全显示服务虚拟机中的安全显示驱动都需要运用同一个显示设备进行显示,且该显示设备只能响应于一个显示驱动,因此安全业务虚拟机需要与普通虚拟机之间进行交互,以保证安全业务虚拟机绘图成功后,显示设备可以对安全显示服务虚拟机中的安全显示驱动进行响应。除此之外,安全业务虚拟机进行绘图时,需要使用安全显示服务虚拟机的显示内存进行绘图,且各虚拟机的内存资源都是由虚拟机监视器进行管理的,所以安全业务虚拟机需要与安全显示服务虚拟机和虚拟机监视器进行多次交互才能开始绘图。
该安全显示方案的流程比较复杂,导致终端设备的显示设备对用户界面进行安全显示时,所需要的响应时间较长。
为此,本申请提供一种新的技术方案,用以解决现有技术中终端设备对用户界面进行安全显示时交互过程过于复杂从而导致响应时间较长的问题。
本申请的技术方案中,如图5所示,显示驱动可以运行在虚拟机监视器中,该显示驱动不仅可以用于对普通虚拟机的数据进行显示,还可以对安全业务虚拟机的数据进行显示。也就是说,普通虚拟机和安全业务虚拟机可以共用一个显示驱动来显示用户界面,这样安全业务虚拟机可以不用与普通虚拟机进行交互,不仅可以保证显示设备对显示驱动进行响应,还可以缩短响应时长。
另外,本申请的技术方案中,虚拟机监视器还可以分配普通显示内存和安全显示内存,其中普通显示内存用于对用户界面进行普通显示,安全显示内存用于对用户界面进行安全显示。当安全业务虚拟机需要安全显示时,可以向虚拟机监视器请求安全显示内存,然后在安全显示内存中写入用户界面数据。这样虚拟机监视器不需要再建立一个专门的虚拟机(即图4所示的安全显示服务虚拟机)进行安全显示,可以减少交互次数,进一步缩短响应时长。
图5为本申请实施例适用的系统架构示意图。如图5所示,该系统架构中可以包括普通虚拟机、安全业务虚拟机、虚拟机监视器和显示设备。
普通虚拟机的运行环境为REE,该普通虚拟机中可以运行系统应用程序,例如短信、日历、音乐等。
当终端设备当前需要显示的用户界面中不包括敏感信息时,可以通过普通虚拟机进行显示。例如,当终端设备需要显示如图3中的(d)所示的用户界面时,可以通过普通虚拟机进行显示。
安全业务虚拟机的运行环境为TEE,该虚拟机中可以运行可信应用程序,可以用来存储和处理可信应用的数据,可信应用的数据可以包括用户的敏感信息。
当终端设备当前需要显示的用户界面中包括可信应用的敏感信息时,可以通过安全业务虚拟机进行安全显示。例如,当终端设备需要显示如图3中的(a)、(b)和(c)所示的界面时,可以通过安全业务虚拟机进行显示。
可选地,可信应用的数据还可以包括非敏感信息,该非敏感信息可以包括多个用户所共用的数据。当终端设备当前需要显示的用户界面中仅包括可信应用的非敏感信息时,可以通过安全业务虚拟机进行普通显示。
显示设备为终端设备的输入输出设备,用来显示图像数据。可选地,该显示设备可以包括显示屏或显示芯片,也可以包括显示控制器或显示子系统。
虚拟机监视器可以用来建立普通虚拟机和安全业务虚拟机,且可以分配显示内存,使普通虚拟机和安全业务虚拟机可以基于显示内存进行绘图,得到需要显示的图像。
虚拟机监视器分配的显示内存可以包括普通显示内存和安全显示内存,普通显示内存用于对用户界面进行普通显示,安全显示内存用于对用户界面进行安全显示。
可选地,普通显示内存也可以称为普通显示图层,安全显示内存也可以称为安全显示图层。
另外,显示驱动可以运行在该虚拟机监视器中,当终端设备在显示图层中写入数据信息后,可以控制该显示驱动对显示图层中的数据信息进行显示。
在一种示例中,当终端设备需要显示的用户界面中不包括敏感信息时,可以在普通显示图层中写入图像数据信息,然后控制显示驱动对普通显示图层中的数据信息进行显示。
在另一种示例中,当终端设备需要显示的用户界面中包括敏感信息时,可以在安全显示图层中写入图像数据信息,然后控制显示驱动对安全显示图层中的数据信息进行显示。
可选地,该虚拟机监视器中还可以包括显示图层选择模块,该显示图层选择模块用于确定当前需要显示的图层为普通显示图层还是安全显示图层。
需要说明的是,显示图层选择模块确定当前需要显示的图层为普通显示图层还是安全显示图层是由安全业务虚拟机决定的。
作为示例,显示图层选择模块默认当前需要显示的图层为普通显示图层。当终端设备需要显示的用户界面中包括敏感信息时,安全业务虚拟机在安全显示图层中写入图像数据信息后,可以向显示图层选择模块发送指示信息,该指示信息用于指示显示图层选择模块设置当前需要显示的图层由普通显示图层为安全显示图层。可选地,当终端设备接收到退出该用户界面的指令时,安全业务虚拟机可以再次向显示图层选择模块发送指示信息,该指示信息用于指示显示图层选择模块设置当前需要显示的图层为普通显示图层。
图6为本申请一个实施例提供的显示方法流程示意图。如图6所示,该方法可以包括S601、S602、S603、S604、S605和S606。
可以理解的是,该方法可以适用于终端设备,该终端设备可以包括如图1所示的硬件结构和如图2所示的软件系统架构。
S601,接收第一指令,该第一指令用于请求在安全环境中显示用户界面。
本实施例中,安全环境可以为TEE环境,该TEE环境中可以包括可信应用,该可信应用中包括用户的敏感信息。
本实施例中,当终端设备接收到来自用户的第一指令,该第一指令用于指示该终端设备显示某用户界面,且该用户界面中包括用户的敏感信息时,表示该第一指令用于请求在安全环境中显示用户界面。
例如,当第一指令用于请求显示如图3中的(a)所示的用户界面时,该用户界面中包括用户敏感信息,则该第一指令用于请求在安全环境中显示用户界面。
又如,当第一指令用于请求显示如图3中的(b)所示的用户界面时,该用户界面中包括用户敏感信息,则该第一指令用于请求在安全环境中显示用户界面。
再如,当第一指令用于请求显示如图3中的(c)所示的用户界面时,该用户界面中包括用户敏感信息,则该第一指令用于请求在安全环境中显示用户界面。
终端设备可以包括虚拟机监视器和第一虚拟机,该第一虚拟机可以为如图5所示的安全业务虚拟机,该安全业务虚拟机用于在TEE环境中运行第一应用。
在一种示例中,该第一应用可以为可信应用,该可信应用中可以包括如图3中的(a)、(b)和(c)所示的用户界面的敏感数据。
相应地,终端设备接收第一指令指的是,终端设备中的第一虚拟机接收该第一指令。
S602,响应于该第一指令向第一存储空间写入第一用户界面数据信息。
本实施例中,第一存储空间可以为如图5所示的安全显示图层,该安全显示图层用于在安全环境中显示用户界面,即对用户界面进行安全显示。
本实施例中,第一用户界面数据信息可以为第一用户界面的图像所对应的数据信息,该第一用户界面包括用户敏感信息。例如,该第一用户界面可以为如图3中的(a)、(b)和(c)所示的用户界面。
可以理解的是,第一虚拟机中可以存储该第一用户界面数据信息。
在一种可能的实现方式中,终端设备响应于该第一指令向第一存储空间写入第一用户界面数据信息的方法可以包括:第一虚拟机响应于该第一指令向虚拟机监视器发送第一请求信息,该第一请求信息用于指示第一虚拟机请求安全环境中的存储空间;虚拟机监视器响应于该第一请求信息向第一虚拟机发送第一响应信息,第一响应信息用于指示安全环境中的第一存储空间。
例如,安全业务虚拟机向虚拟机监视器发送第一请求信息,该第一请求信息用于指示安全业务虚拟机请求安全显示图层的地址,虚拟机监视器接收该第一请求信息后,向安全业务虚拟机发送第一响应信息,该第一响应信息包括安全显示图层的地址信息。这样安全业务虚拟机接收该安全显示图层的地址信息后,可以基于该地址信息在该安全显示图层中写入第一用户界面数据信息。
S603,控制显示驱动基于第一用户界面数据信息显示用户界面。
本实施例中,显示驱动可以运行在虚拟机监视器中。相应地,终端设备控制显示驱动基于第一用户界面数据信息显示用户界面的方法可以包括:虚拟机监视器控制该显示驱动向终端设备的显示设备发送第一指示信息,该第一指示信息用于指示显示设备对第一存储空间中的第一用户界面数据信息进行显示;终端设备的显示设备响应于该第一指示信息对第一存储空间中的第一用户界面数据信息进行显示。
终端设备的显示设备可以包括显示屏或显示芯片,也可以包括显示控制器或显示子系统。
可选地,终端设备控制显示驱动基于第一用户界面数据信息显示用户界面之前,第一虚拟机向虚拟机监视器发送第二指示信息,该第二指示信息用于指示当前需显示的用户界面的数据信息的存储空间为第一存储空间。
本实施例中,当前需显示的用户界面的数据信息的存储空间是由安全业务虚拟机来决定的。安全业务虚拟机可以基于虚拟机监视器中的显示图层选择模块来确定当前需显示的用户界面的数据信息的存储空间。需要说明的是,显示图层选择模块默认当前需要显示的存储空间为普通显示图层。
作为示例,在终端设备的显示设备响应于第一指示信息对第一存储空间中的第一用户界面数据信息进行显示之前,安全业务虚拟机可以向虚拟机监视器发送第二指示信息,该第二指示信息用于指示虚拟机监视器的显示图层选择模块确定当前需要显示的图层为安全显示图层。相应地,虚拟机监视器接收该指示信息后,虚拟机监视器的显示图层选择模块确定当前需要显示的图层确定为安全显示图层。
可选地,当终端设备接收到用户退出该用户界面的指令后,安全业务虚拟机还可以向虚拟机监视器发送第三指示信息,该第三指示信息用于指示当前需显示的用户界面的数据信息的存储空间为普通显示图层。
S604,接收第二指令,该第二指令用于请求在普通环境中显示用户界面。
本实施例中,普通环境可以为REE环境,该REE环境中可以包括系统应用,该系统应用中包括多个用户共用的数据信息。
当终端设备接收到来自用户的第二指令,该第二指令用于指示该终端设备显示某用户界面,且该用户界面中不包括用户的敏感信息时,表示该第二指令用于请求在普通环境中显示用户界面。
在一种示例中,可信应用中还可以包括非敏感信息,该非敏感信息可以包括多个用户所共用的数据。当第二指令用于请求显示的用户界面中仅包括可信应用的非敏感信息时,可以则该第二指令用于请求在普通环境中显示用户界面。
该示例中,终端设备接收第二指令指的是,终端设备中的第一虚拟机接收该第二指令。
在另一种示例中,当第二指令用于请求的用户界面为系统应用所对应的用户界面(如显示如图3中的(d)所示的用户界面)时,系统应用所对应的用户界面中不包括用户敏感信息,则该第二指令用于请求在普通环境中显示用户界面。
终端设备还可以包括第二虚拟机,该第二虚拟机可以为如图5所示的普通虚拟机,该普通虚拟机用于在REE环境中运行第二应用。在一种示例中,该第二应用可以为系统应用,该系统应用中可以包括日历、备忘录、地图、导航、蓝牙、音乐、视频通话和短信息等应用。
该示例中,终端设备接收第二指令指的是,终端设备中的第二虚拟机接收该第二指令。
S605,响应于该第二指令向第二存储空间写入第二用户界面数据信息。
本实施例中,第二存储空间可以为如图5所示的普通显示图层,该普通显示图层用于在普通环境中显示用户界面,即对用户界面进行普通显示。
本实施例中,第二用户界面数据信息可以为第二用户界面的图像所对应的数据信息,该第二用户界面不包括用户敏感信息。
在一种示例中,第二用户界面可以为仅包括可信应用的非敏感信息的用户界面。
该示例中,终端设备响应于第二指令向第二存储空间写入第二用户界面数据信息的方法可以包括:第一虚拟机响应于该第二指令向虚拟机监视器发送第二请求信息,该第二请求信息用于指示第一虚拟机请求普通环境中的存储空间;虚拟机监视器响应于该第二请求信息向第一虚拟机发送第二响应信息,该第二响应信息用于指示普通环境中的第二存储空间。
例如,安全业务虚拟机向虚拟机监视器发送第二请求信息,该第二请求信息用于指示安全业务虚拟机请求普通显示图层的地址,虚拟机监视器接收该第二请求信息后,向安全业务虚拟机发送第二响应信息,该第二响应信息包括普通显示图层的地址信息。这样安全业务虚拟机接收该普通显示图层的地址信息后,可以基于该地址信息在该普通显示图层中写入第二用户界面数据信息。
在另一种示例中,第二用户界面可以为系统应用所对应的用户界面。
该示例中,终端设备响应于第二指令向第二存储空间写入第二用户界面数据信息的方法可以包括:第二虚拟机响应于该第二指令向虚拟机监视器发送第三请求信息,该第三请求信息用于指示第二虚拟机请求普通环境中的存储空间;虚拟机监视器响应于该第三请求信息向第二虚拟机发送第三响应信息,该第三响应信息用于指示普通环境中的第二存储空间。
例如,普通虚拟机向虚拟机监视器发送第三请求信息,该第三请求信息用于指示,普通虚拟机请求普通显示图层的地址,虚拟机监视器接收该第三请求信息后,向普通虚拟机发送第三响应信息,该第三响应信息包括普通显示图层的地址信息。这样普通虚拟机接收该普通显示图层的地址信息后,可以基于该地址信息在该普通显示图层中写入第二用户界面数据信息。
S606,控制该显示驱动基于第二用户界面数据信息显示用户界面。
本实施例中,基于第二用户界面数据信息显示用户界面时所使用的显示驱动和前述基于第一用户界面数据信息显示用户界面时所使用的显示驱动为同一个显示驱动,且该显示驱动运行在虚拟机监视器中。
在一种示例中,当第二用户界面为仅包括可信应用的非敏感信息的用户界面时,终端设备控制该显示驱动基于第二用户界面数据信息显示用户界面的方法可以包括:虚拟机监视器控制该显示驱动向终端设备的显示设备发送第四指示信息,该第四指示信息用于指示该显示设备对第二存储空间中的第二用户界面数据信息进行显示;终端设备的显示设备响应于该第四指示信息对第二存储空间中的第二用户界面数据信息进行显示。
在另一种示例中,当第二用户界面为系统应用所对应的用户界面时,终端设备控制该显示驱动基于第二用户界面数据信息显示用户界面的方法可以包括:虚拟机监视器控制该显示驱动向终端设备的显示设备发送第五指示信息,该第五指示信息用于指示该显示设备对第二存储空间中的第二用户界面数据信息进行显示;终端设备的显示设备响应于该第五指示信息对第二存储空间中的第二用户界面数据信息进行显示。
本实施例中,终端设备的显示设备可以包括显示屏或显示芯片,也可以包括显示控制器或显示子系统。
需要说明的是,S601、S602和S603为对用户界面进行安全显示时所用的步骤,S604、S605和S606为对用户界面进行普通显示时所用的步骤。因此,当终端设备对用户界面进行显示时,可以仅包括S601、S602和S603,也可以仅包括S604、S605和S606。
本申请的技术方案中,终端设备在安全环境中显示用户界面和在普通环境中显示用户界面时所用的存储空间不同,但终端设备在安全环境中显示用户界面和在普通环境中显示用户界面时所运用的显示驱动为同一显示驱动。与现有技术中安全业务虚拟机需要通过专门的虚拟机中的显示驱动进行图像显示相比,安全业务虚拟机不需要与普通虚拟机进行交互就可以使终端设备的显示设备对该安全业务虚拟机对应的显示驱动进行响应,也不需要与专门用于显示的虚拟机进行反复交互,简化了安全显示的流程,提高了终端设备对用户界面进行安全显示时的响应速度。
图7为本申请一个实施例提供的显示装置示意图。如图7所示,该显示装置700可以包括接收模块710、写入模块720和控制模块730。
作为一个示例,该显示装置700可以用于执行图6所示的显示方法。
其中,接收模块710可以用来执行S610和S640,写入模块720可以用来执行S620和S650,控制模块730可以用来执行S630和S660。
图8为本申请另一个实施例提供的显示装置示意图。如图8所示,该显示装置800可以包括处理器810和接口电路820。处理器810和接口电路820之间相互耦合。可以理解的是,接口电路820可以为收发器或输入输出接口。
可选的,该显示装置800还可以包括存储器830,用于存储处理器810执行的指令或存储处理器810运行指令所需要的输入数据或存储处理器810运行指令后产生的数据。
作为一个示例,处理器810可以用于实现上述写入模块720和控制模块730的功能,接口电路820可以用于实现上述接收模块710的功能。
可以理解的是,本申请的实施例中的处理器可以是中央处理单元,还可以是其它通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其它可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
本申请的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器、闪存、只读存储器、可编程只读存储器、可擦除可编程只读存储器、电可擦除可编程只读存储器、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(application specific integrated circuit,ASIC)中。另外,该专用集成电路可以位于网络设备或终端设备中。当然,处理器和存储介质也可以作为分立组件存在于网络设备或终端设备中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘;还可以是半导体介质,例如,固态硬盘。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。本文中的术语“多个”是指两个或两个以上。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。
可以理解的是,在本申请的实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施例的实施过程构成任何限定。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围由权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (14)
1.一种显示方法,其特征在于,所述方法应用于终端设备中,所述方法包括:
接收第一指令,所述第一指令用于请求在安全环境中显示用户界面;
响应于所述第一指令向第一存储空间写入第一用户界面数据信息;
控制显示驱动基于所述第一用户界面数据信息显示用户界面;
接收第二指令,所述第二指令用于请求在普通环境中显示用户界面;
响应于所述第二指令向第二存储空间写入第二用户界面数据信息;
控制所述显示驱动基于所述第二用户界面数据信息显示用户界面。
2.根据权利要求1所述的方法,其特征在于,所述终端设备包括虚拟机监视器和第一虚拟机,所述第一虚拟机用于在安全环境中运行第一应用;
相应地,所述接收第一指令,包括:所述第一虚拟机接收所述第一指令;
所述响应于所述第一指令向第一存储空间写入第一用户界面数据信息,包括:
所述第一虚拟机响应于所述第一指令向所述虚拟机监视器发送第一请求信息,所述第一请求信息用于指示所述第一虚拟机请求安全环境中的存储空间;
所述虚拟机监视器响应于所述第一请求信息向所述第一虚拟机发送第一响应信息,所述第一响应信息用于指示安全环境中的所述第一存储空间。
3.根据权利要求1或2所述的方法,其特征在于,所述控制显示驱动基于所述第一用户界面数据信息显示用户界面,包括:
所述虚拟机监视器控制所述显示驱动向所述终端设备的显示设备发送第一指示信息,所述第一指示信息用于指示所述显示设备对所述第一存储空间中的第一用户界面数据信息进行显示;
所述终端设备的显示设备响应于所述第一指示信息对所述第一存储空间中的第一用户界面数据信息进行显示。
4.根据权利要求2或3所述的方法,其特征在于,所述控制显示驱动第一用户界面数据信息显示用户界面之前,所述方法还包括:
所述第一虚拟机向所述虚拟机监视器发送第二指示信息,所述第二指示信息用于指示当前需显示的用户界面的数据信息的存储空间为所述第一存储空间。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述虚拟机监视器接收来自所述第一虚拟机的第三指示信息,所述第三指示信息用于指示当前需显示的用户界面的数据信息的存储空间为所述第二存储空间。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述接收第二指令,包括:所述第一虚拟机接收所述第二指令;
相应地,所述响应于所述第二指令向第二存储空间写入第二用户界面数据信息,包括:
所述第一虚拟机响应于所述第二指令向所述虚拟机监视器发送第二请求信息,所述第二请求信息用于指示所述第一虚拟机请求普通环境中的存储空间;
所述虚拟机监视器响应于所述第二请求信息向所述第一虚拟机发送第二响应信息,所述第二响应信息用于指示普通环境中的所述第二存储空间。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述控制所述显示驱动基于所述第二用户界面数据信息显示用户界面,包括:
所述虚拟机监视器控制所述显示驱动向所述终端设备的显示设备发送第四指示信息,所述第四指示信息用于指示所述显示设备对所述第二存储空间中的第二用户界面数据信息进行显示;
所述终端设备的显示设备响应于所述第四指示信息对所述第二存储空间中的第二用户界面数据信息进行显示。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述终端设备还包括第二虚拟机,所述第二虚拟机用于在普通环境中运行第二应用;
相应地,所述响应于所述第二指令向第二存储空间写入第二用户界面数据信息,包括:
所述第二虚拟机响应于所述第二指令向所述虚拟机监视器发送第三请求信息,所述第三请求信息用于指示所述第二虚拟机请求普通环境中的存储空间;
所述虚拟机监视器响应于所述第三请求信息向所述第二虚拟机发送第三响应信息,所述第三响应信息用于指示普通环境中的所述第二存储空间。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述控制所述显示驱动基于所述第二用户界面数据信息显示用户界面,包括:
所述虚拟机监视器控制所述显示驱动向所述终端设备的显示设备发送第五指示信息,所述第五指示信息用于指示所述显示设备对所述第二存储空间中的第二用户界面数据信息进行显示;
所述终端设备的显示设备响应于所述第五指示信息对所述第二存储空间中的第二用户界面数据信息进行显示。
10.一种显示装置,其特征在于,包括:
接收模块,用于接收第一指令,所述第一指令用于请求在安全环境中显示用户界面;
写入模块,用于响应于所述第一指令向第一存储空间写入第一用户界面数据信息;
控制模块,控制显示驱动基于所述第一用户界面数据信息显示用户界面;
所述接收模块,还用于接收第二指令,所述第二指令用于请求在普通环境中显示用户界面;
所述写入模块,还用于响应于所述第二指令向第二存储空间写入第二用户界面数据信息;
所述控制模块,还用于控制所述显示驱动基于所述第二用户界面数据信息显示用户界面。
11.一种显示装置,其特征在于,包括存储器,以及与存储器耦合的处理器;
所述存储器用于存储程序指令;
所述处理器用于执行所述程序指令,以实现如权利要求1至9中任一项所述的方法。
12.一种终端设备,其特征在于,包括:权利要求10或11所述的装置,所述装置用于实现如权利要求1至9中任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储用于计算机执行的程序代码,该程序代码包括用于实现如权利要求1至9中任一项所述的方法的指令。
14.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现如权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210748883.9A CN116090032B (zh) | 2022-06-29 | 2022-06-29 | 显示方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210748883.9A CN116090032B (zh) | 2022-06-29 | 2022-06-29 | 显示方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116090032A true CN116090032A (zh) | 2023-05-09 |
CN116090032B CN116090032B (zh) | 2023-10-20 |
Family
ID=86210818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210748883.9A Active CN116090032B (zh) | 2022-06-29 | 2022-06-29 | 显示方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116090032B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5793368A (en) * | 1996-11-14 | 1998-08-11 | Triteal Corporation | Method for dynamically switching between visual styles |
JP2004129227A (ja) * | 2002-07-30 | 2004-04-22 | Fujitsu Ltd | 情報再生装置、セキュアモジュールおよび情報再生方法 |
CN105683989A (zh) * | 2014-06-27 | 2016-06-15 | 微软技术许可有限责任公司 | 用于基于上下文的数据保护的系统 |
US9625987B1 (en) * | 2015-04-17 | 2017-04-18 | Google Inc. | Updating and displaying information in different power modes |
CN109460373A (zh) * | 2017-09-06 | 2019-03-12 | 阿里巴巴集团控股有限公司 | 一种数据共享方法、终端设备和存储介质 |
CN113641996A (zh) * | 2021-05-26 | 2021-11-12 | 荣耀终端有限公司 | 检测方法、图形界面及相关装置 |
WO2021254378A1 (zh) * | 2020-06-19 | 2021-12-23 | 维沃移动通信有限公司 | 界面显示方法、装置及电子设备 |
-
2022
- 2022-06-29 CN CN202210748883.9A patent/CN116090032B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5793368A (en) * | 1996-11-14 | 1998-08-11 | Triteal Corporation | Method for dynamically switching between visual styles |
JP2004129227A (ja) * | 2002-07-30 | 2004-04-22 | Fujitsu Ltd | 情報再生装置、セキュアモジュールおよび情報再生方法 |
CN105683989A (zh) * | 2014-06-27 | 2016-06-15 | 微软技术许可有限责任公司 | 用于基于上下文的数据保护的系统 |
CN105683989B (zh) * | 2014-06-27 | 2019-04-30 | 微软技术许可有限责任公司 | 用于基于上下文的数据保护的系统 |
US9625987B1 (en) * | 2015-04-17 | 2017-04-18 | Google Inc. | Updating and displaying information in different power modes |
CN109460373A (zh) * | 2017-09-06 | 2019-03-12 | 阿里巴巴集团控股有限公司 | 一种数据共享方法、终端设备和存储介质 |
WO2021254378A1 (zh) * | 2020-06-19 | 2021-12-23 | 维沃移动通信有限公司 | 界面显示方法、装置及电子设备 |
CN113641996A (zh) * | 2021-05-26 | 2021-11-12 | 荣耀终端有限公司 | 检测方法、图形界面及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116090032B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111543042B (zh) | 通知消息的处理方法及电子设备 | |
CN113325996B (zh) | 分屏显示方法和装置 | |
CN111177013B (zh) | 日志数据获取方法、装置、计算机设备及存储介质 | |
EP4102363A1 (en) | Method for displaying application information and related device | |
CN110968815B (zh) | 页面刷新方法、装置、终端及存储介质 | |
CN115016631B (zh) | 进程调度方法和终端设备 | |
CN116090032B (zh) | 显示方法及相关装置 | |
CN115016712B (zh) | 退出二维码的方法和装置 | |
CN113642010B (zh) | 一种获取扩展存储设备数据的方法及移动终端 | |
CN112148499A (zh) | 数据上报方法、装置、计算机设备及介质 | |
CN116048680B (zh) | 一种触屏方法及电子设备 | |
WO2021104000A1 (zh) | 屏幕显示方法及电子设备 | |
CN111414563B (zh) | 网页交互的方法、装置、计算机设备和存储介质 | |
CN113268294B (zh) | 界面设置的方法和装置 | |
CN112817768B (zh) | 动画处理方法、装置、设备及计算机可读存储介质 | |
CN116737330B (zh) | 任务处理方法和电子设备 | |
CN116708647B (zh) | 通知消息回复方法及电子设备 | |
CN116088955B (zh) | 进程处理方法和终端设备 | |
CN112910752B (zh) | 语音表情显示或生成方法、装置、设备及存储介质 | |
WO2024109481A1 (zh) | 窗口控制方法及电子设备 | |
CN114006969B (zh) | 一种窗口启动方法和电子设备 | |
CN111275561B (zh) | 获取关联关系的方法、装置、计算机设备和存储介质 | |
CN113301148B (zh) | 页面显示方法、装置、服务器、终端及存储介质 | |
WO2023040848A9 (zh) | 设备控制方法和装置 | |
CN116088724A (zh) | 卡片显示方法和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |