CN109033842B - 数据处理器 - Google Patents

数据处理器 Download PDF

Info

Publication number
CN109033842B
CN109033842B CN201810845189.2A CN201810845189A CN109033842B CN 109033842 B CN109033842 B CN 109033842B CN 201810845189 A CN201810845189 A CN 201810845189A CN 109033842 B CN109033842 B CN 109033842B
Authority
CN
China
Prior art keywords
kernel
trusted
untrusted
context
data processor
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.)
Active
Application number
CN201810845189.2A
Other languages
English (en)
Other versions
CN109033842A (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.)
Hangzhou C Sky Microsystems Co Ltd
Original Assignee
Hangzhou C Sky Microsystems 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 Hangzhou C Sky Microsystems Co Ltd filed Critical Hangzhou C Sky Microsystems Co Ltd
Priority to CN201810845189.2A priority Critical patent/CN109033842B/zh
Publication of CN109033842A publication Critical patent/CN109033842A/zh
Application granted granted Critical
Publication of CN109033842B publication Critical patent/CN109033842B/zh
Active 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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt

Landscapes

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

Abstract

本发明提供一种数据处理器,包括可信内核和非可信内核,所述可信内核包括非可信内核上下文内存、可信内核上下文内存、内核切换管理模块和可信中断服务模块,所述非可信内核包括非可信中断服务模块;所述非可信内核上下文内存,用于存放非可信内核上下文;所述可信内核上下文内存,用于存放可信内核上下文;所述内核切换管理模块,用于执行可信内核上下文和非可信内核上下文的切换;所述可信中断服务模块,用于提供所有可信中断的服务程序入口。本发明能够灵活处理可信内核上下文与非可信内核上下文的切换,以满足系统实时性的要求,从而提高基于可信处理器架构下中断处理机制的灵活性。

Description

