CN107172071B - 一种基于属性的云数据审计方法及系统 - Google Patents

一种基于属性的云数据审计方法及系统 Download PDF

Info

Publication number
CN107172071B
CN107172071B CN201710467279.8A CN201710467279A CN107172071B CN 107172071 B CN107172071 B CN 107172071B CN 201710467279 A CN201710467279 A CN 201710467279A CN 107172071 B CN107172071 B CN 107172071B
Authority
CN
China
Prior art keywords
audit
server
cloud server
file
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710467279.8A
Other languages
English (en)
Other versions
CN107172071A (zh
Inventor
禹勇
李艳楠
杨波
李元晓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shaanxi Normal University
Original Assignee
Shaanxi Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shaanxi Normal University filed Critical Shaanxi Normal University
Priority to CN201710467279.8A priority Critical patent/CN107172071B/zh
Publication of CN107172071A publication Critical patent/CN107172071A/zh
Application granted granted Critical
Publication of CN107172071B publication Critical patent/CN107172071B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3033Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to pseudo-prime or prime number generation, e.g. primality test
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及网络安全技术领域,具体涉及一种基于属性的云数据审计方法及系统,本发明的方法包括:系统初始化,生成系统公钥;用户端上传属性集合,密钥产生中心为用户生成私钥;用户端上传数据块和认证子至云服务器。审计服务器发送挑战值和审计属性集合给云服务器,云服务器首先验证审计属性集合的有效性,然后利用挑战值、用户数据块和认证子计算响应值传给审计服务器,审计服务器验证响应值是否通过验证以查看用户的数据是否被完整地保存在云服务器上。本发明不仅可以简化了传统审计方法中复杂的密钥管理负担,同时还提供用户属性隐私保护,使得审计服务器在审计的过程中无法推断出用户上传数据所用的全部属性,使得该方法更具实用性。

Description

一种基于属性的云数据审计方法及系统
技术领域
本发明属于网络安全技术领域,具体涉及一种基于属性的云数据审计方法及系统。
背景技术
作为云计算中“设施即服务IaaS”模式中最基础的一种,云存储能使数据拥有者在云端存储他们的数据,并且将存储在本地的备份删除,这极大地降低了用户对本地数据的存储和管理负担。而当用户需要回取数据时,也只需要通过手机、平板电脑等移动终端接入云端,下载自己所需的那部分数据即可。云存储服务有许多显著的优势:随时随地的访问,地理位置无关,按需服务,弹性资源等等。然而,除了上述的优势之外,云存储服务还存在一些安全问题和挑战。当用户选择把他们的数据外包给云服务器之后,他们便失去了对数据的物理拥有权,他们并不是很确定地知道他们的数据被具体存储在哪一个磁盘上或者到底谁有权利访问到他们的数据。这也就是说,用户选择上传数据到云上以后,这些数据的命运将完全被云服务提供商掌控。虽然大多数云服务提供商是诚实的,但是数据丢失事件还是不可避免地时有发生。比如,云服务器一小段时间内的宕机,或存储介质(如RAM等)崩盘便会很轻易地将云存储服务器中的数据损坏。云数据是大数据分析和云计算的基础,如果数据完整性都不能被保证,那么数据分析出的结论和云计算出来的结果都是不可靠的,因此数据完整性对于安全可靠的云存储系统是尤为重要的。
针对上述问题,云数据审计协议被提出。云数据审计协议是检验数据完整性的一个有利工具。目前的云数据审计协议的研究主要分为两大类,分别是数据可回取协议PoR(Proof of retrievability)和可证明数据拥有协议PDP(Provable data possession)。PDP是一个概率检测协议,它使用一些随机取样的数据块,而不是对整个文件进行审计。对于一些大文件来说,这样的思路比确定性审计协议要实用很多。概率性检测可以通过用户想达到的审计精度来调整挑战块数的多少,这提供了一种效率和精度上的折中方案。PoR协议与PDP协议类似,但是它兼具检测云端数据的完整性,以及数据恢复功能。PoR协议在数据上传之前使用冗余编码技术,如纠删码等对数据进行编码,使得在审计之后,可以将数据完整地回取。除此之外,PDP协议和PoR协议都是挑战-响应协议,除了用户要外包的原始数据之外,协议中还加入了一些额外的元数据(Metadata)用来验证原始数据的完整性。这些元数据(也称为标签或认证子)由用户根据原始数据计算得到,在计算的过程中需要用户的私钥的参与,因此其他人无法伪造。并且元数据需要具有同态可验证的性质,因此可以在验证阶段对响应结果进行一些聚合,以降低云服务器和验证者之间的通信代价。近几年,一系列具有各种特殊功能的审计方案被相继提出,主要包括以下几类:支持动态操作的审计方案,具有隐私保护性质的审计方案和具有公开可验证的审计方案等,具有多副本的审计方案,跨云平台的审计方案,所有权证明方案PoW(Proof of ownership),支持云端数据去重的审计方案等。
上述的方案都是基于公钥基础设施PKI系统或是基于确定身份的,对于一个PKI系统,证书的申请、发布、维护、吊销都需要很大的人力物力和时间开销,而对于一个确定身份,也需要用户本地维护一个确定的字符串作为身份,这都给用户带来繁重的密钥管理负担。
发明内容
为了解决云存储服务的安全问题,本发明提供了一种基于属性的云数据审计方法及系统。
基于属性的云数据审计方法可以使云用户在上传文件时定义一些属性集合,例如姓名,性别,年龄等,并为这些属性生成密钥,对待上传的文件进行预处理;在审计阶段,云数据用户可以指定一些具有相似属性集合的人对云数据进行审计,而与数据不相关的人无法获得审计权限。
本发明要解决的技术问题通过以下技术方案实现:
一种基于属性的云数据完整性验证方法,包括以下步骤:
步骤S100,系统初始化:
步骤S101,云服务器运行系统初始化算法,输入一个安全参数l,该算法输出两个以p为阶的乘法循环群G1和G2,其中p是一个安全的大素数,群G1的生成元是g;e:G1×G1→G2是一个双线性映射;H:{0,1}*→G1是一个抗碰撞的哈希函数;
步骤S102,密钥产生中心服务器随机选择一个系统主密钥y∈Zp,然后根据主密钥计算参数g1=gy∈G1,并发送给云服务器,其中Zp为模p的循环群;
步骤S103,云服务器随机选择g2,h∈G1;定义用户的属性集合最多包含m个Zp中的元素,集合M={1,2,...,m+1};选择随机元素t1,...,tm+1∈G1,计算函数T(x)。用户端选取整数d作为审计精度,并发送给云服务器;
步骤S104,云服务器生成系统公钥,即mpk={g,g1,g2,h,t1,…,tm+1}。
步骤S200,用户端向密钥产生中心服务器申请密钥:
步骤S201,用户端输入系统公钥mpk,并将自己的属性身份A一同发送给密钥产生中心服务器;
步骤S202,密钥产生中心服务器收到用户端密钥申请后,为其生成私钥sskA=({Dk}k∈A,{dk}k∈A)。
步骤S300,用户端上传数据至云服务器:
用户端选择文件名为name的文件F进行上传。首先为该文件生成一个文件标签τ;然后对该文件F进行预处理、将文件分成数据块,并为每个数据块生成认证子
Figure BDA0001325914810000041
然后用文件标签、数据块和认证子生成上传文件F*,,最后将上传文件F*存入云服务器:
步骤S301,用户端选择一个文件名为name的文件F,首先挑选s个随机数u1,…,us∈G1来为文件生成文件标签τ;
步骤S302,用户端用纠删码为文件F进行编码得到编码文件F′,然后将编码文件F′分成n个数据块{mi}1≤i≤n,再将每一个数据块分成s个部分,得到分块文件{mij}1≤i≤n,1≤j≤s
步骤S303,用户端为数据块{mi}1≤i≤n计算数据块标签
Figure BDA0001325914810000042
然后将用户属性集合A、文件标签τ、分块文件{mij}1≤i≤n,1≤j≤s和数据块标签
Figure BDA0001325914810000043
生成上传文件
Figure BDA0001325914810000044
最后将上传文件F*存入云服务器,同时删除本地备份文件。
步骤S400,审计服务器对云服务器的验证过程:
用户端生成一个审计请求发送给审计服务器;审计服务器与云服务器的交互,云服务器先验证当前的审计属性集合是否具有审计权限,然后生成响应值发给审计服务器;审计服务器验证云服务器发来的响应值是否有效,进而确定用户端的文件是否完整地保存在云服务器上,最后,审计服务器生成验证报告发送给审计者:
步骤S401,用户端产生一个审计属性集合B,并根据审计属性集合B和一些相关信息生成一个审计请求requ,发送给审计服务器,请求验证云服务器;
步骤S402,审计服务器生成挑战值chal,并发送给云服务器;
步骤S403,云服务器验证审计属性集合B的有效性,验证通过则生成相应的响应值resp,否则,拒绝用户端的审计请求;
步骤S404,审计服务器收到云服务器发来的响应值resp后,根据自己发送的挑战值chal,云服务器的响应值resp以及审计属性集合B来验证响应值resp的有效性;
步骤S405,审计服务器根据验证结果发送验证报告给审计者,若验证成功,则发送验证成功;否则,发送验证失败;
步骤S406,当用户端或其他审计者需要验证云服务器上的数据完整性时,重复步骤S401-S406。
进一步的,所述步骤S103的具体步骤为:设置函数
Figure BDA0001325914810000051
其中
Figure BDA0001325914810000052
是拉格朗日系数。
进一步的,所述步骤S202的具体步骤为:密钥产生中心服务器从用户端上传的属性集合A中提取出m个属性;密钥产生中心服务器随机选择一个d-1阶多项式q(x),使得q(0)=y;然后,密钥产生中心服务器为属性身份的每个属性选择一个随机数rk(k∈A),根据公式1和公式2为用户端计算密钥sskA=({Dk}k∈A,{dk}k∈A);
Figure BDA0001325914810000053
Figure BDA0001325914810000054
进一步的,所述步骤S301中计算文件标签τ的具体步骤为:令文件标识τ0=name||n||u1||…||us,用户端对文件标识τ0进行签名,即计算Sign(τ0),其中Sign是一个任意选取的基于属性的签名算法;最终,生成的文件标签为τ=τ0||Sign(τ0)。
进一步的,所述步骤S303中数据块{mi}1≤i≤n的认证子
Figure BDA0001325914810000061
根据公式3、公式4和公式5计算得到;
Figure BDA0001325914810000062
Figure BDA0001325914810000063
Figure BDA0001325914810000064
进一步的,所述步骤S401的具体步骤为:用户端根据公式6计算用户请求req,并用Sign算法签名,最后得到审计请求requ=req||Sign(req),并发送至审计服务器,请求验证云服务器数据的完整性;
req=IPaudit||B||τ(公式6);
其中,IPaudit表示云服务器IP地址,B表示审计属性集合,τ表示文件标签,“||”为级联操作。
进一步的,所述步骤S402的具体步骤为:审计服务器收到用户端的审计请求时,审计服务器随机选取一个整数c∈Zp(c≤n),并对每一个1≤i≤c选择一个随机的元素vi∈Zp;根据公式7计算挑战值chal,并将挑战值chal发送至云服务器;
chal=τ||B||{(i,vi)}1≤i≤c(公式7);
在{(i,vi)}1≤i≤c中,i是一个计数变量,vi是随机挑战。
进一步的,所述步骤S403中验证审计属性集合B的具体步骤为:首先验证审计请求签名的有效性;若有效,则提取审计属性集合B,并验证|A∩B|≥d是否成立;若成立,则审计请求有效,任取一个包含d个元素的集合
Figure BDA0001325914810000071
继续生成响应值,否则,拒绝审计请求。
进一步的,所述步骤S403中云服务器生成响应值resp的具体步骤为:根据划分的集合
Figure BDA0001325914810000072
对于所有的k∈S,云服务器根据公式8计算
Figure BDA0001325914810000073
对于所有的k∈B\S,云服务器根据公式9计算
Figure BDA0001325914810000074
最后根据公式10计算响应值resp;
Figure BDA0001325914810000075
Figure BDA0001325914810000076
Figure BDA0001325914810000077
其中,
Figure BDA0001325914810000078
Figure BDA0001325914810000079
进一步的,所述步骤S404中审计服务器验证响应值resp有效性的具体方法为:判断等式11是否成立,若等式11成立,则响应值resp有效,云服务器完整保存着用户端的数据;否则,响应值resp无效;
Figure BDA00013259148100000710
一种基于属性的云数据完整性验证方法的系统,包括云服务器、密钥产生中心服务器、用户端和审计服务器;所述用户端分别与云服务器、审计服务器、密钥产生中心服务器交互式连接,所述云服务器与所述审计服务器交互式连接。
与现有技术相比,本发明的有益效果:
(1)密钥管理代价低:在基于公钥基础设施和基于身份的云数据完整性验证协议中,用户端和验证者都需要保存公钥证书或身份标识符,故而承担复杂的密钥管理代价。本发明中,审计属性集合是由用户的固有属性组成,如性别、年龄、职称等,这大大降低了云数据审计方法中的密钥管理代价。
(2)指定审计者范围:一个基于属性的云数据审计协议可以指定审计者的范围,使得与该数据有关的群组可以对数据进行审计,而与数据不相关的人无法获得审计权限。用户可以根据设置不同的审计精度来指定审计者的范围。当审计精度提高时,则数量更少但相关性更强的群体可以获得审计权限。这是一般的云数据审计协议不具备的优势。
(3)支持用户属性隐私保护:基于属性的云数据审计协议还可以支持用户的属性隐私保护,使得审计者在审计过程中无法精确地推测云用户上传文件时使用的所有属性,进而保证云用户的属性隐私。
(4)抗合谋攻击:如果一群用户中的每一个人都无法成功完成审计工作,那么这群用户将他们的属性合在一起,也无法完成对云数据的审计。换句话说,没有一个人能将这群用户的密钥通过某种方式合在一起来完成审计工作。
附图说明
图1是本发明的云数据审计方法流程示意图。
图2是本发明的云数据审计方法系统模型示意图。
图3是本发明的用户端在上传数据时文件处理流程示意图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
本发明以密码学理论为基础,提供了一种基于属性的云数据审计的实现方法。相对于传统的基于PKI或基于确定身份的云数据审计方法,本发明方法能提供简化的密钥管理,即用户端和第三方验证者都无需维护数字证书,也无需保存身份标识符即可完成验证,大大减轻了系统的密钥管理负担。本方案能够通过调整审计精度来指定审计者的范围。在审计阶段还能够提供抗合谋和保护用户属性隐私的性质。因此本发明不仅对云计算的发展有促进作用,同时对安全云存储兼具诸多理论意义和实际意义。
首先对本发明所应用的密码学理论进行简单介绍:
(1)哈希函数(Hash函数)
哈希(Hash)函数可以把任意长的输入消息映射成固定长的输出消息,输出消息的长度由所选用的算法决定。哈希函数有许多实际的应用,如哈希树、哈希表等。哈希函数在密码学中也发挥着重要的作用,它通常用来产生消息、数据块和文件的短的“指纹”,主要用于数据的完整性校验,如消息验证码(HMAC)或用于数字签名算法中,来提高数字签名的有效性。一个密码学哈希函数可以允许用户很容易地验证一些给定数据与他们的哈希值是否匹配;但是如果仅仅给定一些哈希值,而输入的数据未知,则想要找到与给定的哈希值匹配的输入值是十分困难的。上述的两个性质分别被称为哈希函数的可计算性和单向性。一个安全的Hash函数除了满足上述两个条件以外,还要满足以下两个抗碰撞性:
a)抗弱碰撞性:对于任意给定的输入串x,想要找到另一个输入串x≠y,使得H(x)=H(y)在计算上是不可行的;
b)抗强碰撞性:找到任意的x,y,其中x≠y,使得H(x)=H(y)在计算上是不可行的;
本文中所使用的抗碰撞Hash函数H,指的是把任意长的由0、1组成的比特串映射到椭圆曲线乘法循环群G1上。
(2)双线性对
假设G和GT是阶同为p的两个乘法循环群,其中p是一个安全的大素数,g是群G的生成元。如果映射e:G×G=GT满足以下三个条件,则称为双线性对。
a)可计算性:e的计算是有效的。
b)双线性:对于任意的a,b∈Zp,称为e(ga,gb)=e(g,g)ab
c)非退化性:对于G中的生成元g,满足e(g,g)≠1;
本发明中的双线性对都是满足上述性质的双线性对,这样的双线性对可以通过有限域上超奇异椭圆曲线的Tate或Weil对来构造。
(3)Shamir秘密共享
秘密共享是存储高度敏感和高度重要的信息的理想选择,如加密密钥,导弹发射代码和集体银行帐户等。秘密共享的概念是Shamir在1979年提出的,秘密共享方案可以通过很多种方式进行构造,如,基于矩阵乘法的构造、基于中国剩余定理的构造、基于单调张成空间的构造等等,其中最简单也是最常见的一种构造方法是Shamir通过使用拉格朗日插值多项式构造的秘密共享方案。一个(k,n)秘密共享方案是按照如下步骤实现的:分发者将要分割的秘密值定义为一个数值s,为了将s分成k份,需要选择k-1个随机数a0,a1,…,ak-1,并由此确定一个k-1阶的多项式f(x)=a0+a1x+…+ak-1xk-1,其中,a0=s。在秘密分发阶段,分发者随机选择一些xi∈Zp,并计算si=f(xi)作为一个子秘密,然后将子秘密si分给一个群体P中的参与者Pi。在秘密恢复阶段,任选一个参与者子集
Figure BDA0001325914810000111
且集合S中的元素个数必须大于或等于k个,则他们可以重构多项式
Figure BDA0001325914810000112
其中,△xis(x)被称为拉格朗日系数,定义为
Figure BDA0001325914810000113
进而将自变量取0,即可恢复出秘密值s。
本发明中,利用Shamir秘密共享的思想,使方案具备容错性,进而实现属性相近的用户即可完成审计的功能。
本发明的目的在于:针对云环境中,用户的数据可能由于某些原因被篡改、删除等问题及传统的基于PKI或基于确定身份的云数据完整性验证协议中复杂的密钥管理问题,提出了一种基于属性的云数据完整性验证的实现方法,可以使得当审计者的用户集合与数据上传时所使用的属性集合相近时即可完成数据的审计,这样可以保证数据用户指定审计者的范围,使得与该数据有关的群组可以对数据进行审计,而与数据不相关的人无法获得审计权限。同时,相对于传统的云数据完整性验证协议,该方案免去了维护数字证书或保存身份标识符的密钥管理负担,用户只需要自身的固有属性,如性别、职称等,即可完成审计工作。因此,本发明中的基于属性的云数据审计方法可以大大降低用户端的密钥管理负担。因此该发明成果对于促进云存储的蓬勃健康发展不仅具有重要的理论意义,同时兼具更大的实用价值。
如图1、图2和图3所示,本实施例提供了一种基于属性的云数据审计方法,具体步骤如下:
步骤S100.系统初始化:
密钥产生中心服务器40选择主密钥,云服务器10生成系统公钥mpk:
步骤S101:云服务器10运行系统初始化算法,输入一个安全参数l,该算法输出两个以p为阶的乘法循环群G1和G2,其中p是一个安全的大素数,群G1的生成元是g;e:G1×G1→G2是一个双线性映射,;H:{0,1}*→G1是一个抗碰撞的哈希函数;
步骤S102:随机选择一个系统主密钥y∈Zp,然后根据主密钥计算参数g1=gy∈G1,并发送给云服务器10,其中Zp为模p的循环群;
其中,g是生成元,y是主密钥,g1就是一个由主密钥和生成元计算出来的参数,模p的循环群:是指一个循环群,p是它的模数(p是在步骤S101中选择的一个安全大素数);
步骤S103:云服务器10随机选择g2,h∈G1(其中,h、g2是循环群G1中的两个随机选择的安全参数);定义用户的属性集合最多包含m个Zp中的元素,令集合M={1,2,...,m+1};选择随机元素t1,...,tm+1∈G1,计算函数
Figure BDA0001325914810000121
其中
Figure BDA0001325914810000122
是拉格朗日系数。用户端20选取整数d作为审计精度发送给云服务器10(本步骤中的d是由用户端根据需要随机选取的一个审计精度,如果用户需要审计精度很高,则d就选取的大一些,反之亦然;d是一个整数);
步骤S104:云服务器10生成系统公钥mpk,即mpk={g,g1,g2,h,t1,…,tm+1}。
步骤S200.用户端20向密钥产生中心服务器40申请密钥:
用户端20向密钥产生中心服务器40提出密钥申请,同时向密钥产生中心服务器40上传自己的属性身份ω,经密钥产生中心服务器40验证后,为其生成密钥对。本过程的具体步骤如下:
步骤S201:用户端20输入系统公钥mpk,并将自己的属性身份A一同发送给密钥产生中心服务器40;
步骤S202:密钥产生中心服务器40收到用户端20的密钥申请后,首先从用户端20上传的属性集合A中提取出m个特征点(即属性);密钥产生中心服务器40随机选择一个d-1阶多项式q(x)使得,q(0)=y(y是主密钥)。随后,密钥产生中心服务器40对属性身份的每个属性选择一个随机数rk(k∈A),根据公式1和公式2为用户端20计算私钥sskA=({Dk}k∈A,{dk}k∈A);
Figure BDA0001325914810000131
Figure BDA0001325914810000132
其中,q(k),T(k)是将k作为自变量的函数值。
步骤S300.用户端20上传数据至云服务器10:
用户端20选择文件名为name的文件F进行上传。首先为该文件生成一个文件标签τ;然后对该文件F进行预处理、将文件分成数据块,并为每个数据块生成认证子
Figure BDA0001325914810000133
然后用文件标签、数据块和认证子生成上传文件F*,,最后将上传文件F*存入云服务器10,同时本地删除备份文件。本过程的具体步骤如下:
步骤S301:用户端20选择一个文件名为name的文件F,首先挑选s个随机数u1,…,us∈G1,令文件标识τ0=name||n||u1||…||us,用户端20对文件标识τ0进行签名,即计算Sign(τ0),其中Sign是一个任意选取的基于属性的签名算法;最终,生成的文件标签为τ=τ0||Sign(τ0);
步骤S302:用户端20用纠删码为文件F进行编码得到编码文件F′,然后将编码文件F′分成n个数据块{mi}1≤i≤n,再将每一个数据块分成s个部分,得到分块文件{mij}1≤i≤n,1≤j≤s
步骤S303:用户端20根据公式3、公式4和公式5为数据块{mi}1≤i≤n计算数据块标签
Figure BDA0001325914810000141
然后将用户属性身份A、文件标签τ、分块文件{mij}1≤i≤n,1≤j≤s和数据块标签
Figure BDA0001325914810000142
生成上传文件
Figure BDA0001325914810000143
最后将上传文件F*存入云服务器10,同时本地删除数据;
Figure BDA0001325914810000144
Figure BDA0001325914810000145
Figure BDA0001325914810000146
步骤S400.审计服务器30对云服务器10的验证过程:
用户端20生成一个审计请求发送给审计服务器30;审计服务器30与云服务器10的交互,云服务器10先验证当前的属性集合是否有审计权限,然后生成响应值发给审计服务器30;审计服务器30验证云服务器发来响应值是否有效,进而确定用户端的文件是否完整保存在云服务器上,最后,审计服务器30生成验证报告发送给用户端2:
步骤S401:用户端20根据云服务器10的ip地址IPaudit、审计属性集合B,文件标签τ计算一个用户请求req,并用Sign算法签名,最后得到审计请求requ=req||Sign(req),发送给审计服务器30,请求验证云服务器10;其中req根据公式6计算;
req=IPaudit||B||τ(公式6);
步骤S402:审计服务器30收到用户端20的审计请求时,审计服务器30随机选取一个整数c∈Zp(c≤n),并对每一个1≤i≤c选择一个随机的元素vi∈Zp;根据公式7计算挑战值chal,并将挑战值chal发送至云服务器10;
chal=τ||B||{(i,vi)}1≤i≤c(公式7);
其中,vi是审计服务器选的随机数。
步骤S403:云服务器10首先验证审计请求签名的有效性;若有效,则提取审计属性集合B,并验证|A∩B|≥d是否成立;若不成立,则审计请求无效,拒绝审计;否则,审计请求有效,任取一个包含d个元素的集合
Figure BDA0001325914810000151
继续生成响应值,对于所有的k∈S,云服务器根据公式8计算
Figure BDA0001325914810000152
对于所有的k∈B\S,云服务器10根据公式9计算
Figure BDA0001325914810000153
最后根据公式10计算响应值resp;
Figure BDA0001325914810000154
Figure BDA0001325914810000155
Figure BDA0001325914810000156
其中,
Figure BDA0001325914810000157
Figure BDA0001325914810000158
步骤S404:审计服务器30收到云服务器10发来的响应值resp后,根据自己发送的挑战值chal,云服务器的响应值resp以及审计属性集合B来判断等式11是否成立,若等式11成立,则响应值resp有效,云服务器完整保存着用户端的数据;否则,响应值resp无效;
Figure BDA0001325914810000161
步骤S405:审计服务器30根据验证结果发送验证报告给用户端20,若验证成功,则发送验证成功;否则,发送验证失败;
步骤S406:当用户端20或其他审计者需要验证云服务器10的数据完整性时,重复步骤S401-S405。
本发明还涉及一种基于属性的云数据完整性验证方法的系统,包括云服务器10、用户端20、审计服务器30和密钥产生中心服务器40;所述用户端20分别与云服务器10、审计服务器30、密钥产生中心服务器40交互式连接,所述云服务器10与所述审计服务器30交互式连接。
本实施例是基于公钥基础设施和基于身份的云数据完整性验证协议中,用户端和验证者都需要保存公钥证书或身份标识符,故而承担复杂的密钥管理代价。本发明中,审计属性集合是由用户的固有属性组成,如性别、年龄、职称等,这大大降低了云数据审计方法中的密钥管理代价。
在本实施例中,一个基于属性的云数据审计协议可以指定审计者的范围,使得与该数据有关的群组可以对数据进行审计,而与数据不相关的人无法获得审计权限。用户可以根据设置不同的审计精度来指定审计者的范围。当审计精度提高时,则数量更少但相关性更强的群体可以获得审计权限。这是一般的云数据审计协议不具备的优势。
本实施例基于属性的云数据审计协议还可以支持用户的属性隐私保护,使得审计者在审计过程中无法精确地推测云用户上传文件时使用的所有属性,进而保证云用户的属性隐私。
在本实施例中,如果一群用户中的每一个人都无法成功完成审计工作,那么这群用户将他们的属性合在一起,也无法完成对云数据的审计。换句话说,没有一个人能将这群用户的密钥通过某种方式合在一起来完成审计工作。
本实施例不仅简化了传统审计方法中复杂的密钥管理负担,同时还提供用户属性隐私保护,使得审计服务器在审计的过程中无法推断出用户上传数据所用的全部属性,使得该方法更具实用性。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (7)

