CN109154895B - 上下文数据控制 - Google Patents
上下文数据控制 Download PDFInfo
- Publication number
- CN109154895B CN109154895B CN201780031544.6A CN201780031544A CN109154895B CN 109154895 B CN109154895 B CN 109154895B CN 201780031544 A CN201780031544 A CN 201780031544A CN 109154895 B CN109154895 B CN 109154895B
- Authority
- CN
- China
- Prior art keywords
- accessor
- context
- indicator
- electronic device
- shared
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/556—Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/24—Resetting means
-
- 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/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/031—Protect user input by software means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种用于相互隔离共享电子设备的多个访问器以免在上下文切换之后上下文数据泄漏的方法,包括:当使得共享电子设备可用于多个访问器时,将存储器的一部分建立为共享电子设备的指示器位置;当第一个访问器请求使用共享电子设备时,将至少一个设备重置所需指示器写入指示器位置;当上下文切换至新的上下文时,在上下文保存后,当第二访问器请求使用共享电子设备时,将共享电子设备的上下文数据重置为已知状态,并且协调第一设备重置所需指示器和第二设备重置所需指示器以用于新上下文。
Description
技术领域
本发明涉及用于有效地相互隔离共享电子设备的多个访问器(accessor)以防止在上下文切换之后上下文数据泄漏的技术。
背景技术
在许多现代电子系统中,诸如外围设备的资源可以在诸如微处理器的多个访问器之间共享。这种共享可以进一步涉及使用虚拟化技术,由此向每个访问器呈现资源的单独图像,以使得资源看起来完全专用于该访问器。
在传统系统中,当不同的访问器获得对资源的控制时,与先前访问器有关的上下文数据可以保留在电子存储器(诸如硬件寄存器或其他存储位置)中,直到它在某个未来时间被覆写。
发明内容
在第一种方法中,所述技术提供了一种机器实现的、用于相互隔离共享电子设备的多个访问器以免在上下文切换之后上下文数据泄漏的方法,包括:当使得共享电子设备可用于多个访问器时,执行以下操作中的至少一个:将存储器的一部分建立为共享电子设备的指示器位置并且定位预定的指示器位置的地址;当第一个访问器请求使用共享电子设备时,将至少一个设备重置所需指示器写入指示器位置;以及当上下文切换至新的上下文时,在上下文保存后,当第二访问器请求使用共享电子设备时,将共享电子设备的上下文数据重置为已知状态,并且协调第一设备重置所需指示器和第二设备重置所需指示器以用于新上下文。
在第二种方法中,提供了一种电子控制设备,可操作为将共享电子设备的多个访问器相互隔离以免在上下文切换之后上下文数据泄漏,包括:指示器控制组件,可操作为当共享电子设备对多个访问器可用时,使得存储组件执行以下操作中的至少一个:将存储器的一部分建立为共享电子设备的指示器位置并且定位预定的指示器位置的地址;指示器控制组件还可操作为:当第一个访问器请求使用共享电子设备时,将至少一个设备重置所需指示器写入指示器位置;以及重置控制组件,响应于设备重置所需指示器并可操作为:当上下文切换至新的上下文时,在上下文保存后,当第二访问器请求使用共享电子设备时,将共享电子设备的上下文数据重置为已知状态,以及协调组件,可操作为协调第一设备重置所需指示器和第二设备重置所需指示器以用于新上下文。
附图说明
现在将参考附图,仅通过示例的方式描述所公开技术的实施方式,其中:
图1示出了根据当前描述的技术的操作方法的示例;以及
图2示出了可以根据当前描述的技术来操作的电子控制设备的示例。
具体实施方式
如上所述,在传统的数据处理和通信系统中,当不同的访问器获得对共享设备的控制时,与先前访问器有关的上下文数据可以保留在电子存储器(诸如硬件寄存器或其他存储位置)中,直到它在某个未来时间被覆写,并且可能由于多种原因(例如,因为存储的上下文可能包含敏感数据(诸如密码或密码种子),或者它可能包含不具有如第二个或另一个访问器所需要的相同可信程度的代码或数据)这是不期望的。因此,对与外围设备有关的上下文数据访问可能是安全或安全关键的。可以通过多种方式(诸如拒绝服务、过度特权等)利用“剩余”上下文数据的可用性。例如,黑客可以通过使用这样的上下文数据来中断系统,以防止负责检测恶意软件的模块的执行或防止安全机制激活(诸如在系统运行过快时减慢系统速度的安全机制)。在安全关键的实时系统中,标准安全模型不考虑这样的主动攻击的可能性,因此任何剩余的上下文数据都可能为恶意利用提供额外的攻击面。
除了这些安全性和安全应用之外,所描述的外围重置方法或设备允许复杂外围设备的干净重新初始化而无需重新启动系统的其余部分(例如在更新无线堆栈固件模块之后或在堆栈失败之后)。
现在转到图1,这里示出了操作设备的方法100的示例,该设备可用于多个访问器并且可操作为相互隔离共享电子设备的多个访问器以防止在上下文切换之后上下文数据泄露。方法100在开始步骤102处开始,并且在步骤104处,使得设备可用于被多个访问器共享。设备可以是硬件设备,或者它可以是软件资源。示例包括硬件外围设备(诸如存储设备),或者可以包括软件组件(诸如以编程方式实现的密码组件)。访问器可以包括数据处理设备(诸如微控制器或计算机CPU)。
在步骤106处,或者在存储器中设立指示器位置,或者定位预定义的指示器位置并存储其地址以供使用。指示器位置可以包括标志寄存器、位图、存储器的一部分的行程编码、分散-聚集表或混合指示器数据和可执行代码储存器。在后一种情况下,可执行代码可操作为通过例如用二进制零或用位的伪随机模式覆盖上下文数据来清除上下文数据,以使得先前的数据不再可恢复。
在步骤108处,访问器A请求访问共享设备,并且在步骤110处,将访问器A的设备重置所需指示器写入指示器位置。访问器A的设备重置所需指示器指示访问器A所需的并且当访问器A不再访问共享设备时将被重置的共享设备的上下文数据存储器部分。例如,当指示器位置包括位图时,设备重置所需指示器设置对应于需要被重置的共享设备的上下文数据存储器部分的位图的每个位,并且将对应于不需要重置的共享设备的上下文数据存储器部分的位图的每个位设置为零。
当预先不知道访问器A需要共享设备的哪个上下文数据存储器部分时,则可以将访问器A的设备重置所需指示器设置为由访问器A使用的共享设备的每个上下文数据存储器部分。因此,访问器A的设备重置所需指示器指示访问器A已经使用的并且当访问器A不再访问共享设备时将被重置的共享设备的上下文数据存储器部分。
然后,访问器A使用共享设备。在步骤112,通过例如中断的方式,访问器B请求使用共享设备,该请求被接受(honored)以使得在步骤114处保存访问器A对设备的使用的设备上下文,并且在步骤116处,将针对设备的访问器A上下文重置为已知状态。已知状态可以是例如干净启动状态、先前已知状态或已知可信状态。使用设备重置所需指示器以使得仅有已经被使用的访问器A的共享设备的上下文数据存储器部分被重置回其初始设置。此时,可能需要延迟以允许设备重置完成。这可以通过例如轮询状态寄存器来实现以确定重置是否已经完成。通常,重置可能需要多个周期,或者可能以比核心时钟更低的时钟速度执行该处理,因此可能需要延迟(等待状态)。
在步骤117处,上下文切换到访问器B访问设备的适当上下文,访问器B的设备重置所需指示器被写入指示器位置,并且在步骤118处,协调用于访问器A和访问器B对设备的访问的设备重置所需指示器。访问器A要求在访问器B初始化共享设备之前重置共享设备,然而,访问器B希望尽快初始化共享设备。因此,协调访问器A的设备重置所需指示器与访问器B的设备重置所需指示器,以便确定不需要重置的共享设备的上下文数据存储器部分,以使得可以立即允许访问器B到共享设备的不需要被重置的上下文数据存储器部分的访问。
虽然协调步骤118被描述和示出为在重置步骤116之后发生,但是可以在基本相同的时间执行协调步骤118和重置步骤116。另外,可以在重置步骤116之前执行协调步骤118。
访问器A的设备重置所需指示器指示访问器A已经访问的共享设备的上下文数据存储器部分,并且访问器B的设备重置所需指示器指示访问器B需要的共享设备的上下文数据存储器部分。根据一个实施例,对访问器A和访问器B的设备重置所需指示器的协调包括比较设备重置所需指示器以确定访问器A和访问器B共用的上下文数据存储器部分,以及访问器A和访问器B不共用的上下文数据存储器部分。
在预先知道访问器B将在其初始化时间写入其第一上下文数据的一个示例中,通过对指示器位置进行XOR逻辑操作来完成该协调,因此,只有访问器A和访问器B不共用的那些上下文数据存储器部分被重置,因为访问器B已经开始将其上下文数据存储在被共用的位置,从而避免了重复工作并且节省了时间。在结束步骤120,该处理完成。
在上述方法的一个改进例中,当从先前的执行中理解在重置之后某些已知的上下文数据元素将被使用的顺序时,或者当某些上下文数据元素紧急需要在其他之前准备好被使用时,可以通过相应地对重置动作进行排序并开始与重置动作并行地执行新任务、当上下文数据元素被重置时使用它们来进一步减少上下文切换的延迟(latency)。根据该实施例,对访问器A和访问器B的设备重置所需指示器的协调包括根据需要上下文数据元素的顺序来确定共用的上下文数据元素以及共用的上下文数据元素的重置的优先级。因此,根据上下文数据元素被需要的顺序重置上下文数据元素来减少延迟。当新任务到达尚未重置所需的上下文数据元素的执行中的点时,可以暂停新任务以允许重置动作赶上。
当发生需要将共享设备恢复到先前的上下文的上下文切换时,恢复共享设备的上下文数据元素。例如,在访问器B完成任务之后,对共享设备的访问返回到访问器A以使得访问器A可以完成其任务。因此,在步骤114保存的访问器A对共享设备的使用的上下文被恢复。可以按照上下文数据元素被需要的顺序来重置/恢复上下文数据元素,以便减少上下文切换的等待时间。
此外,当发生需要将共享设备恢复到先前的上下文的上下文切换时,访问器A和访问器B的设备重置所需指示器的协调允许立即访问未标记为重置/恢复的上下文数据元素,以协调防止访问器B的上下文数据泄漏的需要以及访问器A对共享设备的立即使用和上下文切换的短延迟的需要。
例如,考虑以下布置:
·共享设备是密码加速器。
·在上下文切换时,所有寄存器都被重置并标记为未恢复(每个寄存器一位等等)
·可以在上下文切换后立即启动密码加速器的操作
·在其操作中遇到第一个未恢复但使用过的寄存器后,密码加速器的硬件引擎进入休眠
·一旦(基于软件或硬件的)恢复到达该寄存器,它就会恢复设备的操作,以便它可以继续运行,直到它遇到下一个未恢复但使用过的寄存器或终止执行。
·在这种布置中,有利于设备-硬件设计反映设备操作中的早期依赖性的顺序来布置寄存器。此外,使用计算休眠周期的性能计数器,软件可以优化恢复的顺序,从而发生最小的休眠周期。
在进一步的改进中,在与设备交互时恢复软件可以设置其意图恢复的寄存器的位掩码来作为第一步骤。仅针对这些寄存器设置不恢复的位。对于所有剩余的寄存器,适用默认重置值。作为结果,减少了需要恢复的寄存器的数量。
现在转向图2,示出了可操作为将共享电子设备的多个访问器相互隔离以防止在上下文切换之后上下文数据泄漏的电子控制设备200。设备200包括任何传统类型的存储控制器,并且适于控制存储器位置204。设备200还包括与存储器位置204电子通信的指示器控制器210以建立和控制指示器206、208。进一步连接到存储位置204并且因此连接到指示器206、208的是上下文控制器212,其包括响应于指示器206、208以引起共享设备224的上下文数据的重置的重置控制器214。
重置控制器214可以包含轮询组件以对状态寄存器进行轮询以确定在允许对共享设备224的访问之前重置是否已完成。在另一实施方式中,重置控制器214可以具有被布置为一旦恢复已完成就触发IRQ的中断功能。
在又一实施方式中,使用如上所述的上下文数据重置/恢复以及设备的新任务执行或新操作的并行处理,重置控制器214可以根据它们预期的使用顺序来将上下文数据元素的重置和/或恢复排序。然后可以在它们被重置/恢复时允许使用上下文数据元素进行访问,并且可以被布置为如果尚未重置/恢复所需的上下文数据元素则暂停新任务的执行。
共享设备224可以经由虚拟器222连接到电子设备200,虚拟器222将共享设备的虚拟图像呈现给访问器218、200。上下文控制器212还包括可操作为协调指示器206、208以减少上下文切换期间的延迟的协调组件216。根据一个实施例,协调组件216协调指示器206、208以确定在发生上下文切换时需要重置和/或恢复哪些上下文数据元素。协调组件216还可以协调指示器206、208,以确定在发生上下文切换时需要重置和/或恢复上下文数据元素的顺序,以便减少上下文切换延迟。
共享电子设备可以包括例如存储设备、密码引擎、有线通信设备或无线通信设备,但不限于这些示例,因为任何具有存储其活动的上下文的控制器的设备均可以受益于所描述的技术。
在一种实施方式中,所描述的技术允许在不泄露上下文数据的情况下相同硬件实例的多个用户之间的低延迟的上下文切换。一个示例用例是在传统微控制器单元(MCU)系统中由相互不信任和异构的软件模块(由管理程序或类似的安全措施分开)共享一个密码引擎。在共享设备的这种不信任和异构的访问器的情况下,另一个重要的考虑因素是不同延迟要求(例如密码引擎的无线栈使用),以及引擎的其他用途(例如用于解密固件映像或传输层安全性(TLS)连接到远程服务器的操作)。
该实施方式需要可以被用作指示所选外设的硬件寄存器应重置为已知状态(例如干净启动状态)的指示器的寄存器或其他保留数据存储位置。许多传统外设已经包含允许这样的干净启动重置(同步或异步)的这样的设备。这样的寄存器或存储器位置可以是通信网络中的所有设备的中心,或者是支持硬件共享的每个外围设备的一部分。
该技术的实施方式如下工作:
-在切换到新环境的外设之前,通过向指示器写入所述单个寄存器或存储器位置来保证外设的重置。
-在目标安全上下文中的软件只需要初始化它实际需要的寄存器。它可以假设外围设备是“干净的”就好像发生了电力循环一样。
作为这种实施方式的结果,中止正在进行的操作具有非常短的等待时间,因为它只需要使用重置寄存器(或其他存储元件)并且从头开始重新初始化外设,而不是定位和选择性地擦除所有已使用的寄存器和暂存器、切换上下文并更新实际使用的寄存器。
在进一步的实施方式中,如下所示可以使得外设上下文更快存储:
-建立位图寄存器或类似的存储器位置,其中每个位对应于在初始外设启动之后已经更新的所有寄存器。对于不需要恢复的寄存器,相应的寄存器位将设置为零,以允许在存储或恢复时跳过它们。
-软件或电路保存上述位图并仅存储或恢复相应的寄存器或其他上下文数据位置。
在该实施方式中,寄存器(或其他存储器位置)可以以更新导致启动设备(重置后停止)的外设中的最后一个寄存器以允许使用直接存储器访问(DMA)的方式被布置,这可以在保存和恢复位图时跳过未使用的寄存器和相应的寄存器,以获得更高的速度和更低延迟。
在所描述的技术的实施方式中,使得共享电子设备可用的动作可以包括通过虚拟化组件使得设备可用。将存储的一部分建立为指示器位置可以包括创建标志寄存器、位图、存储器的一部分的行程编码、分散-聚集表或混合指示器数据和可执行代码存储。建立存储器的一部分作为指示器位置可以包括建立中央位置以服务共享电子设备的通信网络,或者建立多个设备级指示器位置。重置上下文数据可以包括重置所有上下文数据或重置所选上下文数据。重置上下文数据可以包括重置为干净启动状态、先前已知状态或已知可信状态。在一个实施方式中,上下文数据的重置可以包括直接存储器访问(DMA)处理。在该实施方式中,可以使用DMA将存储的上下文数据从单独的数据存储返回到适当的设备存储位置,并且可以使用例如分散-聚集表来控制DMA以收集并使得用于DMA处理的上下文数据连续。
如本领域技术人员将理解的,本技术可以实施为系统,方法或计算机程序产品。因此,本技术可以采用完全硬件实施例、完全软件实施例或组合软件和硬件的实施例的形式。
此外,本技术可以采取在其上包含具有计算机可读程序代码的计算机可读介质中的计算机程序产品的形式。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读介质可以是例如但不限于电子、磁、光、电磁、红外或半导体系统、设备或设备,或者前述的任何合适的组合。
用于执行本技术的操作的计算机程序代码可以用一种或多种编程语言的任何组合来编写,包括面向对象的编程语言和传统的过程编程语言。
例如,用于执行本技术的操作的程序代码可以包括:传统编程语言(解释或编译)的源、对象或可执行代码(诸如C)或汇编代码、用于设置或控制ASIC(专用集成电路)的代码或FPGA(现场可编程门阵列),或用于硬件描述语言的代码(诸如Verilog TM或VHDL(超高速集成电路硬件描述语言))。
程序代码可以完全在用户的计算机上执行,部分在用户的计算机上执行,部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机。代码组件可以实现为处理、方法等,并且可以包括子组件,其可以采用任何抽象级别的指令或指令序列的形式,从本机指令集的直接机器指令到高级别编译或解释的语言结构。
本领域技术人员还清楚,根据本技术的实施例的逻辑方法的全部或部分可以适当地在包括逻辑元件的逻辑设备中实施,以执行该方法的步骤,并且这种逻辑元件可以包括诸如逻辑门的部件(例如可编程逻辑阵列或专用集成电路)。这种逻辑布置还可以在使用例如虚拟硬件描述符语言在这种阵列或电路中临时或永久地建立逻辑结构的启用元件中实施,其可以使用固定或可传输的载体介质来存储和传输。
在一个替代例中,本技术的实施例可以以部署服务的计算机实现的方法的形式来实现,该服务包括部署计算机程序代码的步骤,在部署到计算机基础设施或网络中并在其上执行时,该计算机程序代码可操作以导致所述计算机系统或网络执行该方法的所有步骤。
在另一替代例中,本技术的实施例可以以其上具有功能数据的数据载体的形式来实现,该功能数据包括功能计算机数据结构,当该功能计算机数据结构加载到计算机系统或网络中并据此操作时,启用所述计算机系统执行该方法的所有步骤。
本领域技术人员将清楚,在不脱离本技术的范围的情况下,可以对前述示例性实施例进行许多改进和修改。
Claims (12)
1.一种机器实现的、用于将共享电子设备的多个访问器相互隔离以免在上下文切换之后上下文数据泄漏的方法,包括:
当使得所述共享电子设备可用于所述多个访问器时,执行以下操作中的一个:将存储器的一部分建立为所述共享电子设备的指示器位置、以及定位预定的指示器位置的地址;
当所述多个访问器中的第一访问器请求使用所述共享电子设备时,将第一设备重置所需指示器写入所述指示器位置,该第一设备重置所需指示器指示共享电子设备的由第一访问器访问的上下文数据存储器部分;以及
当上下文切换至新的上下文时,在上下文保存后,当第二访问器请求使用所述共享电子设备时:
将第二设备重置所需指示器写入所述指示器位置,该第二设备重置所需指示器指示共享电子设备的第二访问器所需的上下文数据存储器部分;
比较第一设备重置所需指示器和第二设备重置所需指示器以确定第一访问器和第二访问器不共用的上下文数据存储器部分;以及
仅重置第一访问器和第二访问器不共用的上下文数据存储器部分。
2.根据权利要求1所述的机器实现的方法,其中所述使得所述共享电子设备可用包括通过虚拟化组件使得所述设备可用。
3.根据权利要求1或权利要求2所述的机器实现的方法,其中所述将存储器的一部分建立为指示器位置包括:创建标志寄存器、位图、存储器的一部分的行程编码、分散-聚集表以及混合指示器数据和可执行代码储存器中的至少一个。
4.根据权利要求1或权利要求2所述的机器实现的方法,其中,所述将存储器的一部分建立为指示器位置包括:建立中央位置以服务所述共享电子设备的通信网络。
5.根据权利要求1或权利要求2所述的机器实现的方法,其中,所述将存储器的一部分建立为指示器位置包括:建立多个设备级指示器位置。
6.根据权利要求1或权利要求2所述的机器实现的方法,其中,重置上下文数据包括重置为干净启动状态、先前已知状态和已知可信状态中的至少一个。
7.根据权利要求1或权利要求2所述的机器实现的方法,其中,重置上下文数据包括直接存储器访问处理。
8.一种电子控制设备,可操作为将共享电子设备的多个访问器相互隔离以免在上下文切换之后上下文数据泄漏,包括:
指示器控制组件,可操作为当所述共享电子设备对所述多个访问器可用时,使得存储组件执行以下操作中的一个:将存储器的一部分建立为所述共享电子设备的指示器位置、以及定位预定的指示器位置的地址;
所述指示器控制组件还可操作为:当所述多个访问器中的第一访问器请求使用所述共享电子设备时,将第一设备重置所需指示器写入所述指示器位置,该第一设备重置所需指示器指示共享电子设备的由第一访问器访问的上下文数据存储器部分;以及
重置控制组件,响应于所述设备重置所需指示器并可操作为:当上下文切换至新的上下文时,在上下文保存后,当第二访问器请求使用所述共享电子设备时:
将第二设备重置所需指示器写入所述指示器位置,该第二设备重置所需指示器指示共享电子设备的第二访问器所需的上下文数据存储器部分;
比较第一设备重置所需指示器和第二设备重置所需指示器以确定第一访问器和第二访问器不共用的上下文数据存储器部分;以及
仅重置第一访问器和第二访问器不共用的上下文数据存储器部分。
9.如权利要求8所述的电子控制设备,其中所述共享电子设备包括存储设备、密码引擎,有线通信设备和无线通信设备中的至少一个。
10.根据权利要求8或权利要求9所述的电子控制设备,还包括可操作为虚拟化一个或多个所述共享电子设备的虚拟化组件。
11.根据权利要求8或权利要求9所述的电子控制设备,其中所述多个访问器中的至少一个包括微控制器单元。
12.一种包括计算机程序代码的计算机程序,所述计算机程序代码在加载到计算机系统中时使所述系统执行权利要求1至7中任一项所述的方法的所有步骤。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1609417.9A GB2550903B (en) | 2016-05-27 | 2016-05-27 | Context data control |
GB1609417.9 | 2016-05-27 | ||
PCT/GB2017/050965 WO2017203199A1 (en) | 2016-05-27 | 2017-04-06 | Context data control |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109154895A CN109154895A (zh) | 2019-01-04 |
CN109154895B true CN109154895B (zh) | 2022-05-24 |
Family
ID=56410693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780031544.6A Active CN109154895B (zh) | 2016-05-27 | 2017-04-06 | 上下文数据控制 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11210393B2 (zh) |
CN (1) | CN109154895B (zh) |
GB (1) | GB2550903B (zh) |
WO (1) | WO2017203199A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102424175B1 (ko) * | 2017-07-27 | 2022-07-22 | 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 | 공유 장치를 제어하기 위한 방법 및 단말기 |
US11556374B2 (en) * | 2019-02-15 | 2023-01-17 | International Business Machines Corporation | Compiler-optimized context switching with compiler-inserted data table for in-use register identification at a preferred preemption point |
CN111414152B (zh) * | 2020-03-25 | 2023-04-21 | 北京字节跳动网络技术有限公司 | 业务逻辑的实现方法、系统、可读介质和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5165028A (en) * | 1988-03-15 | 1992-11-17 | Honeywell Bull Italia S.P.A. | Cache memory having pseudo virtual addressing |
CN101004694A (zh) * | 2006-01-09 | 2007-07-25 | 太阳微系统有限公司 | 隔离的执行上下文之间数据转移的方法和装置 |
CN101859268A (zh) * | 2009-04-08 | 2010-10-13 | 英特尔公司 | 上下文切换采样 |
CN104050199A (zh) * | 2013-03-15 | 2014-09-17 | 联想(北京)有限公司 | 数据传输方法和电子设备 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4797853A (en) * | 1985-11-15 | 1989-01-10 | Unisys Corporation | Direct memory access controller for improved system security, memory to memory transfers, and interrupt processing |
GB8814077D0 (en) * | 1988-06-14 | 1988-07-20 | Int Computers Ltd | Data memory system |
GB2261753B (en) * | 1991-11-19 | 1995-07-12 | Intel Corp | Multi-mode microprocessor with electrical pin for selective re-initialization of processor state |
FR2790844B1 (fr) * | 1999-03-09 | 2001-05-25 | Gemplus Card Int | Procede et dispositif de surveillance du deroulement d'un programme, dispositif programme permettant la surveillance de son programme |
US6671710B2 (en) * | 2002-05-10 | 2003-12-30 | Energy Conversion Devices, Inc. | Methods of computing with digital multistate phase change materials |
US7003423B1 (en) * | 2003-12-18 | 2006-02-21 | Altera Corporation | Programmable logic resource with data transfer synchronization |
US7266661B2 (en) * | 2004-05-27 | 2007-09-04 | Silverbrook Research Pty Ltd | Method of storing bit-pattern in plural devices |
US20070136724A1 (en) * | 2005-12-12 | 2007-06-14 | Arun Sharma | Transferring registers in transitions between computer environments |
JP5433676B2 (ja) * | 2009-02-24 | 2014-03-05 | パナソニック株式会社 | プロセッサ装置、マルチスレッドプロセッサ装置 |
US8850557B2 (en) * | 2012-02-29 | 2014-09-30 | International Business Machines Corporation | Processor and data processing method with non-hierarchical computer security enhancements for context states |
US9477834B2 (en) * | 2012-02-08 | 2016-10-25 | Arm Limited | Maintaining secure data isolated from non-secure access when switching between domains |
US8893222B2 (en) * | 2012-11-13 | 2014-11-18 | Auckland Uniservices Ltd. | Security system and method for the android operating system |
US9183399B2 (en) * | 2013-02-14 | 2015-11-10 | International Business Machines Corporation | Instruction set architecture with secure clear instructions for protecting processing unit architected state information |
US20150332043A1 (en) * | 2014-05-15 | 2015-11-19 | Auckland Uniservices Limited | Application analysis system for electronic devices |
US10127968B2 (en) * | 2015-08-03 | 2018-11-13 | Intel Corporation | Method and apparatus for completing pending write requests to volatile memory prior to transitioning to self-refresh mode |
US10635539B2 (en) * | 2018-05-01 | 2020-04-28 | Allegro Microsystems, Llc | Supply voltage disturbance immunity for digital circuits |
-
2016
- 2016-05-27 GB GB1609417.9A patent/GB2550903B/en active Active
-
2017
- 2017-04-06 WO PCT/GB2017/050965 patent/WO2017203199A1/en active Application Filing
- 2017-04-06 CN CN201780031544.6A patent/CN109154895B/zh active Active
- 2017-04-06 US US16/303,291 patent/US11210393B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5165028A (en) * | 1988-03-15 | 1992-11-17 | Honeywell Bull Italia S.P.A. | Cache memory having pseudo virtual addressing |
CN101004694A (zh) * | 2006-01-09 | 2007-07-25 | 太阳微系统有限公司 | 隔离的执行上下文之间数据转移的方法和装置 |
CN101859268A (zh) * | 2009-04-08 | 2010-10-13 | 英特尔公司 | 上下文切换采样 |
CN104050199A (zh) * | 2013-03-15 | 2014-09-17 | 联想(北京)有限公司 | 数据传输方法和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US20190213329A1 (en) | 2019-07-11 |
US11210393B2 (en) | 2021-12-28 |
WO2017203199A1 (en) | 2017-11-30 |
GB201609417D0 (en) | 2016-07-13 |
GB2550903B (en) | 2019-06-12 |
CN109154895A (zh) | 2019-01-04 |
GB2550903A (en) | 2017-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11068277B2 (en) | Memory allocation techniques at partially-offloaded virtualization managers | |
US10318737B2 (en) | Secure booting of virtualization managers | |
US10509673B2 (en) | Synchronous user space function execution from a kernel context | |
US20180121366A1 (en) | Read/write request processing method and apparatus | |
CN110622138B (zh) | 一种数据迁移方法及装置 | |
US9092356B2 (en) | Executing a kernel device driver as a user space process | |
US9135080B2 (en) | Dynamically assigning a portion of physical computing resource to logical partitions based on characteristics of executing logical partitions | |
EP3022648B1 (en) | Page fault injection in virtual machines to cause mapping of swapped-out memory pages into vm virtualized memory | |
US10127068B2 (en) | Performance variability reduction using an opportunistic hypervisor | |
US20150058848A1 (en) | Encapsulation of an application for virtualization | |
EP3436947B1 (en) | Secure driver platform | |
US10089247B2 (en) | System and method for coupling a host device to secure and non-secure devices | |
US20120005676A1 (en) | Computing Machine and Method of Updating Virtual Machine | |
CN109154895B (zh) | 上下文数据控制 | |
US20150149751A1 (en) | Cpu-based measured boot | |
Im et al. | On-Demand Virtualization for Post-Copy OS Migration in Bare-Metal Cloud | |
Im et al. | On-demand virtualization for live migration in bare metal cloud | |
Long et al. | GearV: A Two-Gear Hypervisor for Mixed-Criticality IoT Systems | |
CN116611053A (zh) | 可信执行环境实现方法及装置、终端设备 |
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 |