一种远程证明方法、装置,系统及计算机存储介质与流程

文档序号:25032645发布日期:2021-05-11 17:03阅读:105来源:国知局
一种远程证明方法、装置,系统及计算机存储介质与流程

本申请涉及路由技术领域,特别涉及一种远程证明方法、装置,系统及计算机存储介质。



背景技术:

软件是产品的重要组成部分,保护软件的完整性是构筑网络安全保障体系的重要保障。远程证明是当前保护完整性的必备消减措施。目前的远程证明方案中,按照tcg(trustedcomputinggroup)标准要求,网络设备的启动阶段,网络设备逐级计算bios、os、app的度量值,将其扩展至tpm芯片。远程证明服务器(remoteattestation服务器,下文中简称ra服务器)向网络设备发送完整性挑战请求,网络设备的远程证明客户端(remoteattestationclient,下文中简称ra客户端)将所需度量值上送至ra服务器,在ra服务器中完成度量值的校验,以此来判断设备软件是否被篡改从而检查其完整性。

当前方案中的远程证明系统为封闭式系统,仅部署单台ra服务器,网络设备中的各部件,如硬件、bios、os、app,由同一厂商提供,因此该同一厂商的各度量对象的完整性度量值集中上送至该ra服务器,由该ra服务器集中统一进行完整性的远程证明。这种封闭式集中统一的远程证明系统无法提供跨厂商间的互信问题,从而不能提供可靠的完整性证明。



技术实现要素:

本申请实施例提供了一种远程证明方法、装置、系统、以及计算机存储介质,可以为开放性跨厂商场景下提供完整性可靠证明。这些实施例包括如下:

第一方面,提供了一种远程证明方法,该方法由远程证明系统中的网络设备执行,该远程证明系统包括多个ra服务器以及至少一个网络设备。在该方法中,所述网络设备获取所述网络设备中的多个度量对象的完整性度量值;所述网络设备将所述多个度量对象的完整性度量值中不同的度量对象的完整性度量值分别发送至所述多个ra服务器中的至少两个ra服务器,以便所述至少两个ra服务器分别对所述网络设备中的不同的度量对象的完整性执行远程证明。

通过本实施方式中的远程证明方法,不同的ra服务器可以分别对网络设备中不同的度量对象的完整性度执行证明,这样当网络设备中的不同度量对象,如各bios、os以及各类应用等部件对属于不同的厂商时,也可以由该远程证明系统对该网络设备中的各度量对象执行可靠的完整性证明。

可选地,所述网络设备根据所述多个ra服务器中的各ra服务器与所述各ra服务器能够执行远程证明的度量对象之间的对应关系,将所述多个度量对象的完整性度量值中不同的度量对象的完整性度量值分别发送至所述多个ra服务器中的至少两个ra服务器。

通过该方法,网络设备可以根据获取到的多个ra服务器中的各ra服务器与所述各ra服务器能够执行远程证明的度量对象之间的对应关系,主动向ra服务器发起远程证明流程。。从而,可以使得网络设备以及整个证明系统的完整性证明更加可靠和灵活。该对应关系可以在本地保存,或者也可从其他设备获取。

可选地,所述网络设备可以响应于所述至少两个ra服务器发送的完整性挑战请求,获取所述网络设备中的多个度量对象的完整性度量值,发送相应的度量对象的完整性度量值给挑战发送方进行完整性证明。

相对于上述主动发起完整性证明,本实施方案中,根据ra服务器的安排,如周期性或其他事件触发,执行完整性证明,可以提高远程证明的可预期性和稳定性。

可选的,所述两个ra服务器可以根据远程证明策略发送的完整性挑战请求。

所述远程证明策略包括至少下述选项之一:指示所述多个ra服务器中各ra服务器在特定时候发送完整性挑战请求;指示所述多个ra服务器中各ra服务器根据所述所述各ra服务器度量的设备范围发送完整性挑战请求;指示所述所述多个ra服务器中各ra服务器根据所述ra服务器度量的度量对象范围发送完整性挑战请求;或指示所述多个ra服务器中各ra服务器根据所述各ra服务器的动态资源使用情况或可用情况发送完整性挑战请求。

本实施例中,通过设备策略,采用不同的策略选项,如说明书具体实施方式中所举各例,在保障远程证明稳定可靠的情况下,又可以灵活的根据各种情况,合理利用资源,提高证明效率。

可选的,所述多个ra服务器中包括一个主ra服务器,这种情况下,所述网络设备也可以从所述主ra服务器接收所述完整性挑战请求。相应的,所述网络设备通过所述主ra服务器将所述多个度量对象的完整性度量值中不同的度量对象的完整性度量值分别发送至所述多个ra服务器中的至少两个ra服务器。

本实施方式,通过主ra服务器集中向网络设备发起完整性挑战请求,然后由主ra服务器在接收到网络设备发送的多个度量对象的完整性度量值后,将所述多个度量对象的完整性度量值中不同的度量对象的完整性度量值分别发送至所述多个ra服务器中的至少两个ra服务器,由各ra服务器对相应部分执行完整性证明。这样集中有主ra服务器发起挑战请求和分发度量计算的方式有利于集中统一管理,提高远程证明的效率。

可选的,所述网络设备对发送所述完整性挑战请求的发送方执行认证鉴权,并在鉴权通过后获取所述网络设备中的多个度量对象的完整性度量值。

通过本实施方式中的鉴权认证,进一步提高了安全性。

可选的,所述网络设备中的度量对象包括bios、os、一个或多个app、以及一个或多个文件,其中所述一个或多个文件是在所述网络设备运行过程中被存储至所述tpm芯片;所述网络设备中的ra客户端将所述bios、os、一个或多个app、以及一个或多个文件的完整性度量值发送至所述多个ra服务器中的至少两个ra服务器。

本实施方式中,进一步增加了度量对象的范围,既包括网络设备启动过程中的度量对象的完整性证明,也包括网络设备运行过程中需要保护的文件的完整性证明。提高了系统的远程证明范围,多样性和能力。

可选的,所述网络设备中的度量对象包括bios、os、一个或多个app、一个或多个文件、以及一个或多个vm,其中所述一个或多个文件是在所述网络设备运行过程中被存储至所述tpm芯片;所述一个或多个vm中的每个vm包括一个第一ra客户端。所述每个vm中的第一ra客户端将所述各vm的完整性度量值发送至与所述各vm对应的ra服务器;所述网络设备中的第二ra客户端将所述一个或多个vm之外的度量对象的完整性度量值发送至与所述一个或多个vm之外的度量对象对应的ra服务器。

通过本实施方式,可以对开放性结合虚拟化场景下的网络设备进行远程证明,提高了系统的远程证明范围,多样性和能力。

第二方面,本申请实施例提供了一种远程证明方法,应用于远程证明系统,所述远程证明系统包括多个ra服务器以及至少一个网络设备,所述至少一个网络设备中的每个网络设备包括多个度量对象。该方法由所述多个ra服务器中的第一ra服务器执行。在该所述方法中,所述第一ra服务器获取所述第一网络设备中的部分度量对象的完整性度量值,所述第一网络设备为所述至少一个网络设备中的一个网络设备;然后,所述第一ra服务器根据所述第一网络设备中的部分度量对象的完整性度量值,对所述第一网络设备中的部分度量对象的完整性执行远程证明。

通过本实施例中的远程证明方法,不同的ra服务器可以分别对网络设备中不同的度量对象的完整性度执行证明,这样当网络设备中的不同度量对象,如各bios、os以及各类应用等部件对属于不同的厂商时,也可以由该远程证明系统对该网络设备中的各度量对象执行可靠的完整性证明。

可选的,所述第一ra服务器向所述第一网络设备发送完整性挑战请求或者接收所述网络设备主动发送的完整性挑战请求。

本实施例中,通过网络设备主动发起或者被动接收ra服务器发起的完整性挑战请求,提供了远程证明的灵活性。

可选的,所述第一ra服务器将对所述第一网络设备中的部分度量对象的完整性执行远程证明的证明结果发送至第二ra服务器或网管设备,由所述第二ra服务器或网管设备对所述第一网络设备的整机完整性执行远程证明,所述第二ra服务器为所述多个ra服务器中的主ra服务器。

本实施例中,第一ra服务器通过将其对部分度量对象的远程证明结果发给信任的主ra服务器进一步进行网络设备整机完整性证明,提供了跨厂商开放性场景下网络设备完整性证明的可信度。

可选的,所述第一ra服务器获取所述远程证明系统中的其他网络设备中的部分度量对象的完整性度量值;所述第一ra服务器根据所述其他网络设备中的部分度量对象的完整性度量值,对所述其他网络设备中的部分度量对象的完整性执行远程证明。然后所述第一ra服务器将对所述其他网络设备中的部分度量对象的完整性执行远程证明的证明结果发送至所述主ra服务器或网管设备,以便所述主ra服务器或网管设备对整网完整性执行远程证明。

本实施例中,通过对整个远程证明系统中多个网络设备中各对应的度量对象的完整性证明,组成完整的可信证明链,从而达到整网完整性证明。

可选的,所述第一ra服务器接收所述第二ra服务器或所述网管设备发送的度量任务,所述度量任务中包括远程证明策略,所述第一ra服务器根据所述远程证明策略向所述第一网络设备发送完整性挑战请求。所述所述远程证明策略包括至少下述选项之一:指示所述第一ra服务器在特定时候发送完整性挑战请求;指示所述第一ra服务器发送完整性挑战请求的设备范围;指示所述第一ra服务器发送完整性挑战请求的度量对象范围;或指示所示第一ra服务器在所述第一ra服务器的动态资源使用情况或可用情况满足条件的情况下发送完整性挑战请求。

本实施例中,第一ra服务器根据主ra服务器下发的度量任务及其中的远程证明策略向网络设备发起完整性挑战请求。通过设置策略,采用不同的策略选项,如说明书具体实施方式中所举各例,在保障远程证明稳定可靠的情况下,又可以灵活的根据各种情况,合理利用资源,提高证明效率。此外,与主ra服务器集中向各网络设备发送完整性挑战请求相比,由各ra服务器直接从网络设备获取度量对象的完整性度量值一定程度上可以克服主ra服务器的流量瓶颈,体现了分布式的优势。

可选的,所述第一网络设备中的部分度量对象的完整性度量值包括:在所述第一网络设备启动过程中的所述第一网络设备中的bios、os、app、或vm的完整性度量值;或者,在所述第一网络设备运行过程中的所述第一网络设备中的bios、os、app、vm、或一个或多个文件的完整性度量值,所述一个或多个文件为所述网络设备运行过程中需要保护的文件。

通过本实施例的远程证明方法,可以针对多类型的对量对象进行完整性证明,如网络设备启动过程中的度量对象,网络设备运行过程中的度量对象,如运行中需要保护的各类文件,另外还包括了对虚拟化场景下的度量对象的完整性证明,提高了远程证明的范围,多样化,以及证明能力。

可选的,所述第一ra服务器从主ra服务器或网管设备接收所述主ra服务器或网管设备按照远程证明策略发送的第一网络设备中的部分度量对象的完整性度量值。所述远程证明策略包括至少下述选项之一:所述多个网络设备中的各网络设备中的度量对象的完整性远程证明的时序关系;所述第一ra服务器与所述第一ra服务器能够执行远程证明的度量对象之间的对应关系;所述第一ra服务器与所述第一ra服务器度量的设备范围之间的关系;所述第一ra服务器与所述第一ra服务器度量的度量对象范围之间的关系;或,所述第一ra服务器的动态资源使用情况或可用情况。

本实施方式,通过主ra服务器集中向网络设备发起完整性挑战请求,然后由主ra服务器在接收到网络设备发送的多个度量对象的完整性度量值后,将所述多个度量对象的完整性度量值中不同的度量对象的完整性度量值按照不同的策略组合分别发送至所述多个ra服务器中的至少两个ra服务器,由各ra服务器对相应部分执行完整性证明。这样集中由主ra服务器发起挑战请求和分发度量计算的方式有利于集中统一管理,提高远程证明的效率,同时通过运用策略的组合也保障了远程证明的灵活性。

可选的,所述第一ra服务器接收所述多个ra服务器中的其他ra服务器分别发送的对所述第一网络设备中的部分度量对象的完整性执行远程证明的证明结果;所述第一ra服务器根据所述证明结果对所述第一网络设备执行整机完整性的远程证明。或者,所述第一ra服务器接收所述多个ra服务器中的其他ra服务器发送的对所述至少一个网络设备中的其他网络设备中的部分度量对象的完整性执行远程证明的证明结果;所述第一ra服务器根据所述证明结果执行整网完整性的远程证明。

该实施方式中,该第一ra服务器还可以充当主ra服务器的功能,接收其他ra服务器发送的对网络设备的对量对象的远程证明结果,完成整机或者整网完整性证明。提高了网络部署的灵活性,一定程度上节约了ra服务器资源。

第三方面,本实施例提供了一种远程证明方法,应用于远程证明系统。所述远程证明系统包括多个远程证明ra服务器以及至少一个网络设备。所述至少一个网络设备中的每个网络设备包括多个度量对象,所述多个ra服务器包括多个第一ra服务器和一个第二ra服务器。该所述方法由作为主ra服务器的第二ra服务器执行。在该方法中,所述第二ra服务器接收多个第一ra服务器分别发送的各第一ra服务器对第一网络设备中的部分度量对象的完整性执行远程证明的证明结果,所述第一网络设备为所述至少一个网络设备中的一个网络设备;所述第二ra服务器根据所述证明结果对所述第一网络设备中的多个度量对象执行整机完整性的远程证明。

通过本实施例中的远程证明方法,不同的ra服务器将其分别对第一网络设备中不同的度量对象的完整性度的证明结果发给主ra服务器,由主ra服务器完成对所述第一网络设备进行整机完整性证明,这样当网络设备中的不同度量对象,如各bios、os以及各类应用等部件对属于不同的厂商时,也可以由该远程证明系统对该网络设备中的各度量对象执行可靠的完整性证明,并且由可行的主ra服务器进行证明,使得证明结果可靠。

可选的,所述第二ra服务器接收多个第一ra服务器分别发送的各第一ra服务器对所述多个网络设备中的其他网络设备中的部分度量对象的完整性执行远程证明的证明结果;所述第二ra服务器根据所述证明结果对所述多个网络设备执行整网完整性的远程证明。

