CN101477601A - 给非安全应用提供安全业务 - Google Patents

给非安全应用提供安全业务 Download PDF

Info

Publication number
CN101477601A
CN101477601A CNA2009100023110A CN200910002311A CN101477601A CN 101477601 A CN101477601 A CN 101477601A CN A2009100023110 A CNA2009100023110 A CN A2009100023110A CN 200910002311 A CN200910002311 A CN 200910002311A CN 101477601 A CN101477601 A CN 101477601A
Authority
CN
China
Prior art keywords
data
secure
processing equipment
treating apparatus
data processing
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
CNA2009100023110A
Other languages
English (en)
Other versions
CN101477601B (zh
Inventor
N·C·帕维
S·D·比勒斯
D·费尔顿
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.)
ARM Ltd
Original Assignee
Advanced Risc Machines 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 Advanced Risc Machines Ltd filed Critical Advanced Risc Machines Ltd
Publication of CN101477601A publication Critical patent/CN101477601A/zh
Application granted granted Critical
Publication of CN101477601B publication Critical patent/CN101477601B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
    • 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/72Protecting 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 in cryptographic circuits
    • 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

Abstract

本发明涉及给非安全应用提供安全业务。一种数据处理设备包括用于在安全模式和非安全模式下处理数据的数据处理器和用于响应于来自所述数据处理器的从所述非安全模式发出的请求而执行任务的其它处理装置,在安全模式下处理数据的数据处理器存取对于在非安全模式下处理数据的数据处理器不可存取的安全数据,其它处理装置包括不可存取在非安全模式下的数据处理器上运行的过程的安全数据存储,其中在发出任何所述请求之前,所述数据处理器适于在所述其它数据处理装置上执行设置操作,其中响应于接收到来自工作在所述非安全模式下的所述数据处理器的所述请求,其它数据处理装置使用存储在安全数据存储中的数据来执行任务,以存取要求的任何安全数据。

Description