1.一种基于属性的云数据审计方法,其特征在于,包括如下步骤:
步骤一、系统初始化,所述步骤一的具体步骤为:
步骤S101,云服务器运行系统初始化算法,输入一个安全参数l,该算法输出两个以p为阶的乘法循环群G1和G2,其中p是一个安全的大素数,乘法循环群G1的生成元是g;e:G1×G1→G2是一个双线性映射;H:{0,1}*→G1是一个抗碰撞的哈希函数;
步骤S102,密钥产生中心服务器随机选择一个系统主密钥y∈Zp,然后根据主密钥计算参数g1,并发送给云服务器;其中,Zp为循环群,该循环群的模数为安全的大素数p;
步骤S103,云服务器随机选择安全参数g2,h∈G1定义用户的属性集合M中最多包含m个Zp中的元素,属性集合M={1,2,...,m+1};在乘法循环群中选择随机元素t1,...,tm+1∈G1,计算函数T(x),用户端根据需要随机选取整数d作为审计精度发送给云服务器;所述步骤S103的计算函数T(x)的具体步骤为:设置函数T(x)为
Figure FDA0002408600670000011
其中,x代表属性集合M中的属性,
Figure FDA0002408600670000012
是拉格朗日系数;
步骤S104,云服务器生成系统公钥,即mpk={g,g1,g2,h,t1,…,tm+1};
步骤二、用户端向密钥产生中心服务器申请私钥;所述步骤二的具体步骤为:
步骤S201,用户端输入系统公钥mpk,并将自己的属性身份A一同发送给密钥产生中心服务器;
步骤S202,密钥产生中心服务器收到用户端密钥申请后,为其生成私钥sskA=({Dk}k∈A,{dk}k∈A);
步骤三、用户端上传数据至云服务器:
用户端选择文件名为name的文件F进行上传,首先为该文件F生成一个文件标签τ;然后对该文件F进行预处理、将文件分成数据块,并为每个数据块生成认证子
Figure FDA0002408600670000021
然后用文件标签、数据块和认证子生成上传文件F*,最后将上传文件F*存入云服务器;所述步骤三的具体步骤为:
步骤S301,用户端选择一个文件名为name的文件F,首先挑选s个随机数u1,…,us∈G1来为该文件F生成文件标签τ;
步骤S302,用户端用纠删码为该文件F进行编码得到编码文件F′,然后将编码文件F′分成n个数据块{mi}1≤i≤n,再将每一个数据块分成s个部分,得到分块文件{mij}1≤i≤n,1≤j≤s
步骤S303,用户端为数据块{mi}1≤i≤n计算数据块标签
Figure FDA0002408600670000022
然后将用户属性身份A、文件标签τ、分块文件{mij}1≤i≤n,1≤j≤s和数据块标签
Figure FDA0002408600670000023
生成上传文件
Figure FDA0002408600670000024
最后将上传文件F*存入云服务器,同时本地删除备份文件;
步骤四、审计服务器对云服务器的验证:
用户端生成一个审计请求发送给审计服务器;审计服务器与云服务器交互,云服务器先验证当前的审计属性集合是否有审计权限,然后生成响应值发给审计服务器;审计服务器验证云服务器发来响应值是否有效,进而确定用户端的文件是否完整保存在云服务器上,最后,审计服务器生成验证报告发送给审计者;所述步骤四的具体步骤为:
步骤S401,用户端产生一个审计属性集合B,并根据审计属性集合B,云服务器的ip地址IPaudit和文件标签τ生成一个审计请求requ,发送给审计服务器,请求验证云服务器;
步骤S402,审计服务器生成挑战值chal,并发送给云服务器;
步骤S403,云服务器验证审计属性集合B的有效性,验证通过则生成相应的响应值resp,否则,拒绝用户端的审计请求;
步骤S404,审计服务器收到云服务器发来的响应值resp后,根据自己发送的挑战值chal,云服务器的响应值resp以及审计属性集合B来验证响应值resp的有效性;
步骤S405,审计服务器根据验证结果发送验证报告给审计者,若验证成功,则发送验证成功;否则,发送验证失败;
步骤S406,当用户端或其他审计者需要验证云服务器上的数据完整性时,重复步骤S401-S406;
所述步骤S402的具体步骤为:审计服务器收到用户端的审计请求时,审计服务器随机选取一个整数c∈Zp(c≤n),其中,n代表S302步骤中的数据块的个数,并对每一个1≤i≤c选择一个随机的元素vi∈Zp作为随机挑战;根据公式7计算挑战值chal,并将挑战值chal发送给云服务器;
chal=τ||B||{(i,vi)}1≤i≤c (公式7)
其中,“||”为级联操作,在{(i,vi)}1≤i≤c中,i是一个计数变量,vi是随机挑战;
所述步骤S403中验证审计属性集合B有效性的具体步骤为:首先验证审计请求签名的有效性;若有效,则提取审计属性集合B,并验证|A∩B|≥d是否成立;若成立,则审计请求有效,任取一个包含d个元素的交集集合
Figure FDA0002408600670000031
继续生成响应值,否则,拒绝审计请求;
所述步骤S403中云服务器生成响应值resp的具体步骤为:根据划分的集合
Figure FDA0002408600670000032
对于所有的k∈S,其中,k是一个计数变量,云服务器根据公式8计算
Figure FDA0002408600670000033
对于所有的k∈B\S,其中,k是计数变量,S是交集集合,B是审计属性集合,云服务器根据公式9计算
Figure FDA0002408600670000034
最后根据公式10计算响应值resp;
Figure FDA0002408600670000041
其中,1/Δk、B\S(0)是步骤S103中定义的拉格朗日系数的倒数;
Figure FDA0002408600670000042
Figure FDA0002408600670000043
其中,
Figure FDA0002408600670000044
vi是步骤S402中审计服务器选择的随机挑战,mij是被审计服务器挑战的分块数据;
所述步骤S404中审计服务器验证云服务器响应值有效性的具体步骤为:审计服务器收到云服务器发来的响应值resp后,根据自己发送的挑战值chal,云服务器的响应值resp以及审计属性集合B来判断公式11是否成立,若公式11成立,则响应值resp有效,云服务器完整保存着用户端的数据;否则,响应值resp无效;
Figure FDA0002408600670000045
其中,e(g1,g2)是一个双线性映射,j是一个计数变量。
2.根据权利要求1所述的一种基于属性的云数据审计方法,其特征在于:所述步骤S102中产生主密钥计算参数g1的具体步骤为:利用生成元g和主密钥y,按如下方式g1=gy∈G1
3.根据权利要求1所述的一种基于属性的云数据审计方法,其特征在于:所述步骤S202的具体步骤为:密钥产生中心服务器从用户端上传的属性集合A中提取出m个属性;密钥产生中心服务器随机选择一个d-1阶多项式q(x),使得q(0)=y,其中,y是系统的主密钥;然后,密钥产生中心服务器为属性身份的每个属性选择一个随机数rk(k∈A),根据公式1和公式2为用户端计算私钥sskA=({Dk}k∈A,{dk}k∈A);
Figure FDA0002408600670000051
Figure FDA0002408600670000052
其中,q(k)是以k作为自变量的多项式q(x)的值;T(k)是步骤S103中定义的函数T(x),以k作为自变量的函数值。
4.根据权利要求1所述的一种基于属性的云数据审计方法,其特征在于:所述步骤S301中计算文件标签τ的具体步骤为:令文件标识τ0=name||n||u1||…||us,用户端对文件标识τ0进行签名,即计算Sign(τ0),其中Sign是一个任意选取的基于属性的签名算法;最终,生成的文件标签为τ=τ0||Sign(τ0)。
5.根据权利要求1所述的一种基于属性的云数据审计方法,其特征在于:所述步骤S303中数据块{mi}1≤i≤n的认证子
Figure FDA0002408600670000053
是根据以下公式3、公式4和公式5计算得到:
Figure FDA0002408600670000054
Figure FDA0002408600670000055
Figure FDA0002408600670000056
其中,Dk是步骤S202中计算私钥的一部分;H(name||i)是以name和i级联作为自变量的哈希函数H的函数值;uj(1≤j≤s)是步骤S301中选取的随机数;
Figure FDA0002408600670000057
是对于1≤j≤s的
Figure FDA0002408600670000058
做连乘运算。
6.根据权利要求1所述的一种基于属性的云数据审计方法,其特征在于:所述步骤S401的具体步骤为:用户端根据公式6计算用户请求req,并用Sign算法签名,最后得到审计请求requ=req||Sign(req),并发送至审计服务器,请求验证云服务器数据的完整性;
req=IPaudit||B||τ (公式6);
其中,IPaudit表示云服务器IP地址,B表示审计属性集合,τ表示文件标签,“||”为级联操作。
7.根据权利要求1-6任一所述的一种基于属性的云数据审计方法的系统,其特征在于:包括云服务器、密钥产生中心服务器、用户端和审计服务器;所述用户端分别与云服务器、审计服务器、密钥产生中心服务器交互式连接,所述云服务器与所述审计服务器交互式连接。
CN201710467279.8A 2017-06-19 2017-06-19 一种基于属性的云数据审计方法及系统 Active CN107172071B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710467279.8A CN107172071B (zh) 2017-06-19 2017-06-19 一种基于属性的云数据审计方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710467279.8A CN107172071B (zh) 2017-06-19 2017-06-19 一种基于属性的云数据审计方法及系统

