段 平
(西北工业大学 计算机学院, 西安 710072)
目前大数据诸多的隐私泄露、虚假数据以及完整性破坏等安全风险严重影响网络用户的安全, 阻碍了大数据的进一步发展, 庞大的数据量更是对其存储性能提出了巨大的挑战, 所以, 越来越多的相关领域聚焦于大数据安全存储方面的研究。季一木[1]提出基于HBase系统的非结构化大数据动态安全存储方法, 创建持久性索引层, 通过Redis建立大数据热点索引缓存层, 从而减少存储开销, 但该方法的时延较长。陈宇翔等[2]提出基于可搜索加密技术的非结构化大数据动态安全存储方法, 依据大数据的存储、交换安全风险, 采取可搜索加密技术、属性的访问控制技术以及进度度量技术, 改进泄露风险, 但该方法在应用过程中会破坏大数据的完整性。温振蕙等[3]基于Thrift源码的非结构化大数据动态安全存储方法, 构建Thrift IDL(Interaetive Data Language)模型, 通过对数据传输结构的重新定义, 聚合多行数据, 采用一次远程过程调用(RPC: Remote Procedure Call)对多行数据进行块存储, 根据交互式数据语言(IDL: Interactive Data Language)模型完成服务端接口的修正, 但该方法实现过程较为复杂, 无法得以广泛应用。
为解决以上传统方法存在的问题, 笔者提出一种基于区块链的非结构化大数据动态安全存储技术。依据安全存储的二元域分布规律与不同的用户特性, 对多用户规则调度模型进行创建, 根据存储数据包数量与节点数量的关系, 将数据包用源数据包的线性组合代替, 基于行向量的元素界定分布与矩阵方程, 架构二元域矩阵列不满秩概率; 利用区块链非对称加密技术的公私钥, 对授权信息进行加密与解密, 从而获取相应的加密信息与数字签名信息, 经过分布式文件系统的引入, 完成次要信息与数据访问形式的记录, 最后采用Mongo DB非关系型数据库, 实现动态安全存储技术的构建。
基于非结构化大数据调度模型与存储概念的相似度[4]属性, 发现安全存储的二元域F2分布规律, 根据用户的不同特点, 架构多用户规则调度模型, 并采用
fij=wtδt+wcδc+wqδq+wsδs
(1)
对其进行描述, 其中δ、q分别为存储数据包与存储质量,t、c和s分别为存储系统的数据采集时长、满足用户存储需求的代价以及数据存储损耗,w为非结构化大数据的总节点数量, 且满足
wt+wc+wq+ws=1
(2)
其中数据存储损耗s与非结构化大数据总节点数量w之间的关系如下
(3)
已知非结构化大数据源的个数为k, 则其节点数量为k+ε个, 因为采集的存储数据包数量与节点数量相同, 所以, 用Yi表示k+ε个存储数据包, 其中i=1,2,…,k+ε,ε是一个常数, 且ε>0。所有的存储数据包均可以看做是源数据包[5-6]的线性组合, 故任意一个Yi都能通过
Yi=gi[X1,X2,…,Xk]
(4)
进行描述, 其中X1,X2,…,Xk为源数据包,i=1,2,…,k,gi为独立的行向量, 其取值范围为二元域F2={0,1}。
假设gi中的各元素为gij, 且均为独立取值, 则
(5)
Pr(gij=r)即为各元素界定的分布, 其中j=1,2,…,k,alnk/k为非结构化大数据节点概率,r为两节点之间的距离。
利用k+ε个存储数据包, 对(k+ε)×k阶矩阵进行架构, 将所得矩阵设定为G(k+ε)×k, 该矩阵的表达式如下
G(k+ε)×k=[g1,g2,…,gk+ε]T
(6)
根据所得矩阵表达式与式(4), 推导出如下矩阵方程
(7)
将基于二元域F2的矩阵G(k+εB)×k列不满秩[7]概率设定为Pfailure, 如果矩阵G(k+ε)×k的所有元素取值均满足式(5)的分布情况, 则采用下列不等式对列不满秩概率Pfailure进行描述
(8)
(9)
通过非结构化大数据动态安全存储算法的构建, 即能实现基于区块链的非结构化大数据动态安全存储技术。
图1 传统集中式存储模型Fig.1 Traditional centralized storage model
非结构化大数据的存储信息通常有两种: 一种是诸如用户信息、数据描述以及数据访问规则等共享管理相关的系统业务数据, 另一种是比如气候数据、农业数据以及医疗数据等大数据集[8-10]。当前的存储模型一般为集中式存储管理形式, 其示意图如图1所示。
此类模型以第三方机构的形式, 把系统业务数据转换为预定义数据表格式后, 将其储存于非关系型数据库[11]中, 并在数据中心对所有数据实施集中储存与管理。虽然该模型具有较强的数据维护与管理操作性能, 但因其数据储存形式与数据库维护的开放性, 极易发生信任危机, 所以架构出图2所示的区块链分布式模型, 以加强数据的扩展性[12]与动态存储的安全性。
图2 区块链下分布式模型Fig.2 Distributed model under block chain
该模型通过去除第三方数据管理机构, 分离数据源与数据管理, 将分布式存储与数据管控权交给每个企业或个人。由各个数据中心、数据库以及物联网传感设备所组建的数据源与数据库管理工具的可视化性能, 令数据库更加简易适用。
模型中所有构成部分之间的交互操作, 均通过区块链非对称加密技术而创建的公私钥[13-14]得以实现, 其中公开地址是公钥, 而私钥则保存在各自对应的模块中。在广播数据的过程中, 用户使用私钥将数据描述、访问形式等信息加密, 通过交易的方式使数据版权(即信息的真实性)得到保证。如果交互授权的对象为双方用户, 则可采用公私钥加密私密信息。比如用户A发送授权信息给用户B, 需要用户A先使用用户B的公钥加密授权信息, 取得加密信息{message}B, 从而保证解密查看的对象仅为用户B; 其次, 用户A再利用独有的私钥对{message}B进行加密, 得到数字签名[15]信息{{message}B}A′, 使信息来源的可靠性得到保证; 用户B接收到数字签名的加密信息{{message}B}A′后, 先使用用户A的公钥解密, 获取加密信息{message}B, 评定来源的可信度; 最后用户B利用其独有的私钥解密, 得到数据授权的初始信息{message}。
在区块链内保存着透明、完整的全部数据交互与版权信息流程, 因为无法篡改, 且用户数据无需在第三方机构中托管, 不会得到缓存, 所以当出现版权纠纷时, 在区块链的记录里就可以实施权限追溯, 对数据进行维权。
区块链全部数据的备份通过各节点得以实现, 如果链中的冗余数据量过多, 将使共识效率[16]下降, 并增加额外的节点存储与运算成本, 因而采用分布式文件系统, 对数据描述等次要信息与验证完权限的数据访问形式进行记录。
虽然分布式文件系统能实现PB量级的数据存储, 但存在访问延时较长的弊端, 为了改进分布式文件系统的动态安全存储性能, 通过Mongo DB[17]非关系型数据库的引入, 设计一种分布式文件系统与Mongo DB相结合的动态安全存储技术, 以使非结构化大数据的动态信息存储得以实现。图3所示为非结构化大数据的动态存储平台。图3中Mongo DB模块的结构如图4所示。
图3 动态存储平台 图4 基于动态存储平台的Mongo DB结构示意图 Fig.3 Dynamic storage platform Fig.4 Schematic diagram of Mongo DB structurebased on dynamic storage platform
在Mongo DB的结构中, 用户模块含有Mongo DB的访问接口, 用于数据的缓存维护, 提升访问速率, 比如集合区域的信息; 协调服务模块是为了保证总体的系统集群里有且仅有唯一一个主控制节点, 该模块不仅可以完成全部集合寻址入口的存储, 还能对集合服务状态进行实时监控, 令主控制节点采集到实时的集合服务状态信息, 主要用于Mongo DB模式信息的存储与管理; 控制节点模块的功能是达成集合空间的分配目标, 调度元数据存储负载, 检测到失效节点时转移故障, 对Mongo DB的垃圾文件回收请求与schema的更新请求进行处理; 而集合服务模块则主要解决数据的I/O请求以及自动分片较大数据量的集合[18-20]。
关于分布式文件系统框架, 作为该系统核心管理者的控制节点, 也叫做Name Node, 功能是对文件系统的命名空间、集群配置以及存储块复制等进行管理; 数据存储的基本单元为存储节点, 按照块的形式对数据进行存储, 与此同时, 为控制节点提供每个块的实时精准信息; 而Mongo DB客户端部分主要是对分布式文件系统的应用程序进行获取。
仿真实验的计算机配置如表1所示。
表1 相关设备配置统计表
分别采用文献[1]中的基于HBase的非结构化大数据存储方法、文献[2]中的基于可搜索加密技术的非结构化大数据存储方法与所提方法进行动态安全存储的模拟实验, 通过比较两种方法的大数据存储耗时与数据完整度性能指标验证笔者方法的有效性与可行性。
图5为各方法存储时长比较结果。由图5可以看出, 在处理相同数量的非结构化大数据时, 笔者方法的用时更短, 且波动幅度也相对较小, 存储速度有显著优势。3种方法的存储完整量曲线如图6所示。
图5 各方法存储时长比较 图6 不同方法数据存储完整度比较 Fig.5 Comparison of storage duration Fig.6 Comparison of data storage of each method integrity by different methods
根据图6实验结果可以看出, 基于同样规格的非结构化大数据, 笔者所提方法存储的大数据完整度较高, 最低也维持在92%。
网络数据的大爆发促使探究存储非结构化大数据技术变得至关重要, 因此, 提出新的基于区块链的非结构化大数据动态安全存储技术。构建多用户规则调度模型, 采用存储信息种类构建集中式存储管理模型, 通过分离数据源与数据管理, 得出区块链分布式模型, 经过对授权信息的加密与解密, 设计透明、完整的全部数据交互与版权信息安全流程。利用分布式文件系统记录数据信息, 得到区块链的分布式文件加密系统模型。最终将动态存储平台的Mongo DB非关系型数据库与其进行融合, 实现非结构化大数据动态安全存储技术。