数据处理器
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据处理器。
背景技术
随着移动互联网以及物联网技术的迅速发展,系统可信性变得越来越重要。现有的系统可信性手段有两种,分别为基于软件层面的可信性保护和基于处理器架构的可信性架构,其中,基于软件层面的可信性保护,在很多情况下已经无法给系统提供足够的可信性,黑客可以攻击操作系统从而越过软件保护,对敏感资源进行攻击或者获取;而基于处理器架构的可信性架构,能够为系统提供软件保护之外的底层硬件保护机制,将系统中的敏感信息(例如秘钥、密码等)通过硬件进行隔离保护,构建一个安全可信的编程环境。具体地,基于处理器架构的可信性架构是将处理器的物理内核虚拟出可信内核和非可信内核两种属性的内核,其中,可信内核用于存储和处理敏感信息,非可信内核用于存储和处理除敏感信息以外的信息;相应地,基于可信性架构的中断机制分为可信中断机制和非可信中断机制,分别用于处理属性为可信和非可信的中断请求,具体地,在处理器工作的当前内核为可信内核的情况下,如果接收到的中断请求为非可信属性,则保护现场至可信内核,然后进行内核切换,即将当前内核切换为非可信内核,并由切换后的非可信内核响应与处理该中断请求,处理完中断请求后处理器再切换返回可信内核继续执行。
在实现本发明的过程中,发明人发现现有技术中至少存在如下技术问题:
现有技术中的可信内核响应非可信中断的处理机制是在非可信内核处理中断请求后会切换返回可信内核,而在很多应用场合,将当前内核切换到非可信内核处理完该中断请求后,需要继续停留在非可信内核继续执行其他任务以满足系统的实时性,显然,现有技术中的可信内核响应非可信中断的处理机制无法满足系统实时性的要求,也就是说,现有的基于可信处理器架构下的中断处理机制缺乏灵活性。
发明内容
本发明实施例提供的数据处理器,能够灵活处理可信内核上下文与非可信内核上下文的切换,以满足系统实时性的要求,从而提高基于可信处理器架构下中断处理机制的灵活性。
本发明实施例提供一种数据处理器,所述数据处理器包括可信内核和非可信内核,其特征在于,所述可信内核包括非可信内核上下文内存、可信内核上下文内存、内核切换管理模块和可信中断服务模块,所述非可信内核包括非可信中断服务模块;
所述非可信内核上下文内存,用于存放非可信内核上下文;
所述可信内核上下文内存,用于存放可信内核上下文;
所述内核切换管理模块,用于执行可信内核上下文和非可信内核上下文的切换;
所述可信中断服务模块,用于提供所有可信中断的服务程序入口。
可选地,当所述数据处理器在当前非可信内核响应可信中断时,所述可信中断服务模块,用于调用所述内核切换管理模块;
所述内核切换管理模块,用于从非可信内核堆栈中由所述非可信内核存入的非可信内核上下文,将所述非可信内核上下文写入所述非可信内核上下文内存,从所述可信内核上下文内存中取出可信内核上下文以恢复可信内核上下文现场,以及通过调用内核任务切换返回指令返回可信内核现场。
可选地,当所述数据处理器在当前非可信内核响应可信中断时,所述非可信内核将非可信内核上下文存入非可信内核堆栈,切换到所述可信内核,并触发所述可信中断服务模块。
可选地,当所述数据处理器返回可信内核现场执行完第一条指令之后,所述可信中断被再次触发,所述数据处理器通过所述可信中断服务模块执行相应的可信中断服务程序,并在执行完相应的可信中断服务程序后返回可信内核运行现场。
可选地,当所述数据处理器在当前可信内核响应非可信中断时,所述可信中断服务模块,用于调用所述内核切换管理模块;
所述内核切换管理模块,用于将可信内核上下文写入所述可信内核上下文内存,从所述非可信内核上下文内存中取出非可信内核上下文以恢复非可信内核上下文现场,以及通过调用内核任务切换返回指令返回非可信内核现场。
可选地,当所述数据处理器返回非可信内核现场执行完第一条指令之后,所述非可信中断被再次触发,所述数据处理器通过所述非可信中断服务模块执行相应的非可信中断服务程序,并在执行完相应的非可信中断服务程序后返回非可信内核运行现场。
本发明实施例提供的数据处理器,通过在可信内核中设置可信内核上下文内存、可信内核上下文内存、内核切换管理模块和可信中断服务模块,在非可信内核中设置非可信中断服务模块,能够灵活处理在非可信内核响应可信中断或者在可信内核响应非可信中断时的上下文切换,即使得数据处理器能够在响应中断后根据后续执行任务的可信性停留在当前工作的可信内核或者非可信内核中,以及满足系统实时性要求,从而能够提高基于可信处理器架构下中断处理机制的灵活性,以及满足系统实时性要求。
附图说明
图1为本发明一实施例数据处理器的结构示意图。
图2为本发明数据处理器在非可信内核响应可信中断时的上下文切换的流程示意图。
图3为本发明数据处理器在可信内核响应非可信中断时的上下文切换的流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种数据处理器,如图1所示,所述数据处理器包括可信内核和非可信内核,其特征在于,所述可信内核包括非可信内核上下文内存、可信内核上下文内存、内核切换管理模块和可信中断服务模块,所述非可信内核包括非可信中断服务模块;
所述非可信内核上下文内存,用于存放非可信内核上下文;
所述可信内核上下文内存,用于存放可信内核上下文;
所述内核切换管理模块,用于执行可信内核上下文和非可信内核上下文的切换;
所述可信中断服务模块,用于提供所有可信中断的服务程序入口。
本发明实施例提供的数据处理器,通过在可信内核中设置可信内核上下文内存、可信内核上下文内存、内核切换管理模块和可信中断服务模块,在非可信内核中设置非可信中断服务模块,能够灵活处理在非可信内核响应可信中断或者在可信内核响应非可信中断时的上下文切换,即使得数据处理器能够在响应中断后根据后续执行任务的可信性停留在当前工作的可信内核或者非可信内核中,以及满足系统实时性要求,从而能够提高基于可信处理器架构下中断处理机制的灵活性,以及满足系统实时性要求。
可选地,当所述数据处理器在当前非可信内核响应可信中断时,所述可信中断服务模块,用于调用所述内核切换管理模块;
所述内核切换管理模块,用于从非可信内核堆栈中由所述非可信内核存入的非可信内核上下文,将所述非可信内核上下文写入所述非可信内核上下文内存,从所述可信内核上下文内存中取出可信内核上下文以恢复可信内核上下文现场,以及通过调用内核任务切换返回指令返回可信内核现场。
可选地,当所述数据处理器在当前非可信内核响应可信中断时,所述非可信内核将非可信内核上下文存入非可信内核堆栈,切换到所述可信内核,并触发所述可信中断服务模块。
可选地,当所述数据处理器返回可信内核现场执行完第一条指令之后,所述可信中断被再次触发,所述数据处理器通过所述可信中断服务模块执行相应的可信中断服务程序,并在执行完相应的可信中断服务程序后返回可信内核运行现场。
如图2所示,为本发明数据处理器在非可信内核响应可信中断时的上下文切换的流程示意图,具体工作流程如下:
①数据处理器当前工作在非可信内核执行。
②可信内核触发了一个可信中断。
③非可信内核将非可信内核上下文存入非可信内核堆栈,然后切换到可信内核,触发可信内核中断服务模块,以进入可信内核中断服务程序入口。
④可信内核中断服务模块调用内核切换管理模块。
⑤内核切换管理模块从非可信内核堆栈中由所述非可信内核存入的非可信内核上下文,将所述非可信内核上下文写入所述非可信内核上下文内存,从所述可信内核上下文内存中取出可信内核上下文以恢复可信内核上下文现场。
⑥内核切换管理模块通过调用内核任务切换返回指令返回可信内核现场。
⑦执行完恢复可信内核现场后的第一指令后,所述可信中断再次触发,所述数据处理器通过所述可信中断服务模块执行相应的可信中断服务程序。
⑧在执行完相应的可信中断服务程序后返回可信内核运行现场。
由此可见,本发明实施例提供的数据处理器在非可信内核响应可信中断时,在执行完可信中断服务程序后停留在可信内核,而并非现有技术中的返回响应中断前的内核,即可信内核,这样如果数据处理器后续需要在可信内核执行任务,本发明的数据处理器能够直接执行任务,无需再进行内核切换,能够满足系统实时性的要求。
可选地,当所述数据处理器在当前可信内核响应非可信中断时,所述可信中断服务模块,用于调用所述内核切换管理模块;
所述内核切换管理模块,用于将可信内核上下文写入所述可信内核上下文内存,从所述非可信内核上下文内存中取出非可信内核上下文以恢复非可信内核上下文现场,以及通过调用内核任务切换返回指令返回非可信内核现场。
可选地,当所述数据处理器返回非可信内核现场执行完第一条指令之后,所述非可信中断被再次触发,所述数据处理器通过所述非可信中断服务模块执行相应的非可信中断服务程序,并在执行完相应的非可信中断服务程序后返回非可信内核运行现场。
如图3所示,为本发明数据处理器在可信内核响应非可信中断时的上下文切换的流程示意图,具体工作流程如下:
①数据处理器当前工作在可信内核执行。
②非可信内核触发了一个非可信中断。
③数据处理器进入可信内核中断服务程序入口。
④可信内核中断服务模块调用内核切换管理模块。
⑤内核切换管理模块将可信内核上下文写入所述可信内核上下文内存,从所述非可信内核上下文内存中取出非可信内核上下文以恢复非可信内核上下文现场。
⑥内核切换管理模块通过调用内核任务切换返回指令返回非可信内核现场。
⑦所述数据处理器返回非可信内核现场执行完第一条指令之后,所述非可信中断被再次触发,所述数据处理器通过所述非可信中断服务模块执行相应的非可信中断服务程序。
⑧在执行完相应的非可信中断服务程序后返回非可信内核运行现场。
由此可见,本发明实施例提供的数据处理器在可信内核响应非可信中断时,在执行完非可信中断服务程序后停留在非可信内核,而并非现有技术中的返回响应中断前的内核,即可信内核,这样如果数据处理器后续需要在非可信内核执行任务,本发明的数据处理器能够直接执行任务,无需再进行内核切换,能够满足系统实时性的要求。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (5)