可选的,所述第二ra服务器分别向所述各第一ra服务器发送度量任务;所述度量任务包括远程证明策略,指示所述各第一ra服务器根据所述远程证明策略向所述多个网络设备中对应的网络设备发送完整性挑战请求。所述远程证明策略包括至少下述选项之一:指示所述多个第一ra服务器中各第一ra服务器在特定时候发送完整性挑战请求;指示所述多个第一ra服务器中各第一ra服务器发送完整性挑战请求的设备范围;指示所述多个第一ra服务器中各第一ra服务器发送完整性挑战请求的度量对象范围;或指示所示多个第一ra服务器中各第一ra服务器在所述各第一ra服务器的动态资源使用情况或可用情况满足条件的情况下发送完整性挑战请求。

本实施例中,主ra服务器根据远程证明策略向各第一ra服务器下发的度量任务,指示各第一ra服务器根据所述远程证明策略向网络设备发起完整性挑战请求。通过设置不同策略,采用不同的策略选项,如说明书具体实施方式中所举各例,在保障远程证明稳定可靠的情况下,又可以灵活的根据各种情况,合理利用资源,提高证明效率。

可选的,所述第二ra服务器接收所述多个网络设备中各网络设备发送的的所述各网络设备中的多个度量对象的完整性度量值;所述第二ra服务器根据远程证明策略将所述各网络设备中的多个度量对象的完整性度量值分别发给所述多个第一ra服务器中的部分或全部第一ra服务器,指示所述多个第一ra服务器中的部分或全部第一ra服务器对对应的网络设备中的多个度量对象中的部分度量对象的完整性执行远程证明。所述远程证明策略包括至少下述选项之一:所述多个网络设备中的各网络设备中的度量对象的完整性远程证明的时序关系;所述各第一ra服务器与所述各第一ra服务器能够执行远程证明的度量对象之间的对应关系;所述各第一ra服务器与所述各第一ra服务器度量的设备范围之间的关系;所述各第一ra服务器与所述各第一ra服务器度量的度量对象范围之间的关系;或,所述各第一ra服务器的动态资源使用情况或可用情况。

本实施方式,通过主ra服务器集中向网络设备发起完整性挑战请求,然后由主ra服务器在接收到网络设备发送的多个度量对象的完整性度量值后,将所述多个度量对象的完整性度量值中不同的度量对象的完整性度量值按照不同的策略组合分别发送至所述多个ra服务器中的至少两个ra服务器,由各ra服务器对相应部分执行完整性证明。这样集中由主ra服务器发起挑战请求和分发度量计算的方式有利于集中统一管理,提高远程证明的效率,同时通过运用策略的组合也保障了远程证明的灵活性。

可选的,所述第二ra服务器获取所述第一网络设备中的多个度量对象的完整性基线度量值;所述第二ra服务器分别向所述各第一ra服务器发送所述第一网络设备中的多个度量对象的完整性基线度量值,或者所述第二ra服务器分别向所述各第一ra服务器发送所述第一网络设备中的部分度量对象的完整性基线度量值。此外,在所述系统包括多个网络设备的场景下,所述第二ra服务器获取所述其他网络设备中的多个度量对象的完整性基线度量值;所述第二ra服务器分别向所述多个第一ra服务器发送所述其他网络设备中的多个度量对象的完整性基线度量值,或者根据远程证明策略向所述各第一ra服务器发送部分或全部其他网络设备中的多个或部分度量对象的完整性基线度量值;所述设定策略包括:所述各第一ra服务器与所述各第一ra服务器能够执行远程证明的度量对象之间的对应关系,以及至少下述选项之一:所述各第一ra服务器与所述各第一ra服务器度量的设备范围之间的对应关系;所述各第一ra服务器与所述各第一ra服务器度量的度量对象范围之间的对应关系;或所述各第一ra服务器的动态资源使用情况或可用情况。

本实施例中,主ra服务器通过可以策略性地将各网络设备的完整性基线度量值发给各ra服务器,与向各ra服务器分发度量任务以及分发各网络设备的度量对象的度量值对应,从而避免将不必要的完整性基线度量值发给所有的ra服务器,从而节省了资源,提高了效率。

第四方面,本申请实施例提供了一种,应用于远程证明系统,所述远程证明系统包括多个远程证明ra服务器以及至少一个所述网络设备。所述网络设备包括:获取模块,用于获取所述网络设备中的多个度量对象的完整性度量值;发送模块,用于将所述多个度量对象的完整性度量值中不同的度量对象的完整性度量值分别发送至所述多个ra服务器中的至少两个ra服务器,以便所述至少两个ra服务器分别对所述网络设备中的不同的度量对象的完整性执行远程证明。

可选的,发送模块具体用于根据所述多个ra服务器中的各ra服务器与所述各ra服务器能够执行远程证明的度量对象之间的对应关系,将所述多个度量对象的完整性度量值中不同的度量对象的完整性度量值分别发送至所述多个ra服务器中的至少两个ra服务器。

可选的,所述网络设备还包括接收模块,用于接收完整性挑战请求。相应的,所述获取模块具体用于响应于所述完整性挑战请求,获取所述网络设备中的多个度量对象的完整性度量值。

可选的,所述接收模块接收的所述完整性挑战请求来自于所述至少两个ra服务器。相应的,所述接收模块具体用于接收所述至少两个ra服务器根据远程证明策略发送的完整性挑战请求;所述远程证明策略包括至少下述选项之一:指示所述多个第一ra服务器中各ra服务器在特定时候发送完整性挑战请求;指示所述多个第一ra服务器中各ra服务器根据所述各ra服务器度量的设备范围发送完整性挑战请求;指示多个所述所述第一ra服务器中各ra服务器根据所述各ra服务器度量的度量对象范围发送完整性挑战请求;或指示所述多个第一ra服务器中各ra服务器根据所述各ra服务器的动态资源使用情况或可用情况发送完整性挑战请求。

可选的,所述多个ra服务器中包括一个主ra服务器;所述网络设备还包括接收模块,用于从所述主ra服务器接收所述完整性挑战请求。所述获取模块具体用于响应于所述完整性挑战请求,获取所述网络设备中的多个度量对象的完整性度量值;所述发送模块具体用于通过所述主ra服务器将所述多个度量对象的完整性度量值中不同的度量对象的完整性度量值分别发送至所述多个ra服务器中的至少两个ra服务器。

可选的,所述网络设备还包括鉴权模块,用于对发送所述完整性挑战请求的发送方执行认证鉴权,并在鉴权通过后通知所述获取模块获取所述网络设备中的多个度量对象的完整性度量值。

可选的,所述网络设备包括ra客户端以及所述可信平台模块tpm芯片,所述获取模块和所述发送模块设置在所述ra客户端中;所述获取模块具体用于从所述tpm芯片中获取所述网络设备中的多个度量对象的完整性度量值,其中所述多个度量对象的完整性度量值是在所述网络设备启动过程或者网络设备运行过程中被存储至所述tpm芯片。

可选的,所述网络设备中的度量对象包括bios、os、一个或多个app、以及一个或多个文件,其中所述一个或多个文件是在所述网络设备运行过程中被存储至所述tpm芯片。所述发送模块具体用于将所述bios、os、一个或多个app、以及一个或多个文件的完整性度量值发送至所述多个ra服务器中的至少两个ra服务器。

可选的,所述ra客户端包括第一ra客户端和第二ra客户端,所述第一ra客户端和第二ra客户端中分别包括所述获取模块和发送模块;所述网络设备中的度量对象包括bios、os、一个或多个app、一个或多个文件、以及一个或多个vm,其中所述一个或多个文件是在所述网络设备运行过程中被存储至所述tpm芯片;所述一个或多个vm中的每个vm包括一个所述第一ra客户端;所述每个vm中的所述第一ra客户端中发送模块具体用于将所述各vm的完整性度量值发送至与所述各vm对应的ra服务器;所述网络设备中的所述第二ra客户端中的发送模块具体用于将所述一个或多个vm之外的度量对象的完整性度量值发送至与所述一个或多个vm之外的度量对象对应的ra服务器。

上述网络设备的各实施例的技术效果可参考上述第一方面以及各可选实施方式中的具体描述,这里不再逐一赘述。

第五方面,本申请实施例提供了一种远程证明ra服务器,应用于远程证明系统。所述远程证明系统包括多个ra服务器以及至少一个网络设备,所述至少一个网络设备中的每个网络设备包括多个度量对象,所述ra服务器为所述多个ra服务器中的一个ra服务器。所述ra服务器包括:获取模块,用于获取第一网络设备中的部分度量对象的完整性度量值,所述第一网络设备为所述至少一个网络设备中的一个网络设备;证明模块,用于根据所述第一网络设备中的部分度量对象的完整性度量值,对所述第一网络设备中的部分度量对象的完整性执行远程证明。

可选的,所述服务器进一步包括发送模块,用于所述第一网络设备发送完整性挑战请求。

可选的,所述发送模块进一步用于将对所述第一网络设备中的部分度量对象的完整性执行远程证明的证明结果发送至第二ra服务器或网管设备,由所述第二ra服务器或网管设备对所述第一网络设备的整机完整性执行远程证明,所述第二ra服务器为所述多个ra服务器中的主ra服务器。

可选的,所述获取模块进一步用于获取所述第二网络设备中的部分度量对象的完整性度量值,所述第二网络设备为所述至少一个网络设备中的另一个网络设备。相应的,所述证明模块进一步用于根据所述第二网络设备中的部分度量对象的完整性度量值,对所述第二网络设备中的部分度量对象的完整性执行远程证明。相应的,所述发送模块进一步用于将对所述第二网络设备中的部分度量对象的完整性执行远程证明的证明结果发送至所述第二ra服务器或网管设备,以便所述第二ra服务器或网管设备对整网完整性执行远程证明。

可选的,所述获取模块进一步用于获取所述第一网络设备中的部分度量对象的完整性基线度量值。相应的,所述证明模块具体用于将所述第一网络设备中的部分度量对象的完整性度量值分别与所述第一网络设备中的部分度量对象的完整性基线度量值进行比较,并在所述第一网络设备中的部分度量对象的完整性度量值分别与所述第一网络设备中的部分度量对象的完整性基线度量值一致的情况下,确认所述第一网络设备中的部分度量对象的完整性通过远程证明。此外,具体例子中,所述获取模块具体从所述第一ra服务器所支持的站点,所述第二ra服务器,或网管设备等设备获取所述第一网络设备中的部分度量对象的完整性基线度量值。

可选的,所述获取模块进一步用于获取所述第二ra服务器或所述网管设备发送的度量任务,所述度量任务中包括远程证明策略,所述远程证明策略指示所述第一ra服务器在特定时候向所述第一网络设备发送完整性挑战请求。相应的,所述发送模块具体用于根据所述远程证明策略向所述第一网络设备发送完整性挑战请求。

可选的,在所述远程证明系统包括多个网络设备的情况下,所述远程证明策略进一步指示所述第一ra服务器发送所述完整性挑战请求的设备范围和/或度量对象范围。相应的,所述发送模块进一步用于根据所述设备范围和/或度量对象范围向所述第一网络设备发送所述完整性挑战请求。

可选的,在所述远程证明系统包括多个网络设备的情况下,所述远程证明策略进一步指示所述第一ra服务器根据所述第一ra服务器的动态资源使用情况或可用情况发送所述完整性挑战请求。相应的,所述发送模块进一步用于在所述第一ra服务器的动态资源使用情况或可用情况满足条件的情况下,向所述第一网络设备发送所述完整性挑战请求。

可选的,所述第一网络设备中的部分度量对象的完整性度量值包括:在所述第一网络设备启动过程中的所述第一网络设备中的bios、os、app、或vm的完整性度量值;或者,在所述第一网络设备运行过程中的所述第一网络设备中的bios、os、app、vm、或一个或多个文件的完整性度量值,所述一个或多个文件为所述网络设备运行过程中需要保护的文件。

可选的,所述获取模块具体用于从第二ra服务器或网管设备接收所述第二ra服务器或网管设备按照远程证明策略发送的第一网络设备中的部分度量对象的完整性度量值,所述第二ra服务器为所述多个ra服务器中的主ra服务器。所述远程证明策略包括至少下述选项之一:所述多个网络设备中的各网络设备中的度量对象的完整性远程证明的时序关系;所述第一ra服务器与所述第一ra服务器能够执行远程证明的度量对象之间的对应关系;所述第一ra服务器与所述第一ra服务器度量的设备范围之间的关系;所述第一ra服务器与所述第一ra服务器度量的度量对象范围之间的关系;或,所述第一ra服务器的动态资源使用情况或可用情况。

可选的,所述获取模块进一步用于接收所述多个ra服务器中的其他ra服务器分别发送的对所述第一网络设备中的部分度量对象的完整性执行远程证明的证明结果。相应的,所述证明模块进一步用于根据所述证明结果对所述第一网络设备执行整机完整性的远程证明。

可选的,所述获取模块进一步用于接收所述多个ra服务器中的其他ra服务器发送的对所述至少一个网络设备中的其他网络设备中的部分度量对象的完整性执行远程证明的证明结果;所述证明模块进一步用于根据所述证明结果执行整网完整性的远程证明。

上述ra服务器的各实施例的技术效果可参考上述第二方面以及各可选实施方式中的具体描述,这里不再逐一赘述。

第六方面,本申请实施例提供了一种远程证明ra服务器,应用于远程证明系统。所述远程证明系统包括多个ra服务器以及至少一个网络设备,所述至少一个网络设备中的每个网络设备包括多个度量对象,所述多个ra服务器包括多个第一ra服务器和一个第二ra服务器,所述ra服务器为第二ra服务器执行,所述第二ra服务器为主ra服务器。所述ra服务器包括:获取模块,用于获取多个第一ra服务器分别发送的各第一ra服务器对第一网络设备中的部分度量对象的完整性执行远程证明的证明结果,所述第一网络设备为所述至少一个网络设备中的一个网络设备;证明模块,用于根据所述证明结果对所述第一网络设备中的多个度量对象执行整机完整性的远程证明。

