欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2016101189880
申请人: 四川师范大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-01-05
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种云文件完整性公开审计证据生成方法,其特征在于,包括:

将云文件分割为文件块;

生成公开审计标签,所述公开审计标签包括云文件所有者的身份标识符、云文件的文件名、文件块数量以及随机数;

置乱文件块顺序以形成乱序文件,并生成乱序文件中每个文件块的签名证据以获得文件块签名证据集合;

采用二叉树结构按序存储乱序文件中每个文件块的群哈希值的哈希值以获得公开审计哈希二叉树;

生成公开审计保序证据,所述公开审计保序证据包括完整性签名证据和所述公开审计哈希二叉树;

将所述公开审计标签、所述文件块签名证据集合、所述公开审计保序证据以及乱序文件上传至云服务器进行存储;

云服务器验证所述公开审计标签、所述文件块签名证据集合、所述公开审计保序证据以及乱序文件是否均有效;

在所述公开审计标签、所述文件块签名证据集合、所述公开审计保序证据以及乱序文件均有效时,云服务器根据所述公开审计标签生成云文件存储外包证据,并将所述云文件存储外包证据回传给云文件所有者进行保存。

2.根据权利要求1所述的云文件完整性公开审计证据生成方法,其特征在于,在所述公开审计哈希二叉树中,每个非叶子节点具有两个子树,每个叶子节点对应存储一个文件块的群哈希值的哈希值,乱序文件的文件块顺序为先序遍历所述公开审计哈希二叉树获得的叶子节点顺序。

3.根据权利要求1所述的云文件完整性公开审计证据生成方法,其特征在于,所述公开审计标签根据PALF=oid||filename||n||u||SSigssk(h(oid||filename||n||u))生成,其中,PALF为所述公开审计标签,oid为云文件所有者的身份标识符,filename为云文件的文件名,n为文件块数量,u为随机数且u∈G,G是阶为大素数p的乘法循环群,SSig()为数字签名函数,ssk为云文件所有者的私钥,h()为将任意长度字符串映射为定长字符串的哈希函数,||为串接运算符。

4.根据权利要求3所述的云文件完整性公开审计证据生成方法,其特征在于,所述文件块签名证据集合根据PABPF={σi}1≤i≤n获得,其中,PABPF为所述文件块签名证据集合,σi为乱序文件中第i个文件块的签名证据且 Sig()为双线性签名函数,α为随机数且α∈Zp,Zp是模为大素数p的加法循环群,H()为将字符串映射到乘法循环群G的哈希函数,m′i为乱序文件中第i个文件块,h'()为将字符串映射到加法循环群Zp的散列函数,i为正整数。

