李 勇,兰 林,马 权,侯荣彬,薛 凯,李 昂
(中国核动力研究设计院 核反应堆系统设计技术重点实验室,成都 610213)
核电厂安全级DCS 系统(Nuclear Advanced Safety Platform Instrument Control system,简称NASPIC)的信息安全标准属于IEC SC 45 A 标准体系。该体系自上至下分四层,从功能上对核电厂安全级DCS 系统提出了具体的信息安全防护要求,分别为总体要求、组织和程序要求、系统要求、部件要求。其中,第一层要求参考标准IEC 61513,第二层要求参考标准IEC 62645 和IEC 62859,第三层和第四层要求尚未有明确标准,设计中可以参考国内标准及RG 5.71标准。IEC 62645 标准对核电厂安全级DCS 系统信息安全的程序开发,信息安全分级以及系统整个生命周期的防护给出了总体原则和基本要求,该标准在核电厂安全级DCS系统中常常作为总体依据文件。
图1 区块链基础框架Fig.1 Blockchain basic framework
NASPIC 系统是核电站的信息控制中枢,该控制系统在设计中往往采用部分工控领域的通用通信协议以及软硬件结构设计方法[1,2]。通过前期研究发现,由于该类协议通信端口号固定、缺乏可信身份认证和访问控制机制,因而在设计中采用这类协议,可能会在信息安全方面存在大量漏洞,导致关键数据容易被篡改和泄露。为保证核心数据的完整性和准确性,系统信息安全防护目标是在保证传输信息和控制指令在系统通信网络中数据完整的基础上,进一步要求通信传输实时性、数据不可篡改性,以及系统具有抵御外部多方攻击,识别错误信息的能力。区块链技术融合密码算法[3]、数字签名技术[4]、P2P 网络技术[5]、共识算法[6]、智能合约[7-9]等多种技术组合创新,具有去中心/多中心化、数据防篡改、数据可追溯等特点[10]。作为一种新的可信大规模协作方式,它能够解决多方共信问题,目前在物联网系统安全等多个方面均有应用[10]。
本文根据IEC 62645 标准防护要求,基于区块链技术具有的去中心化、数据不可篡改、数据可追溯等固有特性,将其与核领域信息安全防护要求相结合,分别从访问控制、身份鉴别、关键数据加密和防篡改4 个方面对NASPIC 系统进行防护设计。构建具体的系统信息安全防御模型和设计相应的软件算法,解决NASPIC 系统使用工业通用协议等可能引入的信息安全问题。
区块(也称为节点)是区块链式结构的基本数据单元,区块链框架中每个块被封装为六层,具体包括数据层、网络层、共识层、激励层、合约层、应用层,其基础框架层次如图1 所示。
数据层用于实现链上数据存储和加密,数据的不可篡改性和可追溯性由每个区块头包含的父区块哈希值、时间戳、默克尔树、随机数来保证,即Block(Num)=(Block(Num-1),PreviousHash,TimesStamp,MerkleTree(N),nounce)。
其中,PreviousHash:父区块哈希值,包含上一个区块数据的哈希值;TimesStamp:存储交易发生的时间戳;MerkleTree(N):默克尔树,存储链上已有的交易的MerkleTree 的根;Nounce 则为随交易过程生成的一个随机数字。
网络层确定节点的组网、数据传播和验证机制,实现节点间信息交互;共识层包含网络节点间达成一致性的共识算法;激励层包含发行、分配机制,有助于更多节点参与共识和交易验证;合约层则封装了以数字形式定义,满足触发条件自动执行的智能合约,即:
区块链技术通过各层采取不同的机制来封装一个节点的全部数据,每个节点对等地维护一个账本并参与整个网络系统的共识。当传统系统中的节点行为不可控时,存在拒绝发送消息、发送错误消息等异常行为,从而导致系统故障。如果采用区块链技术则能容忍和抵御部分错误信息,保证系统的正常运行。
NASPIC 系统主要包括安全部分的现场控制站、传输站、安全显示站以及非安部分的网关站、工程师站[2]。系统具体架构如图2 所示。
NASPIC 系统的配置文件由位于系统非安部分的工程师站下发,该文件编译下装成功后整套系统即可启动运行。针对工程师站使用权限的重要性,以区块链作为数据的载体,将用户对工程师站的操作权限的策略写入,策略加密并获得共识后发布于链上,最后通过智能合约来对这些策略进行管理、控制。实际中每个用户的具体操作权限由管理员调用站点智能管理合约进行定义并发布在控制链上。管理员可以对用户的操作权限进行控制,包括创建、删除和更新操作权限。具体框架模型如图3 所示,该框架包括操作权限注册、控制策略创建、操作请求、控制策略更新4 个阶段。
图2 NASPIC系统框架Fig.2 NASPIC System framework
图3 工程师站安全访问框架Fig.3 Security access framework of engineering station
2.1.1 操作权限注册阶段
1)用户对工程师站进行操作时需要提前申请,管理员收到申请审核后,为用户此次操作生成一对密钥对。
2)将公钥设为用户在控制区块链上的唯一身份标识,私钥作为用户身份证明。同时用私钥将用户该次的操作行为数据进行签名,并将签名附加在交易中。
3)首先管理员调用链上智能合约为用户完成操作权限注册,然后其他节点完成数字签名、交易完整性、用户身份合法性验证,最后将此次操作行为数据同步到所有网络节点。
算法1:权限注册算法(Right Node Registration Algorithm,简称RNGA)。
输入:用户申请账户Racc
输出:用户操作私钥Rpri_key rnga(Racc)
Rpub_key = Oreg();/*生成公私密钥*/
Rpri_key = Oreg();
send Rpri_key to Racc;
set (right, Rpri_key);/*私钥加密操作行为*/
getRegSmartContract(Racc,,Rpub_key);/*操作权限注册*/
2.1.2 控制策略创建阶段
1)当用户要对工程师站进行操作时,首先将对应工程师站标识ID 和相应的操作发送给管理员,管理员则为用户创建相应的操作权限,同时生成权限许可证书。
2)管理员使用用户私钥对操作权限和权限许可证书数字签名后,调用智能合约注册操作权限策略。其他数据网络节点进行多重验证后将其加入到控制链中,从而完成操作权限的授权。
算法2:控制策略记账算法(Control Strategy Account Algorithm,简称CSAA)。
输入:控制策略创建时间st_time;用户申请账户Racc;工程师站标识ID MTS_ID;用户私钥Rpri_key;操作行为operdata。
输出:操作通行证书CA;创建成功——True,创建失败——False
2.1.3 操作请求阶段
1)用户得到对工程师站进行操作的权限许可后,通过私钥解密工程师站对自己开放的权限许可证书。
图4 文件发布系统框架Fig.4 File publishing system framework
图5 系统安全访问框架Fig.5 System security access framework
2)获取许可证书后,用户以该证书及公钥作为输入,在控制链上调用智能合约进行用户身份、访问权限合法性以及权限许可证书验证,验证通过则自动授权。链上节点自动同步记录本次操作。
2.1.4 控制策略更新阶段
1)管理员可以调用控制链上的控制策略创建服务,通过创建新的智能合约来更新权限子集,从而更新用户操作权限。
2)链上所有操作数据均以时间为顺序记录于控制链,且同步于所有控制节点。
算法3:控制策略链上更新算法(Control Strategy Update Algorithm,简称CSUA)。
输入:控制策略创建时间st_time;用户申请账户Racc;工程师站标识ID MTS_ID;操作行为operdata。
输出:更新成功——True,更新失败——False
一旦最终配置文件确定,将被发布于区块链上,管理员调用区块链上的智能合约给该文件写入不可更改的权限合约,具体由数据层的数字签名技术来实现。链上节点对数据完整性和数据发送者身份合法性校验成功后,节点间达成一致共识,从而实现系统配置文件的防篡改和历史下发配置文件的可追溯。流程框架如图4 所示。
NASPIC 系统中安全部分的现场控制站、传输站、安全显示站以及非安部分的网关站、工程师站具有不同的功能特征,周期运行时彼此间互相访问,存在大量数据交互和处理的过程。针对可能受到的外部接入的攻击,采用区块链技术进行站间权限接入认证和访问权限设定,防止外部非法数据输入。系统每个站点由管理员写入访问其他站点的接入权限。周期运行中,在每次访问时进行访问权限认证,当某个站点访问权限被非法修改或其他未经许可站点接入时,由于其他站点并不认可,单站点修改无效,故能有效抵御单站点被篡改影响系统功能正常运行问题。具体区块链技术实现框架由工程师站安全访问框架裁剪得到,站点安全访问框架模型如图5 所示。
在新一代NASPIC 系统中引入工业环网通信架构,实现不同现场控制站、传输站、网关站以及安全显示站站点间数据组网传递,具体框架如图6 所示。环网能有效提高系统的通信能力,但是环网的收发方均只是读取数据,且彼此互相隔离,环网上数据存在被篡改的风险。因此,可以将环网通信和区块链技术相融合,进一步确保核心数据的准确性和完整性。
考虑到系统具有较高的实时性要求和环网通信位于较为可信的环境,且非对称加密算法加解密耗时较长,因此在数据层数据加密算法采用对称加密算法AES 算法。经验证该算法单次加解密时间在20us ~35us 左右,同时耗费内存和CPU 使用率均较低,符合NASPIC 系统对CPU 使用率要求。该环网结构中共识节点为现场控制站、传输站、安全显示站、网关站四类站点。根据系统站点数目不多且通信实时性要求高特点,共识层数据共识算法采用实用拜占庭容错(PBFT)共识算法与RAFT 算法相结合来缩短节点间达成共识所需要的时间,同时还具备容错能力。
图6 系统环网通信框架Fig.6 System ring network communication framework
随着区块链技术与核领域信息安全技术的不断交叉融合,针对核电厂安全级DCS 系统面临的外部网络威胁,基于区块链技术的系统信息安全防护方案能够解决越来越多的信息安全问题。本文参考IEC 62645 标准,针对NASPIC系统实际设计情况和系统在运行中可能遇到的网络风险,设计了基于区块链的访问控制系统、文件发布系统及系统相关算法,实现工程师站使用权限可控制、工程师站下发的系统配置文件不可篡改及系统站间接入安全认证和站点访问权限安全设定。此外,还将新一代系统通信环网结构与区块链技术相结合,来提高系统通信的可靠性和通信数据的完整性。