一种基于TPM的受测状态绑定授权方法与流程

摘要: 本发明涉及硬件测试,具体涉及一种基于tpm的受测状态绑定授权方法。背景技术:1、在服务器、控制柜以及包含多个管理节点的整机设备测试中,一台上位机通常通过网络向若...
一种基于TPM的受测状态绑定授权方法与流程

本发明涉及硬件测试,具体涉及一种基于tpm的受测状态绑定授权方法。

背景技术:

1、在服务器、控制柜以及包含多个管理节点的整机设备测试中,一台上位机通常通过网络向若干子系统节点发送测试指令,再收集各子系统节点返回的测试结果。测试计划可能规定不同子系统节点分别完成不同的测试步骤,并要求后一测试步骤只能在前一测试步骤的结果成立后才能执行,测试指令的发送时机、接收对象和执行条件需要与测试计划对应。

2、现有做法通常为上位机和各子系统节点分别配置密钥,并在报文中加入签名、随机数或时间戳。签名用于确认报文来源,随机数或时间戳用于降低旧报文被重复使用的可能性。需要校验设备软件状态时,还可以借助tpm(trusted platform module,可信平台模块)提供的受保护测量值,由节点向上位机提供平台状态证明,说明节点当前运行环境处于可信状态。

3、然而,报文来源合法并不等于该报文适用于当前测试。由合法上位机签发的测试指令仍可能被转送到其他子系统节点、用于其他测试计划或者在其他会话中再次使用;多个子系统节点分别返回的合法测试结果也可能出现缺失、重复、顺序错误或节点间替换。通信中断或设备复位后,若节点保存的结果位置与上位机认定的结果位置不一致,已被执行的旧测试指令还可能被节点再次接受并重复执行。

4、出现上述情况的原因在于,身份验证、状态证明、会话保护和结果记录通常被分别处理,没有把目标节点、双方当前测量状态、当前测试计划、当前会话以及已经完成到哪一条结果,统一为一项可以随测试过程连续核对的授权条件。

5、因此,如何使上位机发出的测试指令只能由处于获准测量状态的指定子系统节点,在指定测试计划、指定会话和正确前序结果位置下被接受,并使节点提交的新结果继续成为测试指令可以核对的状态依据,是本领域亟待解决的技术问题。

技术实现思路

1、本发明的目的是针对上述问题,提供一种基于tpm的受测状态绑定授权方法。应用于包含上位机和多个子系统节点的可信测试系统,所述上位机设置有上位机tpm各子系统节点均设置有节点tpm。该方法在多个子系统节点各自与上位机之间的可信平台模块配对关系基础上,建立仅适用于指定子系统节点、指定测试计划和指定会话轮次的节点级授权信息;测试指令必须与节点级授权信息、节点本地的已提交链头以及测试计划规定的前序约束同时匹配才能被执行,节点新提交的结果又继续构成后续测试指令可以核对的状态依据。

2、需要说明的是,本技术中,本节点已提交链头是指目标子系统节点依据最近一条已完成持久化提交的结果记录得到的链值,用于表示该节点本地结果已经推进到的位置;计划前序已提交结果摘要是指测试计划为当前测试步骤规定的前序测试步骤中、已经由上位机验证并纳入当前会话的结果记录摘要,用于表示整个测试计划已经推进到的前序位置。本节点已提交链头说明目标子系统节点执行到哪里,计划前序已提交结果摘要说明测试计划整体执行到哪里。节点级授权信息是指与上位机测量状态、目标子系统节点测量状态、目标节点标识、测试计划摘要和会话轮次绑定,并仅对目标节点在对应测试计划与对应会话中的测试指令生效的授权数据。

3、本发明的技术方案为:一种基于tpm的受测状态绑定授权方法,应用于包含上位机和多个子系统节点的可信测试系统,所述上位机设置有上位机tpm,各子系统节点均设置有节点tpm;所述方法包括以下步骤:

4、s1、利用所述节点tpm存储的公开验证材料,校验上位机下发的会话发起消息,建立会话交互;

5、s2、向上位机发送受所述节点tpm保护的节点状态证明,并接收受所述上位机tpm保护的上位机状态证明,以完成双方测量状态可信校验;

