CN220509433U - 一种安全处理器架构和计算机设备 - Google Patents
一种安全处理器架构和计算机设备 Download PDFInfo
- Publication number
- CN220509433U CN220509433U CN202223413667.3U CN202223413667U CN220509433U CN 220509433 U CN220509433 U CN 220509433U CN 202223413667 U CN202223413667 U CN 202223413667U CN 220509433 U CN220509433 U CN 220509433U
- Authority
- CN
- China
- Prior art keywords
- module
- tpm
- tcm
- security
- trusted
- 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
- 238000012545 processing Methods 0.000 claims abstract description 12
- 230000001133 acceleration Effects 0.000 claims description 5
- JBWKIWSBJXDJDT-UHFFFAOYSA-N triphenylmethyl chloride Chemical compound C=1C=CC=CC=1C(C=1C=CC=CC=1)(Cl)C1=CC=CC=C1 JBWKIWSBJXDJDT-UHFFFAOYSA-N 0.000 claims 1
- 238000002955 isolation Methods 0.000 abstract description 8
- 230000007246 mechanism Effects 0.000 abstract description 6
- 238000013175 transesophageal echocardiography Methods 0.000 description 88
- 238000005259 measurement Methods 0.000 description 24
- 238000005516 engineering process Methods 0.000 description 15
- 230000000977 initiatory effect Effects 0.000 description 13
- 238000000034 method Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000012795 verification Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 101100217298 Mus musculus Aspm gene Proteins 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本申请提出一种安全处理器架构和计算机设备,该安全处理器架构包括:中央处理器硬件层和中央处理器软件层;其中,所述中央处理器硬件层包括安全/可信服务平台,所述中央处理器软件层包括普通执行环境子系统REE、可信执行环境子系统TEE和安全元件子系统SE,其中,所述可信执行环境子系统TEE和所述安全元件子系统SE构成所述安全/可信服务平台对应的软件层。基于上述设置,本实用新型提出的安全处理器架构中的安全/可信服务平台的软件层仅包括可信执行环境子系统TEE和安全元件子系统SE,基于TEE和SE与REE的隔离机制,能够保障安全/可信服务平台的安全性,从而保证了整个处理器架构的安全性。
Description
技术领域
本实用新型涉及处理器技术领域,尤其涉及一种安全处理器架构和计算机设备。
背景技术
随着用户对设备安全性要求的不断提高,越来越多的安全技术应用到计算机设备中。随着设备软件功能的日趋丰富,以及设备数据量的不断增加,越来越多以及越来越多样化的数据和程序运行于设备处理器架构中,由此使得保障处理器架构的系统安全成为了保障计算机设备安全的重要手段。因此,有必要研究能够保障处理器架构系统安全的技术方案,以提高设备安全性。
实用新型内容
为解决上述技术问题,本实用新型提供一种安全处理器架构和计算机设备,能够提高处理器的安全性,从而可以提高用户设备安全性。
为达到上述目的,本实用新型具体提出如下方案:
第一方面,本实用新型提出一种安全处理器架构,包括:中央处理器硬件层和中央处理器软件层;其中,所述中央处理器硬件层包括安全/可信服务平台,所述中央处理器软件层包括普通执行环境子系统REE、可信执行环境子系统TEE和安全元件子系统SE,其中,所述可信执行环境子系统TEE和所述安全元件子系统SE构成所述安全/可信服务平台对应的软件层。基于上述设置,本实用新型提出的安全处理器架构中的安全/可信服务平台的软件层仅包括可信执行环境子系统TEE和安全元件子系统SE,由此使得安全/可信服务平台的软件程序都运行在TEE或SE中,基于TEE和SE与REE的隔离机制,能够保障安全/可信服务平台的软件程序的安全性,避免受到REE中的普通应用的攻击,这样设置能够保证安全/可信服务平台的安全性,也就是能够保证可信度量服务的安全性和可靠性,从而保证了整个处理器架构的安全性。
在一种实现方式中,所述安全/可信服务平台包括可信密码模块TCM、可信平台模块TPM和可信平台控制模块TPCM。基于上述设置,本实用新型提出的安全处理器架构能够提供TCM安全度量服务,和/或TPM安全度量服务,和/或TPCM安全度量服务,基于上述的安全度量服务,使得该安全处理器架构能够及时明确该处理器架构中的运行对象的安全性,从而识别危险运行对象,因此有利于保障整个处理器架构的安全性。进一步的,本实用新型提出的安全处理器架构集成了TCM、TPM和TPCM,从而可以提供多种类型的安全度量服务,能够满足不同应用或不同用户的安全度量需求,在保证处理器架构的安全性的同时,还可以提高处理器架构的通用性。
另外,需要说明的是,相关现有技术中,外置TPM、TCM以及TPCM的实现方式,会额外增加计算机设备中硬件资源的消耗。而本实用新型提出的安全处理器架构,在不涉及可信计算的场景下,可以直接升级传统技术中关于处理器的设置;在涉及可信计算的场景下,可以直接更新处理器中关于可信技术的设置。这里,关于可信技术的实现方案可以包括:外置TPM、TCM以及TPCM中的一个或多个;或者,处理器内部集成一个TPM;或者,处理器内部集成一个TCM;或者,处理器内部集成一个TPM和一个TCM等等。
在一种实现方式中,所述TCM、所述TPM和所述TPCM共同构建于所述安全/可信服务平台对应的软件层中的同一子系统中,或者,所述TCM、所述TPM和所述TPCM分散构建于所述安全/可信服务平台对应的软件层中的不同子系统中。基于这种实现方式,TCM、TPM和TPCM可以在相同子系统和不同子系统中灵活设置,增强了系统架构设计的灵活性。
在一种实现方式中,所述中央处理器硬件层还包括至少一个处理器核,所述TEE和所述SE运行在第一处理器核中;所述第一处理器核为所述至少一个处理器核中的一个,或者,所述第一处理器核为独立于所述至少一个处理器核之外的处理器核。基于这种实现方式,可以节省处理器资源;另外,以同构的方式设置,可以降低设计复杂度。
在一种实现方式中,所述中央处理器硬件层还包括至少一个处理器核,所述TEE运行在第一处理器核中、所述SE运行在第二处理器核中;所述第一处理器核为所述至少一个处理器核中的一个,或者,所述第一处理器核为独立于所述至少一个处理器核之外的处理器核;所述第二处理器核为所述至少一个处理器核中的一个,或者,所述第二处理器核为独立于所述至少一个处理器核之外的处理器核。这种实现方式使得SE具有独立处理任务、响应请求的能力,使得SE的任务执行完全独立且不受其他子系统执行环境的影响,有利于提高安全架构系统的安全性,同时也有利于SE的任务执行效率的提升。进一步地,这一实现方式,可以降低处理器的硬件资源消耗,可以提高处理器的处理性能。
在一种实现方式中,所述TCM包括TCM服务模块和TCM密码模块,所述TPM包括TPM服务模块和TPM密码模块;所述TCM密码模块用于为TCM可信计算服务提供可信计算资源,所述TCM服务模块用于通过调用所述TCM密码模块的计算资源,提供TCM可信计算服务;所述TPM密码模块用于为TPM可信计算服务提供可信计算资源,所述TPM服务模块用于通过调用所述TPM密码模块的计算资源,提供TPM可信计算服务。将TCM和TPM划分为服务模块和密码模块,有利于保证密码模块的计算资源的安全性,以及有利于实现对计算资源的复用,从而可以实现更加灵活、多样的可信计算服务。
在一种实现方式中,在所述TCM、所述TPM和所述TPCM分散构建于所述安全/可信服务平台对应的软件层中的不同子系统中的情况下,所述TCM服务模块、所述TCM密码模块、所述TPM服务模块和所述TPM密码模块共同构建于所述安全/可信服务平台对应的软件层中的同一子系统中,或者,分散构建于所述安全/可信服务平台对应的软件层中的不同子系统中。基于这种实现方式,服务模块和密码模块可以集中设置也可以分散设置,提升了系统结构的多样性和设计灵活性,可以满足更多样的实际场景需求。
在一种实现方式中,在所述TCM服务模块、所述TCM密码模块、所述TPM服务模块和所述TPM密码模块分散构建于所述安全/可信服务平台对应的软件层中的不同子系统中的情况下,所述TCM密码模块和所述TCM服务模块构建于所述安全/可信服务平台对应的软件层中的不同子系统中,和/或,所述TPM密码模块和所述TPM服务模块构建于所述安全/可信服务平台对应的软件层中的不同子系统中。在这种实现方式中,将TCM服务模块与TCM密码模块分开设置,或者将TPM服务模块与TPM密码模块分开设置,使得TCM密码模块或TPM密码模块脱离服务模块而处于单独的子系统环境中,能够保障密码模块的安全性。
在一种实现方式中,所述TCM密码模块和所述TCM服务模块构建于所述安全/可信服务平台对应的软件层中的不同子系统中,和/或,所述TPM密码模块和所述TPM服务模块构建于所述安全/可信服务平台对应的软件层中的不同子系统中,包括:所述TPM密码模块与所述TCM密码模块构建于所述安全/可信服务平台对应的软件层中的同一子系统中,所述TPM服务模块和所述TCM服务模块不同时与所述TPM密码模块和所述TCM密码模块构建于同一子系统中。在这种实现方式中,将TPM密码模块与TCM密码模块设置于同一子系统,有利于实现可信计算硬件资源的复用,以及,将TPM密码模块与TCM密码模块设置在同一子系统中,可以通过保障该子系统的安全,实现全面地保障TPM密码模块与TCM密码模块的安全性。
在一种实现方式中,所述TPM密码模块与所述TCM密码模块构建于所述安全/可信服务平台对应的软件层中的同一子系统中,所述TPM服务模块和所述TCM服务模块不同时与所述TPM密码模块和所述TCM密码模块构建于同一子系统中,包括:所述TPM密码模块与所述TCM密码模块构建于所述TEE中,所述TPM服务模块和所述TCM服务模块构建于所述SE中;或者,所述TPM密码模块与所述TCM密码模块构建于所述SE中,所述TPM服务模块和所述TCM服务模块构建于所述TEE中。依托于TEE和SE与REE之间的物理隔离,上述的实现方式能够保障TPM密码模块与所述TCM密码模块的安全,并且,上述实现方式实现了密码模块与服务模块集中设置,便于管理和维护。
在一种实现方式中,所述TCM包括TCM驱动模块,所述TPM包括TPM驱动模块;所述TCM驱动模块,用于响应应用程序的TCM服务发起请求,发起TCM安全服务请求,所述TCM安全服务请求用于请求所述TCM提供安全度量服务;所述TPM驱动模块,用于响应应用程序的TPM服务发起请求,发起TPM安全服务请求,所述TPM安全服务请求用于请求所述TPM提供安全度量服务。基于这种实现方式,TCM驱动模块和TPM驱动模块可以满足应用程序发起安全服务请求的需求,实现安全服务请求的顺利触发。
在一种实现方式中,所述TCM驱动模块设置于所述REE和/或所述TEE中,以及,所述TPM驱动模块设置于所述REE和/或所述TEE中。这些实现方式将TCM驱动模块和TPM驱动模块在REE和/或TEE中设置,可以实现不同结构的安全架构系统,同时可以使得REE和/或TEE中的应用程序以各种不同的方式发起安全服务请求。
在一些实现方式中,所述安全/可信服务平台包括以下中的一种或多种:非易失存储区、易失存储区、密码加速引擎和随机数发生器;其中,所述非易失存储区用于存储以下信息中的一种或多种:处理器安全可信固件、密钥、根密钥、可信根、可信度量结果对应的PCR值、所有者的授权数据和永久标志、用于所述可信密码服务模块的可信基准值和签名以及其它关键数据;所述易失存储区用于存储以下信息中的一种或多种:所述可信密码服务模块运行过程中生成的变量值、瞬态密钥和哈希算法对应的PCR值;所述密码加速引擎用于为所述可信密码服务模块提供密码运算服务;所述随机数发生器用于生成密钥、签名所需的随机数和增强口令访问的熵。上述的硬件结构设置,使得安全/可信服务平台具备了提供可信计算服务的硬件基础,保障了可信计算服务的顺利实施。
第二方面,本实用新型提供了一种计算机设备,该计算机设备包括上述的安全处理器架构。将上述的安全处理器架构应用于上述的计算机设备,可以借助该安全处理器架构的优秀的安全性能,使得整个计算机设备运行于安全环境中,保证计算机设备上述的数据安全,以及保证计算机设备的用户信息安全。
附图说明
为了更清楚地说明本实用新型实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本实用新型的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本实用新型实施例提供的一种安全处理器架构的结构示意图;
图2(a)和图2(b)是本实用新型实施例提供的另外两种安全处理器架构的结构示意图;
图3(a)和图3(b)是本实用新型实施例提供的TCM服务模块、TCM密码模块、TPM服务模块和TPM密码模块共同构建于安全/可信服务平台对应的软件层中的同一子系统的两种不同实现方式的示意图;
图4(a)~图4(f)是本实用新型实施例提供的将TPM密码模块与TCM密码模块构建安全/可信服务平台对应的软件层中的同一子系统中,同时,TPM服务模块和TCM服务模块不同时与TPM密码模块和TCM密码模块构建于同一子系统的不同实现方式的示意图;
图5(a)~图5(i)是本实用新型实施例提供的TCM驱动模块和TPM驱动模块在TEE和REE分散设置的不同实现方式的示意图;
图6和图7是本实用新型实施例提供的其他两种安全处理器架构的结构示意图。
具体实施方式
本实用新型实施例提出一种安全处理器架构,该安全处理器架构可以是中央处理器100的架构,参见图1所示,中央处理器硬件层101和中央处理器软件层105;
其中,所述中央处理器硬件层101包括安全/可信服务平台103,所述中央处理器软件层105包括普通执行环境子系统REE、可信执行环境子系统TEE和安全元件子系统SE,其中,所述可信执行环境子系统TEE和所述安全元件子系统SE构成所述安全/可信服务平台103对应的软件层,即安全/可信服务平台软件层106。
其中,安全/可信服务平台103用于为中央处理器提供可信计算服务,具体可以是符合任意规范、任意类型的可信计算服务。该可信计算服务能够对中央处理器的硬件和/或软件进行可信度量,从而能够有效甄别危险因素,在保障处理器安全性方面发挥着关键性作用。
普通执行环境子系统REE可以包括运行在通用的嵌入式处理器上的一般操作系统,其中安装有应用程序。REE中运行的应用程序可以称为普通应用(Client Application,CA),其安全性较低,容易受到攻击。例如,运行在REE的应用程序可以是涉及支付场景的程序,其中实现诸如浏览商品、选择商品、提交订单等基本业务。尽管在REE中采取了很多诸如设备访问控制、设备数据加密机制、应用运行时的隔离机制、基于权限校验的访问控制等安全措施,但仍无法保证应用中重要数据的安全性。
可信执行环境子系统TEE可以是运行于一般操作系统之外的独立运行环境,其可以向诸如REE提供可信服务并且与REE相隔离。TEE中可以执行1至多个可信应用(TEEApplication,TA),通过可信应用来对普通执行环境子系统REE提供可信赖的运行环境,再通过对机密性、完整性的保护和数据访问权限的控制,确保端到端的安全性。此外,TEE可以与REE并行运行,并且例如TEE通过安全的应用程序编程接口(Application ProgrammingInterface,API)与REE进行交互。
TEE提供了比REE更高安全级别的运行环境,但无法提供硬件隔离级别的安全的密钥存储和密钥运行环境。一般地,TEE可以为REE提供很多的应用程序编程接口,供REE调用TEE的资源,TEE提供的用于进行服务的应用程序编程接口越多,TEE面临的风险将越大,很难保证应用程序编程接口本身不存在安全隐患,诸如安全漏洞,进而导致TEE内的密钥等资源存在安全风险。进一步地,TEE内将会运行多种可信应用TA,可信应用TA之间完全依赖于TEE操作系统提供的隔离机制,没有硬件级别的隔离,这使得如果可信应用TA本身存在安全漏洞或者可信应用TA自己主动访问对应于其他可信应用TA的密钥或根密钥,也会导致密钥等敏感资源存在很大安全风险。
安全元件子系统SE中的软件系统相对简单,包括较少的硬件元器件,因此容易建立物理防护和实施安全保障,从而提高安全元件子系统SE的安全强度,以服务于安全性要求更高的安全系统。作为示例,TEE可以向SE传递安全服务请求,以请求提供相应的安全服务并基于请求作出响应,例如安全服务可以是请求SE进行与密码运算相关的服务等。
安全元件子系统SE中运行的应用可以称为安全元件应用(Applet),其安全性在这三类子系统中最高。由于安全元件子系统SE相较于普通执行环境子系统REE和可信执行环境子系统TEE的安全性最高,安全元件子系统SE中一般存储有重要资源,诸如根密钥等信息,通过权限校验、密码技术等手段来保证安全元件子系统SE中存储的重要资源的安全性。
上述的REE、TEE和SE共同构成中央处理器软件层105,其中,TEE和SE共同构成安全/可信服务平台软件层106。
基于上述设置,本实用新型实施例提出的安全处理器架构中的安全/可信服务平台103的软件层仅包括可信执行环境子系统TEE和安全元件子系统SE,由此使得安全/可信服务平台103的软件程序都运行在TEE或SE中,基于TEE和SE与REE的隔离机制,能够保障安全/可信服务平台103的软件程序的安全性,避免受到REE中的普通应用的攻击,这样设置能够保证安全/可信服务平台的安全性,也就是能够保证可信度量服务的安全性和可靠性,从而保证了整个处理器架构的安全性。
作为一种优选的实施方式,本实用新型实施例提出的安全处理器架构的安全/可信服务平台103中构建有可信密码模块TCM、可信平台模块TPM和可信平台控制模块TPCM。
可信密码模块TCM(Trusted Cryptography Module)、可信平台模块TPM(TrustedPlatform Module)和可信平台控制模块TPCM(Trusted Platform Control Module)是三种主流的可信计算标准。
其中,TPM标准由TCG(Trusted Computing Group,可信计算组织)推出,TPM技术规范遵循相应的国际规范,因此,它提供符合TPM国际规范的标准服务。通常的,TPM可包括TPM密码模块和TPM服务模块两部分,TPM密码模块和TPM服务模块配合工作能够支撑实现TPM可信计算技术的服务。
其中,TPM密码模块,用于为TPM可信计算服务提供可信计算资源,该可信计算资源具体包括用于存储密钥、随机数等数据的存储空间,和用于多种密码算法的算法模块等硬件资源。例如,通常情况下,TPM密码模块能够支持摘要算法单元SHA-1,SHA-256,签名验签和加解密算法单元RSA、ECC、AES,并且,在未来演进迭代中,也可以支持新算法。TPM规范在演进迭代,其不同版本的规范所支持的算法种类和内涵技术方法有些区别。但本质的安全技术实施目的和方法相同。因此,本文提到的方案适用于不同版本的TPM规范。
TPM服务模块,则用于通过调用TPM密码模块的计算资源,提供TPM可信计算服务,该TPM服务模块主要包括调用TPM可信计算资源执行TPM可信计算服务的程序、算法等。
通常情况下,TPM服务模块响应安全服务请求时,需要通过调用TPM密码模块的计算资源而实现,即,当TPM服务模块接收到安全服务请求时,调用TPM密码模块的计算资源实现安全度量,提供安全度量服务。而在某些情况下,TPM密码模块,可以直接响应某些安全服务请求,直接提供安全度量服务;或者,TPM服务模块也可以独立响应某些安全服务请求,通过自身的软件计算提供安全度量服务。
实际应用中,TPM密码模块和TPM服务模块可以设置于相同的运行环境中,从而形成一体式的TPM模块;或者,TPM密码模块和TPM服务模块也可以设置于不同的运行环境中,TPM服务模块在响应安全服务请求时,若需要调用TPM密码模块的计算资源,则通过跨运行环境调用的方式,实现对TPM密码模块的计算资源的调用。
为了掌握在可信计算领域的技术主导权和产业主导权,保障国际信息安全的核心技术掌握在自己手中,我国在可信计算领域推出了TCM(Trusted Cryptography Module,可信密码模块)标准。与TPM类似,TCM模块也可以包括TCM密码模块和TCM服务模块,TCM密码模块和TCM服务模块配合工作能够支撑实现TCM可信计算技术的服务。
其中,TCM密码模块为具有受保护存储空间的独立密码算法模块,能安全地为可信计算提供密码运算、TRNG、可信根、存储等基础的硬件计算资源。TCM密码模块的算法,包括摘要算法单元SM3,签名验签和加解密算法单元SM2、SM4等,并且,在未来演进迭代中,也可以支持新算法。TCM规范在演进迭代,其不同版本的规范所支持的算法种类和内涵技术方法有些区别。但本质的安全技术实施目的和方法相同。因此,本文提到的方案适用于不同版本的TCM规范。
TCM服务模块通过调用TCM密码模块的硬件资源,能为应用程序提供可信度量、可信报告、可信存储等可信计算服务。
通常情况下,TCM服务模块响应安全服务请求时,需要通过调用TCM密码模块的计算资源而实现,即,当TCM服务模块接收到安全服务请求时,调用TCM密码模块的计算资源实现安全度量,提供安全度量服务。而在某些情况下,TCM密码模块,可以直接响应某些安全服务请求,直接提供安全度量服务;或者,TCM服务模块也可以独立响应某些安全服务请求,通过自身的软件计算提供安全度量服务。
实际应用中,TCM密码模块和TCM服务模块可以设置于相同的运行环境中,从而形成一体式的TCM模块;或者,TCM密码模块和TCM服务模块也可以设置于不同的运行环境中,TCM服务模块在响应安全服务请求时,若需要调用TCM密码模块的计算资源,则通过跨运行环境调用的方式,实现对TCM密码模块的计算资源的调用。
示例性的,上述的TPM和TCM,均可以作为可信计算的核心,其具体实现形式可以是一块安装在主板上的、包含硬件模块(密码模块)和软件模块(服务模块)的系统级芯片,可以为可信计算提供安全可信的密钥存储、完整性报告和基础的密码运算等功能。所不同的是,TPM和TCM基于不同的技术路线,通过不同的算法,提供安全服务,实现对系统的安全度量。
TPM和TCM所提供的安全度量服务,均为被动式的安全度量服务,系统启动时,必须先启动了BIOS,对硬件和系统检测完毕后,BIOS加载TPM芯片或TCM芯片,才能发挥安全度量作用,这给黑客入侵、攻击BIOS提供了机会。
为了更进一步提高安全度量对系统的保护力度,我国研究了能够对系统进行主动安全度量的TPCM标准。
TPCM能够在CPU运行固件代码之前对固件进行完整性度量,确保固件未被篡改。在TPCM技术中,包含了一个TPCM软件(下文称为TPCM模块)和TCM模块。其中TPCM软件要结合TCM模块来实现对可信软件基的密码支撑功能。TPCM模块是一个利用TCM实现主动度量的安全独立模块。它内涵了两类度量过程:一类是系统上电启动过程中,TPCM模块需优先上电主动度量验证固件;二类是系统在运行时,TPCM模块将以一定频率对应用程序进行主动度量验证与记录。
当TPM或TCM应用于处理器架构系统中时,TPM或TCM是被调用的资源,应用程序通过向TPM或TCM请求安全服务,实现对目标对象的安全度量。
而TPCM则具有更高的主动性,其可以按照预设的规则,主动地的对系统进行安全度量。例如在统上电启动过程中,TPCM模块主动度量验证固件;或者在系统运行时,TPCM模块以一定频率周期性地对应用程序进行主动度量验证与记录。
综上可知,TPM、TCM、TPCM,均能够实现对系统的安全度量。因此,将TPM、TCM和TPCM应用于处理器架构系统中,例如本实用新型实施例提出的安全处理器架构中的安全/可信服务平台同时包含可信密码模块TCM、可信平台模块TPM和可信平台控制模块TPCM,使得该安全处理器架构能够提供TCM安全度量服务,和/或TPM安全度量服务,和/或TPCM安全度量服务,基于上述的安全度量服务,使得该安全处理器架构能够及时明确该处理器架构中的运行对象的安全性,从而识别危险运行对象,因此有利于保障整个处理器架构的安全性。
进一步的,本实用新型实施例提出的安全处理器架构集成了TCM、TPM和TPCM,从而可以提供多种类型的安全度量服务,能够满足不同应用或不同用户的安全度量需求,在保证处理器架构的安全性的同时,还可以提高处理器架构的通用性。
另外,需要说明的是,相关现有技术中,外置TPM、TCM以及TPCM的实现方式,会额外增加计算机设备中硬件资源的消耗。而本实用新型提出的设计构思,在不涉及可信计算的场景下,可以直接升级传统技术中关于处理器的设置;在涉及可信计算的场景下,可以直接更新处理器中关于可信技术的设置。这里,关于可信技术的实现方案可以包括:外置TPM、TCM以及TPCM中的一个或多个;或者,处理器内部集成一个TPM;或者,处理器内部集成一个TCM;或者,处理器内部集成一个TPM和一个TCM等等。
继续参见图1所示,本实用新型实施例提出的安全处理器架构100的中央处理器硬件层101内部还设置有至少一个处理器核10。
其中,至少一个处理器核102通过片内高速互联通道连接,以及,安全/可信服务平台103与处理器核102之间的片内高速互联通道之间搭建有数据通道,从而使得安全/可信服务平台103能够通过片内高速互联通道与任意一个或多个处理器核102进行数据通信。
在中央处理器硬件层101中还设置有总线接口单元104,该总线接口单元104与上述的片内高速互联通道连接,从而使得至少一个处理器核102,以及上述的安全/可信服务平台103能够通过片内高速互联通道与该总线接口单元104连接。
总线接口单元104作为中央处理器硬件层101与中央处理器100的其他硬件模块之间的数据接口,能够实现中央处理器100(包括安全/可信服务平台103以及处理器核102)与其他硬件模块之间的数据交互。其中,上述的中央处理器100的其他硬件模块可以是内存管理单元、输入/输出(I/O)接口等,还可以包括处理器软件层的部件。
作为可选的实施方式,在本实用新型实施例提出的安全处理器架构中,TEE和SE可以运行于相同的处理器核,也可以运行于不同的处理器核。当TEE和SE均运行于相同处理器核上时,构成TEE与SE同构的处理器架构系统,当TEE和SE均运行于不同处理器核上时,构成TEE与SE异构的处理器架构系统。
针对上述的TEE与SE同构的处理器架构系统而言,TEE和SE运行在同一个处理器核,例如运行在第一处理器核中,而不是分开运行在不同的处理器核上,以这种方式,可以节省处理器资源;另外,以同构的方式设置,可以降低设计复杂度。
上述的第一处理器核,可以为图1中所示的至少一个处理器核102中的任意一个,或者,该第一处理器核,也可以是独立于图1中所示的至少一个处理器核102之外的处理器核。
针对上述的TEE与SE异构的处理器架构系统而言,TEE和SE分别运行于不同的处理器核上,例如,TEE运行在第一处理器核中、SE运行在第二处理器核中。这使得SE具有独立处理任务、响应请求的能力,使得SE的任务执行完全独立且不受其他子系统执行环境的影响,有利于提高安全架构系统的安全性,同时也有利于SE的任务执行效率的提升。进一步地,这一实现方式,可以降低处理器的硬件资源消耗,可以提高处理器的处理性能。
其中,上述的第一处理器核和第二处理器核,分别可以为图1中所示的至少一个处理器核102中的任意一个,或者,也可以是独立于图1中所示的至少一个处理器核102之外的处理器核。
无论将TEE和SE设置于相同处理器核上,还是设置于不同处理器核上,均不影响整个处理器架构系统的安全度量功能。因此,本实用新型后续实施例中关于各种类型的安全架构系统的结构的介绍,均默认包含将TEE和SE设置于相同或不同处理器核上的情况。
如前文实施例介绍,在本实用新型提出的安全处理器架构中,包括安全/可信服务平台103,以及相应的安全/可信服务平台软件层106,该安全/可信服务平台软件层106由TEE和SE构成。在该安全/可信服务平台103内部设置有TCM、TPM和TPCM。
在一些实现方式中,上述的TCM、TPM和TPCM可以共同构建于安全/可信服务平台103对应的软件层106中的同一子系统中,例如图2(a)所示,TCM、TPM和TPCM可以共同构建于TEE中,或者,如图2(b)所示,TCM、TPM和TPCM可以共同构建于SE中。
或者,TCM、TPM和TPCM分散构建于安全/可信服务平台103对应的软件层106中的不同子系统中,例如TCM、TPM和TPCM在TEE和SE中分散设置。
TCM、TPM和TPCM可以在安全/可信服务平台软件层106的同一子系统中集中设置,或者在不同子系统中分散设置,使得本实用新型实施例提出的安全处理器架构的结构形式更多样,能够满足不同性能配置、不同场景下对安全架构系统结构的需求。
如上文实施例介绍,TCM包括TCM服务模块和TCM密码模块,TPM包括TPM服务模块和TPM密码模块。
在TCM、TPM和TPCM共同构建于安全/可信服务平台103对应的软件层106中的同一子系统中的情况下,TCM服务模块、TCM密码模块、TPM服务模块和TPM密码模块均构建于安全/可信服务平台103对应的软件层106中的同一子系统中,例如均构建于TEE或SE。
在TCM、TPM和TPCM分散构建于安全/可信服务平台103对应的软件层106中的不同子系统中的情况下,TCM服务模块、TCM密码模块、TPM服务模块和TPM密码模块可以共同构建于安全/可信服务平台103对应的软件层106中的同一子系统中,例如图3(a)所示,TCM服务模块、TCM密码模块、TPM服务模块和TPM密码模块共同构建于TEE,而TPCM构建于SE,或者,如图3(b)所示,TCM服务模块、TCM密码模块、TPM服务模块和TPM密码模块共同构建于SE,而TPCM构建于TEE。
或者,TCM服务模块、TCM密码模块、TPM服务模块和TPM密码模块也可以分散构建于安全/可信服务平台103对应的软件层中的不同子系统中,例如,TCM服务模块、TCM密码模块、TPM服务模块和TPM密码模块在TEE和SE中分散设置。
下面对TCM服务模块、TCM密码模块、TPM服务模块和TPM密码模块在TEE和SE中分散设置的各种情况进行示例性的说明。
示例性的,TCM密码模块和TCM服务模块构建于安全/可信服务平台103对应的软件层106中的不同子系统中,例如TCM密码模块构建于TEE、TCM服务模块构建于SE,或者,TCM服务模块构建于TEE、TCM密码模块构建于SE。在此基础上,TPM密码模块和TPM服务模块可以同时构建于TEE或SE,也可以将TPM密码模块和TPM服务模块分散构建于TEE和SE,例如,TPM密码模块构建于TEE、TPM服务模块构建于SE,或者,TPM服务模块构建于TEE、TPM密码模块构建于SE。
和/或,
TPM密码模块和TPM服务模块构建于安全/可信服务平台103对应的软件层106中的不同子系统中,例如TPM密码模块构建于TEE、TPM服务模块构建于SE,或者,TPM服务模块构建于TEE、TPM密码模块构建于SE。在此基础上,TCM密码模块和TCM服务模块可以同时构建于TEE或SE,也可以将TCM密码模块和TCM服务模块分散构建于TEE和SE,例如,TCM密码模块构建于TEE、TCM服务模块构建于SE,或者,TCM服务模块构建于TEE、TCM密码模块构建于SE。
作为一种优选的实现方式,可以将TPM密码模块与TCM密码模块构建安全/可信服务平台103对应的软件层106中的同一子系统中,同时,TPM服务模块和TCM服务模块不同时与TPM密码模块和TCM密码模块构建于同一子系统中。
例如,将TPM密码模块与TCM密码模块构建于SE中,同时,TPM服务模块和TCM服务模块不同时构建于SE中。
具体而言,参见图4(a)所示,可以将TPM密码模块与TCM密码模块构建于SE中,同时,TPM服务模块构建于SE,TCM服务模块构建于TEE。
参见图4(b)所示,可以将TPM密码模块与TCM密码模块构建于SE中,同时,TCM服务模块构建于SE,TPM服务模块构建于TEE。
参见图4(c)所示,可以将TPM密码模块与TCM密码模块构建于SE中,同时,将TPM服务模块和TCM服务模块构建于TEE。
或者,将TPM密码模块与TCM密码模块构建于TEE中,同时,TPM服务模块和TCM服务模块不同时构建于TEE中。
具体而言,参见图4(d)所示,可以将TPM密码模块与TCM密码模块构建于TEE中,同时,TPM服务模块构建于TEE,TCM服务模块构建于SE。
参见图4(e)所示,可以将TPM密码模块与TCM密码模块构建于TEE中,同时,TCM服务模块构建于TEE,TPM服务模块构建于SE。
参见图4(f)所示,可以将TPM密码模块与TCM密码模块构建于TEE中,同时,将TPM服务模块和TCM服务模块构建于SE。
在上述的设置方式中,将TPM密码模块和TCM密码模块共同设置于同一个子系统中,可以使得TPM密码模块和TCM密码模块运行在同一处理器核上,而不是在不同处理器核上,以这种方式,可以节省处理器资源、降低设计复杂度。
另外,上述的设置方式可以将服务模块和密码模块分开设置,能够有效提高密码模块安全性。同时,可以提高TPCM、TPM服务模块、TCM服务模块软件产品开发设计的灵活性。
需要说明的是,图3(a)、图3(b)以及图4(a)~图4(f),意在特别展示TPM密码模块、TCM密码模块、TPM服务模块和TCM服务模块在图1所示的安全处理器架构的TEE和SE中的设置情况,为了能够直观、重点地展示这些内容,对于处理器架构的其他部分并没有具体展示。例如,对于TPCM的设置,可以设置于上述介绍的各种不同结构的安全处理器架构的TEE或SE中。对于图3(a)、图3(b)以及图4(a)~图4(f)所对应的安全处理器架构的其他部分的具体结构,均可以参见图1或图2(a)、图2(b)所示。
应用程序调用TPM或TCM,需要借助相应的驱动模块来实现。具体的,TPM还包括TPM驱动模块,应用程序通过TPM驱动模块实现对TPM的调用;TCM还包括TCM驱动模块,应用程序通过TCM驱动模块实现对TCM的调用。
TPM驱动模块又称为TPM用户端协议单元或称为firmware-TPM(简称fTPM),用于响应应用程序的TPM服务发起请求,发起TPM安全服务请求;TCM驱动模块又称为TCM用户端协议单元或称为firmware-TCM(简称fTCM),用于响应应用程序的TCM服务发起请求,发起TCM安全服务请求。当应用程序需要调用TPM或TCM时,先向TPM驱动模块或TCM驱动模块发送TPM服务发起请求或TCM服务发起请求,TPM驱动模块或TCM驱动模块接收到TPM服务发起请求或TCM服务发起请求时,向TPM发送TPM安全服务请求或向TCM发送TCM安全服务请求。TPM或TCM接收到TPM安全服务请求或TCM安全服务请求时,响应该请求,提供安全度量服务。
在实际应用中,TPM驱动模块可以与TPM设置在一起,也可以分开设置,同理,TCM驱动模块可以与TCM设置在一起,也可以分开设置。
也就是说,TPM驱动模块的设置位置不影响其与TPM的交互,同理,TCM驱动模块的设置位置不影响其与TCM的交互。只要TPM驱动模块和TCM驱动模块能够响应REE中的普通应用和TEE中的可信应用的请求而发起相应的安全服务请求即可。
因此,TCM驱动模块和TPM驱动模块可以选择设置于REE和/或TEE。具体的,TCM驱动模块可以设置于REE和/或TEE中,同时,TPM驱动模块也可以设置于REE和/或TEE中。
具体而言,参见图5(a)~图5(i)所示,列举了TCM驱动模块和TPM驱动模块在REE和TEE中的各种分布情况(其中未标示TCM和TPM,而是重点展示TCM驱动模块和TPM驱动模块在REE和TEE中的设置情况),其中,fTCM即表示TCM驱动模块,fTPM即表示TPM驱动模块。需要说明的是,图5(a)~图5(i)重点展示了TCM驱动模块和TPM驱动模块在处理器架构的REE和TEE中的配置方式的各种情况,对于处理器架构的具体结构,则没有具体展示,也没有限定作用,处理器架构的具体结构可参见图1或图2(a)、图2(b)的介绍。
图5(a)~图5(i)所示的TCM驱动模块和TPM驱动模块在REE和TEE中的各种配置方式,可分别应用于上述实施例中所介绍的任意一种安全处理器架构,从而得到各种不同结构的安全处理器架构。
比如,将图5(a)所示的TCM驱动模块和TPM驱动模块的配置方式应用于图2(a)所示的安全处理器架构中,可得到如图6所示的安全处理器架构。
将图5(a)所示的TCM驱动模块和TPM驱动模块的配置方式应用于图2(b)所示的安全处理器架构中,可得到如图7所示的安全处理器架构。
以此类推,将图5(a)~图5(i)所示的TCM驱动模块和TPM驱动模块在REE和TEE中的各种配置方式,分别应用于上述任一实施例中介绍的任意一种安全处理器架构中,即可得到各种不同结构的安全处理器架构,这些组合均是本领域技术人员基于本实用新型上述实施例介绍能够明确并实现的,因此不再一一详述。
继续参见图1或者图2(a)、图2(b)所示,本实用新型实施例提出的安全处理器架构的安全/可信服务凭平台103中包括非易失存储区、易失存储区、密码加速引擎和随机数发生器中的一种或多种。
其中,非易失存储区,用于依据TPM和/或TCM规范和/或TPCM规范,为安全/可信服务平台103提供非易失的存储空间,具体用于:存储以下信息中的一种或多种:处理器安全可信固件、密钥、根密钥、可信根、可信度量结果对应的平台配置寄存器(platformconfiguration register,PCR)值、所有者的授权数据和永久标志、用于可信密码服务模块的可信基准值和签名以及其它关键数据等。
易失存储区,用于依据TPM和/或TCM规范和/或TPCM规范,存储以下信息中的一种或多种:安全/可信服务平台运行过程中生成的变量值、瞬态密钥和SHA256/SM3/SHA1等哈希算法对应的平台配置寄存器(Platform Configuration Register,PCR)值。PCR用于存储上述可信度量动作的结果,当然,PCR的内容在系统断电或重启后被重置。
密码加速引擎,用于为安全/可信服务平台提供密码运算服务,具体的,该密码加速引擎依据TPM和/或TCM规范和/或TPCM规范,为安全/可信服务平台提供一些密码算法的专用计算引擎,该密码算法包括但不限于以下算法中的一种或多种:SM3、SHA256、SHA1、RSA、ECC、AES、DES、SM4和SM2。
随机数发生器,是由处理器提供的真随机数位发生器,符合TPM和/或TCM规范,是可信计算模块的随机性源,用于为安全/可信服务平台提供执行安全/可信操作所需的随机数,例如提供用于密钥生成、签名所需的只被使用一次的任意或非重复的随机数nonce和增强口令访问的熵等。
基于上述的安全处理器架构,本实用新型实施例还提出一种计算机设备,该计算机设备包括上述的任一实施例中介绍的任意一种安全处理器架构。
除此之外,该计算机设备还可以包括其他必要的硬件结构,比如存储器、输入输出装置等,本实施例不做限定。
具体而言,上述的计算机设备,可以是个人计算机、智能终端、可穿戴设备、服务器等任意的基于处理器的运算设备,本实施例不再一一举例说明。
将本实用新型实施例提出的安全处理器架构应用于上述的计算机设备,可以借助该安全处理器架构的优秀的安全性能,使得整个计算机设备运行于安全环境中,保证计算机设备上述的数据安全,以及保证计算机设备的用户信息安全。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。本申请各实施例的装置及终端中的模块和子模块可以根据实际需要进行合并、划分和删减,各实施例中记载的特征可以进行替换或者组合。
本申请所提供的几个实施例中,应该理解到,所揭露的终端,装置,可以通过其它的方式实现。例如,模块或子模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个子模块或模块可以结合或者可以集成到另一个模块,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块或子模块可以是或者也可以不是物理上分开的,作为模块或子模块的部件可以是或者也可以不是物理模块或子模块,即可以位于一个地方,或者也可以分布到多个网络模块或子模块上。可以根据实际的需要选择其中的部分或者全部模块或子模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块或子模块可以集成在一个处理模块中,也可以是各个模块或子模块单独物理存在,也可以两个或两个以上模块或子模块集成在一个模块中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (3)
1.一种安全处理器架构,其特征在于,包括:
中央处理器硬件层;
其中,所述中央处理器硬件层包括处理器核、安全/可信服务平台和总线接口单元,所述安全/可信服务平台包括可信密码模块TCM、可信平台模块TPM和可信平台控制模块TPCM,所述处理器核与所述安全/可信服务平台通过片内高速互连通道相连;所述总线接口单元与所述片内高速互连通道和所述中央处理器硬件层之外的其他硬件模块相连。
2.根据权利要求1所述的安全处理器架构,其特征在于,所述安全/可信服务平台包括以下中的一种或多种:非易失存储区、易失存储区、密码加速引擎和随机数发生器。
3.一种计算机设备,其特征在于,包括如权利要求1所述的安全处理器架构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202223413667.3U CN220509433U (zh) | 2022-12-16 | 2022-12-16 | 一种安全处理器架构和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202223413667.3U CN220509433U (zh) | 2022-12-16 | 2022-12-16 | 一种安全处理器架构和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN220509433U true CN220509433U (zh) | 2024-02-20 |
Family
ID=89865360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202223413667.3U Active CN220509433U (zh) | 2022-12-16 | 2022-12-16 | 一种安全处理器架构和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN220509433U (zh) |
-
2022
- 2022-12-16 CN CN202223413667.3U patent/CN220509433U/zh active Active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101662618B1 (ko) | 단일 신뢰 플랫폼 모듈을 가진 플랫폼 컴포넌트의 측정 | |
US10552138B2 (en) | Technologies for secure software update using bundles and merkle signatures | |
EP3275159B1 (en) | Technologies for secure server access using a trusted license agent | |
US8595483B2 (en) | Associating a multi-context trusted platform module with distributed platforms | |
US8856544B2 (en) | System and method for providing secure virtual machines | |
JP4498416B2 (ja) | トラステッドプラットフォームモジュールのセキュアな仮想化を提供する方法および装置 | |
EP1975836B1 (en) | Server active management technology (AMT) assisted secure boot | |
US11487852B2 (en) | Blockchain-based license management | |
WO2011102087A1 (en) | Information processing device, information processing system, software routine execution method, and remote attestation method | |
US9015454B2 (en) | Binding data to computers using cryptographic co-processor and machine-specific and platform-specific keys | |
WO2009051471A2 (en) | Trusted computer platform method and system without trust credential | |
WO2018162060A1 (en) | Methods and devices for attesting an integrity of a virtual machine | |
CN104539622A (zh) | 虚拟机的深度证明方法、计算设备和计算机系统 | |
CN115618364B (zh) | 实现安全可信启动的方法、安全架构系统及相关设备 | |
CN112955888A (zh) | 保护节点组 | |
CN111125707A (zh) | 一种基于可信密码模块的bmc安全启动方法、系统及设备 | |
US20230237155A1 (en) | Securing communications with security processors using platform keys | |
CN101582765A (zh) | 绑定用户的便携式可信移动装置 | |
US11580225B2 (en) | Determine whether to perform action on computing device based on analysis of endorsement information of a security co-processor | |
CN220509433U (zh) | 一种安全处理器架构和计算机设备 | |
CN220509432U (zh) | 一种安全处理器架构和计算机设备 | |
US10805079B2 (en) | Method for securing an automated system | |
Guo et al. | Building trust in container environment | |
US10621355B2 (en) | Method for initializing a computerized system and computerized system | |
CN116263832A (zh) | 异构计算集群中的分布式认证 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GR01 | Patent grant | ||
GR01 | Patent grant |