[发明专利]一种基于区块链的细粒度云存储安全访问控制方法有效
申请号: | 202111396561.4 | 申请日: | 2021-11-23 |
公开(公告)号: | CN114039790B | 公开(公告)日: | 2023-07-18 |
发明(设计)人: | 熊安萍;代明月;蒋溢 | 申请(专利权)人: | 重庆邮电大学 |
主分类号: | H04L9/40 | 分类号: | H04L9/40;H04L67/1097 |
代理公司: | 重庆辉腾律师事务所 50215 | 代理人: | 王海军 |
地址: | 400065 重*** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 区块 细粒度 存储 安全 访问 控制 方法 | ||
1.一种基于区块链的细粒度云存储安全访问控制方法,其特征在于,包括:
S1:对基于区块链的安全数据共享模型进行初始化;基于区块链的安全数据共享模型由云存储服务器CSP、数据所有者DO以及数据请求者DU组成;包括:
S11:DO将自身标识uid、策略所对应的属性集合Λ和集合所对应的秘密给区块链,并在区块链中部署智能合约;
S12:区块链返回智能合约地址,并通过初始化算法Setup(α,β)随机生成公钥参数PK和主密钥MSK,并向DO分发公钥参数PK和主密钥MSK;
S2:DO根据区块链分发的秘钥参数、自身访问策略树和属性基加密技术对加密秘钥ck进行加密,生成的秘钥密文CT,并对明文M进行对称加密生成密文EckM,将秘钥密文CT和密文EckM上传到CSP中;具体过程包括:
S21:DO随机生成对称秘钥ck,并采用对称秘钥ck对明文M进行对称加密,生成密文EckM;
S22:DO根据访问策略T和公钥参数PK对加密秘钥ck执行基于密文的属性基加密算法Encrypt(PK,Λ,ck),生成密文CT;其中,Encrypt表示基于密文的属性基加密算法,Λ表示策略所对应的属性集合;
设置的访问策略T为:若属性集γ满足访问结构,则该属性集的访问结构树T的根节点Tx(γ)=1;若属性集γ中的节点x为一个非叶子节点,则计算节点x的所有子节点x′的Tx′(γ);若至少kx个子节点都返回了1,则Tx(γ)返回1;如果x是一个叶子节点且λx∈γ,则Tx(γ)返回1,其中λx表示与树的叶子节点x关联的属性;
访问结构树为:定义一个访问结构树,该结构树的每个非叶子节点表示为一个阈值门,树的每个节点x的子节点数为numx,设置该节点的阈值kx,且0≤kx≤numx;树的每一个叶子节点x表示为一个属性,且每个节点的子节点的编号为从1到num;λx表示与树的叶子节点x关联的属性;parent(x)表示树的节点x的父节点;在对在指定的访问结构中,其索引值被唯一分配给访问中的节点;
S23:DO通过安全通道将密文EckM和秘钥密文CT上传到CSP中;密文CT的计算公式为:
其中,qR(0)表示根节点R的元为0时的多项式的值,s表示上生成的另外一个随机数,qx(0)表示节点x的元为0时的多项式的值,qparent(x)表示节点x的父元素节点的多项式,index(x)表示一个与节点x关联的数字,在指定的访问结构中,其索引值被唯一分配给访问中的节点,index(x)返回节点x的编号;C′表示密文的第一部分,e(g,g)α·s表示以α和s乘积为指数,以g为生成元的循环群上的双线性映射,C表示密文的第二部分,q(s)表示以s为元的多项式C″表示密文的第三部分,Cy表示每一个叶子节点上所表示的第一部分密文,表示以qy(0)为指数的生成元,qy(0)表示节点y的元为0时的多项式的值,Cy′表示每一个叶子节点上所表示的第二部分密文,attr(y)表示返回叶子节点对应的属性;
S3:DU向区块链发送注册和获取私钥请求;区块链根据DU的信息进行区块注册并生成私钥,并将生成的私钥通过安全通道分发给各个DU;具体过程包括:
S31:DU将自身标识uid、属性集S和用户公钥PKuid通过注册算法Register(uid,S,PKuid)向区块链发送注册信息,并获取私钥请求;
S32:区块链通过执行验证算法Verify(uid,S)对用户进行注册验证,并采用存储算法Store(S,uid)对用户信息作hash处理,将处理后的信息存储在区块上;
S33:区块链根据用户属性集S通过密钥生成算法KeyGen(MSK,S,uid)生成私钥SK,并使用用户公钥PKuid对SK和区块地址hashAddr进行加密分发给DU;
S4:DU接收到私钥后向CSP发起数据请求,CSP验证请求的合法性,若请求合法,则将秘钥密文CT和密文EckM发送给DU;DU接收到密文后采用所持私钥对密文进行解密;若不合法,则CSP拒绝发送密文;具体过程包括:
S41:DU向云存储服务器CSP发送数据下载请求,并发送自身信息uid,属性集S和区块地址hashAddr;
S42:CSP对用户信息作hash处理,并向区块链发送请求,请求该用户区块中的hash数据;
S43:区块链返回数据信息;
S44:CSP对两组数据进行比较,如果相同,云服务器将密文EckM和密钥密文CT发送给DU;如果不同,则发送拒绝信息;
S45:如果DU属性满足策略,则DU可以通过私钥SK进行解密得到数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆邮电大学,未经重庆邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111396561.4/1.html,转载请声明来源钻瓜专利网。