可选的,所述ra服务器进一步包括发送模块。所述获取模块进一步用于获取所述第一网络设备中的多个度量对象的完整性基线度量值。相应的,所述发送模块用于分别向所述各第一ra服务器发送所述第一网络设备中的多个度量对象的完整性基线度量值,或者分别向所述各第一ra服务器发送所述第一网络设备中的部分度量对象的完整性基线度量值。

可选的,在所述远程证明系统包括多个网络设备的情况下,所述获取模块进一步用于接收多个第一ra服务器分别发送的各第一ra服务器对所述多个网络设备中的其他网络设备中的部分度量对象的完整性执行远程证明的证明结果。相应的,所述证明模块进一步用于根据所述证明结果对所述多个网络设备执行整网完整性的远程证明。

可选的,所述获取模块进一步用于获取所述其他网络设备中的多个度量对象的完整性基线度量值。相应的,所述发送模块进一步用于分别向所述多个第一ra服务器发送所述其他网络设备中的多个度量对象的完整性基线度量值,或者根据所述远程证明策略向所述各第一ra服务器发送部分或全部其他网络设备中的多个或部分度量对象的完整性基线度量值。所述设定策略进一步包括:所述各第一ra服务器与所述各第一ra服务器能够执行远程证明的度量对象之间的对应关系,以及至少下述选项之一:所述各第一ra服务器与所述各第一ra服务器度量的设备范围之间的对应关系;所述各第一ra服务器与所述各第一ra服务器度量的度量对象范围之间的对应关系;或所述各第一ra服务器的动态资源使用情况或可用情况。

可选的,所述发送模块进一步用于分别向所述各第一ra服务器发送度量任务。所述度量任务包括远程证明策略,指示所述各第一ra服务器根据所述远程证明策略向所述多个网络设备中对应的网络设备发送完整性挑战请求。所述远程证明策略包括至少下述选项之一:指示所述多个第一ra服务器中各第一ra服务器在特定时候发送完整性挑战请求;指示所述多个第一ra服务器中各第一ra服务器发送完整性挑战请求的设备范围;指示所述多个第一ra服务器中各第一ra服务器发送完整性挑战请求的度量对象范围;或指示所示多个第一ra服务器中各第一ra服务器在所述各第一ra服务器的动态资源使用情况或可用情况满足条件的情况下发送完整性挑战请求。

可选的,所述获取模块进一步用于接收所述多个网络设备中各网络设备发送的的所述各网络设备中的多个度量对象的完整性度量值。相应的,所述发送模块进一步用于根据远程证明策略将所述各网络设备中的多个度量对象的完整性度量值分别发给所述多个第一ra服务器中的部分或全部第一ra服务器,指示所述多个第一ra服务器中的部分或全部第一ra服务器对对应的网络设备中的多个度量对象中的部分度量对象的完整性执行远程证明。所述远程证明策略包括至少下述选项之一:所述多个网络设备中的各网络设备中的度量对象的完整性远程证明的时序关系;所述各第一ra服务器与所述各第一ra服务器能够执行远程证明的度量对象之间的对应关系;所述各第一ra服务器与所述各第一ra服务器度量的设备范围之间的关系;所述各第一ra服务器与所述各第一ra服务器度量的度量对象范围之间的关系;或,所述各第一ra服务器的动态资源使用情况或可用情况。

可选的,所述ra服务器进一步包括管理呈现模块,所述管理呈现模块用于管理和呈现所述远程证明的结果。

通过本实施例,管理者易于通过呈现的证明结果的情况从而有效地管理所述远程证明的结果。

可选的,所述获取模块进一步用于获取所述第一网络设备中的部分度量对象的完整性度量值。相应的,所述证明模块进一步用于根据所述第一网络设备中的部分度量对象的完整性度量值,对所述第一网络设备中的部分度量对象的完整性执行远程证明。

上述ra服务器的各实施例的技术效果可参考上述第三方面以及各可选实施方式中的具体描述,这里不再逐一赘述。

第七方面,本申请实施例提供了一种网络设备,应用于远程证明系统。所述远程证明系统包括多个ra服务器以及至少一个所述网络设备;所述网络设备包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器用于执行所述存储器中存储的计算机程序以执行上述第一方面及其各可选实施方式中的任一项所述的方法。

该网络设备的各实施例的技术效果可参考上述第一方面以及各可选实施方式中的具体描述,这里不再逐一赘述。

第八方面,本申请实施例提供了一种远程证明ra服务器,应用于远程证明系统。所述远程证明系统包括多个ra服务器以及至少一个网络设备,所述至少一个网络设备中的每个网络设备包括多个度量对象,所述ra服务器为所述多个ra服务器中的一个ra服务器。所述ra服务器包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器用于执行所述存储器中存储的计算机程序以执行上述第二方面及其各可选实施方式中的任一项所述的方法。

该ra服务器的各实施例的技术效果可参考上述第二方面以及各可选实施方式中的具体描述,这里不再逐一赘述。

第九方面,本申请实施例提供了一种远程证明ra服务器,应用于远程证明系统。所述远程证明系统包括多个ra服务器以及至少一个网络设备,所述至少一个网络设备中的每个网络设备包括多个度量对象,所述多个ra服务器包括多个第一ra服务器和一个第二ra服务器,所述ra服务器为第二ra服务器执行,所述第二ra服务器为主ra服务器。所述ra服务器包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器用于执行所述存储器中存储的计算机程序以执行上述第二方面及其各可选实施方式中的任一项所述的方法。

该ra服务器的各实施例的技术效果可参考上述第三方面以及各可选实施方式中的具体描述,这里不再逐一赘述。

第十方面,本申请实施例提供了一种远程证明系统。所述远程证明系统包括多个如上述第五方面及其各可选实施方式中的任一ra服务器以及一个或多个上述第六方面及其各可选实施方式中的ra服务器。

该远程证明系统的各实施例的技术效果可参考上述第一至三方面以及各可选实施方式中的具体描述,这里不再逐一赘述。

第十一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面、第二方面、或者第三方面所述的任一远程证明方法。

第十二方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面、第二方面、或者第三方面所述的任一远程证明方法。

附图说明

图1是本申请实施例提供的一种远程证明系统的架构与流程示意图;

图2是本申请实施例提供的一种开放性场景下的远程证明系统的架构与流程示意图;

图3是本申请实施例提供的一种开放性结合负载分担场景下的远程证明系统架构与流程示意图;

图4是本申请实施例提供的一种开放性结合虚拟化场景下的远程证明系统架构与流程示意图;

图5是本申请实施例提供的一种负载分担场景下的远程证明系统架构与流程示意图;

图6是本申请实施例提供的一种网络设备运行时度量场景下的远程证明系统架构与流程示意图;

图7是本申请实施例提供的一种网络设备的架构示意图;

图8是本申请实施例提供的一种ra服务器的架构示意图;

图9是本申请实施例提供的一种ra服务器的架构示意图;

图10是本申请实施例提供的另一种网络设备的架构示意图;

图11是本申请实施例提供的另一种ra服务器的架构示意图。

具体实施方式

下面将结合附图对本申请实施方式作进一步地详细描述。

应当理解的是,本文提及的“多个”是指两个或两个以上。在本申请的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。

图1为本申请实施例提供的一种远程证明过程方法,该方法包括如下步骤:

步骤110:在网络设备启动阶段,bios、os、app部件各自的度量值被扩展至tpm芯片中存储。

具体的实现方式中,网络设备上电后被硬件保护的可信度量根首先执行,所述硬件计算第一阶段启动代码哈希值,后续从系统启动到操作系统加载,直至应用程序执行全过程中每个阶段都计算下一个阶段的哈希值,这些哈希值又称为完整性度量值或或度量值。可信平台模块(trustedplatformmodule,tpm)提供了一组平台状态寄存器pcr(platformconfigurationregister)用来存储这些哈希值,存储上述哈希值的过程称之为扩展完整性度量值。网络设备各部件扩展度量值的过程可以参考trustedcomputinggroup标准规范,如tcg_1_4_architecture_overview,该文档与此相关部分的内容好像整体复制一般以引入的方式并入(incorporatedbyreference)本文本中,对于其中与本申请矛盾或冲突的描述,以本申请的描述为准。具体的实施方式中,该tpm可以由网络设备中的芯片实施。需要说明的是,为了简便起见,以下描述中以度量值表示完整性度量值。本申请中的网络设备可以是网络中的路由器、交换机、或者其他网络设备。

本申请实施例中所称的“部件”可以包括硬件类部件和软件类部件,软件类部件如bios,os,app等。硬件类部件如网络设备的基础硬件设施。除非特别说明,本申请实施中下述所说的部件都指的是软件类部件,即涉及完整性证明的那些部件。

步骤120:当ra客户端接收到ra服务器发送的挑战请求时,ra客户端从tpm中获取网络设备中各部件的度量值。

具体的实现方式中,当网络设备启动之后,ra服务器向网络设备发送完整性挑战请求(为了简便起见,以下描述中称为挑战请求),,ra客户端收到该挑战请求后,从所述tmp获取相应部件的度量值。

步骤130:ra客户端将各部件的度量值生成度量报告,并发送给ra服务器。

具体的实现方式中,由ra客户端获取tpm中的各部件的度量值生成度量报告,所述度量报告中包括所述各部件的度量值,并将所述度量报告提交给ra服务器。

步骤140:ra服务器从支持站点下载基线度量值。

具体实现方式中,各部件在版本构建阶段生成bios、os、app等各级软件的哈希值,这些哈希值作为完整性基线度量值(为了简便起见,以下描述中称为基线度量值)和软件大包同时发布到支持网站。ra服务器和支持站点连接,从支持站点获取所述网络设备的各部件的基线度量值,并予以保存。

步骤150:ra服务器收到ra客户端发送的度量报告之后,执行网络设备的完整性证明。本实施例中所称的计算度量结果可以认为是执行完整性证明的具体实现过程。

具体实现中,ra服务器收到ra客户端发送的度量报告之后,计算度量结果,具体可以为,所述ra服务器将所述ra上报的度量报告中各部件的度量值与本地保存的各部件的基线度量值进行对比,如果一致,则说明网络设备的软件未被篡改,不一致则说明被篡改。从而完成网络设备的完整性证明。管理员根据远程证明结果进行处置。

从上述远程证明方法中可以看出,该系统仅部署单台ra服务器,该网络设备中的各部件,如bios、os、app,的度量值集中上送至该ra服务器,由该ra服务器集中统一进行完整性的远程证明。如果当部件、软件和应用为不同厂商提供时,这种封闭式远程证明系统,无法提供可靠有效的证明。如以下场景中,该系统无法提供可靠有效的远程证明:

虚拟化场景:基础设备是公司a的、vm是客户公司b提供的,客户公司b不同意向公司a的服务器上送度量值并证明,希望由公司b自己信任的服务器完成证明。

开放性场景:软件大包是公司a的,第三方应用由客户公司b或其它第三方公司c提供,客户公司b希望进行第三方应用的完整性证明。

此外,当单台ra服务器无法满足大量设备或多种度量的需求时,需要分布式部署进行负载分担。如:

需要度量整网的完整性场景:如某公司a中部署了大量的网络设备,客户公司b希望对整个网络中所有设备的完整性进行度量,以确保整网的软件未被篡改。此时单台ra服务器的性能有限,需要分布式部署进行负载分担。

网络设备运行时度量场景:随着多种运行时度量技术的发展,如:完整性度量框架ima(integritymeasurementarchitecture),ra服务器既要度量启动时的完整性,又要度量运行时文件或网络设备启动后加载的app的完整性,单台ra服务器可能无法满足大量的度量需求,需要分布式部署进行负载分担。

针对上述各种场景,本申请实施例提供了下述各种远程证明方法,以克服上述远程证明系统无法提供可靠有效的完整性证明。

如图2所示,为本申请实施例提供的一种远程证明系统架构示意图。在该远程证明系统中包括:多个ra服务器,如图中所示的ra服务器1、ra服务器2以及ra服务器m一共m各ra服务器,m为大于2的正整数,m的数量根据系统部署情况以及所覆盖的网络设备中的部件的开放性程度(如部件跨厂商的程度),或者网络设备的数量等因素而定。

具体应用中,这些ra服务器之间关系可以包括如下几种:

零耦合架构:各ra服务器之前无依赖关系,分别按照各自的周期挑战各自负责的度量对象,分别计算各度量对象的度量结果,完成度量对象的完整性证明,证明结果在单台ra服务器上独立呈现和管理。需要说明的是,本申请实施例中所称的“度量对象”包括网络设备中所有软件类部件,如bios,os,app等,而且还包括网络设备中的各种文件,如系统文件等,度量对象不包括硬件类部件。网络设备中各类文件的完整性证明可以参考下面图6所示的实施例中详细描述。

松耦合架构:这些ra服务器包括一台主ra服务器,由该主ra服务器管理各ra服务器。各ra服务器按照设定远程证明策略,同时或者先后向各度量对象发送挑战请求,分别计算各度量对象的度量结果,完成度量对象的完整性证明,然后将各度量对象的证明结果发给主ra服务器,由主ra服务器进行网络设备的完整性证明,并在主ra服务器上呈现和管理。即:彼此结果是有关联的,需要合并处理的。

强耦合架构:这些ra服务器包括一台主ra服务器,由主ra服务器管理各ra服务器。各ra服务器按照设定远程证明策略,按照一定顺序向各自负责的度量对象发送挑战请求,前一部度量对象的度量结果会影响后一度量对象的度量动作,由主ra服务器统一调度管理。

在零耦合场景下,所述各ra服务器,用于分别获取所述网络设备中的对应度量对象的完整性度量值,根据所述网络设备中的对应度量对象的完整性度量值,分别对所述网络设备中的对应度量对象的完整性执行远程证明。

在松耦合或者强耦合的场景下,各ra服务器还用于对所述网络设备中的对应度量对象的完整性执行远程证明的证明结果发送至主ra服务器,由所述主ra服务器对所述网络设备中的整机完整性的执行远程证明。

所述主ra服务器接收各ra服务器分别发送的所述各ra服务器各自对所述网络设备中的对应的度量对象的完整性执行远程证明的证明结果,根据所述证明结果对所述网络设备中的多个度量对象执行整机完整性的远程证明。

可以理解,在另外的实施方式中,各ra服务器还用于对所述网络设备中的对应度量对象的完整性执行远程证明的证明结果发送至网管设备,由网管设备对所述网络设备中的整机完整性的执行远程证明。

