一种云存储数据安全审计方法与流程

文档序号:18737209发布日期:2019-09-21 01:20阅读:来源:国知局

技术特征:

1.一种云存储数据安全审计方法,其特征在于,包括以下步骤:

S1:密钥生成:用户随机选取x←Zp,u←G1,计算v←gx∈G2,其中Zp表示为整数模数p剩余类集合,G1,G2,GT是阶为素数p的乘法循环群,g是乘法循环群G2的生成元,G1,G2满足双线性对映射e:G1×G2→GT,定义私钥sk=(x),公钥pk=(u,g,v);

S2:代理签名授权信息生成并发送:用户随机选取y←Zp,产生用户身份信息mw,计算Q=gy∈G2,P=h(mw,Q)·x+y,P∈Zp,其中h为单向哈希函数,将待签名数据F和代理授权信息(P,Q,mw),即{F,P,Q,mw}发送给代理签名方;

S3:代理签名方对数据进行签名:代理签名方利用Kafka作为消息队列服务器,在微批处理时间区间内持续接收用户传递来的{F,P,Q,mw},使用Spark Streaming将接收到的{F,P,Q,mw},分成数据块存放在Spark Streaming的数据块队列中,Spark通过任务调度器对Spark Streaming的数据块队列数据进行计算,将计算结果发送至云服务提供商中进行存储和维护;

S4:生成挑战集:第三方审计者从集合[1,n]之间选取c个元素,组成集合I,对于每一个i∈I,随机生成νi∈ZP,挑战集chal={(i,νi)i∈I},将挑战集chal发送给云服务器;

S5:生成证据:云服务提供商收到来自第三方审计者的挑战集chal时,云服务器提供证据proof={μ,σ,R,H(mi)i∈I}返回第三方审计者,其中R是随机掩码,R=(ω)d=(uPSK)d,其中d为第三方审计者为每次审计任务而随机产生的;

S6:验证证据:第三方审计者利用Kafka作为消息队列服务器,不断接收云服务提供商传递来的proof信息,并对proof信息进行验证后把验证结果发送到每个用户。

2.根据权利要求1所述的云存储数据安全审计方法,其特征在于,S3中代理签名方通过任务调度器对Spark Streaming的数据块队列数据进行计算,具体包括以下步骤:

S3.1:将Spark Streaming的数据块队列数据作为输入流分布式数据集userDStreamRDD,并使用partitionBy函数进行分区,并进行如下操作;

S3.2:在每个分区使用flatMap函数将userDStreamRDD每行字符串解析出验证用户授权信息和数据签名所需参数<T,(P,Q,mw)>,T为用户标签;

S3.3:在每个分区使用filter函数筛选满足gP=vr·Q的授权信息正确的用户待签名数据和对应签名参数,其中r=h(mw,Q);

S3.4:代理签名方在每个分区选择私钥z←Zp,计算PSK=P+z·r,PPK=vr·gz·r·Q以及ω=uPSK,并将文件分块,即F=(m1,m2,···,mn),使用map函数计算数据块签名,:H(·)为将二进制字符串映射到G1的哈希函数;

S3.5:使用reduce函数将各个分区用户的数据块签名归并到master节点上;

S3.6:代理签名方将master节点上的数据{F,Φ}作为输出结果发送至云服务提供商进行存储和维护,Φ为数据块签名集合。

3.根据权利要求2所述的云存储数据安全审计方法,其特征在于,步骤S6的验证数据的具体步骤包括:

S6.1:将proof信息作为输入流分布式数据集pfDStreamRDD,并使用partitionBy函数进行分区;

S6.2:在每个分区中使用flatMap函数将pfDStreamRDD每行字符串解析出验证证据所需的参数;

S6.3:对于每个用户的数据证据,使用map函数验证:

输出键值对<T,ture/false>;

S6.4:使用reduce函数将各个分区数据验证结果归并到master节点上;

S6.5:将每个用户数据的验证结果根据T发送到每个用户。

4.根据权利要求3所述的云存储数据安全审计方法,其特征在于,步骤S3.1中的数据块队列数据格式为文本文件格式,所述文本文件中每行一条记录,每一条记录代表一个用户数据块签名和验证代理授权信息所需所有参数,记录中的每个字段以“,”为分隔符分开。

5.根据权利要求4所述的云存储数据安全审计方法,其特征在于,步骤S3各个分区的用户签名输出为文本文件格式,所述文本文件中每行一条记录,每一条记录代表一个用户标识和数据块签名结果,记录中的每个字段以“,”为分隔符分开。

6.根据权利要求5所述的云存储数据安全审计方法,其特征在于,所述的proof信息为文本文件格式,每行一条记录,每一条记录代表服务器产生的一个证据,记录中的每个字段以“,”为分隔符分开。

7.根据权利要求6所述的云存储数据安全审计方法,其特征在于,步骤S6.5中的验证结果为文本文件格式,每行一条记录,每一条记录代表一个挑战标识和该挑战数据的验证结果,记录中的每个字段以“,”为分隔符分开。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1