【技术实现步骤摘要】
一种通过fTPM实现可信启动的方法及相关装置
[0001]本申请涉及计算机
,尤其涉及一种通过基于固件的可信平台模块(firmware based Trusted Platform Module,fTPM)实现可信启动的方法及相关装置。
技术介绍
[0002]远程证明是可信计算整体解决方案中的关键技术之一,用户可以通过远程证明服务器认证远端设备是否处于一个可信状态。远程证明过程包括:远端设备在某些特定的时刻,对目标文件进行度量,得到度量证据(例如目标文件的摘要值);远端设备将得到的度量证据发送给远程证明服务器,由远程证明服务器根据度量证据来判断远端设备是否可信。
[0003]启动度量作为远程证明的关键度量阶段之一,能够解决设备在启动过程中系统被篡改或植入恶意代码的问题,从而保障设备启动过程中系统的完整性。通常,启动度量是借助硬件模块
‑‑
可信平台模块(Trusted Platform Module,TPM)实现的。系统的启动度量过程遵循“先度量,再执行”的原则,即当前阶段代码负责度量下一个阶段的代码,由当前阶段代码将对下一个阶段的代码进行度量得到的度量值扩展到TPM的平台配置寄存器(Platform Configuration Register,PCR)中。此后下一阶段的代码成为更新后的当前阶段代码,对新的下一阶段的代码执行上述过程,这样逐次循环往复,将系统启动过程中所得到的度量值都扩展到PCR中。PCR中的扩展值作为系统启动阶段的度量证据,被设备发给远程证明服务器,由远程证明服务器判 ...
【技术保护点】
【技术特征摘要】
1.一种通过基于固件的可信平台模块fTPM实现可信启动的方法,应用于支持可信执行环境的计算机系统中,其特征在于,包括:在第一时刻所述计算机系统上电,在所述计算机系统上电后通过执行统一可扩展固件接口UEFI,在可信执行环境中分配存储空间,所述存储空间用于存储在fTPM启动前所得到的度量值;通过执行所述UEFI,对fTPM驱动组件进行度量,得到第一度量值,并将所述第一度量值存储于所述存储空间中;通过执行所述fTPM驱动组件,启动所述fTPM;通过执行所述fTPM,将所述存储空间中的所述第一度量值扩展到所述fTPM的平台配置寄存器PCR中;根据所述PCR中的度量值对所述计算机系统的启动过程进行验证。2.根据权利要求1所述的方法,其特征在于,所述通过执行所述UEFI,对fTPM驱动组件进行度量,得到第一度量值,包括:通过执行核心可信度量根CRTM,对ARM可信固件ATF进行度量,得到第一子度量值,并将所述第一子度量值存储于所述存储空间中;通过执行所述ATF,对TEE OS进行度量并启动所述TEE OS,得到第二子度量值;其中,所述UEFI包括所述CRTM和所述ATF,所述ATF用于得到所述fTPM驱动组件的度量值,所述第一度量值包括所述第一子度量值和第二子度量值,所述fTPM位于所述TEE OS中。3.根据权利要求2所述的方法,其特征在于,所述通过执行所述UEFI,对fTPM驱动组件进行度量,得到第一度量值,还包括:通过执行所述ATF,对所述UEFI中的引导器BootLoader进行度量,得到第三子度量值;通过执行所述BootLoader,对操作系统内核OS Kernel进行度量,得到第四子度量值;其中,所述OS Kernel包括所述fTPM驱动组件,所述第一度量值还包括所述第三子度量值和所述第四子度量值。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:通过执行所述CRTM,将所述存储空间的地址存储于平台配置数据库中;通过执行所述BootLoader,从所述平台配置数据库中获取所述存储空间的地址,并将所述存储空间的地址配置于所述OS Kernel的设备树源码中;通过执行所述fTPM驱动组件,将所述设备树源码中的所述存储空间的地址传递给所述fTPM。5.根据权利要求2所述的方法,其特征在于,所述通过执行所述UEFI,对fTPM驱动组件进行度量,得到第一度量值,还包括:通过执行所述ATF,对所述UEFI中的fTPM驱动组件进行度量,得到第五子度量值;其中,所述第一度量值还包括所述第五子度量值。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:通过执行所述CRTM,将所述存储空间的地址存储于平台配置数据库中;通过执行所述ATF,从所述平台配置数据库中获取所述存储空间的地址,并将所述存储空间的地址传递给所述TEE OS,所述TEE OS用于将所述存储空间的地址传递给所述fTPM。7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
通过执行所述CRTM,将所述存储空间的地址传递给所述ATF;通过执行所述ATF,将所述存储空间的地址传递给所述TEE OS,所述TEE OS用于将所述存储空间的地址传递给所述fTPM。8.根据权利要求1
‑
7任意一项所述的方法,其特征在于,所述根据所述PCR中的度量值对所述计算机系统的启动过程进行验证,包括:获取所述计算机系统的历史启动过程中所获得的历史度量值,所述历史启动过程是所述计算机系统在所述第一时刻之前发生的启动过程;通过比对所述历史度量值以及所述PCR中的度量值,对所述计算机系统的启动过程进行验证。9.根据权利要求1
‑
7任意一项所述的方法,其特征在于,所述根据所述PCR中的度量值对启动过程进行验证,包括:向服务器发送所述PCR中的度量值,以使得所述服务器根据所述PCR中的度量值对启动过程进行验证。10.根据权利要求1
‑
9任意一项所述的方法,其特征在于,所述通过执行所述UEFI,对fTPM驱动组件进行度量,包括:通过执行所述UEFI,采用哈希算法计算所述fTPM驱动组件的摘要值,得到所述第一度量值,所述第一度量值包括所述fTPM驱动组件的摘要值和所述哈希算法的编号。11.根据权利要求1
‑
10任意一项所述的方法,其特征在于,所述方法还包括:获取对所述fTPM驱动组件进行度量所得到的度量信息,所述度量信息包括所述UEFI的信息、所述fTPM驱动组件的信息和/或所述第一度量值;将所述度量信息记录到度量日志。12.一种计算机系统,所述计算机系统支持可信执行环境,其特征在于,包括:处理器和存储器;在第一时刻所述计算机系统上电,在所述计算机系统上电后,所述处理器用于通过执行UEFI,在所述存储器的可信执行环境中分配存储空间,所述存储空间用于...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。