1.一种基于区块链的隐私数据共享方法,其特征在于,所述基于区块链的隐私数据共享方法包括:通过可信机构定义大属性集,并根据所述大属性集构造公共参数;
根据已构造公共参数的所述大属性集收集车辆的属性,并颁发所述车辆的属性基密钥;
通过所述可信机构在预设的雾节点之间启动区块链;所述雾节点包括文件服务器、数据服务器和审计服务器;
获取所述车辆的共享数据,并生成所述车辆的共享数据对应的访问控制策略、对称密钥和密文;所述对称密钥被所述属性基密钥加密;
将所述车辆的共享数据对应的访问控制策略、对称密钥和密文上传至路边单元;所述路边单元用于将所述车辆的共享数据对应的访问控制策略和对称密钥保存至所述数据服务器以及将所述车辆的共享数据对应的密文保存至所述文件服务器;
当接收到所述车辆的共享数据的获取请求,通过所述路边单元验证所述获取请求的对象是否为所述车辆的共享数据;
若所述获取请求的对象为所述车辆的共享数据,根据所述路边单元提供的所述车辆的共享数据对应的访问控制策略和对称密钥解密所述车辆的共享数据对应的密文得到并回复所述车辆的共享数据;所述回复所述车辆的共享数据的记录将通过所述路边单元保存至所述审计服务器。
2.根据权利要求1所述的基于区块链的隐私数据共享方法,其特征在于,所述通过可信机构定义大属性集,并根据所述大属性集构造公共参数,包括:通过所述可信机构定义所述大属性集,并运行群生成器算法得到群和双线性映射;所述群和双线性映射用于描述所述大属性集;
根据所述大属性集选择多组元素构成所述公共参数;所述公共参数用于CP‑ABE加密所述大属性集。
3.根据权利要求1所述的基于区块链的隐私数据共享方法,其特征在于,所述根据已构造公共参数的所述大属性集收集车辆的属性,并颁发所述车辆的属性基密钥,包括:根据已构造公共参数的所述大属性集收集所述车辆的属性;所述车辆的属性包括车主真实身份、车主职业、车主兴趣爱好和车主常去地点;所述车主真实身份为所述车辆的唯一标识;
将所述车辆的车主真实身份添加至身份映射表中;所述身份映射表用于根据所述车辆的车主真实身份获得所述车辆的所有属性;
通过所述可信机构和所述车辆的所有属性计算并颁发所述车辆的属性基密钥。
4.根据权利要求1所述的基于区块链的隐私数据共享方法,其特征在于,所述获取所述车辆的共享数据,并生成所述车辆的共享数据对应的访问控制策略、对称密钥和密文,包括:通过LSSS线性秘密共享方案定制所述车辆的共享数据的访问控制政策;
通过所述车辆的共享数据的访问控制政策计算得到所述车辆的共享数据的对称密钥和密文。
5.根据权利要求1所述的基于区块链的隐私数据共享方法,其特征在于,所述将所述车辆的共享数据对应的访问控制策略、对称密钥和密文上传至路边单元,包括:对所述车辆的共享数据的索引进行签名,得到所述车辆的共享数据的可验证签名;
将所述车辆的共享数据对应的可验证签名、访问控制策略、对称密钥和密文上传至所述路边单元;所述路边单元通过所述车辆的共享数据的可验证签名验证所述车辆的共享数据对应的可验证签名、访问控制策略、对称密钥和密文上传的合法性。
6.根据权利要求1所述的基于区块链的隐私数据共享方法,其特征在于,所述当接收到所述车辆的共享数据的获取请求,通过所述路边单元验证所述获取请求的对象是否为所述车辆的共享数据,包括:通过所述路边单元将所述车辆的共享数据的获取请求的索引与所述车辆的共享数据的索引进行对比;
若所述车辆的共享数据的获取请求的索引与所述车辆的共享数据的索引匹配,则所述获取请求的对象为所述车辆的共享数据。
7.根据权利要求1所述的基于区块链的隐私数据共享方法,其特征在于,所述根据所述路边单元提供的所述车辆的共享数据对应的访问控制策略和对称密钥解密所述车辆的共享数据对应的密文得到并回复所述车辆的共享数据,包括:根据所述车辆的共享数据的获取请求的索引在所述文件服务器中的文件系统找到存储地址;
根据所述存储地址得到所述车辆的共享数据的密文地址和对称密钥;
通过所述车辆的属性基密钥解密所述车辆的共享数据的对称密钥;
根据所述解密后的所述车辆的共享数据的对称密钥解密所述车辆的共享数据的密文地址对应的密文,得到并回复所述车辆的共享数据。
8.根据权利要求1所述的基于区块链的隐私数据共享方法,其特征在于,在所述根据所述路边单元提供的所述车辆的共享数据对应的访问控制策略和对称密钥解密所述车辆的共享数据对应的密文得到并回复所述车辆的共享数据之后,还包括:当接收到所述车辆的共享数据为虚假内容的投诉,对所述车辆进行身份追溯。
9.根据权利要求8所述的基于区块链的隐私数据共享方法,其特征在于,所述对所述车辆进行身份追溯,包括:通过所述车辆的共享数据的可验证签名与所述车辆在身份映射表中的真实身份进行身份追溯。
10.一种基于区块链的隐私数据共享系统,其特征在于,所述基于区块链的隐私数据共享系统包括:大属性集模块,用于通过可信机构定义大属性集,并根据所述大属性集构造公共参数;
车辆属性收集模块,用于根据已构造公共参数的所述大属性集收集车辆的属性,并颁发所述车辆的属性基密钥;
区块链启动模块,用于通过所述可信机构在预设的雾节点之间启动区块链;所述雾节点包括文件服务器、数据服务器和审计服务器;
车辆共享数据获取模块,用于获取所述车辆的共享数据,并生成所述车辆的共享数据对应的访问控制策略、对称密钥和密文;所述对称密钥被所述属性基密钥加密;
上传路边单元模块,用于将所述车辆的共享数据对应的访问控制策略、对称密钥和密文上传至路边单元;所述路边单元用于将所述车辆的共享数据对应的访问控制策略和对称密钥保存至所述数据服务器以及将所述车辆的共享数据对应的密文保存至所述文件服务器;
请求对象验证模块,用于当接收到所述车辆的共享数据的获取请求,通过所述路边单元验证所述获取请求的对象是否为所述车辆的共享数据;
数据共享模块,用于若所述获取请求的对象为所述车辆的共享数据,根据所述路边单元提供的所述车辆的共享数据对应的访问控制策略和对称密钥解密所述车辆的共享数据对应的密文得到并回复所述车辆的共享数据;所述回复所述车辆的共享数据的记录将通过所述路边单元保存至所述审计服务器。