CN117194286A - 微控制单元、处理器、访问方法和访问系统 - Google Patents
微控制单元、处理器、访问方法和访问系统 Download PDFInfo
- Publication number
- CN117194286A CN117194286A CN202311162220.XA CN202311162220A CN117194286A CN 117194286 A CN117194286 A CN 117194286A CN 202311162220 A CN202311162220 A CN 202311162220A CN 117194286 A CN117194286 A CN 117194286A
- Authority
- CN
- China
- Prior art keywords
- target
- access
- memory
- access command
- control unit
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000012545 processing Methods 0.000 claims abstract description 74
- 230000006870 function Effects 0.000 claims abstract description 38
- 238000012544 monitoring process Methods 0.000 claims abstract description 6
- 238000002955 isolation Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Abstract
本申请涉及一种微控制单元、处理器、访问方法和访问系统。微控制单元中,寄存器用于存储内存单元中多个预设内存区域对应的区域值;第一处理模块,用于监测寄存器的状态信息,并根据状态信息读取内存单元中目标内存区域的目标访问命令,并将读取到的目标访问命令发送至可信平台模块,以指示可信平台模块执行目标访问命令对应的功能,状态信息用区域值表征,状态信息与微控制单元当前支持的运行系统的系统类型相关,目标内存区域为多个预设内存区域中的一个。本申请实施例能够对TPM的不同功能访问进行安全隔离。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种微控制单元、处理器、访问方法和访问系统。
背景技术
在服务器系统中,基本输入输出系统(Basic Input Output System,BIOS)中、操作系统(Operating System,OS)及其它系统等对可信平台模块(Trusted PlatformModule,TPM)功能的访问权限通常是不一致的。对于安全平台,在BIOS系统下对TPM访问权限最高,允许执行TPM所有功能;OS系统和应用程序容易受到网络攻击,在OS系统或应用程序下仅允许执行不会修改TPM安全内容的功能。因此,一旦OS系统或应用程序被攻破,OS系统或应用程序拥有TPM的最高访问权限,将很容易导致平台出现安全漏洞,致使平台不被信任,因此,如何提供一种能够安全访问TPM的不同功能的硬件,成为当前亟需解决的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够对TPM的不同功能访问进行安全隔离的微控制单元、处理器、访问方法和访问系统。
第一方面,本申请提供了一种微控制单元,包括:
寄存器,用于存储内存单元中多个预设内存区域对应的区域值;
第一处理模块,用于监测所述寄存器的状态信息,并根据所述状态信息读取所述内存单元中目标内存区域的目标访问命令,并将读取到的所述目标访问命令发送至可信平台模块,以指示所述可信平台模块执行所述目标访问命令对应的功能,所述状态信息用所述区域值表征,所述状态信息与所述微控制单元当前支持的运行系统的系统类型相关,所述目标内存区域为多个所述预设内存区域中的一个。
在其中一个实施例中,所述第一处理模块还用于在根据所述状态信息未读取到所述内存单元中目标内存区域的目标访问命令的情况下,输出错误信息至外部设备。
在其中一个实施例中,所述第一处理模块还用于获取携带目标访问命令的外部访问请求,在所述外部访问请求携带的目标访问命令与读取到的目标访问命令不一致的情况下,输出错误信息至外部设备。
在其中一个实施例中,所述第一处理模块还用于采用中断方式输出所述错误信息至外部设备。
在其中一个实施例中,所述第一处理模块还用于获取多个访问命令,并将所述多个访问命令分别对应存储至所述内存单元中多个预设内存区域,所述目标访问命令为多个所述访问命令中的一个;
所述第一处理模块还用于根据所述访问命令与所述预设内存区域的存储对应关系配置所述寄存器的多个所述区域值。
第二方面,本申请还提供了一种处理器,包括:如第一方面所述的微控制单元。
在其中一个实施例中,所述处理器还包括:
第二处理模块,与所述微控制单元连接,用于获取多个访问命令,并将所述多个访问命令分别对应存储至所述内存单元中多个预设内存区域,以及将所述访问命令与所述预设内存区域的存储对应关系发送至所述第一处理模块,以使所述第一处理模块配置所述寄存器的多个所述区域值。
在其中一个实施例中,所述第二处理模块还用于接收外部访问请求,并根据所述外部访问请求触发所述微控制单元。
在其中一个实施例中,所述处理器还包括:
总线,分别与所述第一处理模块、所述第二处理模块、所述内存单元连接;
接口模块,分别与所述总线、所述可信平台模块连接,用于将所述第一处理模块基于所述总线从所述内存单元的目标内存区域读取的目标访问命令,传输至所述可信平台模块。
第三方面,本申请还提供了一种访问系统,包括:如第二方面所述的处理器;
内存单元,与所述处理器连接,包括多个预设内存区域,每一所述预设内存区域用于存储访问命令,且各所述预设内存区域存储的访问命令至少部分不同;
可信平台模块,与所述处理器连接,用于接收所述目标访问命令,并执行所述目标访问命令对应的功能。
第四方面,本申请还提供了一种访问方法,应用于微控制单元,所述方法包括:
获取寄存器中存储的多个区域值,所述区域值为内存单元中各预设内存区域的值;
监测所述寄存器的状态信息,并根据所述状态信息读取所述内存单元中目标内存区域的目标访问命令,并将读取到的所述目标访问命令发送至可信平台模块,以指示所述可信平台模块执行所述目标访问命令对应的功能,所述状态信息用所述区域值表征,所述状态信息与所述处理器当前支持的运行系统的系统类型相关,所述目标内存区域为多个所述预设内存区域中的一个。
在其中一个实施例中,所述方法还包括:
在根据所述状态信息未读取到所述内存单元中目标内存区域的目标访问命令的情况下,输出错误信息至外部设备。
在其中一个实施例中,所述方法还包括:
获取携带目标访问命令的外部访问请求;
在所述外部访问请求携带的目标访问命令与读取到的目标访问命令不一致的情况下,输出错误信息至外部设备。
上述微控制单元,包括寄存器和第一处理模块。用于存储TPM的访问命令的内存单元,其包括多个预设内存区域,不同预设内存区域存储TPM的不同访问命令,不同访问命令对应TPM的不同访问权限,不同预设内存区域配置不同区域值。寄存器存储各预设内存区域对应的区域值,区域值可用于表征寄存器的状态信息。第一处理模块监测寄存器的状态信息,状态信息与微控制单元当前支持的运行系统的系统类型相关,并根据状态信息读取内存单元中目标内存区域的目标访问命令,目标内存区域为多个预设内存区域中的一个,目标内存区域存储的访问命令包含目标访问命令,最后将读取到的目标访问命令发送至TPM,以指示TPM执行目标访问命令对应的功能。本申请实施例以此将目标访问命令与微控制单元当前支持的运行系统的系统类型建立关联关系,进而可以读取内存单元中目标内存区域的目标访问命令,以指示TPM执行目标访问命令对应的功能,是得TPM执行的功能需与微控制单元当前支持的运行系统的系统类型相符合,例如,微控制单元当前支持的运行系统为OS系统而非BIOS系统,那么当前TPM执行的功能与OS系统对TPM的访问权限相适配,而TPM执行的功能与BIOS系统能够访问TPM的访问权限不适配,从而实现了对TPM的不同功能访问的安全隔离。
附图说明
图1为一个实施例中一种微控制单元的结构框图;
图2为一个实施例中内存单元和微控制单元中寄存器的结构示意图;
图3为一个实施例中一种处理器的结构框图;
图4为一个实施例中一种访问系统的结构框图;
图5为一个实施例中一种访问方法的流程示意图;
图6为一个实施例中一种访问方法的流程示意图;
图7为一个实施例中一种访问方法的流程示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的微控制单元可以是安全模块Secure Module。Secure Module可以是一个独立的硬件或者软件组件;Secure Module可以在计算机设备中使用,用于提供安全保护和执行安全功能。
本申请实施例提供的微控制单元可以应用于对TPM的访问场景。其中,TPM芯片可以理解为一种安全组件,通常嵌入在计算机或服务器硬件上。TPM芯片是一种用于提供安全处理和存储敏感信息的芯片,能够提高设备的安全性和可信度。TPM芯片可包括但不限于安全处理器(Secure Processor)、随机数生成器(Random Number Generator)、密码学算法(Cryptographic Algorithms)、存储器(Memory)以及总线接口(Bus Interface)等。其中,安全处理器是TPM芯片的核心部分,执行芯片的安全功能,包括密钥管理、加密和解密操作等。安全处理器是一个专用的微控制器,具有自己的指令集和内存空间。随机数生成器用于生成随机数,以用于加密操作和认证过程中的密钥生成和数字签名。TPM芯片支持多种密码学算法,用于加密、解密和认证操作。这些算法包括对称加密算法(如AES)、非对称加密算法(如RSA)和哈希算法(如SHA-256)等。TPM芯片有一个小的非易失性存储器,用于存储密钥、证书和其他敏感数据。TPM芯片可通过总线接口与主机系统通信,主要使用现代计算机系统中广泛使用的接口,如SPI(Serial Peripheral Interface)或I2C(Inter-IntegratedCircuit)等。
在一个实施例中,如图1所示,提供了一种微控制单元100,包括:寄存器110和第一处理模块120。
寄存器110用于存储内存单元20中多个预设内存区域对应的区域值。其中,内存单元20可以是TPM的自带内存单元20,也可以是服务器系统中的其它内存单元20。内存单元20用于存储TPM的访问命令。TPM的一个访问命令可包括多个访问子命令,TPM可执行一个访问子命令对应的TPM的至少一个功能。
通常,内存单元20包括一整片内存区域,将该一整片内存区域划分若干份,可以得到多个预设内存区域;其中,不同预设内存区域存储TPM的不同访问命令,不同访问命令对应TPM的不同访问权限,不同预设内存区域配置不同区域值,内存单元20中各预设内存区域对应的区域值均存储于微控制单元100的寄存器110中。
示例性地,参考图2,内存单元20包括5个预设内存区域,5个预设内存区域分别存储TPM的不同访问命令,5个预设内存区域分别对应TPM的不同访问权限,5个预设内存区域的区域值分别配置为0、1、2、3、和4,区域值0、1、2、3、和4均存储于微控制单元100的寄存器110中。
微控制单元100的寄存器110具有一状态信息,该状态信息会实时更新,预设内存区域的区域值可以表征该状态信息。多个预设内存区域对应的多个区域值可以表征该寄存器110的多个状态信息。例如,区域值0可以表征寄存器110的一个状态信息,区域值1可以表征寄存器110的另一个状态信息…区域值4可以表征寄存器110的再一个状态信息。
该寄存器110的状态信息与微控制单元100当前支持的运行系统的系统类型相关,即该寄存器110的状态信息与微控制单元100当前支持的运行系统的系统类型具有相关联的对应关系。微控制单元100当前支持的运行系统可以但不限于是BIOS系统、OS系统或者应用程序等。例如,寄存器110的状态信息为区域值0时,对应微控制单元100当前支持的运行系统为BIOS系统;微控制单元100当前支持的运行系统为OS系统时,对应寄存器110的状态信息为区域值1。
第一处理模块120用于监测寄存器110的状态信息,并根据状态信息读取内存单元20中目标内存区域的目标访问命令,目标内存区域为多个预设内存区域中的一个,目标内存区域存储的访问命令包含目标访问命令,并将读取到的目标访问命令发送至可信平台模块30,以指示可信平台模块30执行目标访问命令对应的功能。
其中,第一处理模块120可以实时轮询寄存器110的状态信息,并根据状态信息确定内存单元20中的一个预设内存区域为目标内存区域,进而读取目标内存区域的目标访问命令。本申请实施例,可以根据状态信息对应的区域值,确定内存单元20中的一个预设内存区域为目标内存区域。例如,第一处理模块120监测到寄存器110的状态信息对应的区域值为1,则可以确定内存单元20中区域值为1的预设内存区域为目标内存区域,进而在区域值为1的预设内存区域中读取目标访问命令。
如此,本申请实施例,内存单元20包括多个预设内存区域,不同预设内存区域配置不同区域值,不同预设内存区域存储TPM的不同访问命令,不同访问命令对应TPM的不同访问权限。微控制单元100的寄存器110存储内存单元20中各预设内存区域的区域值,不同预设内存区域的区域值表征寄存器110的不同状态信息,寄存器110的不同状态信息对应微控制单元100当前支持的运行系统的不同系统类型。微控制单元100的第一处理模块120实时监测寄存器110的状态信息,并根据状态信息对应的区域值确定内存单元20中的一个预设内存区域为目标内存区域,并读取目标内存区域的目标访问命令,并将读取到的目标访问命令发送至可信平台模块30,以指示可信平台模块30执行目标访问命令对应的功能。
本申请实施例以此将当前对TPM的访问权限与微控制单元100当前支持的运行系统的系统类型建立关联关系,使得当前对TPM的访问权限需与微控制单元100当前支持的运行系统的系统类型相符合,例如,微控制单元100当前支持的运行系统为OS系统,对应寄存器110的状态信息为区域值1,则目标内存区域为区域值1对应的预设内存区域,目标访问命令存储于区域值1对应的预设内存区域内,而目标访问命令对应当前对TPM的访问权限;微控制单元100当前支持的运行系统为BIOS系统,对应寄存器110的状态信息为区域值0,从而目标内存区域为区域值0对应的预设内存区域,目标访问命令存储于区域值0对应的预设内存区域内,而目标访问命令对应当前对TPM的访问权限,从而实现了对TPM的不同功能访问的安全隔离。
在一个实施例中,第一处理模块120还用于在根据状态信息未读取到内存单元20中目标内存区域的目标访问命令的情况下,输出错误信息至外部设备。
其中,第一处理模块120监测当前寄存器110的状态信息,并根据寄存器110的状态信息对应的区域值确定内存单元20中的一个预设内存区域为目标内存区域。在第一处理模块120于该目标内存区域内未读取到目标访问命令的情况下,表明当前对TPM的功能访问属于超出该目标内存区域对应的访问权限的访问,可以确定为非安全访问,因此第一处理模块120输出错误信息至外部设备。本实施例由此可以确保对TPM功能安全隔离访问。
外部设备可以是BIOS系统、OS系统或应用程序等。示例性地,在微控制单元100当前支持的运行系统为BIOS系统的情况下,第一处理模块120可以输出错误信息至BIOS系统;在微控制单元100当前支持的运行系统为OS系统的情况下,第一处理模块120可以输出错误信息至OS系统。
本申请实施例,第一处理模块120能够在未读取到内存单元20中目标内存区域的目标访问命令的情况下,输出错误信息给外部设备,以警示外部设备,提高了微控制单元100和外部设备的使用安全性。
在一个实施例中,第一处理模块120还用于获取携带目标访问命令的外部访问请求,在外部访问请求携带的目标访问命令与读取到的目标访问命令不一致的情况下,输出错误信息至外部设备。
其中,第一处理模块120获取到携带目标访问命令的外部访问请求时,第一处理模块120被触发。第一处理模块120被触发后,第一处理模块120监测当前寄存器110的状态信息,并根据寄存器110的状态信息对应的区域值确定内存单元20中的一个预设内存区域为目标内存区域,并读取目标内存区域内的目标访问命令。在第一处理模块120比对到外部访问请求携带的目标访问命令与读取到的目标访问命令并不一致的情况下,表明当前读取出错或者当前对TPM的功能访问属于超出该目标内存区域对应的访问权限的访问,因此第一处理模块120输出错误信息至外部设备。本实施例由此可以确保对TPM功能安全隔离访问。
本申请实施例,第一处理模块120能够在外部访问请求携带的目标访问命令与读取到的目标访问命令不一致的情况下,输出错误信息给外部设备,以警示外部设备,提高了微控制单元100和外部设备的使用安全性。
在一个实施例中,第一处理模块120还用于采用中断方式输出错误信息至外部设备。
本申请实施例,在当前对TPM的功能访问属于超出目标内存区域对应的访问权限的访问的情况下,第一处理模块120采用中断方式将外部访问请求对TPM的功能访问中断,以阻止外部访问请求对TPM的功能访问,确保对TPM功能安全隔离访问;同时,输出错误信息至外部设备。
需要说明的是,第一处理模块120还可以采用其他通讯方式将输出错误信息至外部设备,不限于本申请实施例提供的中断方式。
在一个实施例中,第一处理模块120还用于获取多个访问命令,并将多个访问命令分别对应存储至内存单元20中对各预设内存区域,目标访问命令为多个访问命令中的一个。可以理解的是,第一处理模块120将多个访问命令分别对应存储至内存单元20后,可建立访问命令与预设内存区域的存储对应关系。基于此,第一处理模块120可根据访问命令与预设内存区域的存储对应关系配置寄存器110的多个区域值。
本申请实施例,基于第一处理模块120,可以将内存单元20中各预设内存区域与寄存器110的各区域值进行映射对应,以使寄存器110对应存储内存单元20中多个预设内存区域对应的区域值,以为第一处理模块120基于寄存器110的状态信息读取所述内存单元20中目标内存区域的目标访问命令提供基础。
基于相同的发明构思,本实施例还提供了一种处理器,处理器包括如上述任意实施例提供的微控制单元100。
本申请实施例提供的处理器,其包括前述任一实施例中的微控制单元100,以此将当前对TPM的访问权限与微控制单元100当前支持的运行系统的系统类型建立关联关系,使得当前对TPM的访问权限需与微控制单元100当前支持的运行系统的系统类型相符合,例如,微控制单元100当前支持的运行系统为OS系统,对应寄存器110的状态信息为区域值1,则目标内存区域为区域值1对应的预设内存区域,目标访问命令存储于区域值1对应的预设内存区域内,而目标访问命令对应当前对TPM的访问权限;微控制单元100当前支持的运行系统为BIOS系统,对应寄存器110的状态信息为区域值0,从而目标内存区域为区域值0对应的预设内存区域,目标访问命令存储于区域值0对应的预设内存区域内,而目标访问命令对应当前对TPM的访问权限,从而实现了对TPM的不同功能访问的安全隔离。
在一个实施例中,处理器还包括:第二处理模块210,与微控制单元100连接,用于获取多个访问命令,并将多个访问命令分别对应存储至内存单元20中多个预设内存区域,以及将访问命令与预设内存区域的存储对应关系发送至第一处理模块120,以使第一处理模块120配置寄存器110的多个区域值。
与前述实施例不同的是,在对寄存器110的多个区域值进行配置的过程中,可以由处理器中的第二处理模块210来获取多个访问命令,并将多个访问命令分别对应存储至内存单元20中多个预设内存区域,并建立访问命令与预设内存区域的存储对应关系。第二处理模块210将建立后的存储对应关系输出至第一处理模块120,第一处理模块120可根据存储对应关系配置寄存器110的多个区域值。基于此,可以提高处理器中第一功能模块和第二功能模块的功能灵活性,进而可提高处理器的运行效率。
在一个实施例中,第二处理模块210还用于接收外部访问请求,并根据外部访问请求触发微控制单元100。
外部访问请求可以理解为获取目标访问命令的请求。在本申请实施例中,第二处理模块210可以接收该外部访问请求,并在接收到该外部访问请求时触发微控制单元100,以使微控制单元100处于工作状态,进而使得第一处理模块120开始监测寄存器110的状态信息,并根据状态信息读取内存单元20中目标内存区域的目标访问命令,并将读取到的目标访问命令发送至可信平台模块30。
可选地,在未接收到外部访问请求的情况下,微控制单元100可处于休眠状态,以节省微控制单元100的功耗。
在一个实施例中,处理器还包括:总线220和接口模块230。其中,总线220分别与第一处理模块120、第二处理模块210、内存单元20连接。示例性的,总线220可以为AXI(Advanced eXtensible Interface)总线220,其中,AXI总线220是一种总线220协议。可选地,总线220还可以为其他类型总线220,在本申请实施例中不做进一步地限定。总线220可实现处理器内部各个模块之间的数据传输,例如,外部访问请求、各个访问命令、寄存器110的状态信息等。
接口模块230,分别与总线220、可信平台模块30连接,用于将第一处理模块120基于总线220从内存单元20的目标内存区域读取的目标访问命令,传输至可信平台模块30。其中,接口模块230可实现处理器与外部单元,例如,内存单元20、可信任平台模块,之间的数据传输。示例性的,接口模块230可以为串行外设接口(Serial Peripheral Interface,SPI)。可选地,接口模块230还可以为其他类型的接口,在本申请实施例中不做进一步地限定。
在本申请实施例中,处理器包括微控制单元100、第二处理模块210、总线220和接口模块230,通过总线220、接口模块230可实现处理器内部各个模块之间的数据交互,以及处理器与外部单元的数据交互,进而可实现对TPM的不同功能访问的安全隔离。
基于相同的发明构思,本实施例还提供了一种访问系统,访问系统包括内存单元20、可信平台模块30和如上述任意实施例提供的处理器;其中,内存单元20与处理器连接,内存单元20包括多个预设内存区域,每一预设内存区域用于存储访问命令,且各预设内存区域存储的访问命令至少部分不同;可信平台模块30与处理器连接,可信平台模块30用于接收目标访问命令,并执行目标访问命令对应的功能。
基于相同的发明构思,本实施例还提供了一种访问方法,应用于微控制单元,方法包括:
步骤502,获取寄存器中存储的多个区域值,区域值为内存单元中各预设内存区域的值。
步骤504,监测寄存器的状态信息,并根据状态信息读取内存单元中目标内存区域的目标访问命令,并将读取到的目标访问命令发送至可信平台模块,以指示可信平台模块执行目标访问命令对应的功能,状态信息用区域值表征,状态信息与处理器当前支持的运行系统的系统类型相关,目标内存区域为多个预设内存区域中的一个。
在一个实施例中,访问方法还包括:在根据状态信息未读取到内存单元中目标内存区域的目标访问命令的情况下,输出错误信息至外部设备。
在一个实施例中,访问方法还包括:获取携带目标访问命令的外部访问请求;在外部访问请求携带的目标访问命令与读取到的目标访问命令不一致的情况下,输出错误信息至外部设备。
以下参考图6,对本申请实施例提供的访问方法作进一步的说明:
步骤602,微控制单元获取携带目标访问命令的外部访问请求。
步骤604,微控制单元监测当前寄存器的状态信息。
步骤606,微控制单元确定状态信息对应的区域值。
步骤608,微控制单元根据区域值在内存单元的多个预设内存区域中,确定目标内存区域。
步骤610,微控制单元在目标内存区域内读取对应外部访问请求的目标访问命令。若微控制单元在目标内存区域内读取到对应外部访问请求的目标访问命令,则执行步骤612。若微控制单元在目标内存区域内未读取到对应外部访问请求的目标访问命令,或微控制单元在目标内存区域内读取到的对应外部访问请求的目标访问命令与外部访问请求携带的目标访问命令不一致,执行步骤614。
步骤612,将读取到的目标访问命令发送至可信平台模块。
步骤614,中断对TPM的功能访问,并输出错误信息至外部设备。
下面通过本申请实施例提供的微控制单元、处理器、访问方法和访问系统,来实现基于Power访问TPM功能安全隔离保护,具体实现过程如下:
TPM主要功能有存储数据、创建密钥、创建随机数、计算哈希等。在服务器系统中,固件以及OS应用对TPM功能权限访问是不一致的。对于安全平台,在固件中对TPM访问权限最高,可以执行TPM所有功能,而在OS下和应用程序只允许执行不会修改TPM安全内容的功能。如果不对TPM访问加入限制,导致OS和应用程序拥有TPM的最高权限,容易造成安全漏洞,造成平台不被信任。
为了对TPM访问功能实现隔离,在TPM上增加Secure Module。增加Secure Module可以保护TPM在固件拥有所有TPM功能,在OS下拥有部分功能等。通过Secure Module硬件寄存器从硬件上实现对TPM功能性权限的保护。
上述的隔离指的是将一片内存区域划分若干份,每一份对TPM来说代表不同的功能。例如,将一片内存区域划分为区域0~4;其中,区域0可以执行TPM所有功能,包括清除TPM安全数据、TPM复位、创建证书等;区域1可以执行除了清除TPM安全数据的其他所有功能;其他区域以此类推,只允许执行部分命令。
上述的Secure Module是单独的一片MCU处理器,嵌入在CPU内部。硬件会将内存区域映射给Secure Module。Secure Module主要作用是判断数据来自内存区域位置。SecureModule中还包括一个硬件寄存器,用来存储预设访问内存区域值,CPU可以直接访问该硬件寄存器。Secure Module轮询检查硬件寄存器状态,如果状态为0,则只能从内存区域0读取数据,并将读取到的数据下发到TPM中,否则代表数据来源异常并上报错误,如此即可实现不同区域功能性的安全隔离。
参考图7,并结合图2与图4,具体实现流程如下:
1.首先由CPU预先将TPM命令放入到指定内存区域。
2.由Secure Module轮询硬件寄存器状态。
3.从硬件寄存器对应的内存区域读取数据。
4.将数据下发到SPI控制器再到TPM中。
不同的内存区域应用在不同的场景中,内存区域0用于固件,并且权限最高,固件拥有TPM全部功能,包括清除和复位TPM;内存区域1,主要用于OS,OS拥有TPM部分功能,不包括TPM清除功能以及复位功能。其中,TPM清除功能会清除掉TPM安全数据,包括加密密钥、配置数据等,导致使用TPM创建的加密密钥、加密的数据,无法被解密造成系统异常。
5.如果数据来源不正确则以中断方式将错误信息上报给固件或者OS。
上报错误是Secure Module通过中断方式将错误上报给CPU,CPU将错误信息上报给固件或者OS,由固件和OS处理。硬件寄存器只有在BIOS固件才有权限修改,所以一旦设定了在接下来的过程中是无法修改的。硬件寄存器的这种特性依赖于CPU硬件寄存器配置特性。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (13)
1.一种微控制单元,其特征在于,包括:
寄存器,用于存储内存单元中多个预设内存区域对应的区域值;
第一处理模块,用于监测所述寄存器的状态信息,并根据所述状态信息读取所述内存单元中目标内存区域的目标访问命令,并将读取到的所述目标访问命令发送至可信平台模块,以指示所述可信平台模块执行所述目标访问命令对应的功能,所述状态信息用所述区域值表征,所述状态信息与所述微控制单元当前支持的运行系统的系统类型相关,所述目标内存区域为多个所述预设内存区域中的一个。
2.根据权利要求1所述的微控制单元,其特征在于,所述第一处理模块还用于在根据所述状态信息未读取到所述内存单元中目标内存区域的目标访问命令的情况下,输出错误信息至外部设备。
3.根据权利要求1所述的微控制单元,其特征在于,所述第一处理模块还用于获取携带目标访问命令的外部访问请求,在所述外部访问请求携带的目标访问命令与读取到的目标访问命令不一致的情况下,输出错误信息至外部设备。
4.根据权利要求2或3所述的微控制单元,其特征在于,所述第一处理模块还用于采用中断方式输出所述错误信息至外部设备。
5.根据权利要求1所述的微控制单元,其特征在于,所述第一处理模块还用于获取多个访问命令,并将所述多个访问命令分别对应存储至所述内存单元中多个预设内存区域,所述目标访问命令为多个所述访问命令中的一个;
所述第一处理模块还用于根据所述访问命令与所述预设内存区域的存储对应关系配置所述寄存器的多个所述区域值。
6.一种处理器,其特征在于,包括:
如权利要求1-5任一项所述的微控制单元。
7.根据权利要求6所述的处理器,其特征在于,所述处理器还包括:
第二处理模块,与所述微控制单元连接,用于获取多个访问命令,并将所述多个访问命令分别对应存储至所述内存单元中多个预设内存区域,以及将所述访问命令与所述预设内存区域的存储对应关系发送至所述第一处理模块,以使所述第一处理模块配置所述寄存器的多个所述区域值。
8.根据权利要求7所述的处理器,其特征在于,所述第二处理模块还用于接收外部访问请求,并根据所述外部访问请求触发所述微控制单元。
9.根据权利要求7所述的处理器,其特征在于,所述处理器还包括:
总线,分别与所述第一处理模块、所述第二处理模块、所述内存单元连接;
接口模块,分别与所述总线、所述可信平台模块连接,用于将所述第一处理模块基于所述总线从所述内存单元的目标内存区域读取的目标访问命令,传输至所述可信平台模块。
10.一种访问系统,其特征在于,包括:
如权利要求6-9任一项所述的处理器,
内存单元,与所述处理器连接,包括多个预设内存区域,每一所述预设内存区域用于存储访问命令,且各所述预设内存区域存储的访问命令至少部分不同;
可信平台模块,与所述处理器连接,用于接收所述目标访问命令,并执行所述目标访问命令对应的功能。
11.一种访问方法,其特征在于,应用于微控制单元,所述方法包括:
获取寄存器中存储的多个区域值,所述区域值为内存单元中各预设内存区域的值;
监测所述寄存器的状态信息,并根据所述状态信息读取所述内存单元中目标内存区域的目标访问命令,并将读取到的所述目标访问命令发送至可信平台模块,以指示所述可信平台模块执行所述目标访问命令对应的功能,所述状态信息用所述区域值表征,所述状态信息与所述处理器当前支持的运行系统的系统类型相关,所述目标内存区域为多个所述预设内存区域中的一个。
12.根据权利要求11所述的访问方法,其特征在于,其特征在于,所述方法还包括:
在根据所述状态信息未读取到所述内存单元中目标内存区域的目标访问命令的情况下,输出错误信息至外部设备。
13.根据权利要求11所述的访问方法,其特征在于,其特征在于,所述方法还包括:
获取携带目标访问命令的外部访问请求;
在所述外部访问请求携带的目标访问命令与读取到的目标访问命令不一致的情况下,输出错误信息至外部设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311162220.XA CN117194286B (zh) | 2023-09-08 | 2023-09-08 | 微控制单元、处理器、访问方法和访问系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311162220.XA CN117194286B (zh) | 2023-09-08 | 2023-09-08 | 微控制单元、处理器、访问方法和访问系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117194286A true CN117194286A (zh) | 2023-12-08 |
CN117194286B CN117194286B (zh) | 2024-03-26 |
Family
ID=88991894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311162220.XA Active CN117194286B (zh) | 2023-09-08 | 2023-09-08 | 微控制单元、处理器、访问方法和访问系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117194286B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110302425A1 (en) * | 2010-06-03 | 2011-12-08 | Ramakrishna Saripalli | Systems, methods, and apparatus to virtualize tpm accesses |
CN105184167A (zh) * | 2015-07-21 | 2015-12-23 | 电子科技大学 | 基于TPM细粒度权限的Android系统安全增强系统及方法 |
CN105389513A (zh) * | 2015-11-26 | 2016-03-09 | 华为技术有限公司 | 一种虚拟可信平台模块vTPM的可信执行方法和装置 |
CN107292176A (zh) * | 2016-04-05 | 2017-10-24 | 联想企业解决方案(新加坡)有限公司 | 用于访问计算设备的可信平台模块的方法和系统 |
CN109739806A (zh) * | 2018-12-28 | 2019-05-10 | 安谋科技(中国)有限公司 | 内存访问方法、内存访问控制器和片上系统 |
CN113312676A (zh) * | 2021-05-25 | 2021-08-27 | 飞腾信息技术有限公司 | 数据访问方法、装置、计算机设备及可读存储介质 |
CN114756503A (zh) * | 2022-04-21 | 2022-07-15 | 杭州中天微系统有限公司 | 一种数据处理方法、片上系统及电子设备 |
CN115730341A (zh) * | 2021-08-26 | 2023-03-03 | 炬芯科技股份有限公司 | 访问控制方法、系统、存储介质、电子设备及系统级芯片 |
-
2023
- 2023-09-08 CN CN202311162220.XA patent/CN117194286B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110302425A1 (en) * | 2010-06-03 | 2011-12-08 | Ramakrishna Saripalli | Systems, methods, and apparatus to virtualize tpm accesses |
CN105184167A (zh) * | 2015-07-21 | 2015-12-23 | 电子科技大学 | 基于TPM细粒度权限的Android系统安全增强系统及方法 |
CN105389513A (zh) * | 2015-11-26 | 2016-03-09 | 华为技术有限公司 | 一种虚拟可信平台模块vTPM的可信执行方法和装置 |
CN107292176A (zh) * | 2016-04-05 | 2017-10-24 | 联想企业解决方案(新加坡)有限公司 | 用于访问计算设备的可信平台模块的方法和系统 |
CN109739806A (zh) * | 2018-12-28 | 2019-05-10 | 安谋科技(中国)有限公司 | 内存访问方法、内存访问控制器和片上系统 |
CN113312676A (zh) * | 2021-05-25 | 2021-08-27 | 飞腾信息技术有限公司 | 数据访问方法、装置、计算机设备及可读存储介质 |
CN115730341A (zh) * | 2021-08-26 | 2023-03-03 | 炬芯科技股份有限公司 | 访问控制方法、系统、存储介质、电子设备及系统级芯片 |
CN114756503A (zh) * | 2022-04-21 | 2022-07-15 | 杭州中天微系统有限公司 | 一种数据处理方法、片上系统及电子设备 |
Non-Patent Citations (1)
Title |
---|
张焕国 等: "可信计算平台测评理论与关键技术研究", 中国科学:信息科学, vol. 40, no. 02, 15 February 2010 (2010-02-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN117194286B (zh) | 2024-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9742568B2 (en) | Trusted support processor authentication of host BIOS/UEFI | |
US11809544B2 (en) | Remote attestation for multi-core processor | |
KR102013841B1 (ko) | 데이터의 안전한 저장을 위한 키 관리 방법 및 그 장치 | |
AU2011285762B2 (en) | Providing fast non-volatile storage in a secure environment | |
US7392415B2 (en) | Sleep protection | |
CN111052118A (zh) | 硬件实施的固件安全 | |
KR20190063264A (ko) | 가상 트러스트 컴퓨팅 베이스를 이용한 기기 보안성 검증 방법 및 장치 | |
US20190319807A1 (en) | Dynamic certificate management for a distributed authentication system | |
EP3646224B1 (en) | Secure key storage for multi-core processor | |
EP2619707B1 (en) | Verification and protection of genuine software installationv using hardware super key | |
WO2020029254A1 (zh) | 一种SoC芯片及总线访问控制方法 | |
TW201411398A (zh) | 計算系統,及其片上系統 | |
EP3757838B1 (en) | Warm boot attack mitigations for non-volatile memory modules | |
CN113568799A (zh) | 对物理安全设备的模拟 | |
CN117194286B (zh) | 微控制单元、处理器、访问方法和访问系统 | |
US11797679B2 (en) | Trust verification system and method for a baseboard management controller (BMC) | |
WO2019224374A1 (en) | Multi-master security circuit | |
CN109583196B (zh) | 一种密钥生成方法 | |
CN109598150B (zh) | 一种密钥使用方法 | |
US20230208821A1 (en) | Method and device for protecting and managing keys | |
US11593490B2 (en) | System and method for maintaining trusted execution in an untrusted computing environment using a secure communication channel | |
US20210377019A1 (en) | Encryption keys for removable storage media | |
CN115859382A (zh) | 用于对芯片进行信息预置的方法及其相关产品 | |
TW202240406A (zh) | 唯讀記憶體(rom)安全性 | |
TW202240591A (zh) | 唯讀記憶體(rom)安全性 |
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 |