1.一种基于联盟区块链的智能交通数据安全访问方法,其特征是按以下步骤:(S01):车载单元OBU收集车辆驾驶过程的交通数据M,包括里程、速度、位置、加速度,系统参数由循环群G和G1、双线性映射e、循环群生成元g、主密钥MK及哈希函数Hi(i=1,2,3,4)共同组成;车载单元OBU的私钥由主密钥MS和身份信息 共同生成,车载单元OBU使用自己的私钥 双线性对及哈希运算对交通数据M进行基于身份的签密,生成签密密文σ再发送给路边单元RSU;
(S02):路边单元RSU首先使用双线性对验证签密密文σ是否被篡改或伪造,若被篡改或伪造,则丢弃签密密文;未被篡改或伪造,则RSU利用自己的私钥 和身份信息数据请求者的身份信息 生成重加密密钥 使用重加密密钥 对签密密文σ进行代理重加密,生成重加密密文σ',再将σ'发送给预选的路边单元RSU记账节点,记账节点将重加密密文σ'记录到联盟区块链上;
(S03):数据请求者根据自己的身份权限Index从联盟区块链上准确定位并获取相应的重加密密文σ',然后使用双线性对验证该密文是否被篡改或伪造,即数据可靠性与完整性验证;若被篡改或伪造,则丢弃该密文,未被篡改或伪造,则使用自己的私钥对密文解密;
(S04):数据请求者根据获取的解密信息利用智能合约为车载单元提供包括车险定价、交通事故仲裁和自动理赔、交通违规处罚、交通灯智能调控的快捷服务;
步骤(S01)所述的签密,按以下步骤:(1)签密算法初始化:
1) 设G 和G1分 别为加法循环 群和乘法循 环群 ,定义四 个哈希函 数其中G和G1存在双线性映射关系:e:G×G→G1,*
{0,1}表示0,1字符串, 是1到p之间整数集,*是把0去掉,p是素数;
2)随机选择一个主私钥 并保密,计算主密钥MK=g·MS,其中g是加法循环群G的生成元,公开系统参数Sparams={G,G1,e,g,MK,H1,H2,H3,H4};
(2)密钥生成:
1)定义车载单元OBU的身份集合为 数据请求者的身份集合为 路边单元RSU的身份集合为
2)计算车载单元OBU的私钥 其中计算数据请求者的私钥 其中 计算路边单元RSU的私钥其中
(3)数据签密:
车载单元实时收集的交通数据为M={M1,M2,...,Mr};车载单元OBU从 随机选择s整数,按(1)式计算
其中 完成双线性映射计算,h=H2 (X ,M) ,签密密文为σ={X,Y,Z,V},车载单元OBU向路边单元RSU发送σ,完成密签任务;
步骤(S02)所述的重加密,按以下步骤:(1)重加密密钥生成:
1)利用 路边单元RSU的私钥 数据接收者Rj的身份 路边单元RSU的身份 计算
2)重加密密钥设定为
(2)密文重加密:
1)验证密文的合法性,即验证等式 是否成立?若等式成立,则计算 重加密密文为σ'={X,Y',Z};若等式不成立,则密文合法性验证失败,丢弃密文;
2)计算 作为数据请求者的身份权限Index,确保数据请求者根据自己的身份准确检索相应的重加密密文;
3)记账节点将<σ,σ′,Index,T>记录到区块中并广播,其中T为时间戳,达成共识后将区块链接到区块链上永久保存;
所述步骤(S03)数据可靠性及完整性验证按以下步骤:数据请求者根据身份权限从区块链上获取重加密密文σ',验证重加密密文σ'的合法性,即验证等式 是否成立?若等式成立则计算y'=e(X,W'),明文解密恢复为M=Y'/y';若等式不成立,则验证失败,丢弃重加密密文。