CN108647534B - 一种基于双隔离的安全显示系统及方法 - Google Patents

一种基于双隔离的安全显示系统及方法 Download PDF

Info

Publication number
CN108647534B
CN108647534B CN201810459606.XA CN201810459606A CN108647534B CN 108647534 B CN108647534 B CN 108647534B CN 201810459606 A CN201810459606 A CN 201810459606A CN 108647534 B CN108647534 B CN 108647534B
Authority
CN
China
Prior art keywords
security
computing environment
module
request
isolated
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.)
Expired - Fee Related
Application number
CN201810459606.XA
Other languages
English (en)
Other versions
CN108647534A (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.)
Institute of Information Engineering of CAS
Original Assignee
Institute of Information Engineering of CAS
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 Institute of Information Engineering of CAS filed Critical Institute of Information Engineering of CAS
Priority to CN201810459606.XA priority Critical patent/CN108647534B/zh
Publication of CN108647534A publication Critical patent/CN108647534A/zh
Application granted granted Critical
Publication of CN108647534B publication Critical patent/CN108647534B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种基于双隔离的安全显示系统及方法,主要包括:位于可信执行环境中的安全监控模块和中断配置模块;位于隔离计算环境中的图形显示库和触摸屏驱动;位于普通计算环境中的安全代理模块和应用程序;本发明在TrustZone技术的基础上,利用TrustZone的隔离技术和内存水印技术,将不同的安全级别代码隔离在不同的地址空间,实现了安全执行环境和非安全执行环境的隔离和监控,在敏感场景下为用户提供可信的安全显示界面和交互功能,具有实用性、通用性,强安全性等优势。

Description