1.一种数据处理器,所述数据处理器包括可信内核和非可信内核,其特征在于,所述可信内核包括非可信内核上下文内存、可信内核上下文内存、内核切换管理模块和可信中断服务模块,所述非可信内核包括非可信中断服务模块;
所述非可信内核上下文内存,用于存放非可信内核上下文;
所述可信内核上下文内存,用于存放可信内核上下文;
所述内核切换管理模块,用于执行可信内核上下文和非可信内核上下文的切换;
所述可信中断服务模块,用于提供所有可信中断的服务程序入口;
其中,当所述数据处理器在当前非可信内核响应可信中断时,所述可信中断服务模块,用于调用所述内核切换管理模块;
所述内核切换管理模块,用于从非可信内核堆栈中读取由所述非可信内核存入的非可信内核上下文,将所述非可信内核上下文写入所述非可信内核上下文内存,从所述可信内核上下文内存中取出可信内核上下文以恢复可信内核上下文现场,以及通过调用内核任务切换返回指令返回可信内核现场。
2.根据权利要求1所述的数据处理器,其特征在于,当所述数据处理器在当前非可信内核响应可信中断时,所述非可信内核将非可信内核上下文存入非可信内核堆栈,切换到所述可信内核,并触发所述可信中断服务模块。
3.根据权利要求1或者2所述的数据处理器,其特征在于,当所述数据处理器返回可信内核现场执行完第一条指令之后,所述可信中断被再次触发,所述数据处理器通过所述可信中断服务模块执行相应的可信中断服务程序,并在执行完相应的可信中断服务程序后返回可信内核运行现场。
4.根据权利要求1或者2所述的数据处理器,其特征在于,当所述数据处理器在当前可信内核响应非可信中断时,所述可信中断服务模块,用于调用所述内核切换管理模块;
所述内核切换管理模块,用于将可信内核上下文写入所述可信内核上下文内存,从所述非可信内核上下文内存中取出非可信内核上下文以恢复非可信内核上下文现场,以及通过调用内核任务切换返回指令返回非可信内核现场。
5.根据权利要求4所述的数据处理器,其特征在于,当所述数据处理器返回非可信内核现场执行完第一条指令之后,所述非可信中断被再次触发,所述数据处理器通过所述非可信中断服务模块执行相应的非可信中断服务程序,并在执行完相应的非可信中断服务程序后返回非可信内核运行现场。
CN201810845189.2A 2018-07-27 2018-07-27 数据处理器 Active CN109033842B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810845189.2A CN109033842B (zh) 2018-07-27 2018-07-27 数据处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810845189.2A CN109033842B (zh) 2018-07-27 2018-07-27 数据处理器

