王志皓,安宁钰,张 鹏,王 雪
(1.全球能源互联网研究院有限公司,国家电网公司先进计算及大数据技术联合实验室,北京 102209;2.北京智芯微电子科技有限公司,国家电网公司重点实验室电力芯片设计分析实验室,北京 100192;3.国网辽宁省电力有限公司信息通信分公司,辽宁 沈阳 110016)
当前,解决网络通信可信性问题的技术,国内外较为通用的为可信计算组织(Trusted Computing Group, TCG)[1]提出的可信计算机制与网络接入控制技术相结合可信网络连接(Trusted Network Connection, TNC)[2],该技术由2004年5月TCG组织成立的可信网络连接分组(TNC Sub Group,TNCSG)[3]提出,旨在将终端的可信状态延续到网络中,使信任链从终端扩展到网络[4],在传统的基于身份认证网络接入控制技术基础上,增加基于平台硬件模块的平台身份认证与完整性验证[5],有独创性的优势,符合解决通信可信性的需求。但其面向主机提供通用平台环境下三元对等[6]的鉴别、针对终端进行单向可信认证等机制导致其面向工业控制等特定行业、产业环境的应用有一定的局限性。针对上述问题,本文结合可信身份证明技术的产业化应用现状,分析面向行业的应用需求,给出了一种可行的可信通信解决方案。
随着网络的普及应用,网络攻击越来越多,特别是以恶意代码为主的新型攻击手段常常使得传统的基于防火墙和病毒查杀的网络安全防护手段失去作用。可信网络技术的出现,改变了传统的被动防御的模式。从近年来国内外产业化应用情况来看,可信网络技术的发展阶段可分为网络接入控制、可信网络连接等两个阶段。
网络接入控制(Network Access Control,NAC)框架通过引入用户身份认证和终端安全状态认证两种安全机制来提高网络的安全性。首先,它要求用户在接入网络时必须提供自己的身份信息,只允许合法的用户接入网络,这种认证能够有效隔离网络中的非法用户;其次,它要求对接入终端的安全状态进行认证,终端接入时需要将自身的安全状态信息(例如操作系统是否更新,杀毒软件和防火墙是否启动等)提交给网络接入服务器进行认证,只有符合服务器限定安全策略的终端才能允许接入。网络接入控制框架通过验证接入终端身份和安全状态的合法性,不但阻止了非法用户的接入,而且还防止了不安全的终端(例如感染了恶意代码)接入网络,保证了网络环境的安全。但是,网络接入控制还存在互操作性和扩展性差、安全状态容易伪造、缺乏接入后控制等方面的安全问题。
针对上述问题,TCG提出了一种开放的网络接入控制解决方案——可信网络连接(Trusted Network Connection, TNC),并推出了一系列的标准。TNC的主要思想是:突出架构的开放性,不限定实现TNC架构所使用的技术以支持所有主流计算平台、网络设备和操作系统,并结合了可信计算技术的特点。TCG将TNC设计为与其它网络接入控制解决方案兼容,并推出了包括体系结构、组件接口和支撑技术等完备的标准体系。
我国企业和研究机构在网络接入控制方面也做出了很多贡献。我国提出了支持IEEE 802.1X标准、符合TNC标准的统一接入控制(UAC2.0)方案,在网络上实时执行动态的可信身份策略管理,将用户身份、端点完整性及定位信息与接入控制进行捆绑,解决平衡接入和安全控制的问题;我国还提出了三元对等架构的访问控制机制(TePA-based access control,TePA-AC),设计了TCA可信网络连接架构,发布了国家标准GB/T 29828-2013《信息安全技术 可信计算规范 可信连接架构》,全票通过形成ISO/IEC JTC1/SC27国际标准,其WAPI安全无线局域网在我国物联网、无线城市、三网融合等领域的安全可控方面发挥着积极作用。
我国产业界在可信网络相关技术和产品方面主要采用兼容可信网络连接和三元对等架构的访问控制机制的技术路线。
(1)主要产品类型
当前我国在可信网络产业中的主要产品类型主要包含可信网络设备、可信终端与可信服务单元。
可信网络设备主要包括可信交换机、可信接入网关等网络设备,旨在从网络基础设施的层面提升网络的安全性。
可信终端当前主要包含安全接入终端、手持类终端以及USB-Key等产品,安全终端中通常包含安全芯片或安全固件用以表征终端身份和度量终端安全性,在应用时需要与可信安全网关等设备共同交互使用。
可信服务单元为软件,需要安装在应用系统和可信终端之上,与硬件配合对外提供可信服务。
(2)主要应用方式和解决的业务问题
可信网络产品主要包括“端到端”和“端入网”两种应用方式。
“端到端”应用方式主要解决移动办公等远程端对端安全传输的业务问题。该方式中的参与实体主要包含可信终端和可信接入网关。可信终端借助可信芯片,可以远程向可信接入网关证明自身的身份和终端的安全状态;可信接入网关根据可信终端提供的身份信息和安全状态,决定是否允许远程终端接入。
“端入网”应用方式主要解决终端接入业务网络的安全问题。该方式中的终端和网络设备通常需兼容NAC及各类安全协议,并不限定实现可信网络所使用的技术以支持所有主流计算平台、网络设备和操作系统。
当前的可信网络产业化成果中面向通用计算平台和B/S、C/S架构的业务系统的可信网络通信技术和产业化成果已经相对比较成熟并有较大范围应用,但由于其主要面向通用计算平台进行设计,可信网络连接和三元对等架构的访问控制机制面向诸如石油、化工、电力、交通等关系到国计民生的重要行业的工业控制系统较为复杂,目前在工业控制系统中并未得到广泛应用。
随着工控系统的复杂化、IT化和通用化加剧了系统的安全隐患。通用开发标准与互联网技术的广泛使用,使针对工业控制系统的病毒、木马等攻击行为大幅度增长,结果导致整体控制系统的故障,甚至恶性安全事故,对人员、设备和环境造成严重的威胁。
通信安全是工控系统安全中的重要环节,由于工控系统内的设备功能相对简单、设计较为规范,完成工控协议的逆向工程并不困难,而且大部分的工控协议都不具备安全防护特征,而且工控系统中的终端具有数量多、分布广、通信手段多样的特点,导致面临的网络安全风险种类多,范围大,层次深入,对于终端身份及状态可信鉴别和认证的需求尤为迫切,同时需要确保终端网络通信过程中的数据机密性和完整性,防止由于终端身份被仿冒、完整性被破坏以及数据或指令被窃取或篡改所带来的网络安全事件和经济损失。
本方案适用于可抽象为图1所示的业务模型的通信场景,此场景多出现于工业控制系统中,现场终端设备可通过多种通信方式与主站系统进行通信,通信双方多采用符合相关标准的工业控制协议进行报文交互,主要实现嵌入式终端量测数据的上报、主站系统控制命令的下发等业务。在此种环境下,对通信双方的身份、安全状态、数据机密性以及嵌入式终端设备的在线状态等都有安全需求。
图1 本方案适用的业务模型
本方案在通信双方建立连接时和通信过程中进行安全防护。在嵌入式终端设备与主站系统建立连接时,完成主站系统与接入终端的双向身份认证、接入终端的可信状态检测,确保接入终端的身份可信和计算环境可信,同时协商通信密钥,实现对通信数据的机密性和完整性保护;在通信时,通信数据采用在建立连接时协商的通信密钥对全部通信数据进行机密性保护,主站系统与嵌入式终端设备定期进行身份认证和状态检测,并对终端在线状态进行监测,发现问题时可强制终端离线。
本方案在三元对等架构的访问控制机制基础上进行调整,简化了访问控制器、策略管理器以及可信平台评估层相关功能,提出基于可信计算技术的透明于工控协议的可信通信协议,结合数字证书技术实现可信安全通信系统,构建终端可信网络连接通信应用环境。
(1)可信计算技术
本方案主要应用静态度量技术和动态度量技术实现通信双方状态可信度量和校验。
静态度量过程主要在嵌入式终端或主站系统启动时进行,从嵌入式终端或主站系统加电开始建立信任链,并基于白名单机制在应用程序启动时对应用程序进行可信度量,度量结果作为通信双方双向验证计算环境状态可信的依据。
图2 终端系统动态度量机制
静态度量和动态度量是本方案中实现可信TCP/IP协议的网络层和应用层,适用于使用以太网、以太无源光网络、无线公网(GPRS、3G、TD-SCDMA等)进行通信的系统,实现主站系统前置服务器和嵌入式终端设备间端到端的安全,可在不改变系统网络架构并极少改变系统设置的情况下实现智能终端设备的安全接入,其交互流程如图3所示。
图3 可信通信协议交互流程
可信通信协议主要包含记录协议和握手协通信的基础,为保证方案的安全性,应使用TPCM、TCM或TPM等可信硬件实现相关过程,通信双方应为采用上述可信硬件的可信计算平台。
(2)可信通信协议
本方案给出了一种支撑终端身份认证、可信状态认证、机密性保护和完整性保护的可行的轻量级可信通信协议。可信通信协议工作于议两层,其中记录协议建立在其他可靠的传输协议如TCP/IP之上,用于封装高层协议如握手协议,而握手协议使通信双方相互进行认证,并协商加密算法和密钥。在可信通信协议中调用可信计算技术实现终端身份和状态的证明,包括获取并验证终端身份证书,获取并验证嵌入式终端的静态度量结果。完成终端身份和状态的证明之后交换公钥证书。在电力终端与系统主站首次协商即将建立通信会话之前,上述握手过程已经完成。可信通信协议的握手交互流程如图3所示。
依据具体业务需求,在握手阶段,可以采用三种认证模式:
1)基于数字证书的认证:嵌入式终端设备重新加电与主站系统建立连接时采用该种认证方式,通过数字证书进行身份认证,通过静态度量进行状态认证,认证完成后协商用于保护通信数据的工作密钥;
2)基于对称算法的认证:嵌入式终端设备与主站系统在正常通信流程中,若出现某种情况导致连接终端重新建立连接时采用该种认证方式,通过协商的工作密钥进行身份认证,通过动态度量进行状态认证;
如图3,△ABC中,AC=BC,点D是线段AB上一动点,∠EDF绕点D旋转,在旋转过程中始终保持∠A=∠EDF.若射线DE与边AC交于点M,射线DE与边BC交于点N,连结MN.
3)工作密钥过期重新认证:当工作密钥使用一定周期后,采用基于数字证书的认证方式重新进行身份认证和状态认证,并协商新的工作密钥。
本方案可通过设计并研发部署于系统主站侧的可信安全通信网关和部署于嵌入式终端侧的可信安全通信模块实现。
(1)可信安全通信网关
可信安全通信网关拥有代表主站身份的数字证书,部署于系统主站前置机端,用于对接入业务系统的嵌入式终端进行身份认证、状态认证和通信数据保护。
可信安全通信网关可以采用双网口的设计,分别与主站系统前置机和可信安全通信模块进行数据通信,与业务前置机通信的网络接口工作于网络层,收发IP报文分组,与可信安全通信模块通信的网络接口工作于应用层,其载荷为另一网口收发的IP报文分组。
可信安全通信网关可以由可信通信协议模块、工作密钥管理模块、终端管理模块、数字证书管理模块、终端监控模块和应用映射模块等部分组成。
(2)可信安全通信模块
可信安全通信模块部署于嵌入式终端侧,内置数字证书代表终端身份,用于业务终端和业务前置机的身份认证和可信保护,实现业务前置机与业务终端间的可信身份认证和可信通信。
可信安全通信模块应可实现对嵌入式终端的静态度量、动态度量、可信通信协议等功能。
可信安全通信模块可以采用外置串接、终端内嵌或软件模块三种实现方式。外置串接模块应有两个通信接口,通信接口需根据嵌入式终端的通信接口进行设计,可以为双网络接口、双串行接口、单网络接口单串行接口的形式,外置串接模块的一个通信端口与嵌入式终端连接,另一网口与本地交换机、ONU等网络设备连接,此种方式无需嵌入式终端进行软硬件改造;终端内嵌模块以插针方式内置于嵌入式终端内,应根据嵌入式终端的尺寸和通信模式进行设计,此种模块的技术原理及实现方式与外置串接模块相同,但更加节省空间,其缺点是需要嵌入式终端进行硬件改造;软件模块应为与通信协议栈集成的软件,需要根据嵌入式终端操作系统或通信协议栈的具体实现形式和版本进行开发,此种方式成本最低。
本方案的一个典型应用为其在配电自动化系统中的应用。配电系统将电力逐步传送到用户,是电力系统直接面向电力用户的环节,TPCM芯片实现可信度量和密码算法,可信安全通信系统的部署方式如图4所示。
图4 可信安全通信系统应用部署架构
可信安全通信网关部署在主站前置机前,通过网口连接主站前置机进行主站数据通信,配电自动化系统主要实现配电系统的正常运行及事故情况下的监测、保护、控制和配电管理,配电自动化系统由配电主站、子站和配电终端构成,目前相当一部分配电自动化系统不包含子站,由配电终端直接和配电主站进行通信。
应用本方案设计并实现的可信安全通信系统由可信安全通信网关和外置型可信安全通信模块构成,其数字证书由统一的数字证书管理系统进行签发,可信安全通信网关使用PCI-E形态的TPCM实现可信度量和密码算法,外置型可信安全通信模块采用由以TCM为核心的通过网口连接交换机等网络设备与可信安全通信模块交互确保终端安全接入。
外置型可信安全通信模块具有两个网口,一个网口与业务终端连接,另一网口与本地网络交换机或无线通信模块等设备连接。
此应用实例中的可信安全通信系统在部署时将各组成部分串接进了整个通信网络中,未进行业务系统的大规模软硬件改造,但由于增加了系统中的设备数量,此种应用的方式增加了部分可能的故障点。
本方案在电力系统中进行应用,同时可应用于石油、化工、水利、交通等类似工业控制系统中,具有广泛的产业化前景。
本文对可信网络通信技术的发展进行了分析,调研并分析了可信网络通信技术发展到可信网络连接和三元对等架构方向的产业化现状和主要的应用场景及方式,目前市场上面向通用计算平台和B/S、C/S架构的业务系统的可信网络通信技术和产业化成果已经相对比较成熟并有较大范围应用,但从产业化的角度看重要行业工业控制系统对于通信安全的需求仍然比较迫切,本文面向广泛应用的工业控制系统业务模型提出了一种可行的可信通信解决方案,实现终端身份和可信状态证明,给出了应用案例,在石油、化工、水利、交通等类似工业控制系统中,具有广泛的产业化前景。
[1]TNC Specification Trusted Network Connect-TNC Architecture for Interoperability Revision11,[EB/OL].Trusted Computing Group, 2006.5,http//:www.trustedcomputinggroup.org.
[2]Trusted Computing Group.TNC Architecture for Interoperability[EB/OL].(2011-01-25)[2017-02-15].http//:www.trustedcomputinggroup.org/resources/tnc_Architecture_for_Interoperability_specification.
[3]TNC Specification Trusted Network Connect-TNC IF-PEP:Protocol Binding for Radius Revision07, [EB/OL],2006.5,http//:www.trustedcomputinggroup.org
[4]张焕国,陈璐,张立强.可信网络连接研究[J].计算机学报,2010.4,33(4):706-717.
[5]李兴国,顾震苏.基于可信网络连接的安全接入技术[J].微计算机信息,2007.5,23(5-3):28-29,46.
[6]曹军,雷肖跃,葛莉,等. 一种基于三元对等鉴别(TePA)的可信平台验证方法[D]. CN.