Publications (2)

Publication Number Publication Date
CN107172071A CN107172071A (zh) 2017-09-15
CN107172071B true CN107172071B (zh) 2020-06-23

Family

ID=59819406

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710467279.8A Active CN107172071B (zh) 2017-06-19 2017-06-19 一种基于属性的云数据审计方法及系统

Country Status (1)

Country Link
CN (1) CN107172071B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107800688B (zh) * 2017-09-28 2020-04-10 南京理工大学 一种基于收敛加密的云端数据去重和完整性审计方法
CN107707354A (zh) * 2017-10-16 2018-02-16 广东工业大学 一种基于椭圆曲线加密法的云存储数据验证方法及系统
CN108616497A (zh) * 2018-01-03 2018-10-02 中电长城网际系统应用有限公司 云环境下数据完整性验证方法及系统、终端和验证服务器
CN108270790B (zh) * 2018-01-29 2020-07-10 佳木斯大学附属第一医院 一种放疗信息管理系统及管理方法
CN109586896B (zh) * 2018-11-14 2021-09-03 陕西师范大学 一种基于哈希前缀树的数据完整性验证方法
CN109743327B (zh) * 2019-01-16 2021-08-03 福建师范大学 基于无证书的云存储中共享数据的完整性公开验证方法
CN109784094B (zh) * 2019-01-21 2023-05-30 桂林电子科技大学 一种支持预处理的批量外包数据完整性审计方法及系统
CN109951443B (zh) * 2019-01-28 2021-06-04 湖北工业大学 一种云环境下隐私保护的集合交集计算方法及系统
CN110610104B (zh) * 2019-09-16 2021-08-24 中国人民解放军国防科技大学 一种基于GlusterFs的分布式数据完整性审计方法
CN111245843A (zh) * 2020-01-14 2020-06-05 南京理工大学 一种基于属性的用户身份认证方法及系统
CN111541666B (zh) * 2020-04-16 2021-03-16 西南交通大学 基于无证书且含隐私保护功能的云端数据完整性审计方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103218574A (zh) * 2013-04-09 2013-07-24 电子科技大学 一种基于哈希树的数据动态操作可验证性方法
CN103699851A (zh) * 2013-11-22 2014-04-02 杭州师范大学 一种面向云存储的远程数据完整性验证方法
CN106487786A (zh) * 2016-09-30 2017-03-08 陕西师范大学 一种基于生物特征的云数据完整性验证方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3114602B1 (en) * 2014-03-07 2022-01-12 Nokia Technologies Oy Method and apparatus for verifying processed data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103218574A (zh) * 2013-04-09 2013-07-24 电子科技大学 一种基于哈希树的数据动态操作可验证性方法
CN103699851A (zh) * 2013-11-22 2014-04-02 杭州师范大学 一种面向云存储的远程数据完整性验证方法
CN106487786A (zh) * 2016-09-30 2017-03-08 陕西师范大学 一种基于生物特征的云数据完整性验证方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Cloud data integrity checking with an identity-based auditing";禹勇等;《Future Generation Computer Systems》;20160303;第85-91页 *
"Fuzzy Identity-Based Data Integrity Auditing for Reliable Cloud Storage Systems";李艳楠等;《Journal of latex class files》;20150826;第14卷(第8期);第1-12页 *
"Privacy-Preserving Public Auditing for Data Storage Security in Cloud Computing";Wang Cong等;《Conference on IEEE INFOCOM 》;20100319;第1-9页 *