Publications (2)

Publication Number Publication Date
CN109033842A CN109033842A (zh) 2018-12-18
CN109033842B true CN109033842B (zh) 2020-10-16

Family

ID=64646394

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810845189.2A Active CN109033842B (zh) 2018-07-27 2018-07-27 数据处理器

Country Status (1)

Country Link
CN (1) CN109033842B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106775971A (zh) * 2016-12-02 2017-05-31 杭州中天微系统有限公司 数据处理装置
CN107194287A (zh) * 2017-05-12 2017-09-22 中国科学院信息工程研究所 一种arm平台上的模块安全隔离方法
CN107229882A (zh) * 2017-05-27 2017-10-03 杭州中天微系统有限公司 在可信模式与非可信模式之间互相切换的处理器
CN107273765A (zh) * 2017-05-12 2017-10-20 杭州中天微系统有限公司 基于双虚拟内核机制的处理器
CN107463856A (zh) * 2017-08-01 2017-12-12 杭州中天微系统有限公司 一种基于可信内核的防攻击数据处理器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106775971A (zh) * 2016-12-02 2017-05-31 杭州中天微系统有限公司 数据处理装置
CN107194287A (zh) * 2017-05-12 2017-09-22 中国科学院信息工程研究所 一种arm平台上的模块安全隔离方法
CN107273765A (zh) * 2017-05-12 2017-10-20 杭州中天微系统有限公司 基于双虚拟内核机制的处理器
CN107229882A (zh) * 2017-05-27 2017-10-03 杭州中天微系统有限公司 在可信模式与非可信模式之间互相切换的处理器
CN107463856A (zh) * 2017-08-01 2017-12-12 杭州中天微系统有限公司 一种基于可信内核的防攻击数据处理器

Also Published As

Publication number Publication date
CN109033842A (zh) 2018-12-18

Similar Documents

Publication Publication Date Title
US20210103470A1 (en) Method and Apparatus for Implementing Multiprocessing on Trusted Execution Environment (TEE), and System
US9122503B1 (en) Systems and methods for adaptive throttling of input/output requests in a virtual environment
US9904782B2 (en) Synchronous execution of designated computing events using hardware-assisted virtualization
EP3663958B1 (en) Trusted kernel-based attack-prevention data processor
US10102373B2 (en) Method and apparatus for capturing operation in a container-based virtualization system
US11363058B2 (en) Detecting execution of modified executable code
US8402539B1 (en) Systems and methods for detecting malware
EP2831728A1 (en) Architecture and method for managing interrupts in a virtualized environment
US9104859B1 (en) Systems and methods for scanning data stored on cloud computing platforms
TWI721996B (zh) 安全模式狀態下之資料存取追蹤
US9417973B2 (en) Apparatus and method for fault recovery
WO2019062420A1 (zh) 监控进程的方法和装置
US10185633B2 (en) Processor state integrity protection using hash verification
US10007785B2 (en) Method and apparatus for implementing virtual machine introspection
US9965620B2 (en) Application program interface (API) monitoring bypass
CN109063516B (zh) 数据处理器
US8850601B2 (en) Systems and methods of determining a trust level from system management mode
CN107066331B (zh) 一种基于TrustZone的资源分配方法及设备
CN108985098B (zh) 数据处理器
JP5014179B2 (ja) Os優先度変更装置及びos優先度変更プログラム
CN109033842B (zh) 数据处理器
JP2013506185A (ja) ウィンドウズ・カーネル改変探知方法
CN112363797A (zh) 一种虚拟机安全运行方法、电子设备及存储介质
US10867035B1 (en) Systems and methods for detecting malicious programmatic clicks directed to view elements displayed on touchscreens
US10019576B1 (en) Security control system for protection of multi-core processors

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