一种基于分布式共识的多域安全策略智能生成机制研究*
2020-09-27余兴华吴中军
万 抒,余兴华,吴中军
(中国电子科技集团公司第三十研究所,四川 成都 610041)
0 引言
安全策略是一定条件下的安全规则,是保障系统安全可靠运行的关键性要素,如何由系统安全需求正确、高效、智能地产生系统整体性的安全策略是安全领域的一个重要课题。
在这一研究领域中,分布式系统安全策略的智能生成和配置方面的研究尚处于起步阶段,但需求更加迫切,面临的问题也更加复杂。和传统系统相比,分布式系统一般由若干个部署分散的节点区域组成联合体,各个区域之间既可独立自主运行,也需要协同工作,整个系统具备地域分散、高动态和弱连接等特性,同时也面临着缺乏安全运维管理人员的困境,传统繁琐、低效的安全策略人工配置模式显然无法适用于实际使用需求,急需研究适用于分布式系统的安全策略智能生成机制,在确保网络带宽低开销的情况下,无须人工干预实现系统各个节点区域安全策略高效、智能地生成和配置,并能够适应分布式系统的动态重构、在线迁移等复杂应用场景。
1 相关工作
近几年,国内外的一些学者已经开始进行安全策略自动生成和配置方面的研究。
文献[2]将需求工程领域中的KAOS(Knowledge Acquisition in Automated Specification) 方法引入策略生成过程中,提出了面向目标的需求规范形式化的描述方式和求精细化方法,但并没有实现目标求精过程和目标策略生成的自动化关联;文献[3]提出了采用KAOS 方法将安全需求细化成详细的授权规则和访问控制策略,但是由于从KAOS 规范到安全策略之间的映射并不全面,没有实现安全需求到安全策略的自动转换;文献[4]提出了基于需求的策略规则分析和描述方法,但需要需求规范、软件设计和安全策略等大量的输入源,才能实现访问控制策略的推导;文献[5]等人提出了“一种网络攻防策略图生成算法”,该方法需要较长的时间,并需要较大的网络带宽资源对整个区域的网络运行和脆弱性信息进行多源融合处理,且只能生成网络攻防图,而无法自动生成安全策略;文献[6]提出了“基于异构的网络安全策略自适应发布”机制,该方法只说明了分布式异构网络安全策略的发布和通告机制,未涉及异构网络安全策略的自动生成和自动部署机制。
2 多域协同模型说明
分布式系统一般由若干个部署分散的节点区域组成联合体,各个区域内部存在一个“域控制节点”,各个区域依托于该控制节点感知、管理和调度区域内部信息资产实现区域自治和自主运行,同时,通过该控制节点代表本域进行域间协商和动态组网,实现多域协同运行。
图1 以4 个域的分布式系统为例进行说明。其中,域中存在信息资产a1、a2、a3和域控制节点A1,由A1负责感知、管理和调度本域内的信息资产{a1,a2,a3};同理,在域B 中,由B1负责感知、管理和调度本域内的信息资产{b1,b2,b3};在域C中,由C1负责感知、管理和调度本域内的信息资产{c1,c2,c3};在域D 中,由D1负责感知、管理和调度本域内的信息资产{d1,d2,d3};域控制节点{A1,B1,C1,D1}之间可进行信息交换和动态协商,以实现域A,B,C,D 之间的协同运行和动态组网。
图1 分布式系统的多域协同模型设计
3 域内资产智能发现机制
本文假设域内的信息资产拥有一个全网唯一的身份标识ID,以此为基础通过“域控制节点”实现域内资产智能发现,包括域内资产可信注册、域内资产智能发现两方面机制,具体实现步骤如下:
1.域内资产可信注册机制:首先,各类信息资产第一次入网时以自身的身份标识ID 为公钥,并通过算法生成一组公私钥对。如域控制节点Xi的公私钥对为:
信息资产ai的公私钥对为
信息资产ai第一次进入某个域后,和该域的控制节点Xi交换公玥,并获取域控制节点Xi的共钥信息Xi-ID;
2.域内资产智能发现机制:域内某一信息资产ai入网或者属性发生变化时,利用自身的公私钥对(ai-ID,Keyai)向本域的域控制节点Xi进行自动的入网认证,以域A内部资产a1的入网认证流程进行举例说明:
1)当入网a1时,生成随机数Rand(a1)发送给域控制节点A1,然后接受其返回的挑战码信息CC(a1);
2)a1将自身相关信息(如IP 地址、开放端口以及通信协议)等属性信息Att(a1)、资产序列号Num(a1),结合返回的挑战码信息,整编生成资产注册信息:
计算其信息摘要:
利用ECC 的组合公钥算法对身份信息和摘要进行加密,生成认证消息并发送给域内控制节点:
3)域控制节点A1利用自身私钥KeyA 解密认证消息,获得资产注册信息M和摘要X,并计算M的摘要SHA256(M),然后通过比较判断认证消息是否被篡改过,如被篡改则丢弃;若成功,根据资产序列号Num(ai)是否为最新值,判断是否更新资产信息。
图2 域内资产智能发现机制设计
4 基于分布式共识的多域安全策略智能生成机制
4.1 域内资产信息链生成机制
域控制节点A1将本域内的各个资产的属性信息、资产序列号信息以及整体摘要信息组合形成域内资产信息链,若域内某一资产信息发生变化,则需要更新。
1.域控制节点A1基于对a1、a2和a3的认证注册的结果,在本地存储的相关信息,包括资产属性信息Att(ai)和资产序列号Num(ai)。
2.域控制节点A1构建本域的资产信息列表LoA(A)=(Att(a1),Att(a2),Att(a3)…)和信息资产序列号LoN(A)=(Num(a1),Num(a2),Num(a3)…)。
3.在某一时刻i,域控制节点A1将需要通告其他域的资产信息构建本域的外部资产信息列表:
外部资产序列号:
4.基于公式(6)和(7),域控制节点A1计算相关摘要信息:
以此为基础,形成域内资产信息链:
5.若域内某一资产信息发生变化,则该资产需要再次进行认证,并变更资产序列号Num(ai+1),域控制节点A1重新计算摘要信息并形成域内资产信息链CoX-Ex(Ai+1)。
4.2 域内资产信息链通告机制
各个域域控制节点之间利用自身的公私钥对确保彼此交换的域内资产信息链的正确性,以此为基础实现分布式节点的协同工作,工作步骤如下:
1.域控制节点A1利用节点私钥KeyA对其进行加密,生成单域资产可信通告信息:
之后,采用网络组播方式向全网其他域节点通告“域内资产信息链通告”。
2.其他域控制节点基于节点A的共钥PUBA进行解密,之后采用相同的算法计算比较(LoAEx(Ai),DN-Ex(Ai))的摘要信息是否被篡改,如果被篡改,则丢弃;否则,基于DN-Ex(Ai)是否为最新值,决定是否更新区域A的资产信息链。
4.3 域间联盟资产信息链发布机制
当多个域动态组网、协同工作时,多个域控制节点通过协商的方式选举一个域控制节点A作为域间联盟权威节点,由其负责记账并形成某一时刻的域间联盟资产信息链,之后通过组播方式告知他域控制节点,当各个域控制节点均对域间联盟资产信息链的正确性达成共识,则该链生效。具体步骤如下:
1.当多个域动态组网、协同工作时,多个域控制节点通过协商的方式选举域控制节点A为域间联盟权威节点,并由A产生一个随机数作为本联盟序号:
2.在某一时刻i,域间联盟权威节点A通过各个域控制节点的“域内资产信息链通告机制”,获取其他域的设备资产列表,形成域间联盟资产信息矩阵:
域间联盟资产信息摘要矩阵:
域间联盟资产序号矩阵:
计算域间联盟资产摘要:
3.域间联盟权威节点A利用域控制节点的私钥KeyA对其进行加密,生成域间联盟交换信息链发布信息:
之后采用网络组播方式向全网发布。
4.在网的其他域控制节点采用相应的共钥PUBA 解密资产发布消息,若和本地存储的值相同则丢弃;否则,定向向域间联盟权威节点申请获取最新的(ULA(i),ULN(i))。
5.之后,将(ULA(i),ULN(i)) 和本地存储的(ULA(j),ULN(j))进行逐一比较,若发现本域的资产信息有误,则采用“域内资产信息链通告机制”通告最新的域资产信息;若发现其他域的资产信息有误,则定向告知相关域控制节点,要求其采用“域内资产信息链通告机制”重新通告其最新信息。
6.域间联盟权威节点A 若收到其他域控制节点的最新资产通告信息,则重复步骤1 的动作,直至所有域控制节点均达成共识后进行后续动作。
4.4 安全策略智能生成机制
当各个域控制节点的资产信息达成共识后,各节点存储的域间联盟资产信息矩阵UMA(i)能够确保一致,之后基于统一的安全策略语法转换技术和安全策略增量翻译技术,自动生成相应的安全策略。具体步骤如下:
1.域控制节点Ai采用策略自动翻译器将域间联盟的交换信息矩阵UMA(i)翻译为网络安全策略集合SPS(i)。
2.域控制节点查询对比本地存储的上一次网络安全策略集合SPS(i-1),若存在,则计算两次网络安全策略集合的增量值ΔSPS(i);若不存在,执行步骤4)。
3.域控制节点保证原有安全策略继续有效执行的前提下,更新ΔSPS(i)相关的安全策略。
4.域控制节点将所有网络安全策略生效,完成本域策略智能部署。
图3 域间联盟资产信息链发布机制设计
5 实例分析
5.1 测试环境
本文通过搭建一个网络带宽为1000M 的测试环境,接入4 个子网:A、B、C、D,子网地址分别为:192.168.1.0/24、192.168.2.0/24、192.168.3.0/24、192.168.4.0/24。每个子网代表一个域,域A、B、C、D 的域控制节点分别为A1、B1、C1、D1,IP 地址分别为192.168.1.2/24、192.168.2.2/24、192.168.3.2/24、192.168.4.2/24。
图4 安全策略智能生成机制设计
在域A 中,部署3 台计算机终端/服务器a1、a2和a3,IP 地址分别为192.168.1.11/24、192.168.1.12/24、192.168.1.13/24,a1作为服务器开放80 端口对外提供服务;在域B 中,部署2 台计算机终端/服务器b1和b2,IP 地址分别为192.168.2.11/24、192.168.2.12/24,b1作为服务器开放20、21端口对外提供服务;在域C 中,部署2 台计算机终端/服务器c1和c2,IP 地址分别为192.168.3.11/24、192.168.3.12/24,c1作为服务器开放23 端口对外提供服务;在域D 中,部署3 台计算机终端/服务器d1、d2和d3,IP 地址分别为192.168.4.11/24、192.168.4.12/24、192.168.4.13/24,d1作为服务器开放80 端口对外提供服务。测试环境的网络拓扑图如图5 所示。
选取以下多种场景在测试环境中验证:
1.场景1:资产首次入网场景,域A中的所有资产第一次接入网络。
2.场景2:单域对外资产属性更新场景,域A服务器a1的属性发生变化,新增 20 端口对外服务。
3.场景3:多域对外资产属性更新场景,域A服务器a1、域B 服务器b1和域D 服务器d1的属性发生变化,a1新增 20 端口对外服务,b1新增 80 端口对外服务,d1新增 21 端口对外服务。
4.场景4:多域内部资产属性更新场景,域A服务器a2、域B 服务器b2和域D 服务器d3的属性发生变化,a2、b2下线,d3重新接入网络。
图5 测试环境网络拓扑图
针对以上各类场景,测试从资产属性发生变化,到各个域控制节点A1、B1、C1、D1达成共识后实现安全策略智能生成的时间,每个场景共测试5 次,取平均值。
表1 试验数据
5.2 试验结论
试验数据表明,当各个域对外资产属性发生变化时,通过“基于分布式共识的多域安全策略智能生成机制”能够确保多个区域并行、协同完成安全策略的智能生成和配置,单域、多域等不同应用场景对于机制的运行效率影响不大;且域内资产更新调整,不会触发该机制的运行,故“域内自治”和“域间协同”的区分度较好。
6 结语
基于分布式共识的多域安全策略智能生成机制主要针对多域协同运行的分布式系统,在基于域控制节点实现域内资产智能感知的前提下,通过域间协同方式实现各域对外安全策略的智能生成和智能配置。从试验结果来看,该机制能够适应资产入网、更新、离线等多种应用场景实现安全策略的智能生成和配置,域间信息能够快速收敛达成共识,且域内部的资产更新、调整不会影响域间的安全策略配置,具备较强的应用前景。
但是,该机制针对域内的资产智能感知机制需要实现各类资产的统一标识,且域内的认证模式比较单一,难以适应各类应用场景;同时,该机制目前大规模的多域协同系统的应用场景验证尚不充分,上述内容是该模型后续需要研究的问题。