一种基于双隔离的安全显示系统及方法
技术领域
本发明涉及一种基于双隔离的安全显示系统及方法,属于移动终端设备的数据安全领域。
背景技术
随着移动互联网技术的发展,移动智能终端的普及,移动智能终端处理的业务已经从传统的通信,逐步发展到办公、支付等高敏感的业务场景。这些敏感场景包括但不限于:用户在移动智能终端上通过付款码进行在线支付,通过网上银行查询账户信息等。恶意应用可以利用任务栈劫持等技术,显示虚假界面,达到其欺骗用户,获取用户隐私账号信息等恶意目的,这就需要在敏感场景下提供可信的安全显示系统与方法。
TrustZone技术:ARM TrustZone是ARM处理器提供的安全硬件拓展技术,提供内存隔离等功能。通过这些隔离技术隔离出具有不同安全等级的两个区域,一个安全域和一个非安全域,不同等级的安全域中运行不同安全等级的代码。
内存隔离:TrustZone提供了一个虚拟内存管理单元机制,使得安全域和非安全域中的内存映射到不同的虚拟地址空间。不同安全域中的同一个虚拟地址将会映射到不同的物理内存中。TrustZone允许安全域去访问非安全域中的虚拟地址空间,反过来却不可以。虚拟内存管理单元机制可以隔离虚拟内存地址,但是不可以隔离物理内存地址,所以TrustZone包含了个地址空间控制器,利用地址空间控制器可以将内存划分为安全内存和非安全内存,通过内存水印技术,非安全域中的代码无法访问安全内存。
发明内容
本发明所要解决的问题为:针对用户在移动智能终端上的敏感使用场景,提供一种基于双隔离的安全显示系统及方法,保证显示界面的信息不被篡改和窃取,从而有效的保证用户的隐私安全,具有实用性、高安全性。
本发明技术解决方案为:一种基于双隔离的安全显示系统,利用TrustZone技术实现一个可信执行环境,然后利用TrustZone的隔离技术和内存水印技术,实现一个隔离计算环境,将图形显示库和触摸驱动代码从普通计算环境中隔离出来,利用可信执行环境中安全监控模块和中断配置模块实现普通计算环境和隔离计算环境间的切换,从而实现可信的安全显示功能,具体包括以下几个模块:
安全代理模块:接收来自应用程序的请求,进行检查和过滤,将合法的请求转发到安全监控模块;
安全监控模块:接受来自安全代理模块和隔离计算环境中的图形显示库和触摸屏驱动的请求,监控Android系统的状态,结合CPU的安全状态信息,调用中断配置模块处理请求;
中断配置模块:执行隔离计算环境和普通计算环境间的切换,从普通环境切换到隔离计算环境之前,先将CPU的状态信息、寄存器和内存映射信息保存到安全内存中,清除掉当前运行环境的CPU状态信息、寄存器和内存映射信息,然后再执行切换,当切换回普通计算环境时,将保存在安全内存中的状态信息还原;
图形显示库:运行在隔离计算环境中,用于实现安全显示的功能,当实现了安全显示之后,请求安全代理模块,从隔离计算环境切换到普通计算环境;
触摸屏驱动:运行在隔离计算环境中,用于实现安全显示中的安全交互的功能,当实现了安全显示之后,请求安全代理模块,从隔离计算环境切换到普通计算环境。
一种基于双隔离的安全显示方法,包括以下步骤:
(1)请求代理:普通计算环境中的应用程序在需要使用安全显示功能时,会将这一请求发送到位于普通计算环境中的安全代理模块;
(2)请求转发:安全代理模块接受到请求之后,会检查请求时候合法,对于合法的请求,将其转发到位于可信执行环境中的安全监控模块;所述合法的请求为符合函数调用语法规范;
(3)状态检查:安全监控模块接收到来自安全代理模块转发的请求后,检查Android 系统的安全状态,安全状态包括CPU的安全状态,寄存器和内存映射信息,如果Android 系统处于安全状态,则将请求中断配置模块执行中断配置和环境切换,切换到隔离计算环境;
(4)中断配置:将Android系统的CPU的状态信息、寄存器和内存映射信息保存到安全内存中,清除掉Android系统中的CPU状态信息、寄存器和内存映射信息,然后从普通计算环境切换到隔离计算环境;
(5)安全显示:利用隔离计算环境中的图形显示库和触摸屏驱动模块实现安全显示的功能;
(6)请求切换:执行完安全显示后,位于隔离计算环境中的图形显示库和触摸屏驱动模块请求位于可信执行环境中的安全监控模块,切换回位于普通计算环境中的应用程序中;
(7)状态检查:安全监控模块接收到来自隔离计算环境中的图形显示库和触摸屏驱动模块的请求后,检查Android系统的安全状态,所述安全状态包括CPU的安全状态,寄存器和内存映射信息,如果Android系统处于安全状态,则将请求中断配置模块执行中断配置和环境切换,切换到普通计算环境;
(8)中断配置:将系Android统的CPU的状态信息、寄存器和内存映射信息保存到安全内存中,清除掉CPU状态信息、寄存器和内存映射信息,然后从隔离计算环境切换到普通计算环境。
本发明与现有技术相比,具有以下优点:
(1)利用TrustZone技术实现系统级隔离保护,当用户需要使用安全显示的场景下,普通计算环境中的应用程序在使用显示和触摸等交互功能时,无法直接使用图形显示库和触摸屏驱动代码,也无法直接请求安全监控模块和终端配置模块,而是需要经过安全代理模块进行请求转发,由安全监控模块处理请求,将请求和显示相隔离,提高安全性;
(2)通过内存水印技术,在系统中隔离出一个计算环境,这个计算环境具有良好的可扩展性,隔离计算环境中的代码可以随着版本的更新和功能需求的变动而进行更新,而不会影响到可信执行环境,降低了可信执行环境和隔离计算环境的耦合性;
(3)由于隔离计算环境的拓展性,可信执行环境中的安全监控和中断配置模块的代码量可以保持不变的代码量,不会随着隔离环境中代码量的增加而增加,可以减小自身的攻击面;
(4)隔离计算环境中有用于显示、触摸的驱动和代码库,为安全显示提供了基本的保证,在终端配置模块配置好环境之后,切换到隔离执行环境中,执行安全显示的代码,提高安全性;
(5)可信执行环境中有安全监控模块,可以接受由安全代理和隔离计算环境发来的请求,然后根据系统的状态,对请求进行相应的处理,决定是否需要中断配置模块执行普通计算环境和隔离执行环境间的切换,提高安全性。
附图说明
图1为本发明的整体框架示意图;
图2为用户程序请求使用安全显示的流程图;
图3是安全显示执行完毕后,隔离计算环境中的模块请求安全监控模块,切换到应用程序流程图;
图4为中断配置模块执行中断配置流程图。
具体实施方式
本发明利用ARM TrustZone硬件隔离技术和可信执行环境作为基础平台,实现了一种基于双隔离的安全显示系统与方法。为了使本发明的目的、技术方案及优点更加清楚,以下通过具体实施,并结合附图,对本发明进一步详细说明。
图1从整体上描述了该方案实施的总体架构,主要包括以下六个部分:
本发明的基于双隔离的安全显示系统包括:安全代理模块101、中断配置模块200、安全监控模块201、图形显示库300和触摸屏驱动模块301,以及应用程序100。中断配置模块200和安全监控模块201位于可信执行环境中,由TrustZone进行保护,属于高安全级别;图形显示库300和触摸屏驱动模块301处于利用TrustZone实现的隔离的技术的所隔离出来的隔离计算环境中,属于中安全级别;应用程序100和安全代理模块101 处于可信执行环境中,属于低安全级别。这就实现了双隔离三级安全架构,在不影响可信执行环境中代码量的情况下,实现对隔离执行环境的扩展,减小攻击面,为用户提供可信的安全显示系统。
图2是在敏感场景下,用户程序请求使用安全显示的流程图:
处于普通计算环境中的应用程序100要使用安全显示时,先要将请求发送到安全代理101中,安全代理101检查请求是否合法,如果请求合法,就将请求转发到安全监控模块201,否则将不转发;安全监控201收到安全代理101转发来的请求之后,将会检查系统系统的安全状态,包括CPU安全状态信息、寄存器和内存映射信息,结合系统的安全状态信息,如果系统处于安全状态,则可以处理请求,执行切换,然后调用中断配置模块200,由中断配置模块配置信息,切换到可信计算环境中,通过图形显示库300 和触摸屏驱动模块301,实现安全显示的功能;
图3是安全显示执行完毕后,隔离计算环境中的模块请求安全监控模块,将隔离计算环境切换回普通计算环境时的流程图:
利用隔离计算环境中的图形显示库300和触摸屏驱动模块301实现了安全显示功能之后,需要切换到普通计算环境中的应用程序中,可以由图形显示库300和触摸屏驱动模块301请求安全监控模块201,请求切换,安全监控模块201接收到请求之后,会检查系统的安全状态信息,如果系统处于安全状态,则可以处理请求,执行切换,安全监控模块201则调用中断配置模块200,由中断配置模块200配置信息,切换到普通计算环境中的应用程序中;
如图4所示,中断配置模块执行中断配置流程图:
中断配置模块200在执行中配时,需要先保存系统寄存器和内存映射表的信息(用于再次切换时恢复系统的运行状态信息),然后清除系统的运行状态信息,包括CPU 安全状态信息、寄存器和内存映射信息,然后配置寄存器信息,配置内存映射信息。
提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。

