Open Access
Issue
JNWPU
Volume 38, Number 5, October 2020
Page(s) 1063 - 1067
DOI https://doi.org/10.1051/jnwpu/20203851063
Published online 08 December 2020

© 2020 Journal of Northwestern Polytechnical University. All rights reserved.

Licence Creative Commons
This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

未来异构星地网络的融合应用会引入一系列信息安全隐患,作为天基互联航天器的信息处理基础设施——星载操作系统,其开放性、网络支持性、不易维护等特点,使得操作系统被攻击后造成的损失更为巨大。现有星载系统的功能升级主要通过将新代码直接注入内存,并修改跳转地址的方式实现。这种方式在操作者易于实现的同时,也为攻击者提供了通过类似方式向星载系统注入恶意代码的通路。因此,该方式为星载系统带来了巨大的安全风险。现有星载系统常采用纠错码校验机制来保证代码可靠性,然而攻击者对恶意代码同样可以生成正确的校验码,因此该机制无法防止恶意代码的注入。

可信计算可通过建立可信根和信任链来保证系统的完整性和安全性,将可信计算技术引入星载操作系统的安全防护领域,是解其安全问题一个行之有效的方法, 但目前尚未有关于星载操作系统可信技术的相关研究。为此,本文旨在设计一个高可信的星载操作系统,通过引入硬件可信模块,基于可信基引导建立信任链,在星载操作系统内核、星载应用程序等装载运行之前进行静态度量与验证,利用周期性快照的思路对运行中的应用进程、内核中的关键元素进行动态度量与验证,保证星载系统整个运行周期的可信性。

1 高可信星载操作系统安全设计框架

星载操作系统可信启动与完整性度量的构建设计包括加入可信平台模块作为可信根,通过可信启动建立信任链完成静态验证,在启动之后进行动态完整性度量验证[1-2]。当地面系统向星载系统发送任务或对应用功能进行在轨维护时,地面系统可主动向星载系统发起验证请求,通过可信“远程验证”机制实现对星载系统的身份和平台状态配置信息的可信保证。星载操作系统的高可信设计框架如图 1所示。

thumbnail 图1

星载系统可信启动与完整性度量验证设计框架

可信模块作为系统的信任根,是星载系统建立高安全可信体系的基础保证。可信模块是一个包括密码运算部件、存储个部件, 专用运算处理器、基于独立总线的I/O系统、独立内存空间、永久性存储空间和随机数产生器的小型片上系统。运用用符合可信规范的密码算法对外提供各类加解密相关的运算。可信模块无法占用星载计算机的内、外存, 需要在模块内部执行一定的安全算法,以实现和其他部件的接口标准化并提供内部的密码运算。高可信星载操作系统的信任根主要有:

1) 可信度量根(root of trust for measurement, RTM)[3],在星载系统未启动之前完成对星载系统初始启动代码的完整性度量和验证;

2) 可信存储根(root of trust for storage, RTS),通过一个存储根密钥加密保护子密钥等对象、完成解密和签名操作,以此记录星载系统各部件完整性度量摘要值[3],并保证度量值顺序计算以及度量日志的完整性;

3) 可信报告根(Root of Trust for Reporting, RTR),基于背书密钥生成星载系统可信身份密钥,保证星载系统身份的真实性和报告的完整性。RTR是进行“远程验证”的基础,确保RTS可靠的计算引擎[4]。

星载系统建立基于可信启动的信任链,延伸系统的可信范围, 确保星载系统启动全过程的安全可信任[5]。信任传递机制是指在信任当前某一环节的前提下,由该环节去评估下一个环节的安全性,确定下一环节可信之后再将控制权转交给下一环节,然后依次向后推进[4]。星载系统的启动序列都遵循当前阶段的代码负责度量下一阶段即将要执行的代码,然后再将度量值扩展到星载系统可信模块的寄存器中,由此形成信任链[6]。

静态度量之后的完整性存储,则是将包括完整性度量对象和度量过程的日志信息存储到相应数据存储区,将完整性度量结果,即摘要值存储在平台的配置寄存器[7]。为扩展每一个平台配置寄存器的存储能力,这里将同一个部件不同时间的度量值采用哈希链接[8]的方式扩展到同一个寄存器中,如图 2所示,哈希链计算如公式(1)所示。

thumbnail 图2

基于哈希链的星载系统度量值扩展

式中:PCRiO表示扩展之前旧的配置寄存器值; PCRiN表示扩展之后新的配置寄存器值; ;P表示连接; C表示度量对象的特征内容。

星载操作系统在进行可信度量时,将每一个度量对象的所有度量值扩展到可信模块的配置寄存器(platform configuration register, PCR)中,为该度量对象记录相应的链式度量日志,同时将所有度量对象扩展后的PCR值利用生成树算法构造树形度量日志。度量日志用于星载本地验证和地面远程验证,如图 3所示。

