基于区块链技术的多密级数据安全存储系统设计
2019-07-05李炜,黄倩
李 炜, 黄 倩
(1. 武汉大学人民医院 信息中心, 湖北 武汉 430060; 2. 武昌职业学院 组织部, 湖北 武汉 430060)
多密级数据存储安全是一个国家信息系统建设过程中极其重要的核心环节,前些年由国家四部委联合制定和颁发的《信息安全等级保护管理》中对信息系统多密级数据安全保护等级做出了明确定义和准确描述,确定了多密级数据安全是信息系统安全等级保护关注的重点对象[1].
当今社会, 随着计算机技术和互联网技术不断深入人们的生活和工作, 人们对数据的安全保密性能关注度越来越高,通常对数据安全关注的重点主要集中在网络周边防护设备设施以及密码设备设施上, 例如互联网防火墙、网络入侵监测系统、数据传输加密系统等.对个人计算机以及各种移动存储设备的行政管理基本依靠业务流程. 但随着存储技术以及办公自动化管理技术在国家机关、企事业单位等信息管理部门的应用普及, 人们对多存储介质(包括U盘、移动硬盘、SD卡等)的存储容量要求越来越高,虽然防火墙设备、网络入侵检测装置、病毒防护隔离系统等网络安全设备对于阻止来自网络外部的攻击有着不可替代的作用,但如果网络内部的移动存储介质存在安全隐患,造成的损失将不可限量[2-3]. 据国家公安部统计资料显示, 有超过70%的泄密犯罪来自于存储系统内部,在信息系统中, 一旦移动存储介质发生失效, 所有机密信息和重要数据都可能会被盗取、篡改、复制,会给国家、企业和个人的经济、名誉带来极大损失. 所以,有必要开发和设计一种多密级数据安全存储系统代替传统的移动存储介质.
针对文献[4]提出并设计的基于Hadoop技术的多密级数据安全存储系统和文献[5]提出并设计的基于混合压缩编码的多密级数据安全存储系统存在存储耗时较长、拥塞率较高、破译率较高的缺点,提出并设计了基于区块链技术的多密级数据安全存储系统.
1 基于区块链技术的多密级数据安全存储系统设计
1.1 多密级数据安全存储系统设计
设计多密级数据安全存储系统的思路是实现多密级数据分离存储,即本地存储的只是一个实际多密级数据文件的信息文件,真实的多密级数据被划分为若干块后被分别存储在网络上的几个文件存储服务器上[6].多密级数据文件具体存储位置对于系统用户是透明的,通常以一个索引文件形式呈现给用户,用户可以对该索引文件进行重命名和编辑等,这个索引文件被保存在本地计算机上.
上述设计思路能够实现多密级数据文件信息与真实多密级数据的分离存储,这种分离存储方式即便是合法用户也无法接触到系统中存储的真实多密级数据,解决了系统内部管理人员泄密问题;同时,多密级数据文件信息存储在本地计算机上,方便了用户的查询、存储,实现了多用户的透明化操作[7].
采用C/S模式设计多密级数据安全存储系统,其中系统服务器包括2种类型,分别是系统中转控制服务器和系统存储服务器,具体系统架构如图1所示.
1.2 系统各功能模块设计与实现
(1) 系统客户端.系统客户端主要由内核态的文件系统过滤驱动和用户态的应用层控制程序2部分组成,二者之间通过前者提供的接口进行通信连接[8].系统客户端负责实时监控和捕获本地计算机操作,对获得的数据进行多重加密和分块处理后,根据系统中转控制服务器提供的多密级数据存储服务器信息,直接将多密级数据传送给几个不同的存储服务器.
(2) 系统中转控制服务器设计.设计系统中转控制服务器的目的是向系统用户提供元数据处理服务,主要负责对系统客户机进行身份认证和访问控制,对系统客户端的多密级数据文件访问申请分配具体的存储服务器;根据系统客户端访问申请为存储服务器分配多密级数据的具体存储任务.
(3) 系统存储服务器设计.设计系统存储服务器的根本目的是对系统客户端多密级数据的实际存储和读取服务.根据系统中转控制服务器的多密级数据存储任务分配,提供多密级数据文件逻辑块的物理存放[9].执行多密级数据文件操作时,系统存储服务器能够直接与系统客户机通信,用于存储真实多密级数据.
系统设计的最终目标是实现多密级数据的安全存储,多密级数据的安全性能主要包括:完整性、机密性、身份认证机制、访问控制策略等.以下对设计系统的安全性做具体分析.
① 多密级数据的完整性与机密性,多密级数据安全存储系统具有完整性和机密性,能够有效保护多密级数据文件不泄露给非系统授权用户,在计算机通信过程中,可以将机密性划分为两类:一类是能够防止系统攻击者从某个多密级数据文件中找到敏感信息;另一类是能够有效避免系统攻击者通过观察系统业务流获取敏感信息.对于文件数据,该系统能够向用户提供网络连接机密性以及无网络连接机密性服务.文件数据在系统存储服务器上进行多级加密存储,网络传输的也是执行多级加密后的文件数据,系统只提供文件数据机密性服务,不负责对文件名加密.实现安全存储过程中,在系统通信网络上传输多级加密后的文件数据块,在系统客户机上实现文件数据的透明化多级加密操作和解密操作.
② 系统用户身份认证机制以及访问控制策略.系统用户身份认证服务提供了某个主体身份的保证,能够有效抵御冒用用户身份的攻击威胁.身份认证机制主要包括实体认证和数据起源认证两部分,在信息系统中通常以实体认证为主.访问控制策略的选取能够对系统用户的访问权限进行适当调整,避免系统用户随意删除、篡改或复制机密数据,解决了系统内部管理人员泄密问题[10].
根据上述分析可知,在多密级数据安全存储系统设计过程中,对系统用户身份认证和访问控制可以通过系统服务器上的一个密钥文件sfs来实现,该文件采用系统服务器公钥进行加密,确保只有系统服务器才能对其进行访问,它主要包括多密级数据文件的密钥和系统用户访问控制信息(即用户名称和访问权限).系统将用户访问权限划分为只读和读写两级.当系统客户机公钥成功解密申请多密级数据包后得到用户详细信息,根据系统客户机信息在密钥文件sfs中搜索相应项目,检验系统用户身份是否合法并向系统客户机及时反馈.
1.3 多密级数据安全存储机制
纠删码是指将待存储的数据或文件划分为k个大小相同的数据片,并通过编码方式将各个数据片进行编码,编码为n个数据分片,在编码后的各个数据分片中,任意选取r个数据分片即可将原始多密级数据文件恢复,其中,n≥r≥k>1.
假设F和Y分别表示原始多密级数据文件和分块编码处理后的多密级数据文件;G表示(n,k)线性纠删码的k×n矩阵,采用数学模型描述(n,k)线性纠删码,
根据上述计算可知,从矩阵G中任意选取k列多密级数据子矩阵G′均可逆,采用接收到的k个多密级分片数据均可实现原始多密级数据文件重构,重构公式如下:
F=Y′·(G′)-1.
(4)
其中,Y′表示Y的任意k个多密级数据分量.
依据上述纠删码应用原理设计了系统多密级数据安全存储机制.具体设计思路为:将给定的原始多密级数据文件F按照系统用户要求划分为k个数据片,将分片后的多密级数据编码成n个数据分片,对编码处理后的分片数据做多级加密生成n个多密级数据片,并将这些多密级数据片分配给系统n个不同存储节点上,当系统用户选择多密级数据恢复选项时,系统只需要从n个多密级数据片中任意选取r个,对其进行解密后,再利用式(4)的逆运算即可将原始多密级数据文件F恢复.
1.4 多密级数据安全存储和共享网络体系构建
利用上述数据安全存储机制实现多密级数据安全存储和数据共享过程中,存在系统用户访问受限、身份标识不唯一、容易被盗取和篡改、严重影响多密级数据安全存储和共享效率的缺点.如图1所示利用区块链技术具有去中心化、自主对等以及难以变更等技术特点构建了多密级数据安全存储共享网络体系,该网络体系以现有的互联网架构为依托,利用区块链技术将多密级数据进行分离存储,网络体系主要包括以下内容.
(1) 去集中化多密级数据统一命名.根据企业信息系统数据规范和统一数据标识符,建立多密级数据共享模型,利用开放式数据索引命名技术为网络环境下共享多密级数据内容索引提供一个可靠的开放性系统,保证了多密级数据提供者与访问用户之间通信传输的机密性、完整性和可用性.
(2) 系统授权多密级数据高效存储.选取区块链技术作为多密级数据承载基础,当多密级数据接入时,将其作为一种资产标识,对其进行访问授权实现系统用户访问控制权限管理,同时结合系统业务特征以及访问用户需求,在去中心化共享网络体系边缘对多密级数据进行安全存储.
(3) 设计多密级数据分发协议.基于区块链技术的多密级数据安全存储系统本质上就是为了构建一种P2P的数据对等共享网络,方便数据拥有者提供数据,数据需求者查询、下载数据,多密级数据安全传输机制需要采用自主对等的高效数据分发协议作为支撑.
多密级数据安全存储和共享网络体系可用图2进行表示.这一体系的构建使得多密级数据安全存储系统各个功能模块之间的交流通信更加方便、快捷.
图2 多密级数据安全存储和共享网络体系
2 系统性能实验结果与分析
实验在配置为AMD Sempron(tm)processor 2 800+1.60 GHz,运行内存为4 GB,硬盘容量为250 GB,操作系统为Windows7的PC机上进行.选取文献[4]系统、文献[5]系统作为性能对比测试对象.图3~图5给出了文献[4]系统、文献[5]系统和设计的基于区块链技术的多密级数据安全存储系统对文档型多密级数据、图片型多密级数据以及视频型多密级数据的存储耗时情况.
图3 文档型多密级数据存储耗时对比
图4 图片型多密级数据存储耗时对比
图5 视频型多密级数据存储耗时对比
从图3~图5可以明显看出,采用3种不同存储系统存储文档型多密级数据时,存储耗时相差不大;存储图片型多密级数据时,设计系统的存储耗时开始表现出优越性,当存储对象变为视频型多密级数据时,设计系统的优越性更加突出,存储耗时虽然也随着视频型多密级数据数量的逐渐增大有所增加,但增幅不大,当视频型多密级数据数量达到500个时文献[4]系统和文献[5]系统的存储耗时分别为182和198 ms,而此时设计系统的存储耗时仅为149 ms,这是由于设计系统选取区块链技术作为多密级数据承载基础,采用自主对等的高效数据分发协议作为传输机制,方便了存储系统各功能模块之间的交流通信,有效减小了存储耗时.
如图6所示对比了3种不同存储系统存储不同类型多密级数据时占用内存情况.
图6 文档型多密级数据存储CPU占用比例对比
图7 图片型多密级数据存CPU占用比例对比
图8 视频型多密级数据存储CPU占用比例对比
观察图6~图8可以发现,无论是存储文档型多密级数据、图片型多密级数据,还是视频型多密级数据,设计系统的CPU占用比例都是最低的.为了进一步证明设计系统性能的有效性与优越性,选取拥塞率和破译率作为评价指标用于度量3种不同系统在执行不同类型多密级数据存储任务时的系统拥塞状况和系统抗攻击性能.
图9 三种不同系统的拥塞状况对比
图10 三种不同系统的破译率对比
根据图9和图10的对比测试结果可以看出,相比于文献[4]系统和文献[5]系统,设计系统的拥塞率最低,不超过20%,破译率则控制在30%以内,这是由于设计系统能够实现多密级数据文件信息与真实多密级数据的分离存储,这种分离存储方式即便是合法用户也无法接触到系统中存储的真实多密级数据,解决了系统内部管理人员泄密问题,同时设计系统采用纠删码存储机制,利用开放式数据索引命名技术为网络环境下共享多密级数据内容索引提供一个可靠的开放性系统,保证了多密级数据提供者与访问用户之间通信传输的机密性和完整性,降低了破译率同时减小了系统拥塞.
3 结 语
多密级数据存储安全是一个国家信息系统建设过程中极其重要的核心环节,为了防止信息系统内部人员泄密以及移动存储介质发生失效等问题给信息系统带来的安全隐患,提出并设计基于区块链技术的多密级数据安全存储系统,通过系统性能对比测试结果证明了设计系统的有效性与优越性,能够实现多密级数据安全、快速存储,却具有较好的抗攻击性能.