Claims (2)

1.一种基于双隔离的安全显示系统,其特征在于,利用TrustZone技术实现一个可信执行环境,然后利用TrustZone的隔离技术和内存水印技术,实现一个隔离计算环境,将图形显示库和触摸驱动代码从普通计算环境中隔离出来,利用可信执行环境中安全监控模块和中断配置模块实现普通计算环境和隔离计算环境间的切换,从而实现可信的安全显示功能;
具体包括:安全代理模块、安全监控模块、中断配置模块、图形显示库和触摸屏驱动模块;中断配置模块和安全监控模块位于可信执行环境中,由TrustZone进行保护,属于高安全级别;图形显示库和触摸屏驱动模块运行在隔离计算环境中,属于中安全级别;安全代理模块处于普通计算环境中,属于低安全级别;这就实现双隔离三级安全架构,在不影响可信执行环境中代码量的情况下,实现对隔离执行环境的扩展,减小攻击面,为用户提供可信的安全显示系统;其中:
安全代理模块:接收来自普通计算环境中的应用程序的请求,进行检查和过滤,将合法的请求转发到安全监控模块;所述合法的请求为符合函数调用语法规范;
安全监控模块:接受来自安全代理模块和隔离计算环境的请求,然后根据Android系统的状态,对请求进行相应的处理,决定是否需要中断配置模块执行普通计算环境和隔离执行环境间的切换,提高安全性;
中断配置模块:执行普通计算环境和隔离计算环境间的切换;从普通计算环境切换到隔离计算环境之前,先将CPU的状态信息、寄存器和内存映射信息保存到安全内存中,清除掉当前运行环境的CPU状态信息、寄存器和内存映射信息,然后再执行切换,当切换回普通计算环境时,将保存在安全内存中的状态信息还原;
图形显示库:用于实现安全显示的功能,当实现了安全显示之后,请求安全代理模块,切换到普通计算环境;
触摸屏驱动模块:用于实现安全显示中的安全交互的功能,当实现了安全显示之后,请求安全代理模块,切换到普通计算环境。
2.一种执行如权利要求1所述的基于双隔离的安全显示系统的方法,其特征在于,包括以下步骤:
(1)请求代理:普通计算环境中的应用程序在需要使用安全显示功能时,会将这一请求发送到位于普通计算环境中的安全代理模块;
(2)请求转发:安全代理模块接受到请求之后,会检查请求是否合法,对于合法的请求,将其转发到位于可信执行环境中的安全监控模块;所述合法的请求为符合函数调用语法规范;
(3)状态检查:安全监控模块接收到来自安全代理模块转发的请求后,检查Android系统的安全状态,安全状态包括CPU的安全状态,寄存器和内存映射信息,如果Android系统处于安全状态,则将请求中断配置模块执行中断配置和环境切换,切换到隔离计算环境;
(4)中断配置:将Android系统的CPU的状态信息、寄存器和内存映射信息保存到安全内存中,清除掉Android系统中的CPU状态信息、寄存器和内存映射信息,然后从普通计算环境切换到隔离计算环境;
(5)安全显示:利用隔离计算环境中的图形显示库和触摸屏驱动模块实现安全显示的功能;
(6)请求切换:执行完安全显示后,位于隔离计算环境中的图形显示库和触摸屏驱动模块请求位于可信执行环境中的安全监控模块,切换回位于普通计算环境中的应用程序中;
(7)状态检查:安全监控模块接收到来自隔离计算环境中的图形显示库和触摸屏驱动模块的请求后,检查Android系统的安全状态,所述安全状态包括CPU的安全状态,寄存器和内存映射信息,如果Android系统处于安全状态,则将请求中断配置模块执行中断配置和环境切换,切换到普通计算环境;
(8)中断配置:将Android系统的CPU的状态信息、寄存器和内存映射信息保存到安全内存中,清除掉CPU状态信息、寄存器和内存映射信息,然后从隔离计算环境切换到普通计算环境。
CN201810459606.XA 2018-05-15 2018-05-15 一种基于双隔离的安全显示系统及方法 Expired - Fee Related CN108647534B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810459606.XA CN108647534B (zh) 2018-05-15 2018-05-15 一种基于双隔离的安全显示系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810459606.XA CN108647534B (zh) 2018-05-15 2018-05-15 一种基于双隔离的安全显示系统及方法