thumbnail 图3

星载系统完整性度量示意图

将所有度量对象扩展后的PCR值,利用生成树算法构造不平衡的树形度量日志,其数据结构如图 4所示。

thumbnail 图4

度量日志数据结构

2 星载应用进程的动态度量

操作系统可信启动之后,在星载应用程序启动、装载时,进行一次性的静态度量、验证,确保其在装载运行之前是可信的。星载应用通常需要在轨维护功能支持,地面上注的更新应用一般维护在内存中,为确保应用程序在整个运行生命周期中没有被恶意破坏,进一步增强可信度,提出动态完整性度量验证方案,保证应用程序等在运行过程中的完整性和可信性,如图 5所示。

thumbnail 图5

星载应用进程动态度量示意图

系统启动后,内核创建常驻内存、运行于内核层的监控进程。监控程序模块作为进程动态度量架构的出入口,其主要功能有:①实时读取动态度量配置文件,根据配置文件获取度量进程相关信息;②循环进程列表,获取进程的相关信息,为正在运行的进程创建伴随度量进程;③通知伴随度量进程对正在运行的进程进行挂起、结束和重启等操作;④周期性地挂起该进程,通知伴随度量进程发送度量对象进程信息,对度量对象进行可信性判定,并根据返回值进行相应处理[8]。

度量进程调用度量基准库获得度量基准值,将其与度量值综合比较,若结果为True,伴随进程返回信息给监控程序,证明当前进程运行状态可信;反之,伴随进程将False反馈到监控程序,证明当前进程运行状态不可信,然后对该进程进行恢复[9]。其中,动态度量配置文件是提供给外部的接口,由可信模块封装储存保护,在其读取、修改或更新之前,需先判断当前平台配置是否处于可信状态。监控进程每次读取改动态度量配置文件之前,都会先判断当前配置平台是否可信,若处于可信状态,可信模块对配置文件进行解封操作再发送给监控进程,确保其安全性。

3 系统验证机制

3.1 本地验证

本地验证是在星载系统启动时进行的一种可信验证机制,是指可信部件基准值与度量值比较的过程,星载系统在完成度量之后即可进行星载本地验证。在安全环境下对原始星载系统可信部件进行哈希计算,生成验证基准值,为了保证基准值在星载系统上不被篡改,使用可信模块的一个密钥作为消息认证码(message authentication code, MAC)密钥,生成基准值的(Hash-based MAC, HMAC)。

基本步骤是,首先使用可信模块的一个密钥,计算度量对象标准值文件内容的HMAC值,将其存储在文件的安全扩展属性中;当需要使用该文件之前,进行同样的HMAC计算,再进行比较验证,利用HMAC的单向性和MAC密钥的安全性,防止对标准值的恶意篡改,确保基准值的安全性。

3.2 远程验证

卫星在轨服役过程中,地面系统往往根据任务需要对其星上应用进程进行在轨维护或动态重构。远程验证是地面系统向星载系统发送任务前,确认星载系统的身份和平台状态配置信息是否可信的一种技术手段,过程示意如图 6所示。

thumbnail 图6

地面系统对星载系统的远程可信验证及可信恢复

远程验证时,远程交互实体向星载系统发送含有随机数的请求消息。星载系统可信模块拥有唯一的背书密钥及相应的数字证书。为保护隐私需要,星载系统基于背书密钥生成对应的身份密钥,并申请相应的数字证书。星载系统可信模块可生成多个身份密钥和证书,在不同的场合使用不同的身份密钥,以达到保护隐私的目的。

星载系统收到请求消息后,相关配置寄存器值通过身份密钥签名后和相应的度量日志与身份密钥证书同时发送给远程交互实体。星载系统收到认证请求消息后,采用公式(2)对配置寄存器值签名[10]

然后,星载系统需将树形度量日志中的相应叶子结点到根节点的认证路径上的散列序列、TPM签名的可信根节点值以及叶子结点的链式度量日志发送给地面系统。地面系统收到报告消息后,先验证身份密钥证书的正确性;通过后验证配置寄存器值签名的正确性。根据认证路径序列重构根节点,与TPM中存储的根节点比对,验证发来的叶子结点的链式度量日志是否被篡改,是否是可信的。认证通过后则表明所报告的链式度量日志是正确的,否则就是不可信的;接着根据链式度量日志和度量目标部件的认证标准值,重构配置寄存器值,与报告消息中的配置寄存器值进行比较,若匹配则判断星载系统中度量目标部件的可信;反之,则表明星载系统上配置寄存器对应的相关部件被篡改过,处于不可信状态,可以通过动态恢复等方式对其进行可信恢复。