如图所示,该系统还包括网络设备,图中仅示出一个网络设备,该网络设备包括多个部件,如部件1、部件2、部件3、部件4以及部件n一共n个部件,n为大于2的正整数,n大于或等于m。所述的网络设备用于获取所述网络设备中的度量对象的完整性度量值;所述网络设备将所述不同的度量对象的完整性度量值分别发送至所述不同ra服务器,由所述ra服务器各自对所述网络设备中的对应的度量对象的完整性执行远程证明。需要说明的是,图2仅示出一台网络设备,在实际应用中,可以根据实际需要,部署多台网络设备。

如前所述,所述网络设备中的各部件至少来自于不同的厂商,需要由不同的ra服务器进行完整性的远程证明。例如,部件2来自于公司a,部件3来自于公司b,部件4来自于公司c,分别需要由不同的ra服务器进行完整性远程证明。部署多台网络设备的情况下,该多台网络设备中的不同部件也来自不同厂商,该其他网络设备中的部件结构可以和第一台网络设备一样,也可以不一样的部件结构。

此外,该网络设备中还包括tpm,tmp提供了一组平台状态寄存器pcr(platformconfigurationregister),用于存储上述部件发送的度量对象的度量值,即度量对象的完整性度量值。该网络设备中还包括ra客户端,该ra客户端用于接收ra服务器发送的完整性挑战请求,响应于所述完整性挑战请求,从所述tpm获取各部件存储的度量对象的完整性度量值,生成度量报告发送至各ra服务器。由各所述ra服务器对度量报告中的的度量对象的度量值进行完整性证明。

此外,该系统还包括多个支持站点,各支持站点分别对应不同的ra服务器,向对应的ra服务器提供各度量对象的基线度量值,以便各ra服务器根据度量对象的该基线度量值计算度量结果,执行完整性证明。

参见图2,以下以部署一台网络设备以及各ra服务器构成零耦合或松耦合为例说明开放性场景以及网络设备启动过程中的远程证明方法。在该具体实施例中,方法包括如下步骤:

步骤210:扩展度量值;在网络设备启动阶段,各部件将对应的度量对象的完整性度量值扩展至tpm芯片中。

具体的实现方式中,网络设备上电后被部件1保护的可信度量根首先执行,然后所述部件1计算部件2启动过程中的代码哈希值,也可以称为度量对象的完整性度量值,部件2计算启动过程中的部件3或4的代码哈希值。然后,部件1将部件2的代码哈希值扩展至tpm提供中的平台状态寄存器pcr,该扩展哈希值的过程可以理解为存储上述哈希值的过程。部件2将部件3或部件4等部件的代码哈希值扩展至tpm的pcr中。除了存储该代码哈希值,本申请实施例中还要存储关联该部件的厂商标识进行存储。具体实现中,可以以一个度量对象条目的方式,该条目中包括部件厂商标识以及代码哈希值。例如部件1获得部件2的代码哈希值以及部件2的厂商标识,将部件2的代码哈希值和厂商标识一起存储至tpm的pcr中,该存储条目包括:部件2的代码哈希值以及部件2的厂商标识。哈希值的具体扩展方式可以参考上述图1所示实施例中的步骤110。

步骤220:获取度量值;当ra客户端接收到ra服务器的完整性挑战请求时,获取tpm中保存的相应度量对象的完整性度量值。

具体实施方式中,该挑战请求中可以携带ra服务器标识,例如可以是该ra服务器的厂商标识。网络设备收到该挑战请求之后,根据所述挑战请求中的ra服务器标识可以确定向该ra服务器发送哪些度量对象的完整性度量值。例如,可以用该ra服务器标识匹配tpm中存储的度量对象条目中的部件厂商标识,将匹配上的度量对象的完整性度量值发送至所述ra服务器。

可选的,网络设备中的ra客户端根据所请求的ra服务器身份,例如ra服务器标识等相关信息,经过一系列的认证鉴权,并在认证鉴权通过之后由ra客户端从tpm中获取相应部件的度量值。

此外,在具体实施方式中,该ra服务器向ra客户端发送挑战请求可以由该ra服务器自己根据设定的远程证明策略而定(例如在零耦合的场景下),也可以根据主ra服务器下发的度量任务中携带的远程证明策略而定(如松耦合或紧耦合的场景),在零耦合的场景下,各个ra服务器各自按照自己的远程证明策略发送挑战请求,各ra服务器发送的挑战请求没有相互的协调性。在松耦合或者强耦合场景下,各ra服务器根据主ra服务器的远程证明策略发送挑战请求有一定的关联,如同时发送或者先后按照一定的顺序发送等等。具体实现过程可以参考下述负载分担场景下的实施例的详细描述。可以理解的是,在松耦合的场景下,各个ra服务器各自按照自己的远程证明策略发送挑战请求,但在收到网络设备上报的相应度量对象的完整性度量值并在计算度量结果之后将各度量对象的度量结果(也可以称之为完整性远程证明结果)发送至ra服务器,由所述主ra服务器计算整个网络设备的整机完整性度量值,或者简称为整机完整性。如图2所示的实施例中采用的是零耦合或者松耦合的方式。具体参考以下详细描述。

在另外的实施方式中,也可以是该ra客户端主动根据一定策略,例如周期触发,或者特定时间触发,如根据网络管理者配置的策略事件,向对应的ra服务器上报度量对象的完整性度量值。这种情况下,该网络设备中可以保存各ra服务器与所述各ra服务器能够执行远程证明的度量对象之间的对应关系,网络设备根据该对应关系确定向哪个ra服务器发送度量报告。

步骤230:发送度量报告;ra客户端将获取到的相应度量对象的度量报告给对应的ra服务器。

具体实施方式中,ra客户端获取到相应度量对象的完整性度量值之后形成相应度量对象的度量报告,其中包括该相应度量对象的完整性度量值等信息。

如上所述,ra客户端根据不同ra服务器发送的挑战请求,获取相应的度量对象的完整性度量值上报至所述ra服务器。如上所述各ra服务器发送挑战请求视具体情况而定,如本实施例中,各ra服务器分别按照各自的远程证明策略向所述网络设备的ra客户端发送挑战请求。ra客户端收到来自ra服务器1(在松耦合场景下作为主ra服务器),ra服务器2以及ra服务器n发送的挑战请求。ra客户端根据挑战请求中携带的信息,如ra服务器标识确定ra服务器1负责部件2的完整性度量值验证,ra服务器2负责部件3和4的完整性度量值验证,ra服务器n负责部件n的完整性度量值验证。于是,ra客户端分别向上述三个ra服务器发送对应的度量对象的完整性度量值验证。

步骤240:获取基线度量值;各ra服务器从各自的支持站点下载完整性基线度量值(以下简称基线度量值)。

具体实施方式中,厂商在软件版本构建阶段生成各度量对象的完整性基线度量值,这些完整性基线度量值和软件大包(包括各级软件)发布到支持站点,如supportwebsit。各ra服务器和对应的支持站点连接,从支持站点获取所述网络设备的基线度量值,并予以保存。

需要说明的是,在松耦合或者强耦合场景下,各ra服务器也可以到主ra服务器获取各度量对象的完整性基线度量值。在另外的实现方式下,各ra服务器也可以到网管设备获取各度量对象的完整性基线度量值。

可以理解的是,步骤240可以发生在较早阶段,甚至网络设备还没有启动的时候就已经完成了该步骤的处理。也可以在收到网路设备的度量报告之后再去各自的支持站点获取基线度量值。

步骤250:计算度量结果;各ra根据网络设备上报的度量报告中的度量对象的度量值计算度量结果。

具体实施方式中,各ra服务器将对应部件的度量报告中的度量对象的度量值与获取的对应度量对象的基线度量值进行对比,如果二者一致,则相应度量对象的完整性远程证明通过。

在零耦合的场景下,由于不存在没有主ra服务器,各ra服务器分别计算对应度量对象的度量结果,完成对应度量对象的完整性远程证明,并将证明结果呈现给网络管理者,由网络管理者根据证明结果进行对应性操作。

在可选的实施方式中,在松耦合场景下,由于存在主ra服务器,各ra服务器将其证明结果发给主ra服务器,具体参考下面步骤260以及270。

步骤260:发送度量结果;各ra服务器将对应的度量对象的完整性远程证明结果上报至主ra服务器。

在一个具体的实施方式中,可以设置本实施例中的主ra服务器为ra服务器1,具体实现时可由客户指定信任的服务器为主ra服务器。各ra服务器将其对各自对应的度量对象的的完整性远程证明的证明结果发送至主ra服务器。由所述主ra服务器计算网络设备整机完整性,即对网络设备的整机完整性执行远程证明。

在另外的实施方式中,当所述远程证明系统包括多个网络设备的情况下,图中没有示出。每个网络设备按照步骤230向各ra服务器发送该网络设备中对应度量对象的完整性度量值,各ra服务器分别对各网络设备中对应的度量对象的完整性执行远程证明,并将证明结果分别发送至所述主ra服务器,由所述主ra服务器对所述多个网络设备进行整网完整性执行远程证明。具体可以参考下述图3所示实施例中的步骤360和370。

需要说明的是,在另外的实施方式中,各ra服务器也可以向网管设备发送上述证明结果,由网管设备对网络设备的整机完整性或者多个网络设备的整网完整性执行远程证明。

步骤270:计算整机完整性:由主ra服务器计算整机度量结果,执行网络设备的整机完整性远程证明。

具体实施方式中,只有网络设备中各部件的完整性的证明结果为都为一致的情况下,才认为整机完整性为可信状态,通过整机完整性证明。具体实施方式中,如果主ra服务器和各ra服务器支持时间同步机制,这样可以使得各部件的完整性计算结果为同一时间的状态,从而使得整机完整性证明更可靠。

如上所述,在多个网络设备的场景下,所述主ra服务器可以根据各ra发送的针对各网络设备中对应的度量对象的完整性证明结果进行整网完整性证明。如果每个网络设备的整机完整性证明通过,则表明多个网络设的整网的完整性证明通过。具体可以参考下述图3所示实施例中的步骤360和370。

上述整机完整性证明和整网完整性证明,统一在主ra服务器上呈现和管理。

需要说明的是上述步骤之间除了技术上必然存在先后关系之外,如步骤210和步骤220,度量对象的度量值只有先被扩展至tpm才可能被ra客户端获取,其他步骤之间没有先后关系的限定。而且,图中的步骤并不表示每个步骤都是必须的,例如步骤260和步骤270即为可选步骤,在没有这两个步骤的情况下,各ra服务器可以单独针对其负责的部分完成完整性证明。加上这两个步骤,可以由信任的主ra服务器完整整个网络设备中的各度量对象的整机完整性证明。下面其他图示中的实施例中的各步骤的顺序和可选性也一样,除了技术上必然存在先后关系之外,不存在时间先后限制,除了必要步骤外,其他的都为可选步骤。

以上各部件的结果在主ra服务器计算处理后,可以在主ra服务器上统一呈现和管理。

已有相关的技术方案中,不同厂商的部件,其完整性很难被相互证明,如果相互证明又会存在信息扩散、客户不信任以及增大合作难度的风险。通过图2所示实施例的开放性远程证明方法,不同厂商的度量对象都可以在该系统中获得可靠有效的证明。

图3为本申请实施例提供的另一种开放式场景实施例,在该实施例中的远程证明系统包括多个ra服务器,ra服务器1-m以及主ra服务器0,以及多个网络设备1-n。m和n为大于2的正整数,其中n大于或等于m。

在该实施例中,厂商a、客户b、第三方c为不同的部件的拥有者,各网络设备分别将对应的度量对象的度量值上送至对应的ra服务器,各ra服务器分别进行完整性证明,将证明结果上报至主ra服务器,主服务器执行整机或整网完整性证明。

其中,厂商a拥有基础部件,如硬件,bios,hostos,osvirtulation;客户b拥第三方app1;第三方c拥有第三方app2。ra服务器部署架构:多台ra服务器分布式部署,各ra服务器分别度量相应的度量对象的完整性。如ra服务器1负责厂商a的度量对象的完整性证明,ra服务器2负责第三方app1的度量对象的完整性证明;ra服务器n负责第三方app2的度量对象的完整性证明。然后各ra服务器将各自将证明结果上送至主ra服务器,ra服务器0。各ra服务器从各自的支持站点获取基线度量值。实际应用中,各ra服务器也可以统一从主ra服务器(ra服务器0)获取基线度量值,相应的,主ra服务器向其支持站点下载基线度量值。需要说明的是,上述各设备之间的归属关系以及与ra服务器的对应关系仅仅是示例性的,实际应用中可以是各种组合,本申请对此不做限制。

与上述图2所示实施例不同之处在于,本实施例中,是由所述主ra服务器向各ra服务器下发度量任务,由各ra服务器根据所述的度量任务分别向对应的网络设备发送挑战请求,并分别接收各网络设备发送的度量报告;或者,由所述主ra服务器统一向各网络设备发送挑战请求,然后,接收各网络设备发送的度量报告,并将度量报告发至相应的ra服务器计算度量结果,执行网络设备的完整性证明。相应的,根据发送挑战请求和接受度量报告为流量集中式还是分布式方式,本实施例提供了两种具体实施方式:

第一种具体实施方式:流量分布式实现方式,由所述主ra服务器根据远程证明策略向各ra服务器下发度量任务,由各ra服务器根据所述的度量任务分别向对应的网络设备中相应的度量对象发送挑战请求,并分别接收各网络设备发送的针对相应度量对象的度量报告。

第二种具体实施方式:流量集中式实现方式,由所述主ra服务器统一向各网络设备发送挑战请求,然后,接收各网络设备发送的度量报告,并将度量报告分发至相应的ra服务器计算度量结果,执行网络设备的完整性证明。

需要说明的是,本实施例中的主ra服务器的处理可以由网管设备替代。

以下分别介绍上述两种具体实施方式下各设备之间的如何交互流程以完成网络设备的整机完整性证明以及整个网络的整网完整性证明。

第一种具体实施方式,即流量分布式实现方式下的远程证明方案包括如下步骤:

步骤310:扩展度量值;在网络设备启动阶段,各部件将对应的度量对象的完整性度量值扩展至tpm芯片中。

