一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种高效的多节点批量远程证明方法

2022-09-03 13:47:23 来源:中国专利 TAG:


1.本发明涉及可信计算、虚拟化安全技术领域,具体为一种高效的多节点批量远程证明方法。


背景技术:

2.目前,虚拟机已经成为云计算服务的主要产品。与传统的计算环境相比,云计算环境中虚拟机面临的安全风险更加多样。例如:攻击者可以通过入侵虚拟机的方式,篡改用户数据,甚至可能发生虚拟机逃逸行为进而危害其他用户的数据安全。因此,为了保障云服务的安全性,虚拟化安全受到广泛重视。
3.可信计算(tc,trusted computing)技术体系通过硬件可信平台模块(tpm,trusted platform module)从系统启动时开始逐层建立信任链,保障系统的可信状态。而远程证明技术(ra,remote attestation)是可信计算整体解决方案中的关键技术之一,用来判断计算机系统的完整性状态,可以防止系统遭到非法篡改。传统的远程证明技术中,验证虚拟机自身系统完整性时,需要同时验证其所在宿主机系统完整性,由于虚拟机化技术的特性,当多台虚拟机同时运行在同一台宿主机时,就会出现短时间内宿主机信任链证据信息被多次重复采集、验证,因此影响了远程证明的效率。
4.keylime是目前主流的开源远程证明工具之一,可帮助使用者快速实现远程证明,但该工具目前存在一定的局限性:1)进行基准值库传输时,需要手动指定基准库文件进行传输,效率较低;2)验证端逐个对代理发起远程证明请求,不支持对多个验证目标进行批量远程证明,导致短时间内同一宿主机证据信息被重复采集、验证;3)进行完整性校验时,默认将所有度量日志与基准库进行对比,仅支持不校验特定文件,可能出现临时文件导致验证结果失败,从而影响远程验证的准确性;4)进行证据信息传输时,直接传输完整性度量(ima,integrity measurement architecture)日志,但ima度量日志格式中的平台配置寄存器(pcr,platform configuration register)位置、哈希模板类型等字段在完整性证明过程中不会被使用。因此,将ima度量日志所有字段进行传输会导致验证端收到数据冗余,降低数据传输效率。


技术实现要素:

