CN110618847A - 一种用户界面的显示方法和终端设备 - Google Patents

一种用户界面的显示方法和终端设备 Download PDF

Info

Publication number
CN110618847A
CN110618847A CN201810637260.8A CN201810637260A CN110618847A CN 110618847 A CN110618847 A CN 110618847A CN 201810637260 A CN201810637260 A CN 201810637260A CN 110618847 A CN110618847 A CN 110618847A
Authority
CN
China
Prior art keywords
operating system
layer
control
trusted
rich
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.)
Pending
Application number
CN201810637260.8A
Other languages
English (en)
Inventor
张朋
刘晨光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201810637260.8A priority Critical patent/CN110618847A/zh
Priority to PCT/CN2019/087338 priority patent/WO2019242440A1/zh
Priority to KR1020207010786A priority patent/KR20200052950A/ko
Priority to JP2020517306A priority patent/JP6974604B2/ja
Priority to EP19822186.3A priority patent/EP3678021B1/en
Publication of CN110618847A publication Critical patent/CN110618847A/zh
Priority to US16/843,630 priority patent/US20200234275A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/83Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring 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/53Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • G06Q20/3223Realising banking transactions through M-devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • G06Q20/3227Aspects of commerce using mobile devices [M-devices] using secure elements embedded in M-devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/031Protect user input by software means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例提供一种TUI显示和android显示的兼容性方案,在富操作***提供的原生控件的基础上,进一步增加了自定义安全控件,简化了TUI的开发;进一步地,富操作***对用户界面中的原生控件进行绘制处理,将处理后得到的非安全图层同步至TEE侧可信操作***的帧缓冲区,以及将识别出的用户界面中的安全控件的信息传递给TEE侧的可信操作***,可信操作***根据安全控件的信息,以及安全控件对应的自定义方法,对安全控件进行绘制处理,并将处理后得到的安全图层和非安全图层进行叠加后通过显示器显示。

Description

