1.一种基于区块链的云边协同物联网数据共享方法,其特征在于,应用于密钥生成中心、区块链、边缘服务器、云服务器、数据所有者以及数据请求者之间,所述方法包括如下步骤:系统初始化:密钥生成中心生成系统公共参数以及自身的私钥和公钥,并将系统公共参数和公钥存储至区块链中;
用户注册:数据所有者和数据请求者作为用户向密钥生成中心提交注册请求,基于注册请求中用户的注册信息、密钥生成中心为通过验证的用户分配并返回公钥和私钥,其中注册信息包括用户唯一标识的用户ID;
数据上传:数据所有者基于对称密钥对其私有数据加密生成密文,基于其自身以及其他数据所有者的公钥和用户ID构建公钥集合和用户ID集合,基于公钥集合、用户ID集合以及密文进行环签名计算生成无证书可链接的密文环签名,将密文、密文环签名和数据标签发送至边缘服务器,边缘服务器对密文环签名进行聚合验证,对于通过验证的密文环签名,将密文环签名和数据标签存储至区块链,将对应的密文和数据标签发送至云服务器,并将对应的对称密钥分割为多个密钥片段,基于公钥集合、用户ID集合以及密钥片段进行环签名计算生成无证书可链接的密钥环签名,将密钥片段、密钥环签名以及数据标签发送至边缘服务器,边缘服务器对密钥环签名进行聚合验证,对于通过验证的密钥环签名,将密钥片段和数据标签存储在多个边缘服务器中,并基于数据标签与存储于云服务器的密文链接;
数据请求:对于数据请求者提交的数据请求,如果区块链中存在对应的数据标签,通过区块链记录数据请求,云服务器和边缘服务器从区块链中监控到数据请求后,云服务器查找对应的密文并返回数据请求者,边缘服务器查找对应的密钥片段并返回数据请求者,数据请求者接收预定数量的密钥片段后形成对称密钥,并基于对称密钥对密文解密。
2.根据权利要求1所述的基于区块链的云边协同物联网数据共享方法,其特征在于,数据上传包括如下步骤:
密文生成:数据所有者基于对称密钥、通过对称加密算法对其私有数据进行加密,生成密文;
密文环签名:数据所有者选择多个其他数据所有者,基于其自身以及其他所有者的公钥和用户ID分别构建一组公钥集合和用户ID集合,基于公钥集合、用户ID集合和密文进行环签名计算,生成无证书可链接的环签名作为密文环签名;
密文上传:数据所有者将密文、密文环签名以及数据标签发送至边缘服务器;
密文环签名聚合验证:边缘服务器接收到多个数据所有者的密文、密文环签名以及数据标签后,对数据所有者的密文环签名进行签名聚合,得到聚合的密文环签名,并基于数据所有者的密文、公钥集合和用户ID集合进行签名验证,对于通过验证的密文环签名,将密文环签名和数据标签存储至区块链,并将对应的密文和数据标签发送至云服务器;
密钥片段分发:数据所有者从区块链中监控到其密文环签名和数据标签后,将对应的对称密钥分割为多个密钥片段,并基于密钥片段以及其密文环签名时选取的公钥集合和用户ID集合进行环签名,生成无证书可链接的环签名作为密钥环签名,并将密钥片段、密钥环签名以及数据标签发送至边缘服务器;
密钥环签名聚合验证:边缘服务器接收到多个数据所有者的密钥片段、密钥环签名以及数据标签后,对数据所有者的密钥环签名进行签名聚合,得到聚合的密钥环签名,并基于数据所有者的密钥片段、公钥集合和用户ID集合进行签名验证,对于通过验证的密钥环签名,将密钥片段和数据标签存储在多个边缘服务器中,并基于数据标签与存储于云服务器的密文建立链接。