6、s3、在发送所述节点状态证明后,接收所述上位机下发的节点级授权信息,所述节点级授权信息是基于所述节点状态证明校验通过而生成的,所述节点级授权信息绑定有上位机测量状态、节点测量状态、节点标识、测试计划和会话轮次;将所述节点级授权信息与本地保存的对应数据进行一致性校验,并与所述上位机执行双向确认,在双向校验通过后获取当前会话的短期会话密钥;

7、s4、接收受所述短期会话密钥保护的测试指令,所述测试指令包含授权信息、计划前序已提交结果摘要和指令状态进度参数;校验所述测试指令包含的授权信息与本地生效的节点级授权信息的一致性、所述指令状态进度参数与节点本地保存的已提交进度参数的一致性,以及所述计划前序已提交结果摘要是否满足测试计划规定的前序约束;校验全部通过后执行对应测试步骤;

8、s5、执行测试步骤后生成结果记录,持久化存储所述结果记录并更新本地已提交进度参数,并向上位机返回提交确认。

9、作为本发明实施例的一种改进,还包括系统部署配置步骤:各子系统节点的节点tpm保存对应的公开验证材料,并保护本节点结果签名材料,所述公开验证材料与保存在所述上位机tpm保护边界内的节点私钥相配对。

10、作为本发明实施例的一种改进,步骤s2中,目标子系统节点校验上位机的测量状态是否符合预配置获准条件;所述上位机校验目标子系统节点的测量状态是否匹配对应获准条件;任意一方若校验失败,清除会话临时数据,节点级授权信息维持无效。

11、作为本发明实施例的一种改进,步骤s4中,所述测试计划预先定义测试节点集合、测试步骤及步骤之间的前序约束关系;基于规范化编码的测试计划计算得到测试计划摘要;测试步骤执行时,基于所述测试指令中携带的所述计划前序已提交结果摘要校验前序约束。

12、作为本发明实施例的一种改进,步骤s3中,所述获取当前会话的短期会话密钥,包括:与所述上位机交换确认值以执行双向确认,所述确认值绑定节点级授权信息摘要;在双向确认通过后,基于会话建立材料、双方随机挑战以及节点级授权信息摘要派生所述短期会话密钥;其中,所述短期会话密钥与用于双向确认的确认密钥同源派生且用途相互隔离。

13、作为本发明实施例的一种改进,所述测试指令包含有单调状态参数作为所述指令状态进度参数;节点在校验测试指令时,同步校验单调状态连续性及测试步骤归属;校验不满足时拒绝执行测试,本地已提交进度参数保持不变。

14、作为本发明实施例的一种改进,所述测试指令包含有指令链头作为所述指令状态进度参数;所述本地已提交进度参数为本地已提交链头。

15、作为本发明实施例的一种改进,所述测试指令还包含有授权世代;节点在校验测试指令时,同步校验所述授权世代与本地当前授权世代的一致性。

16、作为本发明实施例的一种改进,还包括密钥轮换与节点解绑步骤:执行轮换或解绑前,核对节点最终提交状态;在tpm保护下推进授权世代,持久化存储状态继承记录;状态记录持久化完成后,启用新密钥材料或者撤销原有密钥材料。

17、作为本发明实施例的一种改进,还包括异常处理步骤:通信中断未接收指令时节点保持本地状态不变;提交完成但确认消息丢失时,节点不重复执行测试;掉电未形成持久化测试证据时,标记步骤状态不确定,上位机拒绝执行重复下发的相同测试指令。

18、本发明实施例所提供的一种基于tpm的受测状态绑定授权方法具有以下优点:本发明以每个子系统节点各自与上位机之间的tpm节点配对和双方测量状态可信校验为起点,建立仅适用于指定节点、指定测试计划和指定会话的节点级授权信息,测试指令的执行同时受节点已提交链头和测试计划前序约束限制,跨节点、跨测试计划、跨会话以及回退到旧结果位置的指令均无法通过校验;上位机依据结果记录构建覆盖清单并识别缺失、重复、错序与跨节点替换,保证多节点测试结果完整有序,整体提升多节点可信测试过程的安全性与可验证性。