给非安全应用提供安全业务
技术领域
本发明的领域涉及数据处理,并且特别地涉及通过使用附加的处理装置来处理安全数据和非安全(non-secure)数据,以在第一数据处理器的控制下执行任务。
背景技术
能够处理安全数据的数据处理设备是公知的并且通常被布置来使得:当安全数据正被处理时,处理器工作在安全模式下。当在安全模式下工作时,数据处理设备能够存取在非安全模式下不可存取的安全数据。为了保持安全数据被隔离于在模式之间切换的非安全过程,要求运行各种处理例程,以确保安全数据在安全侧和非安全侧之间无泄漏。因此,通常响应于请求诸如要被执行的加密过程的安全业务,所述系统进行操作系统调用并进入特许模式。从那调用安全模式,并且处理例程被执行来确保正确地进入安全模式。然后能够执行安全业务,在此之后,系统切换回到非安全模式,这要求执行其它处理例程。因此,如果安全业务仅仅是小任务,那么切换能够是性能方面的非常大的开销。
发明内容
本发明的第一方面提供一种数据处理设备,该数据处理设备包括用于在安全模式和非安全模式下处理数据的数据处理器,在所述安全模式下处理数据的所述数据处理器存取对于在所述非安全模式下处理数据的所述数据处理器不可存取的安全数据;以及该数据处理设备包括用于响应于来自所述数据处理器的从所述非安全模式发出的请求执行任务的其它处理装置,所述任务包括处理数据,所述数据中的至少部分(some)是安全数据,所述其它处理装置包括安全数据存储(datastore),所述安全数据存储不可存取在非安全模式下的所述数据处理器上运行的过程;其中在发出任何所述请求之前,所述数据处理器适于在所述其它数据处理装置上执行设置操作,所述设置操作由工作在所述安全模式下的所述数据处理器执行并且包括在所述其它处理装置上的所述安全数据存储中存储安全数据,所述安全数据是所述其它处理装置执行所述任务所要求的安全数据;其中响应于接收到来自工作在所述非安全模式下的所述数据处理器的所述请求,所述其它数据处理装置通过使用存储在所述安全数据存储中的数据执行所述任务,以存取任何所要求的安全数据。
本发明包括能够在安全模式下处理安全数据和非安全数据以及能够在非安全模式下处理非安全数据的数据处理器。本发明还具有其它处理装置,能够使用该其它处理装置来执行该其它处理装置被设计用于有效地执行的特定任务并因此增加整个设备的性能。本发明认识到:安全数据与非安全侧的隔离要求小心处理,并且因此从一侧切换到另一侧可能花费数百个周期。因此,如果应用正在数据处理器上的非安全侧上运行,如果该应用曾要求其它处理装置执行部分安全数据的处理,则每次该应用指示该其它处理装置的执行包括从非安全侧切换到安全侧的通用处理任务会负面地影响性能,除非其它处理装置正在执行花费许多周期的操作。本发明通过以下方式来解决该问题:给其它处理装置提供安全数据存储,并且配置数据处理器来使得它从安全模式执行设置操作,以通过在其安全数据存储中存储它需要用于执行其安全任务的任何安全数据来设置其它处理装置。因此,通过给其它处理装置提供安全数据存储和允许数据处理器在安全模式下对其进行设置,以下任务能够被执行:响应于来自在该非安全模式下工作的数据处理器的请求使用安全数据,而不需要切换模式。这能够节约处理时间的许多周期和使得小安全任务能够通过其它处理装置执行,同时仍然改善整个装置的效率。
在部分实施例中,所述所存储的安全数据包括存储器的安全部分的至少一个地址,所述其它数据处理设备在执行所述任务时存取被存储在所述至少一个地址的安全数据。
尽管安全数据可以包括多种事物,但是该安全数据可以包括指示存储器的安全部分内的位置的一个或更多地址。通过给其它数据处理装置提供这种信息,该其它数据处理装置能够存取存储器的安全部分并因此能够使用在其任务中存储在那的安全数据。
在部分实施例中,所述其它数据处理设备适于存储在由所述至少一个地址中的至少一个所指示的位置执行所述存储器的所述安全部分中的所述任务时所产生的至少部分数据。
而且,通过提供实际上是从其它处理装置到存储器的安全部分的指针,存取存储器的安全部分被准许给其它处理装置,虽然被准许到在那的预定位置,并且其它处理装置能够使用这个安全部分来存储在其过程期间可能产生的任何敏感数据。这使得能够维持系统的安全完整性。
在部分实施例中,所述数据处理器适于处理多个应用以及适于响应于到在处理期间发出所述请求的所述多个应用中的任何一个应用的上下文切换(context switch)而执行所述设置操作。
尽管数据处理器可以执行设置操作以允许其它处理装置在各种不同的时间执行其任务,但是在部分实施例中,数据处理器响应于到特定应用的上下文切换来执行任务。可以方便地设置其它处理装置来执行特定应用请求的任务。如果特定应用曾要请求多次执行该任务,则仅仅在应用的开始并且不再在该应用实际上正在运行时执行设置操作允许对于该应用仅仅执行一次该设置操作,并因此节约了处理时间,同时仅仅允许涉及特定应用请求的任务的安全数据被存储在其它处理装置中。这在安全性与改善性能之间提供了好的折衷。
在部分实施例中,所述数据处理器适于处理多个应用并且适于在针对所述多个应用的至少部分应用复位之后执行所述设置操作,以及适于响应于检测到所述其它应用的上下文切换而附加地对之前未设置的其它应用执行所述设置操作。
可替换地,可以针对数据处理器适于处理的数个或实际上所有应用执行的任务执行所述设置操作。这具有的优点是设置操作不需要经常执行,但是更多安全信息将需要被存储在其它处理装置中。
在针对数据处理器适于执行的多个应用中的部分应用执行设置操作的情况下,这些应用将被处理以及任务将被请求和被执行,直到数据处理器执行到新应用的上下文切换,该新应用可以向其它处理装置请求该其它处理装置还未利用安全数据被设置来执行的任务。响应于这种上下文切换,数据处理器将切换到安全模式并将处理这种应用所要求的安全数据发送到该其它处理装置。然后,该数据处理器将切换到非安全模式并继续处理。然后,该数据处理器能够继续处理最初被设置来进行处理的所述应用和其它应用。如果另一应用被切换到其它处理装置还未被设置来进行处理的应用,那么该另一应用将再次需要切换到安全模式。这样,能够处理多个应用,而不需要执行大量的安全处理任务。
尽管可以多种方式来控制数据处理安全性,但是在部分实施例中,所述数据处理器还包括监控模式,经由所述监控模式执行在所述安全模式下进行处理与在所述非安全模式下进行处理之间的切换。
使用为数据处理设备的最为特许的和安全的模式的监控模式来控制安全模式和非安全模式之间的切换是控制安全性的方便和有效的方式。
在部分实施例中,所述其它处理装置对接收到对所述数据处理器发出安全中断的所述请求做出响应,所述安全中断使得所述数据处理器切换到所述监控模式并执行发出所述请求的所述应用的完整性检验,所述其它处理装置在从所述数据处理器接收到指示肯定的完整性检验的信号之后执行所述任务。
在部分实施例中,当其它处理装置被请求时,所述数据处理设备可以发出安全中断。通过使得其它处理装置能够对数据处理器发出安全中断,能够有效地执行到监控模式的切换,而不需要花费更多周期的软件干预。一旦处于监控模式下,其它数据处理装置就能够检验被请求的应用的完整性。这提供了附加的安全性。其它处理装置正给非安全的应用提供安全业务。因此,可以有利的是能够检验调用其它处理装置执行安全任务的应用的完整性。
在部分实施例中,所述其它处理装置适于相对于所述数据处理器发出的多个所述请求来检测预定的行为以及响应于所述预定的行为的检测来产生安全中断,所述安全中断使得所述数据处理器切换到所述监控模式。
通过给其它处理装置提供使其能够检测与它接收的用以执行其任务的请求有关的预定行为的逻辑能够产生其它安全改进。如果一定的行为被检测到,则该其它处理装置然后能够发出安全中断并且这允许数据处理器切换到监控模式和分析所述应用。
预定的行为可以例如是具有相同密钥和不同数据的多个请求。这是电脑黑客可以试图获取有关安全密钥并因此使得其它处理装置能够检测到这种行为以及通知数据处理器帮助反击攻击系统安全性的这种公知方式的信息的典型方式。可替换的可疑行为可能是具有相同数据和不同密钥的多个请求。
在部分实施例中,所述其它数据处理装置的所述安全数据存储被配置用于存储安全数据项的表格和与所述表格内的每个数据项相关联的散列值,所述表格在所述设置操作期间被填充,从所述数据处理器发出的所述请求请求来自所述表格的项并且利用所述请求来供给相对应的散列值,所述其它数据处理装置响应于所供给的所述散列值匹配与所述被请求的项相关联地被存储的所述散列值而仅仅允许使用所述被请求的项。
被存储在其它数据处理装置中的安全数据可以是表格的形式并且为了增加安全性而具有与被存储在该表格中的每个数据项相关联的散列值。其它处理装置然后能够被配置用于响应于具有相对应的散列值的请求来仅仅允许使用表格中的被请求的数据项。这在请求安全业务的用户应用与其它处理装置所存储的安全数据之间提供了进一步的安全性检验。
在部分实施例中,所述其它处理装置还包括安全寄存器,在所述设置操作期间,所述安全寄存器被填充有所述存储器的安全部分中的地址,并且所述表格被填充有所述地址的偏移值和相对应的散列值。
尽管能够以多种形式存储安全数据,但是在部分实施例中存在指示在其它处理装置中的安全寄存器中所存储的存储器安全部分中的位置的地址和指示与该地址的偏移的值的表格。存在与偏移相关联的相对应的散列值,使得仅具有所要求的散列值的请求才能够使用该信息。
在部分实施例中,所述其它处理装置包括密码处理装置,而所述所存储的安全数据包括密码密钥的至少一个地址。
尽管其它处理装置能够是用于执行多个功能的装置,但是在部分实施例中,它是密码处理装置。密码处理装置需要使用密钥形式的安全数据。而且,存在可能希望执行加密功能的许多用户应用。因此,在其它处理装置中提供密码功能从而它能够从数据处理器上的非安全应用被请求以及仍能够以安全方式处理安全密钥而不通过数据处理器的正常安全处理例程使得这些密码功能能够有效地从非安全应用被执行。
尽管其它处理装置可以采取多个形式,但是在部分实施例中,该其它处理装置包括不可编程的硬件装置。
硬件装置不仅能够特别有效地执行所选的任务,而且这些硬件装置是极度安全的,因为这些硬件装置不能够被用户软件所攻击。因此,提供这种装置来执行安全的任务使得这些安全任务能够于来自非安全应用的请求时被执行,而不过度地折衷安全性。
在部分实施例中,所述其它数据处理装置被约束来使得所述至少一个地址在所述安全存储器部分的预定部分中并且不允许存取所述安全存储器部分的其它部分。
可以有利的是:约束其它处理装置来使得该其它处理装置能够仅存取安全存储器的某些部分。尽管其它处理装置具有安全数据存储并可能难以被窃入(hack into),但是可以有利的是仅允许该其它处理装置存取安全存储器的某些部分,以提高安全性和提供某些数据从不能够经由该装置被存取的置信度。
本发明的另一方面提供一种在数据处理设备上处理数据的方法,该数据处理设备包括用于在安全模式和非安全模式下处理数据的数据处理器,所述数据处理器在存取安全数据的所述安全模式下处理数据,该安全数据对于在所述非安全模式下处理数据的所述数据处理器是不可存取的;并且
该数据处理设备包括其它处理装置,该其它处理装置包括安全数据存储;该方法包括以下步骤:
工作在所述安全模式下的所述数据处理器在所述其它处理装置上执行设置操作,该设置操作包括将安全数据存储在所述其它处理装置上的所述安全数据存储中,所述安全数据是所述其它处理装置执行任务所要求的安全数据,所述任务包括处理数据,该数据中的至少部分是安全数据;
所述数据处理器切换到非安全模式;
所述数据处理器处理应用和给所述其它处理装置发出请求,以在处理所述应用时执行所述任务;
响应于接收到所述请求,所述其它数据处理装置通过使用在所述安全数据存储中存储的数据来执行所述任务,以存取所要求的任何安全数据。
本发明的再一方面提供一种数据处理设备,该数据处理设备包括用于在安全模式和非安全模式下处理数据的处理装置,所述处理装置在存取安全数据的所述安全模式下处理数据,该安全数据对于在所述非安全模式下处理数据的所述处理装置是不可存取的;以及
该数据处理设备包括其它处理装置,用于响应于来自所述处理装置的从所述非安全模式发出的请求而执行任务,所述任务包括处理数据,该数据中的至少部分是安全数据,所述其它处理装置包括安全数据存储,所述安全数据存储不可存取在非安全模式下的所述处理装置上运行的过程;其中
在发出任何所述请求之前,所述处理装置被配置用于在所述其它数据处理装置上执行设置操作,通过工作在所述安全模式下的所述处理装置来执行所述设置操作,并且所述设置操作包括在所述其它处理装置上的所述安全数据存储中存储安全数据,所述安全数据是所述其它处理装置执行所述任务所要求的安全数据;其中
响应于接收到来自工作在所述非安全模式下的所述处理装置的所述请求,所述其它数据处理装置通过使用被存储在所述安全数据存储中的数据来执行所述任务,以存取所要求的任何安全数据。
附图说明
根据以下结合附图阅读的说明性实施例的详细描述,本发明的上述以及其它目的、特征和优点将会变得明显。
图1示出根据本发明实施例的数据处理设备;
图2更详细地示出图1的密码装置;
图3示出通过根据本发明实施例的数据处理器执行的方法;
图4示出通过根据本发明实施例的加速器所执行的方法的步骤;
图5示出用于暂停(suspend)和再继续(resume)在中断时的硬件辅助的控制流程;
图6示出上下文切换出(context switch out)的流程图;
图7示出用于将过程上下文切换到硬件辅助模块中的流程图;和
图8示出图示延迟硬件辅助状态保存直到第一新过程存取的流程图。
具体实施方式
图1示出具有能够工作在安全模式和非安全模式下的核10的数据处理设备5。该系统配备有至少部分地在监控模式下运行的监控程序12。安全状态标记是仅在监控模式内可写存取并且可以通过监控程序来写。监控程序负责管理在任一方向在安全域和非安全域之间的所有变化。从核外部的角度来看,监控模式总是安全的,并且监控程序在安全存储器中。监控模式12能够被认为是安全处理模式,因为在这种模式下可以改变安全状态标记,并且监控模式12下的监控程序具有本身设置安全状态标记的能力,总的来说它有效地提供系统内安全性的最终水平。
监控模式在所述系统中具有最高水平的安全性存取并且仅仅是有资格在任一方向在非安全域和安全域之间切换系统的模式。因此,所有域切换经由切换到监控模式和运行监控模式内的监控程序而发生。
在非安全域内,提供非安全操作系统,该非安全操作系统运行与非安全操作系统协同运行的多个非安全应用程序。在安全域中,提供安全内核程序。该安全内核程序能够被认为是形成安全操作系统。通常,这种安全内核程序将被设计来仅提供对于在安全域中必须提供的处理动作是必需的那些功能,以致由于这将趋向于使其更加安全,所以安全内核能够尽可能得小和简单。
当在安全模式和非安全模式之间进行切换时,监控模式总是被调用来控制数据的安全性和确保安全的数据对于非安全侧来说从来不可得到。为了进入监控模式,首先进入安全特许模式。从非特许安全模式不能进入监控模式,除非响应于安全中断。
因此,当核希望从非安全模式切换到安全模式时,该核首先切换到特许的非安全模式,并且然后调用安全模式,而所述装置切换到其中运行各种处理例程的监控模式,并且然后核10切换到安全模式。
数据处理设备5还包括非安全存储管理单元22和安全存储管理单元24。在安全模式下,核10通过安全存储管理单元24查看存储器,并且因此,当它通过非安全存储管理单元22查看该存储器时,与其在非安全模式下相比,该核对存储器30具有不同的观察。在其它实施例中,可以存在具有安全侧和非安全侧的单个MMU,安全侧能够管理对存储器的安全部分的存取。在图2中示出具有安全侧22和非安全侧24的这种MMU21的实例。
存储器30具有安全部分和非安全部分,通常,安全部分通过设置安全位进行设计,并且具有所设置的安全位的地址能够仅仅经由安全存储管理单元24从安全模式被观察。
在本实施例中,数据处理设备5还具有密码加速器(cryptographyaccelerator)40,该密码加速器40是被设计用于执行诸如AES编码的加密任务的硬件装置。应理解的是,执行这些加密任务要求使用加密密钥。这些密钥应该使其对于数据处理器的非安全侧从来不可得到,否则系统的安全性被危及。
传统上,当加密过程要被执行时,核10已经在存取安全数据和执行所述功能之前切换到安全模式。但是,从安全模式到非安全模式的切换要求运行各种处理例程,以确保通过安全过程进行处理的任何数据将然后对于非安全过程是不可得到的。就性能而言,这是代价高的。
在本发明的本实施例中,数据处理器10当在安全模式时执行设置例程,以利用它需要的数据设置密码装置40来使得它能够执行其加密任务。对于特定的应用,这能够被实现。因此,如果核要处理要求执行加密功能的特定应用,则在该应用正在运行时,该应用将通常调用密码装置40执行这些功能数次。在本实施例中,在运行该应用之前,核10切换到安全模式并运行设置例程。该设置例程在密码装置40上的安全数据存储42中存储一个或更多地址,所述地址指示执行加密过程所要求的密钥被存储在存储器的安全部分中的何处。一旦这种信息被存储在密码装置40内,数据处理器10就能够切换回到非安全模式并运行要求执行加密过程的用户应用。因此,当应用正在运行时,无论何时它希望执行加密功能时,它都将对密码装置40发出任务请求。密码装置40具有存储在数据存储42中的至少一个安全地址并且因此能够存取安全存储器30内的该安全地址。因此,它能够使用在该地址存储的密码密钥来执行加密功能。由于密码装置40是硬件不可编程的装置,所以它没有未授权的存取的危险。
在本实施例中,针对特定的应用执行设置操作,以及当数据处理器核10上下文切换到不同应用时,如果该新的应用是要求执行加密任务的应用,则针对该新的应用执行其它设置过程。
在可替换的实施例中,处理器核可以在复位时从安全模式执行设置操作,以设置密码装置,使得其能够执行从核10可以运行的多个应用被调用的任务。这包括在密码装置40中存储更多安全数据。该数据可以例如以寄存器值44和该寄存器值的偏移值的相对应表格42的形式被存储(参见图2)。这些偏移值可以与散列值相关联地被存储。偏移值与存储在寄存器44中的地址的偏移有关并提供对不同密钥的安全存储器中的存储位置的指针。因此,如果应用1要求执行任务1,该任务1需要密钥2,则它将向表格42内的存储位置2请求密钥。为了能够使用该密钥,它将需要提供与该存储位置一致的散列值。这提供额外的安全性,因为如果该应用还未被提供有正确的散列值,则所述其它处理装置将不能够存取由存储在该表格的单元2中的偏移所指示的存储位置并且将不执行该任务。
表格42内的附加数据存储位置可以与存储器30的安全部分内的地址有关,密码装置40可以将数据存储到其。在例如所述密码装置正由非安全用户应用用来解密视频数据的地方,这能够是有用的。一旦被解密,重要的是:该视频数据仍被安全地存储,使得该视频数据不能够以其非加密的形式被拷贝,除了在系统安全侧的控制下以外。因此,通过给存储器的安全部分提供指针,密码装置40能够在存储器30的安全部分中存储该敏感数据并借此使其存取能被控制。
尽管密码装置40在复位时被设置来处理多个应用,但是可以通过核10处理所述密码装置不被设置来执行的新应用。在这种情况下,上下文切换到这种应用将使得处理器核切换到监控模式和执行密码装置的其它设置例程,使得其能够执行被该应用以及其它应用所请求的任务。
图2更详细地示出密码装置40。密码装置40包括用于执行加密功能的电路41以及还包括用于检测可疑行为的电路以及散列比较器电路45。从核10接收执行特定任务的请求,并且该请求指示它要求哪个密钥来执行所述功能和提供适当的散列。散列比较器45将检验散列是正确的,并且如果是正确的,则所述密钥将在由地址44和偏移2指示的位置经由MMU 21的安全部分22从存储器的安全部分被存取,并且电路41将执行加密功能。在加密功能期间要求的不安全的任何数据通过该电路经由非安全存储管理单元24进行存取。
如果可疑行为检测电路43确定从核10接收到使用相同密钥但是使用不同数据的多个请求,那么该可疑行为检测电路43将触发安全中断,并且这将被发送到核10,核10立即切换到监控模式并执行对该应用的分析。
如果装置40被设置来做这些,则安全中断还能够响应于任何非安全请求而被自动产生。这会提供特别安全的系统,其中来自非安全用户应用的对使用加密功能的任何调用导致非安全用户应用的完整性通过核10的安全模式来测试。当由其它处理装置产生的安全中断发起监控模式时,与如果它响应于用户应用本身内的软件被调用的情况下相比,利用远远更少的周期来执行到安全模式的切换。数据存储42还可以包括并不涉及密钥的存储位置但是涉及存储器的安全部分内的存储位置的偏移地址,密码装置40能够使用该偏移地址来在存储器的安全部分中存储被解密的数据。
应该注意到:装置40能够被设置来使得它能够存取的存储器30的安全部分内的地址被限制到一定的值内。这提供了附加安全性并使得存储器的某些部分不能够从该装置可存取。
应该注意到:该装置包括执行所述功能的电路并且实际上是执行功能的硬件装置,它被配置用于极度有效地执行并且无需软件干预。这不仅使其有效,而且还使其安全。
图3示出根据本发明实施例的数据处理器执行的方法步骤。在本实施例中,核被配置用于单独地针对它处理的每个应用设置加速器。
因此,响应于接收指示切换到新应用的上下文切换,它进入安全模式,并且通过在该加速器的安全数据存储中存储该加速器执行其功能所要求的安全数据来执行加速器(在本实施例中为加密引擎)的设置操作。然后,它退出安全模式并且开始处理该应用。在处理该应用期间,它将给加密引擎发出请求,以执行任务,并且它将从加密引擎接收数据。如果存在上下文切换到新应用的其它请求,该新应用要求加密引擎针对它执行功能,那么它将再次进入安全模式并且为该新应用执行其它设置任务。
图4示出图示加速器本身所执行的步骤的流程图。它轮询输入,以查看是否从数据处理器接收到请求。如果请求被接收,则它存取安全数据存储中由该请求所指示的数据项。这些安全数据项可以是存储器的安全侧内的地址,并且然后它将存取这些地址,以检索它为了处理其任务所需要的安全数据。然后,它将通过使用被存取的数据项来执行其任务。
然后,它在安全存储器中在安全数据存储内指示的地址存储它产生的任何敏感数据。当它已经完成其任务时,它将该任务被完成的指示发送到数据处理器,并且它再次轮询该数据处理器以请求执行其它任务。
上述技术涉及在题为“Protecting the security of secure datasent from a central processor for processing by a furtherprocessing device”和“Controlling Cleaning Of Data Values WithinA Hardware Accelerator”的共同未决美国专利申请US 12/000005和US 12/003858中描述的技术。这两篇公同未决的申请的公开内容在此被整体并入。
以下公开了与
Figure A200910002311D0017152500QIETU
数据处理设备中的其它处理装置或硬件(HW)辅助一起使用的不同技术的其它细节。
希望存取安全侧数据的用户模式HW辅助的通用运行模型是:在HW辅助试图存取安全侧之前,已经由安全侧或信任区域(TZ,trustzone)软件建立安全会话。
存在四种潜在的管理需要从安全侧存取数据的HW辅助的安全会话的方式。
默认软件(SW)进入在SW中具有所有安全性的安全侧。每当要求安全业务时,进入特许模式,然后SMC(调用安全侧)被运行来进入安全监控器。然后提供安全业务,并且该程序然后返回到用户模式应用。
直接在试图存取HW辅助时,引起进入安全监控器中。在这种模式下,每当HW辅助被调用时,进入安全侧,以及该安全会话能够通过安全侧被直接管理。无论什么需要完整性检验,安全侧SW也能够运行,并且然后安全侧SW调用HW来执行该任务。这能够通过禁用非安全存取HW辅助而被实现。
设置全局安全会话和给要求安全存取的每个过程提供对于非安全侧可得到的安全值表格中的预定义索引。每个表格值与散列值成对,以确保只有具有正确散列的过程才能够存取特定的表格条目。所述安全会话在过程创建时间被设置,其中计算可得到的表格条目和保护散列值。安全侧还将安全基本表格的地址和有效表格范围写入HW辅助中的仅仅安全模式寄存器中。为了从应用程序存取安全项,利用偏移和散列值对HW辅助进行用户编程。HW辅助模块然后使用这些值来存取安全信息并检验散列。在这种模型中,安全会话仍是全局的观察,因此安全监控器在常规操作系统上下文切换(在上下文切换时,所述偏移和散列能够被存储在过程应用空间中)时并不需要被调用。
给每个过程设置安全会话。在这种模型中,每个过程有效地具有其自己的安全会话。当该过程被上下文切换进(switch in)时,安全会话获得设置,并且在上下文结束时,该会话被关闭。安全监控器仅在上下文的开始和结束被存取,而不是在每次存取HW辅助时存取安全监控器。这种模型的优点是:被存储在HW辅助中的任何安全状态还能够在上下文切换时间通过安全监控器直接地或通过具有CA_STATUS寄存器的安全遮蔽(secure shadow)而被保存。CA_STATUS寄存器是提供HW辅助模块的状态的寄存器并且具有特许存取。
在任务完成之前运行的同时,HW辅助能够被中断,并且然后根据需要在某一稍后的时间被重新开始。如果在HW辅助正在运行的同时接收到中断,那么以通常的
Figure A200910002311D0017152500QIETU
方式进入中断,而无需改变HW辅助。在中断处理程序中,编程人员具有以下选项:
1.对于HW辅助不做任何事情并让它继续运行。注意到核的系统编程必须确保HW辅助仍然看到存储器的正确观察(即页面表格还未被改变)。
2.临时地暂停HW辅助,但是不使用HW辅助用于任何其它事情(MSUSPEND)。
3.暂停HW辅助和保存任何返回到存储器的脏状态(dirty state),因此HW辅助能够被其它事物使用。(MSUSPENDC)
在(2)和(3)的情况下,一旦中断处理程序完成,就利用再继续命令重新开始HW辅助。对于(2),运行从它停止的地方重新开始,而在(3)中,所述中间状态必须在运行继续之前首先被重新加载回到HW辅助。图5示出这些情况的控制流程。在该图中,CA_STATE寄存器是包含对HW辅助模块的描述符的指针的寄存器并具有特许的或用户存取。
对于通用中断处理程序,MSUSPEND和MRESUME的广播形式能够被用于暂停和再继续所有HW辅助。对于更多专门应用能够(通过供给HW辅助的逻辑地址进行控制)独立地暂停和再继续各个HW辅助模块。
存在三种基本类别的需要处理的例外:
·用户错误-由用户模式SW来处理
·特许系统错误-用信号通知操作系统用于处理的系统错误
·安全错误-用信号通知给安全监控器的通过存取安全侧引起的错误
默认情况下,特许和安全错误经由中断被用信号通知给核,用于进一步处理。期望通过检验HW辅助寄存器(例如,CA_STATUS寄存器的IUE位)中的状态错误位的用户应用软件来处理用户模式错误。如果被要求,则体系架构还支持允许用户模式错误用信号通知和中断所述核,但是这将招致处理操作系统的成本。
在不同特许水平的多个例外能够是活动的情况下,遮蔽控制寄存器被提供来存储例外信息。例如如果安全和用户存储器故障能够发生,那么FAR和CA_STATUS寄存器必须在安全侧具有遮蔽。FAR寄存器具有特许的存取并且提供弄错的存储器地址。
支持上下文切换所要求的基本操作类似于基本中断处理,即暂停和再继续HW辅助操作和从HW辅助模块清除脏状态。上下文切换能够被划分成两个部分:
·切换出旧过程
·切换进新过程
对于这些部分的每个部分存在两种可能性:
·严格的-立即进行切换
·惰性的(lazy)-如果其它人实际上想要使用HW辅助,则仅保存该状态。
后者是较低功率,因为当必需时它仅仅保存该状态,但是实现起来更加复杂。
注意:传统的惰性上下文切换(例如如在VFP中使用的那样)在新的上下文中并不切换,直到HW被新过程存取为止。在这种技术中,如果新的上下文具有已被暂停的HW辅助,那么需要上下文一被恢复就重新开始,而不是等待直到第一新的存取新的上下文中的HW。
图6示出用于针对HW辅助模块(CHA)切换上下文的通用流程。如果上下文切换不是惰性的,然后通过使用MSUSPENDC和描述符的指针来暂停和清除HW辅助,则用于每个被使能的HW辅助的状态寄存器和FAR被保存。在惰性上下文切换的情况下,HW辅助仅被暂停,而不保存任何状态。在这两种情况下,操作系统然后能够继续进行其它上下文切换清除,同时等待HW辅助停止(以及潜在地清除)。刚好在页面表格条目需要被改变之前,所述操作系统运行数据加速器屏障(Dataaccelerator barrier)(DAN)以确保所有HW辅助已经完成暂停以及然后所有HW辅助在HACR中被禁用。上下文切换出然后按照通常那样继续。
有可能以操作系统的更多分析为代价来改进通用上下文切换出。例如:
如果HW辅助模块当前未被使能,那么不存在任何过程上下文要保存以及不需要做任何事情。
如果HW辅助被使能,但是不运行-没有脏状态潜在地需要保存。
可以选择允许HW辅助完成而不是暂停它-这确保所有脏数据也回到存储器中。
当将新的过程切换到HW辅助模块中时,第一步骤是要使能HW辅助模块。在这之后,描述符和状态寄存器被重新加载到HW辅助模块中,并且再继续所有命令被发出来再继续运行所有被使能的HW辅助模块。这在图7中示出。
如果惰性方案被使用(即旧过程的状态还仍未被切换出),则操作系统应该确定该新过程是否已经暂停HW辅助模块。如果新的上下文正在使用HW辅助,那么旧状态离开(state out)应该在上下文切换时间从HW辅助被清除(而不是延迟直到稍后被存取)。
延迟的上下文切换进
在保存任何状态之前,延迟的过程状态切换等待直到新的过程试图存取HW辅助模块为止。如果新的过程并不使用HW辅助模块,那么不需要保存任何状态。
为了检测新过程何时试图存取HW辅助模块,该模块在上下文切换时间被禁用,使得使用它的尝试触发能够保存和恢复所要求的状态(未限定的指令中断)的操作系统中的事件。一旦旧状态已经被保存以及新状态被加载,存取HW辅助的命令就能够被再运行。这个过程在图8中被示出。假设在上下文切换进时间检测到暂停的HW辅助并且自动地重新开始这些暂停的HW辅助,而不是等待命令存取它们。
注意:操作系统必须能够存取前一HW辅助上下文的用户空间描述符,以将HW辅助状态保存到正确的位置。
尽管这里已经参考附图详细地描述了本发明的说明性实施例,但是应该理解:本发明并不限于那些精确的实施例,并且本领域普通技术人员在不背离如随附的权利要求书所限定的本发明的范围和精神的情况下能够在这些实施例中实现各种改变和修改。