具体实施方式中,在网络设备启动阶段,bios、hostos、osvirtualization、以及app的度量值分别被扩展至tpm芯片中存储,并设置不同的厂商标识进行存储。具体实施方式中,网络设备上电后,被硬件保护的可信度量根首先执行,计算bios的启动代码哈希值,后续从系统启动到操作系统加载,直至应用程序执行全过程中每个阶段都计算下一个阶段的代码哈希值,各阶段的哈希值被存储至tpm中的pcr。如上述图2所示,除了将各阶段的哈希值存储入tpm,还对应的存储有各部件的厂商标识。具体实现过程可以参考上述图1所示实施例中的步骤110以及图2所示实施例中的步骤210,此处不再赘述。

需要说明的是,app为第三方的app而非网络设备自带的app的情况下,需要视该第三方app的加载及启动方式情况而定。如果该第三方app的是在网络设备启动之前加载的,则该第三方app的完整性度量值与上述bios,os等部件一样是网络设备启动过程中被扩展至tpm芯片中存储。如果该第三方app的是在网络设备启动之后加载的并且为冷启动方式,则该第三方app的完整性度量值也可以认为是网络设备启动过程中被扩展至tpm芯片中存储。相反,如果该第三方app的是在网络设备启动之后加载的并且为热启动方式,则该第三方app的完整性度量值可以认为是网络设备运行过程中被扩展至tpm芯片中存储。这种情况下,可以参考图6所示实施例关于网络设备运行过程中的度量对象的完整性证明。

步骤315:下发度量任务。

ra服务器0作为主ra服务器向各ra服务器发送度量任务,指示各ra服务器根据度量任务向各自负责的网络设备中相应的度量对象发送挑战请求。

具体实现方式中,ra服务器0作为主ra服务器向各ra服务器发送度量任务,所述度量任务中包括远程证明策略,指示各ra服务器根据所述远程证明策略向各自负责的网络设备中相应的度量对象发送挑战请求。

所述远程证明策略包括至少下述选项之一:

1、指示所述各ra服务器在特定时候发送完整性挑战请求;

2、指示所述各ra服务器根据所述各ra服务器与所述各ra服务器能够执行远程证明的度量对象之间的对应关系发送完整性挑战请求;

3、指示所述各ra服务器根据所述各ra服务器度量的设备范围发送完整性挑战请求;

4、指示所述所述各ra服务器根据所述各ra服务器度量的度量对象范围发送完整性挑战请求;或

5、指示所述各ra服务器根据所述各ra服务器的动态资源使用情况或可用情况发送完整性挑战请求。

下面以两种场景说明如何使用该远程证明策略。

在第一种场景下,假设所述度量任务中的远程证明策略包括上述第1-4项,则各ra服务器根据该远程证明策略中指定的时间或者时序关系在特定时间向指定范围的网络设备中其能够执行远程证明的度量对象中的指定范围的度量对象发送挑战请求。

一个具体的例子中,如图3中,通过指定ra服务器1负责度量底层基础部件,将度量结果上报主ra服务器,如果度量结果不正确,则主ra服务器通知ra服务器2和3不再继续度量上层应用;如果度量结果正确,则主ra服务器通知ra服务器2和3再继续度量各自负责的上层应用。这样可以提高整个系统的协调性以及远程证明效率。

在另一个具体的例子中,在所述远程证明系统还需要证明网络设备运行过程中的文件或网络设备启动后加载的app的情况下,通过指定ra服务器1,2,以及n负责网络设备启动过程中的完整性证明,指定其他ra服务器负责系统运行后的完整性证明。ra服务器1首先发送挑战请求,如果度量结果不正确,则说明软件在启动时已被篡改,无必要再进行网络设备运行时完整性证明;如果度量结果正确,则其他ra服务器再继续进行网络设备运行时完整性证明。这样可以提高整个系统的协调性以及远程证明效率。

在第二种场景下,假设所述度量任务中的远程证明策略包括上述第1、2和5项,则各ra服务器根据根据其自身资源使用或者可用情况并按照该远程证明策略中指定的时间或者时序规则在特定时间向该远程证明系统中任何其能够执行远程证明的度量对象的网络设备发送挑战请求。

一个具体的例子中,如图3中,如果ra服务器1当前可用资源非常紧张,则通告主ra服务器,安排其他ra服务器负责度量底层基础部件,从而可以提高整个系统的资源负载分担能力以及远程证明效率。

应当理解,实际应用中,可以根据不同场景选择不同的策略组合,以实现远程证明效率和可靠性最大化。

步骤320:获取度量值;当ra客户端接收到ra服务器的完整性挑战请求时,获取tpm中保存的相应度量对象的完整性度量值。

当ra客户端接收到ra服务器的挑战请求时,设备根据所请求的ra服务器身份,经过一系列的认证鉴权,由ra客户端从tpm中获取相应度量对象的度量值。具体实现过程可以参考图2所示实施例中步骤220。

步骤330:发送度量报告,各网络设备中的ra客户端将获取到的相应度量对象度量值,生成度量报告发给发送挑战请求的ra服务器。

如本实施例中,网络设备1中的ra客户端将包括bios、hostos、osvirtualization、以及app的度量值的度量报告发送给ra服务器1,将包括第三方app1的度量值的度量报告发送给ra服务器2,将将包括第三方app2的度量值的度量报告发送给ra服务器n。

类似的,其他网络设备,如网络设备2和网络设备3,根据其中的度量对象的设置情况,将对应的度量对象的度量值发给发送挑战请求的ra服务器。

需要说明的是,在主动发送度量报告的情况下,各网络设备的ra客户端可以根据本地保存的各ra服务器与所述各ra服务器能够执行远程证明的度量对象之间的对应关系向对应的ra服务器发送度量报告。各网络设备的ra客户端可以根据一定策略,例如周期触发,或者特定时间触发,如根据网络管理者配置的策略事件,主动向对应的ra服务器发送度量报告。这样网络设备基于特定事件触发ra服务器进行度量对象的完整性证明,可以使得网络设备以及整个证明系统的完整性证明更加可靠和灵活。

步骤340:获取基线度量值;各ra服务器从各自的支持站点获取基线度量值。

需要说明的是,本实施例中,各ra服务器也可以到主ra服务器或者网管设备获取各度量对象的基线度量值。具体实现方式请参考上述步骤140和240。

步骤350:计算度量结果;各ra根据网络设备上报的度量报告中的度量对象的度量值计算度量结果。

具体实现过程请参考上述步骤250和150。需要说明的是,本实施例中有多个网络设备,相应的,各对应的ra服务器在收到每个网络设备的度量报告之后分别计算各网络设备的度量结果,然后分别将各网络设备的度量结果上报至主ra服务器。

步骤360:上送度量结果;具体实现过程请参考上述步骤260。需要说明的是,本实施例中有多个网络设备,相应的,各对应的ra服务器在收到每个网络设备的度量报告之后分别计算各网络设备的度量结果,然后分别将各网络设备的度量结果上报至主ra服务器。

步骤370:计算完整性。

本实施例中,主ra服务器计算完整性包括计算网络设备整机完整性从而执行网络设备整机完整性证明,以及计算包括多个网络设备的整网完整性,从而执行整网完整性证明。整机完整性证明请参考上述步骤270。

在整网完整性证明的场景下,如果主ra服务器根据各ra服务器发送的针对各网络设备中对应度量对象的度量结果都通过的情况下可以确认整网的完整性证明通过。如图3所示,如果网络设备1至n的整机完整性证明都通过了,则表明包括所述网络设备1至n的整个网络的整网完整性证明通过。

需要说明的是,同整机完整性一样,如果主ra服务器和各ra服务器支持时间同步机制,这样可以使得各部件的完整性计算结果为同一时间的状态,从而使得整机完整性证明更可靠。

上述整机完整性证明和整网完整性证明,可以在主ra服务器上统一呈现和管理。

第二种具体实施方式,即流量集中式实现方式下的远程证明方案包括如下步骤:

如图3所示,如前所述,在另一种实现方式下,由所述主ra服务器统一向各网络设备发送挑战请求,然后,接收各网络设备发送的度量报告,并将度量报告按照远程证明策略分发至相应的ra服务器计算度量结果,执行网络设备的完整性证明。与上述具体实现过程参考以下步骤325、步骤335和步骤345。

步骤310、步骤320以及步骤340的具体实现与上述第一种具体实施方式下的流量分布式实现方式下的处理相同。

步骤325:发送挑战请求;主ra服务器分别向各网络设备中的ra客户端发送挑战请求。

步骤335:发送度量报告;主ra服务器接收各网络设备发送的度量报告。

步骤345:分发度量报告;主ra服务器或网管设备将接收到的各网络设备发送的度量报告分发至对应的ra服务器计算度量结果。

主ra服务器统一向各网络设备发送挑战请求可以采用下列两种方式:

方式一:主ra服务器统一发送挑战请求,该挑战请求可以要求各网络设备发送该网络设备中的度量对象的度量值。然后,主ra服务器在收到各网络设备发送的度量报告之后,按照远程证明策略向对应的ra服务器分发所述度量报告,由所述各ra服务器针对各自收到的度量报告计算度量结果,并将计算结果上报所述主ra服务器执行整机和/或整网完整性证明。

方式二:所述主ra服务器也可以按照远程证明策略发送挑战请求要求各网络设备分次分别发送不同部分度量对象的度量值的度量报告,然后由所述主ra服务器分别发给对应的ra服务器计算度量结果,然后根据各ra服务器上报的度量结果执行整机和/或整网完整性证明。

上述两种实施方式下,不管是按照远程证明策略向不同的网络设备发送不同的挑战请求,还是发送统一挑战请求然后按照按照远程证明策略向不同的ra分发不同网络设备的度量报告;所述的远程证明策略都可以参考上述步骤315的详细描述,即可以根据不同场景选择不同的策略组合,以实现远程证明效率和可靠性最大化。

步骤350:计算度量结果;各ra根据网络设备上报的度量报告中的度量对象的度量值计算度量结果。

步骤360:上送度量结果。

步骤370:计算完整性。

以上步骤350-步骤370的具体实现,前述图2中步骤250、步骤260以及步骤270对应相似处理过程的详细描述,此处不再逐一赘述。

本实施例的远程证明方案中的开放性场景下考虑了负载分担因素,在主ra的管理以及主ra服务器和各ra服务器的协调配合下,能够可靠有效的执行大规模网络设备和高程度开放性的网络系统的完整性远程证明。

图4为本申请提供的一种开放式场景结合虚拟化场景的实施例,在该实施例中,厂商a提供提供底层硬件和基础设施软件,如bios、hostos、hypervisor,客户b提供vm1和vm2及其内部的os、app等,客户c提供vm3及其内部的os、app等。不同厂商使用各自的ra服务器进行远程证明。如ra服务器1负责厂商a的度量对象的完整性证明,ra服务器2负责客户b提供的vm1的度量对象的完整性证明;ra服务器n负责图客户c提供的vm2和vm3的度量对象的完整性证明。然后各ra服务器各自将对应的度量对象的完整性的证明结果上送至主ra服务器,本实施例中ra服务器1作为主服务器。可以理解的是作为主ra服务器的ra服务器1除了承担ra服务器执行网络设备整机软甲你完整性证明之外,还会执行该ra服务器1自己所负责的度量对象的完整性证明任务,如本实施例中执行bios、hostos、hypervisor等度量对象的完整性证明。可以理解的是,上述部件的归属关系以及与ra服务器的对应关系仅仅是示例性的,实际应用中可以是各种组合,本申请对此不做限制。

该实施例包括如下步骤:

步骤410:扩展度量值;在网络设备启动阶段,各部件将对应的度量对象的完整性度量值扩展至tpm芯片中。

具体实施方式中,在网络设备启动阶段,bios、hostos(可选)以及hypervisor的度量值分别被扩展至tpm芯片中存储,并且各度量对象的厂商标识也一起进行存储。具体实现过程可以参考上述图1所示实施例中的步骤110以及图2所示实施例中的步骤210以及图3所示实施例中步骤310;此处不再赘述。

步骤420:获取度量值;当ra客户端接收到ra服务器的完整性挑战请求时,获取tpm中保存的相应度量对象的完整性度量值。

与上述图2和3所示实施例中不同的是,本实施例中多个ra客户端,各vm具有自己的ra客户端,可以成为第一ra客户端。各ra服务器向网络设备发送挑战请求后,各第一ra客户端接收到对应的挑战请求后,分别向tpm芯片获取对应的度量对象的度量值。需要说明的是,在未完全虚拟化的实现中,各vm可能不支持单独的ra客户端实例,在这种情况下,同上述图2和3所示的实施例一样,由网络设备的主机ra客户端接收各ra服务器的挑战请求。

本实施例中,vm1中的ra客户端接收ra服务器1发送针对vm1的度量对象的挑战请求,vm2和vm3中的ra客户端接收ra服务器n发送针对vm2和vm3的度量对象的挑战请求,网络设备中的其他部件,如bios、hostos(可选)以及hypervisor对应的第二ra客户端,也可以成为主机客户端,接收ra服务器1发送的针对这些基础部件的挑战请求。

上述各ra客户端在收到对应的ra服务器的挑战请求之后,从tpm中获取相应度量对象的度量值。具体实现过程可以参考图2所示实施例中步骤120、步骤220以及步骤320。

步骤430:发送度量报告,网络设备的ra客户端将获取到的相应度量对象的度量报告给对应的ra服务器。

如上所述,主机的ra客户端和各vm的ra客户端按照发送挑战请求的ra服务器的要求,发送相应度量对象的度量报告给对应的ra服务器。具体实现过程参考步骤130、步骤230以及步骤330。

步骤440-步骤470的具体实现,前述图1至图3中对应处理相似过程的详细描述,此处不再逐一赘述。

如上所述,随着业务上的开放性和虚拟化的场景应用越来越普遍化,导致不同部件由不同厂商提供,其完整性很难被相互证明的问题越来越突出,如果相互证明又会存在信息扩散、客户不信任以及增大合作难度的风险。本实施例提供的远程证明方案结合开放性场景与了虚拟化的场景,在主ra的管理以及主ra服务器和各ra服务器的协调配合下,能够可靠有效的执行虚拟化场景下导致的大规模和高开放程度的网络系统的完整性远程证明。并且,还能提供客户、设备提供商、部件提供商之间的互信和信息安全问题。

