CN114201761B - 在可信计算系统中增强度量代理安全性 - Google Patents
在可信计算系统中增强度量代理安全性 Download PDFInfo
- Publication number
- CN114201761B CN114201761B CN202210145114.XA CN202210145114A CN114201761B CN 114201761 B CN114201761 B CN 114201761B CN 202210145114 A CN202210145114 A CN 202210145114A CN 114201761 B CN114201761 B CN 114201761B
- Authority
- CN
- China
- Prior art keywords
- access control
- predetermined
- security
- agent
- hash value
- 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/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- 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
- 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/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本说明书实施例提供了用于在可信计算系统中增强度量代理安全性的方法以及能够增强度量代理安全性的可信计算系统。所述方法可以包括:响应于度量代理被加载到载入内存区域中,计算所述载入内存区域的当前哈希值;验证所述当前哈希值是否匹配于安全规则配置中的预定哈希值;识别所述度量代理的当前访问控制权限;验证所述当前访问控制权限是否匹配于安全规则配置中的预定访问控制权限;以及响应于所述当前哈希值匹配于所述预定哈希值并且所述当前访问控制权限匹配于所述预定访问控制权限,确定所述度量代理符合安全性要求。
Description
技术领域
本说明书实施例涉及可信计算,具体地,涉及在可信计算系统中增强度量代理安全性。
背景技术
可信计算系统要求其自身具备较高的安全保护机制。可信计算系统通常包括计算子系统、可信子系统等。计算子系统是实施计算的主体,其也可被称为宿主系统、宿主计算机等。可信子系统与计算子系统并行地运行,但可信子系统的运行在逻辑上是独立于计算子系统的。可信子系统能够以主动的方式为计算子系统提供可信支撑功能。
度量代理是部署在计算子系统中的程序代码,其能够对计算子系统执行静态度量和动态度量,以获取计算子系统的系统状态信息。可信子系统能够通过度量代理的度量结果来获知计算子系统的安全状态,并且验证计算子系统的状态是否可信。
与独立运行的可信子系统相比,度量代理是运行在安全级别较低的开放的计算子系统中的,其运行环境的安全性无法得到有效保障。如果度量代理的功能代码、运行逻辑、度量结果等遭到非法入侵或篡改,则度量的真实性和可靠性将无法得到保证。因此,度量代理自身的安全性可能成为整个可信计算系统的安全短板。
现有的白名单机制为度量代理指定了信任的度量对象,例如,基本输入输出系统(BIOS)、基板管理控制器(BMC)、操作系统关键代码、关键寄存器的值等,使得针对这些度量对象的度量结果将被认为是可信任的,而对其他对象的度量结果将被认为是不可信任的。这种白名单机制仅仅能够规避一些恶意攻击,但是并不能提供运行时的安全保证。实际上,白名单机制也未对度量代理本身进行信任鉴别。此外,白名单机制也存在适用性差的限制。
因此,需要一种能够有效地保证度量代理的安全性的机制,以便通过增强度量代理的安全性来进而保证可信计算系统的整体度量安全性。
发明内容
鉴于上述,本说明书实施例提出了在可信计算系统中增强度量代理安全性的有效机制。本说明书实施例为度量代理提供了硬件级别的安全保护,这对于提升整个可信计算系统的安全性也具有重要意义。本说明书实施例至少利用内存访问控制机制、加密机制等,实现了对度量代理的运行环境的硬件级别安全保护。本说明书实施例通过对与度量代理对应的内存区域执行加密、哈希值验证、访问控制权限验证等,能够有效地增强度量代理的安全性,例如,保证度量代理本身具备保密性、完整性、不可篡改性等,从而能够防止恶意入侵、防止代码和数据被恶意修改等。
根据本说明书实施例的一个方面,提供了一种用于在可信计算系统中增强度量代理安全性的方法,包括:响应于度量代理被加载到载入内存区域中,计算所述载入内存区域的当前哈希值;验证所述当前哈希值是否匹配于安全规则配置中的预定哈希值;识别所述度量代理的当前访问控制权限;验证所述当前访问控制权限是否匹配于安全规则配置中的预定访问控制权限;以及响应于所述当前哈希值匹配于所述预定哈希值并且所述当前访问控制权限匹配于所述预定访问控制权限,确定所述度量代理符合安全性要求。
根据本说明书实施例的另一个方面,提供了一种可信计算系统,包括:计算子系统,其包括度量代理;以及可信子系统,其包括可信平台控制模块(TPCM)。所述TPCM被配置为:响应于所述度量代理被加载到所述计算子系统的载入内存区域中;计算所述载入内存区域的当前哈希值;验证所述当前哈希值是否匹配于安全规则配置中的预定哈希值;识别所述度量代理的当前访问控制权限;验证所述当前访问控制权限是否匹配于安全规则配置中的预定访问控制权限;以及响应于所述当前哈希值匹配于所述预定哈希值并且所述当前访问控制权限匹配于所述预定访问控制权限,确定所述度量代理符合安全性要求。
附图说明
通过参照下面的附图,可以实现对于本说明书实施例内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。
图1示出了根据实施例的可信计算系统的示例性架构。
图2示出了根据实施例的在安全规则配置生成阶段的示例性处理过程。
图3示出了根据实施例的在度量代理执行阶段的示例性处理过程。
图4示出了根据实施例的用于在可信计算系统中增强度量代理安全性的示例性方法的流程图。
具体实施方式
以下将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明书实施例内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
图1示出了根据实施例的可信计算系统100的示例性架构。
可信计算系统100可以包括可信子系统110、计算子系统120、内存访问控制硬件模块130等。应当理解,为了简化的目的,在图1中仅示出了可信计算系统100中的上述示例性模块,在实际应用中,可信计算系统100还可能包括更多其他模块。
可信子系统110能够以主动的方式为计算子系统120提供可信支撑功能。可信子系统110可以包括可信平台控制模块(TPCM)112。TPCM 112作为可信根,其主要用于建立和保障信任源点,提供完整性度量、安全存储、可信报告、密码服务等一系列可信计算的功能。可信子系统110还可以包括可信密码模块(TCM)114。TCM 114用于实施密码机制,其能够提供独立的密码算法支撑,保护系统平台敏感数据。
计算子系统120可以包括度量代理122。度量代理122可以对计算子系统120执行静态度量和动态度量,并将度量结果提供给TPCM 112,以便TPCM 112可以基于度量结果来验证计算子系统120的状态是否可信。
内存访问控制硬件模块130用于实现对计算子系统120的内存区域的访问控制,其可以被实施为例如内存管理单元(MMU)、微控制器单元(MCU)等。内存访问控制硬件模块130可以在逻辑上独立于或者包含于可信子系统110。
为了增强度量代理的安全性,本说明书实施例至少对可信计算系统中的以上模块定义了新的功能。由于本说明书实施例是在可信计算系统中的已有硬件模块的基础上通过增加新功能而实施的,因此,本说明书实施例的实施并未带来额外的硬件开销。
在一些实现方式中,本说明书实施例提出了至少通过内存访问控制机制来增强度量代理122的安全性。例如,本说明书实施例可以至少利用安全规则配置来增强度量代理122的安全性。安全规则配置可以包括与用于度量代理122的预定内存区域有关的各种配置信息。
通常,当度量代理122在计算子系统120中安全运行时,度量代理122应当被加载到计算子系统120中的预先规定的预定内存区域中。因此,确定度量代理122在实际运行时是否被正确地加载到与预定内存区域对应的内存区域将有助于增强度量代理122的安全性。本说明书实施例提出了预先计算预定内存区域的预定哈希值,并且通过在度量代理122运行时执行哈希值验证,来确定度量代理122在实际运行时所被加载到的载入内存区域是否匹配于预定内存区域。
此外,本说明书实施例还提出了为度量代理122设置预定访问控制权限,以便通过在度量代理122运行时执行访问控制权限验证来确定度量代理122在实际运行时是否是基于正确的访问控制权限的。例如,可以预先为度量代理122的代码段、数据段等分别设置预定访问控制权限,并且在度量代理122被加载到载入内存区域后,确定度量代理122的当前访问控制权限是否匹配于预定访问控制权限。预先设置的预定访问控制权限可以形成安全访问控制规则。
基于上述考虑,安全规则配置可以包括以下至少之一:关于用于度量代理的预定内存区域的信息;预定内存区域的预定哈希值;以及包含预定访问控制权限的安全访问控制规则。关于用于度量代理的预定内存区域的信息可以包括预定内存区域的各种指示信息,例如,预定内存区域的起始地址和结束地址、预定内存区域的空间大小等。此外,关于预定内存区域的信息也可以包括在预定内存区域中的、与度量代理的代码段和数据段分别对应的内存区域的各种指示信息。
在安全规则配置的生成阶段中,TPCM 112可以被配置为生成用于度量代理122的预定内存区域的预定哈希值。在一种实现方式中,TPCM 112可以从计算子系统120处获得关于用于度量代理122的预定内存区域的信息。TPCM 112可以基于所获得的关于预定内存区域的信息来计算预定内存区域的预定哈希值。应当理解,本说明书实施例并不局限于用于计算哈希值的任何特定技术。在计算了预定哈希值后,TPCM 112可以将预定哈希值保存到安全规则配置中。
此外,TPCM 112还可以被配置为生成安全访问控制规则。在一种实现方式中,TPCM112可以获得度量代理122的预定访问控制权限。例如,预定访问控制权限可以是由可信计算系统100的用户或管理员所设置的。预定访问控制权限可以包括针对度量代理的代码段而指定的预定访问控制权限、针对度量代理的数据段而指定的预定访问控制权限等。此外,预定访问控制权限可以具有各种类型,例如,可读、可写、可执行、不可读、不可写、不可执行、任何其它类型、及其任意组合。应当理解,本说明书实施例并不受到预定访问控制权限的具体类型的任何限制。TPCM 112可以利用所获得的预定访问控制权限来形成安全访问控制规则。即,安全访问控制规则可以包括预先为度量代理122所指定的各种预定访问控制权限。在形成了安全访问控制规则后,TPCM 112可以将安全访问控制规则保存到安全规则配置中。此外,优选地,TPCM 112还可以将安全访问控制规则下发给度量代理122,以便促使度量代理122在实际运行时遵循该安全访问控制规则。
通过安全规则配置的生成阶段,TPCM 112可以最终生成安全规则配置。示例性地,安全规则配置可以被表示为[内存区域∣哈希值∣控制规则],其中,“内存区域”代表关于用于度量代理的预定内存区域的信息,“哈希值”代表预定内存区域的预定哈希值,并且“控制规则”代表包含预定访问控制权限的安全访问控制规则。
本说明书实施例提出了在内存访问控制硬件模块130中创建与度量代理122相关联的存储区,以用于存储安全规则配置。例如,内存访问控制硬件模块130可以创建与度量代理122相关联的安全规则配置存储区132,并且将由TPCM 112所提供的安全规则配置存储到安全规则配置存储区132中。从而,当度量代理122被加载或执行时,存储在安全规则配置存储区132中的安全规则配置可以被调用于对度量代理122执行验证。
在度量代理122的执行阶段中,TPCM 112可以检测到度量代理122被加载到载入内存区域中。载入内存区域可以指度量代理122在被执行时所被实际加载到的内存区域。
在一个方面,响应于度量代理122被加载到载入内存区域中,TPCM 112可以被配置为计算载入内存区域的当前哈希值,并且执行哈希值验证。在一种实现方式中,TPCM 112可以从计算子系统120处获得关于载入内存区域的信息。关于载入内存区域的信息可以包括载入内存区域的各种指示信息,例如,载入内存区域的起始地址和结束地址、载入内存区域的空间大小等。此外,关于载入内存区域的信息也可以包括在载入内存区域中的、与度量代理122的代码段和数据段分别对应的内存区域的各种指示信息。TPCM 112可以基于所获得的关于载入内存区域的信息来计算载入内存区域的当前哈希值。示例性地,TPCM 112可以采用与预定哈希值的计算相类似的方式来计算当前哈希值。在计算出了当前哈希值后,TPCM 112可以执行哈希值验证。例如,TPCM 112可以验证当前哈希值是否匹配于存储在安全规则配置存储区132中的安全规则配置中的预定哈希值。示例性地,TPCM 112可以确定当前哈希值与预定哈希值是否相同。如果当前哈希值匹配于预定哈希值,则表明度量代理122被正确地加载到了预定内存区域中。如果当前哈希值不匹配于预定哈希值,则表明度量代理122未被正确地加载到预定内存区域中,从而可能存在例如不完整、被篡改等风险。
在一个方面,响应于度量代理122被加载到载入内存区域中,TPCM 112还可以被配置为基于度量代理122的当前访问控制权限来执行访问控制权限验证。在一种实现方式中,TPCM 112可以识别度量代理122的当前访问控制权限,例如,在度量代理122被加载到载入内存区域后、度量代理122的代码段和数据段当前所具有的访问控制权限。在识别出了当前访问控制权限后,TPCM 112可以执行访问控制权限验证。例如,TPCM 112可以验证当前访问控制权限是否匹配于存储在安全规则配置存储区132中的安全规则配置中的预定访问控制权限。示例性地,TPCM 112可以确定当前访问控制权限与预定访问控制权限是否相同,例如,对于同一代码段或数据段,当前访问控制权限与预定访问控制权限的类型是否相同、等等。如果当前访问控制权限匹配于预定访问控制权限,则表明度量代理122的运行是基于正确的访问控制权限的。如果当前访问控制权限不匹配于预定访问控制权限,则表明度量代理122的运行不是基于正确的访问控制权限的,从而可能存在例如被篡改、被恶意入侵等风险。
TPCM 112还可以被配置为基于哈希值验证的结果和访问控制权限验证的结果来确定度量代理122是否符合安全性要求。此处,安全性要求可以指满足当前哈希值匹配于预定哈希值并且当前访问控制权限匹配于预定访问控制权限的要求。例如,响应于当前哈希值匹配于预定哈希值并且当前访问控制权限匹配于预定访问控制权限,TPCM 112可以确定度量代理122当前符合安全性要求。从而,度量代理122所提供的度量结果将被认为是可信任的,并可以进而由可信子系统110所使用。响应于当前哈希值不匹配于预定哈希值和/或当前访问控制权限不匹配于预定访问控制权限,TPCM 112可以确定度量代理122当前不符合安全性要求。从而,度量代理122所提供的度量结果将被认为是不可信任的,并且将不能被可信子系统110所使用。
应当理解,尽管以上针对哈希值验证和访问控制权限验证的描述都是针对整个预定内存区域和整个载入内存区域来执行的,但是,可选地,也可以仅针对预定内存区域中的一部分代码段和数据段来执行哈希值验证和访问控制权限验证。例如,针对关键代码段和数据段来计算和比较预定哈希值和当前哈希值,并且针对关键代码段和数据段来比较预定访问控制权限和当前访问控制权限。通过这种方式,可以减少因执行哈希值验证和访问控制权限验证所造成的计算资源的损耗和延时。
此外,在一些实现方式中,本说明书实施例还提出了至少通过加密机制来增强度量代理122的安全性。TCM 114可以被配置为实施加密机制,以便对载入内存区域进行加密保护,使得度量代理122的代码段和数据段对于外界是不可见的。响应于度量代理122被加载到载入内存区域中,TCM 114可以对载入内存区域中的至少一部分内存区域进行加密。在一种情况下,对载入内存区域中的至少一部分内存区域进行加密可以包括对整个载入内存区域进行加密,从而提供全面的加密保护。在一种情况下,对载入内存区域中的至少一部分内存区域进行加密可以包括仅对载入内存区域的一部分(而并非整个载入内存区域)进行加密,例如,所述至少一部分内存区域可以对应于度量代理122的一部分代码段和/或数据段。优选地,在这种情况下,所述一部分代码段和/或数据段可以是度量代理122的关键代码段和/或数据段,从而既能够对关键代码段和/或数据段提供加密保护,也能够避免过多的加密处理对度量代理运行性能的影响。响应于TPCM 112已经确定度量代理122符合安全性要求,TCM 114可以对载入内存区域中的经加密的所述至少一部分内存区域进行解密,以便该内存区域中的度量数据等可以被可信子系统110所使用。
基于以上示例性描述,本说明书实施例能够实现对度量代理的运行环境的硬件级别安全保护,从而能够有效地增强度量代理的安全性。例如,至少通过对度量代理执行哈希值验证和访问控制权限验证,可以保证度量代理的完整性、不可篡改性等,至少通过对用于度量代理的载入内存区域执行加密和解密,可以保证度量代理具备保密性等。因此,本说明书实施例能够有效地防止针对度量代理的恶意入侵、针对度量代理的代码和数据的恶意修改等。
应当理解,以上针对TPCM 112、TCM 114、内存访问控制硬件模块130等所描述的与增强度量代理122的安全性有关的功能和处理都是示例性的,本说明书实施例还将涵盖为这些模块所配置的与增强度量代理122的安全性有关的任何其它功能和处理。
图2示出了根据实施例的在安全规则配置生成阶段的示例性处理过程200。过程200可以被视为是本说明书实施例的在可信计算系统中增强度量代理安全性的方法的一部分。
在210处,可以获得关于用于度量代理的预定内存区域的信息。例如,TPCM可以从计算子系统处获得关于预定内存区域的信息。
在220处,可以基于关于预定内存区域的信息来计算预定内存区域的预定哈希值。例如,预定哈希值可以是由TPCM来计算的。
在230处,可以获得度量代理的预定访问控制权限。例如,TPCM可以获得由可信计算系统的用户或管理员所设置的预定访问控制权限。预定访问控制权限可以包括,例如,针对度量代理的代码段而指定的预定访问控制权限,和/或针对度量代理的数据段而指定的预定访问控制权限。
在240处,可以利用预定访问控制权限形成安全访问控制规则。例如,TPCM可以利用在230处所获得的预定访问控制权限来形成安全访问控制规则。
可选地,过程200还可以包括将安全访问控制规则下发给度量代理。例如,安全访问控制规则可以由TPCM下发给度量代理。
在250处,可以生成安全规则配置。例如,可以通过将在220处所计算的预定哈希值和在240处所形成的安全访问控制规则分别保存到安全规则配置中,来生成安全规则配置。安全规则配置可以是由TPCM来生成的。所生成的安全规则配置可以包括以下至少之一:关于用于度量代理的预定内存区域的信息;预定内存区域的预定哈希值;以及包含预定访问控制权限的安全访问控制规则。
在260处,可以创建安全规则配置存储区。例如,内存访问控制硬件模块可以创建与度量代理相关联的安全规则配置存储区。此外,在260处,还可以将安全规则配置存储到安全规则配置存储区中。例如,内存访问控制硬件模块可以从TPCM处接收安全规则配置并且将其存储到安全规则配置存储区中。
应当理解,图2中的过程200中的所有步骤及其顺序都是示例性的,本说明书实施例还将涵盖对过程200所做的任意方式的修改。例如,尽管涉及计算预定哈希值的步骤210和220与涉及形成安全访问控制规则的步骤230和240被示为是并行地执行的,但是它们也可以以任意的顺序而依次执行。
图3示出了根据实施例的在度量代理执行阶段的示例性处理过程300。过程300可以被视为是本说明书实施例的在可信计算系统中增强度量代理安全性的方法的一部分。
在310处,可以检测度量代理被加载到载入内存区域中。例如,TPCM可以监视度量代理的运行和加载状态,并且可以检测到度量代理被加载到载入内存区域中的事件的发生。
在320处,可以对载入内存区域中的至少一部分内存区域进行加密。例如,TCM可以对整个载入内存区域或者对载入内存区域中对应于度量代理的一部分代码段和/或数据段的一部分内存区域进行加密。
在330处,可以响应于度量代理被加载到载入内存区域中,计算载入内存区域的当前哈希值。例如,当前哈希值可以是由TPCM来计算的。示例性地,在330处,可以从计算子系统处获得关于载入内存区域的信息,并且基于所获得的关于载入内存区域的信息来计算载入内存区域的当前哈希值。
在340处,可以执行哈希值验证。例如,可以验证当前哈希值是否匹配于存储在安全规则配置存储区中的安全规则配置中的预定哈希值。哈希值验证可以是由TPCM来执行的。
在350处,可以识别度量代理的当前访问控制权限。例如,响应于度量代理被加载到载入内存区域中,TPCM可以识别度量代理的当前访问控制权限。
在360处,可以执行访问控制权限验证。例如,可以验证当前访问控制权限是否匹配于存储在安全规则配置存储区中的安全规则配置中的预定访问控制权限。访问控制权限验证可以是由TPCM来执行的。
在370处,可以确定度量代理是否符合安全性要求。例如,可以基于在340处的哈希值验证的结果和在360处的访问控制权限验证的结果来确定度量代理是否符合安全性要求。示例性地,在370处,可以确定当前哈希值是否匹配于预定哈希值并且当前访问控制权限是否匹配于预定访问控制权限。在370处的关于度量代理是否符合安全性要求的确定可以是由TPCM来执行的。
如果在370处确定度量代理符合安全性要求,则在380处,可以对先前在320处所加密的载入内存区域中的至少一部分内存区域执行解密。相应地,度量代理所提供的度量结果将被认为是可信任的,并可以进而由可信子系统所使用。例如,在380处的解密可以是由TCM来执行的。
如果在370处确定度量代理不符合安全性要求,则在390处,可以停止执行进一步的操作。相应地,度量代理所提供的度量结果将被认为是不可信任的,并且将不能被可信子系统所使用。
应当理解,图3中的过程300中的所有步骤及其顺序都是示例性的,本说明书实施例还将涵盖对过程300所做的任意方式的修改。例如,尽管步骤320被示为在步骤330和步骤350之前执行,但是步骤320也可以在步骤310与步骤370之间的任意位置处执行。此外,例如,尽管涉及哈希值验证的步骤330和340与涉及访问控制权限验证的步骤350和360被示为是并行地执行的,但是它们也可以以任意的顺序而依次执行。
此外,应当理解,以上结合图1描述的各模块的功能和处理、结合图2描述的过程200和结合图3描述的过程300是从不同方面和角度对本说明书实施例的用于在可信计算系统中增强度量代理安全性的机制的示例性说明,所描述的模块的功能和处理与所描述的过程中的步骤可以以任意方式互相补充和组合。例如,各模块的功能和处理可以作为对应步骤而添加到过程200或过程300中,并且过程200和过程300中的步骤可以作为对相应模块的功能和处理的描述。
图4示出了根据实施例的用于在可信计算系统中增强度量代理安全性的示例性方法400的流程图。
在410处,可以响应于度量代理被加载到载入内存区域中,计算所述载入内存区域的当前哈希值。
在420处,可以验证所述当前哈希值是否匹配于安全规则配置中的预定哈希值。
在430处,可以识别所述度量代理的当前访问控制权限。
在440处,可以验证所述当前访问控制权限是否匹配于安全规则配置中的预定访问控制权限。
在450处,可以响应于所述当前哈希值匹配于所述预定哈希值并且所述当前访问控制权限匹配于所述预定访问控制权限,确定所述度量代理符合安全性要求。
在一种实现方式中,方法400还可以包括:响应于所述当前哈希值不匹配于所述预定哈希值和/或所述当前访问控制权限不匹配于所述预定访问控制权限,确定所述度量代理不符合所述安全性要求。
在一种实现方式中,方法400还可以包括:对所述载入内存区域中的至少一部分内存区域进行加密;以及响应于所述度量代理符合所述安全性要求,对所述经加密的至少一部分内存区域进行解密。
所述至少一部分内存区域可以对应于所述度量代理的一部分代码段和/或数据段。
在一种实现方式中,方法400还可以包括:获得关于用于所述度量代理的预定内存区域的信息;基于所述信息来计算所述预定内存区域的所述预定哈希值;以及将所述预定哈希值保存到所述安全规则配置中。
在一种实现方式中,方法400还可以包括:获得所述度量代理的所述预定访问控制权限;利用所述预定访问控制权限形成安全访问控制规则;以及将所述安全访问控制规则保存到所述安全规则配置中。
方法400还可以包括:将所述安全访问控制规则下发给所述度量代理。
所述预定访问控制权限可以包括:针对所述度量代理的代码段而指定的预定访问控制权限;和/或针对所述度量代理的数据段而指定的预定访问控制权限。
所述预定访问控制权限可以包括以下至少之一:可读、可写、可执行、不可读、不可写以及不可执行。
在一种实现方式中,所述安全规则配置可以包括以下至少之一:关于用于所述度量代理的预定内存区域的信息;所述预定内存区域的所述预定哈希值;以及包含所述预定访问控制权限的安全访问控制规则。
在一种实现方式中,方法400还可以包括:创建与所述度量代理相关联的安全规则配置存储区;以及将所述安全规则配置存储到所述安全规则配置存储区中。
应当理解,方法400还可以包括根据上述本说明书实施例的用于在可信计算系统中增强度量代理安全性的任何步骤/过程。
此外,本说明书实施例还提供了一种可信计算系统,包括:计算子系统,其包括度量代理;以及可信子系统,其包括TPCM。所述TPCM可以被配置为:响应于所述度量代理被加载到所述计算子系统的载入内存区域中,计算所述载入内存区域的当前哈希值;验证所述当前哈希值是否匹配于安全规则配置中的预定哈希值;识别所述度量代理的当前访问控制权限;验证所述当前访问控制权限是否匹配于安全规则配置中的预定访问控制权限;以及响应于所述当前哈希值匹配于所述预定哈希值并且所述当前访问控制权限匹配于所述预定访问控制权限,确定所述度量代理符合安全性要求。
在一种实现方式中,所述TPCM还可以被配置为:响应于所述当前哈希值不匹配于所述预定哈希值和/或所述当前访问控制权限不匹配于所述预定访问控制权限,确定所述度量代理不符合所述安全性要求。
在一种实现方式中,所述可信子系统还可以包括TCM。所述TCM可以被配置为:对所述载入内存区域中的至少一部分内存区域进行加密;以及响应于所述度量代理符合所述安全性要求,对所述经加密的至少一部分内存区域进行解密。
在一种实现方式中,所述TPCM还可以被配置为:从所述计算子系统处获得关于用于所述度量代理的预定内存区域的信息;基于所述信息来计算所述预定内存区域的所述预定哈希值;以及将所述预定哈希值保存到所述安全规则配置中。
在一种实现方式中,所述TPCM还可以被配置为:获得所述度量代理的所述预定访问控制权限;利用所述预定访问控制权限形成安全访问控制规则;以及将所述安全访问控制规则保存到所述安全规则配置中。
在一种实现方式中,所述可信计算系统还可以包括内存访问控制硬件模块,所述内存访问控制硬件模块可以被配置为:创建与所述度量代理相关联的安全规则配置存储区;以及将所述安全规则配置存储到所述安全规则配置存储区中。
在一种实现方式中,所述安全规则配置可以包括以下至少之一:关于用于所述度量代理的预定内存区域的信息;所述预定内存区域的所述预定哈希值;以及包含所述预定访问控制权限的安全访问控制规则。
应当理解,可信计算系统中的上述模块还可以执行根据上述本说明书实施例的用于在可信计算系统中增强度量代理安全性的任何操作和处理。
此外,本说明书实施例还提供了一种电子设备,包括:至少一个处理器,与所述至少一个处理器耦合的存储器,以及存储在所述存储器上的计算机程序,所述至少一个处理器执行所述计算机程序来实现根据上述本说明书实施例的用于在可信计算系统中增强度量代理安全性的任何步骤/过程。
此外,本说明书实施例还提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现根据上述本说明书实施例的用于在可信计算系统中增强度量代理安全性的任何步骤/过程。
此外,本说明书实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据上述本说明书实施例的用于在可信计算系统中增强度量代理安全性的任何步骤/过程。
本说明书各部分操作所需的计算机程序代码可以用任意一种或多种程序语言编写,包括面向对象编程语言,如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB、NET以及Python等,常规程序化编程语言如C语言、Visual Basic 2003、Perl、COBOL 2002、PHP以及ABAP,动态编程语言如Python、Ruby和Groovy,或者其他编程语言等。该程序编码可以在用户计算机上运行,或者作为独立的软件包在用户计算机上运行,或者部分在用户计算机上运行另一部分在远程计算机运行,或者全部在远程计算机或服务器上运行。在后一种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或者在云计算环境中,或者作为服务使用,比如软件即服务(SaaS)。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
以上结合附图详细描述了本说明书的实施例的可选实施方式,但是,本说明书的实施例并不限于上述实施方式中的具体细节,在本说明书的实施例的技术构思范围内,可以对本说明书的实施例的技术方案进行多种简单变型,这些简单变型均属于本说明书的实施例的保护范围。
本说明书内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本说明书内容。对于本领域普通技术人员来说,对本说明书内容进行的各种修改是显而易见的,并且,也可以在不脱离本说明书内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本说明书内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。
Claims (18)
1.一种用于在可信计算系统中增强度量代理安全性的方法,包括:
响应于度量代理被加载到载入内存区域中,基于关于所述载入内存区域的信息来计算所述载入内存区域的当前哈希值;
验证所述当前哈希值是否匹配于安全规则配置中的预定哈希值;
识别所述度量代理的当前访问控制权限;
验证所述当前访问控制权限是否匹配于安全规则配置中的预定访问控制权限;以及
响应于所述当前哈希值匹配于所述预定哈希值并且所述当前访问控制权限匹配于所述预定访问控制权限,确定所述度量代理符合安全性要求。
2.如权利要求1所述的方法,还包括:
响应于所述当前哈希值不匹配于所述预定哈希值和/或所述当前访问控制权限不匹配于所述预定访问控制权限,确定所述度量代理不符合所述安全性要求。
3. 如权利要求1所述的方法,还包括:
对所述载入内存区域中的至少一部分内存区域进行加密;以及
响应于所述度量代理符合所述安全性要求,对经加密的至少一部分内存区域进行解密。
4.如权利要求3所述的方法,其中,
所述至少一部分内存区域对应于所述度量代理的一部分代码段和/或数据段。
5.如权利要求1所述的方法,还包括:
获得关于用于所述度量代理的预定内存区域的信息;
基于所述信息来计算所述预定内存区域的所述预定哈希值;以及
将所述预定哈希值保存到所述安全规则配置中。
6.如权利要求1所述的方法,还包括:
获得所述度量代理的所述预定访问控制权限;
利用所述预定访问控制权限形成安全访问控制规则;以及
将所述安全访问控制规则保存到所述安全规则配置中。
7.如权利要求6所述的方法,还包括:
将所述安全访问控制规则下发给所述度量代理。
8. 如权利要求6所述的方法,其中,所述预定访问控制权限包括:
针对所述度量代理的代码段而指定的预定访问控制权限;和/或
针对所述度量代理的数据段而指定的预定访问控制权限。
9.如权利要求8所述的方法,其中,所述预定访问控制权限包括以下至少之一:
可读、可写、可执行、不可读、不可写以及不可执行。
10.如权利要求1所述的方法,其中,所述安全规则配置包括以下至少之一:
关于用于所述度量代理的预定内存区域的信息;
所述预定内存区域的所述预定哈希值;以及
包含所述预定访问控制权限的安全访问控制规则。
11. 如权利要求1所述的方法,还包括:
创建与所述度量代理相关联的安全规则配置存储区;以及
将所述安全规则配置存储到所述安全规则配置存储区中。
12. 一种可信计算系统,包括:
计算子系统,其包括度量代理;以及
可信子系统,其包括可信平台控制模块(TPCM),所述TPCM被配置为:
响应于所述度量代理被加载到所述计算子系统的载入内存区域中,基于关于所述载入内存区域的信息来计算所述载入内存区域的当前哈希值,
验证所述当前哈希值是否匹配于安全规则配置中的预定哈希值,
识别所述度量代理的当前访问控制权限,
验证所述当前访问控制权限是否匹配于安全规则配置中的预定访问控制权限,以及
响应于所述当前哈希值匹配于所述预定哈希值并且所述当前访问控制权限匹配于所述预定访问控制权限,确定所述度量代理符合安全性要求。
13.如权利要求12所述的可信计算系统,其中,所述TPCM还被配置为:
响应于所述当前哈希值不匹配于所述预定哈希值和/或所述当前访问控制权限不匹配于所述预定访问控制权限,确定所述度量代理不符合所述安全性要求。
14. 如权利要求12所述的可信计算系统,其中,所述可信子系统还包括可信密码模块(TCM),所述TCM被配置为:
对所述载入内存区域中的至少一部分内存区域进行加密;以及
响应于所述度量代理符合所述安全性要求,对经加密的至少一部分内存区域进行解密。
15.如权利要求12所述的可信计算系统,其中,所述TPCM还被配置为:
从所述计算子系统处获得关于用于所述度量代理的预定内存区域的信息;
基于所述信息来计算所述预定内存区域的所述预定哈希值;以及
将所述预定哈希值保存到所述安全规则配置中。
16.如权利要求12所述的可信计算系统,其中,所述TPCM还被配置为:
获得所述度量代理的所述预定访问控制权限;
利用所述预定访问控制权限形成安全访问控制规则;以及
将所述安全访问控制规则保存到所述安全规则配置中。
17.如权利要求12所述的可信计算系统,还包括:
内存访问控制硬件模块,其被配置为:创建与所述度量代理相关联的安全规则配置存储区;以及将所述安全规则配置存储到所述安全规则配置存储区中。
18.如权利要求12所述的可信计算系统,其中,所述安全规则配置包括以下至少之一:
关于用于所述度量代理的预定内存区域的信息;
所述预定内存区域的所述预定哈希值;以及
包含所述预定访问控制权限的安全访问控制规则。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210145114.XA CN114201761B (zh) | 2022-02-17 | 2022-02-17 | 在可信计算系统中增强度量代理安全性 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210145114.XA CN114201761B (zh) | 2022-02-17 | 2022-02-17 | 在可信计算系统中增强度量代理安全性 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114201761A CN114201761A (zh) | 2022-03-18 |
CN114201761B true CN114201761B (zh) | 2022-06-28 |
Family
ID=80645595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210145114.XA Active CN114201761B (zh) | 2022-02-17 | 2022-02-17 | 在可信计算系统中增强度量代理安全性 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114201761B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853221A (zh) * | 2005-02-14 | 2010-10-06 | 松下电器产业株式会社 | 应用程序执行装置、应用程序执行方法和程序 |
CN109858255A (zh) * | 2018-12-19 | 2019-06-07 | 杭州安恒信息技术股份有限公司 | 数据加密存储方法、装置及实现装置 |
CN111698091A (zh) * | 2020-05-26 | 2020-09-22 | 东南大学 | 一种基于可信计算的Docker平台动态防护方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101784051B (zh) * | 2009-01-21 | 2012-11-21 | 华为技术有限公司 | 一种平台完整性验证的方法、网络设备和网络系统 |
CN110334521B (zh) * | 2019-07-08 | 2022-03-15 | 北京可信华泰信息技术有限公司 | 可信计算系统构建方法、装置、可信计算系统及处理器 |
CN110321714B (zh) * | 2019-07-08 | 2022-03-29 | 北京可信华泰信息技术有限公司 | 基于双体系结构的可信计算平台的动态度量方法及装置 |
CN111291381A (zh) * | 2020-01-17 | 2020-06-16 | 山东超越数控电子股份有限公司 | 一种基于tcm构建信任链的方法、设备及介质 |
CN111859394B (zh) * | 2020-07-21 | 2023-09-29 | 中国人民解放军国防科技大学 | 基于tee的软件行为主动度量方法及系统 |
-
2022
- 2022-02-17 CN CN202210145114.XA patent/CN114201761B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853221A (zh) * | 2005-02-14 | 2010-10-06 | 松下电器产业株式会社 | 应用程序执行装置、应用程序执行方法和程序 |
CN109858255A (zh) * | 2018-12-19 | 2019-06-07 | 杭州安恒信息技术股份有限公司 | 数据加密存储方法、装置及实现装置 |
CN111698091A (zh) * | 2020-05-26 | 2020-09-22 | 东南大学 | 一种基于可信计算的Docker平台动态防护方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114201761A (zh) | 2022-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10771264B2 (en) | Securing firmware | |
CN101894224B (zh) | 保护客户端平台上的内容 | |
US7308576B2 (en) | Authenticated code module | |
JP4498735B2 (ja) | オペレーティングシステムおよびカスタマイズされた制御プログラムとインタフェースする安全なマシンプラットフォーム | |
KR101231561B1 (ko) | 서비스 커넬 설계에 의한 보안 정책 차별화 | |
US20050021968A1 (en) | Method for performing a trusted firmware/bios update | |
US20160323293A1 (en) | Sealing secret data with a policy that includes a sensor-based constraint | |
US20030126453A1 (en) | Processor supporting execution of an authenticated code instruction | |
EP3642721B1 (en) | A cache unit useful for secure execution | |
US20030126454A1 (en) | Authenticated code method and apparatus | |
CN111723383A (zh) | 数据存储、验证方法及装置 | |
CN103038745A (zh) | 扩展完整性测量 | |
TW201500960A (zh) | 在配有適用統一可延伸韌體介面(uefi)之韌體之計算裝置中的安全性變數變化檢測技術 | |
WO2017000648A1 (zh) | 一种被加固软件的认证方法及装置 | |
KR20220090537A (ko) | 정책 적용을 위한 가상 환경 유형 검증 | |
US12105804B2 (en) | Securely executing software based on cryptographically verified instructions | |
Dave et al. | CARE: Lightweight attack resilient secure boot architecturewith onboard recovery for RISC-V based SOC | |
Frazelle | Securing the Boot Process: The hardware root of trust | |
CN114201761B (zh) | 在可信计算系统中增强度量代理安全性 | |
Ozga et al. | Chors: Hardening high-assurance security systems with trusted computing | |
Msgna et al. | Secure application execution in mobile devices | |
Galanou et al. | MATEE: multimodal attestation for trusted execution environments | |
CN115878122B (zh) | 用于数据项的损坏确定的方法、系统及存储介质 | |
RU2812867C1 (ru) | Защита двоичных файлов типовых коммерческих программ от пиратства с использованием аппаратных анклавов | |
CN114651253B (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 |