CN109033842B - 数据处理器 - Google Patents
数据处理器 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling 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所述的数据处理器,其特征在于,当所述数据处理器返回非可信内核现场执行完第一条指令之后,所述非可信中断被再次触发,所述数据处理器通过所述非可信中断服务模块执行相应的非可信中断服务程序,并在执行完相应的非可信中断服务程序后返回非可信内核运行现场。
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)
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 | 杭州中天微系统有限公司 | 一种基于可信内核的防攻击数据处理器 |
-
2018
- 2018-07-27 CN CN201810845189.2A patent/CN109033842B/zh active Active
Patent Citations (5)
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 |