可以理解的是,通过阅读本申请全文各实施例,图4所示的虚拟化场景可以使用在上述图3所示的实施例中,也可以使用下述图5所示的场景中,即将开放性、虚拟化以及负载分担三种场景同时应用在一个实施方案中。

如前所述,为了业务需要,企业可能大量部署多台网络设备,为了保证整网设备的完整性,需要证明所有或部分设备的度量对象的完整性,单台ra服务器可能出现性能瓶颈或节点故障,需要多台ra服务器分布式计算。图5提供的这样一种远程证明系统实施例。

图5以该网络中多台网络设备的各度量对象都属于同一厂商为例,说明在这种大规模网络场景下如何进行分布式远程证明。可以理解,在所述各网络设备中的度量对象属于不同的厂商,从而需要由不同的ra服务器分别对该网络设备进行整机完整性证明的情况下,这种开放性场景的具体处理过程可以参考上述图2和图3所示的实施例中的处理过程。

如图5所示,该远程证明系统包括多个ra服务器,如ra服务器0至ra服务器m一共有m+1台ra服务器,n台网络设备以及支持站点。m为大于2的正整数,n大于或等于m。本实施例中,ra服务器0作为主ra服务器,需要说明的是,在另外的实施方式中,网管设备也可以承担主ra服务器的功能。其他ra服务器各自负责部分网络设备的完整性证明任务。主ra服务器或者网管设备与支持的站点连接,从支持的站点下载基线度量值。m台ra服务器与所述主ra服务器或者网管设备连接通信从主ra服务器或网管设备下发的度量任务并获取基线度量值。此外,m台ra服务器与n台网络设备连接,对各自负责的网络设备的完整性进行远程证明。为了便于理解,图5中将网络设备1和网络设备2由ra服务器1负责执行网络设备整机完整性远程证明,网络设备3和网络设备4有ra服务器2执行网络设备整机完整性远程证明,网络设备n由ra服务器m执行网络设备整机完整性远程证明。其中,网络设备1和网络设备2构成第一网络设备集合,网络设备3和网络设备4构成第二网络设备集合,网络设备n构成第n网络设备集合。可以理解的是,每个网络设备集合中可以包括更多的网络设备,以上划分仅是一种示例,实际应用中可以根据远程证明策略确定哪些ra服务器负责对哪些网络设备的整机完整性执行完整性远程证明。

如图5所示的系统架构,根据发送挑战请求和接受度量报告为流量集中式还是分布式方式,本实施例提供了两种具体实施方式:

第一种具体实施方式:流量分布式实现方式,由所述主ra服务器根据远程证明策略向各ra服务器下发度量任务,由各ra服务器根据所述的度量任务分别向对应的网络设备发送挑战请求,并分别接收各网络设备发送的度量报告。

第二种具体实施方式:流量集中式实现方式,由所述主ra服务器统一向各网络设备发送挑战请求,然后,接收各网络设备发送的度量报告,并将度量报告分发至相应的ra服务器计算度量结果,执行网络设备的完整性证明。

以下分别介绍上述两种具体实施方式下各设备之间的如何交互流程以完成网络设备的整机完整性证明以及整个网络的整网完整性证明。

第一种具体实施方式,即流量分布式实现方式下的远程证明方案包括如下步骤:

步骤510:扩展度量值。

各网络设备获取该网络设备中的度量对象的度量值,具体实现过程根据该网络设备部署的度量对象的情况而定。具体的获取方式可以参考前述实施例中的步骤110、步骤210.步骤310、以及410。

步骤515:下发度量任务。

在流量分布式实现方式下,由主ra服务器或者网管设备向各ra服务器发送度量任务,指示各ra服务器根据度量任务向各自负责的网络设备中的度量对象发送挑战请求。

具体实现方式中,ra服务器0作为主ra服务器向各ra服务器发送度量任务,所述度量任务中包括远程证明策略,指示各ra服务器根据所述远程证明策略向各自负责的网络设备中相应的度量对象发送挑战请求。

所述远程证明策略包括至少下述选项之一:

1、指示所述各ra服务器在特定时候发送完整性挑战请求;

2、指示所述各ra服务器根据所述各ra服务器与所述各ra服务器能够执行远程证明的度量对象之间的对应关系发送完整性挑战请求;(该策略应用于开放性场景和负载分担场景结合使用的方案)

3、指示所述各ra服务器根据所述各ra服务器度量的设备范围发送完整性挑战请求;

4、指示所述所述各ra服务器根据所述各ra服务器度量的度量对象范围发送完整性挑战请求;或

5、指示所述各ra服务器根据所述各ra服务器的动态资源使用情况或可用情况发送完整性挑战请求。

下面以两种场景说明如何使用该远程证明策略。

在第一种场景下,假设所述度量任务中的远程证明策略包括上述第1和3项,则各ra服务器根据该远程证明策略中指定的时间或者时序关系在特定时间向指定范围的网络设备或网络设备中的度量对象发送挑战请求。

一个具体的例子中,如图5所示,通过指示ra服务器1在特定时间,或按照一定的周期向网络设备1和网络设备2发送挑战请求,ra服务器2在该特定时间向网络设备3和网络设备4发送挑战请求,ra服务器m在该特定时间向网络设备n发送挑战请求,各ra服务器分别对对应的网络设备的度量对象进行整机完整性证明,从而完成特定设备范围的完整性证明,而且通过多个ra服务器分布式计算多个网络设备的度量结果,特别是该特定网络设备的度量任务比较中的情况下,从而缓解了有一个ra服务器计算多个网络设备的度量结果的资源限制,克服了资源瓶颈问题。

第二种场景下,假设所述度量任务中的远程证明策略包括上述第1和5项,则各ra服务器根据根据其自身资源使用或者可用情况并按照该远程证明策略中指定的时间或者时序规则在特定时间向该远程证明系统中的网络设备发送挑战请求。

一个具体的例子中,如图5中,如果ra服务器1当前可用资源非常紧张,则通告主ra服务器,安排其他ra服务器负责网络设备1和网络设备2的度量对象的完整性远程证明,从而可以提高整个系统的资源负载分担能力以及远程证明效率。

应当理解,实际应用中,可以根据不同场景选择不同的策略组合,以实现远程证明效率和可靠性最大化。

步骤520:获取度量值。

当各网络设备中的ra客户端接收到ra服务器的完整性挑战请求时,获取tpm中保存的相应度量对象的完整性度量值。本实施方式中,当收到对应ra服务器发送的挑战请求后,网络设备获取该网络设备中全部或部分度量对象的度量值。具体实现过程请参考前述实施例中的步骤120、步骤220、步骤320以及步骤420对应相似部分的处理。

步骤530:发送度量报告。

如上所述,在流量分布式实现方式下,由主ra服务器或者网管设备向各ra服务器发送度量任务,指示各ra服务器根据度量任务向各自负责的网络设备中的度量对象发送挑战请求,然后各网络设备向发送挑战的ra服务器发送度量报告。具体过程可以参考前述实施例中的步骤130、步骤230、步骤330、步骤430、以及步骤530对对应相似部分的处理。

步骤540:下载基线度量值,具体实现请参考前述实施例中步骤240、步骤340、以及步骤440对应相似部分的处理。

步骤545:分发基线度量值,主ra服务器或者网管设备从支持站点获取到各网络设备中度量对象的基线度量值之后将所述各网络设备中的度量对象的基线度量值分发给各ra服务器中的每个ra服务器。也可以将不同网络设备中的度量对象的基线度量值发给不同的ra服务器,具体如何分发与各ra服务器负责哪些网络设备的完整性远程证明有关。也就是说,主ra服务器或网管设备可以按照下述步骤515中分发度量任务的方式将不同网络设备中的度量对象的基线度量值发给不同的ra服务器。可以理解的是,步骤545中的度量对象的基线度量值可以携带在下述步骤515中的度量任务中一起分发。

步骤550:计算度量结果,各ra服务器执行网络设备整机完整性远程证明。

步骤560:上送度量结果,各ra服务器向主ra服务器或网管设备上送各网络设备整机完整性远程证明的证明结果。

步骤570:计算整网完整性,主ra设备或网管设备执行整网完整性远程证明。

以上步骤550-步骤570的具体实现,前述图2至图4中对应相似处理过程的详细描述,此处不再逐一赘述。

第二种具体实施方式,即流量集中式实现方式下的远程证明方案包括如下步骤:

步骤540和步骤545,具体实现与上述第一种具体实施方式下的流量分布式实现方式下的处理相同。需要说明的是,在另外实现方式中,可以将步骤545分发基线度量值可以与下面步骤335分发度量报告合并一起发给各ra服务器。

步骤510和步骤520,具体实现与上述第一种具体实施方式下的流量分布式实现方式下的处理相同。

步骤525:发送挑战请求;主ra服务器或网管设备分别向各网络设备中的ra客户端发送挑战请求。

步骤535:发送度量报告;各网络设备向主ra服务器或网管设备发送各网络设备的度量报告。

步骤555:分发度量报告;主ra服务器或网管设备将接收到的各网络设备发送的度量报告分发至对应的ra服务器计算度量结果。

主ra服务器统一向各网络设备发送挑战请求可以采用下列两种方式:

方式一:主ra服务器统一发送挑战请求,该挑战请求可以要求各网络设备集中发送该网络设备中的度量对象的度量值。然后,主ra服务器在收到各网络设备发送的度量报告之后,按照远程证明策略向对应的ra服务器分发所述度量报告,由所述各ra服务器针对各自收到的度量报告计算度量结果,并将计算结果上报所述主ra服务器执行整机和/或整网完整性证明。

方式二:所述主ra服务器也可以按照远程证明策略发送挑战请求要求各网络设备分次分别发送不同部分度量对象的度量值的度量报告,然后由所述主ra服务器分别发给对应的ra服务器计算度量结果,然后根据各ra服务器上报的度量结果执行整机和/或整网完整性证明。

可以理解,以上两种方式仅仅是示例性说明,本申请并不限于这两种方式。

上述两种方式下,不管是按照远程证明策略向不同的网络设备发送不同的挑战请求,还是发送统一挑战请求然后按照按照远程证明策略向不同的ra分发不同网络设备的度量报告;所述的远程证明策略都可以参考上述步骤515以及图3所示实施中的步骤315的详细描述,即可以根据不同场景选择不同的策略组合,以实现远程证明效率和可靠性最大化。

步骤550:计算度量结果;各ra服务器执行各网络设备整机完整性远程证明。

步骤560:上送度量结果;各ra服务器向主ra服务器或网管设备上送各网络设备整机完整性远程证明的证明结果。

步骤570:计算整网完整性,主ra服务器或网管设备执行整网完整性远程证明。

以上步骤550-步骤570的具体实现,前述图2至图4中对应相似处理过程的详细描述,此处不再逐一赘述。

图5所示的实施例提供的远程证明系统,通过部署多台ra服务器分布式计算,在主ra服务器和其它各ra服务器共同工作下,满足了企业大规模大量部署多台网络设备,从而造成整网完整性无法可靠证明的问题,克服了单台ra服务器可能出现性能瓶颈或节点故障。

如前所述,随着多种运行时度量技术的发展,如:完整性度量框架ima(integritymeasurementarchitecture),ra服务器既要度量启动时的完整性,又要度量运行时文件的完整性,单台ra服务器可能无法满足大量的度量需求,需要分布式部署进行负载分担。图6提供的这样一种远程证明系统实施例。

图6以该网络中多台网络设备的各度量对象都属于同一厂商为例,说明在有多种度量需求时,多台ra服务器进行不同的分工和负载分担场景下如何进行分布式远程证明。可以理解,在所述各网络设备中的度量对象属于不同的厂商,从而需要由不同的ra服务器分别对该网络设备进行整机完整性证明的情况下,这种开放性场景的具体处理过程可以参考上述图2和图3所示的实施例中的处理过程。

如图6所示,该远程证明系统包括多个ra服务器,如ra服务器0至ra服务器m一共有m+1台ra服务器,n台网络设备以及支持站点。m为大于2的正整数,n大于或等于m。本实施例中,ra服务器0作为主ra服务器,需要说明的是,在另外的实施方式中,网管设备也可以承担主ra服务器的功能。

其他ra服务器各自负责部分网络设备的完整性证明任务。例如ra服务器1负责各网络设备上度量对象1的完整性远程证明,ra服务器2负责各网络设备上度量对象1的完整性远程证明;其中,度量对象1为网络设备启动过程中涉及的各级软件,如前述实施例中的bios,os,或app等;度量对象2为网络设备运行过程中需要保护的各类文件,如系统文件以及重要性比较高的文件。如前所述,如果该第三方app的是在网络设备启动之后加载的并且为热启动方式,则该第三方app的完整性度量值可以认为是网络设备运行过程中被扩展至tpm芯片中存储。该第三方app也属于度量对象2。

主ra服务器或者网管设备与支持的站点连接,从支持的站点下载基线度量值。m台ra服务器与所述主ra服务器或者网管设备连接通信从主ra服务器或网管设备下发的度量任务并获取基线度量值。此外,m台ra服务器与n台网络设备连接,对各自负责的网络设备的度量对象的完整性进行远程证明。可以理解的是,以上划分仅是一种示例,实际应用中可以根据远程证明策略确定哪些ra服务器负责对哪些网络设备的整机完整性执行完整性远程证明。

如图5所示的系统架构,由所述主ra服务器根据远程证明策略向各ra服务器下发度量任务,由各ra服务器根据所述的度量任务分别向对应的网络设备发送挑战请求,并分别接收各网络设备发送的度量报告。即类似于同3和图5中的流量分布式实现方式(按照发送挑战请求和接受度量报告为流量集中式还是分布式方式划分)。可以理解的是,在另外的实施方式中,也可以采用如图3和5所示实施例中的流量集中式实现方式,即由所述主ra服务器统一向各网络设备发送挑战请求,然后,接收各网络设备发送的度量报告,并将度量报告分发至相应的ra服务器计算度量结果,执行网络设备的完整性证明。这种方式的具体实现过程请参考图3或5所示实施例中关于流量集中式实现方式过程的详细描述。