4 实验结果分析

研制开发板验证信任链在可信操作系统启动过程中的建立过程,以及可信操作系统进程级的动态度量认证功能,并做性能分析。

启动开发板,通过信任链从可信度量根开始启动操作系统,boot度量结果与由可信存储根保护的校验基准值匹配,内核度量结果与由可信存储根保护的校验基准值匹配。当系统出现异常启动,可信操作系统会自动重新烧录由可信模块保护的可信内核镜像,恢复完成后系统自动重启,实现可信启动。

通过设置配置文件得到操作系统对应用进程动态度量,将度量结果与可信模块基准值进行认证比对。设计实验对3个64 kB大小的应用进行动态度量与认知,选取10次实验结果进行均值分析,实验结果如图 7所示,单次认证过程2.2 ms,小于10 ms;度量时间1.6 s/MB,小于3 s/MB。指标符合设计要求,满足星上应用性能需求。

thumbnail 图7

进程动态度量对标图

5 结论

未来构建天地一体化互联的应用场景中,星载操作系统是影响网络安全性的重要环节。现有星载操作系统注重可靠性与实时性,但缺乏系统安全防护机制。论文提出一种可信计算与认证度量方法,通过引入可信硬件,基于可信基与可信引导,完成了系统与关键应用全运行周期的静态和动态度量与验证。实验结果表明,该方法能够安全且高效的实现系统的可信计算,是对传统的星载系统防护技术的一次革新。

致谢

感谢国防基础科研计划(2018年、2019年)、民机科研项目(2018年、2019年)和深圳市新兴产业大数据智能应用开发实验室对项目研究的支持。

References

  1. Zhao S J, Li X, Zhang Q Y, et al. Security Analysis of SM2 Key Exchange Protocol in TPM2.0[J]. Security & Communication Networks, 2015, 8: 383– 395 [CrossRef] [Google Scholar]
  2. Feng Wei, Feng Deng. Analyzing Trusted Computing Protocol Based on the Strand Spaces Model[J]. Chinese Journal of Computers, 2015, 38 (4): 3– 18 [Article] (in Chinese) [Google Scholar]
  3. Pan Wangyang. Research on Dynamic Integrity Measurement Model of Xen Virtual Machine Based on vTPM[D]. Baoding: Hebei University, 2017(in Chinese) [Google Scholar]
  4. Wang Yong. Research on the Authentication and Terminal Measurement Technology of PLC Based on Trusted Computing[D]. Shenyang: Shenyang Ligong University, 2018(in Chinese) [Google Scholar]
  5. Ma Zhuo. The Security Access Technology Research of Mobile Terminals Based on Trusted Computing in Smart Grid[D]. Beijing: State Grid Electric Power Research Institute, 2012(in Chinese) [Google Scholar]
  6. Zhang Lei. Research on Key Technology of Trusted Network Function Virtualization[D]. Nanjing: Southeast University, 2017(in Chinese) [Google Scholar]
  7. Xu Ri. Research and Application of the Integrity Measurement Mechanism on Trusted Computing Platform[D]. Xi'an: Xidian Universtity, 2009(in Chinese) [Google Scholar]
  8. Megumi A, Joshua D. Guttman, et al. Hash-Based TPM Signatures for the Quantum World[C]//Proceedings of the 16th International Conference on Applied Cryptography and Network Security ACNS, Guildford, UK, 2016: 77–94 [Google Scholar]
  9. Zhang Jianbiao. Process Active Dynamic Measurement Method for Windows Environment[J]. Journal of Shandong University, 2018, 53 (7): 46– 50 [Article] (in Chinese) [Google Scholar]
  10. Jiang Yichen, Han Zhen, Zhanf Dawei. A Scheme of Trusted Virtualization Platform Based on PTM[J]. Journal of Beijing Jiaotong University, 2013, 37 (5): 67– 74 [Article] (in Chinese) [Google Scholar]

All Figures

thumbnail 图1

星载系统可信启动与完整性度量验证设计框架

In the text
thumbnail 图2

基于哈希链的星载系统度量值扩展

In the text
thumbnail 图3

星载系统完整性度量示意图

In the text
thumbnail 图4

度量日志数据结构

In the text
thumbnail 图5

星载应用进程动态度量示意图

In the text
thumbnail 图6

地面系统对星载系统的远程可信验证及可信恢复

In the text
thumbnail 图7

进程动态度量对标图

In the text

Current usage metrics show cumulative count of Article Views (full-text article views including HTML views, PDF and ePub downloads, according to the available data) and Abstracts Views on Vision4Press platform.

Data correspond to usage on the plateform after 2015. The current usage metrics is available 48-96 hours after online publication and is updated daily on week days.

Initial download of the metrics may take a while.