基于可信计算的全舰计算环境安全增强研究
2020-10-28尚文利邢祥宇刘贤达高恩阳
尚文利,邢祥宇,刘贤达,尹 隆,高恩阳
(1.中国科学院沈阳自动化研究所 网络化控制系统重点实验室,辽宁 沈阳 110016;2.沈阳建筑大学信息与控制工程学院,辽宁 沈阳 110168;3.中国科学院机器人与智能制造创新研究院,辽宁 沈阳 110016;4.中国科学院大学,北京 100049)
0 引 言
“全舰计算环境”(Total Ship Computing Environment,TSCE)是一个分布于全舰范围的开放式系统环境,其可兼容战术用途和非战术用途,开放式系统使系统的重用不再困难,互操作性更高[1]。我军第3 代信息系统发展缺少开放体系结构设计理念,采用的集成方式为自顶向下,计算设备具有“专机专用”的特点,灵活性和可扩展性较TSCE 明显不足[2]。
全舰计算环境为我军建立集中式信息系统集成模式提供了很好的参考,但是同时全舰计算环境也面临着诸多的挑战[3-4]。全舰计算环境自提出之日起,其理论与实践就备受关注,国内学者也针对TSCE 进行了详尽的分析。董晓明[5-6]从体系结构和系统集成框架的角度对TSCE 进行了分析;金刚[4]从安全体系结构角度进行了研究;郑志蓉[3]从TSCE 安全服务架构角度进行了分析;裴晓黎[2]着重分析了TSCE 对我军信息系统集成的影响。
全舰计算环境下的安全环境构建,保证全舰计算环境下的操作是安全的,但是全舰计算的可信赖性未知,这是一个关键的问题。目前的全舰计算环境的相关技术并没有回答这一问题。
为了全面提高操作的可信赖性,提出“可信全舰计算环境”的概念。“可信全舰计算环境”就是在传统“全舰计算环境”的基础上,考虑可信计算[7-9]的相关手段,提高全舰计算环境的安全程度,从而构建一个可信的舰船计算环境。
1 全舰计算环境安全风险分析
1.1 数据需求对安全的影响分析
出于安全考虑,全舰计算环境的数据流考虑从2个方面建立:
1)从实时性角度考虑,根据实时性需求的不同,将实时应用与非实时应用进行区分,从逻辑上建立2条总线,通过面向服务架构提供不同协议之间的转换,实现在全舰计算环境中的数据交换。
现场总线作为一种能够减少可编程逻辑控制器(PLC)负载并减少响应时间的通信技术得到广泛使用。全舰计算环境的控制系统需要高实时性,实现高实时性的一个关键就是使用商用成品的现场总线技术作为实时数据总线[9]。企业服务总线(ESB)是大型分布式系统连通性最重要的架构模式。ESB 在节点交互中是一种逻辑中介一样的存在,主要的功能有协议转换、 提供消息路由、 解析和处理数据和数据转换[6]。
2)考虑数据流功能,可以将系统看做控制网络和管理网络,控制网络和管理网络之间采用分布方式适配处理器(DAP)实现协议的转换。
在控制网络层,以智能化仪表和智能性传感器为主,一般采用现场总线接口,能够方便实现设备控制信号输出和数据采集需求。通常控制网络与管理网络采用不同的协议、引入数据交换过程。数据交换通常采用中间层技术、动态数据交换或加入转换接口等[6]。
1.2 设备需求对安全的影响
全舰计算环境基础设施分为显示层、核心层和适配层3 个层面。各种多功能的前端设备通过适配层连接到全舰计算环境的核心,适配层支持多种标准接口的物理和协议转换,并且具备较强的接口扩展能力。
适配处理识别是TSCE 基础设施的重要组成部分,提供必要的数据转换和处理功能。DAP 的设计遵循开放式体系结构,采用统一的技术标准规范,目前的主流方案是采用现成的商用处理器,应用系统上采用实时操作系统,具有数据协议转换处理能力、标准的物理接口和其他辅助功能,为集成作战系统和各分系统提供了统一的技术途径,具有开放、通用和标准的特点[6]。
1.3 系统集成对安全的影响
全舰计算环境的设计遵循4 个设计理念:架构开放、需求主导、应用透明和统筹管理。这4 种设计理念必须从顶层设计开始,为了实现更高程度的系统集成,全舰计算环境从功能集成、数据集成和物理集成方面进行了顶层设计[10-11]。
功能集成是指运用分析手段构建和组织功能系统的过程。这些手段主要包括系统需求分析、组织和运用模式分析、业务流程的确定,信息处理需求的明确。功能集成面向主要用户的使用,其次是应用的执行,由3 个层次构成,分别是构件、服务和任务,如图1 所示。
图1 全舰计算环境功能集成框架Fig.1 TSCE function integration framework
构件、服务和任务构成了一个递进关系,构件作为服务的基础,服务作为任务的基础,互相依赖,但是耦合程度较未采用功能集成的应用系统明显降低。
数据集成主要解决数据的分布性和异构性问题,这些数据具有不同的来源和不同的数据格式,需要进行统一管理,支持应用与服务、应用与数据库之间的数据统一访问和描述,建立高效的数据共享机制,支持应用和服务在安全权限内快速高效的访问数据。考虑应用的实时性需求,从逻辑上建立2条数据总线,一是实时数据总线,二是企业服务总线,如图2 所示。
图2 全舰计算环境数据集成Fig.2 TSCE data integration
从长远发展趋势来看,实时应用和非实时应用,控制网络和管理网络采用统一协议是不现实的,更加实际的是采用多种符合标准的数据协议。因此,桥接机制的使用成为必然,但由此带来的数据验证、数据处理开销、数据传输开销、吞吐量与延迟等问题必须考虑[12-13]。
1.4 全舰计算环境面临的安全风险
通过对全舰计算环境的技术架构、数据需求、设备需求、系统集成等角度的分析,本文认为全舰计算环境作为一种最先进的舰船设计理念,仍然存在一些不足,这些问题主要是:
1)数据转换过程中缺少对数据完整性、安全性和可靠性的校验。关键服务数据的完整、安全性和可靠性无法得到保障。
关键服务数据的可靠性决定了关键服务的功能是否能够顺利完成,关乎着关键服务的计算结果是否可信。增加安全手段虽然能够保证数据的完整性、安全性和可靠性,在构建时需要考虑延迟问题。
不同的数据分发技术采用的数据验证手段也存在着一定的差别,这些数据验证手段之间的互信程度如何值得探讨。数据中心如何处理不同分发技术获取的数据,全舰计算环境并没有给出安全可靠的解决方案。
2)设备的抗伪造能力不足,无法判断新增或更换硬件的安全性和可靠性。适配处理设备接口的安全性没有得到保护。
3 个层次对应大量硬件设备,为了实现关键部件的自主可更换性,对设备的身份认证需要进行大量的设计,但是全舰计算环境并没有考虑这方面的设计,设备的抗伪造能力不足,无法判断新增或更换的硬件的安全性和可靠性。同时采用网关型适配器通常会预留一部分接口,这些接口的安全性并没有得到保护,这都是在未来的改进中需要解决的问题。
3)缺少底层构件的程序级访问控制手段,导致一旦某个构件受到修改,将会威胁上层服务的可用性。
目前的结构存在着明显的缺点:底层构件的重用程度高,一旦某一构件受到攻击,会造成大面积的影响。而全舰计算环境对底层构件的程序级访问控制并没有进行设计,导致一旦某个构件受到修改,其上层服务的安全性会受到严重影响。在完整性方面没有完善的手段保障构件的完整性需求,由完整性带来的影响会反映在程序的可用性上。舰船作为一个作战单位其可靠性十分关键,而全舰计算环境本身并没有涉及可靠性的提升手段。对底层构件的保护能够有效地控制攻击程序对系统重要文件的修改,保护文件的安全,提高系统的安全性。
这些问题正是可信计算要研究的主要问题。可信计算作为一种新型的安全手段,在数据的完整性、安全性和可靠性方面较传统安全手段有着巨大的优势。
2 构建可信全舰计算环境
为了弥补全舰计算环境的不足,提高全舰计算环境的安全性,提出可信全舰计算环境的概念,可信全舰计算环境是指采用可信计算的手段,提高全舰计算环境的可信性,构建安全可信的全舰计算环境。
TCG 用实体行为的预期性来定义“可信”:如果一个实体的行为是以预期的方式符合预期的目标,则该实体可信[14]。张焕国[15]认为可信计算系统是能够提供系统的可靠性、可用性、安全性的计算机系统,通俗地称为:可信≈可靠+安全。
构建可信全舰计算环境从可靠和安全2 个角度出发,因此,本文提出采用可信计算对全舰计算环境进行安全增强主要的手段有以下3 种:
1)针对数据转换过程中缺少对数据完整性、安全性和可靠性的校验问题,一方面,通过完整性度量确保数据采集设备和数据转换服务的可信性,保证数据获取设备的可信,并保证转换服务可信,在一定程度上就可以保障数据的可靠性;另一方面,建立经验数据库,通过与经验数据库的比对,判断数据是否符合预期要求。
2)针对设备的抗伪造能力不足,无法判断新增或更换的硬件的安全性和可靠性问题,采用基于设备特征的完整性校验方法,对全舰计算环境中设备进行安全增强。可信计算的完整性校验方法通常都存在着一个弊端,就是面对设备增加需求时,修改校验过程繁琐。而基于设备不变属性的完整性校验方法能够一定程度上缓解这一问题。
3)针对全舰计算环境缺少底层构件的程序级访问控制问题,采用可信计算组织(TCG)可信软件栈构建新的领域应用设计架构,增加用户服务可信引擎,和扩展支持模块,对底层构件的访问进行控制。
2.1 关键服务数据校验
采用2 种策略对数据进行安全加固,如图3 所示。
图3 关键服务数据校验方法Fig.3 Key service data verification method
1)确保数据采集设备和DAP 的完整性。通过保证数据采集设备,数据传输和数据转换各环节的硬件和软件完整性,确保数据采集的可信性[16]。
2)设置经验数据库。收集既往数据采集设备数据,建立经验数据库,通过经验数据库建立异常检测模型。异常检测的内容可以包括数据范围检测、趋势偏离等。异常检测还可以用来发现数据缺失,保证数据的完整性,一旦发现异常值,应自动进入异常处理机制,确定错误源头。
2.2 基于设备不变属性的完整性校验方法
设备不变属性的完整性校验方法,通过基于设备不变属性的完整性校验方法加强设备的抗伪造能力,在节点中添加的设备都将受到严格的完整性校验,出现设备文件修改、不可信设备时不能通过完整性校验,系统将不允许现场设备的使用,从而保护的全舰计算环境的设备安全。
基于设备不变属性的完整性校验方法的实质是寻找一种能够表征设备完整性状态的不变属性[17]。固有属性是设备的本身身份标识,是设备最基本的完整性表征;赋予属性是为防止固有属性被拷贝,给予设备节点秘钥等不变属性,是设备完整性增强的表征;派生属性是采用属性融合算法对固有属性与赋予属性进行融合压缩,是设备完整性具有实用性、可操作性的属性表征,如图4 所示。
图4 完整性表征图Fig.4 Integrity representation
固有属性是设备本身身份标识,其属性值在设备工作期间保持不变,伪造和替换都会使属性发生变化。赋予属性是为了防止固有属性被克隆,给予设备节点秘钥等不变属性,节点秘钥由TPM 进行控制,采用TPM 控制秘钥具有更加安全的特点,受TPM 控制的秘钥泄露可能性极低,从而保证节点秘钥的安全[18]。对于不同的设备固有属性、赋予属性和属性融合算法,将产生不同的派生属性,在TPM 的使用中,常采用SHA-1 算法进行属性融合。
2.3 基于TSS 的领域应用设计
可信软件栈(TSS)能够实现2 个方面的设计,首先能够控制底层构件的完整性,其次通过领域应用设计框架,能够进行构件访问的控制。TSS 是一种为上层的可信计算应用提供访问TPM 接口的软件系统,起到了连接硬件与应用的重要作用[19]。TSS 起到了连接应用程序和TPM 的功能,应用程序访问TPM 的操作经由TSS 转发,再由TSS 直接管理TPM。
在整个可信计算平台体系中,可信软件栈(TSS)是必不可少的系统组件[20]。TSCE 的软件可以分为领域应用和基础设施,基础设计采用商用现成产品,目前主流软件产品均已经支持TCG 的TSS,而领域应用通常专门为舰船定制,这些产品具有一定的特殊性。为此,提出如图5 所示的基于TSS 的领域应用设计架构,从底层进行TSS 的设计,从而保证底层构件的访问受到控制。
系统底层主要由TPM 硬件构成,负责提供基本的TPM 组件服务。TSS 是TPM 的的支撑软件,TSS 通常采用通用版本,但是同样支持根据特殊情况进行重新编写,提供基于TPM 的应用开发平台[21]。
图5 基于TSS 的领域应用设计架构Fig.5 TSS-based domain application design architecture
扩展支持模块实现对底层功能的封装,避免更高层的软件直接调用底层核心代码,降低代码的耦合性。同时,对扩展支持模块的代码进行更加细致的审核,使代码的可用性更高。扩展支持模块是用户软件与TPM 之间的中转站。
用户服务可信引擎起到访问控制的目的。用户服务引擎利用TPM 中的秘钥生成、加/解密算法等部件实现判断可访问性,如果出现未被许可服务,用户服务可信引擎可以对服务提出拒绝。
3 结 语
全舰计算环境作为一种先进的舰船设计理念,对海军建设有着积极的意义。本文通过分析现有全舰计算环境的安全威胁,全面地认识全舰计算环境的安全风险,针对这些缺点,提出了基于可信计算方法的改进方法,为进一步建设现代化舰船系统提供新思路。