一种用户界面的显示方法和终端设备
技术领域
本申请涉及终端领域,更为具体地,涉及一种可信用户界面的显示方法和终端设备。
背景技术
随着智能终端的推广和普及,移动支付已成为人们日常消费的主要支付方式之一。移动支付是指用户借助移动终端(通常是手机)对所消费的商品或服务进行账务支付的一种服务方式。移动支付在为用户带来便利的同时,其安全性也一直是备受关注的问题。移动支付类应用通常都是运行在开放式的富执行环境(Rich Execution Environment,REE)中,REE也被称为一般运行环境,主要包括运行于通用处理器上的富操作***(RichOperating System,Rich OS),如等终端操作***。这种开放式的环境为信息泄露和恶意软件传播提供了通道,因此很难满足移动支付对安全性的要求。例如,在REE中,应用显示的支付金额或输入的密码可能被恶意应用劫持,导致的各种支付安全问题。
针对这一问题,开放移动终端组织(Open Mobile Terminal Platform,OMTP)提出了可信执行环境(Trusted Execution Environment,TEE)的概念。2010年7月,全球平台组织(Global GP)提出了TEE标准。TEE是运行于REE之外的独立运行环境,并且与REE隔离。TEE中的应用程序都是专门定制的可信应用程序(trusted application,TA),TA可以通过TEE的内部接口访问TEE的硬件和软件资源。REE中的应用程序,也称为客户端应用程序(client application,CA),无法直接访问TEE的硬件和软件资源,只有在通过TEE身份认证的情况下,REE中的CA才可以通过TEE提供的应用编程接口(Application ProgrammingInterface,API)调用TEE的资源或服务,如安全存储,安全显示/输入。这样,在移动支付场景下,如果涉及敏感信息的输入和显示,REE侧的CA可以调用TEE中的安全显示/输入TA,以显示符合GP规范的可信用户界面(Trusted User Interface,TUI),使用户通过TUI进行用户敏感信息,比如个人识别码(Personal Identification Number,PIN)的输入以及交易信息的确认。TUI显示后,整个屏幕显示区域交由TEE接管,并完全阻止REE对显示区域的访问,从而防止了REE中的CA对用户敏感信息的恶意程序监听和窃取。
图1示出了用户使用TUI进行转账操作的一个示例,如图1所示,用户登陆REE侧的手机银行应用,并在转账界面输入转账金额等信息,然后,在PIN码输入和验证环节,应用会通过特定接口调用TEE侧的安全显示/输入TA以展示TUI,用户通过TUI完成PIN码的输入和交易信息的确认后,屏幕显示区域交还给REE,REE侧的手机银行应用进而显示转账完成界面,整个交易过程结束。从图1可以看出,REE侧CA的UI显示和TEE侧TUI显示是两个独立的过程,TUI与CA的界面没有密切关联性和风格一致性,且TUI为全屏显示,覆盖整个屏幕显示区域,因此,TUI控件无法与CA的界面中的控件兼容显示,例如,显示TUI时用户无法看到状态栏和导航栏等,影响用户体验。
发明内容
本申请提供一种用户界面的显示方法和终端设备,用于实现可信用户界面(Trusted User Interface,TUI)控件和客户端应用程序(client application,CA)界面控件的兼容显示,提升用户体验。
第一方面,本申请实施例提供一种用户界面的显示方法,可应用于包含可信执行环境(Trusted Execution Environment,TEE)以及富执行环境(Rich ExecutionEnvironment,REE)的终端设备或其它类似设备,其中,REE中运行有富操作***和客户端应用程序,TEE中运行有可信操作***,该应用程序的用户界面包含普通控件(非安全控件)和安全控件,该方法包括:该富操作***对该用户界面中的普通控件进行渲染,以得到第一图层(surface);该可信操作***对所述用户界面中的安全控件进行渲染,以得到第二图层(surface);该可信操作***对所述第一图层和第二图层进行叠加处理,以得到同时包含安全控件和原生控件的图形表示的叠加图层,并将该叠加图层通过显示器显示,从而实现了安全控件和非安全控件的兼容显示,使得在展示安全输入界面的同时,也能展示普通的界面控件,提升了用户体验。
在一种可能的实现方式中,富操作***通过图形相关的服务或组件,对普通控件进行测量、布局和绘制操作,以完成普通控件的渲染,并将渲染后得到的非安全图层缓存到富操作***的帧缓冲区。
在一种可能的实现方式中,富操作***通过通信代理将所述安全控件的信息传递给所述可信操作***。
在一种可能的实现方式中,富操作***的通信代理通过所述TEE提供的客户端接口(Client API)将安全控件的信息传递给所述可信操作***。
在一种可能的实现方式中,所述可信操作***根据所述安全控件的信息,对所述安全控件进行测量(Measure)和布局(layout)操作,以确定所述安全控件的尺寸和显示位置;根据确定的所述安全控件的尺寸和显示位置绘制所述安全控件,以得到所述第二图层,所述第二图层位于所述可信操作***的帧缓冲区中。
在一种可能的实现方式中,所述富操作***通过通信代理将帧缓冲区中的第一图层发送给所述可信操作***,所述可信操作***获取到所述第一图层后将其与第二图层叠加,以得到所述叠加图层,所述叠加图层位于所述可信操作***的帧缓冲区中。
在一种可能的实现方式中,所述富操作***通过通信代理将所述富操作***的帧缓冲区的地址发送给所述可信操作***,所述可信操作***获取到所述地址后,根据所述地址访问所述富操作***的帧缓冲区中的所述第一图层,并将所述第一图层和所述第二图层叠加,以得到所述叠加图层,所述叠加图层位于所述可信操作***的帧缓冲区中。
在一种可能的实现方式中,可信操作***可以访问富操作***的帧缓冲区,可信操作***的帧缓冲区不能被富操作***访问。
在一种可能的实现方式中,富操作***和/或可信操作***的帧缓冲区有多个。
在一种可能的实现方式中,富操作***对普通控件进行渲染处理后得到多个图层,每个图层位于一个单独的帧缓冲区中,富操作***通过调用图形相关的硬件将该多个图层离线合成为第一图层,可信操作***进而再将第一图层和第二图层叠加。
在一种可能的实现方式中,对第一图层和第二图层进行叠加处理包括根据第一图层包含的各个像素点的参数,以及第二图层包含的各个像素点的参数,进行参数计算,以得到叠加图层的各个像素点的参数。
在一种可能的实现方式中,图层的像素点的参数包括但不限于:RGB值。
第二方面,本申请实施例提供一种终端设备,包括用于执行上述第一方面或第一方面的任一实现方式所描述的方法的一个或多个功能单元,这些功能单元可以由软件模块实现,或者由硬件,比如处理器实现,或者由软件结合必要的硬件实现。
第三方面,本申请实施例提供一种终端设备,包括存储器、处理器以及存储在所述存储器上的计算机程序,当所述处理器执行所述计算机程序时实现上述第一方面或第一方面的任一实现方式所描述的方法的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序(指令),该程序(指令)被处理器执行时实现上述第一方面或第一方面的任一实现方式所描述的方法的步骤。
本申请通过以上技术方案,提供控件级的TUI,使用户界面中的非安全控件与TUI安全控件兼容显示,使得在展示安全输入界面的同时,也能展示普通的界面控件,提升了用户体验。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍。
图1是使用可信用户界面(TUI)进行转账操作的示意图。
图2是本申请实施例的终端设备的示意图。
图3是本申请实施例的控件的示意图。
图4是本申请实施例的用户界面的控件树形结构图。
图5是本申请实施例的用户界面显示方法的流程图。
图6是本申请实施例的终端设备的结构示意图。
图7是本申请实施例的另一终端设备的结构示意图。
图8是本申请实施例的TEE中的图层合成器的工作原理图。
图9是本申请实施例的另一终端设备的结构示意图。
图10是本申请实施例的另一终端设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行详细描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部实施例。
本申请实施例提供一种用户界面的显示方法,以实现可信用户界面(TUI)和客户端应用程序(CA)的用户界面的兼容显示,该方法可典型地应用于终端设备。
本申请的说明书和权利要求书及附图中的术语“用户界面(user interface)”,简称界面,是应用程序或操作***与用户之间进行交互和信息交换的图形界面,它可以是一个窗口、对话框、显示区域等等。应用程序的用户界面是通过java、可扩展标记语言(extensible markup language,XML)等特定计算机语言编写的源代码,界面源代码在终端设备上经过解析,渲染,最终呈现为用户可以识别的内容,比如图片、文字、按钮等。视图(view)是用户界面的可视化组件,视图也称为控件(control)或部件(widget),典型的视图有按钮(button)、文本字段(text field)、进度条(Progress Bar)、键盘(keyboard)、图片、文字等。界面中的控件的属性和内容是通过标签或者节点来定义的,比如XML通过<Textview>、<ImgView>、<ButtonView>等节点来规定界面所包含的控件。一个节点对应界面中一个控件或属性,节点经过解析和渲染之后呈现为用户可视的内容。
本申请实施例及权利要求所述的终端设备指向用户提供语音和/或数据连通性的设备,包括无线终端或有线终端。无线终端可以经无线接入网(radio access network,RAN)与一个或多个核心网进行通信,无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)或具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置。接口,也称为应用编程接口(Application Programming Interface,API),是由计算机程序代码实现的特定功能的封装和抽象表达,应用程序通过调用接口可以实现特定功能。服务是可以在后台执行而不提供用户界面的应用组件,服务可由其他应用程序或应用组件启动。
下面将参照附图更详细地描述本申请涉及的终端设备。需要说明的是,后置用语“单元”和“模块”仅仅是为了描述的方便,并且这些后置用语不具有相互区分的含义或功能。
图2示出了本申请实施例提供的终端设备100的架构图,根据图2,终端设备100包括硬件平台110,以及运行在硬件平台100上的互相隔离两个运行环境,即富执行环境(RichExecution Environment,REE)120和可信执行环境(Trusted Execution Environment,TEE)140,两个运行环境分别有独立的硬件资源和操作***。通过硬件隔离技术,比如 TrustZone机制,可以实现REE 120和TEE 140的硬件资源的隔离,同时通过虚拟化技术实现REE 120和TEE 140的操作***之间,以及应用之间的隔离。这样,TEE140所能访问的软硬件资源是与REE是分离的,并且,TEE 140对应用程序可访问的数据和功能做了非常严格的限制,使其安全级别满足特定的安全需求,因此TEE 140通常被认为是安全的执行环境。REE 120是TEE140之外的运行环境,相比于TEE140,REE 120的安全性更低,是一个易于被攻击的环境,而运行于REE 120中的应用程序,即客户端应用程序(client application,CA),也被认为是不可信的。
终端设备100的硬件平台110包括公共外设和可信外设,可信外设包括只能被TEE140控制和访问的安全元件(Secure Element,SE),比如安全存储器、安全时钟、可信键盘等。公共外设是可被REE 120中的富操作***(Rich Operating System,Rich OS)123控制和访问的设备。
运行在TEE 140中的应用程序115为可信应用程序(Trusted Application,TA),TA115可以为REE 120中的客户端应用程序(client application,CA)113或者TEE 140内的其它TA提供安全相关的功能或服务。在TEE 140中运行的可信的操作***(TrustedOperating System,Trusted OS)143向TA 115提供TEE内部接口145,TA 115通过TEE内部接口145来获取安全资源和服务的访问权限,这些安全资源和服务包括但不限于:密钥注入和管理、加密、安全存储、安全时钟、可信用户界面(TUI)和可信键盘等。
富操作***123提供了比可信的操作***143更丰富的特性,富操作***123非常开放,能接受各种类型的应用程序,但其安全性也低于可信的操作***143。富操作***123可以为等终端操作***。运行在REE 120中的CA 113可以利用TEE提供的外部接口125来请求TEE 140中的TA 115所提供的安全服务。例如,在移动支付、网上银行转账等场景下,如果涉及用户敏感信息的输入和显示,REE120中的应用程序可以通过TEE提供的外部接口125来调用TEE 140侧的TUI和可信键盘服务,以防止REE侧的应用对用户敏感信息的恶意程序监听和窃取。
关于本申请所有实施例涉及的REE、TEE、CA、TA、Rich OS、Trusted OS等术语的定义,可以参见全球平台组织(Global GP)提出的TEE相关标准。应当理解的是,除了具有TEE的终端设备以外,本申请实施例提供的用户界面显示方法也可以应用于其他类型的设备,比如具有双域***(安全域和非安全域)的终端设备或计算机***等。
基于图2所描述的终端设备100,本申请实施例提供一种终端设备100中显示用户界面的方法,通过富操作***123和可信操作***143的协作来完成用户界面的显示。富操作***123提供了丰富的原生(native)控件(本申请实施例也称之为“普通控件”或“非安全控件”),以供应用程序开发者开发用户界面。以***为例,如图3所示,提供了多种的原生控件类,如按钮(button)、文本字段(EditText)、单选按钮(RadioButton)、复选按钮(CheckBox)、切换按钮(ToggleButton)等。派生于这些原生控件类的控件即为普通控件(非安全控件),应用程序开发者可以通过可视化开发工具或者XML代码构建用户界面。例如,应用程序开发者可以在布局文件中声明使用这些控件中的一个或多个,并设置控件的属性,比如控件的宽度、高度、ID等等。以下是一个包含文本字段和按钮的XML布局文件示例:
在富操作***123提供的原生控件的基础上,本申请实施例进一步增加了自定义安全控件,用于TUI的开发。自定义的安全控件满足TEE140的接口安全规范,支持配置一些自定义属性,同时自定义控件对应的处理方法或函数,比如测量、布局、绘制等方法也需要重写。开发人员通过.xml文件可以创建和编辑自定义安全控件的实例。在一个实施例中,可以自定义如下表所示的安全控件:
应用开发者在开发应用程序用户界面的时候,即可以使用富操作***123提供的原生控件,也可以使用自定义的安全控件,这样可以开发出同时包含普通控件和自定义安全控件的混合用户界面,降低了开发难度。
进一步地,客户端应用程序113在REE120中运行时,富操作***123通过解析用户界面对应的源代码和/或布局文件,确定该用户界面中包含的控件以及控件的属性;控件的属性包括但不限于:控件类型、控件标识、控件宽度、控件高度等。用户界面包含的控件通常是以树形结构来组织的,即控件彼此之间存在着父子关系。以Android为例,在Android中控件分为两类:ViewGroup控件和View控件,ViewGroup作为父控件可以包含多个View控件,并管理其包含的控件。如图4所示,整个用户界面包含的控件从逻辑上构成一棵控件树,上层控件负责下层控件的渲染处理,并传递交互事件。在每棵控件树的顶部,都有一个ViewParent对象,即控件树的核心,所有的交互管理事件都由ViewParent来统一调度。
进一步地,本申请实施例还提供了包含普通控件和自定义安全控件的用户界面的兼容显示方法,包括以下步骤:
步骤510:富操作***123对用户界面中的普通控件进行渲染处理,以得到第一图层(surface);
步骤530:富操作***123将用户界面中的安全控件的信息传递给可信操作***143,可信操作***143对安全控件进行渲染处理,以得到第二图层;
步骤550:可信操作***143将第一图层和第二图层进行叠加处理,以得到叠加图层,该叠加图层包含了普通控件和安全控件。应当理解,这里的叠加图层包含普通控件和安全控件,是指同时包含了普通控件和安全控件的图形表示或图形界面。
步骤570:可信操作***143将叠加图层显示到终端设备100的显示器上。
在一个实施例中,使用安全控件时开发人员需要在.xml中配置安全控件相关的信息,比如控件大小等,并在客户端应用程序113的源文件或安装包中配置通信ID,该通信ID对应于TEE中的一个可信应用程序115,根据该通信ID,并通过TEE提供的外部接口,可以将安全控件的信息传递到TEE中对应的可信应用程序115,可信应用程序115进而基于可信操作***143提供的相关图形服务或组件完成安全控件的渲染和显示。
在一个实施例中,在步骤510中,富操作***123通过调用普通控件对应的方法对控件进行渲染处理,普通控件对应的方法由富操作***123通过原生API的方式提供。在一个实施例中,如图5所示,控件对应的方法包括:测量(measure)、布局(layout)和绘制(draw)操作。其中,measure操作主要用于计算控件的大小,即控件的宽度和长度,计算的依据是布局文件中配置的控件的属性,比如宽度和高度。Layout操作用于设置控件在显示器中的显示位置。例如,在一个实施例中,通过layout操作可以控件计算出相对于其父控件的位置,比如控件的上、下、左、右四条边到父控件左上角或右上角顶点的距离,或者控件的上、下、左、右边缘距离父控件的上下左右边缘的距离。绘制(draw)操作用于将控件绘制到帧缓冲区,以得到第一图层,measure和layout操作的计算结果可以以参数的形式记录,绘制操作可以基于这些参数绘制控件,绘制的过程可能需要调用特定的图形库,比如OpenGL等。
在一个实施例中,为安全控件增加安全标签,以标识安全控件,客户端应用程序和富操作***根据该安全标签即可从用户界面包含的控件中识别出安全控件。该安全标签可以为控件名称、控件ID或签名信息等等。
在一个实施例中,在步骤530中,富操作***123中的通信代理可将用户界面中的自定义安全控件的信息通过TEE外部接口125传递给可信操作***143。自定义安全控件的属性由开发人员通过布局文件或代码配置,自定义控件对应的方法(测量、布局和绘制)也经过了重写,即由开发人员自定义,以满足TEE侧显示的需求。富操作***123传递的安全控件的信息包括安全控件的属性,比如宽度和高度等。可信操作***143调用安全控件对应的方法对安全控件进行测量、布局和绘制处理后得到第二图层。
在一个实施例中,步骤510得到的第一图层(非安全图层)位于富操作***123的帧缓冲区中;步骤530得到的第二图层(安全图层)位于可信操作***143的帧缓冲区中。可信操作***143可以访问富操作***123的帧缓冲区,而可信操作***143的帧缓冲区则不能被富操作***123访问。其中,富操作***123和可信操作***143的帧缓冲区均可能有多个,若对控件进行渲染处理后得到多个图层,这多个图层可以分别位于不同的帧缓冲区。
在一个实施例中,富操作***123在对普通控件进行渲染处理时,可能会生成多个图层,每个图层位于一个单独的帧缓冲区中,富操作***123可以调用图形相关的硬件先将该多个图层离线合成为第一图层。
在一个实施例中,可信操作***143在将第一图层和第二图层叠加为一个叠加图层,叠加图层同时包含了普通控件和安全控件,在显示驱动的协助下,叠加图层会通过显示器显示。这里的叠加图层包含普通控件和安全控件,是指同时包含了普通控件和安全控件的图形表示或图形界面。
在一个实施例中,步骤550中,富操作***123可以通过通信代理将第一图层(非安全图层)发送给可信操作***143,可信操作***143进而将第一图层和第二图层进行叠加处理,以得到叠加图层;富操作***123也可以通过通信代理将第一图层所在的帧缓冲区的地址传递给可信操作***143,可信操作***143根据该地址即可访问富操作***123的帧缓冲区中的第一图层,进而完成图层叠加。
在一个实施例中,步骤550中,可信操作***143可以使用AlphaBlend算法对第一图层A和第二图层B叠加,以生成叠加图层C。对于叠加图层C中每个像素点的RGB值是根据第一图层A对应位置的像素点的RGB值,以及第二图层B对应位置的像素点的RGB值,通过如下公式计算得到:
R(C)=(1-alpha)*R(B)+alpha*R(A)
G(C)=(1-alpha)*G(B)+alpha*G(A)
B(C)=(1-alpha)*B(B)+alpha*B(A)
其中,alpha是一个常量,用于表征透明度,alpha为0表示完全透明,alpha为255表示完全不透明。
在一个实施例中,REE侧的客户端应用程序113在创建用户界面时调用富操作***123提供的接口,以使富操作***123根据用户界面的布局文件,调用测量、布局和绘制方法对用户界面中的普通控件进行渲染处理。渲染处理后得到的非安全图层(不包含安全控件)会缓存到富操作***123的帧缓冲区,并基于TEE和REE之间的通信通道同步至可信操作***的帧缓冲区。进一步地,富操作***123会将识别出的用户界面中的安全控件的信息传递给可信操作***143,可信操作***143根据安全控件的信息,以及安全控件对应的自定义方法(measure、layout、draw),对安全控件进行渲染处理,渲染处理后的安全图层(只包含安全控件)缓存至可信操作***143的帧缓冲区。最后,可信操作***143将安全图层和非安全图层进行叠加处理后,通过显示器显示。
图6示出了富操作***123和可信操作***143协同对用户界面中的控件进行处理的一个更具体的示例。根据图6,富操作***123包括:测量模块1231,布局模块1233和绘制模块1235,分别用于对用户界面中的普通控件进行测量、布局和绘制操作,以得到的非安全图层(不包含安全控件)。其中,关于对控件测量、布局和绘制的细节可以参照步骤510的描述。对普通控件绘制后得到的非安全图层位于第一帧缓冲区1237,第一帧缓冲区1237是可以被富操作***123控制和访问的缓存空间。
进一步地,在一个实施例中,客户端应用程序通过调用富操作***提供的通信代理(图中未示出)和/或TEE提供的外部接口,将用户界面中的安全控件的信息传递至可信应用115,可信应用进而调用可信操作***143的图形服务或组件完成安全控件的渲染。在一个实施例中,可信操作***143包括:测量模块1431,布局模块1433、绘制模块1435、合成模块1439和驱动模块1441。测量模块1431,布局模块1433和绘制模块1435分别用于对用户界面中的安全控件进行测量、布局和绘制操作,以得到安全图层(只包含安全控件)。其中,测量模块1431,布局模块1433和绘制模块1435根据安全控件的信息,以及安全控件对应的自定义方法(measure、layout、draw),对安全控件进行测量、布局和绘制。其中,关于对安全控件测量、布局和绘制的细节可以参照步骤530的描述。对安全控件绘制后得到的安全图层位于第二帧缓冲区1437,第二帧缓冲区1437是只能被可信操作***143控制和访问,但无法被REE120中的富操作***123和应用程序访问的缓存空间。合成模块1439将第一帧缓冲区1237中的非安全图层和第二帧缓冲区1437中的安全图层叠加后得到包含普通控件和安全控件的叠加图层,驱动模块1441用于将合成模块1439得到的叠加图层显示到显示器141上。
在一个实施例中,富操作***123可以通过通信代理将第一图层(非安全图层)发送给可信操作***143,可信操作***143中的合成模块1439进而将第一图层和第二图层进行叠加处理,以得到叠加图层,其中,叠加图层位于第二帧缓冲区1437。在另一个实施例中,富操作***123也可以通过通信代理将第一图层所在的帧缓冲区的地址传递给可信操作***143,可信操作***143中的合成模块1439根据该地址即可访问第一帧缓冲区中的第一图层,进而完成图层叠加,叠加图层位于第二帧缓冲区1437。
可选地,在一个实施例中,富操作***123还包括:预处理模块1239,用于对用户界面中的安全控件进行预处理,比如初始的测量、布局、绘制等处理,预处理的结果会同步至可信操作***143,可信操作***143基于预处理的结果对安全控件进行进一步的处理。
应理解的是,在方案的具体实现中,富操作***123对普通控件的渲染处理和可信操作***143对安全控件的渲染处理并非全然是串行执行的,可以交叉执行或者并行执行。理解终端100可包括比图6所示的更少或更多的组件,图6所示的该终端设备仅包括与本申请实施例所公开的多个实现方式更加相关的组件。
在一个实施例中,如图7所示,富操作***123为***,其从架构上可以划分为内核130,库(libraries)150和应用程序框架(application framework)170。内核130用于提供底层***组件和服务,例如:电源管理、内存管理、线程管理、硬件驱动程序、访问代理134等。访问代理134主要用于实现REE120和TEE140的通信,例如通过TEE提供的接口将REE120侧的信息发送或传递给TEE 140。访问代理134为内核态的进程或线程,例如,其功能可由内核中的Tzdriver来承担。库150是为可执行程序在运行时提供支持的程序库,包括浏览器引擎(比如webkit)、图形处理引擎(比如OpenGL ES)等。框架170用于为应用程序提供基础的公共组件和服务,比如窗口管理、视图管理等等。在一个实施例中,框架170包括视图管理器173,图层合成器175等,其中,视图管理器173用于对客户端应用程序113的用户界面中的原生视图控件,即普通控件进行测量、布局和绘制等操作;图层合成器175用于将绘制到帧缓冲区132中的图层进行合成,然后发送到显示设备显示。帧缓冲区132是一个能被内核态进程/线程访问的存储区域,用于缓存经过视图管理器173绘制后得到的图层。
在一个实施例中,视图管理器173具体可以通过***提供的onMeasure()、onLayout()和onDraw()函数分别完成对原生view控件的测量、布局和绘制操作。图形合成器175为***提供的SurfaceFlinger服务。视图管理器173将控件绘制到帧缓冲区132中的图层上,而SurfaceFlinger服务使用图形库来将这个帧缓冲区中的图层渲染到硬件帧缓冲区中。
在一个实施例中,如图7所示,可信操作***143包括可信用户界面(TUI)服务150,图层合成器160,显示驱动147及帧缓冲区142。当应用程序框架170识别出客户端应用程序113的用户界面中的自定义安全控件后,通过访问代理134将自定义安全控件的信息传递到TEE140中的可信应用115,可信应用115通过TEE内部接口145可以调用TUI服务150对自定义安全控件进行测量、布局和绘制等操作后,将得到的安全图层缓存到帧缓冲区142。图形合成器160将安全图层和帧缓冲区132中的非安全图层(不包含安全控件)进行叠加处理后得到叠加图层,叠加图层位于帧缓冲区142,最后通过显示驱动147将叠加后的图层显示到显示器141上。
具体地,在一个实施例中,如图8所示,富操作***123的视图管理器173对原生view控件进行测量、布局和绘制等操作后得到一个或多个非安全图层,比如背景图层、状态栏图层、导航栏图层等,非安全图层缓存于帧缓冲区132中。如果非安全图层有多个,这多个图层可能会被缓存到多个帧缓冲区,例如,每个非安全图层位于一个独立的帧缓冲区。TUI服务150对自定义安全控件,比如安全输入栏、安全键盘灯进行测量、布局和绘制等操作后,将得到的安全图层缓存到帧缓冲区142。图层合成器160将非安全图层和安全图层叠加处理后,得到同时包含安全控件和原生控件的叠加图层,叠加图层最后通过显示器141显示,从而实现了安全控件和非安全控件的兼容显示。可选地,如果非安全图层有多个,在图层合成器160叠加处理前,富操作***123可以先调用硬件对这多个非安全图层进行离线合成,以将其合成为一个图层,然后,图层合成器160在对该合成的图层和安全图层进行叠加。
在一个实施例中,图层合成器160可以使用AlphaBlend算法对非安全图层和安全图层叠加,以生成叠加图层。其中,AlphaBlend算法的具体实现细节可以参照之前的实施例。
以上描述的富操作***123和可信操作***143的各个组件的功能均可以由处理器执行存储器105中存储的程序来实现。
所属领域的技术人员可以理解终端100可包括比图7所示的更少或更多的部件,图7所示的该终端设备仅包括与本申请实施例所公开的多个实现方式更加相关的部件。
图9示出了本申请实施例提供的另一种终端设备200的示例。根据图9,终端设备200包括通信子***210、电源220、输入设备230、显示设备240、处理单元250、以及存储器260。存储器260存储有计算机程序或指令,该计算机程序包括操作***294和应用程序292等。处理单元250被配置用于执行存储器260中的计算机程序,从而实现该计算机程序定义的方法,例如处理单元250运行操作***294从而在终端设备200上实现前述实施例所描述的富操作***以及可信操作***的各种功能。
处理单元250可以包括一个或多个处理器,例如,处理单元250可以包括应用处理器、图形处理器、数字信号处理器等。当处理单元250包括多个处理器时,这多个处理器可以集成在同一块芯片上,也可以各自为独立的芯片。
存储器260还存储有除计算机程序之外的其他数据296,其他数据296可包括操作***294或应用程序292运行过程中产生的数据,比如***数据(例如操作***294的配置参数)和用户数据。
存储器260一般包括内存和外存。内存包括但不限于随机存取存储器(randomaccess memory,RAM),只读存储器(read-only memory,ROM),或高速缓存(cache)等。外存包括但不限于闪存(flash memory)、硬盘、通用串行总线(universal serial bus,USB)盘等,计算机程序通常被存储在外存上,处理单元250在执行计算机程序前会将该程序从外存加载到内存。
在一个实施例中,操作***294中包含了用于实现本申请实施例所提供的用户界面显示方法的计算机程序,例如富操作***和可信操作***,从而使得处理器250运行操作***294后,实现本申请实施例提供的用户界面显示方法的步骤。示例性地,前述实施例所描述的视图管理器173、图层合成器175、TUI服务150、图层合成器160可以以计算机程序(指令)的方式实现,处理单元250加载并运行这些计算机程序(指令)后,实现这些模块各自的功能。
输入设备230,用于接收用户输入信息,比如数字/字符信息、触摸操作或手势,以及产生对应的输入信号。具体地,在一个实施例中,该输入设备230包括触控面板。触控面板,也称为触摸屏,可收集用户在其上的触摸操作,并生成触控信号以驱动相关的组件响应用户的操作。除了触控面板,输入设备230还可以包括其他输入设备,包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示设备240可以为液晶显示器(liquid crystal display,LCD)、有机发光二极管(organic light-emitting diode,OLED)等显示面板。在一些实施例中,触控面板可覆盖显示设备240上,以形成触摸显示屏。
通信子***210为终端200的基本通信单元,用于终端200的数据发送和接收。电源220用于给上述各个部件供电,具体可以为电源管理芯片。
当终端设备200为无线终端时,通信子***210包括无线调制解调器(wirelessmodem),主要实现基带处理、调制解调、信号放大和滤波、均衡等功能。在一个实施例中,通信子***210包括:基带处理器、射频电路和天线。其中,射频电路和天线主要负责信号发送和接收;基带处理器负责信号的处理,比如信号的A/D、D/A转换、信号的编解码等等。基带处理器支持无线通信标准中的一种或多种,这里的无线通信标准包括但不限于全球移动通信***(global system for mobile communications,GSM)、码分多址接入(code divisionmultiple access,CDMA)、宽带码分多址(wideband code division multiple access,WCDMA)、高速分组接入(high speed packet access,HSPA)、长期演进(long-termevolution,LTE)等。基带处理器可以为一个单独的芯片,也可以和处理单元250所包含的处理器可以集成在同一芯片中。
可选地,终端设备200还包括一个或多个传感器280,例如加速度传感器、光传感器等。
本申请实施例提供的用户界面显示方法可由终端设备200的软件、硬件和/或固件的适当组合执行。例如,可以由图9所示的操作***294结合必要的硬件来实施。
此外,所属领域的技术人员可以理解终端200可包括比图9中所示部件更少或更多的部件,图9所示的终端设备200仅示出了与本申请实施例所公开的多个实现方式更加相关的部件。
基于以上实施例描述的用户界面显示方法,本申请实施例还提供一种终端设备400,如图10所示,该终端设备400包括:处理电路402,以及与其连接的通信接口404和存储介质406。
处理电路402用于处理数据,控制数据访问和存储,发出命令以及控制其它组件执行操作。处理电路402可以被实现为一个或多个处理器,一个或多个控制器和/或可用于执行程序的其它结构。处理电路402具体可以包括通用处理器,数字信号处理器(digitalsignal processor,DSP),专用集成电路(application-specific integrated circuit,ASIC),现场可编程门阵列(field-programmable gate array,FPGA)或其它可编程逻辑组件中的至少一种。通用处理器可以包括微处理器,以及任何常规的处理器,控制器,微控制器,或状态机。处理电路402也可以实现为计算组件,例如DSP和微处理器的组合。
存储介质406可以包括非瞬时计算机可读存储介质(non-transitory computer-readable storage medium),如磁存储设备(例如,硬盘,软盘,磁条),光存储介质(例如,数字多功能光盘(digital versatile disc,DVD)),智能卡,闪存设备,RAM,ROM,可编程只读存储器(programmable read-only memory,PROM),可编程可擦除只读存储器(erasableprogrammable read-only memory,EPROM),寄存器,以及它们的任意组合。存储介质406可以耦合到处理电路402以使得处理电路402可读取信息和将信息写入到存储介质406。具体地,存储介质406可以集成到处理电路402,或者存储介质406和处理电路402可以是分开的。
通信接口404可包括电路和/或程序以实现终端设备400与一个或多个网络设备(例如,路由器、交换机、接入点等等)之间的双向通信。通信接口404包括至少一个接收电路416和/或至少一个发射电路418。在一个实施例中,通信接口404可以是全部或部分由无线调制解调器来实现。
在一个实施例中,存储介质406中存储有程序(指令)420,处理电路402被适配为执行存储在存储介质406中的程(指令)序420,以实现本申请任一方法实施例中的部分或全部步骤。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有实现本申请任一方法实施例中的方法步骤的代码、指令或程序。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例提供的用户界面显示方法也可以应用于具有双域***的设备,该设备包括互相隔离的非安全域和安全域,其中,安全域的安全等级高于非安全域。与前述实施例所描述的TEE和REE类似,非安全域中运行的应用程序也可以通过特定接口请求安全域中的服务。应用程序的用户界面中包含的普通控件由非安全域中的图形服务或组件进行渲染处理后得到一个或多个非安全图层,而用户界面中包含的自定义安全控件由安全域中的图形服务或组件进行渲染处理后得到一个或多个安全图层,最后,安全域内的图形服务或组件对安全图层和非安全图层在安全域进行叠加处理后,通过显示器显示。其中,安全域和非安全域对控件进行渲染以及叠加的具体实现细节可以参照前述方法实施例,不在此赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:USB闪存盘、移动硬盘、ROM、RAM、或者光盘等各种可以存储程序代码的介质。

Claims (18)

1.一种在终端设备上显示用户界面的方法,所述终端设备包括可信执行环境TEE以及富执行环境REE,所述REE中运行有富操作***和客户端应用程序CA,所述TEE中运行有可信操作***,其特征在于,所述CA的用户界面包括普通控件和安全控件,所述方法包括:
所述富操作***对所述用户界面中的普通控件进行渲染,以得到第一图层;
所述可信操作***对所述用户界面中的安全控件进行渲染,以得到第二图层;
所述可信操作***对所述第一图层和第二图层进行叠加处理,以得到包含所述普通控件和所述安全控件的叠加图层,并将所述叠加图层通过显示器显示。
2.根据权利要求1所述的方法,其特征在于,所述富操作***对所述用户界面中的普通控件进行渲染包括:
对所述普通控件进行测量操作以确定所述普通控件的尺寸;
对所述普通控件进行布局操作以确定所述普通控件的显示位置;
根据确定的所述普通控件的尺寸和显示位置绘制所述普通控件,以得到所述第一图层,所述第一图层位于所述富操作***的帧缓冲区中。
3.根据权利要求1或2所述的方法,其特征在于,还包括:所述富操作***通过调用所述TEE提供的客户端接口(Client API),将所述安全控件的信息传递给所述可信操作***。
4.根据权利要求3所述的方法,其特征在于,所述可信操作***对所述用户界面中的安全控件进行渲染,以得到第二图层包括:
所述可信操作***根据所述安全控件的信息,对所述安全控件进行测量和布局操作,以确定所述安全控件的尺寸和显示位置;
根据确定的所述安全控件的尺寸和显示位置绘制所述安全控件,以得到所述第二图层,所述第二图层位于所述可信操作***的帧缓冲区中。
5.根据权利要求2至4任一项所述的方法,其特征在于,所述可信操作***对所述第一图层和第二图层进行叠加处理,以得到包含所述普通控件和所述安全控件的叠加图层包括:
所述可信操作***获取所述富操作***通过通信代理发送的所述第一图层;
所述可信操作***将所述第二图层叠加到所述第一图层,以得到所述叠加图层,所述叠加图层位于所述可信操作***的帧缓冲区中。
6.根据权利要求2至4任一项所述的方法,其特征在于,所述可信操作***对所述第一图层和第二图层进行叠加处理,以得到包含所述普通控件和所述安全控件的叠加图层包括:
所述可信操作***获取所述富操作***通过通信代理发送的所述富操作***的帧缓冲区的地址;
所述可信操作***根据所述地址访问所述富操作***的帧缓冲区中的所述第一图层,并将所述第一图层和所述第二图层叠加,以得到所述叠加图层,所述叠加图层位于所述可信操作***的帧缓冲区中。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述富操作***包含多个帧缓冲区;所述富操作***对所述用户界面中的普通控件进行渲染,以得到第一图层;包括:
所述富操作***对所述用户界面中的普通控件进行渲染,以得到多个中间图层,其中每一个中间图层分别位于一个独立的帧缓冲区中;
所述富操作***调用硬件将所述多个中间图层合成为所述第一图层。
8.根据权利要求1至7任一项所述的方法,其特征在于,还包括:
所述富操作***解析所述用户界面对应的源代码或布局文件,以确定所述用户界面包含的所述普通控件和所述安全控件。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述安全控件携带有安全标签,所述富操作***根据所述安全标签区分所述安全控件和所述普通控件。
10.一种终端设备,包括互相隔离的可信执行环境TEE以及富执行环境REE,所述REE中运行有富操作***和客户端应用程序CA,所述TEE中运行有可信操作***,其特征在于,所述CA的用户界面包括普通控件和安全控件;
所述富操作***用于,对所述用户界面中的普通控件进行渲染,以得到第一图层;
所述可信操作***用于,对所述用户界面中的安全控件进行渲染,以得到第二图层;对所述第一图层和第二图层进行叠加处理,以得到包含所述普通控件和所述安全控件的叠加图层,并将所述叠加图层通过显示器显示。
11.如权利要求10所述的终端设备,其特征在于,所述富操作***包括:
测量模块,用于对所述普通控件进行测量操作以确定所述普通控件的尺寸;
布局模块,用于对所述普通控件进行布局操作以确定所述普通控件的显示位置;
绘制模块,用于根据确定的所述普通控件的尺寸和显示位置绘制所述普通控件,以得到所述第一图层,所述第一图层位于所述富操作***的帧缓冲区中。
12.如权利要求10或11所述的终端设备,其特征在于,所述富操作***还包括:通信代理,用于将所述安全控件的信息传递给所述可信操作***。
13.如权利要求12所述的终端设备,其特征在于,所述可信操作***包括:
测量模块,用于根据所述安全控件的信息,对所述安全控件进行测量操作,以确定所述安全控件的尺寸和显示位置;
布局模块,用于对所述安全控件进行布局操作以确定所述安全控件的显示位置;
绘制模块,根据确定的所述安全控件的尺寸和显示位置绘制所述安全控件,以得到所述第二图层,所述第二图层位于所述可信操作***的帧缓冲区中。
14.如权利要求12或13所述的终端设备,其特征在于,所述通信代理还用于,将所述富操作***的帧缓冲区中的所述第一图层同步到所述可信操作***的帧缓冲区;所述可信操作***还包括:合成模块,用于将所述第二图层叠加到所述第一图层,以得到所述叠加图层,所述叠加图层位于所述可信操作***的帧缓冲区中。
15.如权利要求12或13所述的终端设备,其特征在于,所述通信代理还用于,将所述富操作***的帧缓冲区的地址传递给所述可信操作***;所述可信操作***还包括:合成模块,用于根据所述地址访问所述富操作***的帧缓冲区中的所述第一图层,并将所述第一图层和所述第二图层叠加,以得到所述叠加图层,所述叠加图层位于所述可信操作***的帧缓冲区中。
16.如权利要求10至15任一项所述的终端设备,其特征在于,所述安全控件携带有安全标签,所述富操作***还用于,根据所述安全标签区分所述安全控件和所述普通控件。
17.一种终端设备,包括处理器、存储器及存储在所述存储器上并可被所述处理器执行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至10中任一项所述方法的步骤。
18.一种计算机可读存储介质,其上存储有计算机程序(指令),其特征在于,所述程序(指令)被处理器执行时实现权利要求1至10中任一项所述方法的步骤。
CN201810637260.8A 2018-06-20 2018-06-20 一种用户界面的显示方法和终端设备 Pending CN110618847A (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201810637260.8A CN110618847A (zh) 2018-06-20 2018-06-20 一种用户界面的显示方法和终端设备
PCT/CN2019/087338 WO2019242440A1 (zh) 2018-06-20 2019-05-17 一种用户界面的显示方法和终端设备
KR1020207010786A KR20200052950A (ko) 2018-06-20 2019-05-17 사용자 인터페이스 디스플레이 방법 및 단말기 디바이스
JP2020517306A JP6974604B2 (ja) 2018-06-20 2019-05-17 ユーザインタフェース表示方法及び端末デバイス
EP19822186.3A EP3678021B1 (en) 2018-06-20 2019-05-17 User interface display method and terminal device
US16/843,630 US20200234275A1 (en) 2018-06-20 2020-04-08 User Interface Display Method And Terminal Device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810637260.8A CN110618847A (zh) 2018-06-20 2018-06-20 一种用户界面的显示方法和终端设备

Publications (1)

Publication Number Publication Date
CN110618847A true CN110618847A (zh) 2019-12-27

Family

ID=68920741

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810637260.8A Pending CN110618847A (zh) 2018-06-20 2018-06-20 一种用户界面的显示方法和终端设备

Country Status (6)

Country Link
US (1) US20200234275A1 (zh)
EP (1) EP3678021B1 (zh)
JP (1) JP6974604B2 (zh)
KR (1) KR20200052950A (zh)
CN (1) CN110618847A (zh)
WO (1) WO2019242440A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111625237A (zh) * 2020-04-30 2020-09-04 上海艾麒信息科技有限公司 文字视觉变形方法、***及介质
CN112540761A (zh) * 2020-12-11 2021-03-23 网易(杭州)网络有限公司 控件的显示控制方法和装置
CN113032080A (zh) * 2021-03-31 2021-06-25 广州虎牙科技有限公司 页面实现方法、应用程序、电子设备及存储介质
WO2021135999A1 (zh) * 2019-12-31 2021-07-08 华为技术有限公司 V2x通信方法、装置及车辆
CN114356324A (zh) * 2021-12-16 2022-04-15 阿里巴巴(中国)有限公司 界面处理方法、装置、设备和存储介质
WO2023005751A1 (zh) * 2021-07-30 2023-02-02 华为技术有限公司 渲染方法及电子设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210166227A1 (en) * 2019-11-28 2021-06-03 Qualcomm Incorporated Secure User Interface With Improved User Experience

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050175030A1 (en) * 2004-02-09 2005-08-11 Palmsource, Inc. System and method of format negotiation in a computing device
EP2648129A1 (en) * 2011-12-02 2013-10-09 Samsung Electronics Co., Ltd Method and apparatus for securing touch input
US20130301830A1 (en) * 2012-05-08 2013-11-14 Hagai Bar-El Device, system, and method of secure entry and handling of passwords
CN104133670A (zh) * 2014-06-30 2014-11-05 中国科学院信息工程研究所 一种基于虚拟隔离技术的智能终端安全gui生成方法
CN104809413A (zh) * 2015-05-13 2015-07-29 上海瓶钵信息科技有限公司 基于TrustZone技术的移动平台可信用户界面框架
CN107066888A (zh) * 2017-04-21 2017-08-18 北京豆荚科技有限公司 可扩展的可信用户接口、方法和电子设备
WO2017147786A1 (en) * 2016-03-01 2017-09-08 Qualcomm Incorporated User interface for tee execution of a device
WO2017167127A1 (zh) * 2016-03-31 2017-10-05 阿里巴巴集团控股有限公司 一种图形合成方法、窗口设置方法及***

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020044A (ja) * 1998-07-03 2000-01-21 Hitachi Ltd 画像処理装置
WO2013081406A1 (en) * 2011-12-02 2013-06-06 Samsung Electronics Co., Ltd. Method and apparatus for securing touch input
JP2013242644A (ja) * 2012-05-18 2013-12-05 Panasonic Corp 仮想計算機システム、制御方法、およびプログラム
KR102514062B1 (ko) * 2018-02-27 2023-03-24 삼성전자주식회사 트러스트존 그래픽 렌더링 방법 및 그에 따른 디스플레이 장치

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050175030A1 (en) * 2004-02-09 2005-08-11 Palmsource, Inc. System and method of format negotiation in a computing device
EP2648129A1 (en) * 2011-12-02 2013-10-09 Samsung Electronics Co., Ltd Method and apparatus for securing touch input
US20130301830A1 (en) * 2012-05-08 2013-11-14 Hagai Bar-El Device, system, and method of secure entry and handling of passwords
CN104133670A (zh) * 2014-06-30 2014-11-05 中国科学院信息工程研究所 一种基于虚拟隔离技术的智能终端安全gui生成方法
CN104809413A (zh) * 2015-05-13 2015-07-29 上海瓶钵信息科技有限公司 基于TrustZone技术的移动平台可信用户界面框架
WO2017147786A1 (en) * 2016-03-01 2017-09-08 Qualcomm Incorporated User interface for tee execution of a device
WO2017167127A1 (zh) * 2016-03-31 2017-10-05 阿里巴巴集团控股有限公司 一种图形合成方法、窗口设置方法及***
CN107066888A (zh) * 2017-04-21 2017-08-18 北京豆荚科技有限公司 可扩展的可信用户接口、方法和电子设备

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021135999A1 (zh) * 2019-12-31 2021-07-08 华为技术有限公司 V2x通信方法、装置及车辆
CN111625237A (zh) * 2020-04-30 2020-09-04 上海艾麒信息科技有限公司 文字视觉变形方法、***及介质
CN111625237B (zh) * 2020-04-30 2023-05-30 上海艾麒信息科技有限公司 文字视觉变形方法、***及介质
CN112540761A (zh) * 2020-12-11 2021-03-23 网易(杭州)网络有限公司 控件的显示控制方法和装置
CN113032080A (zh) * 2021-03-31 2021-06-25 广州虎牙科技有限公司 页面实现方法、应用程序、电子设备及存储介质
CN113032080B (zh) * 2021-03-31 2023-06-27 广州虎牙科技有限公司 页面实现方法、应用程序、电子设备及存储介质
WO2023005751A1 (zh) * 2021-07-30 2023-02-02 华为技术有限公司 渲染方法及电子设备
CN114356324A (zh) * 2021-12-16 2022-04-15 阿里巴巴(中国)有限公司 界面处理方法、装置、设备和存储介质

Also Published As

Publication number Publication date
EP3678021A4 (en) 2020-12-30
KR20200052950A (ko) 2020-05-15
WO2019242440A1 (zh) 2019-12-26
US20200234275A1 (en) 2020-07-23
JP6974604B2 (ja) 2021-12-01
EP3678021B1 (en) 2023-07-26
EP3678021A1 (en) 2020-07-08
JP2021501388A (ja) 2021-01-14

Similar Documents

Publication Publication Date Title
CN110618847A (zh) 一种用户界面的显示方法和终端设备
EP3069544B1 (en) Protecting privacy in web-based immersive augmented reality
US9354900B2 (en) Method and apparatus for presenting a window in a system having two operating system environments
KR101741293B1 (ko) 동적 입력 장치의 맥락 제어 기법
US8966379B2 (en) Dynamic cross-environment application configuration/orientation in an active user environment
US11036345B2 (en) System and method for on-screen graphical user interface encapsulation and reproduction
US9300720B1 (en) Systems and methods for providing user inputs to remote mobile operating systems
US20120278747A1 (en) Method and apparatus for user interface in a system having two operating system environments
US20120137233A1 (en) Method and Apparatus for Enabling Generation of Multiple Independent User Interface Elements from a Web Page
CN105825128B (zh) 一种数据输入方法、装置及用户设备
US9804767B2 (en) Light dismiss manager
KR101512010B1 (ko) 셸 애플리케이션들 및 서브애플리케이션들의 인터페이스들의 조합
US20220155819A1 (en) Trusted User Interface Display Method And Electronic Device
CN106462713B (zh) 终端的界面显示方法和终端
US10592063B1 (en) Controlling actions for browser extensions
WO2018120992A1 (zh) 一种窗口渲染方法及终端
CN104704468A (zh) Web应用程序的跨***安装
CN112231617A (zh) 服务调用校验方法、装置、存储介质及电子设备
EP3550462A1 (en) Security system and method for protecting against malicious code
US11948233B2 (en) Image display method and electronic device
US20180145948A1 (en) Security network system and data processing method therefor
KR102130744B1 (ko) 전자 장치 및 이의 제어 방법
US9830202B1 (en) Storage and process isolated web widgets
CN114924837A (zh) 数据处理方法、电子设备和可读存储介质
US20240020367A1 (en) Method for Performing Biometric Feature Authentication When Multiple Application Interfaces are Simultaneously Displayed

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20191227

WD01 Invention patent application deemed withdrawn after publication