一种基于身份的数据安全审计方法

文档序号:7869937阅读:194来源:国知局
专利名称:一种基于身份的数据安全审计方法
技术领域
本发明涉及信息安全技术。
背景技术
云计算,这种新兴的互联网的技术,正深刻地影响产业结构和个人生活。它拥有强大的数据运算,存储能力和硬件资源,为用户提供按需的服务。尤其是作为大数据(BigData)时代的支撑性技术,越来越多地,引起学术界和产业界的关注。云存储,作为云计算的一个基本组成部分,可以使个人或企业用户摆脱自身资源的束缚,享受许多便利(1)拥有海量的数据存储能力;(2)能够进行与所在地域无关的资源访问;(3)减少软硬件购买和资源维护的费用。然而,正是这种集中式、外包式的数据存储模式,使得云计算给人们带来好处的同时,也引发了对数据安全的关切。用户需要可靠的云服务供应商(CSP)来确保的数据的正确性。但是,越来越多的内部和外部的因素,严重影响着云计算产业的发展。比如2011年亚马逊的EC2云服务的客户数据永久丢失事件,微软的Hotmail用户账户销毁事件。同时,云服务供应商为了自己的利益,也会威胁用户的数据安全。比如,删除较少访问的数据来减少存储成本,隐匿数据丢失的消息来维护自身信誉。因此,为了保证用户的数据安全,对云服务器上的数据进行验证非常重要。根据审计者的不同,数据安全审计协议分为用户自我审计和公共审计。通常用户存储在云服务器上的数据量是巨大的,显然单纯的直接下载云服务器中的数据来验证数据的真实性和完整性是不可行的。需要一个独立的第三方(TPA)——公开的审计者,代替用户完成云存储数据的正确性和完整性验证,同时保持隐私数据不被泄露。目前已公开的公共审计方法,如Wang等人于2010年3月在美国电气和电子工程师协会通信网络领域的顶级会议中公开的云存储中隐私保护公共审计数据安全(C. Wang, Q. Wangj K. Renj and W. Louj Privacy-preserving public auditing for dataStorage Security in cloud computing, In InfoCom2010,IEEE,March2010.)中提出了一个数据对TPA保密的公共审计协议,并声称该协议能够抵御现有的各种攻击。然而,该方案在在安全性上仍然存在漏洞不能防止被验证的服务器用未被挑战的合法数据来替代被挑战的数据。这样,该方案就不能抵御恶意云服务器的攻击,恶意云服务器可以任意修改用户存储数据而不被TPA发现。另一方面,现有的审计方案,都是基于传统的证书系统。由于每个用户的公钥是自我产生且与身份无关的随机值,需要CA (证书中心)以数字签名的方式颁发证书来绑定公钥与用户的身份,证书系统的维护管理复杂,计算、通信开销大。比如在链式证书系统中,对层次化的PKI,在η个签名上需要η个不同的公共密钥,由η个不同的证书中心(CA)来维护。

