李林,左天才,杜泽新,谢志奇
(贵州乌江水电开发有限责任公司,贵州贵阳 550002)
为预防水电厂运营故障或异常,设置在线监测装置,实时保障电力设备的安全健康运行[1]。大数据安全一直被广泛关注[2],因此,设计安全存储系统具有重要现实意义。
谷保平[3]和余海波等[4]的研究成果均对数据安全存储起到一定作用,但忽略了存储节点选择的重要性导致安全性有限。
文中结合前人研究经验,以水电厂在线监测数据为研究对象,研究了一种基于LSM 树的数据安全存储系统,增强数据安全性和提高存储效率。
在线监测装置实时采集水电厂数据后,自动发送至处理控制终端,完成数据存储。为保证数据安全,设计一种水电厂在线监测数据安全存储系统[5]。系统总体分为四部分:硬件接口层、数据传输层、数据存储层以及安全功能模块层。系统框架如图1 所示。
图1 安全存储系统框架
1)硬件接口层:与水电厂在线监测装置和数据传输链路相连接,水电厂在线监测装置采集数据之后,转发给传输链路[6]。
2)数据传输层:与存储节点相连,借助安全传输算法或协议,安全传输数据到存储节点上[7]。
3)数据存储层:包含多个存储节点,存放数据。
4)安全功能模块层:包含安全存储的算法或程序,为实现数据安全存储提供功能性服务[8]。
LSM 树是基于磁盘的树状数据存储结构,分为内存层和磁盘层[9]。前者指微处理器中的内部存储器RAM,当RAM 存储量达到限值,数据转移到外部磁盘,完成数据存储。此模型包括磁盘组件和RAM内存组件C0-Ci,C0 存于RAM,C1-Ci存于磁盘,数据从C0 转存到C1-Ci[10]。具体过程如下:
步骤1:采集水电厂在线监测数据,经过链路传输写入C0;
步骤2:持续写入水电厂在线监测数据;
步骤3:判断C0 写入的数据量是否达到设定的阈值,若达到则下一步,否则回到步骤2;
步骤4:将C0 水电厂在线监测数据异步滚动归并至C1-Ci。过程如下:
1)选取C1,将C1 最左下角的叶节点中数据保存到缓存区;
2)C0 与C1 升序合并;
3)将合并后的数据存储到新的磁盘,生成新的存储节点[11]。
基于LSM 树的数据存储模型将数据分批写入磁盘,能缓解内部存储压力和提高数据存储效率,但不能达安全防护作用[12]。为提高数据存储的安全性,设计三个数据防护安全防护模块。
1)入侵检测模块
水电厂在线监测数据传输路径安全性较为薄弱,在传输链路设置入侵检测模型,检测非法攻击,及时干预,保证数据传输安全[13]。其实现的关键是在线监测数据特征的选取以及异常识别。特征选取公式如下:
式中,p代表特征重要性;xi代表在线监测数据第i个特征的信息熵;n代表特征数量。
异常识别用分类决策函数做入侵检测[14]。函数表达式如下:
式中,y代表决策值,当存在入侵风险时,y≥1,其他情况y<1;wi代表第i个特征的输出权值;f代表激励函数;ai代表第i个特征的输入权值;b代表偏置项。
2)安全访问模块
安全访问模块是控制用户对存储磁盘无权、越权的访问,防止数据泄露,保证数据安全[15]。具体过程如下:
步骤1:用户发出访问申请;
步骤2:用户身份验证。通过则进行下一步;否则,拒绝访问;
步骤3:计算用户信任度。收集用户的行为证据并标准化处理,记为g1,g2,…,gN,N代表用户行为证据的数量。信任度计算公式如下:
式中,Hkj代表第k个用户截至第j次请求时的信任度;qkj代表用户行为证据与对应权重的乘积;tj代表第j次请求的服务时间;Rj代表时间衰减函数,取值0~1。
步骤4:根据信任度为用户分配服务等级。服务等级决策函数如下:
式中,L(Hkj)代表服务等级决策函数;L=l1,l2,l3,…,ls代表服务等级空间;s为服务等级数量。
步骤5:根据服务等级授予用户权限。
步骤6:实时监控用户行为,实时反馈信任状态。
步骤7:根据反馈调整用户访问权限。
3)数据加密模块
若前两个安全服务模块不能保证数据安全,还需设计数据加密模块。对数据本身进行加密,达到不可篡改和不可破解数据的目的[16-18]。数据加密过程如下:
步骤1:将用户的输入参数B输入到密钥生成算法δ,得到密钥,记为Key;
步骤2:利用混沌系统对数据加密。理论公式如下:
式中,a代表混沌参数;f(C)代表加密后的水电厂在线监测数据;f代表混沌函数。
步骤3:加密之后得到密文并保存到密文空间。其描述如下:
其中,U代表密文空间。
步骤4:将密文保存到明文磁盘空间。
步骤5:合法用户能利用密钥Key 解开密文,恢复水电厂在线监测数据明文。
经上述研究,完成基于LSM 树的数据安全存储模型设计。
水电厂在线监测数据样本来自30 个不同监测装置,具体如表1 所示。
表1 水电厂在线监测数据样本
针对表1 中数据样本,设置4 个存储磁盘,容量以及存储速率如图2 所示。
图2 存储磁盘的容量以及存储速率
3.3.1 系统存储性能
将30 个水电厂在线监测数据样本写入4 个存储磁盘,统计每个磁盘的写入性能及磁盘存储空间利用率,结果如图3、图4 所示。
图3 磁盘的写入性能
图4 磁盘存储空间利用率
由图3、图4 可知,4 个磁盘的写入数据量始终维持100 kB 以上,磁盘存储空间利用率均达到90%以上,说明系统存储性能较为优越。
3.3.2 系统安全性测试
系统安全性测试包括入侵分辨性能测试和密文敏感性测试两部分。
1)入侵分辨性能测试
以NSL-KDD 数据集为对象,测试系统的入侵分辨性能,结果如图5 所示。
图5 入侵防御测试结果
由图5 可知,合法数据和非法数据的灵敏度系数均大于1.0,表示系统的抵御性能较好,该系统能很好地分辨出非法攻击,保证数据安全。
2)密文敏感度测试
30 个水电厂在线监测数据样本加密后的敏感度测试结果如表2 所示。
表2 密文敏感度测试
由表2 可知,所有样本的敏感度均小于10%,密文破解风险较低,水电厂在线监测数据加密后,数据安全性较高,实现了安全存储。
水电厂在线监测数据对水电厂维修工作有重要参考作用,为保证数据安全,文中设计了基于LSM 树的水电厂在线监测数据安全存储系统,实现了数据高性能存储和数据高安全性,经测试,在存储、安全两个方面的性能,均达到研究目标。