5.针对上述问题,本发明的目的在于提供一种,高效的多节点批量远程证明方法,可以减少手动配置传输的复杂性,还可以避免短时间内对同一台宿主机信任链证据信息多次重复采集、验证,提高远程证明效率,同时还可以避免出现临时文件导致验证失败问题,提升远程证明效率的同时提高远征证明的准确性。技术方案如下:一种高效的多节点批量远程证明方法,包括以下步骤:步骤1:远程证明数据采集:采用核心文件机制,所述核心文件为节点内部更新频率低于预设值的二进制文件,通过部署在被验证节点中的信息采集代理进行数据采集,其中采集的信息包括节点平
台配置寄存器值和度量日志;通过核心文件目录,将第一次采集到的信息发送到验证端存储下来作为基准值库信息;步骤2:远程证明数据传输:验证端与被验证节点建立ssl安全传输通道,存储被验证节点的节点id、基准值库信息;被验证节点对度量日志进行抽取,减少证据信息数据量;被验证节点向验证端输证据信息;步骤3:远程证明完整性状态验证:收到证据信息后,验证端使用aik密钥进行解密,解密失败则远程验证失败,解密成功则进行逐条日志的读取,将属于核心文件的日志与基准库值进行对比,如果不等则远程验证失败;根据度量日志重现平台配置寄存器值扩展过程计算出平台配置寄存器值,验证端将计算得出的平台配置寄存器值与收到的平台配置寄存器值进行比对,相等则表示远程验证成功,被验证节点系统二进制文件未被破坏,不相等则表示远程验证失败,被验证节点系统二进制文件已遭到破坏。
6.进一步的,所述步骤1具体包括:步骤1.1:生成基准值库生成基准值库阶段,将所述二进制文件的路径添加到核心文件目录中;运行核心文件度量程序,计算核心文件的哈希值,作为基准值库;步骤1.2:采集节点证据信息远程证明阶段,信息采集代理根据特定路径采集被验证节点的度量日志文件;使用tpm_tools工具采集被验证节点的平台配置寄存器值。
7.更进一步的,所述步骤2具体包括:步骤2.1:验证端与被验证节点建立连接验证端首先与被验证节点建立ssl安全传输通道;被验证节点将自己的节点id和平台身份认证密钥公钥发往验证端进行身份认证;身份认证完成后,被验证节点将节点相关配置信息发往验证端,包括:节点id、节点ip地址、节点所用哈希算法及模板,验证端收到相关配置信息后,以固定的结构体将配置信息存储到批量证明配置文件中;步骤2.2:验证端向被验证节点发起批量远程证明质询验证端从批量远程证明配置文件中读取多个被验证节点的信息,包括被验证节点的节点id、ip地址、使用哈希值算法类型及基准值库文件路径;根据ip地址,准确的向被验证节点发起远程证明质询;根据哈希值算法,验证端知道被验证节点度量日志以及pcr值所使用的哈希值算法,从而在后续过程中使用对应算法进行完整性验证;根据基准值库文件路径,验证端知道被验证节点的基准值库存储位置,以便后续比较核心文件的完整性;步骤2.3:证据信息数据传输信息采集代理对被验证节点进行数据采集时,对该节点的度量日志进行提取,原日志中每条度量记录包含pcr寄存器位置、文件模板哈希值、哈希模板类型、文件哈希值以及文件路径5个字段,仅保留文件模板哈希值、文件哈希值以及文件路径进行传输,以减小证据信息数据量,提高传输效率;使用平台身份认证密钥私钥对节点证据信息以及随机数进行签名,并发往验证端。
8.更进一步的,所述步骤2.2中,在被验证节点与验证端建立连接时,验证端会将对
应节点的信息存储到node_info数据结构中,包括:node_id:该节点的标识符,用于区分不同节点;node_ip:该节点的ip地址,远程质询请求将发往该ip地址;pcr_loc:该节点完整性度量架构中pcr寄存器扩展位置;baseline_path,该节点的基准值库所在路径;hash_template,该节点所使用的哈希算法以及完整性度量架构所使用的哈希模板。
9.更进一步的,所述步骤3具体包括:步骤3.1:循环读取度量日志,获取每个文件的文件路径、文件哈希值和模板哈希值;步骤3.2:根据文件哈希值,模拟平台配置寄存器值的计算过程,逐步计算平台配置寄存器值;步骤3.3:根据文件路径,对比其是否为核心文件,如果是核心文件则要与基准值库进行对比,确保文件完整性状态未遭到破坏;步骤3.4:重新计算出的平台配置寄存器值与收到平台配置寄存器值进行对比,确保度量日志未遭到破坏;如果上述对比均通过,则说明该节点完整性验证成功,系统二进制文件未被篡改;否则表示完整性验证失败。
10.与现有技术相比,本发明具有如下优点和有益效果是:1、本发明在被验证节点与验证端建立连接时自动传输核心文件度量日志作为基准值库,减少了手动配置传输的复杂性;2、本发明验证端可以批量的对多个被验证节点发起远程证明请求,避免短时间内对同一台宿主机信任链证据信息多次重复采集、验证的问题,提高了远程证明效率;3、本发明进行完整性校验时,仅将核心文件与基准值库的内容进行对比,避免了出现临时文件导致验证失败问题,提升远程证明效率的同时提高了远程证明的准确性;4、本发明在进行证据信息传输时,对度量日志内容进行了简化,减少了证据信息传输数据量。
附图说明
11.图1是本发明的批量远程证明总体架构图。
12.图2是本发明验证端批量远程质询的结构图。
13.图3是本发明证据信息完整性状态检验部分流程图。
具体实施方式
14.下面结合附图和具体实施例对本发明做进一步详细说明。
15.图1给出了本发明中的批量远程证明总体架构图。如图1所示,本方法的远程证明步骤为:(1)该系统批量的向多个被验证节点发起远程证明请求;(2)被验证节点中的信息采集代理收到远程证明请求后,通过tpm_tools采集tpm/vtpm中的pcr值,同时获取ima度量日志;(3)信息采集代理将采集到pcr值、度量日志等状态信息,通过安全传输通道,发送到验证端;(4)验证端通过基准值库,核验证据信息,对被验证节点的完整性状态做出判断;
(5)验证端周期性的验证被验证节点的完整性状态。
16.具体步骤如下:步骤1:远程证明数据采集:本方法采用一种核心文件机制,其中,核心文件是指状态相对稳定的二进制文件。本方法通过部署在被验证节点中的信息采集代理进行数据采集其中采集的信息包括节点pcr值和度量日志(sml,stored measurement log)。通过核心文件目录,将第一次采集到的信息发送到验证端存储下来作为基准值信息。
17.步骤1.1:生成基准值库生成基准值库阶段,将所述二进制文件的路径添加到核心文件目录中;运行核心文件度量程序,计算核心文件的哈希值,作为基准值库。
18.步骤1.2:采集节点证据信息远程证明阶段,信息采集代理根据特定路径采集被验证节点的度量日志文件;使用tpm_tools工具采集被验证节点的pcr值。
19.管理员通过核心文件目录的方式,避免因ima度量日志中临时性文件的存在导致远程证明结果失败。被验证节点内部部署的信息采集代理与验证节点建立连接后,被验证节点主动将本节点id、ip地址、核心文件度量日志、度量日志及pcr值所用哈希算法等数据发往被验证节点。验证节点收到后,将该节点的核心文件度量日志存储作为基准值库,将节点id、ip地址、基准库存储路径、所用哈希算法等信息写入批量远程证明配置文件中。
20.通过这种方式,验证节点在进行批量远程证明质询时,可以根据配置文件自动发起远程证明请求,减少了手动配置的复杂性。
21.步骤2:远程证明数据传输:验证端与被验证节点建立ssl安全传输通道,存储被验证节点的节点id、基准值库等信息;被验证节点对度量日志进行抽取,减少证据信息数据量;被验证节点向验证端输证据信息。
22.步骤2.1:验证端与被验证节点建立连接验证端首先与被验证节点建立ssl安全传输通道;被验证节点将自己的节点id,平台身份认证密钥公钥(aik,attestation identity key)等发往验证端进行身份认证。身份认证完成后,被验证节点将节点相关配置信息等发往验证端,包括:节点id、节点ip地址、节点所用哈希算法及模板等,验证端收到相关配置信息后,以固定的结构体将配置信息存储到批量证明配置文件中。
23.步骤2.2:验证端向被验证节点发起批量远程证明质询验证端从批量远程证明配置文件中读取多个被验证节点的信息,包括被验证节点的节点id、ip地址、使用哈希值算法类型及基准值库文件路径。根据ip地址,可以准确的向被验证节点发起远程证明质询;根据哈希值算法,验证端可以知道被验证节点度量日志以及pcr值所使用的哈希值算法,从而在后续过程中使用对应算法进行完整性验证;根据基准值库文件路径,验证端可以知道被验证节点的基准值库存储位置,方便后续比较核心文件的完整性。
24.通过这种方法,当验证端对同一宿主机上的多台虚拟机进行远程证明质询时,只需要宿主机的证据信息进行一次采集、验证。与传统远程证明方法相比,减少了证明冗余,
提高了效率。
25.步骤2.3:证据信息数据传输信息采集代理对被验证节点进行数据采集时,对该节点的度量日志进行提取,原日志中每条度量记录包含pcr寄存器位置、文件模板哈希值、哈希模板类型、文件哈希值以及文件路径等5个字段,仅保留文件模板哈希值、文件哈希值以及文件路径进行传输,以减小证据信息数据量,提高传输效率;使用平台身份认证密钥私钥对节点证据信息以及随机数进行签名,并发往验证端。
26.本发明简化证据信息数据量,只对核心文件进行基准值对比,提升远程证明效率的同时,也保证了验证端收到度量日志的完整性。
27.图2是验证端批量远程质询的结构图。在被验证节点与验证端建立连接时,验证端会将对应节点的信息存储到node_info数据结构中,包括:node_id,该节点的标识符,用于区分不同节点;node_ip,该节点的ip地址,远程质询请求将发往该ip地址;pcr_loc,该节点完整性度量架构中pcr寄存器扩展位置;baseline_path,该节点的基准库所在路径;hash_template,该节点所使用的哈希算法以及完整性度量架构所使用的哈希模板。
28.如图2所示,在验证端发起批量远程质询时,步骤为:(1)读取node_info数据结构中的被验证节点信息;(2)根据节点信息向多个被验证节点的ip地址发送远程证明请求。
29.本发明同时对多个被验证节点发起批量远程证明请求,避免短时间内宿主机信息被多次重复采集、验证导致的远征证明效率低下的问题。
30.步骤3:远程证明完整性状态验证:收到证据信息后,验证端使用aik密钥进行解密,解密失败则远程验证失败,解密成功则进行逐条日志的读取,并根据度量日志重现pcr扩展过程计算出pcr值。验证端将计算得出的pcr值与收到的pcr值进行比对,相等则表示远程验证成功,被验证节点系统二进制文件未被破坏,不相等则表示远程验证失败,被验证节点系统二进制文件已遭到破坏。
31.图3是证据信息完整性状态检验部分流程图,验证端收到证据信息(包括pcr值和度量日志)后,需要根据证据信息验证节点的完整性状态,具体步骤为:(1)循环读取度量日志,获取每个文件的文件路径、哈希值、模板hash等;(2)根据文件哈希值,模拟pcr值的计算过程,逐步计算pcr值;(3)根据文件路径,对比其是否为核心文件,如果是核心文件则要与基准库进行对比,确保文件完整性状态未遭到破坏;(4)重新计算出的pcr值与收到pcr值进行对比,确保度量日志未遭到破坏。如果上述步骤均通过,则说明该节点完整性验证成功,系统二进制文件未被篡改;否则表示完整性验证失败。
32.本发明验证端根据收到的度量日志模拟pcr值扩展过程,将计算结果与收到的pcr值进行对比,确保度量日志未遭受篡改的同时将度量日志中的核心文件与基准库进行对比,保证核心文件的完整性。本发明高效的实现了对多台虚拟机及其宿主机的批量远程证明,保障了虚拟机及宿主机运行环境的安全可信和可控。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献