以下详细描述流量分布式实现方式下各设备之间的如何交互流程以完成网络设备的整机完整性证明以及整个网络的整网完整性证明,该实施方式具体包括如下步骤:

步骤610:扩展度量值。

各网络设备获取该网络设备中的度量对象的度量值,具体实现过程根据该网络设备部署的度量对象的情况而定。具体的获取方式可以参考前述实施例中的步骤110、步骤210.步骤310、以及410。需要注意的是,本实施例中,除了需要扩展网络设备启动过程中的度量对象的度量值之外,还需要扩展网络设备运行过程中的度量对象的度量值至tpm中。

步骤615:下发度量任务。

由主ra服务器或者网管设备向各ra服务器发送度量任务,指示各ra服务器根据度量任务向各自负责的网络设备中的度量对象发送挑战请求。

具体实现方式中,ra服务器0作为主ra服务器向各ra服务器发送度量任务,所述度量任务中包括远程证明策略,指示各ra服务器根据所述远程证明策略向各自负责的网络设备中相应的度量对象发送挑战请求。

所述远程证明策略包括至少下述选项之一:

1、指示所述各ra服务器在特定时候发送完整性挑战请求;

2、指示所述各ra服务器根据所述各ra服务器与所述各ra服务器能够执行远程证明的度量对象之间的对应关系发送完整性挑战请求;(如本实施例中ra服务器1与度量对象1的关系以及ra服务器2与度量对象2的关系)

3、指示所述各ra服务器根据所述各ra服务器度量的设备范围发送完整性挑战请求;

4、指示所述所述各ra服务器根据所述各ra服务器度量的度量对象范围发送完整性挑战请求;或

5、指示所述各ra服务器根据所述各ra服务器的动态资源使用情况或可用情况发送完整性挑战请求。

下面以两种场景说明如何使用该远程证明策略。

在第一种场景下,假设所述度量任务中的远程证明策略包括上述第1和3项,则各ra服务器根据该远程证明策略中指定的时间或者时序规则在特定时间向指定范围的网络设备发送挑战请求。

一个具体的例子中,如图6所示,通过指示ra服务器1在特定时间,或按照一定的周期向网络设备1、网络设备2以及网络设备n发送挑战请求,ra服务器2在该特定时间向网络设备1、网络设备2以及网络设备n发送挑战请求,各ra服务器分别对对应的网络设备的对应度量对象进行度量对象的完整性证明,从而完成特定设备范围的完整性证明,而且通过多个ra服务器分布式计算多个网络设备的对应度量对象的度量结果,特别是这些特定网络设备的度量任务比较中的情况下,从而缓解了有一个ra服务器计算多个网络设备的度量结果的资源限制,克服了资源瓶颈问题。

第二种场景下,假设所述度量任务中的远程证明策略包括上述第1和5项,则各ra服务器根据根据其自身资源使用或者可用情况并按照该远程证明策略中指定的时间或者时序规则在特定时间向该远程证明系统中的网络设备发送挑战请求。

一个具体的例子中,如图5中,如果ra服务器1当前可用资源非常紧张,则通告主ra服务器,告知其只能负责部分网络设备中的对量对象1的完整性远程证明,超出数量范围的网络设备中的对量对象1的完整性远程证明则需要安排其他ra服务器执行超出数量范围的网络设备中的度量对象1的完整性远程证明,从而可以提高整个系统的资源负载分担能力以及远程证明效率。

应当理解,实际应用中,可以根据不同场景选择不同的策略组合,以实现远程证明效率和可靠性最大化。

步骤620:获取度量值。

当各网络设备中的ra客户端接收到ra服务器的完整性挑战请求时,获取tpm中保存的相应度量对象的完整性度量值。本实施方式中,当各网络设备收到对应ra服务器1发送的挑战请求后,网络设备获取该网络设备中度量对象1的度量值。当各网络设备收到对应ra服务器2发送的挑战请求后,网络设备获取该网络设备中度量对象2的度量值。具体实现过程请参考前述实施例中的步骤120、步骤220、步骤320、步骤420以及步骤520对应相似部分的处理。

步骤630:发送度量报告。

如上所述,在流量分布式实现方式下,由主ra服务器或者网管设备向各ra服务器发送度量任务,指示各ra服务器根据度量任务向各自负责的网络设备中的对应的度量对象发送挑战请求,然后各网络设备向发送挑战的ra服务器发送度量报告。本实施例中,ra服务器1根据度量任务向各自网络设备中的度量对象1发送挑战请求。ra服务器2根据度量任务向各自网络设备中的度量对象2发送挑战请求。各网络设设备向ra服务器1发送的度量报告中携带该网络设备中度量对象1的度量值,向网络设设备向ra服务器2发送的度量报告中携带该网络设备中度量对象2的度量值。

具体过程可以参考前述实施例中的步骤130、步骤230、步骤330、步骤430、以及步骤530对应相似部分的处理。

步骤640:下载基线度量值,具体实现请参考前述实施例中步骤240、步骤340、步骤440、以及步骤540对应相似部分的处理。

步骤645:分发基线度量值,主ra服务器或者网管设备从支持站点获取到各网络设备中度量对象的基线度量值之后将所述各网络设备中的度量对象1的基线度量值分发给各ra服务器1,以及将所述各网络设备中的度量对象2的基线度量值分发给各ra服务器2。可以理解的是,在另外的实施方式下,所述主ra服务器也可以将所述各网络设备中的度量对象的基线度量值分发给各ra服务器中的每个ra服务器。具体如何分发与各ra服务器负责哪些网络设备中的哪些度量对象的完整性远程证明有关。也就是说,主ra服务器或网管设备可以按照下述步骤615中分发度量任务的方式将不同网络设备中的度量对象的基线度量值发给不同的ra服务器。可以理解的是,步骤645中的度量对象的基线度量值可以携带在下述步骤615中的度量任务中一起分发。

步骤650:计算度量结果,各ra服务器执行网络设备中对应的度量对象的完整性远程证明。本实施例中,ra服务器1执行各网络设备中度量对象1的完整性远程证明,ra服务器2执行各网络设备中度量对象2的完整性远程证明。

步骤660:上送度量结果,主ra服务器1将各网络设备中度量对象1的完整性远程证明的证明结果上送至主ra服务器或网管设备,ra服务器2将各网络设备中度量对象2的完整性远程证明的证明结果上送至主ra服务器或网管设备。

步骤670:计算整网完整性,主ra服务器或网管设备执行各网络设备整机的完整性证明和/或者执行整网完整性远程证明。

以上步骤650-步骤670的具体实现,前述图2至图5中对应相似处理过程的详细描述,此处不再逐一赘述。

图6实施例中提供的远程证明系统,通过多台raserver分布式部署进行负载分担,既可以度量启动时的软件完整性,又可以度量运行时文件的完整性,满足了网络设备运行过程中大量的文件的完整性证明需求,以及多种度量需求并存的需要,并提供了可靠的完整性证明。

参见图7,为本申请实施例提供了一种远程证明系统中的网络设备700。该网络设备700为所述至少一个网络设备中的一个网络设备。如果该远程证明系统存在多个网络设备的场景下,该多个网络设备同该网络设备700具有相同的功能。该网络设备可以为路由设备、交换机设备、防火墙、或者通信网络中其他设备。图7所示的网络设备700可以应用于以下两种实施场景下,在第一种实时场景下,该网络设备700主要为上述图1-4以及图6所示实施例中的网络设备时,该场景中的所述远程证明系统包括多个ra服务器以及至少一个所述网络设备;该网络设备700包括如下模块:

获取模块710,用于获取所述网络设备中的多个度量对象的完整性度量值;该获取度量值的具体实现过程可以参考上述图1-4以及至图6所示实施例中步骤120、步骤220、以及步骤320、步骤420、以及步骤620中的详细描述,这里不再赘述。

发送模块720,用于将所述多个度量对象的完整性度量值中不同的度量对象的完整性度量值分别发送至所述多个ra服务器中的至少两个ra服务器,以便所述至少两个ra服务器分别对所述网络设备中的不同的度量对象的完整性执行远程证明。该发送度量值的具体实现过程可以参考上述图1-4以及至图6所示实施例中步骤130、步骤230、以及步骤330、步骤430、以及步骤630中的详细描述,这里不再赘述。

可选的,所述网络设备还包括接收模块730,用于接收完整性挑战请求。接收完整性挑战的具体实现过程可以参考上述图1-4以及至图6所示实施例中步骤120、步骤220、以及步骤320、步骤325、步骤420、以及步骤620中的详细描述,这里不再赘述。

可选的,所述网络设备还包括鉴权模块740,用于对发送所述完整性挑战请求的发送方执行认证鉴权,并在鉴权通过后通知所述获取模块获取所述网络设备中的多个度量对象的完整性度量值。所述鉴权模块740的具体实现过程可以参考上述图1-4以及至图6所示实施例中步骤120、步骤220、以及步骤320、步骤420、以及步骤620中的详细描述,这里不再赘述。

需要说明的是,在具体的实施方式中,上述获取模块710、发送模块720,接收模块730,以及鉴权模块740设置在该网络设备700的ra客户端中,该网络设备700还包括可信平台模块tpm芯片,用于存储该网络设备700中的各度量对象的完整性度量值。所述获取模块710从所述tpm芯片中获取各度量对象的完整性度量值。

在一个具体例子中,所述的网络设备700中的度量对象包括bios、os、一个或多个app、以及一个或多个文件,其中所述一个或多个文件是在所述网络设备运行过程中被存储至所述tpm芯片。

在另一个具体实施例中,所述网络设备700中的ra客户端包括第一ra客户端和第二ra客户端,所述第一ra客户端和第二ra客户端中设置有前述上述获取模块710、发送模块720,接收模块730,以及鉴权模块740。所述网络设备700中的度量对象包括bios、os、一个或多个app、一个或多个文件、以及一个或多个vm,其中所述一个或多个文件是在所述网络设备运行过程中被存储至所述tpm芯片;所述一个或多个vm中的每个vm包括一个所述第一ra客户端。

该网路设备700的中各模块的详细处理过程,请参考图1-4以及图6所示实施例中对应各步骤的详细描述,这里不再逐一赘述。

在图7所示的网络设备700所应用的第二种实施场景下,该网络设备700主要为上述图5所示实施例中的网络设备,所述获取模块710,用于获取所述网络设备中的度量对象的完整性度量值,所述发送模块720用于将所述度量对象的完整性度量值发送至所述多个ra服务器中的至少一个ra服务器,以便所述至少一个ra服务器对所述网络设备中的度量对象的完整性执行远程证明,所述接收模块730,用于接收所述多个第一ra服务器中的一个或多个第一ra服务器发送的完整性挑战请求,所述鉴权模块740用于对发送所述完整性挑战请求的发送方执行认证鉴权,并在鉴权通过后通知所述获取模块获取所述网络设备中的度量对象的完整性度量值。上述各处理的具体实现过程可以参考上述图1-2以及至图5所示实施例对应步骤的详细描述,这里不再赘述。

该网路设备700的中各模块的详细处理过程,请参考图5所示实施例中对应各步骤的详细描述,这里不再逐一赘述。可以理解的是,该实施场景中的网络设备700可以应用在图6所示的实施例中的各网络设备中,可以处理网络设备运行过程中度量对象的完整性证明。具体实现过程,请参考图6所示实施例中各步骤的详细描述。

参见图8,为本申请实施例提供了一种远程证明系统中的ra服务器800。图8所示的ra服务器800可以应用于两种实施场景。第一种实施场景下,该ra服务器800为上述图1-4以及图6所示实施例中的第一ra服务器,如图1-4以及图6所示,该ra服务器800应用的远程系统包括多个ra服务器以及至少一个网络设备,所述至少一个网络设备中的每个网络设备包括多个度量对象,所述ra服务器为所述多个ra服务器中的一个ra服务器,所述多个ra服务器中还包括一个主ra服务器。该ra服务器800包括如下模块:

获取模块810,用于获取所述第一网络设备中的部分度量对象的完整性度量值,所述第一网络设备为所述至少一个网络设备中的一个网络设备;该获取所述第一网络设备中的部分度量对象的完整性度量值的具体实现过程可以参考上述图1-4以及至图6所示实施例中步骤130、步骤230、以及步骤330、335、步骤430、以及步骤630中的详细描述,这里不再赘述。

证明模块820,用于根据所述第一网络设备中的部分度量对象的完整性度量值,对所述第一网络设备中的部分度量对象的完整性执行远程证明。该完整性证明的具体实现过程可以参考上述图1-4以及至图6所示实施例中步骤150、步骤250、以及步骤350、步骤450、以及步骤650中的详细描述,这里不再赘述。

可选的,该ra服务器800还包括发送模块830,用于所述第一网络设备发送完整性挑战请求;具体实现过程可以参考上述图1-4以及至图6所示实施例中步骤120、步骤220、以及步骤320、步骤325、步骤420、以及步骤620中的详细描述,这里不再赘述。

可选的,该发送模块830进一步还可以用于将对所述第一网络设备中的部分度量对象的完整性执行远程证明的证明结果发送至第二ra服务器或网管设备,由所述第二ra服务器或网管设备对所述第一网络设备的整机完整性执行远程证明,所述第二ra服务器为所述多个ra服务器中的主ra服务器;具体实现过程可以参考上述图2-4以及至图6所示实施例中步骤260、步骤360、步骤460、以及步骤660中的详细描述,这里不再赘述。

可选的,所述获取模块810进一步用于获取所述主ra服务器或所述网管设备发送的度量任务,所述度量任务中包括远程证明策略,具体实现过程可以参考上述图3以及至图6所示实施例中步骤315以及步骤615中的详细描述,这里不再赘述。

可选的,所述获取模块810具体用于从主ra服务器或网管设备按照远程证明策略发送的第一网络设备中的部分度量对象的完整性度量值;具体实现过程可以参考上述图3所示实施例中步骤345中的详细描述,这里不再赘述。

可选的,所述获取模块810进一步用于获取所述各网络设备中的度量对象的完整性基线度量值;具体实现过程可以参考上述图1-4以及至图6所示实施例中步骤140、步骤240、以及步骤340、步骤440、以及步骤640中的详细描述,这里不再赘述。

