CN109063516B - 数据处理器 - Google Patents
数据处理器 Download PDFInfo
- Publication number
- CN109063516B CN109063516B CN201810842529.6A CN201810842529A CN109063516B CN 109063516 B CN109063516 B CN 109063516B CN 201810842529 A CN201810842529 A CN 201810842529A CN 109063516 B CN109063516 B CN 109063516B
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/74—Protecting 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种数据处理器,所述数据处理器包括可信内核和非可信内核,所述可信内核包括非可信内核上下文内存、非可信内核堆栈和内核切换管理模块;所述非可信内核上下文内存,用于存放非可信内核上下文;所述非可信内核堆栈,用于提供非可信内核上下文;所述内核切换管理模块,用于管理可信内核现场和非可信内核现场,进行内核切换。本发明能够灵活处理在非可信内核响应可信中断或者在可信内核响应非可信中断时的上下文切换,从而能够提高基于可信处理器架构下中断处理机制的灵活性。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据处理器。
背景技术
随着移动互联网以及物联网技术的迅速发展,系统可信性变得越来越重要。现有的系统可信性手段有两种,分别为基于软件层面的可信性保护和基于处理器架构的可信性架构,其中,基于软件层面的可信性保护,在很多情况下已经无法给系统提供足够的可信性,黑客可以攻击操作系统从而越过软件保护,对敏感资源进行攻击或者获取;而基于处理器架构的可信性架构,能够为系统提供软件保护之外的底层硬件保护机制,将系统中的敏感信息(例如秘钥、密码等)通过硬件进行隔离保护,构建一个安全可信的编程环境。具体地,基于处理器架构的可信性架构是将处理器的物理内核虚拟出可信内核和非可信内核两种属性的内核,其中,可信内核用于存储和处理敏感信息,非可信内核用于存储和处理除敏感信息以外的信息;相应地,基于可信性架构的中断机制分为可信中断机制和非可信中断机制,分别用于处理属性为可信和非可信的中断请求,具体地,在处理器工作的当前内核为可信内核的情况下,如果接收到的中断请求为非可信属性,则保护现场至可信内核,然后进行内核切换,即将当前内核切换为非可信内核,并由切换后的非可信内核响应与处理该中断请求,处理完中断请求后处理器再切换返回可信内核继续执行。
在实现本发明的过程中,发明人发现现有技术中至少存在如下技术问题:
现有技术中的可信内核响应非可信中断的处理机制是在非可信内核处理中断请求后会切换返回可信内核,而在很多应用场合,将当前内核切换到非可信内核处理完该中断请求后,需要继续停留在非可信内核继续执行其他任务以满足系统的实时性,显然,现有技术中的可信内核响应非可信中断的处理机制无法满足系统实时性的要求,也就是说,现有的基于可信处理器架构下的中断处理机制缺乏灵活性。
发明内容
本发明实施例提供的数据处理器,能够灵活处理在非可信内核响应可信中断或者在可信内核响应非可信中断时的上下文切换,从而能够提高基于可信处理器架构下中断处理机制的灵活性。
本发明实施例提供一种数据处理器,所述数据处理器包括可信内核和非可信内核,所述可信内核包括非可信内核上下文内存、非可信内核堆栈和内核切换管理模块;
所述非可信内核上下文内存,用于存放非可信内核上下文;
所述非可信内核堆栈,用于提供非可信内核上下文;
所述内核切换管理模块,用于管理可信内核现场和非可信内核现场,进行内核切换。
可选地,所述非可信内核堆栈,用于所述数据处理器在当前非可信内核响应可信中断请求时提供非可信内核上下文。
可选地,当处于当前非可信内核的所述数据处理器接收到可信中断请求时,所述数据处理器将所述非可信内核上下文写入所述非可信内核堆栈,进入可信内核中断服务程序入口,通过可信内核中断服务程序调用所述内核切换管理模块;所述内核切换管理模块从所述非可信内核堆栈中取出所述非可信内核上下文,将所述非可信内核上下文写入所述非可信内核上下文内存,并恢复可信内核上下文以及通过调用内核任务切换返回指令返回可信内核现场。
可选地,所述非可信内核堆栈,用于所述数据处理器在当前可信内核响应非可信中断请求时提供非可信内核上下文。
可选地,当处于当前可信内核的所述数据处理器接收到非可信中断请求时,所述数据处理器进入可信内核中断服务程序入口,通过可信内核中断服务程序调用所述内核切换管理模块;所述内核切换管理模块保存可信内核上下文后,从所述非可信内核上下文内存取出所述非可信内核上下文,并写入所述非可信内核堆栈以及通过调用内核任务切换返回指令返回非可信内核现场。
本发明实施例提供的数据处理器,通过在可信内核中设置非可信内核上下文内核、非可信内核堆栈和内核切换管理模块,能够灵活处理在非可信内核响应可信中断或者在可信内核响应非可信中断时的上下文切换,从而能够提高基于可信处理器架构下中断处理机制的灵活性,以及满足系统实时性要求。
附图说明
图1为本发明一实施例数据处理器的结构示意图。
图2为本发明另一实施例数据处理器的结构示意图。
图3为本发明另一实施例数据处理器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种数据处理器,如图1所示,所述数据处理器包括可信内核和非可信内核,所述可信内核包括非可信内核上下文内存、非可信内核堆栈和内核切换管理模块;
所述非可信内核上下文内存,用于存放非可信内核上下文;
所述非可信内核堆栈,用于提供非可信内核上下文;
所述内核切换管理模块,用于管理可信内核现场和非可信内核现场,进行内核切换。
可选地,所述非可信内核堆栈,用于所述数据处理器在当前非可信内核响应可信中断请求时提供非可信内核上下文。
进一步地,当处于当前非可信内核的所述数据处理器接收到可信中断请求时,所述数据处理器将所述非可信内核上下文写入所述非可信内核堆栈,进入可信内核中断服务程序入口,通过可信内核中断服务程序调用所述内核切换管理模块;所述内核切换管理模块从所述非可信内核堆栈中取出所述非可信内核上下文,将所述非可信内核上下文写入所述非可信内核上下文内存,并恢复可信内核上下文以及通过调用内核任务切换返回指令返回可信内核现场。
如图2所示,为本发明的数据处理器在非可信内核响应可信中断的情况说明图,数据处理器进行内核切换的流程如下:
①数据处理器当前工作在非可信内核。
②可信内核触发了一个可信中断。
③数据处理器把非安全内核上下文存入非可信内核堆栈,进入可信内核中断服务程序入口,可信内核中断服务程序调用内核切换管理模块。
④内核切换管理模块负责从非可信内核堆栈取出非安全内核上下文,并写入非可信内核上下文内存,然后恢复可信内核上下文。
⑤内核切换管理模块调用内核任务切换返回指令返回可信内核现场。
可选地,所述非可信内核堆栈,用于所述数据处理器在当前可信内核响应非可信中断请求时提供非可信内核上下文。
进一步地,当处于当前可信内核的所述数据处理器接收到非可信中断请求时,所述数据处理器进入可信内核中断服务程序入口,通过可信内核中断服务程序调用所述内核切换管理模块;所述内核切换管理模块保存可信内核上下文后,从所述非可信内核上下文内存取出所述非可信内核上下文,并写入所述非可信内核堆栈以及通过调用内核任务切换返回指令返回非可信内核现场。
如图3所示,为本发明的数据处理器在可信内核响应非可信中断的情况说明图,数据处理器进行内核切换的流程如下:
①数据处理器当前工作在可信内核执行。
②非可信内核触发了一个非可信中断。
③数据处理器进入可信内核中断服务程序入口,可信内核中断服务程序调用内核切换管理模块。
④内核切换管理模块保存可信内核上下文后,然后从非可信内核上下文内存取出非安全内核上下文,并写入从非可信内核堆栈。
⑤内核切换管理模块调用内核任务切换返回指令返回非可信内核现场。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (4)
1.一种数据处理器,所述数据处理器包括可信内核和非可信内核,其特征在于,所述可信内核包括非可信内核上下文内存、非可信内核堆栈和内核切换管理模块;
所述非可信内核上下文内存,用于存放非可信内核上下文;
所述非可信内核堆栈,用于当所述数据处理器处于非可信内核接收到可信中断请求时存储非可信内核上下文,以及当所述数据处理器在可信内核响应非可信中断请求时提供非可信内核上下文;
所述内核切换管理模块,用于管理可信内核现场和非可信内核现场,进行内核切换。
2.根据权利要求1所述的数据处理器,其特征在于,所述非可信内核堆栈,用于所述数据处理器在当前非可信内核响应可信中断请求时提供非可信内核上下文。
3.根据权利要求2所述的数据处理器,其特征在于,当处于当前非可信内核的所述数据处理器接收到可信中断请求时,所述数据处理器将所述非可信内核上下文写入所述非可信内核堆栈,进入可信内核中断服务程序入口,通过可信内核中断服务程序调用所述内核切换管理模块;所述内核切换管理模块从所述非可信内核堆栈中取出所述非可信内核上下文,将所述非可信内核上下文写入所述非可信内核上下文内存,并恢复可信内核上下文以及通过调用内核任务切换返回指令返回可信内核现场。
4.根据权利要求1所述的数据处理器,其特征在于,当处于当前可信内核的所述数据处理器接收到非可信中断请求时,所述数据处理器进入可信内核中断服务程序入口,通过可信内核中断服务程序调用所述内核切换管理模块;所述内核切换管理模块保存可信内核上下文后,从所述非可信内核上下文内存取出所述非可信内核上下文,并写入所述非可信内核堆栈以及通过调用内核任务切换返回指令返回非可信内核现场。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810842529.6A CN109063516B (zh) | 2018-07-27 | 2018-07-27 | 数据处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810842529.6A CN109063516B (zh) | 2018-07-27 | 2018-07-27 | 数据处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109063516A CN109063516A (zh) | 2018-12-21 |
CN109063516B true CN109063516B (zh) | 2020-12-04 |
Family
ID=64836656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810842529.6A Active CN109063516B (zh) | 2018-07-27 | 2018-07-27 | 数据处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109063516B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111382442B (zh) * | 2018-12-29 | 2023-04-07 | 阿里巴巴集团控股有限公司 | 一种应用处理器、协处理器及数据处理设备 |
CN111382107B (zh) * | 2018-12-29 | 2023-04-25 | 阿里巴巴集团控股有限公司 | 一种应用处理器、协处理器及数据处理设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102063591A (zh) * | 2011-01-07 | 2011-05-18 | 北京工业大学 | 基于可信平台的平台配置寄存器参考值的更新方法 |
CN104392188A (zh) * | 2014-11-06 | 2015-03-04 | 三星电子(中国)研发中心 | 一种安全数据存储方法和系统 |
CN106599717A (zh) * | 2016-12-01 | 2017-04-26 | 杭州中天微系统有限公司 | 数据处理器 |
CN106778365A (zh) * | 2016-12-01 | 2017-05-31 | 杭州中天微系统有限公司 | 实现延时压栈的装置及处理器 |
CN106775971A (zh) * | 2016-12-02 | 2017-05-31 | 杭州中天微系统有限公司 | 数据处理装置 |
CN107229882A (zh) * | 2017-05-27 | 2017-10-03 | 杭州中天微系统有限公司 | 在可信模式与非可信模式之间互相切换的处理器 |
CN107273765A (zh) * | 2017-05-12 | 2017-10-20 | 杭州中天微系统有限公司 | 基于双虚拟内核机制的处理器 |
CN107463856A (zh) * | 2017-08-01 | 2017-12-12 | 杭州中天微系统有限公司 | 一种基于可信内核的防攻击数据处理器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138904B (zh) * | 2015-08-25 | 2018-06-15 | 华为技术有限公司 | 一种访问控制方法和装置 |
CN107194287A (zh) * | 2017-05-12 | 2017-09-22 | 中国科学院信息工程研究所 | 一种arm平台上的模块安全隔离方法 |
-
2018
- 2018-07-27 CN CN201810842529.6A patent/CN109063516B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102063591A (zh) * | 2011-01-07 | 2011-05-18 | 北京工业大学 | 基于可信平台的平台配置寄存器参考值的更新方法 |
CN104392188A (zh) * | 2014-11-06 | 2015-03-04 | 三星电子(中国)研发中心 | 一种安全数据存储方法和系统 |
CN106599717A (zh) * | 2016-12-01 | 2017-04-26 | 杭州中天微系统有限公司 | 数据处理器 |
CN106778365A (zh) * | 2016-12-01 | 2017-05-31 | 杭州中天微系统有限公司 | 实现延时压栈的装置及处理器 |
CN106775971A (zh) * | 2016-12-02 | 2017-05-31 | 杭州中天微系统有限公司 | 数据处理装置 |
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 |
---|---|
CN109063516A (zh) | 2018-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11461146B2 (en) | Scheduling sub-thread on a core running a trusted execution environment | |
US9152223B2 (en) | Mobile device with multiple security domains | |
JP5580857B2 (ja) | 計算機システム内のセキュリティ侵害を識別して防ぐためのシステムと方法 | |
US9509697B1 (en) | Systems and methods for authorizing attempts to access shared libraries | |
EP3663958B1 (en) | Trusted kernel-based attack-prevention data processor | |
US8402539B1 (en) | Systems and methods for detecting malware | |
US10185633B2 (en) | Processor state integrity protection using hash verification | |
US9104859B1 (en) | Systems and methods for scanning data stored on cloud computing platforms | |
CN106990972B (zh) | 用于运行可信用户界面的方法和装置 | |
CN113051034B (zh) | 一种基于kprobes的容器访问控制方法与系统 | |
US20170116419A1 (en) | Synchronous execution of designated computing events using hardware-assisted virtualization | |
WO2019062420A1 (zh) | 监控进程的方法和装置 | |
US9679134B1 (en) | Systems and methods for detecting display-controlling malware | |
CN109063516B (zh) | 数据处理器 | |
US9965620B2 (en) | Application program interface (API) monitoring bypass | |
US8850601B2 (en) | Systems and methods of determining a trust level from system management mode | |
CN108985098B (zh) | 数据处理器 | |
CN103996004A (zh) | 一种基于虚拟化的高可用系统设计方法 | |
US10613897B1 (en) | Systems and methods for creating program-specific execution environments | |
US10754967B1 (en) | Secure interrupt handling between security zones | |
US9807111B1 (en) | Systems and methods for detecting advertisements displayed to users via user interfaces | |
CN109033842B (zh) | 数据处理器 | |
US20230403298A1 (en) | Systems and methods for utilizing user profile data to protect against phishing attacks | |
CN112363797B (zh) | 一种虚拟机安全运行方法、电子设备及存储介质 | |
US9501667B2 (en) | Security domain prediction |
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 |