5.根据权利要求4所述的云文件完整性公开审计证据生成方法,其特征在于,所述公开审计保序证据根据PASPF={Sigα(H(R)),PATF'}生成,其中,PASPF为所述公开审计保序证据,Sigα(H(R))为完整性签名证据,PATF'为所述公开审计哈希二叉树,R为所述公开审计哈希二叉树的根节点对应的哈希值。

6.根据权利要求5所述的云文件完整性公开审计证据生成方法,其特征在于,所述云文件存储外包证据根据 生成,其中,OSPF为所述云文件存储外包证据,skCSP为云服务提供商的私钥。

7.根据权利要求6所述的云文件完整性公开审计证据生成方法,其特征在于,还包括改写文件块时的证据更新操作,所述改写文件块时的证据更新操作包括:向云服务器发送证据更新请求(M,filename,j),其中,M表示改写操作,j为改写前的文件块在乱序文件中的序号;

在接收到所述证据更新请求后,云服务器通过检索所述公开审计哈希二叉树生成H(m'j)的伴随数集Δj,并将更新参数{H(m'j),Δj,Sigα(H(R)),NPATF'}回传给云文件所有者,其中,m′j为改写前的文件块,NPATF'为将所述公开审计哈希二叉树中所有节点存储的哈希值都置为空的空值哈希二叉树;

云文件所有者将h(H(m'j))和Δj代入所述空值哈希二叉树中的对应节点以获得所述公开审计哈希二叉树的根节点对应的哈希值和更新认证树;

判断Sigα(H(R'))=Sigα(H(R))是否成立,其中,R'为所述公开审计哈希二叉树的根节点对应的哈希值;

在Sigα(H(R'))=Sigα(H(R))成立时,将所述更新认证树中序号为j的叶子节点存储的哈希值由h(H(m'j))替换为h(H(m″j))以形成更新后的更新认证树,并获得所述更新认证树的根节点对应的哈希值,其中,m″j为改写后的文件块;

根据所述更新认证树的根节点对应的哈希值计算更新后的完整性签名证据Sigα(H(R”)),其中,R″为所述更新认证树的根节点对应的哈希值;

根据 计算改写后的文件块的签名证据;

将更新后的完整性签名证据、更新后的更新认证树以及改写后的文件块的签名证据上传至云服务器并进行相应数据替换。

8.根据权利要求6所述的云文件完整性公开审计证据生成方法,其特征在于,还包括删除文件块时的证据更新操作,所述删除文件块时的证据更新操作包括:向云服务器发送证据更新请求(D,filename,j),其中,D表示删除操作,j为被删除的文件块在乱序文件中的序号;

在接收到所述证据更新请求后,云服务器通过检索所述公开审计哈希二叉树生成H(m'j)的伴随数集Δj,并将更新参数{H(m'j),Δj,Sigα(H(R)),NPATF',PALF}回传给云文件所有者,其中,m′j为被删除的文件块,NPATF'为将所述公开审计哈希二叉树中所有节点存储的哈希值都置为空的空值哈希二叉树;

云文件所有者认证所述公开审计标签是否有效;

在所述公开审计标签有效时,云文件所有者将h(H(m'j))和Δj代入所述空值哈希二叉树中的对应节点以获得所述公开审计哈希二叉树的根节点对应的哈希值和更新认证树;

判断Sigα(H(R'))=Sigα(H(R))是否成立,其中,R'为所述公开审计哈希二叉树的根节点对应的哈希值;

在Sigα(H(R'))=Sigα(H(R))成立时,使所述更新认证树中指向序号为j的叶子节点的父节点的指针指向所述序号为j的叶子节点的兄弟节点并删除所述更新认证树中序号为j的叶子节点以形成更新后的更新认证树,计算所述更新认证树的根节点对应的哈希值;

根据所述更新认证树的根节点对应的哈希值计算更新后的完整性签名证据Sigα(H(R”)),其中,R”为所述更新认证树的根节点对应的哈希值;

根据PAL'F=oid||filename||n-1||u||SSigssk(h(oid||filename||n-1||u))计算更新后的公开审计标签,其中,PAL'F为更新后的公开审计标签;

根据 计算被删除的文件块之后的所有文件块更新后的签名

证据,其中,σ'q-1为乱序文件中第q-1个文件块更新后的签名证据,j+1≤q≤n且q为正整数;

将更新后的公开审计标签、更新后的完整性签名证据、被删除的文件块之后的所有文件块更新后的签名证据以及更新后的更新认证树上传至云服务器;

云服务器验证更新后的公开审计标签、更新后的完整性签名证据、被删除的文件块之后的所有文件块更新后的签名证据以及更新后的更新认证树是否均有效;

在更新后的公开审计标签、更新后的完整性签名证据、被删除的文件块之后的所有文件块更新后的签名证据以及更新后的更新认证树均有效时,进行相应数据替换并根据获得更新后的云文件存储外包证据,并将更新后的云文件存储外包证据回传给云文件所有者进行保存,其中,OSPF'为更新后的云文件存储外包证据。

9.根据权利要求6所述的云文件完整性公开审计证据生成方法,其特征在于,还包括插入文件块时的证据更新操作,所述插入文件块时的证据更新操作包括:向云服务器发送证据更新请求(I,filename,j,mc),其中,I表示插入操作,j为插入位置的文件块在乱序文件中的序号,mc为待插入的文件块;

在接收到所述证据更新请求后,云服务器通过检索所述公开审计哈希二叉树生成H(m'j)的伴随数集Δj,并将更新参数{H(m'j),Δj,Sigα(H(R)),NPATF',PALF}回传给云文件所有者,其中,m'j为插入位置的文件块,NPATF'为将所述公开审计哈希二叉树中所有节点存储的哈希值都置为空的空值哈希二叉树;

云文件所有者认证所述公开审计标签是否有效;

在所述公开审计标签有效时,云文件所有者将h(H(m'j))和Δj代入所述空值哈希二叉树中的对应节点以获得所述公开审计哈希二叉树的根节点对应的哈希值和更新认证树;

判断Sigα(H(R'))=Sigα(H(R))是否成立,其中,R'为所述公开审计哈希二叉树的根节点对应的哈希值;

在Sigα(H(R'))=Sigα(H(R))成立时,对所述更新认证树进行更新操作以获得更新后的更新认证树:在所述更新认证树中生成第一节点和第二节点,所述第二节点存储待插入的文件块的群哈希值的哈希值且所述第二节点的左右孩子指针都为空,使所述第一节点的左指针指向所述更新认证树中序号为j的叶子节点,使所述第一节点的右指针指向所述第二节点,使原本指向所述更新认证树中序号为j的叶子节点的指针转而指向所述第一节点,获得所述更新认证树的根节点对应的哈希值;

根据所述更新认证树的根节点对应的哈希值计算更新后的完整性签名证据Sigα(H(R”)),其中,R”为所述更新认证树的根节点对应的哈希值;

根据PAL'F=oid||filename||n+1||u||SSigssk(h(oid||filename||n+1||u))获得更新后的公开审计标签,其中,PAL'F为更新后的公开审计标签;

根据 计算插入位置的文件块之后的所有文件块更新后

的签名证据,其中,σ″q为乱序文件中第q个文件块更新后的签名证据,j+1≤q≤n+1且q为正整数,m″j+1=mc,m″p+1=m″p,j+1≤p≤n;

将更新后的公开审计标签、更新后的完整性签名证据、插入位置的文件块之后的所有文件块更新后的签名证据以及更新后的更新认证树上传至云服务器;

云服务器验证更新后的公开审计标签、更新后的完整性签名证据、插入位置的文件块之后的所有文件块更新后的签名证据以及更新后的更新认证树是否均有效;

在更新后的公开审计标签、更新后的完整性签名证据、插入位置的文件块之后的所有文件块更新后的签名证据以及更新后的更新认证树均有效时,进行相应数据替换并根据获得更新后的云文件存储外包证据,并将更新后的云文件存储外包证据回传给云文件所有者进行保存,其中,OSPF'为更新后的云文件存储外包证据。

10.一种云文件完整性公开审计方法,其特征在于,采用根据权利要求1至9任一项所述的云文件完整性公开审计证据生成方法所生成的公开审计证据,所述公开审计方法包括:向云服务器请求审计文件的公开审计标签;

验证审计文件的公开审计标签是否有效;

在审计文件的公开审计标签有效时,从审计文件的文件块序号中随机选择r个序号构成文件块序号集合{k1,…,kr},并为文件块序号集合中的每个元素对应选择一个随机数以形成挑战请求 发送至云服务器,其中,1≤r≤n,n为审计文件的文件块数量,ki为文件块序号集合中第i个元素, 为文件块序号集合中第i个元素对应的随机数,i为正整数;

在接收到所述挑战请求后,云服务器根据

生成数据完整性证据,其中,Proofchal为所述数据完整性证据,

H()为将字符串映射到乘法循环群G的哈希函数,G是阶为大素数p的

乘法循环群, 为审计文件的乱序文件中序号为ki的文件块,Δki为 的伴随数集,Sigα(H(R))为审计文件的完整性签名证据,NPATF'为将审计文件的公开审计哈希二叉树中所有节点存储的哈希值都置为空的空值哈希二叉树,h'()为将字符串映射到加法循环群Zp的散列函数, 为审计文件的乱序文件中序号为ki的文件块的签名证据;

将 代入所述空值哈希二叉树中的对应节点以获得审计文件的公开审

计哈希二叉树的根节点对应的哈希值,其中,h()为将任意长度字符串映射为定长字符串的哈希函数;

判断e(H(R'),v)=e(Sigα(H(R)),g)是否成立,其中,e为双线性映射,R'为审计文件的公开审计哈希二叉树的根节点对应的哈希值,g为乘法循环群G的生成元,v为云文件所有者的双线性签名公钥;

在e(H(R'),v)=e(Sigα(H(R)),g)成立时,判断 是否成立,其中,u为随机数且u∈G;

在 成立时,判断审计文件通过完整性检查,否则判断审计文

件未通过完整性检查。