可选的,所述获取模块810进一步用于接收所述多个ra服务器中的其他ra服务器分别发送的对所述第一网络设备中的部分度量对象的完整性执行远程证明的证明结果;所述证明模块820进一步用于根据所述证明结果对所述第一网络设备执行整机完整性的远程证明。或者,所述获取模块810进一步用于接收所述多个ra服务器中的其他ra服务器发送的对所述至少一个网络设备中的其他网络设备中的部分度量对象的完整性执行远程证明的证明结果;所述证明模块820进一步用于根据所述证明结果执行整网完整性的远程证明。证明过程的具体实现过程可以参考上述图2所示实施例中步骤270中的详细描述,以及图3、4、和6中的步骤370、步骤470以及步骤670、这里不再赘述。

可选的,所述ra服务器800中还可以进一步包括管理呈现模块(图8中未示出),用于管理和呈现上述证明结果。具体实现参见图2所示实施例中的对应部分,如步骤250的描述。

该ra服务器800的中各模块的详细处理过程,请参考图1-4以及图6所示实施例中对应各步骤的详细描述,这里不再逐一赘述。

在图8所示的ra服务器800所应用的第二种实施场景下,该ra服务器800主要为上述图5所示实施例中的第一ra服务器,如图5所示,该ra服务器800应用的远程系统包括多个ra服务器以及多个网络设备,所述ra服务器为所述多个ra服务器中的第一ra服务器,所述ra服务器800包括的上述获取模块810、证明模块820、以及发送模块830分别做如下处理:

获取模块810,用于获取第一网络设备集合中的各网络设备中的度量对象的完整性度量值,所述第一网络设备集合包括至少一个网络设备;该第一网络设备集合中的各网络设备中的度量对象的完整性度量值的具体实现过程可以参考上述图5所示实施例中步骤530以及535中的详细描述,这里不再赘述。

证明模块820,用于根据所述第一网络设备集合中各网络设备中的度量对象的完整性度量值,对所述第一网络设备集合中各网络设备中的度量对象的完整性执行远程证明;该证明的具体实现过程可以参考上述图5所示实施例中步骤550中的详细描述,这里不再赘述。

可选的,所述获取模块810具体用于从主ra服务器或网管设备按照远程证明策略发送的第一网络设备集合中的各网络设备中的度量对象的完整性度量值,该证明的具体实现过程可以参考上述图5所示实施例中步骤555中的详细描述,这里不再赘述。

可选的,所述ra服务器800还包括发送模块830,用于将对所述第一网络设备集合中各网络设备中的度量对象的完整性执行远程证明的证明结果发送至所述第二ra服务器或网管设备,以便所述第二ra服务器或网管设备对整网完整性的执行远程证明,所述第二ra服务器为所述多个ra服务器中的主ra服务器。具体实现过程可以参考上述图5所示实施例中步骤560中的详细描述,这里不再赘述。

可选的,所述获取模块810进一步用于接收所述主ra服务器或所述网管设备发送的度量任务,所述度量任务中包括远程证明策略;所述发送模块具体用于根据所述远程证明策略向所述第一网络设备集合中各网络设备发送完整性挑战请求;具体实现过程可以参考上述图5所示实施例中步骤515中的详细描述,这里不再赘述。

可选的,所述获取模块810进一步用于获取所述第一网络设备集合中各网络设备中的度量对象的完整性基线度量值;具体实现过程可以参考上述图5所示实施例中步骤540中的详细描述,这里不再赘述。

可选的,所述ra服务器800中还可以进一步包括管理呈现模块(图8中未示出),用于管理和呈现上述证明结果。具体实现参见图2所示实施例中的对应部分,如步骤250的描述。

该ra服务器800的中各模块的详细处理过程,请参考图5所示实施例中对应各步骤的详细描述,这里不再逐一赘述。

可以理解的是,该实施场景中的ra服务器800可以应用在图6所示的实施例中的各ra服务器种,可以处理网络设备运行过程中度量对象的完整性证明。具体实现过程,请参考图6所示实施例中各步骤的详细描述。

参见图9,为本申请实施例提供了一种远程证明系统中的ra服务器900。图9所示的ra服务器900可以应用于以下两种实施场景中,在第一种实施场景中,该ra服务器900为上述图1-4以及图6所示实施例中的主ra服务器,如图1-4以及图6所示,该ra服务器900应用的远程系统包括多个ra服务器以及至少一个网络设备,所述至少一个网络设备中的每个网络设备包括多个度量对象,所述多个ra服务器包括多个第一ra服务器和一个第二ra服务器,所述ra服务器900主ra服务器,所述ra服务器900包括如下模块:

获取模块910,用于获取多个第一ra服务器分别发送的各第一ra服务器对第一网络设备中的部分度量对象的完整性执行远程证明的证明结果,所述第一网络设备为所述至少一个网络设备中的一个网络设备;具体实现过程可以参考上述图2-4以及至图6所示实施例中步骤260、步骤360、步骤460、以及步骤660中的详细描述,这里不再赘述。

证明模块920,用于根据所述证明结果对所述第一网络设备中的多个度量对象执行整机完整性的远程证明;证明过程的具体实现过程可以参考上述图2所示实施例中步骤270中的详细描述,以及图3、4、和6中的步骤370、步骤470以及步骤670、这里不再赘述。

可选的,所述获取模块910进一步用于获取所述第一网络设备中的多个度量对象的完整性基线度量值;所述ra服务器还包括发送模块930,,用于分别向所述各第一ra服务器发送所述第一网络设备中的多个度量对象的完整性基线度量值,或者分别向所述各第一ra服务器发送所述第一网络设备中的部分度量对象的完整性基线度量值。具体实现过程可以参考上述图1-4以及至图6所示实施例中步骤140、步骤240、以及步骤340、步骤440、以及步骤640中的详细描述,这里不再赘述。

可选的,所述获取模块910进一步用于接收多个第一ra服务器分别发送的各第一ra服务器对所述多个网络设备中的其他网络设备中的部分度量对象的完整性执行远程证明的证明结果;具体实现过程可以参考上述图2-4以及至图6所示实施例中步骤260、步骤360、步骤460、以及步骤660中的详细描述,这里不再赘述。相应的,所述证明模块920进一步用于根据所述证明结果对所述多个网络设备执行整网完整性的远程证明。证明过程的具体实现过程可以参考上述图2所示实施例中步骤270中的详细描述,以及图3、4、和6中的步骤370、步骤470以及步骤670、这里不再赘述。

可选的,所述发送模块930进一步用于分别向所述各第一ra服务器发送度量任务;所述度量任务包括远程证明策略,指示所述各第一ra服务器根据所述远程证明策略向所述多个网络设备中对应的网络设备发送完整性挑战请求;具体实现过程可以参考上述图3所示实施例中步骤315中的详细描述,这里不再赘述。

可选的,所述获取模块910进一步用于接收所述多个网络设备中各网络设备发送的的所述各网络设备中的多个度量对象的完整性度量值;具体实现过程可以参考上述图3所示实施例中步骤335中的详细描述,这里不再赘述。相应的,所述发送模块930进一步用于根据远程证明策略将所述各网络设备中的多个度量对象的完整性度量值分别发给所述多个第一ra服务器中的部分或全部第一ra服务器,指示所述多个第一ra服务器中的部分或全部第一ra服务器对对应的网络设备中的多个度量对象中的部分度量对象的完整性执行远程证明;具体实现过程可以参考上述图3所示实施例中步骤345中的详细描述,这里不再赘述。

可选的,所述ra服务器900进一步包括管理呈现模块940,所述管理呈现模块用于管理和呈现所述远程证明的结果。具体实现参见图2所示实施例中的对应部分,如步骤250的描述。

可选的,所述获取模块910进一步用于获取所述第一网络设备中的部分度量对象的完整性度量值;具体实现过程可以参考上述图2所示实施例中步骤260中的详细描述,这里不再赘述。相应的,所述证明模块940进一步用于根据所述第一网络设备中的部分度量对象的完整性度量值,对所述第一网络设备中的部分度量对象的完整性执行远程证明。具体实现过程可以参考上述图2所示实施例中步骤270中的详细描述,这里不再赘述。

在图9所示的ra服务器900所应用的第二种实施场景中,该ra服务器900主要为上述图5所示实施例中的主ra服务器,如图5所示,该ra服务器900应用的远程系统包括多个ra服务器以及多个网络设备,所述多个ra服务器包括多个第一ra服务器和一个第二ra服务器,所述ra服务器900为所述第二ra服务器,所述第二ra服务器为主ra服务器,所述ra服务器900的上述获取模块910、证明模块920、以及发送模块930分别做如下处理:

获取模块910,用于获取多个第一ra服务器中的部分或全部第一ra服务器分别发送的各第一ra服务器对对应的网络设备中的度量对象的完整性执行远程证明的证明结果;具体实现过程可以参考上述图5所示实施例中步骤560中的详细描述,这里不再赘述。相应的,证明模块920,用于根据所述证明结果执行整网完整性的远程证明。具体实现过程可以参考上述图5所示实施例中步骤570中的详细描述,这里不再赘述。

可选的,所述网络设备900进一步包括发送模块930,所述发送模块用于分别向所述各第一ra服务器发送所述各网络设备中的度量对象的完整性基线度量值,或者,分别向所述多个第一ra服务器中的部分第一ra服务器发送所述多个网络设备中的部分网络设备中的度量对象的完整性基线度量值。具体实现过程可以参考上述图5所示实施例中步骤545中的详细描述,这里不再赘述。

可选的,所述发送模块930进一步用于分别向所述各第一ra服务器发送度量任务;所述度量任务包括远程证明策略,所述各第一ra服务器根据所述远程证明策略向对应的网络设备发送完整性挑战请求;具体实现过程可以参考上述图5所示实施例中步骤515中的详细描述,这里不再赘述。

可选的,所述发送模块930进一步用于向所述所述多个网络设备中的全部或部分网络设备发送发送完整性挑战请求;具体实现过程可以参考上述图5所示实施例中步骤525中的详细描述,这里不再赘述。相应的,所述获取模块910进一步用于接收所述多个网络设备中的各网络设备发送的所述各网络设备中的度量对象的完整性度量值;具体实现过程可以参考上述图5所示实施例中步骤535中的详细描述,这里不再赘述。相应的,所述发送模块930进一步用于将所述各网络设备中的度量对象的完整性度量值根据远程证明策略分别发给所述多个第一ra服务器中的部分或全部第一ra服务器,指示所述多个第一ra服务器中的部分或全部第一ra服务器对对应的网络设备中的度量对象的完整性执行远程证明;具体实现过程可以参考上述图5所示实施例中步骤555中的详细描述,这里不再赘述。

可选的,所述ra服务器900进一步包括管理呈现模块940,所述管理呈现模块940用于管理和呈现所述远程证明的结果。具体实现参见图2所示实施例中的对应部分,如步骤250的描述。

可以理解的是,该实施场景中的ra服务器900可以应用在图6所示的实施例中的ra服务器中,可以处理网络设备运行过程中度量对象的完整性证明。具体实现过程,请参考图6所示实施例中各步骤的详细描述。

参见图10,为本申请实施例提供了一种远程证明系统中的一种网络设备1000的结构示意图。图1-6所示的实施例中的网络设备可以通过图10所示的网络设备1000来实现,该网络设备1000可以为交换机,路由器、防火墙、或者其他通信网络中的网路设备。参见图10,该网络设备1000包括至少一个处理器1010、tmp芯片1030、通信总线1050、存储器1020以及至少一个通信接口1040。

处理器1010可以是一个通用中央处理器(centralprocessingunit,cpu)、特定应用集成电路(application-specificintegratedcircuit,asic)或一个或多个用于控制本申请方案程序执行的集成电路。

通信总线1050可包括一通路,在上述组件之间传送信息。

存储器1020可以是只读存储器(read-onlymemory,rom)或可存储静态信息和指令的其它类型的静态存储设备,随机存取存储器(randomaccessmemory,ram)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器1020可以是独立存在,通过通信总线1050与处理器1010相连接。存储器1020也可以和处理器1010集成在一起。

其中,存储器1020用于存储程序代码,并由处理器1010来控制执行,以执行上述图1-6中任一实施例中网络设备的处理步骤。处理器1010用于执行存储器1020中存储的程序代码。程序代码中可以包括一个或多个软件模块。这一个或多个软件模块可以为图7所示实施例中提供的软件模块。

通信接口1040,使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网,无线接入网(radioaccessnetworkran),无线局域网(wirelesslocalareanetworks,wlan)等。

在具体实现中,作为一种实施例,网络设备1000可以包括多个处理器,例如图10中所示的处理器1010和处理器1015。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。

参见图11,为本申请实施例提供了一种远程证明系统中的一种ra服务器1100的结构示意图。图1-6所示的实施例中的各ra服务器包括主ra服务器都可以通过图11所示的ra服务器1100来实现。参见图11,该ra服务器1100包括至少一个处理器1010、通信总线1140、存储器1120以及至少一个通信接口1130。

处理器1010可以是一个通用中央处理器(centralprocessingunit,cpu)、特定应用集成电路(application-specificintegratedcircuit,asic)或一个或多个用于控制本申请方案程序执行的集成电路。

通信总线1140可包括一通路,在上述组件之间传送信息。

存储器1120可以是只读存储器(read-onlymemory,rom)或可存储静态信息和指令的其它类型的静态存储设备,随机存取存储器(randomaccessmemory,ram)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器1120可以是独立存在,通过通信总线1140与处理器1110相连接。存储器1120也可以和处理器1110集成在一起。

其中,存储器1120用于存储程序代码,并由处理器1110来控制执行,以执行上述图1-6中任一实施例中各ra服务器包括主ra服务器的处理步骤。处理器1110用于执行存储器1120中存储的程序代码。程序代码中可以包括一个或多个软件模块。这一个或多个软件模块可以为图8或图9所示实施例中提供的软件模块。

通信接口1140,使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网,无线接入网(radioaccessnetworkran),无线局域网(wirelesslocalareanetworks,wlan)等。

在具体实现中,作为一种实施例,网络设备1100可以包括多个处理器,例如图11中所示的处理器1110和处理器1115。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(digitalsubscriberline,dsl))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(digitalversatiledisc,dvd))、或者半导体介质(例如:固态硬盘(solidstatedisk,ssd))等。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1