发明内容
本发明所要解决的技术问题是,提供一种基于身份的,第三方审计的,有效保证审计有效性与数据隐私的数据安全审计方法。本发明为解决上述技术问题所采用的技术方案是,一种基于身份的数据安全审计方法,其特征在于,包括以下步骤一、密钥生成步骤公共密钥发生器生成用户身份标示序列ID1、私钥SK、公开参数、共同持有的状态参数后;密钥生成器将私钥SK仅发送至用户方保存,将用户身份标示序列IDi与公开参数、共同持有的状态参数同时发送至用户、第三方审计服务器;二、数据块签名步骤用户方将保存在被审计服务器的存储数据文件F分为η个数据块&F=ImjIj e [1,η]},为每一个数据块分 配序号j ;利用共同持有的状态参数、数据块序号j、私钥SK、公开参数对数据块进行处理,得到每个数据块对应的生成标志值,并将数据文件F中所有数据块以及其对应的标志值发送给被审计服务器保存;三、审计挑战发起步骤第三方审计者选择需要审计的用户以及该用户数据文件中的I个数据块,生成I个数据块的审计集合0= /,1’;》.; 其中,I e [I, n], B1, ···,&为选择出的I个数据块对应的序号,Vj为数据块对应的权重系数;第三方审计者利用审计集合D生成挑战值challenge ;将需要审计的用户对应的用户身份标示序列IDi与生成的挑战值challenge发送给被审计服务器;四、挑战响应步骤被审计服务器收到用户身份标示序列IDi与挑战值challenge后,查找该用户下需要审计的I个数据块分别用对应的标志值、数据块权重系数进行处理生成挑战响应值,发送至第三方审计者;五、挑战响应值验证步骤第三方审计者收到响应值后,利用选择需要审计的数据块对应的序号j、数据块权重系数Vj对挑战响应值进行验证。本发明在数据块签名步骤中,将数据块序号与数据块数据一同生成标记值,在挑战响应值审计步骤中将数据块序号参与到数据块的审计过程中,能防止被审计服务器用未被挑战的合法数据来代替被挑战的数据,保证了数据审计的安全性与有效性。并且,实现第三方审计者能在没有得到用户真实数据的情况下,能有效对被审计服务器上的用户数据进行审计,保护用户的数据隐私。另外,本发明基于身份的系统的基础架构,比现有证书系统拥有更大的优势。首先,在基于身份的系统中,除了公共密钥发生器(PKG),每个用户无需公共密钥基础设施(PKI)维护其证书绑定的公共密钥分配,减小了维护的存储、计算的复杂度以及通信的开销,以一个较小的计算量和通信量来确保被审计服务器数据的真实性和完整性,特别适合有低通信开销的要求的大数据审计的应用环境,比如云计算。本发明的有益效果是,不仅能够实现第三方审计者对数据的有效审计,保护用户数据隐私,并且通信、计算复杂度有显著的降低。
具体实施例方式下面将以云存储数据安全审计为例对本发明作进一步的描述。
基于身份的云存储数据安全审计方法,具体如下1.1使用的符号含义F表示存储数据的文件,它是由η个数据块!》组成,Ε,表示整数模q剩余类集合,其中q是一个大素数;IDi e {0,1}*为用户i的身份,we {0,1}*所有用户共同持有的状态参数,PeG1其中A为阶为素数q的加法循环群,为PKG持有的秘密值,{0,I}*表示二进制数,
O - sP e Gi ;Sj, Tj分别是数据块π^_的签名值和随机标记值,S,T分别是挑战数据块的聚合签名值和聚合随机标记值;H1 ( · ), H2 ( ·)均表示单向的哈希函数,定义映射为;h(·)表示单向的哈希函数,定义映射为GlIZe;
H( ·)表示单向的哈希函数,定义映射为f ,Z*是正整数集。1. 2双线性映射分别表示为阶为素数q的加法和乘法循环群,双线性映射 KG1 4 G2满足如下的性质(I)双线性满足给定元素U e G1对任意随机数e Zf有e (Χχ,yY) =e (X,Y) ” ;(2)非退化性:对HeG1 ’ e (X,Y) Φ I ;(3)可计算性存在一个有效的算法,对任何可能的输入都能有效的进行计算;(4)可分配性对eG, ,e (X+Y, Z) =e (X,Z) e (Y, Z)。1. 3方法描述基于身份的云存储数据安全审计协议分为5个阶段一、密钥生成步骤I)公共密钥发生器生成随机数s作为秘密值,生成随机数P作为公开参数,生成随机数w作为共同持有的状态参数,生成公开的用户身份标示序列IDi ;其中,ie ,P e C1 , w G {O, I}*, IDi e {O, 1} * 表示整数模q剩余类集合,q是一个大素数为阶为素数q的加法循环群;{0,1}*表示一串随机的二进制数序列;2)公共密钥发生器利用用户身份标示序列IDi得到中间变量Piitl与Pu,PtM =HiUDlJ)) E G1 ,Pa /Z1 (W,.!)€< ,,其中 H1 表示映射为丨 αηφ 单向哈希函数;利用秘密值s与公开参数P得到中间变量Q,Q=sP,将中间变量Q作为公开参数;利用共同状态参数w得到中间变量Pw,ii = /Mw)eGh其中H2表示不同于H1的映射为叫广^巧的单向哈希函数;中间变量Pw也作为共同持有的状态参数;3)公共密钥发生器利用秘密值s与中间变量Pi,。、Pi;1生成用户i的基于身份IDi的私钥 SK,SK= (SPi,。,SPijl);4)公共密钥发生器将私钥SK仅发送至用户方保存,将用户身份标示序列IDi与公开参数、共同持有的状态参数同时发送至用户、第三方审计服务器。二、数据块签名步骤I)用户方将保存在待审计服务器的存储数据文件F分为η个数据块,为每一个数据块分配序号j,F= Imj|j e [I, η]};用户方针对的每个数据块1 产生对应随机值U利用随机值共同状态参数Pw、数据块序号j、私钥SK、公开参数P对数据块进行处理,得到数据块对应的生成标志值(Sj, Tj),SJ=rJPw+H(j) SPi;0+mjSPia, Tj^rjP ;H(j)表示映射为— 2,的单向哈希函数,Z* 为正整数集;3)用户方将在待审计服务器的存储数据文件F以及对应的标志值集合Φ发送给被审计服务器保存,Φ = KSj, Tj) |j e [l,n]}。三、审计挑战发起步骤I)第三方审计者选择需要审计的I个数据块组成审计集合 =⑷,其中,I e [I, n], B1, - ,B1为选择出的I个数据块对应的序号,Vj为数据块Hij对应的权重系数;2)第三方审计者利用I个数据块组成审计集合D生成挑战值challenge,challenge=(D);3)第三方审计者将需要审计的用户数据所对应的用户身份标示序列IDi与生成的挑战值challenge发送给被审计服务器。四、挑战响应步骤I)被审计服务器收到用户身份标示序列IDi与挑战值challenge后,根据用户的用户身份标示序列IDi计算中间变量Pu,随机选取随机数X,/I1 = H1(ID1A)EG1 ;2)被审计服务器利用得到的中间变量Pm与随机数X计算挑战响应值Yd=XPia,3)被审计服务器根据挑战值challenge中的审计集合D找到相应的数据块mj,利用数据块以及对应的权重系数'、随机数X、挑战响应值y计算挑战响应值μ,
权利要求
1.一种基于身份的数据安全审计方法,其特征在于,包括以下步骤 一、密钥生成步骤 公共密钥发生器生成用户身份标示序列ID1、私钥SK、公开参数、共同持有的状态参数后;公共密钥发生器将私钥SK仅发送至用户方保存,将用户身份标示序列IDi与公开参数、共同持有的状态参数同时发送至用户、第三方审计服务器; 二、数据块签名步骤 用户方将保存在被审计服务器的存储数据文件F分为η个数据块mpF= {m」j e [I,η]},为每一个数据块分配序号j ;利用共同持有的状态参数、数据块序号j、私钥SK、公开参数对数据块进行处理,得到每个数据块对应的生成标志值,并将数据文件F中所有数据块以及对应的标志值发送给被审计服务器保存; 三、审计挑战发起步骤 第三方审计者选择需要审计的用户以及该用户数据文件中的I个数据块,生成I个数据块的审计集合13 =其中,I e [I,n],a1;…,七为选择出的I个数据块对应的序号,Vj为数据块对应的权重系数; 第三方审计者利用审计集合D生成挑战值challenge将需要审计的用户对应的用户身份标示序列IDi与生成的挑战值challenge发送给被审计服务器; 四、挑战响应步骤 被审计服务器收到用户身份标示序列IDi与挑战值challenge后,查找该用户下需要审计的I个数据块Hij分别用对应的标志值以及权重系数进行处理生成挑战响应值,发送至第三方审计者; 五、挑战响应值验证步骤 第三方审计者收到响应值后,利用选择需要审计的数据块对应的序号j、数据块权重系数\以及共同持有的状态参数对挑战响应值进行验证。
2.如权利要求1所述一种基于身份的数据安全审计方法,其特征在于,密钥生成步骤的具体方法是 1)公共密钥发生器生成随机数s作为秘密值,生成随机数P作为公开参数,生成随机数w作为共同持有的状态参数,生成公开的用户身份标示序列IDi ; 其中 PeCw1 w e {O, I}*, IDi e {O, Γ : 表示整数模q剩余类集合,q是一个大素数为阶为素数q的加法循环群;{O,1}*表示一串随机的二进制数序列; 2)公共密钥发生器利用用户身份标示序列IDi得到中间变量Pu与Pu,PiM = //, ( ,.0)6(5,, Hs(IDiA) EG1 ,其中 H1 表示映射为 Ι0.1Γ单向哈希函数; 利用秘密值s与公开参数P得到中间变量Q,Q = sP,将中间变量Q作为公开参数; 利用共同状态参数w得到中间变量Pw,Pw = H 'Gt,其中H2表示不同于H1的映射为丨《.屮4%的单向哈希函数;中间变量Pw作为共同持有的状态参数; 3)公共密钥发生器利用秘密值s与中间变量Pi^Pu生成用户i的基于身份IDi的私钥 SK,SK = (sPij0, SPi,); 4)公共密钥发生器将私钥SK仅发送至用户方保存,将用户身份标示序列IDi与公开参数、共同持有的状态参数同时发送至用户、第三方审计服务器。
3.如权利要求2所述一种基于身份的数据安全审计方法,其特征在于,数据块签名步骤的具体方法是 I)用户方将保存在待审计服务器的存储数据文件F分为η个数据块,为每一个数据块分配序号 j,F = ImjI j e [I, η]}; 用户方针对的每个数据块产生对应随机值υ利用随机值共同状态参数Pw、数据块序号j、私钥SK、公开参数P对数据块%进行处理,得到数据块%对应的生成标志值(Sj,Tj), Sj = rjPw+H(j) sP^+iujsP^, T^rjP ;H(j)表示映射为^ 的单向哈希函数,Z*为正整数集; 3)用户方将在待审计服务器的存储数据文件F以及对应的标志值集合Φ发送给被审计服务器保存,Φ = Ksj, Tj) |j e [I, η]} ο
4.如权利要求3所述一种基于身份的数据安全审计方法,其特征在于,审计挑战发起步骤的具体方法是 1)第三方审计者选择需要审计的I个数据块组成审计集合=其中,Ie [I,n],a1;…,B1为选择出的I个数据块对应的序号,Vj为数据块Hij对应的权重系数,Vj e Zq ; 2)第三方审计者利用审计集合D生成挑战值challenge; 3)第三方审计者将需要审计的用户数据所对应的用户身份标示序列IDi与生成的挑战值challenge发送给被审计服务器。
5.如权利要求4所述一种基于身份的数据安全审计方法,其特征在于,第三方审计者批处理选择多个用户生成批处理挑战值challenge发送给被审计服务器。
6.如权利要求4或5所述一种基于身份的数据安全审计方法,其特征在于,挑战响应步骤的具体方法是 1)被审计服务器收到用户身份标示序列IDi与挑战值challenge后,根据用户的用户身份标示序列IDi计算中间变量Pi^随机选取随机数X,Pn =H1(ID1A) eG, ,xeZq; 2)被审计服务器利用得到的中间变量Piil与随机数X计算挑战响应值y,y= XPi,1; 3)被审计服务器根据挑战值chalIenge中的审计集合D找到相应的数据块Hij,利用数据块以及对应的权重系数随机数X、挑战响应值y计算挑战响应值μ,
7.如权利要求6所述一种基于身份的数据安全审计方法,其特征在于,挑战响应值审计步骤的具体方法是 第三方审计者收到挑战响应值{S,Τ,μ , y}后,将挑战响应值带入验证公式
8.如权利要求6所述一种基于身份的数据安全审计方法,其特征在于,所述被审计服务器为云服务器。
全文摘要
本发明提供一种基于身份的数据安全审计方法。本发明基于身份的系统的基础架构,能以一个较小的计算量和通信量来确保被审计服务器数据的真实性和完整性。在数据块签名步骤中,将数据块序号与数据块数据一同生成标记值,在挑战响应值审计步骤中将数据块序号参与到数据块的审计过程中,能防止被审计服务器用未被挑战的合法数据来代替被挑战的数据,保证了数据审计的安全性与有效性。
文档编号H04L29/08GK103067374SQ20121057417
公开日2013年4月24日 申请日期2012年12月26日 优先权日2012年12月26日
发明者许春香, 赵继宁 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1