Publications (2)

Publication Number Publication Date
CN108647534A CN108647534A (zh) 2018-10-12
CN108647534B true CN108647534B (zh) 2020-08-18

Family

ID=63755577

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810459606.XA Expired - Fee Related CN108647534B (zh) 2018-05-15 2018-05-15 一种基于双隔离的安全显示系统及方法

Country Status (1)

Country Link
CN (1) CN108647534B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110597445B (zh) * 2018-11-21 2021-06-25 深圳中广核工程设计有限公司 核电站多序列安全级显示和控制触摸屏系统及控制方法
CN110175457B (zh) * 2019-04-08 2021-07-30 全球能源互联网研究院有限公司 一种双体系结构可信操作系统及方法
CN112182557B (zh) * 2019-09-19 2022-05-03 中国科学院信息工程研究所 一种芯片级内置式的主动安全监控架构实现方法及电子装置
CN111414859A (zh) * 2020-03-20 2020-07-14 山东大学 一种基于TrustZone的视网膜识别方法
CN116635858A (zh) * 2020-12-29 2023-08-22 华为技术有限公司 一种安全隔离装置和方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104318182A (zh) * 2014-10-29 2015-01-28 中国科学院信息工程研究所 一种基于处理器安全扩展的智能终端隔离系统及方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7337179B1 (en) * 2000-11-01 2008-02-26 Versata Development Group, Inc. Context subsystems for system configurations
CN106650514B (zh) * 2016-10-13 2019-06-04 中国科学院信息工程研究所 一种基于TrustZone技术的安全输入系统与方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104318182A (zh) * 2014-10-29 2015-01-28 中国科学院信息工程研究所 一种基于处理器安全扩展的智能终端隔离系统及方法

