基于云技术的创新型科研项目审计系统

2022-11-09 04:38吕静
微型电脑应用 2022年10期
关键词:普通用户数据文件哈希

吕静

(西安航空职业技术学院, 科研处, 陕西, 西安 710089)

0 引言

随着信息技术的高速发展,云存储凭借成本低、可靠性高、扩展性强等优势日益受到广大用户的欢迎,但现有的第三方云数据完整性审计方案缺点众多,制约了云存储的普及和应用[1-3]。本文针对创新型科研项目数据提出了一种基于云技术审计系统模型,利用分布式网络在各节点之间直接建立可靠通信,提高了信息传递的效率,增强了整个网络的可扩展性和计算能力,通过数据加密有效杜绝了项目隐私泄露的现象。

1 总体框架

云数据完整性审计模型总体结构如图1所示。模型主要由3个实体构成,即普通用户群、授权用户群、云存储服务器。用户群既可以是个人也可以是企业,在DPOS(委托证明)的推进过程中,用户群体将会逐渐分化为CO(普通用户群)和DO(授权用户群)。由于CSP(云存储服务器)为所有的用户群体提供存储服务,所以它们都可以在CSP中进行数据存储,DO则代表整个用户群体验证CSP中数据的完整性。

图1 模型总体结构

在区块链的技术框架下,模型的工作流程如下:

(1) owners首先基于特定的密钥生成算法生成一个密钥对(sk,pk);接下来采用DPOS算法向当前节点输入共识消息;再从P2P网络中读取其他节点中已有的DPOS共识消息。在收集到网络中所有节点的共识消息后即可形成全网共识,然后在DPOS机制下经投票选出具有资格的DO用户,从而创建授权用户列表,owners读取该列表,如果已被选举为授权用户,则由其进行任务分配,未被选举为授权用户的owners则成为执行任务的普通用户[4-5]。

(2) 用户群CO和DO完成数据初始化后将其分割为多个小块,分别计算数据块的元数据及其hash值,由数据块与元数据组合到一起生成数据交易块(简称IB)并将其保存到CSP中。其中,利用hash函数计算数据hash值。hash函数是一种能够将任意长度的数据压缩转换为固定长度的概括性数据函数,它能够根据不同的散列需求,计算不同数据的hash值。hash函数具体表达式为

Addr=H(key)

IB的数据结构,如图2所示。

图2 IB的数据结构

(3) 用户群CO和DO将元数据和hash值组合为验证交易块itemBlcok*(简称IB*)并将其保存到DO(激活)中。IB*的数据结构,如图3所示。

图3 IB*的数据结构

(4) 当一定数量的IB*保存到DO(激活)后,DO通过区块生成算法生成无签名的区块文件,然后启动区块认证相关流程。

(5) 为了验证当前存储的区块所对应的用户数据集合的完整性,DO(未激活)向CSP提出审计要求。

2 数据结构实现

与传统的区块链应用模型相比,审计模型的数据文件更大,因此采用分块的方式来减少元数据的计算量。当引入区块链技术进行云数据完整性审计时,需要按实际需求修改区块链底层数据的结构,所以提出数据聚合的方法和MA-MHT(多用户审计哈希树)结构以适应区块链模式的审计。MA-MHT的结构形式,如图4所示。

图4 MA-MHT结构形式

数据聚合指在完成数据文件的分块后,不需要将每一个文件块在P2P网络中单独输送,而是将文件快与元数据组合成一个完整的文件,从而作为一次完整的交易在网络中进行传输。MA-MHT结构则适应了区块链与审计的融合需求,使文件块在区块链中的签署以及审计系统对其进行审计均能够得以实现。在MA-MHT的结构形式下,通过安全哈希算法,底层IB*的所有hash值被整合成哈希树的叶子节点,最后再通过特定算法生成根节点HR。区块链的签署由这些根节点完成,相当于区块进行的第一次审计,从而快速检查用户输入的数据文件是否在CSP中被完整地保存下来。审计模型通过MHT中的元数据完成后续的审计操作以实现周期性的数据完整性审计。

MA-MHT数据结构的构建方法[6-7]如下:

步骤1 由DO进行MA-MHT构建的具体过程。

哈希树叶子节点hash值的计算:HA=H(H(mi,1)+H(mi,2)+…+H(mi,n))

内部节点hash值的计算:HE=H(HA+HB)

根节点hash值的计算:HR=H(HE+HF)

步骤2 由CSP进行MA-MHT构建的具体过程。

计算文件块mi,j的hash值H(mi,j);

哈希树叶子节点hash值的计算:HA=H(H(mi,1)+H(mi,2)+…+H(mi,n))

内部节点hash值的计算:HE=H(HA+HB)

根节点hash值的计算:HR=H(HE+HF)

3 审计实现

步骤1 生成密钥。任意选取2个1 024位的素数x、y(x、y←Zp),由N=x·y计算得到RSA模数;由φ(N)=(x-1)×(y-1)计算欧拉函数值,任意选取1个整数e<φ(N),使ged(e,φ(N))=1;由d≡e-1(modφ(N))计算得到1个整数d;令公钥pk=(N,e),私钥sk=d,选择同态安全hash函数H(·):Z*N→Z*N。

步骤2 生成元数据。将用户输入的数据文件分割为n个文件块Fi={mi,j}1≤j≤n;将Fi的唯一标记nameFi∈Z*N保存在区块的头文件header中,然后对每个文件块mi,j对应的元数据进行计算,即σi,j=H(nameFi)H(mi,j)d 1≤j≤n。在完成元数据的处理后,用户将文件块、文件块的hash值、文件块的元数据分别整合位IB(header(mi,j,σi,j))1≤j≤n以及IB*(header(H(mi,j),σi,j))1≤j≤n并将其分别保存在CSP和DO(激活)中。