Claims (20)

1.一种数据处理设备,该数据处理设备包括用于在安全模式和非安全模式下处理数据的数据处理器,在所述安全模式下处理数据的所述数据处理器存取对于在所述非安全模式下处理数据的所述数据处理器不可存取的安全数据;以及
该数据处理设备包括其它处理装置,用于响应于来自所述数据处理器的从所述非安全模式发出的请求而执行任务,所述任务包括处理数据,所述数据中的至少部分是安全数据,所述其它处理装置包括安全数据存储,所述安全数据存储不可存取在非安全模式下的所述数据处理器上运行的过程;其中
在发出任何所述请求之前,所述数据处理器适于在所述其它数据处理装置上执行设置操作,所述设置操作由工作在所述安全模式下的所述数据处理器来执行并且包括在所述其它处理装置上的所述安全数据存储中存储安全数据,所述安全数据是所述其它处理装置执行所述任务所要求的安全数据;其中
响应于接收到来自工作在所述非安全模式下的所述数据处理器的所述请求,所述其它数据处理装置使用存储在所述安全数据存储中的数据来执行所述任务,以存取任何要求的安全数据。
2.根据权利要求1所述的数据处理设备,其中,所述所存储的安全数据包括存储器的安全部分中的至少一个地址,所述其它数据处理设备在执行所述任务时存取在所述至少一个地址中存储的安全数据。
3.根据权利要求2所述的数据处理设备,其中,所述其它数据处理设备适于存储在通过所述至少一个地址中的至少一个所指示的位置执行所述存储器的所述安全部分中的所述任务时所产生的至少部分数据。
4.根据权利要求1所述的数据处理设备,其中,所述数据处理器适于处理多个应用并且适于响应于到在处理期间发出所述请求的所述多个应用中的任何一个应用的上下文切换而执行所述设置操作。
5.根据权利要求1所述的数据处理设备,其中,所述数据处理器适于处理多个应用并且适于在针对所述多个应用的至少部分进行复位之后执行所述设置操作,以及适于响应于检测到上下文切换到所述其它应用而附加地对之前未设置的其它应用执行所述设置操作。
6.根据权利要求1所述的数据处理设备,其中,所述数据处理器适于处理多个应用并且适于在针对所述多个应用进行复位之后执行所述设置操作和不再执行所述设置操作。
7.根据权利要求1所述的数据处理设备,其中,所述数据处理器还包括监控模式,经由所述监控模式执行在所述安全模式下进行处理和在非安全模式下进行处理之间的切换。
8.根据权利要求7所述的数据处理设备,其中,所述其它处理装置对接收到给所述数据处理器发出安全中断的所述请求做出响应,所述安全中断使得所述数据处理器切换到所述监控模式和执行发出所述请求的所述应用的完整性检验,所述其它处理装置在接收到来自所述数据处理器的指示肯定的完整性检验的信号之后执行所述任务。
9.根据权利要求7所述的数据处理设备,其中,所述其它处理装置适于相对于所述数据处理器发出的多个所述请求来检测预定的行为以及响应于所述预定的行为的检测来产生安全中断,所述安全中断使得所述数据处理器切换到所述监控模式。
10.根据权利要求9所述的数据处理设备,其中,所述预定的行为包括接收具有相同密钥和不同数据的多个请求。
11.根据权利要求1所述的数据处理设备,其中,所述其它数据处理装置的所述安全数据存储被配置用于存储安全数据项的表格和与所述表格内的每个数据项相关联的散列值,所述表格在所述设置操作期间被填充,从所述数据处理器发出的所述请求请求来自所述表格的项和利用所述请求供给相对应的散列值,所述其它数据处理装置响应于供给的所述散列值匹配与所述被请求的项相关联被存储的所述散列值而仅仅允许使用所述被请求的项。
12.根据权利要求11所述的数据处理设备,其中,所述其它处理装置还包括安全寄存器,在所述设置操作期间,所述安全寄存器被填充有所述存储器的安全部分中的地址以及所述表格被填充有所述地址的偏移值和相对应的散列值。
13.根据权利要求1所述的数据处理设备,其中,所述其它处理装置包括密码处理装置,并且所述所存储的安全数据包括密码密钥的至少一个地址。
14.根据权利要求1所述的数据处理设备,其中,所述其它处理装置包括不可编程的硬件装置。
15.根据权利要求2所述的数据处理设备,其中,所述其它数据处理装置被约束来使得所述至少一个地址在所述安全存储器部分的预定部分中以及不允许存取所述安全存储器部分的其它部分。
16.一种在数据处理设备上处理数据的方法,该数据处理设备包括用于在安全模式和非安全模式下处理数据的数据处理器,所述数据处理器在存取安全数据的所述安全模式下处理数据,该安全数据对于在所述非安全模式下处理数据的所述数据处理器是不可存取的;和
该数据处理设备包括其它处理装置,该其它处理装置包括安全数据存储;该方法包括以下步骤:
工作在所述安全模式下的所述数据处理器在所述其它处理装置上执行设置操作,该设置操作包括在所述其它处理装置上的所述安全数据存储中存储安全数据,所述安全数据是所述其它处理装置执行任务所要求的安全数据,所述任务包括处理数据,该数据中的至少部分是安全数据;
所述数据处理器切换到非安全模式;
所述数据处理器处理应用和给所述其它处理装置发出请求,以在处理所述应用时执行所述任务;
响应于接收到所述请求,所述其它数据处理装置使用被存储在所述安全数据存储中的数据执行所述任务,以存取要求的任何安全数据。
17.根据权利要求16所述的方法,其中,所述所存储的安全数据包括存储器的安全部分中的至少一个地址,所述其它数据处理设备在执行所述任务时存取在所述至少一个地址中存储的安全数据。
18.根据权利要求17所述的方法,其中,所述其它数据处理设备存储在通过所述至少一个地址中的至少一个所指示的位置执行所述存储器的所述安全部分中的所述任务时所产生的至少部分数据。
19.根据权利要求16所述的方法,其中,所述数据处理器适于处理多个应用,并且所述方法包括响应于检测到上下文切换到新的应用来执行所述设置操作。
20.一种数据处理设备,该数据处理设备包括用于在安全模式和非安全模式下处理数据的处理装置,所述处理装置在存取安全数据的所述安全模式下处理数据,该安全数据对于在所述非安全模式下处理数据的所述处理装置是不可存取的;以及
该数据处理设备包括其它处理装置,用于响应于来自所述处理装置的从所述非安全模式发出的请求而执行任务,所述任务包括处理数据,所述数据中的至少部分是安全数据,所述其它处理装置包括安全数据存储,所述安全数据存储不可存取在非安全模式下的所述处理装置上运行的过程;其中
在发出任何所述请求之前,所述处理装置被配置用于在所述其它数据处理装置上执行设置操作,通过工作在所述安全模式下的所述处理装置执行所述设置操作,并且所述设置操作包括在所述其它处理装置上的所述安全数据存储中存储安全数据,所述安全数据是所述其它处理装置执行所述任务所要求的安全数据;其中
响应于接收到来自工作在所述非安全模式下的所述处理装置的所述请求,所述其它数据处理装置使用被存储在所述安全数据存储中的数据来执行所述任务,以存取要求的任何安全数据。
CN2009100023110A 2008-01-02 2009-01-04 给非安全应用提供安全业务 Active CN101477601B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/003,857 2008-01-02
US12/003,857 US8332660B2 (en) 2008-01-02 2008-01-02 Providing secure services to a non-secure application
US12/003857 2008-01-02