Also Published As

Publication number Publication date
CN108647534A (zh) 2018-10-12

Similar Documents

Publication Publication Date Title
CN108647534B (zh) 一种基于双隔离的安全显示系统及方法
CN109086100B (zh) 一种高安全可信移动终端安全体系架构及安全服务方法
CN107038128B (zh) 一种执行环境的虚拟化、虚拟执行环境的访问方法及装置
US11443034B2 (en) Trust zone-based operating system and method
US10255088B2 (en) Modification of write-protected memory using code patching
US10083129B2 (en) Code loading hardening by hypervisor page table switching
EP3968160A1 (en) Inter-process communication method and apparatus, and computer device
US11061710B2 (en) Virtual machine exit support by a virtual machine function
US10554685B1 (en) Self-healing architecture for resilient computing services
EP3726390B1 (en) Method and device for protecting kernel integrity
WO2011146857A2 (en) Method and apparatus for secure scan of data storage device from remote server
US11755753B2 (en) Mechanism to enable secure memory sharing between enclaves and I/O adapters
US9733976B2 (en) Method and apparatus for SYSRET monitoring of system interactions
EP2786300A1 (en) Securing inputs from malware
WO2023123850A1 (zh) 一种固件可信根的实现方法、装置、设备和可读存储介质
CN113302613A (zh) 旁路保护
EP3178032B1 (en) Embedding secret data in code
CN110276214B (zh) 一种基于从机访问保护的双核可信soc架构及方法
CN116881987A (zh) Pcie设备直通虚拟机的方法、装置及相关设备
CN109063516B (zh) 数据处理器
Song et al. App’s auto-login function security testing via android os-level virtualization
US20180203819A1 (en) USB Device Firmware Sanitization
JP4617581B2 (ja) データ処理装置
US10929307B2 (en) Memory tagging for sensitive data redaction in memory dump
KR102063576B1 (ko) 가상화 기반 은닉형 소프트웨어 실행 환경 제공 방법 및 장치

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200818

Termination date: 20210515