云环境下低性能设备适用的具有隐私保护的公开审计方法_2

文档序号:9581763阅读:来源:国知局
053] 第=方审计者可W对多个用户的审计请求执行批审计,使多个审计请求同时执 行,因此减少了第=方审计者的计算代价。
[0054] (3)W较小代价支持数据动态性
[0055] 本发明支持用户W较小的计算和通信代价在修改、插入和删除数据时更新云服务 提供商的离线/在线标签和第=方审计者的在线标签。
[0056] (4)满足隐私保护的需求
[0057] 本发明要求云服务提供商对回应信息进行盲化,运使得第=方审计机构不能够从 云服务提供商的回应中得到用户数据,从而使得用户数据不被泄露。
【附图说明】
[0058] 图1为本发明应用系统结构图;
[0059] 图2为本发明的流程图。
【具体实施方式】
[0060] 使用本发明的系统模型如图1所示,包含四类实体:可信机构TA(Trusted Authority)、云服务提供商CSP(CloudServiceProvider)、第S方审计者TPA(Third PartyAuditor)和用户。当用户需要检查云端数据的完整性时,用户向TPA发出审计请 求,然后TPA向云服务器发送审计挑战消息。云服务器收到挑战后,会生成审计回应返回给 TPA。TPA验证审计回应的正确性,再将审计结果返回给用户。
[0061]为了更好地理解本发明提出的方法,选取一次云存储环境下用户Ui对其在云服务 提供商上存储的文件的数据完整性验证事件。
[0062] 本发明流程图如图2所示,本发明具体实施步骤如下:
[0063]步骤1 :系统设置:可信机构TA生成其公私钥对(msk,mpk),并为系统设置全局参 数(e,Gi,Gz,g,h,Sigprivatekey0/Verpubiiekey0,Hi,H2,mpk);具体如下:
[0064]1)输入安全参数A,TA生成阶为P的乘法循环群Gi,Gz,Gt;G1的生成元是g,G2的 生成元是h。
[0065] 2)TA选择双线性映射e:GiXGz-GT。
[0066]3)TA选择两个哈希函数Hi:Uur-Zp和H2:Gt-ZpO
[0067] 4)TA选择一个安全的签名方案Sigp…atekeyOAerpublICkey0。
[0068] 5)TA生成其公私钥对(msk,mpk)。
[006引 6)系统全局参数为param= (e,Gi,Gz,g,h,Sigp…atekey0/Verpubiickey0,Hi,也mpk)。
[0070] 步骤2 :用户设置:对于每一个用户Ui,可信机构为其签发证书,同时,用户选取私 钥(Xi,yi,sski),并生成其对应的公钥化,di,spki),其中(sski,spki)是用于安全签名方案 的公私钥对;具体如下:
[007。 1)用户Ui随机选取随机数Xi,yiGZp。
[007引。计算;;二复y哺。',二/!、。
[007引扣1]1根据签名方案51旨。^。,61?^)八6'。邮1。1"^)生成一对公私钥对(3341,391〇。 (xi,yi,sski)是用户的完整私钥,(fi,di,spki)是用户的完整公钥。
[0074] 4)TA使用msk为用户签发证书。
[00巧]步骤3 :离线标签生成:用户选取Bi组随机数Iw1,ri},与用户私钥Xi和公钥f1计 算产生离线标签巧'?',用户将元组抑',.,而,7://,.。,..&,,存储在本地;具体如下:
[007引 1)Ui随机选取B1组随机数/1%而;词/..,B,!;
[0077]。计算元组//= ,,巧,'巧/ V,' ;化斬,,;
[007引如计算离线标签巧二乂巧''各S
[007引4化把:鸿鄉,皆A司;存储在本地。
[0080] 步骤4 :在线标签生成:用户将被上传的文件分成n块;对于每块文件,用户选取 未使用的元组如疋.6.并使用私钥yi计算得出该文件块的在线标签r;;' ;用户 使用哈希函数Hi计算每个:T;;的哈希值;用户W所有巧!的哈希值为叶子节点构建Merkle 哈希树,并计算其根节点rooti;用户使用安全签名算法计算其对根节点root1的签名;用户 将文件、W及所有文件块的在线标签和离线标签发送给云服务提供商,同时将文件名、文件 块数、根节点rooti和根节点的签名发送给第=方审计者;具体如下:
[00引]1)设文件Fi的文件名为name1,将F汾成n1块,分别记作抑乂耳其中 m.jGZp;
[0082] 从仇,";'。,皆!中选取ni个未使用过的元组,记作如.,,/>巧;,刮.....
[008引:3化计算在线标签=fw,,,-Wj化+r,',i,W/7/27;乂引'为叶子节点生成MHT, 并计算其根节点,记作rooti,用户使用其私钥SSki生成根节点的签名。-,w,= .J:
[0084] 4)文件的完整签名由离线签名和在线签名共同组成野=巧f,77;乂e,;Ui将 化,Tl,MHTi)发送给CSP;将rooti和馬卿?:发送给TPA。
[00财 5)TPA收到t后验证泣,.。。。是否为有效签名;CSP验证g巧,式;三6巧乎,Ay是否 成立来验证Tl的在线/离线签名是否有效。
[0086] 步骤5 :审计:为了验证用户Ui的文件Fi是否完整,第S方审计者向云服务提供商 发送审计挑战;云服务提供商使用文件Fi计算得出挑战回应,并发送给第=方审计者;第 =方审计者根据他所存储的文件Fi的哈希树的根节点验证云服务提供商挑战回应是否合 法,若合法则说明用户Ui的文件F1是完整的;具体如下:
[0087] 1)假设TPA要挑战的文件名为namei,文件块的下标为J= {31,...,3。},那么了口八 选取一组随机数户=批,之;,,:A',e7 ;
[008引 2)TPA向CSP发送审计挑战chal= (namei, {(j,v.j)}.jEJ);
[008引 3)CSP收到审计挑战,计算中间值掉=1>巧.,嘯挑战回应的一部分 /哥
[0090] 4)为了防止TPA从挑战回应中恢复出数据信息,CSP采用盲化因子UGZp进行盲 化操作;计算U=e(fi,di)u和y=U+H2做y',U和y分别作为挑战回应的一部分;CSP将細乍为挑战回应发送给TPA,其中A,,i为辅助验证信息;
[0091] 5)TPA收到挑战回应,由A,,郝巧计算出新根节点WW,,并验证其是否与TPA存储的根节点rooti相等,若相等,则计算丫=HzOJ),
5之后再验证等式 ^。>|.A> ^Cfgr? //'.t/,;是否成立,若等式成立则说明Ui在CSP的相应数据是完整的。
[0092] 步骤6 :批审计:若第S方审计者收到来自多个用户的多个审计任务,第S方审计 者可同时将运些任务发给云服务提供商,云服务提供商做出挑战回应,第=方审计者可W 对所有回应进行批验证;具体如下:
[009引1)TPA选取一组文件名{nameJiE 要挑战的块的下标J= {si,. . .,S。},一 组随机数,^卢么,;
[0094] 2)TPA向CSP发送审计挑战chal=({nameJiEJ,V),K为发送审计要求的 用户数;
[0095] 3)CSP收到审计挑战,计算中间值
'和挑战回应的一部分
MG ;
[009引 4)CSP选择盲化因子UiGZp,计算中间值I/,=却乂,4户, ^i= 11冲2州IdiIIV)y1',U和y1分别作为挑战回应的一部分;
[0097] 5)粉?、烏扮,巧作为挑战回应发送给TPA;
[009引6)TPA收到挑战回应,由辅助验证信息A,1和巧巧7 计算出新根 节点,若\f则计算苗=瑪御14隣,《=}'/?己巧7'验证等式 、…、root!,牛'root; =root/、J"开 /'巧'^
是否成立,若等式成立,说明被审计的数据都是完整的,否则 说明至少一个用户的数据不是完整的。
[0099] 步骤7 :修改数据:若用户需要修改原文件的某些数据,用户选取未使用的离线标 签,并生成新的在线标签,并向云服务提供商发送修改文件请求,云服务提供商收到修改请 求并验证通过后,更新相应数据信息并计算新的根节点并将新节点及其辅助验证信息发送 给用户,用户验证后向第=方审计者发送新根节点和其签名,第=方审计者验证签名有效 后更新根节点;设Ui要将文件的某块m,J修改为m'11,具体如下:
[0100] DUi选取未使用的离线标签?Tf,对新文件生成新的在线标签r;;';向CSP发送修 改请求r=饼J,WjJ,靖'M表示修改。
[0101]2)CSP收到「后,验证是否是对m',,1的有效离线/在线签名,如果验证 有效,CSP将原有的化Ww,巧,7;'/)修改为化放'冉,巧',?7;'W尋MHT中的节点巧巧^更新 为巧f^;T'j并生成新根节点rootl',将片j.,,:^;T,a,.。。,,パ)W/リ发给Ul,A,,l为巧^的辅助认证 f目息。
[010引 3)U基于件/,巧;巧7W生成旧根节点rooti,如果保苗知=邸UE,基于 /為巧/r;"公计算新的根节点?'0如/,如果,。明=/'0邸',Ui生成签名。,。。,,,=况各病fr併 并向TPA发送"'。如'root/ ;否则向CSP发送FALSE。
[0103]4)TPA验证是否是root/的合法签名,若合法则TPA把根节点更新为root/, 无效则输出FALSE。
[0104] 5)若CSP收到FALSE,则撤销对文件的修改。
[0105] 步骤8 :插入数据:若用户需要在原文件中插入新的数
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1