可信网络连接的容侵模型及安全协议研究
2018-03-19李林峰孔祥营张振华
李林峰, 孔祥营, 张振华
(江苏自动化研究所, 江苏 连云港 222061)
最初的专用网因为对网络安全的需求不高,主要侧重解决互联互通问题。但近年来,别国爆出的专用网遭受新型的APT攻击、预置“特殊后门”等网络攻击事件说明物理隔绝的专用网正面临着严峻的安全考验,有必要将安全防护作为一项重要的设计因素予以考虑。特别是在军事专用网中,由于其作战任务明确,且对信息系统有高可靠、高实时的要求,以往在主机上配置防火墙、入侵检测系统、漏洞扫描等安全设备的防御措施已不足以应对现代日趋复杂的攻击方法。根据专用网节点数量有限,网络拓扑相对固定,专用网接入人员与接入设备受限等特点,可针对性地引入先进的新型安全技术,充分利用专用网自身优势来提高专用网的安全性能。
可信计算技术的提出是为了提高计算机系统自底向上的可监控性,它通过可信平台模块对计算机的可信度进行了取证,使计算机在身份鉴别时有了高可靠的依据。可信网络连接[1-4](Trusted Network Connection, TNC)技术是由可信计算组织(Trusted Computing Group, TCG)下的可信网络连接工作组(Trusted Network Communication Subgroup, TNC-SG)提出的多层次、可扩展的网络访问控制框架,和Cisco NAC、Microsoft NAP等商业访问控制框架有很好的互操作性。可信网络连接中的访问控制是一种“白名单” 思想,即仅容许可信度满足要求的主机接入网络。这样的接入机制在软硬件环境相对确定的网络环境中能提供最大程度的安全保障。在公司内网、工控网络、军事作战网络等网络环境中计算机的软硬件一般采取定期升级版本的维护方式,而且每台主机安装的操作系统、应用软件的种类等都可以提前确定,采用可信网络连接可以满足这类网络环境的安全需求。
本文将在分析与研究可信网络连接在专用网中的应用的基础上提出一种冗余结构的容忍入侵模型(redundant intrusion tolerant model, RITM)框架。
1 相关工作
目前可信网络连接的框架如图1所示。
TNC框架的实体由三部分组成:访问请求者(Access Request, AR)、策略执行者(Policy Execution Point, PEP)和策略决定者(Policy Determination Point, PDP)。接入认证的过程又可以分为三个层次:网络访问层(Network Access Layer, NAL)、完整性评估层(Integrity Evaluation Layer, EVL)、完整性度量层(Integrity Measurement Layer, IML)。为了体现与现有接入技术的良好兼容性,网络访问层的实现可以采用802.1x、VPN等安全协议,完整性评估层主要完成平台身份的鉴别,完整性度量层完成平台完整性的收集。TNC框架提出的接入流程主要包含三个过程:用户身份认证、平台身份认证和平台完整性认证。每个过程中交互的消息格式以及与现有协议的接口[5-8]已被写入标准。正是TNC框架模块化和分层次的设计,使它能和已有技术很好地兼容。因此它被工业界和学术界广泛地接受与实现。
当然,TNC框架自身也存在着安全性缺陷,主要体现在以下几个方面:
1) 缺乏双向认证。TNC框架的流程中只有服务端认证客户端的过程,客户端无从得知自身是否接入了正确的网络,这样的结构使得黑客可以伪装服务端的IP地址来骗客户端接入,从而盗取客户端的隐私、机密等重要信息。
2) 平台隐私缺乏保护。TNC框架的认证依据是经过哈希算法的二进制形式的平台配置信息,这使得服务端可以通过逆向工程获知平台配置等敏感信息。在黑客攻陷或伪装服务端成功后,客户端的信息即被泄露。
3) 单点认证方式的可靠性低。TNC框架默认采用单个认证节点的结构,这使服务端成为黑客攻击的首要目标。在服务端被攻陷时访问控制策略即刻失效,而且管理员无从得知服务端的状态,这是很严重的安全隐患。
针对问题1需要改进网络访问层的通信协议,使客户、服务端在建立连接过程中实现双向的身份鉴别。目前支持双向身份鉴别的协议有EAP-TTLS[9]、EAP-TLS[10]等,也有学者设计了基于对称密钥[11]的认证方案。针对问题2需要找到平台二进制信息的替代方案,目前的解决方案主要有利用可信第三方的证书证明[12]、 基于组件属性的零知识证明[13]方案等。针对问题3本文提出用分布式集群代替单点认证的结构,即利用分布式系统中的容错方法合理规避掉被黑客攻陷节点的干扰,从而达到容忍入侵的目的。目前这类方法主要采用拜占庭系统,常用的拜占庭一致性算法有PBFT[14-15](Practical Byzantine Fault Tolerance), HQ[16], Zyzzyva[17]。
就专用网而言,其对访问控制系统的可靠性和性能有较高要求,因此本文对RITM的可靠性和性能提升方面进行研究。
2 冗余容侵模型(RITM)结构设计
RITM由三个实体组成,即访问请求点(Request Point, RP)、接入执行点(Execution Point, EP)和接入决策集群中的各个决策点(Determination Point, DP)。RITM的接入过程参考TNC的接入过程设计,也分为用户身份认证、平台身份认证和平台完整性认证。如图2所示。与之不同的是,RITM将认证决策的权力交由群组完成,于是在每个过程中接入执行点都将认证数据拷贝分发给群组中每个节点。在节点同步完成认证后先进行一致性检查,认证结果的不同将使节点分为两组,再在占多数的组中进行选举,由这一组的代表节点将本组的认证结果发给执行点。执行点按照代表节点所在组的个数决定是否接受认证结果,依据拜占庭算法,当群组节点数为3f+1,当该组节点个数不少于2f+1时接受结果,否则放弃结果。
在RITM模型里,如图3所示,认证集群里每个决策点都包含一致性检查器和选举器两个功能模块和一张分组表。一致性检查器的作用是认证结束后收集并分析各个决策点的认证结果,判别信息来源的真假,并最终修改分组表,使每个节点都知道自己的分组。选举器的作用是按分组表运行选举算法,在本组中在协商出代表节点,最终的认证结果将由代表节点交付接入执行点。
3 RITM安全协议研究
3.1 协议流程
RITM内的安全协议设计流程如图4所示。协议主要包括四个阶段:认证初始化阶段、一致性检查阶段、分组选举阶段和策略交付阶段。在认证阶段开始之前,EP需要随机生成与集群节点数一样多的随机数和生存时间,在给每个随机数添加标识后加密并作本地保存,并将它和生存时间以及RP提供的身份、完整性信息一起发送给集群里的每个节点。节点在收到数据后开始独立完成认证工作。在认证完成后进入一致性检查阶段,集群中各个节点将相互交换两轮信息来更新分组表,使安全节点被划分到一个组中。然后进入选举阶段,在占大多数的组中运行选举方法选出一个代表节点来交付认证结果,代表节点将收集组内其他节点的加密随机数并和自己的认证结果一起发给EP。EP根据收到的加密随机数个数决定是否执行收到的认证结果。
协议的形式化描述如下:
前提假设:假设一个服务器集群里包含n个认证节点,即AS={as1,as2…asn}。集群里的每个节点知道其他节点的公钥,集群里不安全节点的数目为k,则不安全节点的总数在超过时⎣(n-1)/3」,EP会拒绝接受认证结果,集群必须进行维护。EP生成的随机数仅自身可知。
1) 认证初始化阶段
步骤1EP生成n个随机数N1,N2…Nn和生存时间T,给每个随机数分配标识并用密钥Ks加密作为秘密,即Si=EKs{Ni,idi},i∈{1,2…n}。EP按顺序将秘密和平台信息以及生存时间T发送给集群里的每个节点,确保不同的节点收到不同的秘密。
EP→DPi:EPKi{Si,T,infor}
2) 一致性检查阶段
步骤2每个DP按流程完成终端平台信息的认证工作,并将认证结果Γi用自己的私钥签名后发给其他的DP。
DPi→DPj:Sigi(Γi),(i≠j)
步骤3每个DP在收到其他DP的认证结果Γi后汇总,结合自己的认证结果合并,组成结果集Δi={Γi,Sigj(Γj),Sigk(Γk)…Sigm(Γm)},再将认证结果集用私钥签名发送给其他DP。
DPi→DPj:Sigi(Δi),(i≠j)
步骤4(一致性检查过程)每个DP收到其他DP的认证结果集Δj后先验证集中每项Γj的签名是否正确,再依次与自己的认证结果Γi比较,如果不同则将分组表中的第j个DP移动到另一个不可信分组中。
BEGIN
IF (Γj≠Γi) THEN
Move(DPj)→untrustedlist
END
3) 分组选举阶段
步骤5(选举过程)每个安全认证节点生成一个1~1000之间的唯一随机数Ri,每个DP向自己分组表里安全的DP发送自己的随机数Ri。当收到其他DP的随机数时,如果自己的随机数大,则返回Bigger消息给它;当收到其他节点的Bigger消息时则停止发送Ri,并等待Winner消息。
BEGIN
IF (DPi←DPj:Sigj(Rj)) THEN
IF (Ri>Rj) THEN
DPi→DPj:Sigi(Bigger)
IF (Ri WaitSigs(Winner) IF (DPi←DPj:Sigj(Bigger)) THEN WaitSigs(Winner) END 步骤6当某个节点向分组表中其他所有节点发送过Bigger消息后,该DP将作为代表并发送Winner消息通知其他节点。组内其他节点在收到Winner消息向代表节点DP(s)发送保存的秘密Si。 BIGIN IF (DPi←DP(s):Sigs(Winner)) THEN DPi→DP(s):EPKs{Si} END 4) 策略交付阶段 步骤7代表节点DP(s)收集其他组内安全DP的秘密Si,汇总后和自身的认证结果一起用EP的公钥PKE加密并发给EP。由EP根据判别条件决定是否执行认证结果。 DP(s)→EP:EPKE{Γs,Si,Sj…Sl} 认证服务冗余容侵模型的安全协议具备抗重放攻击的特点,执行点在认证开始阶段给集群里的每个认证节点都发送了生存时间,只有在规定的时间窗内完成认证才被视为有效,这样可以防止恶意第三方截获会话并重放攻击。 其次,冗余容侵模型协议在签名不可伪造的前提假设下,具备不可欺瞒的特点。协议通过两轮消息交换,使集群里安全的认证节点获知其他节点给出的接入策略,因为被入侵的节点无法篡改其他节点的签名,安全的认证节点可以根据认证结果的是否一致来确定某个节点的安全性。 此外,冗余容侵模型具有高度去中心化的结构特点。冗余容侵模型协议每次完成一致性检查后从安全的节点中以唯一随机作为依据选举代表节点,这种特点使得每次认证会话里的代表节点都不确定,具有随机性,这就增加了黑客攻击的难度,在一定程度上提升了模型的安全性。 认证服务冗余容侵模型的时间性能主要与认证服务集群的规模以及请求接入的终端平台的信息数据量有关。这里在不计入每个决策点用于认证的时间开销前提下,比较RITM协议与经典的一致性、选举协议如PBFT加Bully[18],以及工程应用中常见的Paxos协议[19]的效率。 假设在一个包含n个节点的集群中,有k个不安全节点。表1是三种协议的效率,这里以交换信息的轮数作为单位。 表1 几种协议消息交互轮数 注:表里的Paxos协议为执行点作唯一接收者的情况。 在实际使用中,考虑到集群的部署成本,n一般不会太大,由于所有的认证节点是并发完成认证的,这和单台服务器认证消耗的时间一样多。集群完成一致性检查和选举的时间开销可以预见是不随需验证的平台信息数据量的增加而增加的,反观认证耗费的时间是与平台信息数据量呈线性增长的。这使得冗余容侵模型在平台信息量大的终端环境下能以较小的时间开销提高系统的安全可靠性,性价比很高。 目前基于TNC架构的网络接入系统大多采用单点认证的方式,这种架构的系统难以应对认证服务器被黑客入侵的情况。本文提出的认证服务冗余容侵模型能够保证在大多数情况下,部分认证节点被入侵系统依然能进行接入认证工作。并为这种特殊模型设计了安全协议,确保认证服务器集群内部、接入执行点与服务器集群之间的可信通信。这将为提高专用网可靠性与实时性起到有效的作用。 [1] TCG trusted network connect TNC architecture for interoperability version 1.1[S].http:∥www.trustedcomputinggroup.org, 2006. [2] Federated trusted network connect(TNC) version 1.0, Revision 27 [EB/OL].[2009-05-18].https:∥www.trustedcomputinggroup.org/wp-content/uploads/TNC-F ̄e ̄d ̄e ̄r ̄a ̄t ̄e ̄d-TNC-v1.0-r27.pdf. [3] TCG trusted network connect TNC architecture for interoperability specification version 1.3 [EB/OL].[2008-09-15].https:∥www.trustedcomputinggroup.org/specs/TNC. [4] TCG trusted network connect TNC architecture for interoperability specification version1.4[EB/OL].http:∥www.trustedcomputinggroup.org/resources/tcg-architecture-overview-version-14,2009. [5] TNC IF-TNCCS: Protocol Bindings for SoH, Version 1.0[EB/OL].[2007-05-21].https:∥www.trustedcomputinggroup.org/wp-content/uploads/IF-TNCCS-SOH-v1.0-r8.pdf. [6] TNC IF-PEP: Protocol Bindings for RADIUS Specification, Version 1.1[EB/OL]. [2007-02-01].https:∥trustedcomputinggroup.org/wp-content/uploads/TNC-IF-PEP-v1.1-rev-0.8.pdf. [7] TNC IF-IMC Version 1.1, Revision 5 [EB/OL].[2006-05-01].https:∥trustedcomputinggroup.org/wp-content/uploads/TNC-IFIMC-v1-1-r5.pdf. [8] TNC IF-IMV Version 1.0, Revision 3[EB/OL].[2005-05-03].https:∥trustedcomputinggroup.org/wp-content/uploads/TNC-IFIMV-v1-0-r3.pdf. [9] 张立茹, 鄢楚平, 詹葆荣.基于EAP-TTLS的可信网络接入认证技术[J].计算机与现代化, 2013(10):111-116. [10] D. Simon, B. Aboba, R Hurst. "The RFC Series and RFC Editor". RFC 5216. Retrieved March, 2008. [11] 符湘萍,吴振强. 可信网络接入认证协议的设计与分析[J]. 计算机工程与设计,2011,32(12):3993-3996. [12] 魏达, 贾翔鹏, 王健等. 基于可信证书的可信网络接入模型及实现[J]. 吉林大学学报(工学版),2010,40(2):496-500. [13] 赵世军, 冯登国. 基于属性证明的可信网络接入方案[J]. 武汉大学学报(理学版),2012,58(6):519-525. [14] Lamport L, Shostak R, Pease M. The byzantine generals problem[J]. ACM Trans on Programming Languages & Systems. 1982, 4(3): 382-401. [15] Castro M. Practical byzantine fault tolerance and proactive recovery[J]. ACM Trans on Computer Systems(TOCS). 2002, 20(4): 398-461. [16] Cowling J, Myers D, Liskov B, Rodrigues R, Shrira L. HQ replication: A hybrid quorum protocol for Byzantine fault tolerance. In: Proc. of the 7th Symp. on Operating Systems Design and Implementation. Berkeley: USENIX Association, 2006, 177. [17] Kotla R, Alvisi L, Dahlin M, Clement A, Wong E. Zyzzyva: Speculative Byzantine fault tolerance. In: Proc. of the 21st ACM SIGOPS Symp. on Operating Systems Principles. New York: ACM Press, 2007, 4558. [18] GARCIA-MONILA H. Elections in a distributed computing system[J]. IEEE Transactions on Computers, 1982, 100(1): 48-59. [19] Lamport L. Paxos Made Simple[J]. ACM SIGACT News, 2001, 32(4): 18-25.3.2 协议安全性分析
4 冗余容侵模型效率
5 结束语