Also Published As

Publication number Publication date
CN107172071A (zh) 2017-09-15

Similar Documents

Publication Publication Date Title
CN107172071B (zh) 一种基于属性的云数据审计方法及系统
CN111639361B (zh) 一种区块链密钥管理方法、多人共同签名方法及电子装置
CN110213042B (zh) 一种基于无证书代理重加密的云数据去重方法
Li et al. Fuzzy identity-based data integrity auditing for reliable cloud storage systems
Li et al. Privacy-preserving public auditing protocol for low-performance end devices in cloud
Ng et al. Private data deduplication protocols in cloud storage
Schröder et al. Verifiable data streaming
CN106487786B (zh) 一种基于生物特征的云数据完整性验证方法及系统
Wang et al. Efficient public verification on the integrity of multi-owner data in the cloud
CN109670826B (zh) 基于非对称密钥池的抗量子计算区块链交易方法
CN110750796B (zh) 一种支持公开审计的加密数据去重方法
Singh et al. Optimized public auditing and data dynamics for data storage security in cloud computing
WO2017140381A1 (en) Method for storing data on a storage entity
Liu et al. Public data integrity verification for secure cloud storage
Yang et al. Zero knowledge based client side deduplication for encrypted files of secure cloud storage in smart cities
CN111130758B (zh) 一种适用于资源受限设备的轻量级匿名认证方法
Ji et al. Identity-based remote data checking with a designated verifier
CN116108497B (zh) 一种基于身份匿名的医疗数据轻量级云存储方法及装置
CN109462581B (zh) 能够抵御暴力字典敌手持续攻击的密文去重方法
Bharat et al. A Secured and Authorized Data Deduplication in Hybrid Cloud with Public Auditing
CN111539031B (zh) 一种云存储标签隐私保护的数据完整性检测方法及系统
CN110505052B (zh) 一种保护数据隐私的云数据公开验证方法
Lee et al. Hybrid provable data possession at untrusted stores in cloud computing
Dang et al. Secure and Efficient Client-Side Data Deduplication with Public Auditing in Cloud Storage.
Thangavel et al. A survey on provable data possession in cloud storage

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant