1.一种分布式云存储数据访问方法,其特征在于,该方法包括:
对分布式存储在网络各节点上的云数据实施分簇管理,由簇中心节点采用布隆过滤器记录每个簇成员存储的云数据的数据特征;
数据请求节点利用数据特征从簇中心节点检索到目标数据,以存储有目标数据的簇成员作为数据提供节点,双方利用互换的地址公开参数共同生成收款公钥地址;
数据提供节点以目标数据的数据特征和地址公开参数生成部分盲化消息,由数据请求节点对部分盲化消息签名获得部分盲化签名;
数据提供节点对部分盲化签名解盲得到去盲签名,以去盲签名作为双方达成共识的交易凭证,数据请求节点将数据访问服务费转入到签名中记录的收款公钥地址,数据提供节点按签名中记录的数据特征向数据请求节点传送指定的目标数据;
数据请求节点在验证目标数据正确后,向数据提供节点传送地址秘密参数;
数据提供节点利用地址秘密参数生成收款私钥地址,所述收款私钥地址用于花费收款公钥地址上的数字币;
数据请求节点检索目标数据的步骤为:
数据请求节点提取区块链中记录的目标数据标识,计算目标数据标识对应的空间向量作为数据特征,向网络广播包含空间向量的数据检索请求;
每个簇中心节点分别判断本地布隆过滤器中如果包含所述空间向量,则通知该空间向量所属的簇成员;
簇成员查找空间向量对应的本地数据标识,将本地数据标识关联的第一数据承诺通过簇中心节点转发给数据请求节点;
数据请求节点将所有接收到的第一数据承诺组成承诺集,使用目标数据标识参与生成第二数据承诺,从承诺集中选取与第二数据承诺相同的元素作为目标数据承诺,将发送该目标数据承诺的簇中心节点作为数据源中心节点。
2.根据权利要求1所述的分布式云存储数据访问方法,其特征在于,数据请求节点与数据提供节点共同生成收款公钥地址的步骤为:数据请求节点采用密钥生成算法分别生成随机公私钥对和第一主控地址公私钥对,将随机公钥和第一主控地址公钥发送给数据提供节点;
数据提供节点采用同一密钥生成算法生成第二主控地址公私钥对,将第二主控地址公钥发送给数据请求节点;
数据请求节点采用随机公钥地址生成算法,利用随机私钥、第一主控地址公钥和第二主控地址公钥生成的一次性随机地址作为数据提供节点的收款公钥地址;
数据提供节点采用随机公钥地址生成算法,利用随机公钥、第一主控地址公钥和第二主控地址私钥生成的一次性随机地址作为本地的收款公钥地址;
双方共同生成的两个收款公钥地址相同。
3.根据权利要求2所述的分布式云存储数据访问方法,其特征在于,数据请求节点与数据提供节点之间执行部分盲签名的步骤为:簇中心节点向数据请求节点与数据提供节点公布部分盲签名生成算法的公开参数,利用公开参数为数据请求节点分配用于执行部分盲签名的临时签名公私钥对,并通过秘密方式发送给数据请求节点;
数据请求节点由随机公钥、第一主控地址公钥和目标数据标识生成部分盲签名的共享信息约束参数,该共享信息约束参数用于约束部分盲签名实施条件,并通过数据源中心节点转发给数据提供节点;
数据提供节点对第二主控地址公钥盲化处理,将盲化消息与共享信息约束参数结合生成部分盲化消息,将部分盲化消息通过数据源中心节点转发给数据请求节点;
数据请求节点利用临时签名私钥对部分盲化消息签名获得部分盲签名,并通过数据源中心节点转发给数据提供节点;
数据提供节点对部分盲签名解盲获得去盲签名,利用数据提供节点的签名私钥对去盲签名执行二次签名后,将去盲签名和二次签名消息通过数据源中心节点转发给数据请求节点。
4.根据权利要求3所述的分布式云存储数据访问方法,其特征在于,簇中心节点采用基于身份的部分盲签名算法,利用公开参数和数据请求节点身份标识生成临时签名公私钥对。
5.根据权利要求4所述的分布式云存储数据访问方法,其特征在于,所述收款私钥地址的生成步骤为:数据请求节点对第一主控地址私钥加密,将密文通过数据源中心节点转发给数据提供节点;
数据提供节点解密密文后,采用随机私钥地址生成算法,利用随机公钥、第一主控地址私钥和第二主控地址私钥生成的一次性随机地址作为收款私钥地址。
6.根据权利要求5所述的分布式云存储数据访问方法,其特征在于,所述数据请求节点与数据提供节点采用密钥生成算法,利用目标数据标识生成用于数据加密和解密的对称密钥,加密数据包括双方交换的随机公钥、第一主控地址公钥、第二主控地址公钥、共享信息约束参数、部分盲化消息、部分盲签名、去盲签名、二次签名消息和第一主控地址私钥。
7.根据权利要求6所述的分布式云存储数据访问方法,其特征在于,还包括数据请求节点问责步骤:当数据请求节点已支付服务费但未收到目标数据时,向网络公布去盲签名、二次签名消息、数据提供节点的签名公钥、随机公私钥对、第一主控地址公钥、第二主控地址公钥和目标数据标识;
任意第三方利用数据提供节点的签名公钥验证二次签名消息的主体,如果主体不是去盲签名则表明数据请求节点问责无效,否则采用去盲签名验证算法,利用随机公钥、第一主控地址公钥、第二主控地址公钥和目标数据标识验证去盲签名,如果验证失败则表明数据请求节点问责无效,否则进一步验证随机公钥与随机私钥是否匹配,如果不匹配则表明数据请求节点问责无效,否则利用随机私钥、第一主控地址公钥和第二主控地址公钥重新生成地址值,如果在该地址值上未存有约定金额的数字币,则表明数据请求节点问责无效,否则表明数据请求节点问责有效,确认数据提供节点违约。
8.根据权利要求6所述的分布式云存储数据访问方法,其特征在于,还包括数据提供节点问责步骤:当数据提供节点已发送目标数据但未收到第一主控地址私钥时,向网络公布去盲签名、随机公钥、第一主控地址公钥、第二主控地址公私钥对和目标数据标识;
任意第三方采用去盲签名验证算法,利用随机公钥、第一主控地址公钥、第二主控地址公钥和目标数据标识验证去盲签名,如果验证失败则表明数据提供节点问责无效,否则进一步验证第二主控地址公钥与第二主控地址私钥是否匹配,如果不匹配则表明数据提供节点问责无效,否则利用随机公钥、第一主控地址公钥和第二主控地址私钥重新生成地址值,如果在该地址值上未存有约定金额的数字币,则表明数据提供节点问责无效,否则表明数据提供节点问责有效,确认数据请求节点违约。
9.一种分布式云存储数据服务系统,其特征在于,该系统包括服务端子系统和客户端子系统,所述服务端子系统包括分布式部署的簇中心节点、由簇中心节点分簇管辖的数据提供节点以及由网络节点共建的区块链,客户端子系统包括数据请求节点;
服务端子系统用于为客户端子系统提供云数据访问服务,所述云数据分布式存储在数据提供节点上;
所述区块链上记录有云数据的数据标识和标准哈希值,所述数据标识用于标记云数据,所述标准哈希值用于验证云数据完整性;
所述簇中心节点采用布隆过滤器记录每个簇成员存储的云数据的数据特征,所述数据特征由数据标识生成;
所述数据提供节点还包括:地址生成模块、消息盲化模块、消息解盲模块、服务提供模块;
地址生成模块:生成自身的地址公开参数,并由数据请求节点交换的地址公开参数参与生成收款公钥地址,利用地址秘密参数生成收款私钥地址,所述收款私钥地址用于花费收款公钥地址上的数字币;
消息盲化模块:以目标数据的数据特征和地址公开参数生成部分盲化消息;
消息解盲模块:对部分盲化签名解盲得到去盲签名,以去盲签名作为双方达成共识的交易凭证;
服务提供模块:按签名中记录的数据特征向数据请求节点传送指定的目标数据;
所述数据请求节点包括:数据查询模块、地址生成模块、消息签名模块、数据验证模块、服务结算模块;
数据查询模块:利用数据特征从簇中心节点检索到目标数据,以存储有目标数据的簇成员作为数据提供节点;数据请求节点检索目标数据的步骤为:数据请求节点提取区块链中记录的目标数据标识,计算目标数据标识对应的空间向量作为数据特征,向网络广播包含空间向量的数据检索请求;
每个簇中心节点分别判断本地布隆过滤器中如果包含所述空间向量,则通知该空间向量所属的簇成员;
簇成员查找空间向量对应的本地数据标识,将本地数据标识关联的第一数据承诺通过簇中心节点转发给数据请求节点;
数据请求节点将所有接收到的第一数据承诺组成承诺集,使用目标数据标识参与生成第二数据承诺,从承诺集中选取与第二数据承诺相同的元素作为目标数据承诺,将发送该目标数据承诺的簇中心节点作为数据源中心节点;
地址生成模块:生成自身的地址公开参数和地址秘密参数,并由数据提供节点交换的地址公开参数参与生成收款公钥地址;
消息签名模块:用于对部分盲化消息签名获得部分盲化签名;
数据验证模块:将接收到的目标数据执行哈希运算,将得到的哈希值与区块链中记录的标准哈希值比较,判定数据完整性;
费用结算模块:用于将数据访问服务费转入到签名中记录的收款公钥地址。