CN110737926A - 一种显示方法、装置及存储介质 - Google Patents

一种显示方法、装置及存储介质 Download PDF

Info

Publication number
CN110737926A
CN110737926A CN201810797126.4A CN201810797126A CN110737926A CN 110737926 A CN110737926 A CN 110737926A CN 201810797126 A CN201810797126 A CN 201810797126A CN 110737926 A CN110737926 A CN 110737926A
Authority
CN
China
Prior art keywords
container
image data
displayed
application
display
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
Application number
CN201810797126.4A
Other languages
English (en)
Other versions
CN110737926B (zh
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 CN201810797126.4A priority Critical patent/CN110737926B/zh
Priority to PCT/CN2019/083953 priority patent/WO2020015416A1/zh
Priority to EP19837338.3A priority patent/EP3783518A4/en
Publication of CN110737926A publication Critical patent/CN110737926A/zh
Priority to US17/116,974 priority patent/US20210133334A1/en
Application granted granted Critical
Publication of CN110737926B publication Critical patent/CN110737926B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • 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/84Protecting input, output or interconnection devices output devices, e.g. displays or monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • 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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/37Details of the operation on graphic patterns
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • 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/033Test or assess software
    • 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/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2358/00Arrangements for display data security
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/18Use of a frame buffer in a display terminal, inclusive of the display panel

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Virology (AREA)
  • Storage Device Security (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本申请实施例公开一种显示方法、装置及存储介质,其中方法具体包括第一容器对待显示页面进行渲染生成待显示的图像数据,并对图像数据进行加密,第一容器将加密后的图像数据写入第一容器对应的缓存区,并向终端的第二容器发送指示信息,指示信息用于指示第二容器对加密后的图像数据进行安全显示。因此第一容器中的恶意软件获取到加密后的图像数据也无法解密,由于容器间相互隔离,第一容器中的恶意软件无法访问第二容器中显示的图像数据,而且第二容器对加密后的图像数据进行安全显示,并不像现有技术中需要TEE中的精简操作系统对待显示页面进行重新布局之后再显示,如此,可实现在保证图像显示功能不受限的同时,提高图像数据显示的安全性。

Description

一种显示方法、装置及存储介质
技术领域
本发明涉及安全技术领域,尤其涉及一种显示方法、装置及存储介质。
背景技术
随着智能终端的普及,越来越多的用户使用智能终端处理各类事务,比如在移动支付场景中,用户使用智能终端支付购物的费用,或者开展网上银行业务,或者使用第三方应用进行理财、转账等。但是,终端显示的页面内容可能会被恶意软件窃取,一旦在终端显示的用户账号或密码等敏感信息被不法分子所窃取,将对用户的财产安全造成危害。因此,用户对于终端显示的图像数据的安全性方面的保护诉求日益强烈。
为了防止恶意软件窃取终端显示的敏感信息,现有技术中提供的一种方案为:对包括敏感信息的待显示页面设置访问权限,比如通过操作系统中的活动管理器组件设置禁止对该显示页面的截屏和录屏功能,恶意软件试图调用与截屏或录屏功能相关的应用程序接口就会失败,以达到安全防护功能。但是,一旦恶意软件突破操作系统的权限限制,很可能会实施截屏和录屏动作,直接截取用户的键盘或屏幕输入内容,或从屏幕显示前所对应的帧缓冲设备(frame buffer)窃取到敏感信息,所以这种设置访问权限的方案的安全性不高。
另一种方案为:基于ARM处理器的TrustZone技术,该技术将处理器芯片内部划分为非安全世界和安全世界,其中非安全世界也称为普通执行环境(rich executionenvironment,REE),安全世界也称为可信执行环境(trusted execution environment,TEE)。当需要在屏幕上显示包括敏感信息的页面时,由运行在非安全世界中的普通操作系统显示非敏感信息,由运行在安全世界中的可信操作系统接管屏幕的输入功能和显示功能,使用安全硬件显示敏感信息。虽然使用安全硬件对敏感信息保护的安全性很高,但是由于特定的安全硬件的功能非常精简,无法实现对图形的动态布局,对图形的支持能力弱,很难支持所有应用的图形页面的显示。
综上,如何实现在保证图形显示功能不受限的同时,提高图像数据显示的安全性,仍需进一步深入研究。
发明内容
本申请实施例提供一种显示方法、装置及存储介质,用以实现在保证图形显示功能不受限的同时,提高图像数据显示的安全性。
第一方面,本申请实施例提供一种显示方法,该方法适用于终端的第一容器,该方法包括第一容器对待显示页面进行渲染生成待显示的图像数据,并对图像数据进行加密;第一容器将加密后的图像数据写入第一容器对应的缓存区,并向终端的第二容器发送指示信息,指示信息用于指示第二容器对加密后的图像数据进行安全显示。
本申请实施例中,第一容器对待显示页面进行渲染生成待显示的图像数据,并对图像数据进行加密,即使第一容器中的恶意软件获取到第一容器对应的缓存区中的加密后的图像数据,也无法对加密后的图像数据进行解密得到解密后的图像数据,进而可以提高图像数据的安全性。
进一步的,由于第一容器渲染生成待显示的图像数据,并通过指示信息指示第二容器对加密后的图像数据进行安全显示,第二容器对加密后的图像数据进行安全显示,并不像现有技术中需要TEE中的精简操作系统对待显示页面进行重新布局之后再显示,所以即使第二容器的功能非常精简,也可以通过第二容器正常显示该图像数据。而且,由于第一容器和第二容器是相互隔离的,所以第一容器中的恶意软件无法访问第二容器,也就无法获取在第二容器中进行安全显示的图像数据。如此,可以实现在保证图像显示功能不受限的同时,提高图像数据显示的安全性。
在一种可能的设计中,为了进一步保证图像数据的安全性,终端还包括TEE管理模块;第一容器对图像数据进行加密之前,第一容器向TEE管理模块发送第一请求消息,并接收TEE管理模块返回的第一响应消息,第一响应消息中包括TEE管理模块根据第一请求消息生成的加密着色器;第一容器使用加密着色器对图像数据进行加密。由于加密着色器是由TEE管理模块生成的,可以保证加密着色器生成过程的安全性,而且加密着色器是在第一容器对图像数据进行加密之前从TEE管理模块获取,因此,可以保证加密着色器存储的安全性,进而可以进一步提高加密后的图像数据的安全性。
在一种可能的设计中,为了节省功耗和减少终端内部交互次数,第一容器对待显示页面进行渲染生成待显示的图像数据,并对图像数据进行加密,具体包括第一容器在确定第一容器中的应用需要进行安全显示时,对应用的待显示页面进行渲染生成待显示的图像数据,并对图像数据进行加密。第一容器在确定第一容器中的应用不需要进行安全显示时,对应用的待显示页面进行渲染生成待显示的图像数据,并直接显示。
在一种可能的设计中,为了方便第一容器确定第一容器中的应用需要进行安全显示,可以提供以下确定方式。比如,在第一容器接收到应用触发的安全显示请求时,安全显示请求用于指示应用需要进行安全显示,确定第一容器中的应用需要进行安全显示。或者,在第一容器确定应用为预设安全应用,确定第一容器中的应用需要安全显示。
第二方面,本申请实施例提供一种显示方法,该方法适用于终端的第二容器,该方法包括第二容器接收第一容器发送的指示信息,指示信息用于指示第二容器对第一容器生成的加密后的图像数据进行安全显示;第二容器根据指示信息获取加密后的图像数据,对加密后的图像数据进行解密,并安全显示。
本申请实施例中,第二容器根据第一容器发送的指示信息获取的加密后的图像数据并进行安全显示,可见在第一容器中的图像数据是加密后的,即使第一容器中的恶意软件从第一容器中获取到加密后的图像数据,也无法对加密后的图像数据进行解密,而且,由于第一容器和第二容器是相互隔离的,所以第一容器中的恶意软件无法访问第二容器,也就无法获取在第二容器中进行安全显示的图像数据。所以可以保证图像数据的安全性。
进一步的,第二容器对加密后的图像数据进行安全显示,并不像现有技术中需要TEE中的精简操作系统对图像数据进行重新布局之后再显示,所以即使第二容器的功能非常精简,也可以通过第二容器正常显示该图像数据。如此,可以实现在保证图像显示功能不受限的同时,提高图像数据显示的安全性。
在一种可能的设计中,为了进一步保证图像数据的安全性,终端还包括TEE管理模块;第二容器对加密后的图像数据进行解密之前,第二容器向TEE管理模块发送第二请求消息,并接收TEE管理模块返回的第二响应消息,第二响应消息中包括TEE管理模块根据第一容器发送的第一请求消息生成的解密着色器;第二容器使用解密着色器对加密后的图像数据进行解密。
由于解密着色器是由TEE管理模块生成的,可以保证解密着色器生成过程的安全性,而且,解密着色器是根据第一容器发送的第一请求消息生成的、且第二容器在对加密后的图像数据进行解密之前从TEE管理模块中获取,因此,可以保证解密着色器存储的安全性,进而可以进一步提高图像数据的安全性。
在一种可能的设计中,为了方便第二容器根据指示信息获取加密后的图像数据,第一容器可以将加密后的图像数据加入至指示信息中,第二容器就可以从指示信息中获取加密后的图像数据;或者,将读取加密后的图像数据存入缓存区的具体方式加入至指示信息中,第二容器可以根据指示信息,从第一容器对应的缓存区中读取加密后的图像数据。
第三方面,本申请实施例提供一种装置,该装置包括第一容器,所述第一容器用于实现上述第一方面或第一方面中任意一方面的各种可能的设计所述的方法的功能,该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块或单元。
第四方面,本申请实施例提供一种装置,该装置包括第二容器,所述第二容器用于实现上述第二方面或第二方面中任意一方面的各种可能的设计所述的方法的功能,该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块或单元。
第五方面,本申请实施例提供一种装置,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述第一方面至第二方面中任意一方面的各种可能的设计所述的方法。
第六方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当该计算机指令在被一个或多个处理器执行时,实现上述第一方面至第二方面中任意一方面的各种可能的设计所述的方法。
第七方面,本申请还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面至第二方面中任意一方面的各种可能的设计所述的方法。
附图说明
图1a为本申请实施例提供的一种终端的系统架构示意图;
图1b为本申请实施例提供的另一种终端的系统架构示意图;
图2为本申请实施例提供的一种显示方法流程示意图;
图3为本申请实施例提供的另一种显示方法流程示意图;
图4为本申请实施例提供的一种支付场景的二维码页面示意图;
图5为本申请实施例提供的一种加密过程示意图;
图6为本申请实施例提供的一种解密过程示意图;
图7为本申请实施例提供的另一种显示方法流程示意图;
图8为本申请实施例提供的一种装置的结构示意图;
图9为本申请实施例提供的另一种装置的结构示意图;
图10为本申请实施例提供的另一种装置的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。方法实施例中的具体操作方法也可以应用于装置实施例或系统实施例中。其中,在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
图1a示例性示出了本申请实施例提供的一种终端的系统架构示意图。
如图1a所示,该系统架构中包括REE和TEE两个执行环境,其中,REE中包括多个容器、Linux内核(Kernel),TEE中包括可信应用(trusted application,TA)和可信操作系统。
本申请实施例中,容器可以是指基于内核虚拟化实现的虚拟机,不同的容器可以具有不同的功能,比如,多个容器中的有些容器可以用于安装应用,有些容器可以用于安全显示应用中的页面,还有些容器可以具有其它可能的功能,具体不做限定。进一步地,为便于介绍,可以将具有相同功能的容器可以归为同一类别,比如,用于安装应用的容器可以归为第一类型容器,用于安全显示应用中的页面的容器可以归为第二类型容器。具体实施中,REE中可以包括一个或多个第一类型容器以及一个或多个第二类型容器,还可以包括其他类型容器,下文中仅以REE中包括一个第一类型容器和一个第二类型容器为例进行描述。
在REE中,每个容器可以拥有独立用户空间,用户空间包括独立的根目录、文件系统、网络、独立的进程间通讯和独立的进程编号等。容器中也可以包括在该用户空间中运行的应用程序,由于操作系统的用户空间隔离机制,任两个容器内部的应用程序(或简称为应用)相互隔离,互不干扰。其中,应用程序可以包括使用终端的用户根据自身的需求在终端中安装的应用程序,例如支付宝、微信、银行客户端应用等,也可以包括终端中默认安装的用于实现基本功能的应用程序,例如短信、电话拨号等;可以理解的,上述仅为示例性列举,每个容器内部的应用程序还可以包括其它可能的客户端应用程序,具体不做限定。
本申请实施例中,位于REE中的多个容器可以包括至少两类,其中一类用于安装应用,例如REE中的容器a,还有一类用于安全显示应用中的页面,例如REE中的容器b。具体实施中,可以将应用安装于容器a中,并将应用中需要安全显示的页面对应的图像数据通过容器b进行显示,如此,由于可能携带木马程序的第三方应用安装于容器a中,容器a和容器b相互隔离,所以该木马程序无法获取通过容器b显示的图像数据,从而可以提高图像数据显示的安全性。
在TEE中,可信应用运行于可信操作系统中,可信应用可以向用户提供安全服务,比如生成安全算法和加解密密钥等,本申请实施例中,可信应用在TEE中生成加密着色器(encrypt shader)和解密着色器(unencrypt shader),加密着色器为用于对需要安全显示的图像数据进行加密的程序,由加密算法和加密密钥组成,安装于第一容器对应的图形渲染管道线中。解密着色器为用于对第二容器中的加密后的图像数据进行解密的程序,由解密算法和解密密钥组成,安装于第二容器对应的图形渲染管道线中。可信操作系统用于提供可信操作系统功能,比如安全算法、安全存储等功能,其中安全算法可提供在TEE环境下的加解密算法服务及应用程序编程接口(application programming interface,API),安全存储可以将加密密钥、解密密钥等敏感数据存储于安全硬件(参见图1b)中,例如安全存储器,用来加强敏感数据的安全性。
硬件设备可以包括图形处理器(graphics processing unit,GPU),还可以包括显示设备,例如液晶显示器(liquid crystal display,LCD)。
基于图1a,图1b示例性示出了本申请实施例提供的另一种终端的系统架构示意图。
参见图1b,示例性示出了REE中包括的两个容器(第一容器和第二容器)。
基于上述介绍,第一容器可以为用于安装应用的容器,第二容器可以为用于安全显示应用中的页面的容器。第一容器和第二容器之间可以通过隔离层隔离开。
第一容器可以用于运行与用户交互的第一普通操作系统,比如android操作系统,再比如wince操作系统。第一容器中除了包括第一普通操作系统和应用,还可以包括位于应用和操作系统之间的应用框架层,该应用框架层主要包括活动管理器、窗口(windows)管理器、输入(input)管理器等,其中活动管理用于管理各个应用程序生命周期并提供常用的导航回退功能,并为所有程序的窗口提供交互的接口,窗口(windows)管理器用于对所有开启的窗口程序进行管理。输入管理器用于为鼠标、键盘、触摸屏等提供交互的接口,以及输入事件上报等功能。
第二容器可以用于提供安全显示与交互环境。第二容器中运行第二操作系统,可选的,第二操作系统可以是与第一操作系统的功能完全相同的智能操作系统,为了节省内存资源,第二操作系统可以是功能非常简单的、仅支持显示框架的精简操作系统,其中精简操作系统中附带输入(input)子系统和显示(display)子系统。输入子系统用于接收用户输入的操作指令,比如输入账号指令,再比如账户登录指令,再比如支付指令。显示子系统用于为用户提供显示页面、以及调用硬件(如LCD)显示图像数据。
进一步地,REE中还包括Linux内核。可选的,每个容器可以分别对应一个Linux内核,为了节省内存资源,也可以如图1b中示出的,位于REE中的所有容器共享一个Linux内核。如图1b所示的Linux内核包括图像渲染管线、第一容器对应的帧缓冲(framebuffer)、第二容器对应的帧缓冲(framebuffer)、第一容器对应的驱动模块和第二容器对应的驱动模块。
其中图形渲染管线(Graphics Pipeline)运行在GPU中,其中图像渲染管线会将图像数据按照流水线的方式,分阶段执行如顶点渲染、像素渲染等渲染操作,大多数显卡上有很多处理器核心,在GPU上为各个阶段运行各自的小程序完成数据处理,这些小程序称为着色器,如图1b中所示的加密着色器和解密着色器,其中加密着色器用于对需要加密的图像数据进行加密,解密着色器用于对加密后的图像数据进行解密。
帧缓冲(framebuffer)是Linux系统为显示设备提供的一个驱动接口,它为上层应用程序在图形模式下直接对显示缓存区进行读写操作,而写操作可以立即反应在屏幕上。在嵌入式系统中一般没有专门的显存,而仅仅是从随机存取存储器(random accessmemory,RAM)空间中分配一段显示缓存区(也可简称缓存区)。示例性的,如果将图像数据写入第一容器对应的framebuffer,即写入第一容器对应的缓存区,如果将图像数据写入第二容器对应的framebuffer,即写入第二容器对应的缓存区。
第一容器对应的驱动模块和第二容器对应的驱动模块用于驱动硬件设备,比如,第一容器需要使用图1b所示的显示设备显示图像数据时,第一普通操作系统向第一容器对应的显示设备驱动发送指令,显示设备驱动接收到相应的指令后,将待显示图像数据显示在显示设备上。
可选的,上述第一容器和第二容器之间可以通信,但是在通信之前需要建立安全通道才能实现通信,比如可以通过Unix域套接字通信方式进行通信。
本申请实施例中,提供的显示方法可以实现安全显示图像数据,不仅适用于支付敏感信息等内容的图像数据的加解密保护,而且适用于数字版权管理(digital rightsmanagement,DRM)场景,比如视频播放时防止屏幕录像,远程视频通讯时防止录屏和截图,避免需要保护的内容被直接截取,还适用于需要显示其它需要保护的信息的场景,在此处不一一列举。
实施例一
图2示例性示出了本申请实施例提供的一种显示方法的流程示意图。该方法适用于终端的第一容器,如图2所示,该方法包括:
步骤201,第一容器对待显示页面进行渲染生成待显示的图像数据,并对图像数据进行加密。
此处,第一容器中可能安装有多个应用,以其中的一个应用(应用a)为例,应用a在运行过程中可能会产生多个页面。在一个示例中,应用a的某些页面需要安全显示,有些页面不需要安全显示,比如应用a为微信,由于微信的支付页面有可能涉及到敏感信息,因此支付页面需要进行安全显示,而微信的聊天页面则可以不进行安全显示。在又一个示例中,应用a的所有页面均需要进行安全显示,比如应用a为银行客户端应用,由于银行客户端应用的所有页面均有可能涉及到敏感信息,因此所有页面都需要进行安全显示。
为了节省功耗和减少终端内部交互次数,可选的,实现步骤201的具体方式可以为第一容器在确定第一容器中的应用需要进行安全显示时,对待显示页面进行渲染生成待显示的图像数据,并对图像数据进行加密。第一容器在确定第一容器中的应用不需要进行安全显示时,对应用的待显示页面进行渲染生成待显示的图像数据,并直接显示。
本申请实施例中,第一容器确定第一容器中的应用需要进行安全显示的具体实现方式可以有多种。在一种可能的实现方式中,应用在待显示的页面需要进行安全显示时,主动触发安全显示请求,安全显示请求用于指示应用需要进行安全显示。如此,第一容器接收到应用触发的安全显示请求后,则可确定应用需要进行安全显示。这种方式可以适用于已支持安全显示页面的应用或者启用了传统的安全显示请求标识的应用,其中,传统的安全显示请求标识可以为FLAG_SECURE参数。
示例性的,若应用为已支持安全显示的应用,则在该应用的待显示页面是安全显示页面时,应用会主动触发安全显示请求,第一容器接收到安全显示请求,向第二容器发生指示信息以指示第二容器对待显示的页面进行安全显示;若该应用的待显示的页面不是安全显示页面,为了提高显示效率,第一容器直接显示待显示的页面。
在具体实施中,需要判断应用是否已支持安全显示页面,除应用主动请求第一容器将该应用的页面设置为安全显示页面之外,市面上已发布的各种第三方应用都需要重新修改适配后才能支持安全显示页面。所以,为确保本申请的显示方法适用于已发布的各种第三方应用,第一容器也可以采用另一种可能的方式来判断应用是否需要安全显示。
在另一种可能的方式中,比如在应用自身无法确定页面是否需要安全显示的场景中,第一容器主动确定应用是否需要安全显示,若第一容器确定应用为预设安全应用,则确定第一容器中的应用需要安全显示。其中,预设安全应用可以包括各种支付类应用,比如支付宝、电子银行客户端应用等。
在该方式中,预设安全应用的设置方式有多种,一种方式为预先存储白名单,白名单中包括一个或多个预设安全应用的标识,具体实施中,第一容器可以通过识别该应用是否属于白名单中包括的应用,若是,则第一容器确定该应用为预设安全应用;若否,则确定该应用不是预设安全应用。另一种方式为第一容器确定应用是否被系统安全属性设置为需要保护的应用,若是,则第一容器确定应用为预设安全应用;若否,则应用不为预设安全应用。
在确定应用为预设安全应用之后,第一容器可以将该应用的所有页面设置为安全显示页面,这种情况下,该应用中的任一页面需要显示时,第一容器均可以确定该应用需要进行安全显示。可选的,也可以将该应用中的特定的页面设置为安全显示页面,这种情况下,在特定的页面需要显示时,第一容器可确定该应用需要进行安全显示,而除特定的页面之外的其它页面可以不需要进行安全显示。
在上述步骤201中,渲染生成待显示的图像数据是针对应用中的一个页面来说的,比如应用包括页面A、页面B和页面C,若只有页面B需要安全显示,在页面B需要显示时,则针对页面B进行渲染生成待显示的图像数据,并进行加密;若在页面A或页面B需要显示时,可以不加密,渲染后直接进行显示。若第一容器确定该应用中的页面A、页面B和页面C都需要安全显示,那么当需要显示页面A时,针对页面A进行渲染生成待显示的图像数据,当需要显示页面B或页面C时,针对页面B或页面C进行渲染生成待显示的图像数据。
结合上述图1b,步骤201中的渲染和加密操作在上述图1b中的第一容器对应的图形渲染管线中完成,加密后的图像数据存储在第一容器对应的显示缓存中,即使第一容器中第三方应用获取到显示缓存中的加密后的图像数据,也无法解密,如此得到的加密后的图像数据的安全性更高。
一种可选地实施方式,对图像数据进行加密的方式可以是通过对称密钥的方式,也可以是通过非对称密钥的方式,还可以是通过硬件加密的方式。
可选的,在上述步骤201之前,在第一容器中的应用启动时,确定应用是否需要进行安全显示。若需要,则执行步骤201和步骤202;若不需要,则第一容器可以直接显示应用的待显示的图像数据,具体的,可以通过将待显示的图像数据写入于如图1b所示的第一容器对应的帧缓冲中,进而实现写入第一容器对应的缓存区,并通过第一容器对应的驱动模块驱动显示设备显示图像数据。
步骤202,第一容器将加密后的图像数据写入第一容器对应的缓存区,并向终端的第二容器发送指示信息,其中指示信息用于指示第二容器对加密后的图像数据进行安全显示。
该指示信息的具体内容可以有多种,示例性的,指示信息可以包括加密后的图像数据所在的缓存区的地址信息,也可以包括加密后的图像数据,还可以包括指示第一容器中存在需要安全显示的图像数据的指示信息等。
可选的,步骤201和步骤202中由第一容器执行的方法,可以由第一容器中的第一普通操作系统来执行。
本申请实施例中,从步骤201和步骤202可以看出,第一容器对待显示页面进行渲染生成待显示的图像数据,并对图像数据进行加密,即使第一容器中的恶意软件获取到第一容器对应的缓存区中的加密后的图像数据,也无法对加密后的图像数据进行解密得到解密后的图像数据,进而可以提高图像数据的安全性。
进一步的,由于第一容器渲染生成待显示的图像数据,并通过指示信息指示第二容器对加密后的图像数据进行安全显示,第二容器对加密后的图像数据进行安全显示,并不像现有技术中需要TEE中的精简操作系统对待显示页面进行重新布局之后再显示,所以即使第二容器的功能非常精简,也可以通过第二容器正常显示该图像数据。而且,由于第一容器和第二容器是相互隔离的,所以第一容器中的恶意软件无法访问第二容器,也就无法获取在第二容器中进行安全显示的图像数据。如此,可以实现在保证图像显示功能不受限的同时,提高图像数据显示的安全性。
本申请实施例中,在步骤202之后,还包括:步骤203和步骤204。
步骤203,第二容器接收第一容器发送的指示信息,指示信息用于指示第二容器对第一容器生成的加密后的图像数据进行安全显示。
步骤204,第二容器根据指示信息获取加密后的图像数据,对加密后的图像数据进行解密,并安全显示。
可选的,步骤202和步骤203中由第二容器执行的方法,也可以由第二容器中的第二普通操作系统来执行。
本申请实施例中从步骤203和步骤204可以看出,第二容器根据第一容器发送的指示信息获取的加密后的图像数据并进行安全显示,可见在第一容器中的图像数据是加密后的,即使第一容器中的恶意软件从第一容器中获取到加密后的图像数据,也无法对加密后的图像数据进行解密,而且,由于第一容器和第二容器是相互隔离的,所以第一容器中的恶意软件无法访问第二容器,也就无法获取在第二容器中进行安全显示的图像数据。所以可以保证图像数据的安全性。
进一步的,第二容器对加密后的图像数据进行安全显示,并不像现有技术中需要TEE中的精简操作系统对待显示页面进行重新布局之后再显示,所以即使第二容器的功能非常精简,也可以通过第二容器正常显示该图像数据。如此,可以实现在保证图像显示功能不受限的同时,提高图像数据显示的安全性。
一种可选地实施方式,在上述步骤202中,为了方便第二容器根据指示信息获取加密后的图像数据,第一容器可以将加密后的图像数据加入至指示信息中,在上述步骤204中,第二容器从指示信息中获取加密后的图像数据;或者,第一容器将读取加密后的图像数据存入缓存区的具体方式加入至指示信息中,在上述步骤204中,第二容器可以根据指示信息,从第一容器对应的缓存区中读取加密后的图像数据。
为了进一步保证图像数据的安全性,一种可选的实施方式中,加密密钥在终端中的TEE管理模块中生成的,如此可以提高密钥的安全性。可选的,TEE管理模块可以为图1b中的可信应用和可信操作系统。
在第一容器对图像数据进行加密之前,第一容器向TEE管理模块发送第一请求消息,并接收TEE管理模块返回的第一响应消息,第一请求消息用于向TEE管理模块请求加密着色器,第一响应消息中包括TEE管理模块根据第一请求消息生成的加密着色器。然后,第一容器使用加密着色器对图像数据进行加密。由于加密着色器是由TEE管理模块生成的,可以保证加密着色器生成过程的安全性,而且加密着色器是在第一容器对图像数据进行加密之前从TEE管理模块获取,因此,可以保证加密着色器存储的安全性,进而可以进一步提高加密后的图像数据的安全性。
由于加密过程和解密过程是相互逆向的过程,为了保证经过加密着色器加密得到的加密后的图像数据可以正常解密,在TEE管理模块生成加密着色器的同时,也生成该加密色器对应的解密着色器。具体的,TEE管理模块根据第一请求消息生成加密着色器和解密着色器,其中解密着色器在第二容器需要对加密后的图像数据进行解密时,第二容器从TEE管理模块获取加密着色器对应的解密着色器。如此,通过TEE硬件的安全特性来保证加解密密钥的安全,而且可以保证加密着色器和解密着色器的安全。
相应地,第二容器对加密后的图像数据进行解密之前,第二容器向TEE管理模块发送第二请求消息,并接收TEE管理模块返回的第二响应消息,第二响应消息中包括TEE管理模块根据第一容器发送的第一请求消息生成的解密着色器;第二容器使用解密着色器对加密后的图像数据进行解密。由于解密着色器是由TEE管理模块生成的,可以保证解密着色器生成过程的安全性,而且,解密着色器是根据第一容器发送的第一请求消息生成的、且第二容器在对加密后的图像数据进行解密之前从TEE管理模块中获取,因此,可以保证解密着色器存储的安全性,进而可以进一步提高图像数据的安全性。
下面结合图3详细介绍上述显示方法的一种可能的实现方式。图3示例示出了本申请实施例提供的另一种显示方法流程示意图。如图3所示,以支付宝中的第一页面需要显示为例,该显示方法包括如下步骤:
步骤301,在第一容器对应的图形渲染管线对支付宝中的第一页面进行渲染。
在执行步骤301之后,若第一页面需要安全显示,则执行步骤302;若第一页面不需要安全显示,则执行直接执行步骤303。
步骤302,通过嵌入在第一容器对应的图形渲染管线中的加密着色器对步骤301中渲染后的图像数据进行加密,得到加密后的图像数据。
步骤303,将步骤302得到的加密后的图像数据,或者将步骤301得到的渲染后、且未加密的图像数据,存入第一容器对应的显示缓存中。
在执行完成步骤303之后,若第一容器对应的显示缓存中为加密后的图像数据,则执行步骤304;若第一容器对应的显示缓存中为渲染后、且未加密的图像数据,则执行步骤307。
步骤304,第二容器从第一容器对应的显示缓存中读取加密后的图像数据。
步骤305,第二容器将加密后的图像数据发送至第二容器对应的图形渲染管线中;
步骤306,通过嵌入在第二容器对应的图形渲染管线中的解密着色器对加密后的图像数据进行解密,得到解密后的图像数据。
步骤307,通过显示设备显示第一容器对应的显示缓存中的渲染后、且未加密的图像数据,或者,通过显示设备显示第二容器对应的显示缓存中的解密后的图像数据。
需要说明的是,为了提高加密后的图像数据的安全性,在上述步骤308之前,图3中还可以包括步骤308,相对应的,在步骤306之前还包括步骤309。其中:
步骤308,更新第一容器对应的图像渲染管线中的加密着色器,并将更新后的加密着色器嵌入至第一容器对应的图像渲染管线中。
步骤309,更新第二容器对应的图像渲染管线中的解密着色器,并将更新后的解密着色器嵌入至第二容器对应的图像渲染管线中。
通过图3所示的示例,一方面,将应用中需要进行安全显示的图像数据在第一容器中进行加密,并通过第二容器进行显示,可以提高需要安全显示的图像数据的安全性。另一方面,将应用中不需要进行安全显示的图像数据,直接通过第一容器进行显示,可以减少功耗。
下面以支付场景为例,结合图4、图5和图6详细介绍上述加密和解密的一种可能的实现方式。
以支付宝的支付二维码的安全显示过程为例,第一容器确定需要显示支付宝的支付二维码页面后,渲染生成需要付款的二维码图像,参见图4示出的二维码页面。
结合图1b,该二维码页面对应的图像数据在发送到显示缓存之前,在第一容器对应的图形渲染管线中进行加密,生成加密后的图像数据。图5示例性示出了本申请实施例提供的一种加密过程示意图。
如图5所示,TEE管理模块生成加密着色器,在第一容器中的支付宝应用需要安全显示时,将需要安全显示的页面进行渲染,并通过机密着色器加密后得到加密后的图像数据。即使第一容器的权限被恶意软件破解,恶意软件最多只能获取到加密后的图像数据,而且恶意软件也无法识别出加密后的图像数据的真实内容,也就是说,恶意软件获取到的只是乱码的图像数据,并不会获取到用户可见的如图4所示的二维码页面,从而可以保证在第一容器内恶意软件无法攻击截取用户可见的需要安全显示的图像数据。
针对图5中获取到的加密后的图像数据,图6示例性示出了本申请实施例提供的一种解密过程示意图。如图6所示,第二容器采用TEE管理模块生成的解密着色器,对加密后的图像数据进行解密,得到恢复正常的二维码页面,并显示给用户,从而实现在第二容器中安全显示图像数据。
在上述实施例中,每个应用可以对应一个或多个加密着色器,由于加密着色器和解密着色器一般是成对出现,所以每个应用也可以对应一个或多个解密着色器。
一种可选的实现方式中,每个应用可以对应一个加密着色器的情况下,为了减少第一容器与TEE管理模块之间的交互次数,可以在应用的第一个需要安全显示的页面需要显示时,向TEE管理模块发送第一请求消息,该应用后续需要安全显示的页面可以直接使用获取到的加密着色器加密。相对应的,在TEE管理模块只需要针对每个应用生成一个加密着色器和加密着色器对应的解密着色器。当然,为了保证加密后的图像数据的安全性,可以通过周期性更新每个应用对应的加密着色器和解密着色器,以防解密着色器被截取,导致加密后的图像数据的真实内容被截取。
举个例子,比如当前需要安全显示的应用为微信,TEE管理模块生成微信对应的加密着色器A和解密着色器A,当需要安全显示的应用切换为支付宝时,TEE管理模块生成支付宝对应的加密着色器B和解密着色器B。也就是说,微信中所有的需要安全显示的页面都使用加密着色器A进行加密,并在第二容器中使用解密着色器A解密。支付宝中所有的需要安全显示的页面都使用加密着色器B进行加密,并在第二容器中使用解密着色器B解密。
另一种可选的实现方式中,每个应用可以对应多个加密着色器的情况下,具体的,每个需要安全显示的页面可以对应一个加密着色器,举个例子,比如支付宝包括页面1和页面2,当页面1需要安全显示时,通过TEE管理模块生成页面1对应的加密着色器B和解密着色器B;当页面2需要安全显示时,通过TEE管理模块生成页面2对应的加密着色器C和解密着色器C。也就是说,当第一容器中的应用的页面发生变化时,会生成新的加密着色器和新的解密着色器程序,如此,可以进一步提高图像数据的安全性。
一种可选地实施方式,步骤201中对图像数据进行加密和步骤204中对加密后的图像数据进行解密使用的密钥为一对密钥对。
上述实施例中,加密着色器根据加密算法和加密密钥得到,解密着色器根据解密算法和解密密钥得到,加密密钥和解密密钥为一对密钥对,为了进一步提高图像数据的安全性,可选的,每对密钥对包括的加密密钥和解密密钥为TEE管理模块随机生成的,具体的,可以是每个应用对应一对密钥对,也可以是应用中的每个页面对应一对密钥对。如此,通过TEE管理模块随机生成的加密密钥加密的图像数据,在第一容器中缺失相匹配的解密手段,无法在第一容器中解密还原,从而可以保证加密后的图像数据的安全,真实的图像数据被截取很小。
在第一容器接收到TEE管理模块返回的第一响应消息,得到加密着色器之后,Linux内核将该加密着色器设置在第一容器对应的图像渲染管线中,在图像数据经过加密着色器加密之后,并写入至第一容器对应的显示缓存中。在第二容器获取到加密后的图像数据之后,从TEE管理模块获取解密着色器,Linux内核将该解密着色器设置在第二容器对应的图像渲染管线中,并通过该解密着色器对加密后的图像数据进行解密,并在显示设备显示解密后的图像数据。
实施例二
图7示例性示出了本申请实施例提供的另一种显示方法示意图。如图7所示,该显示方法包括如下步骤:
步骤701,当应用在运行到需要安全显示的页面时,应用向第一容器发起安全显示请求,防止该页面被恶意软件截取或录制。
步骤702,第一容器接收到应用发送的安全显示请求,会通过调用预先由TEE软件开发工具包(software development kit,SDK)开发好的可信应用TA发起对TEE的请求,TEE执行该TA后,并向TA返回一个加密着色器,加密着色器用于图形处理器GPU执行加密图像数据的指令。
步骤703,TA返回加密着色器(encrypt shader),并嵌入到GPU执行的图形渲染管线中。
步骤704,应用通过调用系统用户界面(user interface,UI)组件布局和显示,对需要安全显示的页面进行渲染。
步骤705,UI组件布局会调用开放图形库(open graphics library,OpenGL)图形程序接口通过GPU渲染,得到渲染图层。
步骤706,通过GPU执行在图形渲染管线中嵌入的加密着色器对应的指令,将OpenGL渲染图层进行加密后得到的加密图层返回到第一容器中。
步骤707,加密图层通过合成器进行多图层合成,例如安卓(android)系统中图形合成服务surfaceflinger服务用显示子系统(display sub system,DSS)进行多图层合成,并将合成后的图层直接送显到第一容器对应的framebuffer中。
步骤708,通过切换容器调用,让第二容器接管显示子系统和输入子系统。
步骤709,第二容器通过向TA发送请求解密着色器,使得TA执行请求中的指令后返回解密着色器。
步骤710,TA返回解密着色器,并嵌入到GPU执行的图形渲染管线中。
步骤711,第一容器读取加密后的图像数据。
步骤712,加密后的图像数据读取到第一容器中,加密后的图像数据即使被恶意软件截获,也无法得到真实的页面的图像数据。
步骤713,通过跨容器通讯(比如Socket,Binder等),将加密后的图像数据发送到第二容器中的显示子系统。
步骤714,第二容器将加密后的图像数据写入GPU执行的图形渲染管线中。
步骤715,GPU通过解密着色器,对加密后的图像数据进行解密,并写入到第二容器对应的framebuffer中。
步骤716,由第二容器控制显示外设,将第二容器对应的framebuffer中的图像数据进行正常送显。
通过上述显示方法,可以将加密后的图像数据通过第二容器进行解密,并显示图像数据的真实内容,可以避免被恶意软件截图待显示的页面的图像数据。而且,相比较于现有技术中依赖于特定安全硬件的安全显示方案,本申请实施例中加密后的数据图像已使用第一容器中的UI组件进行UI页面布局,所以在第二容器显示时不受UI页面布局能力限制,从而可以实现在保证图形显示功能不受限的同时,提高图像数据显示的安全性。
可以理解的是,上述实施例中的各个设备为了实现相应的功能,其可以包括执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
图8示出了本发明实施例中所涉及的装置的可能的示例性框图,该装置800可以以软件的形式存在。该装置800包括第一容器801,该第一容器801可以包括:处理单元802、写入单元803和通信单元804。作为一种实现方式,该通信单元804可以包括接收单元和发送单元。处理单元802用于对第一容器801的动作进行控制管理。通信单元804用于支持第一容器801与其他容器或模块的通信。
处理单元802可以支持第一容器801执行上文中各方法示例中第一容器的动作。通信单元804可以支持第一容器801与第二容器、或其他容器、或其他模块之间的通信,例如,通信单元804用于支持第一容器801执行图2中的步骤202中的向第二容器发送指示信息。
具体地,处理单元802可以对待显示页面进行渲染生成待显示的图像数据,并对所述图像数据进行加密,其中所述待显示页面为所述第一容器中的应用的页面,写入单元803可以将加密后的图像数据写入所述第一容器对应的缓存区;以及通信单元804可以向所述终端的第二容器发送指示信息,所述指示信息用于指示所述第二容器对所述加密后的图像数据进行安全显示。
在一种可能的实现方式中,所述通信单元804还可以在对所述图像数据进行加密之前,向所述TEE管理模块发送第一请求消息,并接收装置900包括的TEE管理模块返回的第一响应消息,所述第一响应消息中包括所述TEE管理模块根据所述第一请求消息生成的加密着色器;所述处理单元802可以使用所述加密着色器对所述图像数据进行加密。
在一种可能的实现方式中,所述处理单元802可以在确定所述第一容器中的应用需要进行安全显示时,对所述应用的所述待显示页面进行渲染生成所述待显示的图像数据,并对所述图像数据进行加密。
在一种可能的实现方式中,所述处理单元802可以在确定所述通信单元804接收到所述应用触发的安全显示请求,所述安全显示请求可以指示所述应用需要进行安全显示,或者所述处理单元802确定所述应用为预设安全应用时,确定所述第一容器中的应用需要进行安全显示。
图9示出了本发明实施例中所涉及的装置的可能的示例性框图,该装置900可以以软件的形式存在。该装置900包括第二容器901,该第二容器901可以包括:通信单元902、处理单元903和显示单元904。作为一种实现方式,该通信单元902可以包括接收单元和发送单元。处理单元903用于对第二容器901的动作进行控制管理。通信单元902用于支持第二容器901与其他容器或模块的通信。
处理单元903可以支持第二容器901执行上文中各方法示例中第二容器的动作。通信单元902可以支持第二容器901与第一容器或其他容器或模块之间的通信,例如,通信单元902用于支持第二容器901执行图2中的步骤203。
具体地,通信单元902,可以接收所述第一容器发送的指示信息,所述指示信息用于指示处理单元903对所述第一容器生成的加密后的图像数据进行安全显示;所述处理单元903可以根据所述指示信息获取所述加密后的图像数据,对所述加密后的图像数据进行解密;显示单元,可以对解密后的所述图像数据进行安全显示。
在一种可能的实现方式中,所述通信单元902还可以在所述处理单元903对所述加密后的图像数据进行解密之前,向装置900包括的TEE管理模块发送第二请求消息,并接收所述TEE管理模块返回的第二响应消息,所述第二响应消息中包括所述TEE管理模块根据第一容器发送的第一请求消息生成的解密着色器;所述处理单元903可以使用所述解密着色器对所述加密后的图像数据进行解密。
在一种可能的实现方式中,所述处理单元903可以从所述指示信息中获取所述加密后的图像数据;或者,根据所述指示信息,从所述第一容器对应的缓存区中读取所述加密后的图像数据。
基于相同构思,参见图10,为本申请实施例提供的一种装置1000的硬件结构示意图,如图10所示,包括一个或多个处理器1001以及存储器1002,图10中以一个处理器1001为例。
执行显示方法的装置还可以包括:输入装置1003和输出装置1004。
处理器1001、存储器1002、输入装置1003和输出装置1004可以通过总线或者其他方式连接,图10中以通过总线连接为例。
存储器1002作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中显示方法对应的程序指令/模块。处理器1001通过运行存储在存储器1002中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法。
其中,处理器1001可以是通用中央处理器(central processing unit,CPU),通用处理器,数字信号处理(digital signal processing,DSP),专用集成电路(applicationspecific integrated circuits,ASIC),现场可编程门阵列(field programmable gatearray,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,DSP和微处理器的组合等。本申请实施例中,处理器1001可以执行如图8涉及到的处理单元802、写入单元803和通信单元804所执行的方法,也可以执行如图9涉及到的通信单元902、处理单元903和显示单元904所执行的方法。
存储器1002可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据列表项操作的处理装置的使用所创建的数据等。此外,存储器1002可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器1002可选包括相对于处理器1001远程设置的存储器,这些远程存储器可以通过网络连接至列表项操作的处理装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。一种可能的设计中,存储器1002也可以和处理器1001集成在一起。
输入装置1003可接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置1004可包括显示屏等显示设备。
所述一个或者多个模块存储在所述存储器1002中,当被所述一个或者多个处理器1001执行时,执行上述任意方法实施例中的方法。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
在上述实施例中,可以全部或部分地通过软件、硬件或者其组合来实现、当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。指令可以存储在计算机存储介质中,或者从一个计算机存储介质向另一个计算机存储介质传输,例如,指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、双绞线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机存储介质可以是计算机能够存取的任何介质或者是包含一个或多个介质集成的服务器、数据中心等数据存储设备。介质可以是磁性介质,(例如,软盘、硬盘、磁带、磁光盘(MO)等)、光介质(例如光盘)、或者半导体介质(例如ROM、EPROM、EEPROM、固态硬盘(solid state disk,SSD))等。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (16)

1.一种显示方法,其特征在于,所述方法适用于终端的第一容器,所述方法包括:
第一容器对待显示页面进行渲染生成待显示的图像数据,并对所述图像数据进行加密;
所述第一容器将加密后的图像数据写入所述第一容器对应的缓存区,并向所述终端的第二容器发送指示信息,所述指示信息用于指示所述第二容器对所述加密后的图像数据进行安全显示。
2.如权利要求1所述的方法,其特征在于,所述终端还包括可信执行环境TEE管理模块;
所述第一容器对所述图像数据进行加密之前,还包括:
所述第一容器向所述TEE管理模块发送第一请求消息,并接收所述TEE管理模块返回的第一响应消息,所述第一响应消息中包括所述TEE管理模块根据所述第一请求消息生成的加密着色器;
所述第一容器对所述图像数据进行加密,包括:
所述第一容器使用所述加密着色器对所述图像数据进行加密。
3.如权利要求1所述的方法,其特征在于,所述第一容器对待显示页面进行渲染生成待显示的图像数据,并对所述图像数据进行加密,包括:
所述第一容器在确定所述第一容器中的应用需要进行安全显示时,对所述应用的所述待显示页面进行渲染生成所述待显示的图像数据,并对所述图像数据进行加密。
4.如权利要求3所述的方法,其特征在于,所述第一容器确定所述第一容器中的应用需要进行安全显示,包括:
所述第一容器接收到所述应用触发的安全显示请求,所述安全显示请求用于指示所述应用需要进行安全显示;或者,
所述第一容器确定所述应用为预设安全应用。
5.一种显示方法,其特征在于,所述方法适用于终端的第二容器,所述方法包括:
所述第二容器接收所述第一容器发送的指示信息,所述指示信息用于指示所述第二容器对所述第一容器生成的加密后的图像数据进行安全显示;
所述第二容器根据所述指示信息获取所述加密后的图像数据,对所述加密后的图像数据进行解密,并安全显示。
6.如权利要求5所述的方法,其特征在于,所述终端还包括可信执行环境TEE管理模块;
所述第二容器对所述加密后的图像数据进行解密之前,还包括:
所述第二容器向所述TEE管理模块发送第二请求消息,并接收所述TEE管理模块返回的第二响应消息,所述第二响应消息中包括所述TEE管理模块根据第一容器发送的第一请求消息生成的解密着色器;
所述第二容器对所述加密后的图像数据进行解密,包括:
所述第二容器使用所述解密着色器对所述加密后的图像数据进行解密。
7.如权利要求5所述的方法,其特征在于,所述第二容器根据所述指示信息获取所述加密后的图像数据,包括:
所述第二容器从所述指示信息中获取所述加密后的图像数据;或者,
所述第二容器根据所述指示信息,从所述第一容器对应的缓存区中读取所述加密后的图像数据。
8.一种装置,其特征在于,所述装置包括第一容器,所述第一容器包括:
处理单元,用于对待显示页面进行渲染生成待显示的图像数据,并对所述图像数据进行加密;
写入单元,用于将加密后的图像数据写入所述第一容器对应的缓存区;
通信单元,用于向所述终端的第二容器发送指示信息,所述指示信息用于指示所述第二容器对所述加密后的图像数据进行安全显示。
9.如权利要求8所述的装置,其特征在于,所述终端还包括可信执行环境TEE管理模块;
所述通信单元,还用于:在对所述图像数据进行加密之前,向所述TEE管理模块发送第一请求消息,并接收所述TEE管理模块返回的第一响应消息,所述第一响应消息中包括所述TEE管理模块根据所述第一请求消息生成的加密着色器;
所述处理单元,用于:使用所述加密着色器对所述图像数据进行加密。
10.如权利要求8所述的装置,其特征在于,所述处理单元,用于:
在确定所述第一容器中的应用需要进行安全显示时,对所述应用的所述待显示页面进行渲染生成所述待显示的图像数据,并对所述图像数据进行加密。
11.如权利要求10所述的装置,其特征在于,所述处理单元,用于:
若确定所述通信单元接收到所述应用触发的安全显示请求,所述安全显示请求用于指示所述应用需要进行安全显示,或者所述处理单元确定所述应用为预设安全应用,则确定所述第一容器中的应用需要进行安全显示。
12.一种装置,其特征在于,所述装置包括第二容器,所述第二容器包括:
通信单元,用于接收所述第一容器发送的指示信息,所述指示信息用于指示处理单元对所述第一容器生成的加密后的图像数据进行安全显示;
所述处理单元,用于根据所述指示信息获取所述加密后的图像数据,对所述加密后的图像数据进行解密;
显示单元,用于对解密后的所述图像数据进行安全显示。
13.如权利要求12所述的装置,其特征在于,所述终端还包括可信执行环境TEE管理模块;
所述通信单元还用于:在所述处理单元对所述加密后的图像数据进行解密之前,向所述TEE管理模块发送第二请求消息,并接收所述TEE管理模块返回的第二响应消息,所述第二响应消息中包括所述TEE管理模块根据第一容器发送的第一请求消息生成的解密着色器;
所述处理单元,用于:
使用所述解密着色器对所述加密后的图像数据进行解密。
14.如权利要求12所述的装置,其特征在于,所述处理单元,用于:
从所述指示信息中获取所述加密后的图像数据;或者,
根据所述指示信息,从所述第一容器对应的缓存区中读取所述加密后的图像数据。
15.一种装置,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至7中任一所述方法。
16.一种计算机存储介质,其特征在于,所述存储介质中存储计算机指令,该计算机指令在被一个或多个处理器执行时实现权利要求1至7中任一项所述的方法。
CN201810797126.4A 2018-07-19 2018-07-19 一种显示方法、装置及存储介质 Active CN110737926B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201810797126.4A CN110737926B (zh) 2018-07-19 2018-07-19 一种显示方法、装置及存储介质
PCT/CN2019/083953 WO2020015416A1 (zh) 2018-07-19 2019-04-23 一种显示方法、装置及存储介质
EP19837338.3A EP3783518A4 (en) 2018-07-19 2019-04-23 METHOD AND DEVICE FOR DISPLAY AND STORAGE MEDIUM
US17/116,974 US20210133334A1 (en) 2018-07-19 2020-12-09 Display method, apparatus, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810797126.4A CN110737926B (zh) 2018-07-19 2018-07-19 一种显示方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN110737926A true CN110737926A (zh) 2020-01-31
CN110737926B CN110737926B (zh) 2022-03-25

Family

ID=69164277

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810797126.4A Active CN110737926B (zh) 2018-07-19 2018-07-19 一种显示方法、装置及存储介质

Country Status (4)

Country Link
US (1) US20210133334A1 (zh)
EP (1) EP3783518A4 (zh)
CN (1) CN110737926B (zh)
WO (1) WO2020015416A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111586011A (zh) * 2020-04-29 2020-08-25 中国联合网络通信集团有限公司 一种信息共享方法及装置
CN111796989A (zh) * 2020-09-09 2020-10-20 北京志翔科技股份有限公司 Linux系统下防止截屏的方法及计算机可读存储介质
CN111859416A (zh) * 2020-06-23 2020-10-30 天地融科技股份有限公司 一种安全显示控制的方法及装置
CN113791777A (zh) * 2020-07-28 2021-12-14 北京沃东天骏信息技术有限公司 图片显示方法及装置、计算机可读存储介质及电子设备
CN115859335A (zh) * 2023-02-03 2023-03-28 合肥科颖医药科技有限公司 基于远控技术的远程信息数据查阅方法及系统

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220141026A1 (en) * 2020-11-02 2022-05-05 Intel Corporation Graphics security with synergistic encryption, content-based and resource management technology
US11930240B2 (en) 2020-11-11 2024-03-12 Motorola Mobility Llc Media content recording with sensor data
CN114691060A (zh) 2020-12-29 2022-07-01 摩托罗拉移动有限责任公司 在设备屏幕记录期间管理的个人内容
CN114691061A (zh) 2020-12-29 2022-07-01 摩托罗拉移动有限责任公司 在扩展显示屏幕记录期间管理的个人内容
CN114915744A (zh) * 2021-02-09 2022-08-16 摩托罗拉移动有限责任公司 为受限屏幕记录而管理的记录内容
US20230259656A1 (en) * 2022-02-15 2023-08-17 Microsoft Technology Licensing, Llc Systems and methods for rendering secured content items

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010176370A (ja) * 2009-01-29 2010-08-12 Casio Computer Co Ltd 表示装置、画像表示方法及びプログラム
CN102891795A (zh) * 2012-10-11 2013-01-23 上海金自天正信息技术有限公司 一种工业安全通信网关
CN107273719A (zh) * 2017-04-28 2017-10-20 努比亚技术有限公司 一种版权保护方法和终端设备

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8646052B2 (en) * 2008-03-31 2014-02-04 Intel Corporation Method and apparatus for providing a secure display window inside the primary display
US20140032733A1 (en) * 2011-10-11 2014-01-30 Citrix Systems, Inc. Policy-Based Application Management
EP2887607A1 (en) * 2013-12-23 2015-06-24 Orange Migration of assets of a trusted execution environment
US9910655B1 (en) * 2014-11-06 2018-03-06 Accellion, Inc. Secure content platform software developer kit
US10430589B2 (en) * 2015-03-19 2019-10-01 Intel Corporation Dynamic firmware module loader in a trusted execution environment container
US10353831B2 (en) * 2015-12-24 2019-07-16 Intel Corporation Trusted launch of secure enclaves in virtualized environments
US10211989B2 (en) * 2016-02-05 2019-02-19 Mcafee, Llc Trusted indicators to secure visual outputs
US10375111B2 (en) * 2016-11-12 2019-08-06 Microsoft Technology Licensing, Llc Anonymous containers
CN106557690B (zh) * 2016-11-29 2019-10-22 北京元心科技有限公司 管理多容器系统的方法及装置
CN108205623B (zh) * 2016-12-16 2020-04-03 杭州华为数字技术有限公司 用于共享目录的方法和装置
US10367639B2 (en) * 2016-12-29 2019-07-30 Intel Corporation Graphics processor with encrypted kernels
CN108021823A (zh) * 2017-12-04 2018-05-11 北京元心科技有限公司 基于可信执行环境无痕运行应用程序的方法、装置和终端
US11520859B2 (en) * 2018-03-30 2022-12-06 Intel Corporation Display of protected content using trusted execution environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010176370A (ja) * 2009-01-29 2010-08-12 Casio Computer Co Ltd 表示装置、画像表示方法及びプログラム
CN102891795A (zh) * 2012-10-11 2013-01-23 上海金自天正信息技术有限公司 一种工业安全通信网关
CN107273719A (zh) * 2017-04-28 2017-10-20 努比亚技术有限公司 一种版权保护方法和终端设备

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111586011A (zh) * 2020-04-29 2020-08-25 中国联合网络通信集团有限公司 一种信息共享方法及装置
CN111859416A (zh) * 2020-06-23 2020-10-30 天地融科技股份有限公司 一种安全显示控制的方法及装置
CN111859416B (zh) * 2020-06-23 2024-05-24 天地融科技股份有限公司 一种安全显示控制的方法及装置
CN113791777A (zh) * 2020-07-28 2021-12-14 北京沃东天骏信息技术有限公司 图片显示方法及装置、计算机可读存储介质及电子设备
CN111796989A (zh) * 2020-09-09 2020-10-20 北京志翔科技股份有限公司 Linux系统下防止截屏的方法及计算机可读存储介质
CN115859335A (zh) * 2023-02-03 2023-03-28 合肥科颖医药科技有限公司 基于远控技术的远程信息数据查阅方法及系统

Also Published As

Publication number Publication date
US20210133334A1 (en) 2021-05-06
EP3783518A1 (en) 2021-02-24
EP3783518A4 (en) 2021-08-04
CN110737926B (zh) 2022-03-25
WO2020015416A1 (zh) 2020-01-23

Similar Documents

Publication Publication Date Title
CN110737926B (zh) 一种显示方法、装置及存储介质
US9799093B2 (en) Secure rendering of display surfaces
CN101661544B (zh) 在主显示器内提供安全显示窗口的方法和设备
US10599489B2 (en) Processing a guest event in a hypervisor-controlled system
JP6347831B2 (ja) ハイパーバイザに制御されるシステムにおいてゲスト・イベントを処理するための方法、データ処理プログラム、コンピュータ・プログラム製品、およびデータ処理システム
US9092627B2 (en) Apparatus and method for providing security information in virtual environment
JP4522645B2 (ja) セキュアコンテンツを暗号的に保護する方法およびシステム
US20140281560A1 (en) Secure zone on a virtual machine for digital communications
US9779032B2 (en) Protecting storage from unauthorized access
Amiri Sani Schrodintext: Strong protection of sensitive textual content of mobile applications
JP6682752B2 (ja) セキュアエンクレーブを用いてデータ暗号化を強化するための技術
JP2015064677A (ja) 情報処理装置、情報処理システム、プログラム
US20190103074A1 (en) Technologies for secure z-order enforcement with trusted display
CN113344764B (zh) 安全图形处理器、处理器芯片、显示卡、装置、方法及存储介质
KR102565414B1 (ko) 데이터 처리 가속기에 사용되는, 난독화 유닛에 의해 난독화 를 진행하는 데이터 전송
CA2902294A1 (en) Secure zone on a virtual machine for digital communications
US11768970B2 (en) Secure computing device
Liu Enhanced Password Security on Mobile Devices.
Peersman et al. X Window system
JP2019021131A (ja) マルウェア検知装置、マルウェア検知方法およびマルウェア検知プログラム

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