CN110210214A - 处理器核心隔离方法及装置 - Google Patents
处理器核心隔离方法及装置 Download PDFInfo
- Publication number
- CN110210214A CN110210214A CN201910474684.1A CN201910474684A CN110210214A CN 110210214 A CN110210214 A CN 110210214A CN 201910474684 A CN201910474684 A CN 201910474684A CN 110210214 A CN110210214 A CN 110210214A
- Authority
- CN
- China
- Prior art keywords
- processor core
- memory
- configuration
- access
- 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.)
- Pending
Links
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/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
- G06F21/53—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 by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- 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/77—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 in smart cards
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供了一种处理器核心隔离方法及装置,能提供一种在多核处理器中隔离出专用处理器核心,作为安全处理核心的方法。方法包括:***启动时,安全处理器若判断出第一处理器核心需要做处理器隔离,配置对第一处理器核心进行缓存一致性协议探测屏蔽,及第一处理器核心为需要隔离内存的处理器核心及第一处理器核心需要隔离的内存地址段;***启动后,屏蔽模块对第一处理器核心进行缓存一致性协议探测屏蔽,内存控制器若接收到第一处理器核心发送的内存访问请求,判断出第一处理器核心为需要隔离的处理器核心,第一处理器核心请求访问的内存的地址属于第一处理器核心需要隔离的内存地址段,则允许第一处理器核心访问内存访问请求请求访问的隔离内存。
Description
技术领域
本发明涉及处理器安全领域,具体而言,涉及一种处理器核心隔离方法及装置。
背景技术
现有的处理器中的平台安全处理器子***,为整个CPU SOC提供基于信任根的认证,包括不限于:安全启动(security boot)、固件认证、虚拟化技术安全服务等,为处理器的CPU提供很好的安全保障。但是,对更广泛的安全需求,还是显得力不从心,其主要不足包括:
1)速度较慢、性能较低,只能处理少量关键安全业务;
2)与操作***不是一体的,只能通过消息传递方式进行调用。
发明内容
有鉴于此,本发明的目的在于提供一种处理器核心隔离方法及装置,能提供一种在多核处理器中隔离出专用处理器核心,作为安全处理核心的方法,从而在多核处理器中实现一个或一组安全隔离的处理器核心及其运行环境,作为高速的***安全处理核心。
第一方面,本发明实施例提供了一种处理器核心隔离方法,包括:
在CPU SOC***启动时,安全处理器若判断获知第一处理器核心需要做处理器隔离,则配置对所述第一处理器核心进行缓存一致性协议探测屏蔽,将该配置作为第一配置,并配置所述第一处理器核心为需要隔离内存的处理器核心及所述第一处理器核心需要隔离的内存地址段,将该配置作为第二配置;以及
在所述CPU SOC***启动后,所述CPU SOC***中新增的屏蔽模块根据该第一配置对所述第一处理器核心进行缓存一致性协议探测屏蔽;以及
在所述CPU SOC***启动后,内存控制器若接收到所述第一处理器核心发送的内存访问请求,且根据所述内存访问请求和该第二配置判断获知所述第一处理器核心为需要隔离内存的处理器核心,以及所述第一处理器核心请求访问的内存的地址属于所述第一处理器核心需要隔离的内存地址段,则允许所述第一处理器核心访问所述内存访问请求请求访问的隔离内存。
第二方面,本发明实施例还提供了一种处理器核心隔离装置,包括:
安全处理器,用于在CPU SOC***启动时,若判断获知第一处理器核心需要做处理器隔离,则配置对所述第一处理器核心进行缓存一致性协议探测屏蔽,将该配置作为第一配置,并配置所述第一处理器核心为需要隔离内存的处理器核心及所述第一处理器核心需要隔离的内存地址段,将该配置作为第二配置;以及
屏蔽模块,所述屏蔽模块为所述CPU SOC***中新增的硬件模块,用于在所述CPUSOC***启动后,根据该第一配置对所述第一处理器核心进行缓存一致性协议探测屏蔽;以及
内存控制器,用于在所述CPU SOC***启动后,若接收到所述第一处理器核心发送的内存访问请求,且根据所述内存访问请求和该第二配置判断获知所述第一处理器核心为需要隔离内存的处理器核心,以及所述第一处理器核心请求访问的内存的地址属于所述第一处理器核心需要隔离的内存地址段,则允许所述第一处理器核心访问所述内存访问请求请求访问的隔离内存。
该处理器核心隔离方法及装置至少能实现如下效果:在CPU SOC***启动时,安全处理器配置需要做处理器隔离的处理器核心的缓存一致性协议探测的屏蔽选项,使需要做处理器隔离的处理器核心对缓存一致性协议的探测进行屏蔽,并且配置需要做处理器隔离的处理器核心为需要隔离内存的处理器核心以及需要做处理器隔离的处理器核心需要隔离的内存地址段;在所述CPU SOC***启动后,内存控制器会根据安全处理器的配置对所述内存地址段进行访问隔离,即仅允许需要做处理器隔离的处理器核心访问安全处理器对其配置的内存地址段对应的内存,而不允许其它情况对所述内存地址段对应的内存的访问,因而本方案可以为CPU SOC***提供一个或一组可隔离的处理器核心,使其具有相对的隔离物理运行环境,从而为CPU SOC***提供安全隔离的运行环境;而且与CPU SOC***中的安全处理器***相比,本方案被隔离的处理器核心,具有更高性能、更灵活的特点,能满足某些安全敏感性业务对高性能安全核心的需求;同时,本方案中被隔离的处理器核心和其它处理器核心仍然具有相似的性能和地位,从而更高效地协同工作。
附图说明
本公开可以通过参考下文中结合附图所给出的描述而得到更好的理解,附图连同下面的详细说明一起包含在本说明书中并且形成本说明书的一部分。在附图中:
图1为本发明处理器核心隔离方法一实施例的流程示意图;
图2为本发明处理器核心隔离方法另一实施例的流程示意图;
图3为本发明处理器核心隔离方法又一实施例的流程示意图;
图4为本发明处理器核心隔离装置一实施例的结构示意图。
具体实施方式
在下文中将结合附图对本公开内容的示例性实施方式进行描述。为了清楚和简明起见,在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施方式的过程中可以做出很多特定于实施方式的决定,以便实现开发人员的具体目标,并且这些决定可能会随着实施方式的不同而有所改变。
在此,还需要说明的一点是,为了避免因不必要的细节而模糊了本公开,在附图中仅仅示出了与根据本公开内容的方案密切相关的装置结构,而省略了与本公开关系不大的其他细节。
应理解的是,本公开内容并不会由于如下参照附图的描述而只限于所描述的实施形式。在本文中,在可行的情况下,实施方式可以相互组合、不同实施方式之间的特征替换或借用、在一个实施方式中省略一个或多个特征。
参看图1,本发明公开一种处理器核心隔离方法,包括:
S10、在CPU SOC***启动时,安全处理器若判断获知第一处理器核心需要做处理器隔离,则配置对所述第一处理器核心进行缓存一致性协议探测屏蔽,将该配置作为第一配置,并配置所述第一处理器核心为需要隔离内存的处理器核心及所述第一处理器核心需要隔离的内存地址段,将该配置作为第二配置;以及
S11、在所述CPU SOC***启动后,所述CPU SOC***中新增的屏蔽模块根据该第一配置对所述第一处理器核心进行缓存一致性协议探测屏蔽;以及
S12、在所述CPU SOC***启动后,内存控制器若接收到所述第一处理器核心发送的内存访问请求,且根据所述内存访问请求和该第二配置判断获知所述第一处理器核心为需要隔离内存的处理器核心,以及所述第一处理器核心请求访问的内存的地址属于所述第一处理器核心需要隔离的内存地址段,则允许所述第一处理器核心访问所述内存访问请求请求访问的隔离内存。
本实施例中,需要说明的是,安全处理器可以根据***配置的参数(可以来源基本输入输出***BIOS选项或者直接写在平台安全处理器固件之中)判断第一处理器核心是否需要做处理器隔离。
屏蔽模块为所述CPU SOC***中新增的硬件模块,其根据第一配置对所述第一处理器核心进行缓存一致性协议探测屏蔽,使所述第一处理器核心不再接收缓存一致性协议的探测消息。
内存控制器在实现步骤S12的过程时可以通过在其内新增硬件模块来实现。具体地,该硬件模块在接收到所述CPU SOC***的任一处理器核心C发送的内存访问请求m后,根据内存访问请求m和该第二配置判断处理器核心C是否是所述安全处理器配置的需要隔离内存的处理器核心,即第一处理器核心,如果处理器核心C是第一处理器核心,则根据内存访问请求m和该第二配置判断处理器核心C请求访问的内存的地址是否属于所述安全处理器配置的第一处理器核心需要隔离的内存地址段,如果属于,则允许处理器核心C访问内存访问请求m请求访问的内存,否则,则不允许处理器核心C访问内存访问请求m请求访问的内存。
本发明实施例提供的处理器核心隔离方法,在CPU SOC***启动时,安全处理器配置需要做处理器隔离的处理器核心的缓存一致性协议探测的屏蔽选项,使需要做处理器隔离的处理器核心对缓存一致性协议的探测进行屏蔽,并且配置需要做处理器隔离的处理器核心为需要隔离内存的处理器核心以及需要做处理器隔离的处理器核心需要隔离的内存地址段;在所述CPU SOC***启动后,内存控制器会根据安全处理器的配置对所述内存地址段进行访问隔离,即仅允许需要做处理器隔离的处理器核心访问安全处理器对其配置的内存地址段对应的内存,而不允许其它情况对所述内存地址段对应的内存的访问,因而本方案可以为CPU SOC***提供一个或一组可隔离的处理器核心,使其具有相对的隔离物理运行环境,从而为CPU SOC***提供安全隔离的运行环境;而且与CPU SOC***中的安全处理器***相比,本方案被隔离的处理器核心,具有更高性能、更灵活的特点,能满足某些安全敏感性业务对高性能安全核心的需求;同时,本方案中被隔离的处理器核心和其它处理器核心仍然具有相似的性能和地位,从而更高效地协同工作。
在前述方法实施例的基础上,在所述配置所述第一处理器核心为需要隔离内存的处理器核心及所述第一处理器核心需要隔离的内存地址段,将该配置作为第二配置之后,还可以包括:
所述安全处理器配置针对所述第一处理器核心对所述第一处理器核心需要隔离的内存的访问进行加解密、加解密所使用的密钥以及加解密所使用的算法,将该配置作为第三配置;
其中,所述允许所述第一处理器核心访问所述内存访问请求请求访问的隔离内存,可以包括:
所述内存控制器若根据该第三配置判断获知需要对所述第一处理器核心针对所述内存访问请求请求访问的隔离内存的访问进行加解密,则允许所述第一处理器核心访问所述内存访问请求请求访问的隔离内存,并使用所述加解密所使用的密钥以及加解密所使用的算法对所述第一处理器核心针对所述内存访问请求请求访问的隔离内存的访问进行加解密。
本实施例中,如图2和图3所示为本发明处理器核心隔离方法另一实施例的流程示意图,图2和图3中,当CPU SOC***启动时,SOC中的安全处理器检查预设的隔离配置选项判断是否需要做处理器隔离,如果需要做处理器隔离,则对需要隔离的处理器核心屏蔽探测,屏蔽对需要隔离的处理器核心的缓存一致性探测,即配置对需要隔离的处理器核心进行缓存一致性协议探测屏蔽(即图3中探测屏蔽选项的内容),以使屏蔽模块在CPU SOC***启动后根据该配置屏蔽对需要隔离的处理器核心的缓存一致性协议探测。其中,探测屏蔽选项需要指明:每一个需要屏蔽探测的处理器核心的标识(即ID号,具***数与具体SOC***有关,只要能唯一标识出处理器核心就可以,可以是处理器核心的ID,也可以硬件模块的ID或者端口的ID)。在对需要隔离的处理器核心的缓存一致性探测进行屏蔽后,安全处理器依次设置内存控制器中针对需要隔离的处理器核心的隔离选项和加解密选项,在设置完隔离选项和加解密选项后,安全处理器回归到CPU SOC***正常启动流程。其中,隔离选项需要指明:每一个需要隔离的处理器核心的ID号;每一个需要隔离的处理器核心需要隔离的内存地址段。当然除此之外,隔离选项还需要对每一个需要隔离的处理器核心设置隔离使能位,以标识对需要隔离的处理器核心是否启用内存隔离功能,具体地,可以设置隔离使能位取值为0时不启用内存隔离功能,取值为1时启用内存隔离功能。加解密选项需要指明:每一个需要隔离的处理器核心的ID号(如果与隔离选项合并,可以省略这个ID号);加、解密所用的密钥(用于对隔离内存中数据加、解密);加、解密所用的算法标识(用于选择需要使用的加、解密算法对隔离内存中的数据进行加密或解密,具***数与待选算法的数量相关,待选算法越多,位数也会越多)。当然除此之外,加解密选项中还需要对每一个需要隔离的处理器核心设置加、解密使能位,以标识对隔离内存是否启用加、解密功能,具体地,可以设置加、解密使能位取值为0时不启用加、解密功能,取值为1时启用加、解密功能。上述探测屏蔽选项、隔离选项和加解密选项可以以表的形式设置,其中,隔离选项和加解密选项可以设置在同一张表中。
在CPU SOC***启动流程结束后,内存控制器即开始对需要隔离的处理器核心的内存访问进行隔离检查,使得只有需要隔离的处理器核心(即ID号为隔离选项指定的需要隔离的处理器核心的ID号)才能访问隔离选项指定的内存地址段对应的隔离内存,而且在需要隔离的处理器核心访问隔离内存时,需要对需要隔离的处理器核心的访问进行加解密(即使用加解密选项指定的加、解密密钥以及加、解密算法对需要隔离的处理器核心针对隔离内存的访问进行加解密)。
另外,需要说明的是,如果安全处理器判断不需要做处理器隔离,则CPU SOC***正常启动,后续内存访问将不再接受隔离检查。在使用需要隔离处理器时具体可以根据应用场景不同而对使用需要隔离处理器的方法进行变化,比如,可以由CPU SOC***中的安全处理器协助初始化需要隔离处理器的启动镜像,并协助其它处理核心通过消息队列、中断、API等方式,调用需要隔离处理器执行安全程序,处理敏感数据。
本实施例中,使用加解密密钥和加解密算法对隔离内存进行加解密,能进一步增加隔离内存的安全性。
在前述方法实施例的基础上,所述内存地址段可以通过基地址和长度,或者基地址和mask数据,或者上限地址和下限地址的方式表示。
本实施例中,需要说明的是,所述内存地址段可以为一组或多组地址,每一组表示一段连续的地址段,对其表示方法不作限定。当所述内存地址段通过基地址和长度的方式表示时,每一组地址为从基地址到基地址+长度这一段内存地址;当所述内存地址段通过基地址和mask数据的方式表示时,每一组地址为与mask数据进行按比特位与操作等于基地址的所有内存地址形成的集合;从基地址到基地址+长度这一段内存地址;当所述内存地址段通过上限地址和下限地址的方式表示时,每一组地址为从上限地址到下限地址这一段内存地址。
在前述方法实施例的基础上,所述加解密所使用的密钥与所述加解密所使用的算法一致。
本实施例中,所述加解密所使用的密钥与所述加解密所使用的算法一致,比如当加解密所使用的算法为高级加密标准AES-128时,加解密所使用的密钥为128比特位的密钥。
在前述方法实施例的基础上,所述安全处理器可以为平台安全处理器。
参看图4,本发明公开一种处理器核心隔离装置,包括:
安全处理器40,用于在CPU SOC***启动时,若判断获知第一处理器核心需要做处理器隔离,则配置对所述第一处理器核心进行缓存一致性协议探测屏蔽,将该配置作为第一配置,并配置所述第一处理器核心为需要隔离内存的处理器核心及所述第一处理器核心需要隔离的内存地址段,将该配置作为第二配置;以及
屏蔽模块41,所述屏蔽模块为所述CPU SOC***中新增的硬件模块,用于在所述CPU SOC***启动后,根据该第一配置对所述第一处理器核心进行缓存一致性协议探测屏蔽;以及
内存控制器42,用于在所述CPU SOC***启动后,若接收到所述第一处理器核心发送的内存访问请求,且根据所述内存访问请求和该第二配置判断获知所述第一处理器核心为需要隔离内存的处理器核心,以及所述第一处理器核心请求访问的内存的地址属于所述第一处理器核心需要隔离的内存地址段,则允许所述第一处理器核心访问所述内存访问请求请求访问的隔离内存。
本实施例中,需要说明的是,安全处理器可以根据***配置的参数(可以来源基本输入输出***BIOS选项或者直接写在平台安全处理器固件之中)判断第一处理器核心是否需要做处理器隔离。
屏蔽模块为所述CPU SOC***中新增的硬件模块,其根据第一配置对所述第一处理器核心进行缓存一致性协议探测屏蔽,使所述第一处理器核心不再接收缓存一致性协议的探测消息。
内存控制器在实现内存访问控制的过程时可以通过在其内新增硬件模块来实现。具体地,该硬件模块在接收到所述CPU SOC***的任一处理器核心C发送的内存访问请求m后,根据内存访问请求m和该第二配置判断处理器核心C是否是所述安全处理器配置的需要隔离内存的处理器核心,即第一处理器核心,如果处理器核心C是第一处理器核心,则根据内存访问请求m和该第二配置判断处理器核心C请求访问的内存的地址是否属于所述安全处理器配置的第一处理器核心需要隔离的内存地址段,如果属于,则允许处理器核心C访问内存访问请求m请求访问的内存,否则,则不允许处理器核心C访问内存访问请求m请求访问的内存。
本发明实施例提供的处理器核心隔离装置,在CPU SOC***启动时,安全处理器配置需要做处理器隔离的处理器核心的缓存一致性协议探测的屏蔽选项,使需要做处理器隔离的处理器核心对缓存一致性协议的探测进行屏蔽,并且配置需要做处理器隔离的处理器核心为需要隔离内存的处理器核心以及需要做处理器隔离的处理器核心需要隔离的内存地址段;在所述CPU SOC***启动后,内存控制器会根据安全处理器的配置对所述内存地址段进行访问隔离,即仅允许需要做处理器隔离的处理器核心访问安全处理器对其配置的内存地址段对应的内存,而不允许其它情况对所述内存地址段对应的内存的访问,因而本方案可以为CPU SOC***提供一个或一组可隔离的处理器核心,使其具有相对的隔离物理运行环境,从而为CPU SOC***提供安全隔离的运行环境;而且与CPU SOC***中的安全处理器***相比,本方案被隔离的处理器核心,具有更高性能、更灵活的特点,能满足某些安全敏感性业务对高性能安全核心的需求;同时,本方案中被隔离的处理器核心和其它处理器核心仍然具有相似的性能和地位,从而更高效地协同工作。
在前述装置实施例的基础上,所述安全处理器在配置所述第一处理器核心为需要隔离内存的处理器核心及所述第一处理器核心需要隔离的内存地址段,将该配置作为第二配置之后,还可以用于配置针对所述第一处理器核心对所述第一处理器核心需要隔离的内存的访问进行加解密、加解密所使用的密钥以及加解密所使用的算法,将该配置作为第三配置;
其中,所述内存控制器,具体可以用于若根据该第三配置判断获知需要对所述第一处理器核心针对所述内存访问请求请求访问的隔离内存的访问进行加解密,则允许所述第一处理器核心访问所述内存访问请求请求访问的隔离内存,并使用所述加解密所使用的密钥以及加解密所使用的算法对所述第一处理器核心针对所述内存访问请求请求访问的隔离内存的访问进行加解密。
本实施例中,当CPU SOC***启动时,SOC中的安全处理器检查预设的隔离配置选项判断是否需要做处理器隔离,如果需要做处理器隔离,则对需要隔离的处理器核心屏蔽探测,屏蔽对需要隔离的处理器核心的缓存一致性探测,即配置对需要隔离的处理器核心进行缓存一致性协议探测屏蔽,以使屏蔽模块在CPU SOC***启动后根据该配置屏蔽对需要隔离的处理器核心的缓存一致性协议探测。其中,探测屏蔽选项需要指明:每一个需要屏蔽探测的处理器核心的标识(即ID号,具***数与具体SOC***有关,只要能唯一标识出处理器核心就可以,可以是处理器核心的ID,也可以硬件模块的ID或者端口的ID)。在对需要隔离的处理器核心的缓存一致性探测进行屏蔽后,安全处理器依次设置内存控制器中针对需要隔离的处理器核心的隔离选项和加解密选项,在设置完隔离选项和加解密选项后,安全处理器回归到CPU SOC***正常启动流程。其中,隔离选项需要指明:每一个需要隔离的处理器核心的ID号;每一个需要隔离的处理器核心需要隔离的内存地址段。当然除此之外,隔离选项还需要对每一个需要隔离的处理器核心设置隔离使能位,以标识对需要隔离的处理器核心是否启用内存隔离功能,具体地,可以设置隔离使能位取值为0时不启用内存隔离功能,取值为1时启用内存隔离功能。加解密选项需要指明:每一个需要隔离的处理器核心的ID号(如果与隔离选项合并,可以省略这个ID号);加、解密所用的密钥(用于对隔离内存中数据加、解密);加、解密所用的算法标识(用于选择需要使用的加、解密算法对隔离内存中的数据进行加密或解密,具***数与待选算法的数量相关,待选算法越多,位数也会越多)。当然除此之外,加解密选项中还需要对每一个需要隔离的处理器核心设置加、解密使能位,以标识对隔离内存是否启用加、解密功能,具体地,可以设置加、解密使能位取值为0时不启用加、解密功能,取值为1时启用加、解密功能。上述探测屏蔽选项、隔离选项和加解密选项可以以表的形式设置,其中,隔离选项和加解密选项可以设置在同一张表中。
在CPU SOC***启动流程结束后,内存控制器即开始对需要隔离的处理器核心的内存访问进行隔离检查,使得只有需要隔离的处理器核心(即ID号为隔离选项指定的需要隔离的处理器核心的ID号)才能访问隔离选项指定的内存地址段对应的隔离内存,而且在需要隔离的处理器核心访问隔离内存时,需要对需要隔离的处理器核心的访问进行加解密(即使用加解密选项指定的加、解密密钥以及加、解密算法对需要隔离的处理器核心针对隔离内存的访问进行加解密)。
另外,需要说明的是,如果安全处理器判断不需要做处理器隔离,则CPU SOC***正常启动,后续内存访问将不再接受隔离检查。在使用需要隔离处理器时具体可以根据应用场景不同而对使用需要隔离处理器的方法进行变化,比如,可以由CPU SOC***中的安全处理器协助初始化需要隔离处理器的启动镜像,并协助其它处理核心通过消息队列、中断、API等方式,调用需要隔离处理器执行安全程序,处理敏感数据。
本实施例中,使用加解密密钥和加解密算法对隔离内存进行加解密,能进一步增加隔离内存的安全性。
在前述装置实施例的基础上,所述内存地址段可以通过基地址和长度,或者基地址和mask数据,或者上限地址和下限地址的方式表示。
本实施例中,需要说明的是,所述内存地址段可以为一组或多组地址,每一组表示一段连续的地址段,对其表示方法不作限定。当所述内存地址段通过基地址和长度的方式表示时,每一组地址为从基地址到基地址+长度这一段内存地址;当所述内存地址段通过基地址和mask数据的方式表示时,每一组地址为与mask数据进行按比特位与操作等于基地址的所有内存地址形成的集合;从基地址到基地址+长度这一段内存地址;当所述内存地址段通过上限地址和下限地址的方式表示时,每一组地址为从上限地址到下限地址这一段内存地址。
在前述装置实施例的基础上,所述加解密所使用的密钥与所述加解密所使用的算法一致。
本实施例中,所述加解密所使用的密钥与所述加解密所使用的算法一致,比如当加解密所使用的算法为高级加密标准AES-128时,加解密所使用的密钥为128比特位的密钥。
在前述装置实施例的基础上,所述安全处理器可以为平台安全处理器。
上文已经参考附图描述了本公开的优选实施例,当然,本公开并不限于上面的示例。在所附的权利要求的范围内,本领域的技术人员可以进行各种改变和修改,并且应当明白,这些改变和修改自然落入本公开的技术范围内。
Claims (10)
1.一种处理器核心隔离方法,其特征在于,包括:
在CPU SOC***启动时,安全处理器若判断获知第一处理器核心需要做处理器隔离,则配置对所述第一处理器核心进行缓存一致性协议探测屏蔽,将该配置作为第一配置,并配置所述第一处理器核心为需要隔离内存的处理器核心及所述第一处理器核心需要隔离的内存地址段,将该配置作为第二配置;以及
在所述CPU SOC***启动后,所述CPU SOC***中新增的屏蔽模块根据该第一配置对所述第一处理器核心进行缓存一致性协议探测屏蔽;以及
在所述CPU SOC***启动后,内存控制器若接收到所述第一处理器核心发送的内存访问请求,且根据所述内存访问请求和该第二配置判断获知所述第一处理器核心为需要隔离内存的处理器核心,以及所述第一处理器核心请求访问的内存的地址属于所述第一处理器核心需要隔离的内存地址段,则允许所述第一处理器核心访问所述内存访问请求请求访问的隔离内存。
2.根据权利要求1所述的方法,其特征在于,在所述配置所述第一处理器核心为需要隔离内存的处理器核心及所述第一处理器核心需要隔离的内存地址段,将该配置作为第二配置之后,还包括:
所述安全处理器配置针对所述第一处理器核心对所述第一处理器核心需要隔离的内存的访问进行加解密、加解密所使用的密钥以及加解密所使用的算法,将该配置作为第三配置;
其中,所述允许所述第一处理器核心访问所述内存访问请求请求访问的隔离内存,包括:
所述内存控制器若根据该第三配置判断获知需要对所述第一处理器核心针对所述内存访问请求请求访问的隔离内存的访问进行加解密,则允许所述第一处理器核心访问所述内存访问请求请求访问的隔离内存,并使用所述加解密所使用的密钥以及加解密所使用的算法对所述第一处理器核心针对所述内存访问请求请求访问的隔离内存的访问进行加解密。
3.根据权利要求1或2所述的方法,其特征在于,所述内存地址段通过基地址和长度,或者基地址和mask数据,或者上限地址和下限地址的方式表示。
4.根据权利要求2所述的方法,其特征在于,所述加解密所使用的密钥与所述加解密所使用的算法一致。
5.根据权利要求1所述的方法,其特征在于,所述安全处理器为平台安全处理器。
6.一种处理器核心隔离装置,其特征在于,包括:
安全处理器,用于在CPU SOC***启动时,若判断获知第一处理器核心需要做处理器隔离,则配置对所述第一处理器核心进行缓存一致性协议探测屏蔽,将该配置作为第一配置,并配置所述第一处理器核心为需要隔离内存的处理器核心及所述第一处理器核心需要隔离的内存地址段,将该配置作为第二配置;以及
屏蔽模块,所述屏蔽模块为所述CPU SOC***中新增的硬件模块,用于在所述CPU SOC***启动后,根据该第一配置对所述第一处理器核心进行缓存一致性协议探测屏蔽;以及
内存控制器,用于在所述CPU SOC***启动后,若接收到所述第一处理器核心发送的内存访问请求,且根据所述内存访问请求和该第二配置判断获知所述第一处理器核心为需要隔离内存的处理器核心,以及所述第一处理器核心请求访问的内存的地址属于所述第一处理器核心需要隔离的内存地址段,则允许所述第一处理器核心访问所述内存访问请求请求访问的隔离内存。
7.根据权利要求6所述的装置,其特征在于,所述安全处理器在配置所述第一处理器核心为需要隔离内存的处理器核心及所述第一处理器核心需要隔离的内存地址段,将该配置作为第二配置之后,还用于配置针对所述第一处理器核心对所述第一处理器核心需要隔离的内存的访问进行加解密、加解密所使用的密钥以及加解密所使用的算法,将该配置作为第三配置;
其中,所述内存控制器,用于若根据该第三配置判断获知需要对所述第一处理器核心针对所述内存访问请求请求访问的隔离内存的访问进行加解密,则允许所述第一处理器核心访问所述内存访问请求请求访问的隔离内存,并使用所述加解密所使用的密钥以及加解密所使用的算法对所述第一处理器核心针对所述内存访问请求请求访问的隔离内存的访问进行加解密。
8.根据权利要求6或7所述的装置,其特征在于,所述内存地址段通过基地址和长度,或者基地址和mask数据,或者上限地址和下限地址的方式表示。
9.根据权利要求7所述的装置,其特征在于,所述加解密所使用的密钥与所述加解密所使用的算法一致。
10.根据权利要求6所述的装置,其特征在于,所述安全处理器为平台安全处理器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910474684.1A CN110210214A (zh) | 2019-06-03 | 2019-06-03 | 处理器核心隔离方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910474684.1A CN110210214A (zh) | 2019-06-03 | 2019-06-03 | 处理器核心隔离方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110210214A true CN110210214A (zh) | 2019-09-06 |
Family
ID=67790151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910474684.1A Pending CN110210214A (zh) | 2019-06-03 | 2019-06-03 | 处理器核心隔离方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110210214A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021052017A1 (zh) * | 2019-09-18 | 2021-03-25 | 华为技术有限公司 | 通信方法、装置、计算机可读存储介质和芯片 |
CN113268447A (zh) * | 2021-06-10 | 2021-08-17 | 海光信息技术股份有限公司 | 计算机架构及其内的访问控制、数据交互及安全启动方法 |
CN113342278A (zh) * | 2021-06-22 | 2021-09-03 | 海光信息技术股份有限公司 | 处理器及其保持缓存数据一致性的方法 |
US20240061598A1 (en) * | 2022-08-16 | 2024-02-22 | Idaho Scientific Llc | System for protecting cpu core by identifying data and instructions |
US11966332B2 (en) | 2022-09-12 | 2024-04-23 | Idaho Scientific Llc | Computing data and instructions at immutable points |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477477A (zh) * | 2009-01-12 | 2009-07-08 | 华为技术有限公司 | 内核空间隔离方法、空间管理实体及*** |
DE502008002533D1 (de) * | 2007-09-21 | 2011-03-17 | Continental Teves Ag & Co Ohg | Integriertes mikroprozessorsystem für sicherheitskritische regelungen |
CN102103552A (zh) * | 2009-12-22 | 2011-06-22 | Nxp股份有限公司 | 安全高速缓存存储器架构 |
CN103607279A (zh) * | 2013-11-14 | 2014-02-26 | 中国科学院数据与通信保护研究教育中心 | 基于多核处理器的密钥保护方法及*** |
US20160070658A1 (en) * | 2014-09-08 | 2016-03-10 | Raytheon Company | Multi-level, hardware-enforced domain separation using a separation kernel on a multicore processor with a shared cache |
CN109522099A (zh) * | 2017-09-20 | 2019-03-26 | 厦门雅迅网络股份有限公司 | 提高非实时性操作***实时性的方法及其*** |
-
2019
- 2019-06-03 CN CN201910474684.1A patent/CN110210214A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE502008002533D1 (de) * | 2007-09-21 | 2011-03-17 | Continental Teves Ag & Co Ohg | Integriertes mikroprozessorsystem für sicherheitskritische regelungen |
CN101477477A (zh) * | 2009-01-12 | 2009-07-08 | 华为技术有限公司 | 内核空间隔离方法、空间管理实体及*** |
CN102103552A (zh) * | 2009-12-22 | 2011-06-22 | Nxp股份有限公司 | 安全高速缓存存储器架构 |
CN103607279A (zh) * | 2013-11-14 | 2014-02-26 | 中国科学院数据与通信保护研究教育中心 | 基于多核处理器的密钥保护方法及*** |
US20160070658A1 (en) * | 2014-09-08 | 2016-03-10 | Raytheon Company | Multi-level, hardware-enforced domain separation using a separation kernel on a multicore processor with a shared cache |
CN109522099A (zh) * | 2017-09-20 | 2019-03-26 | 厦门雅迅网络股份有限公司 | 提高非实时性操作***实时性的方法及其*** |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021052017A1 (zh) * | 2019-09-18 | 2021-03-25 | 华为技术有限公司 | 通信方法、装置、计算机可读存储介质和芯片 |
US11941259B2 (en) | 2019-09-18 | 2024-03-26 | Huawei Technologies Co., Ltd. | Communication method, apparatus, computer-readable storage medium, and chip |
CN113268447A (zh) * | 2021-06-10 | 2021-08-17 | 海光信息技术股份有限公司 | 计算机架构及其内的访问控制、数据交互及安全启动方法 |
CN113342278A (zh) * | 2021-06-22 | 2021-09-03 | 海光信息技术股份有限公司 | 处理器及其保持缓存数据一致性的方法 |
US20240061598A1 (en) * | 2022-08-16 | 2024-02-22 | Idaho Scientific Llc | System for protecting cpu core by identifying data and instructions |
US12019887B2 (en) * | 2022-08-16 | 2024-06-25 | Idaho Scientific Llc | System for protecting CPU core by identifying data and instructions |
US11966332B2 (en) | 2022-09-12 | 2024-04-23 | Idaho Scientific Llc | Computing data and instructions at immutable points |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110210214A (zh) | 处理器核心隔离方法及装置 | |
US11520906B2 (en) | Cryptographic memory ownership table for secure public cloud | |
RU2738021C2 (ru) | Система и способы для дешифрования сетевого трафика в виртуализированной среде | |
CN107533609B (zh) | 用于对***中的多个可信执行环境进行控制的***、设备和方法 | |
CN106063185B (zh) | 用于安全地共享数据的方法和装置 | |
EP3111618B1 (en) | Securing client-specified credentials at cryptographically attested resources | |
JP5736090B2 (ja) | 仮想ゲストのメモリ保護の方法、システムおよびコンピュータプログラム | |
CN105009138B (zh) | 用于处理数据库客户请求的方法和*** | |
CN109565444A (zh) | 安全公共云 | |
JP2016523421A (ja) | ハイパーバイザに制御されるシステムにおいてゲスト・イベントを処理するための方法、データ処理プログラム、コンピュータ・プログラム製品、およびデータ処理システム | |
CN110447032A (zh) | 管理程序与虚拟机之间的存储器页转换监测 | |
CN110637301B (zh) | 减少虚拟机中敏感数据的泄密 | |
CN106997438A (zh) | 一种可信服务器cpu设计方法 | |
JP2022040156A (ja) | 仮想化環境でのチェックポイント認証による仮想マシン移行の方法 | |
US20190384923A1 (en) | Mechanism to enable secure memory sharing between enclaves and i/o adapters | |
CN113498589A (zh) | Api和加密密钥机密管理***和方法 | |
US20190238560A1 (en) | Systems and methods to provide secure storage | |
CN107526974A (zh) | 一种信息密码保护装置和方法 | |
AU2020287873B2 (en) | Systems and methods for processor virtualization | |
TW201346612A (zh) | 使用儲存裝置以實施數位版權管理保護之方法及設備 | |
US9411979B2 (en) | Embedding secret data in code | |
JP2022043279A (ja) | 仮想化環境内の人工知能アクセラレータ・ステータス確認を用いる仮想マシン移行のための方法 | |
CN110443078A (zh) | 一种基于特权分级的安全存储*** | |
US20230236870A1 (en) | Safe entropy source for encrypted virtual machines | |
US20160044041A1 (en) | Verifying caller authorization using secret data embedded in code |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190906 |