Publications (2)

Publication Number Publication Date
CN101477601A true CN101477601A (zh) 2009-07-08
CN101477601B CN101477601B (zh) 2013-04-17

Family

ID=40139588

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100023110A Active CN101477601B (zh) 2008-01-02 2009-01-04 给非安全应用提供安全业务

Country Status (4)

Country Link
US (1) US8332660B2 (zh)
JP (1) JP5068737B2 (zh)
CN (1) CN101477601B (zh)
GB (1) GB2456200B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104077127A (zh) * 2013-03-29 2014-10-01 阿尔斯通运输科技简易股份公司 执行彼此交织的安全软件应用和非安全软件应用的方法
WO2014206172A1 (zh) * 2013-06-27 2014-12-31 中国银联股份有限公司 移动设备中的非可信环境与可信环境之间的切换
CN104378381A (zh) * 2014-11-27 2015-02-25 上海斐讯数据通信技术有限公司 智能终端企业邮件安全办公方法及系统

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8127131B2 (en) * 2008-04-10 2012-02-28 Telefonaktiebolaget Lm Ericsson (Publ) System and method for efficient security domain translation and data transfer
EP2270708A1 (en) * 2009-06-29 2011-01-05 Thomson Licensing Data security in solid state memory
US8886760B2 (en) * 2009-06-30 2014-11-11 Sandisk Technologies Inc. System and method of predictive data acquisition
US8458486B2 (en) * 2010-10-13 2013-06-04 International Business Machines Corporation Problem-based account generation
WO2013153441A1 (en) 2012-04-13 2013-10-17 Ologn Technologies Ag Secure zone for digital communications
CA2870283C (en) 2012-04-13 2021-07-06 Ologn Technologies Ag Apparatuses, methods and systems for computer-based secure transactions
GB2501470B (en) * 2012-04-17 2020-09-16 Advanced Risc Mach Ltd Management of data processing security in a secondary processor
TW201403375A (zh) 2012-04-20 2014-01-16 歐樂岡科技公司 用於安全購買之安全區
US9256734B2 (en) * 2012-04-27 2016-02-09 Broadcom Corporation Security controlled multi-processor system
WO2014141202A1 (en) 2013-03-15 2014-09-18 Ologn Technologies Ag Systems, methods and apparatuses for securely storing and providing payment information
WO2015015473A1 (en) 2013-08-02 2015-02-05 Ologn Technologies Ag A secure server on a system with virtual machines
US9672162B2 (en) * 2013-08-16 2017-06-06 Arm Limited Data processing systems
US9465617B1 (en) * 2015-06-29 2016-10-11 Vmware, Inc. Implementing upcall from secure to non-secure mode by injecting exception into non-secure mode
EP3206148A1 (en) * 2016-02-12 2017-08-16 ABB Schweiz AG Secure code optimization method and system
WO2019183459A1 (en) * 2018-03-23 2019-09-26 Micron Technology, Inc. Storage device authenticated modification
US11645425B2 (en) 2019-07-03 2023-05-09 Beyond Semiconductor, d.o.o. Systems and methods for data-driven secure and safe computing
JP7178971B2 (ja) * 2019-07-24 2022-11-28 ルネサスエレクトロニクス株式会社 半導体装置、及び情報アクセス方法
US11604505B2 (en) * 2020-12-29 2023-03-14 Qualcomm Incorporated Processor security mode based memory operation management

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5845327A (en) * 1995-05-03 1998-12-01 Apple Computer, Inc. Cache coherency where multiple processors may access the same data over independent access paths
US20020069316A1 (en) * 1998-04-15 2002-06-06 Mattison Phillip E. Method and apparatus for protecting flash memory
US6092202A (en) 1998-05-22 2000-07-18 N*Able Technologies, Inc. Method and system for secure transactions in a computer system
US6308255B1 (en) 1998-05-26 2001-10-23 Advanced Micro Devices, Inc. Symmetrical multiprocessing bus and chipset used for coprocessor support allowing non-native code to run in a system
KR20020091061A (ko) * 1999-12-23 2002-12-05 제너럴 인스트루먼트 코포레이션 2중모드 프로세서
JP4226760B2 (ja) 2000-05-08 2009-02-18 株式会社東芝 マイクロプロセッサ、これを用いたマルチタスク実行方法、およびマルチレッド実行方法
US6684305B1 (en) * 2001-04-24 2004-01-27 Advanced Micro Devices, Inc. Multiprocessor system implementing virtual memory using a shared memory, and a page replacement method for maintaining paged memory coherence
US20030172265A1 (en) * 2001-05-04 2003-09-11 Vu Son Trung Method and apparatus for secure processing of cryptographic keys
US20030028751A1 (en) * 2001-08-03 2003-02-06 Mcdonald Robert G. Modular accelerator framework
GB0215033D0 (en) * 2002-06-28 2002-08-07 Critical Blue Ltd Instruction set translation method
US7117284B2 (en) * 2002-11-18 2006-10-03 Arm Limited Vectored interrupt control within a system having a secure domain and a non-secure domain
AU2003278347A1 (en) 2002-11-18 2004-06-15 Arm Limited Exception types within a secure processing system
GB0226874D0 (en) * 2002-11-18 2002-12-24 Advanced Risc Mach Ltd Switching between secure and non-secure processing modes
GB2396034B (en) 2002-11-18 2006-03-08 Advanced Risc Mach Ltd Technique for accessing memory in a data processing apparatus
GB2396930B (en) * 2002-11-18 2005-09-07 Advanced Risc Mach Ltd Apparatus and method for managing access to a memory
GB0226875D0 (en) * 2002-11-18 2002-12-24 Advanced Risc Mach Ltd Control of access to a memory by a device
US7073043B2 (en) * 2003-04-28 2006-07-04 International Business Machines Corporation Multiprocessor system supporting multiple outstanding TLBI operations per partition
EP2511787B1 (en) * 2003-05-23 2017-09-20 IP Reservoir, LLC Data decompression and search using FPGA devices
US8028164B2 (en) * 2004-03-19 2011-09-27 Nokia Corporation Practical and secure storage encryption
US7769950B2 (en) 2004-03-24 2010-08-03 Qualcomm Incorporated Cached memory system and cache controller for embedded digital signal processor
US7461268B2 (en) * 2004-07-15 2008-12-02 International Business Machines Corporation E-fuses for storing security version data
US20060064546A1 (en) * 2004-07-28 2006-03-23 Hiroshi Arita Microprocessor
US8230426B2 (en) * 2004-10-06 2012-07-24 Digipede Technologies, Llc Multicore distributed processing system using selection of available workunits based on the comparison of concurrency attributes with the parallel processing characteristics
US8788787B2 (en) * 2005-03-02 2014-07-22 The Boeing Company Systems, methods and architecture for facilitating software access to acceleration technology
CN101233525A (zh) 2005-05-26 2008-07-30 松下电器产业株式会社 数据处理装置
CA2542556C (en) * 2005-06-03 2014-09-16 Tata Consultancy Services Limited An authentication system executing an elliptic curve digital signature cryptographic process
WO2006131921A2 (en) 2005-06-08 2006-12-14 Discretix Technologies Ltd. Method, device, and system of maintaining a context of a secure execution environment
US7765399B2 (en) * 2006-02-22 2010-07-27 Harris Corporation Computer architecture for a handheld electronic device
JP2007304847A (ja) 2006-05-11 2007-11-22 Megachips Lsi Solutions Inc メモリ装置
US7971104B2 (en) * 2006-10-24 2011-06-28 Shlomi Dolev Apparatus and methods for stabilization of processors, operating systems and other hardware and/or software configurations
US8296581B2 (en) * 2007-02-05 2012-10-23 Infineon Technologies Ag Secure processor arrangement having shared memory
US7827383B2 (en) * 2007-03-09 2010-11-02 Oracle America, Inc. Efficient on-chip accelerator interfaces to reduce software overhead
US20080263621A1 (en) * 2007-04-17 2008-10-23 Horizon Semiconductors Ltd. Set top box with transcoding capabilities
US8209550B2 (en) * 2007-04-20 2012-06-26 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for protecting SIMLock information in an electronic device
US8479020B2 (en) * 2007-07-25 2013-07-02 Motorola Mobility Llc Method and apparatus for providing an asymmetric encrypted cookie for product data storage
US7827326B2 (en) * 2007-11-26 2010-11-02 Alcatel-Lucent Usa Inc. Method and apparatus for delegation of secure operating mode access privilege from processor to peripheral
US9361440B2 (en) * 2007-12-21 2016-06-07 Apple Inc. Secure off-chip processing such as for biometric data

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104077127A (zh) * 2013-03-29 2014-10-01 阿尔斯通运输科技简易股份公司 执行彼此交织的安全软件应用和非安全软件应用的方法
CN104077127B (zh) * 2013-03-29 2018-11-06 阿尔斯通运输科技简易股份公司 执行彼此交织的安全软件应用和非安全软件应用的方法
WO2014206172A1 (zh) * 2013-06-27 2014-12-31 中国银联股份有限公司 移动设备中的非可信环境与可信环境之间的切换
CN104378381A (zh) * 2014-11-27 2015-02-25 上海斐讯数据通信技术有限公司 智能终端企业邮件安全办公方法及系统

Also Published As

Publication number Publication date
GB2456200B (en) 2012-09-19
JP2009163738A (ja) 2009-07-23
GB0820439D0 (en) 2008-12-17
GB2456200A (en) 2009-07-08
US20090172329A1 (en) 2009-07-02
CN101477601B (zh) 2013-04-17
JP5068737B2 (ja) 2012-11-07
US8332660B2 (en) 2012-12-11

Similar Documents

Publication Publication Date Title
CN101477601B (zh) 给非安全应用提供安全业务
CN101477612B (zh) 保护从中央处理器发送的以供处理的安全数据的安全性
EP3761208B1 (en) Trust zone-based operating system and method
EP3706361B1 (en) Loading and virtualizing cryptographic keys
CN106462508B (zh) 访问控制与代码调度
EP3238070B1 (en) Memory protection with non-readable pages
EP2867822B1 (en) Methods and apparatus for a secure sleep state
TWI667611B (zh) 資料處理設備及用於其之方法
JP6370098B2 (ja) 情報処理装置、情報処理監視方法、プログラム、及び記録媒体
CN107066887A (zh) 具有敏感数据访问模式的处理装置
CN107463856B (zh) 一种基于可信内核的防攻击数据处理器
TWI678615B (zh) 在資料處理裝置中進行除錯
KR20180026719A (ko) 제어된 암호화 키 관리에 의한 소프트웨어 모듈들의 분리
US20060075236A1 (en) Method and apparatus for high assurance processing
JP2015166952A (ja) 情報処理装置、情報処理監視方法、プログラム、及び記録媒体
EP3314516B1 (en) System management mode privilege architecture
CN113438645A (zh) 一种5g网络下数据安全保护方法、装置、介质及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant