CN111310193B - 数据处理方法、装置、存储介质和处理器 - Google Patents
数据处理方法、装置、存储介质和处理器 Download PDFInfo
- Publication number
- CN111310193B CN111310193B CN202010089058.3A CN202010089058A CN111310193B CN 111310193 B CN111310193 B CN 111310193B CN 202010089058 A CN202010089058 A CN 202010089058A CN 111310193 B CN111310193 B CN 111310193B
- Authority
- CN
- China
- Prior art keywords
- interface
- control module
- tpcm
- platform control
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种数据处理方法、装置、存储介质和处理器。其中,该方法包括:获取可信平台控制模块与外部对象之间的数据交互指令,其中,外部对象为可信计算平台中需要与可信平台控制模块进行数据交互的对象;从至少一个接口中确定与数据交互指令对应的目标接口,其中,可信平台控制模块包括至少一个接口;通过目标接口执行对应的数据交互功能,其中,数据交互功能用于使可信平台控制模块与外部对象之间进行数据交互。本发明解决了可信平台控制模块的适配性低的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种数据处理方法、装置、存储介质和处理器。
背景技术
目前,可信平台控制模块(Trusted Platform Control Model,简称为TPCM)在进行主动防御时,需要与外部对象进行数据交互,这样TPCM就需要与不同的外部对象之间设置有不同的交互协议。因而,在实际应用时,通常是需要TPCM的内部结构适配各种外部对象,从而使得外部对象与TPCM进行数据交互时,与TPCM的内部结构具有很大关系,从而降低了可信平台控制模块的适配性。
针对上述的可信平台控制模块的适配性低的技术问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据处理方法、装置、存储介质和处理器,以至少解决可信平台控制模块的适配性低的技术问题。
根据本发明实施例的一个方面,提供了一种数据处理方法。该方法可以包括:获取可信平台控制模块与外部对象之间的数据交互指令,其中,外部对象为可信计算平台中需要与可信平台控制模块进行数据交互的对象;从至少一个接口中确定与数据交互指令对应的目标接口,其中,可信平台控制模块包括至少一个接口;通过目标接口执行对应的数据交互功能,其中,数据交互功能用于使可信平台控制模块与外部对象之间进行数据交互。
可选地,外部对象包括:可信计算平台中的主机和/或可信管理中心。
可选地,目标接口包括以下至少之一:度量接口,用于执行度量操作;基准库更新接口,用于更新基准库;可信报告获取接口,用于获取由可信平台控制模块提供的可信报告;状态获取接口,用于获取可信平台控制模块和可信密码模块的状态;固件升级接口,用于进行固件在线升级;内存保护策略接口,用于处理内存保护策略;日志处理接口,用于处理可信平台控制模块的日志;闪存处理接口,用于对闪存中的目标区域进行数据处理。
可选地,度量接口包括以下至少之一:启动度量接口,用于在计算子系统处于启动阶段时,对计算子系统进行度量;拦截度量接口,用于在计算子系统处于运行阶段时,在拦截计算子系统的行为后对计算子系统进行度量;数据采集和度量控制接口,用于对计算子系统执行数据采集和度量控制;动态度量策略设置接口,用于执行动态度量策略设置;获取启动度量基准值接口,用于获取可信平台控制模块中存储的启动度量的计算值;度量开关控制接口,用于控制启动度量和拦截度量的开关的开启和关闭。
可选地,基准库更新接口包括以下至少之一:基准库整体更新接口,用于整体更新基准库;基准库增量更新接口,用于增量更新基准库。
可选地,基准库整体更新接口的类型包括以下至少之一:启动度量基准库类型、白名单基准库类型。
可选地,基准库增量更新接口的类型包括以下至少之一:启动度量基准库类型、白名单基准库类型。
可选地,内存保护策略接口包括以下至少之一:内存保护策略更新接口,用于更新内存保护策略;内存保护策略开关设置接口,用于控制内存保护策略的开启和关闭。
可选地,日志处理接口包括以下至少之一:启动度量日志格式接口,用于在计算子系统每次开机启动后发送启动度量日志;动态度量日志格式接口,用于在配置动态度量策略后定时上报日志;日志获取接口,用于获取可信平台控制模块的日志。
可选地,闪存处理接口包括以下至少之一:闪存读取接口,用于在闪存的目标区域中读取数据;闪存写入接口,用于在闪存的目标区域中写入数据;闪存擦除接口,用于在闪存的目标区域中擦除数据。
可选地,从至少一个接口中确定与数据交互指令对应的目标接口,包括:在可信平台控制模块中确定与数据交互指令对应的业务功能模块,其中,业务功能模块用于执行可信平台控制模块的业务功能;从至少一个接口中将业务功能模块对应的接口确定为目标接口。
可选地,业务功能模块包括以下至少之一:启动度量模块,用于根据启动度量策略对计算子系统的启动过程中的目标数据进行度量;拦截度量模块,用于确定主机拦截的对象;动态度量模块,用于在计算子系统处于运行阶段的情况下,控制可信平台控制模块对计算子系统的内核区域进行度量;策略库管理模块,用于对基准值进行比对操作;日志输出模块,用于使可信平台控制模块上报日志;可信报告模块,用于确定计算子系统的可信状态。
根据本发明实施例的另一方面,还提供了一种数据处理装置。该装置包括:获取单元,用于获取可信平台控制模块与外部对象之间的数据交互指令,其中,外部对象为可信计算平台中需要与可信平台控制模块进行数据交互的对象;确定单元,用于从至少一个接口中确定与数据交互指令对应的目标接口,其中,可信平台控制模块包括至少一个接口;执行单元,用于通过目标接口执行对应的数据交互功能,其中,数据交互功能用于使可信平台控制模块与外部对象之间进行数据交互。
根据本发明实施例的另一方面,还提供了一种存储介质。该存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行本发明实施例的数据处理方法。
根据本发明实施例的另一方面,还提供了一种处理器。该处理器用于运行程序,其中,程序运行时执行本发明实施例的数据处理方法。
在本发明实施例中,获取可信平台控制模块与外部对象之间的数据交互指令,其中,外部对象为可信计算平台中需要与可信平台控制模块进行数据交互的对象;从至少一个接口中确定与数据交互指令对应的目标接口,其中,可信平台控制模块包括至少一个接口;通过目标接口执行对应的数据交互功能,其中,数据交互功能用于使可信平台控制模块与外部对象之间进行数据交互。也就是说,本申请的TPCM设计了一层TPCM的对外接口(目标接口),通过这层对外接口,外部对象可以实现与TPCM 之间的数据交互,使得外部对象与TPCM之间的数据交互和TPCM内部所采用的结构并没有太大关系,从而无需使TPCM的内部结果适配各种外部对象,解决了可信平台控制模块的适配性低的技术问题,进而达到了可信平台控制模块的适配性的技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种数据处理方法的流程图;
图2是根据本发明实施例的一种TPCM业务模块结构的示意图;
图3是根据本发明实施例的一种TPCM的结构示意图;
图4是根据本发明实施例的一种TPCM系统层框架的示意图;
图5是根据本发明实施例的一种可信计算平台中的总体逻辑结构的示意图;以及
图6是根据本发明实施例的一种数据处理装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种数据处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种数据处理方法的流程图。如图1所示,该方法可以包括如下步骤:
步骤S102,获取可信平台控制模块与外部对象之间的数据交互指令,其中,外部对象为可信计算平台中需要与可信平台控制模块进行数据交互的对象。
在本发明步骤S102提供的技术方案中,可信计算平台包括可信平台控制模块(TPCM),而外部对象可以包括可信计算平台中的主机和/或可信管理中心,可以与可信平台控制模块进行数据交互,也即,交互对象。其中,TPCM为一种集成在可信计算平台中,用于建立和保障信任源点的硬件核心模块,为可信计算提供完整性度量、安全存储、可信报告以及密码服务等功能,TPCM在主机侧的延伸和代理可以是计算子系统,可信管理中心为防御子系统配置策略、进行数据分析,计算子系统和防御子系统可以并行运行,从而构成了上述可信计算平台。
可选地,该实施例的可信平台控制模块包括TPCM系统层接口,通过TPCM系统层接口可以将可信平台控制模块划分为TPCM系统层和TPCM业务层,其中,TPCM 业务层为TPCM系统层的上层,是可信软件基(TSB)的卡内部分,可以与TSB(主机侧)相互配合,共同完成TSB功能。该实施例使用TPCM系统层提供的消息通道可以与TSB主机侧通信,使用TPCM系统层提供的Flash驱动可以完成BIOS读取、度量,策略、基准值存储,及其它TPCM关键数据存储,使用密码支撑服务完成基准值采集、目标度量、可信凭证签名等操作,这样就可以将TPCM业务功能的实现与支撑这些TPCM业务功能实现的系统服务分离开来,TPCM业务层可以通过调用TPCM系统层接口实现与TPCM系统层之间的交互,可以使得TPCM更容易进行迁移和维护,以满足TPCM在多种物理场景中实现的需求。其中,TSB为可信计算平台的可信性提供支持的软件元素的集合,TPCM业务层可以用于对主机进行主动防御,可以与主机侧和/或可信管理中心之间的数据交互,从而该实施例获取TPCM业务层与主机侧和/ 或可信管理中心之间的数据交互指令。
可选地,该实施例通过用于实现可信平台控制模块的业务功能的系统服务信息,从至少一个TPCM系统层接口中确定出针对系统服务信息与业务层进行交互的接口,该可以用于定义业务层与系统层之间交互的规范,进而通过其将系统服务信息转换为目标功能指令,并通过目标功能指令控制TPCM在业务层执行对应的业务功能,该业务功能可以是主动防御业务功能或其它可信业务功能等。
可选地,上述TPCM系统层接口可以包括以下至少之一:系统基本服务接口,可以用于将系统服务信息转换为操作功能指令,通过操作功能指令向TPCM提供基本的执行环境;FLASH驱动接口,可以将系统服务信息转换为驱动功能指令,通过驱动功能指令向可信平台控制模块提供访问闪存的功能;通信驱动接口,用于将系统服务信息转换为通信功能指令,通过通信功能指令使可信平台控制模块进行通信,包括发送命令和/或接收命令,可以在底层系统的支持下进行实现。
作为一种可选的示例,上述系统基本服务接口可以包括以下至少之一:主机内存访问接口,用于访问主机内存,该主机内存访问接口用于执行以下步骤之一来访问主机内存:将主机内存的物理地址映射成可信平台控制模块的虚拟地址进行访问;将主机内存复制到可信平台控制模块的内存中来模拟映射访问;中断开关接口,用于采用中断方式接收主机发送的命令,可以用于在可信平台控制模块执行关键任务时关闭;本地内存管理接口,用于分配和释放内存,可以通过以下步骤来分配和释放内存:从堆上分配和释放内存;调试信息输出接口,用于输出格式化信息,可以用于通过以下步骤来输出格式化信息:输出格式化信息至调试端口,以实现串口打印;随机数生成接口,用于生成随机数,可以用于通过以下步骤来生成随机数:生成真随机数,其中,真随机数满足可信密码的计算要求;时间获取接口,用于获取可信平台控制模块在启动之后的时间,可以用于通过以下步骤来获取可信平台控制模块在启动之后的时间:获取可信平台控制模块在启动之后以秒或毫秒为单位所表示的时长;内存使用信息获取接口,用于返回可信平台控制模块的内存使用的信息,可以通过以下步骤来返回可信平台控制模块的内存使用的信息:返回可信平台控制模块的总内存数量和可信平台控制模块的已使用内存数量;中央处理器的信息获取接口,用于获取运行的中央处理器的信息,可以通过以下步骤来获取运行的中央处理器的信息:获取中央处理器的编号;系统延迟接口,用于控制中央处理器的运行延迟目标时间段,该系统延迟接口控制中央处理器延迟时,响应打断命令,控制中央处理器继续运行;中央处理器的缓存清理接口,用于清理中央处理器的缓存,可以通过以下步骤来清理中央处理器的缓存:当可信平台控制模块访问主机内存时,在中央处理器的缓存与主机内存的数据不一致的情况下,清理中央处理器的缓存。
作为一种可选的示例,上述FLASH驱动接口可以包括以下至少之一:闪存读接口,用于读取第一预定长度的数据,可以通过以下步骤来读取第一预定长度的数据:按照第一预定区域和第一偏移量,读取第一预定长度的数据;闪存写接口,用于写入第二预定长度的数据,可以通过以下步骤来写入第二预定长度的数据:按照第二预定区域和第二偏移量,写入第二预定长度的数据;闪存擦除接口,用于擦除第一数据,可以通过以下步骤来擦除第一数据:按照第三预定区域和第三偏移量擦除第一数据;闪存擦写接口,用于先擦除第二数据,再写入第三数据,可以通过以下步骤来先擦除第二数据,再写入第三数据:先在第四预定区域擦除第二数据,再向第四预定区域写入第三数据,其中,第二数据的长度大于第三数据的长度;闪存区域长度返回接口,用于返回闪存区域的长度。
作为一种可选的示例,上述通信驱动接口可以包括以下至少之一:命令处理回调接口,用于打断可信平台控制模块的主程序的执行,可以通过以下步骤来打断可信平台控制模块的主程序的执行:在中断处理函数中打断可信平台控制模块的主程序的执行;命令信息说明接口,用于保存可信平台控制模块的命令信息,可以通过以下步骤来保存可信平台控制模块的命令信息;通过结构体保存可信平台控制模块的命令信息;命令映射接口,用于将输入参数地址和输出参数地址映射为可信平台控制模块可访问的虚拟地址,可以通过以下步骤来将输入参数地址和输出参数地址映射为可信平台控制模块可访问的虚拟地址:在输入参数地址和输出参数地址未能直接访问的情况下,将输入参数地址和输出参数地址映射为虚拟地址;异步命令完成通知接口,用于在完成异步处理命令时,向主机发送第一通知消息,该第一通知消息由异步命令完成通知接口和主机的驱动接口协商得到;命令释放接口,用于在命令信息处理完成之后,释放与命令信息相关联的资源,该命令释放接口可以保留命令信息在内存中的数据;度量结果发送接口,用于在度量操作完成之后,发送第二通知消息,该第二通知消息用于唤醒主机的中央处理器;消息发送接口,用于向计算子系统发送第三通知消息,可以通过以下步骤向计算子系统(计算节点)发送第三通知消息:向计算子系统的中央处理器发送中断请求消息。
在相关技术中,并未将TPCM进行分层设计,也并未提出为了便于TPCM迁移和维护而设计的TPCM系统层接口。而在该实施例中,为了便于TPCM进行迁移和维护,将通过TPCM系统层接口对TPCM进行分层设计,将其划分为TPCM系统层和TPCM 业务层,这样TPCM业务层可以通过调用TPCM系统层接口实现与TPCM系统层之间的交互,使得TPCM业务层在进行主动防御业务时无需关心TPCM所采用的硬件结构,从而极大地提高了TPCM的适配性。
步骤S104,从至少一个接口中确定与数据交互指令对应的目标接口,其中,可信平台控制模块包括至少一个接口。
在本发明步骤S104提供的技术方案中,在获取可信平台控制模块与外部对象之间的数据交互指令之后,从至少一个接口中确定与数据交互指令对应的目标接口。
在该实施例中,可信平台控制模块包括 的至少一个接口也即可信平台控制模块的一层对外接口,可以是TPCM业务层与主机侧和/或可信管理中心进行交互的接口,也即,TPCM访问服务接口,不同的接口可以用于实现可信平台控制模块与外部对象之间的不同的数据交互功能,该实施例确定与数据交互指令对应的目标接口。
可选地,在该实施例中,TPCM的至少一个接口的命名规范可以是 TPCM_manner_action_object,其中,TPCM可以用于表示芯片名,manner可以用于表示运行该命令时可能会需要是所有者/特权级代表/空,action可以用于表示命令的操作意向,object可以用于指代被操作的对象。
步骤S106,通过目标接口执行对应的数据交互功能,其中,数据交互功能用于使可信平台控制模块与外部对象之间进行数据交互。
在本发明步骤S106提供的技术方案中,在从至少一个接口中确定与数据交互指令对应的目标接口之后,可以调用目标接口,通过目标接口执行对应的数据交互功能,从而通过该数据交互功能实现可信平台控制模块的TPCM业务层与主机侧和/或可信管理中心之间的数据交互,使得主机和/或可信管理中心与TPCM之间的数据交互与 TPCM内部所采用的结构并没有太大关系,从而无需使TPCM的内部结果适配各种外部对象,从而极大地提高了TPCM的适配性。
在该实施例中,主机侧(TSB)与TPCM业务层的至少一个接口可以包括用于实现策略管理指令、基准值管理指令、系统管理指令、度量及采集指令、日志上报等的接口,TSB通过这些接口对TPCM进行访问和管理等数据交互过程。
在该实施例中,目标接口的输入消息格式可以为表1:
表1输入消息格式表
标识 | 数据长度 | 命令码 | 输入参数 | 鉴权会话句柄 | 授权数据验证码 |
2B | 4B | 4B | 参照接口 | 4B | 32B |
其中,标识为常规或受保护命令标识,可以是TPCM_TAG_RQU_COMMAND/ TPCM_TAG_RQU_AUTH1_COMMAND/TPCM_TAG_RQU_AUTH2_COMMAND中的一个,长度固定。
其中,数据长度也即消息数据长度,长度固定;命令码用于区分命令类型唯一标识,长度固定;输入参数为输入消息的关键数据,为可变数据,根据命令码不同而变化;鉴权会话句柄为会话资源的标识,长度固定,不认证本字段无;授权数据验证码为用于输入消息授权校验的数据,长度固定,不认证本字段无。
在该实施例中,目标接口的输出消息格式可以为表2:
表2输出消息格式表
标识 | 数据长度 | 返回码 | 控制码 | 输出参数 | 所有者授权数据验证码 |
2B | 4B | 2B | 2B | 参照接口 | 32B |
其中,标识为常规或受保护命令标识,可以是TPCM_TAG_RSP_COMMAND/ TPCM_TAG_RSP_AUTH1_COMMAND/TPCM_TAG_RSP_AUTH2_COMMAND中的一个,长度固定;数据长度为消息数据长度,长度固定;返回码为执行结果错误码,长度固定;控制码只用1bit,0允许执行,1表示不允许执行,其它bit待定,长度固定;输出参数为输出消息的关键数据,为可变数据,根据命令码不同而变化;授权数据验证码用于输出消息授权校验的数据,长度固定,不认证本字段无。
通过上述步骤S102至步骤S106,获取可信平台控制模块与外部对象之间的数据交互指令,其中,外部对象为可信计算平台中需要与可信平台控制模块进行数据交互的对象;从至少一个接口中确定与数据交互指令对应的目标接口,其中,可信平台控制模块包括至少一个接口;通过目标接口执行对应的数据交互功能,其中,数据交互功能用于使可信平台控制模块与外部对象之间进行数据交互。也就是说,该实施例的 TPCM设计了一层TPCM的对外接口(目标接口),通过这层对外接口,外部对象可以实现与TPCM之间的数据交互,使得外部对象与TPCM之间的数据交互和TPCM 内部所采用的结构并没有太大关系,从而无需使TPCM的内部结果适配各种外部对象,解决了可信平台控制模块的适配性低的技术问题,进而达到了可信平台控制模块的适配性的技术效果。
下面对该实施例的上述方法进行进一步介绍。
作为一种可选的实施方式,目标接口包括以下至少之一:度量接口,用于执行度量操作;基准库更新接口,用于更新基准库;可信报告获取接口,用于获取由可信平台控制模块提供的可信报告;状态获取接口,用于获取可信平台控制模块和可信密码模块的状态;固件升级接口,用于进行固件在线升级;内存保护策略接口,用于处理内存保护策略;日志处理接口,用于处理可信平台控制模块的日志;闪存处理接口,用于对闪存中的目标区域进行数据处理。
在该实施例中,上述目标接口可以包括度量接口,用于执行度量操作,从而实现与度量操作相关联的数据交互功能。
下面对该实施例的上述度量接口进行详细介绍。
作为一种可选的实施方式,上述度量接口包括以下至少之一:启动度量接口,用于在计算子系统处于启动阶段时,对计算子系统进行度量;拦截度量接口,用于在计算子系统处于运行阶段时,在拦截计算子系统的行为后对计算子系统进行度量;数据采集和度量控制接口,用于对计算子系统执行数据采集和度量控制;动态度量策略设置接口,用于执行动态度量策略设置;获取启动度量基准值接口,用于获取可信平台控制模块中存储的启动度量的计算值;度量开关控制接口,用于控制启动度量和拦截度量的开关的开启和关闭。
可选地,该实施例的上述度量接口包括启动度量接口,用于在计算子系统处于启动阶段时,对计算子系统进行度量,可以是TPCM对计算子系统在启动各阶段的代码、配置和环境进行度量。可选地,该度量接口可以实现对比基准库,扩展启动PCR,记录度量状态以及控制启动流程等。
该实施例的上述启动度量接口可以为表3:
表3启动度量接口的信息表
该实施例的上述启动度量接口可以通过以下函数进行定义:
其中,输入参数:stage,用于表示启动度量阶段号;0-999用于表示TPCM度量BIOS;1000-1999用于表示BIOS度量GRUB;2000-2999用于表示GRUB度量OS; num用于表示度量地址条数;munit用于表示度量地址列表(上限4066字节),填充格式可以为表4:
表4启动度量接口对应的填充格式表
其中,输出参数:tpcmRes用于表示高16bit-控制码(0用于表示允许执行;1用于表示禁止执行);低16bit-tpcm用于表示执行结果(成功为0;失败为错误码)。
返回值:如果成功则返回0;失败则返回错误码。
可选地,该实施例的上述度量接口包括拦截度量接口,用于在计算子系统处于运行阶段时,在拦截计算子系统的行为后对计算子系统进行度量,可以是通过可信软件基(TSB)代理拦截计算子系统行为,然后通过TPCM进行度量验证的一种方式,其中, TPCM主要接收TSB代理的拦截度量请求,与TPCM内部存储的白名单进行比较,确认计算子系统的行为是否可信并返回控制码,同时TPCM记录度量信息到TPCM关键数据区,用于进行可信状态评估,TSB为可信计算平台的可信性提供支持的软件元素的集合。可选地,该实施靓丽的拦截度量接口用于实现对比基准库,记录度量状态,控制行为,可以由TSB服务进行调用。
该实施例的上述拦截度量接口可以为表5:
表5拦截度量接口的信息表
该实施例的上述拦截度量接口可以通过以下函数进行定义:
其中,输入参数:keyLen用于表示关键字长度;keyAddress用于表示关键字地址;type用于表示度量类型,比如,1用于表示程序执行,2用于表示动态库加载,3用于表示内核模块加载;num用于表示度量地址条数(上限值43688);munit用于表示度量地址列表,填充格式可以为表6:
表6拦截度量接口对应的填充格式表
输出参数:tpcmRes用于表示高16bit-控制码(0-允许执行;1-禁止执行);低16bit-tpcm用于表示执行结果(成功为0;失败为错误码);mrLen用于表示度量结果长度;mresult用于表示度量结果数据。
返回值:如果成功,则返回0;如果失败则返回错误码。
可选地,该实施例的上述度量接口包括数据采集和度量控制接口,用于对计算子系统执行数据采集和度量控制,可以用于实现执行策略引擎,对比基准库,记录度量状态,控制行为等功能,可以由TSB服务进行调用。
该实施例的上述数据采集和度量控制接口可以为表7:
表7数据采集和度量控制接口的信息表
实施例的上述数据采集和度量控制接口可以通过如下函数进行定义:
其中,输入参数:operation用于表示行为编号(0-动态度量初始数据采集;其它预留);ctxNum用于表示上下文条数(上限值78);ctx用于表示上下文实体,填充格式可以为表8:
表8数据采集和度量控制接口对应的填充格式表
其中,输出参数:tpcmRes用于表示高16bit-控制码(0-允许执行;1-禁止执行),低16bit-tpcm执行结果(成功为0;失败为错误码);mrLen用于表示度量结果长度; mresult用于表示度量结果数据;
返回值:如果成功则返回0;如果失败则返回错误码。
可选地,该实施例的上述度量接口包括动态度量策略设置接口,用于执行动态度量策略设置,可以由计算子系统中的终端工具进行调用。
该实施例的上述动态度量策略设置接口可以表9:
表9动态度量策略设置接口的信息表
该实施例的上述动态度量策略设置接口可以通过如下函数进行定义:
int TPCM_SetDynamicMeasurePolicy(
uint32_t num,policy_st*policy,uint32_t*tpcmRes);
其中,输入参数:num用于表示策略条数(上限值92);policy用于表示策略实体,填充格式可以如下:
表10动态度量策略设置接口对应的填充格式表
输出参数:tpcmRes:用于表示TPCM执行结果(成功为0;失败为错误码)。
返回值:如果成功则返回0;如果失败则返回错误码。
可选地,该实施例的上述度量接口包括获取启动度量基准值接口,用于获取可信平台控制模块中存储的启动度量的计算值,比如,获取TPCM中存储的本次启动的全部指定stage的启动度量PSR计算值,可以由计算子系统中的终端工具进行调用。
该实施例的上述获取启动度量基准值接口可以为表11:
表11启动度量基准值接口的信息表
该实施例的上述获取启动度量基准值接口可以通过如下函数进行定义:
int TPCM_GetBootMeasureReference(
uint32_t*length,void*reference,uint32_t*tpcmRes);
其中,输入参数:length用于表示允许填充的启动度量基准值的长度。
输出参数:length用于表示获取的启动度量基准值长度;reference用于表示获取的启动度量基准值,填充格式可以如下:
表12启动度量基准值接口对应的填充格式表
tpcmRes用于表示TPCM执行结果(成功为0;失败为错误码)。
返回值:如果成功则返回0;如果失败则返回错误码。
可选地,该实施例的上述度量接口包括度量开关控制接口,用于控制启动度量和拦截度量的开关的开启和关闭,可以由计算子系统中的终端工具进行调用。
该实施例的上述度量开关控制接口可以为表13:
表13度量开关控制接口的信息表
该实施例的上述度量开关控制接口可以通过如下函数进行定义:
int TPCM_SetMeasureSwitch(
uint32_t mType,uint32_t mSwitch,uint32_t*tpcmRes);
其中,输入参数:mType用于表示开关类型(1-启动度量开关;2-拦截度量开关;其它预留);mSwitch用于表示开关值(0-关;1-开)。
输出参数:tpcmRes用于表示tpcm执行结果(成功为0;失败为错误码)。
返回值:如果成功则返回0;如果失败则返回错误码。
在该实施例中,目标接口可以包括基准库更新接口,用于更新基准库,从而实现与更新基准库相关联的数据交互功能。
下面对该实施例的上述基准库更新接口进行详细介绍。
作为一种可选的实施方式,基准库更新接口包括以下至少之一:基准库整体更新接口,用于整体更新基准库;基准库增量更新接口,用于增量更新基准库。
可选地,该实施例的上述基准库更新接口可以包括基准库整体更新接口,用于整体更新基准库,可以清除原有基准库,记录整体哈希(HASH),可以由计算子系统中的终端工具进行调用。
可选地,该实施例的上述基准库整体更新接口可以通过以下函数进行定义:
int TPCM_UpdateReference(
uint32_t type,uint32_t num,
uint32_t length,void*reference,uint32_t*tpcmRes);
其中,输入参数:type用于表示基准值类型(1-启动度量基准库;2-白名单基准库;其它预留);num用于表示基准值条数;length用于表示基准值长度(reference的长度);reference用于表示基准值列表,支持多条基准值,填充格式可以为表14:
表14基准库整体更新接口对应的填充格式表
输出参数:tpcmRes用于表示TPCM执行结果(成功为0;失败为错误码)。
返回值:如果成功则返回0;如果失败则返回错误码。
作为一种可选的示例,该实施例的上述基准库整体更新接口的类型包括以下至少之一:启动度量基准库类型、白名单基准库类型。
该实施例的启动度量基准库更新可以为表15:
表15启动度量基准库更新的信息表
白名单基准库类型可以为表16:
表16白名单基准库类型的信息表
可选地,该实施例的上述基准库更新接口可以包括基准库增量更新接口,用于增量更新基准库,修改现有基准库,记录整体HASH,可以由计算子系统中的终端工具进行调用。
该实施例的上述基准库增量更新接口可以通过如下函数进行定义:
int TPCM_UpdateReferenceIncrement(
uint32_t type,uint32_t num,uint32_t opt,
uint32_t length,void*reference,uint32_t*tpcmRes);
其中,输入参数:type用于表示基准值类型(1-启动度量基准库;2-白名单基准库;其它预留);num用于表示基准值条数;opt用于表示基准值更新类型(0-增加; 1-更新;2-删除;),对应的信息表为表17:
表17基准库增量更新接口的信息表
其中,length用于表示基准值长度(reference的长度);reference用于表示基准值列表,支持多条基准值,填充格式可以为表18:
表18基准库增量更新接口对应的填充格式
其中,输出参数:tpcmRes用于表示TPCM执行结果(成功为0;失败为错误码)。
返回值:如果成功则返回0;如果失败则返回错误码。
作为一种可选的示例,基准库增量更新接口的类型包括以下至少之一:启动度量基准库类型、白名单基准库类型。
可选地,启动度量基准库类型可以为表19:
表19启动度量基准库类型的信息表
白名单基准库类型可以为表20:
表20白名单基准库类型的信息表
可选地,该实施例的目标接口包括可信报告获取接口,用于获取由可信平台控制模块提供的可信报告,可以由TSB服务进行调用。
该实施例的可信报告获取接口可以为表21:
表21可信报告获取接口的信息表
该实施例的上述可信报告获取接口可以通过如下函数进行定义:
int TPCM_TrustedCredential(uint32_t iParamLen,void*iParam,
uint32_t*oParamLen,void*oParam,uint32_t*tpcmRes);
其中,输入参数:iParamLen用于表示传入参数长度;iParam用于表示传入参数,填充格式可以为表22:
表22可信报告获取接口的信息表
其中,输出参数:oParamLen用于表示可信报告长度;oParam用于表示可信报告实体,填充格式可以为表23:
表23可信报告获取接口对应的填充格式
tpcmRes用于表示TPCM执行结果(成功为0;失败为错误码)。
返回值:如果成功则返回0;如果失败则返回错误码。
可选地,该实施例的上述目标接口包括状态获取接口也即获取TPCM和TCM状态接口,用于获取可信平台控制模块和可信密码模块的状态,可以由计算子系统的终端工具进行调用。
该实施例的状态获取接口可以为表24:
表24状态获取接口的信息表
该实施例的状态获取接口可以通过如下函数进行定义:
int TPCM_GetTPCMStatus(void*status,uint32_t*tpcmRes);
其中,输入参数:无。
输出参数:status用于表示TPCM和TCM状态,填充格式可以为表25:
表25状态获取接口对应的填充格式表
tpcmRes用于表示TPCM执行结果(成功为0;失败为错误码)。
返回值:如果成功则返回0;如果失败则返回错误码。
可选地,该实施例的上述目标接口包括固件升级接口,用于进行固件在线升级,可以由计算子系统的终端工具进行调用。
该实施例的固件升级接口可以通过如下函数进行定义:
int TPCM_FirmwareUpgrade(uint8_t*firmware,uint32_t fwLen,uint32_t *tpcmRes);
其中,输入参数:firmware用于表示升级文件内容;fwLen用于表示升级文件大小。
输出参数:tpcmRes用于表示TPCM执行结果(成功为0;失败为错误码)。
返回值:如果成功则返回0;如果失败则返回错误码。
可选地,该实施例的上述目标接口可以包括内存保护策略接口,用于处理内存保护策略,用于实现与处理内存保护策略相关联的数据交互功能。
下面对该实施例的内存保护策略接口进行详细介绍。
作为一种可选的实施方式,上述内存保护策略接口包括以下至少之一:内存保护策略更新接口,用于更新内存保护策略;内存保护策略开关设置接口,用于控制内存保护策略的开启和关闭。
可选地,该实施例的内存保护策略接口可以包括内存保护策略更新接口,用于整体更新内存保护策略,清除原有的内存保护策略,可以由TSB进行调用。
该实施例的上述内存保护策略更新接口可以通过如下函数进行定义:
其中,输入参数:num用于表示内存保护策略条数(上限值340),0代表清除内存保护策略;mppu用于表示内存保护策略,填充格式可以为表26:
表26内存保护策略更新接口的信息表
其中,输出参数:tpcmRes用于表示TPCM执行结果(成功为0;失败为错误码)。
返回值:成功返回0;失败返回错误码。
可选地,该实施例的内存保护策略接口可以包括内存保护策略开关设置接口,用于控制内存保护策略的开启和关闭,可以由TSB进行调用。
该实施例的上述内存保护策略开关设置接口可以通过如下函数进行定义:
int TPCM_SetMemProtectSwitch(uint32_t mpSwitch,uint32_t*tpcmRes);
其中,输入参数:mpSwitch用于表示内存保护策略的开关值(0-关闭;1-开启)。
输出参数,tpcmRes用于表示TPCM执行结果(成功为0;失败为错误码)。
返回值:如果成功则返回0;如果失败则返回错误码。
可选地,该实施例的目标接口可以包括日志处理接口,用于处理可信平台控制模块的日志,用于实现与处理可信平台控制模块的日志相关联的数据交互功能。
下面对该实施例的日志处理接口进行详细介绍。
作为一种可选的实施方式,日志处理接口包括以下至少之一:启动度量日志格式接口,用于在计算子系统每次开机启动后发送启动度量日志;动态度量日志格式接口,用于在配置动态度量策略后定时上报日志;日志获取接口,用于获取可信平台控制模块的日志。
该实施例的日志处理接口可以包括启动度量日志格式接口,用于在计算子系统每次开机启动后发送启动度量日志,可以为表27:
表27内存保护策略更新接口的信息表
该实施例的日志处理接口还可以包括动态度量日志格式接口,可以用于在配置动态度量策略后定时上报日志,可以为表28:
表28动态度量日志格式接口的信息表
该实施例的日志处理接口还可以包括日志获取接口,也即,TPCM日志获取接口,用于获取可信平台控制模块的日志,可以由TSB接口进行调用。
可选地,该实施例的日志获取接口可以通过如下函数进行定义:
int TPCM_GetTpcmLog(uint32_t*length,uint8_t*log,uint32_t*tpcmRes);
其中,输入参数:length用于表示允许填充的日志长度。
输出参数:length用于表示获取的TPCM日志长度;log用于表示TPCM日志;tpcmRes用于表示TPCM执行结果(成功为0;失败为错误码)。
返回值,如果成功则返回0;如果失败则返回错误码。
在该实施例中,目标接口可以包括闪存处理接口,用于对闪存中的目标区域进行数据处理,也即,对闪存中的目标区域中的指定区域中的数据进行处理,从而实现与对闪存中的目标区域进行数据处理相关联的数据交互功能。
下面对该实施例的闪存处理接口进行详细介绍。
作为一种可选的实施方式,闪存处理接口包括以下至少之一:闪存读取接口,用于在闪存的目标区域中读取数据;闪存写入接口,用于在闪存的目标区域中写入数据;闪存擦除接口,用于在闪存的目标区域中擦除数据。
在该实施例中,上述闪存处理接口可以包括闪存读取接口,也即,Flash读取接口,可以用于在闪存的目标区域中读取数据,也即,从Flash指定区域读取数据。
该实施例的上述闪存读取接口可以通过以下函数进行定义:
int TPCM_FlashRead(uint32_t offset,uint32_t size,uint8_t*data,uint32_t *tpcmRes);
其中,输入参数:offset用于表示要读取Flash的偏移值;size用于表示要读取Flash 的数据长度。
输出参数:data用于表示从Flash读取到的数据;tpcmRes用于表示TPCM执行结果(成功为0;失败为错误码)。
返回值:如果成功则返回0;如果失败则返回错误码。
该实施例的上述闪存处理接口还可以包括闪存写入接口,也即,Flash写入接口,用于在闪存的目标区域中写入数据。也即,向Flash指定区域写入数据。
该实施例的上述闪存写入接口可以通过以下函数进行定义:
int TPCM_FlashWrite(uint32_t offset,uint32_t size,uint8_t*data,uint32_t *tpcmRes);
其中,输入参数:offset用于表示要写入Flash的偏移值;size用于表示要写入Flash 的数据长度;data用于表示要写入Flash的数据。
输出参数:tpcmRes用于表示TPCM执行结果(成功为0;失败为错误码)。
返回值:成功返回0;失败返回错误码。
该实施例的上述闪存处理接口还可以包括闪存擦除接口,也即,Flash擦除接口,用于在闪存的目标区域中擦除数据,也即,用于擦除Flash指定区域数据。
该实施例的闪存擦除接口可以通过以下函数进行定义:
int TPCM_FlashErase(uint32_t offset,uint32_t size,uint32_t*tpcmRes);
其中,输入参数:offset用于表示要擦除的Flash偏移值;size用于表示要擦除的Flash区间长度。
输出参数:tpcmRes用于表示TPCM执行结果(成功为0;失败为错误码)。
返回值:如果成功则返回0;如果失败则返回错误码。
作为一种可选的实施方式,从至少一个接口中确定与数据交互指令对应的目标接口,包括:在可信平台控制模块中确定与数据交互指令对应的业务功能模块,其中,业务功能模块用于执行可信平台控制模块的业务功能;从至少一个接口中将业务功能模块对应的接口确定为目标接口。
在该实施例中,业务功能模块也即TPCM业务模块,可以用于执行可信平台控制模块的业务功能,是TSB的卡内部分,与TSB主机侧模块相互配合,共同完成TSB 功能。该实施例的业务功能模块构建于TPCM系统层之上,可以使用TPCM系统层提供的消息通道与TSB主机侧通信,可以使用TPCM系统层提供的Flash驱动完成BIOS 读取、度量,策略、基准值存储,及其它TPCM关键数据存储,可以使用密码支撑服务完成基准值采集、目标度量、可信凭证签名等操作。该实施例的不同的业务功能模块可以对应不同的数据交互指令,也对应不同的接口。该实施例可以在可信平台控制模块中确定与数据交互指令对应的业务功能模块。在可信平台控制模块中确定出业务功能模块中之后,可以从至少一个接口中将与业务功能模块对应的接口确定为目标接口。
下面对该实施例的业务功能模块进行详细介绍。
作为一种可选的实施方式,业务功能模块包括以下至少之一:启动度量模块,用于根据启动度量策略对计算子系统的启动过程中的目标数据进行度量;拦截度量模块,用于确定主机拦截的对象;动态度量模块,用于在计算子系统处于运行阶段的情况下,控制可信平台控制模块对计算子系统的内核区域进行度量;策略库管理模块,用于对基准值进行比对操作;日志输出模块,用于使可信平台控制模块上报日志;可信报告模块,用于确定计算子系统的可信状态。
在该实施例中,上述业务功能模块可以包括启动度量模块,是构建可信执行环境的关键部件,用于根据启动度量策略对计算子系统的启动过程中的目标数据进行度量,其中,目标数据可以是计算子系统在启动过程中的关键步骤中的关键数据,关键步骤可以是BIOS、bootloader、OS阶段等,关键数据可以是计算子系统在启动阶段中各阶段的代码、配置和环境数据等,从而为计算子系统建立信任链并且为顺利进入可信计算环境提供了安全支撑。
该实施例的上述业务功能模块可以包括拦截度量模块,可以用于确定主机拦截的对象,比如,用于计算TSB主机侧拦截的主体、客体。在该实施例中,拦截度量是指在计算子系统处于运行阶段中,可以通过TSB代理拦截系统行为,然后通过TPCM度量验证的一种方式,TPCM主要接收TSB代理的拦截度量请求,与TPCM内部存储的白名单进行比较,确认系统行为是否可信并且返回控制码,同时TPCM可以记录度量信息到TPCM关键数据区,从而用于可信状态评估。
该实施例的上述业务功能模块可以包括动态度量模块,用于在计算子系统处于运行阶段的情况下,控制可信平台控制模块对计算子系统的内核区域进行度量,可以是控制TPCM根据策略规定的时间点或条件对计算子系统的关键内核区域进行度量,并将结果以动态度量日志的形式上报给TSB代理,从而用于事后的审计。
该实施例的上述业务功能模块可以包括策略库管理模块,用于对基准值进行比对操作,可以是对于具有主动控制能力的TPCM,TSB通过策略管理接口实现对TPCM 进行度量策略管理以及控制策略管理,从而控制TPCM的行为。可选地,该实施例的策略库管理模块当前主要进行动态度量策略设置、启动度量控制、拦截度量控制等策略操作。
该实施例的上述业务功能模块可以包括日志输出模块,用于使可信平台控制模块上报日志。可选地,终端TPCM在运行过程中,度量行为等关键过程需要做到可控可查,TPCM需要上报日志信息,用于可信管理中心进行时候审计。
该实施例的上述业务功能模块可以包括可信报告模块,用于确定计算子系统的可信状态。在该实施例中,可信状态是根据度量结果和防护控制结果而评估生成的计算节点可信状态,是确定度量结果是否符合预期,是否进行有效控制是可信状态的重要依据。在该实施例中,可信状态由终端工具和可信管理中心分别计算。终端工具生产的可信状态,对于可信管理中心和其它第三方而言,并非一定可信,因为终端工具的策略和基准库可能不完整或者已经过期,其中,可信状态是可信凭据和可信报告的基础数据。
在该实施例中,为了便于TPCM进行迁移和维护,可以将TPCM进行分层设计,将其划分为TPCM系统层和TPCM业务层,其中,TPCM业务层主要对主机进行主动防御,与主机侧、可信管理中心进行交互,在此基础上,该实施例设计了一层TPCM 的对外接口,主要是TPCM与主机侧及可信管理中心的对外接口,通过这层对外接口,主机侧与可信管理中心可以通过调用这层对外接口来实现与TPCM业务层之间的交互,使得主机侧或者可信管理中心与TPCM之间的交互与TPCM内部所采用的结构没有太大关系,从而极大地提高了TPCM的适配性,进而解决了TPCM的适配性低的技术问题。
实施例2
下面结合优选的实施方式对本发明实施例的技术方案进行举例说明。
在相关技术中,TPCM在进行主动防御时,需要与主机侧、可信管理中心等TPCM 外部的单元进行交互,而TPCM与不同的外部对象之间的交互有不同的交互协议,因此在实际应用时需要TPCM适配各种外部对象,这样就增加了TPCM的设计成本。
该实施例为了便于TPCM进行迁移和维护,将TPCM进行分层设计,将其划分为 TPCM系统层和TPCM业务层。其中,TPCM业务层主要用于对主机进行主动防御,与主机侧、可信管理中心进行交互。该实施例设计了一层TPCM的对外接口,主要是 TPCM与主机侧及可信管理中心的对外接口,通过这层对外接口,主机侧与可信管理中心可以通过调用这层对外接口实现与TPCM业务层之间的交互,使得主机侧或者可信管理中心与TPCM之间的交互与TPCM内部所采用的结构没有太大关系,从而极大地提高了TPCM的适配性。
该实施例所涉及的可信计算平台可以包括并行运行的计算子系统和防御子系统,其中,防御子系统总体上由TPCM、管理中心以及TPCM在主机侧的延伸和代理构成,可信管理中心为防御子系统配置策略、进行数据分析。
图2是根据本发明实施例的一种TPCM业务模块结构的示意图。如图2所示,TPCM业务层,也即,TPCM业务模块,是TSB的卡内部分,与TSB主机侧模块相互配合,共同完成TSB功能,其中,TPCM业务模块包含的功能模块主要有:启动度量模块、拦截度量模块、动态度量模块、策略库管理模块、基准库管理模块、日志输出模块、可信状态记录、提供可信凭证等。
在该实施例中,TPCM业务模块构建于TPCM系统层之上,使用TPCM系统层提供的消息通道可以与TSB主机侧进行通信;使用TPCM系统层提供的Flash驱动可以完成BIOS读取、度量,策略、基准值存储,及其它TPCM关键数据存储;使用密码支撑服务完成基准值采集、目标度量、可信凭证签名等操作。
其中,启动度量模块,是构建可信执行环境的关键部件。该实施例的启动度量模块根据启动度量策略对计算子系统启动过程中关键步骤(如BIOS、bootloader、OS阶段等)中的平台关键数据(代码、配置和环境等)进行度量,平台关键数据看文艺提供平台身份密钥,通过报告机制向计算子系统以可信报告形式提供可信证明,从而为计算节点建立信任链并顺利进入可信计算环境提供安全支撑。其中,启动度量模块可以从可信策略基准库中获取基准值,控制策略和度量策略可以来自计算子系统的策略语言,也可以来自计算子系统的主动监控模块,度量结果可以通过判定机制进行可信判定,通过控制机制将控制结果传输至计算子系统的启动度量代理中的扩展度量模块,扩展度量模块可以向控制机制启动监控,控制机制可以向度量机制提供策略,控制机制可以由计算子系统的主动监控模块通过拦截监控得到。
拦截度量模块,用于计算TSB主机侧拦截的主体、客体。在该实施例中,拦截度量是指在系统运行阶段,通过TSB代理拦截系统行为然后通过TPCM度量验证的一种方式。TPCM主要接收TSB代理的拦截度量请求,与TPCM内部存储的白名单进行比较,确认系统行为是否可信并返回控制码。同时TPCM记录度量信息到TPCM关键数据区,用于可信状态评估。其中,拦截度量模块可以从可信策略基准库中获取基准值,度量结果可以通过判定机制进行可信判定。
动态度量模块,是指在系统运行阶段,TPCM根据策略规定的时间点或条件对计算子系统的关键内核区域进行度量,并将结果以动态度量日志的形式上报给TSB代理,从而用于事后的审计。其中,动态度量模块可以从可信策略基准库中获取基准值,度量结果可以通过判定机制进行可信判定。
策略库管理模块,对于具有主动控制能力的TPCM,TSB通过策略管理接口实现对TPCM进行度量策略管理以及控制策略管理,从而控制TPCM的行为。当前主要进行动态度量策略设置、启动度量控制、拦截度量控制策略操作。
基准库管理模块,为TPCM的基准库,主要用于启动度量、拦截度量模块中的基准值比对。其中,基准库是由终端工具采集并配置进TPCM中的,基准库会存在添加、删除、更新等管理需求,TPCM可以提供对外的基准库管理接口。
日志输出模块,TPCM在运行过程中,度量行为等关键过程需要做到可控可查,TPCM需要上报日志信息,用于可信管理中心进行时候审计。
可信报告模块,可信状态是根据度量结果和防护控制结果而评估生成的计算节点可信状态。度量结果是否符合预期,是否进行有效控制是可信状态的重要依据。可信状态由终端工具和可信管理中心分别进行计算。终端工具生产的可信状态,对于管理中心和其它第三方而言,并非一定可信,因为终端工具的策略和基准库可能不完整或者已经过期,其中,可信状态是可信凭据和可信报告的基础数据。
可选地,在该实施例中,TPCM业务层可以与计算子系统之间通过审计信息实现审计。
可选地,在该实施实施例中,通过TPCM系统层中的安全存储向TPCM业务层的平台关键数据提供IPCM状态/PIK,向可信策略/基准库提供策略/基准值,通过密码支撑进行签名运算、Hash(哈希)运算,通过初始引导模块(BIOS等)访问提供初始引导模块数据,通过内存映射提供度量目标数据。
该实施例提供了了TPCM的对外接口,主要是指TPCM业务层与主机侧交互的接口,这部分接口的详细介绍可以如实施例1中的描述。
图3是根据本发明实施例的一种TPCM的结构示意图。如图3所示,TPCM包括 TPCM系统层、TPCM业务层(也称TSB、TPCM业务模块)和系统层接口。
该实施例的TPCM内部设计采用了一种分层设计的思想,将TPCM业务功能的实现,与支撑这些TPCM业务功能实现的系统服务分离开来。通过分离业务层与系统层,使TPCM更容易进行迁移和维护,以满足TPCM在多种物理场景中实现的需求。
该实施例的系统层接口使得TPCM分层,可以定义TPCM业务层与系统层之间交互的规范。TPCM系统层主要包括操作系统基本服务、通信驱动和FLASH驱动三部分,系统层接口也相应的规定这几部分的接口。
图4是根据本发明实施例的一种TPCM系统层框架的示意图。如图4所示。TPCM 系统层可以包括:TPCM操作系统(TPCM OS)、FLASH驱动、通信驱动、密码模块和任务管理模块,可以为TCM和TPCM的处理提供基本的执行环境,不同的TPCM 实现方式和硬件环境,系统层的差异比较大;系统层屏蔽的硬件差异性,可以上层TCM 和TPCM业务模块可以专注于业务的处理。
在该实施例中,TPCM操作系统(TPCM OS),用于提供基本的执行环境,比如,TPCM内存管理、访问主机内存、中断处理、同步机制、时钟和计数等基本功能。
FLASH驱动,用于提供访问FLASH的功能,TPCM和TCM数据可存储到FLASH。
通信驱动用于完成与主机的通信,相互发送消息。
密码模块用于提供密码计算的基本功能,为可信度量和可信密码模块实现提供支持,其中,密码模块有软件实现和硬件实现两种方式。
图5是根据本发明实施例的一种可信计算平台中的总体逻辑结构的示意图。如图5所示,可信计算平台50可以包括:可信管理中心51、计算子系统52和TPCM 53。
在该实施例中,计算子系统52主要是协助TPCM 53对主机进行度量检查,主要包括:
1)TSB代理,用于植入操作系统内部,能够获取操作系统更准确的信息,这些信息是TPCM进行度量必要的数据;TSB代理还负责进行精确的控制;在TPCM 53性能不足的情况,TSB代理也负责一些度量工作。可选地,该实施例的TSB代理还可以用于实现动态度量、白名单度量代理、日志处理、报告处理等。
2)启动度量代理,用于植入相关的启动模块内部,功能与上述TSB代理相似,但只处理启动阶段的度量和控制。可选地,该实施例的启动度量代理还包括GRUB度量代理和BOIS度量。
3)TPCM访问服务,为主机上的其它模块提供访问TPCM 53功能以及协调工作的接口。可选地,该实施例的TPCM访问服务可以实现TPCM接口服务、TPCM驱动和通信驱动的功能。
4)终端工具,也即,可信终端工具,用于与管理中心通信,为TPCM 53和TSB 代理设置策略和基准库,以及传输日志和可信报告。可选地,该实施例的终端工具还可以用于实现可信报告上传、基准采集、日志上传、证书管理、策略和基准下发。
该实施例的TPCM 53可以包括TPCM业务层、TCM业务层、TPCM系统层,其中,TPCM业务层可以用于实现启动度量、动态度量、拦截度量、可信报告、策略和基准库管理;TPCM系统层可以用于实现任务管理、通信驱动、密码模块的功能、TPCM OS的功能等。
在该实施例中,TPCM 53中的TCM业务层可以主要处理可信密码模块TCM,以及可信密码模块的相关功能,为TPCM 53提供可信密码支撑,其中,TCM为可信计算平台的硬件模块,为可信计算平台提供密码运算功能,具有受保护的存储空间。该 TPCM 53的业务层是TPCM 53的核心功能,用于对主机启动流程和运行阶段进行度量检查和控制。
该实施例的可信管理中心51和计算子系统52之间可以用于实现日志策略报告的传输,计算子系统52和TPCM 53之间可以用于实现度量通知命令的传输。
下面对该实施例的可信计算平台的执行流程介绍如下:
S1,由可信管理中心51配置策略和基准值。
S2,策略和基准值通过终端工具下发给TPCM 53。
该实施例的终端工具也负责采集终端工具的基准值上报给可信管理中心51。
S3,TPCM 53根据策略对计算子系统52进行度量。
该实施例的TPCM 53可以根据策略对计算子系统52进行定时度量,其中,定时度量可以完全根据策略执行,拦截度量需要TSB代理拦截计算节点系统行为进行配合。
S4,TSB代理负责拦截计算子系统52的行为,采集行为和上下文数据,将数据发送给TSB。
S5,TPCM 53接收到TSB代理传递的采集行为和上下文数据,根据策略对计算子系统52进行度量。
S6,在TPCM业务层(TSB)度量计算子系统52时,可以通过TPCM系统层提供的服务接口访问主机资源,在某些情况下,如果TSB的某一部分物理上位于计算子系统52之中,则TSB可自己访问计算节点资源,而不通过TPCM系统层来访问计算节点资源。
S7,在TPCM业务层(TSB)度量计算子系统52时,可以通过TPCM 53提供的密码模块进行密码相关计算。
S8,TPCM业务层(TSB)根据度量结果、基准值、策略决定如何对计算节点进行控制。
根据控制的类型不同,TSB可通过TPCM 53的系统层接口直接访问主机系统进行控制,也可以通过给TSB代理发送控制指令的方式进行控制。其中部分控制通过拦截度量返回值的方式进行控制,部分控制通过机制给TSB代理发送控制通知指令。
S9,对于需要TSB代理协助的情况,TSB代理在接收到控制指令后(或得到度量返回的控制指令),可以对主机进行控制。
S10,TPCM业务层(TSB)输出可信日志。
S11,终端工具可以将可信日志上传给可信管理中心51,终端工具也可以获取可信报告发送给管理中心或获取可信凭据发送给请求者。
S12,管理中心对日志和可信报告进行分析。
该实施例可以分析产品更有价值的可信数据,这些可信数据可以有不同的用途,可以评估当节点和整个网络计算环境的可信读、可以预测网络的危险状态并采取相应的措施、可生成智能控制策略再下发给终端。
在该实施例中,为了便于TPCM进行迁移和维护,可以将TPCM进行分层设计,将其划分为TPCM系统层和TPCM业务层,其中,TPCM业务层主要对主机进行主动防御,与主机侧、可信管理中心进行交互,在此基础上,该实施例设计了一层TPCM 的对外接口,主要是TPCM与主机侧及可信管理中心的对外接口,通过这层对外接口,主机侧与可信管理中心可以通过调用这层对外接口来实现与TPCM业务层之间的交互,使得主机侧或者可信管理中心与TPCM之间的交互与TPCM内部所采用的结构没有太大关系,从而极大地提高了TPCM的适配性,进而解决了TPCM的适配性低的技术问题。
实施例3
本发明实施例还提供了一种数据处理装置。需要说明的是,该实施例的数据处理装置可以用于执行本发明实施例的数据处理方法。
图6是根据本发明实施例的一种数据处理装置的示意图。如图6所示,该数据处理装置60可以包括:获取单元61、确定单元62和执行单元63。
获取单元61,用于获取可信平台控制模块与外部对象之间的数据交互指令,其中,外部对象为可信计算平台中需要与可信平台控制模块进行数据交互的对象。
确定单元62,用于从至少一个接口中确定与数据交互指令对应的目标接口,其中,可信平台控制模块包括至少一个接口。
执行单元63,用于通过目标接口执行对应的数据交互功能,其中,数据交互功能用于使可信平台控制模块与外部对象之间进行数据交互。
在该实施例的数据处理装置中,TPCM设计了一层TPCM的对外接口(目标接口),通过这层对外接口,外部对象可以实现与TPCM之间的数据交互,使得外部对象与 TPCM之间的数据交互和TPCM内部所采用的结构并没有太大关系,从而无需使 TPCM的内部结果适配各种外部对象,解决了可信平台控制模块的适配性低的技术问题,进而达到了可信平台控制模块的适配性的技术效果。
实施例4
本发明实施例还提供了一种存储介质。该存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行本发明实施例的数据处理方法。
实施例5
本发明实施例还提供了一种处理器。该处理器用于运行程序,其中,程序运行时执行本发明实施例的数据处理方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种数据处理方法,其特征在于,包括:
获取可信平台控制模块与外部对象之间的数据交互指令,其中,所述外部对象为可信计算平台中需要与所述可信平台控制模块进行数据交互的对象;
从至少一个接口中确定与所述数据交互指令对应的目标接口,其中,所述可信平台控制模块包括所述至少一个接口;
通过所述目标接口执行对应的数据交互功能,其中,所述数据交互功能用于使所述可信平台控制模块与外部对象之间进行数据交互;
其中,所述可信平台控制模块包括系统层的接口,用于通过所述至少一个接口将所述可信平台控制模块划分为系统层和业务层,其中,所述业务层用于通过调用所述系统层的接口与所述系统层进行交互;
其中,将所述可信平台控制模块划分为所述系统层和所述业务层,包括:定义所述目标接口的输入消息格式;定义所述目标接口的输出消息格式;基于所述输入消息格式和所述输出消息格式,将所述可信平台控制模块划分为所述系统层和所述业务层。
2.根据权利要求1所述的方法,其特征在于,所述目标接口包括以下至少之一:
度量接口,用于执行度量操作;
基准库更新接口,用于更新基准库;
可信报告获取接口,用于获取由可信平台控制模块提供的可信报告;
状态获取接口,用于获取所述可信平台控制模块和可信密码模块的状态;
固件升级接口,用于进行固件在线升级;
内存保护策略接口,用于处理内存保护策略;
日志处理接口,用于处理所述可信平台控制模块的日志;
闪存处理接口,用于对闪存中的目标区域进行数据处理。
3.根据权利要求2所述的方法,其特征在于,所述度量接口包括以下至少之一:
启动度量接口,用于在计算子系统处于启动阶段时,对所述计算子系统进行度量;
拦截度量接口,用于在所述计算子系统处于运行阶段时,在拦截所述计算子系统的行为后对所述计算子系统进行度量;
数据采集和度量控制接口,用于对所述计算子系统执行数据采集和度量控制;
动态度量策略设置接口,用于执行动态度量策略设置;
获取启动度量基准值接口,用于获取可信平台控制模块中存储的启动度量的计算值;
度量开关控制接口,用于控制启动度量和拦截度量的开关的开启和关闭。
4.根据权利要求2所述的方法,其特征在于,所述基准库更新接口包括以下至少之一:
基准库整体更新接口,用于整体更新基准库;
基准库增量更新接口,用于增量更新基准库。
5.根据权利要求2所述的方法,其特征在于,所述内存保护策略接口包括以下至少之一:
内存保护策略更新接口,用于更新内存保护策略;
内存保护策略开关设置接口,用于控制内存保护策略的开启和关闭。
6.根据权利要求2所述的方法,其特征在于,所述日志处理接口包括以下至少之一:
启动度量日志格式接口,用于在计算子系统每次开机启动后发送启动度量日志;
动态度量日志格式接口,用于在配置动态度量策略后定时上报日志;
日志获取接口,用于获取所述可信平台控制模块的日志。
7.根据权利要求2所述的方法,其特征在于,所述闪存处理接口包括以下至少之一:
闪存读取接口,用于在闪存的目标区域中读取数据;
闪存写入接口,用于在闪存的目标区域中写入数据;
闪存擦除接口,用于在闪存的目标区域中擦除数据。
8.根据权利要求1至7中任意一项所述的方法,其特征在于,从至少一个接口中确定与所述数据交互指令对应的目标接口,包括:
在所述可信平台控制模块中确定与所述数据交互指令对应的业务功能模块,其中,所述业务功能模块用于执行所述可信平台控制模块的业务功能;
从至少一个接口中将所述业务功能模块对应的接口确定为所述目标接口。
9.根据权利要求8所述的方法,其特征在于,所述业务功能模块包括以下至少之一:
启动度量模块,用于根据启动度量策略对计算子系统的启动过程中的目标数据进行度量;
拦截度量模块,用于确定主机拦截的对象;
动态度量模块,用于在计算子系统处于运行阶段的情况下,控制所述可信平台控制模块对所述计算子系统的内核区域进行度量;
策略库管理模块,用于对基准值进行比对操作;
日志输出模块,用于使所述可信平台控制模块上报日志;
可信报告模块,用于确定计算子系统的可信状态。
10.一种数据处理装置,其特征在于,包括:
获取单元,用于获取可信平台控制模块与外部对象之间的数据交互指令,其中,所述外部对象为可信计算平台中需要与所述可信平台控制模块进行数据交互的对象;
确定单元,用于从至少一个接口中确定与所述数据交互指令对应的目标接口,其中,所述可信平台控制模块包括所述至少一个接口;
执行单元,用于通过所述目标接口执行对应的数据交互功能,其中,所述数据交互功能用于使所述可信平台控制模块与外部对象之间进行数据交互;
其中,所述可信平台控制模块包括系统层的接口,用于通过所述至少一个接口将所述可信平台控制模块划分为系统层和业务层,其中,所述业务层用于通过调用所述系统层的接口与所述系统层进行交互;
其中,将所述可信平台控制模块划分为所述系统层和所述业务层,包括:定义所述目标接口的输入消息格式;定义所述目标接口的输出消息格式;基于所述输入消息格式和所述输出消息格式,将所述可信平台控制模块划分为所述系统层和所述业务层。
11.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至9中任意一项所述的方法。
12.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至9中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010089058.3A CN111310193B (zh) | 2020-02-12 | 2020-02-12 | 数据处理方法、装置、存储介质和处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010089058.3A CN111310193B (zh) | 2020-02-12 | 2020-02-12 | 数据处理方法、装置、存储介质和处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111310193A CN111310193A (zh) | 2020-06-19 |
CN111310193B true CN111310193B (zh) | 2022-03-15 |
Family
ID=71145683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010089058.3A Active CN111310193B (zh) | 2020-02-12 | 2020-02-12 | 数据处理方法、装置、存储介质和处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111310193B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116842517A (zh) * | 2022-03-24 | 2023-10-03 | 华为技术有限公司 | 可信验证方法及装置 |
CN116048594B (zh) * | 2022-07-01 | 2023-10-10 | 荣耀终端有限公司 | 软件升级方法及相关装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102279914A (zh) * | 2011-07-13 | 2011-12-14 | 中国人民解放军海军计算技术研究所 | 一种uefi可信支撑系统及其控制方法 |
CN109918915A (zh) * | 2019-03-14 | 2019-06-21 | 沈昌祥 | 一种基于双体系结构可信计算平台的动态度量方法 |
CN110008708A (zh) * | 2019-04-11 | 2019-07-12 | 北京可信华泰信息技术有限公司 | 一种主机与可信平台控制模块之间的通信方法及系统 |
CN110321714A (zh) * | 2019-07-08 | 2019-10-11 | 北京可信华泰信息技术有限公司 | 基于双体系结构的可信计算平台的动态度量方法及装置 |
CN110334521A (zh) * | 2019-07-08 | 2019-10-15 | 北京可信华泰信息技术有限公司 | 可信计算系统构建方法、装置、可信计算系统及处理器 |
CN110348222A (zh) * | 2019-07-08 | 2019-10-18 | 沈昌祥 | 一种双体系结构的可信计算平台的构建方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110795742B (zh) * | 2018-08-02 | 2023-05-02 | 阿里巴巴集团控股有限公司 | 高速密码运算的度量处理方法、装置、存储介质及处理器 |
-
2020
- 2020-02-12 CN CN202010089058.3A patent/CN111310193B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102279914A (zh) * | 2011-07-13 | 2011-12-14 | 中国人民解放军海军计算技术研究所 | 一种uefi可信支撑系统及其控制方法 |
CN109918915A (zh) * | 2019-03-14 | 2019-06-21 | 沈昌祥 | 一种基于双体系结构可信计算平台的动态度量方法 |
CN110008708A (zh) * | 2019-04-11 | 2019-07-12 | 北京可信华泰信息技术有限公司 | 一种主机与可信平台控制模块之间的通信方法及系统 |
CN110321714A (zh) * | 2019-07-08 | 2019-10-11 | 北京可信华泰信息技术有限公司 | 基于双体系结构的可信计算平台的动态度量方法及装置 |
CN110334521A (zh) * | 2019-07-08 | 2019-10-15 | 北京可信华泰信息技术有限公司 | 可信计算系统构建方法、装置、可信计算系统及处理器 |
CN110348222A (zh) * | 2019-07-08 | 2019-10-18 | 沈昌祥 | 一种双体系结构的可信计算平台的构建方法 |
Non-Patent Citations (2)
Title |
---|
Trapezium Current Mode (TPCM) Boundary Operation for Single High Performance PCIe Interface for the TPCM based on Linux platform;Wanjun Yu等;《网页在线公开:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7469164》;20160512;第1-4页 * |
基于可信平台控制模块的可信虚拟执行环境构建方法;王晓等;《北京工业大学学报》;20190830;第45卷(第6期);第554-565页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111310193A (zh) | 2020-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11422894B2 (en) | Automated operations management for computer systems | |
CN101937357B (zh) | 一种虚拟机迁移决策方法、装置及系统 | |
US7996834B2 (en) | Virtual machine self-service restrictions | |
JP2020166879A (ja) | 部分的にオフロードされた仮想化マネージャにおけるメモリ割当て技術 | |
US9342696B2 (en) | Attesting use of an interactive component during a boot process | |
WO2019052496A1 (zh) | 云存储的帐号鉴权方法和服务器 | |
US20100058340A1 (en) | Access Controlling System, Access Controlling Method, and Recording Medium Having Access Controlling Program Recorded Thereon | |
US10379894B1 (en) | Lineage-based trust for virtual machine images | |
CN111310193B (zh) | 数据处理方法、装置、存储介质和处理器 | |
CN108073823B (zh) | 数据处理方法、装置及系统 | |
US11809576B2 (en) | Establishing secure remote access to debug logs | |
EP2862119B1 (en) | Network based management of protected data sets | |
US10996936B2 (en) | Techniques for distributing code to components of a computing system | |
CN111310192B (zh) | 数据处理方法、装置、存储介质和处理器 | |
WO2021174817A1 (zh) | 数据库自动化审计方法、系统、设备及存储介质 | |
Hauck et al. | Challenges and opportunities of cloud computing | |
CN109582464B (zh) | 一种云平台管理多种虚拟化平台的方法和装置 | |
US11704426B1 (en) | Information processing system and information processing method | |
CN116185878B (zh) | 基于区块链技术的软件认证测试技术平台 | |
CN115422523A (zh) | 访问主机的验证方法及装置、访问验证系统、存储介质 | |
CN117648205A (zh) | 基于rpa的数据共享方法、系统、装置和存储介质 |
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 |