步骤4 按以下方法完成区块签署。

由DO(激活)就区块签署向CSP提出认证要求;

CSP根据blockId对所存储的证据区块进行定位,将该区块文件MA-MHT根节点的hash值HR提取出来,构建证据proof(HR,blockId)并将其返回;

DO(激活)接收CSP返回的证据后找到对应的未签署文件块,读取其根节点HR并与CSP中的HR进行对比,若两者相等则将签署消息ack(blockId,succeee,DOpk)发送给CSP完成区块的签署;

CSP在接收到签署消息后,在区块链上找到对应的区块,从签署消息中提取出DOpk并写入该区块的签署标志位中。

步骤5 按以下步骤完成区块的审计。

由DO任意抽取一个本地中存储的文件块,该区块中IB*的数量为m个,其中存储文件块的元数据及hash值的数量为n个。随机创建m个集合Ii,集合中包含的元素记为Ii={si,j}1≤j≤c,数量为c个。DO从集合Ii中任意选取1个vi∈Z*p,创建1个子签署要求chali=(Ii,vi)1≤j≤m,在所有同类要求得到满足后,将其整合为完整的签署要求chal(blockId,chali)1≤j≤m并将其发送给CSP;

DO收到证据后,对下式进行验证:

(1)

若式(1)成立,则DO输出结果“true”,否则输出结果“false”。

4 应用分析

4.1 安全性分析

所设计的模型采用了哈希算法、非对称加密算法以及MA-MHT来保证云数据的安全性。在区块链的结构模式下,数据存储在各个区块中且数据通过哈希算法整合得到的hash值被保存在区块头中。当数据面临被篡改的威胁时,区块的哈希值会产生一定的变化,为了使篡改操作在整个网络中的每一个节点得以执行,就必须从当前区块开始对所有节点的hash值进行重新计算。此外,为了保证用户的隐私不被侵犯,模型中通过数据盲化的方法处理CSP返回给DO的验证数据,使DO无法对数据内容进行反向推导。

4.2 实验验证与分析

实验搭建硬件环境为3台PC(内存8 G、CPU3.2 GHz);系统采用Windows 7操作系统。编程环境为JXTA CMS2.4、jdk1.8、Java。其中:1台PC用于多用户科研项目数据的存储和维护,并生产区块;另外2台PC搭建JXTA分布式系统。节点之间地位平等、无主次之分。每个节点都可能成为项目主管用户和普通用户。

实验1:用户单次输入文件的大小为32 KB,每个文件分割为10个文件块,CSP和授权用户(激活)每成功接收5个IB即创建1个区块文件,实验过程中用户输入的文件数量依次为50、100、150、200个,记录每次文件输入后的审计时间并与第三方审计[8-10]方案的用时进行对比。实验结果如表1所示。

表1 不同输入文件数量条件下2种方案用时对比

实验2:用户输入文件数量为200个,文件分割为10个文件块,CSP和授权用户(激活)每成功接收5个IB即创建1个区块文件,实验过程中用户输入的文件大小依次为32、64、128、256 KB,记录每次文件输入后的审计时间并与第三方审计方案的用时进行对比。实验结果如表1所示。

由表1的数据可见:在文件大小固定的条件下,随着用户输入文件数量的增加,2种方案各自的审计用时变化不大,但本文模型的审计用时比TPA方案缩短很多;在文件数量固定的条件下,随着用户输入文件大小的递增,2种方案各自的审计用时均逐渐延长,但本文模型的审计用时仍比TPA方案短,且两者差异极其明显。

实验3:用户单次输入文件的大小为32 KB,每个文件分割为10个文件块,CSP和授权用户(激活)每成功接收5个IB即创建1个区块文件,授权用户和普通用户各自依次输入200、400、800个数据文件,授权用户(激活)依次完成40、80、160次审计操作。普通用户的网络通信主要包括向CSP发送数据和向授权用户(激活)发送元数据;授权用户(激活)的网络通信主要包括向CSP发送数据、其自身生成元数据以及区块签署与审计过程中的数据传输;CSP的网络通信仅为接收审计要求后证据的传送。在第三方审计方案中,用户依次分2 000、4 000、8 000次输入大小为32 KB的数据文件,分别完成40、80、160次审计操作。2种审计方案的总体网络通信量对比结果,如表2所示。

表2 2种方案的总体通信量对比

由表2数据可见,在用户发送相同数量的文件并达到同等审计效果的条件下,本文模型所需的网络通信量远远小于第三方审计方案,其原因在于本文模型首先对数据文件进行聚合处理再集中发送,因此网络传输的实际数据量大大减少,有效减轻了网络通信的负载。

5 总结

为了解决项目数据审计中常用的第三方审计方案所存在的性能差、单点失效、用户隐私易泄露等问题,本文提出了一种基于云技术的创新型科研项目数据审计系统模型。将用户输入的项目数据保存在分布式网络结构的区块链上,通过文件块信息的读取向CSP提出验证要求,同时利用数据的盲化处理方法保证用户隐私的安全性。实验结果表明,与第三方审计方案相比,本文所提出的模型所需审计时间更短、通信量更少,对于云数据的完整性审计具有很强的实用性。

猜你喜欢
普通用户数据文件哈希
基于小红书UGC模式的城市形象传播研究
基于特征选择的局部敏感哈希位选择算法
哈希值处理 功能全面更易用
文件哈希值处理一条龙
即使是普通用户也需要备一张家庭影院入门攻略:影音调校工具篇1
基于表空间和数据文件探讨MIS中数据库架构设计
地面气象观测软件数据质量控制
基于网络环境的社区协同办公问题探讨(二)
巧用哈希数值传递文件
离线发文件 不是会员也能用