1.一种基于区块链技术的车载自组织网络数据安全共享与存储系统,其特征是按以下步骤:
(S01):车辆节点和路边单元在可信机构注册登记信息,从而获得相应的认证信息和系统参数;
按以下步骤完成认证信息:
1)随机选取一个素数q,阶数都为q的两个群G和GT,其中G为一个循环加法群,GT为循环乘法群;G中的生成元为P和双线性映射
2)可信机构随机生成一个m×n维的矩阵A(2≤m≤n)和一个m维的列向量ω,并且满足线性方程组Ad=ω有无穷多解,即
3)可信机构为每个合法车辆节点生成唯一的n维列向量di,di且满足Adi=ω;然后可信机构将向量di发给相应的车辆节点Vi作为其真实身份信息;可信机构随机选取一个m维列向量D,并计算其身份
T
RIDi=Ddi (1)最后,可信机构将A、D、ω作为路边单元与可信机构之间的共享秘密通过安全信道发送给路边单元;
4)路边单元在素数模q的单位群和有限域 中生成自身的私钥x1,并且计算另一个私钥x2,其中
T
x2=(Dω)mod q (2)*
对应的公钥为Ppub1=x1和Ppub2=x2P,H:{0,1}→G是一个单向散列函数;每个路边单元节点和车辆节点都可以公开访问系统参数(S02):路边单元收集由覆盖区域内车辆节点上传的数据,并进行身份验证和消息认证;若该车辆为非法车辆,则路边单元拒绝该车的数据传输并将非法车辆信息记录下来;若该车辆为合法车辆,则路边单元接收它所发的信息并且定期收集打包成数据区块;
(S03):通过路边单元验证并成为合法的车辆依据短程通信协议每隔一段时间广播自身的交通状态数据;车辆将感知数据共享给其他车辆节点或路边单元之前采用基于椭圆曲线双线性算法对交互信息进行数字签名;
按以下步骤完成数字签名:
1)首先路边单元Rj随机选择k,且 并计算认证参数R和s;
R=kA (3)
s=kω (4)
发送验证信息 给车辆Vi;其中t1是与消息传输时间相关联的时间戳;
2)车辆Vi收到路边单元Rj发来的数据,并存放在防篡改装置内;首先计算:r=Rdi (5)然后验证信息 是否成立,如果它们是相等,则发送给路边单元Rj;其中t2是与消息传输时间相关联的时间戳;
3)路边单元Rj接收到消息 验证是否成立;如果验证成功则继续与车辆Vi之间的通信,否则就会中断通信;再选取随机参数yi,并且 然后,计算ρi=yiP,将参数ρi发送给车辆用户;如果ρi和RIDi都验证通过,则防篡改装置将开始生成匿名身份和签名密钥;
4)车辆随机选择系统参数μi、ri1、ri2,设置随机化参数Ci,并且计算假名AIDi:Ci=μiρi (6)AIDi=RIDit2 (7)紧接着计算签名密钥βi和γiβi=ri1H(AIDi||Ci||Mi)+ri2P (8)γi=ri1μi(mod q) (9)最后,防篡改装置输出签名密钥(βi,γi);
在路边单元的通信范围内,车辆节点与路边单元首次通信时需要进行双向匿名验证才能继续下一步的消息签名;验证完成后,当车辆与其他车辆进行通信需要路边单元协助以生成签名时,车辆与路边单元之间不再需要进行认证;
(S04):路边单元将收集的感知数据先缓存到记录池当中,直到记录池中的数据大小等于区块大小;路边单元内的智能合约根据感知数据的约束条件将自动执行合约,每当智能合约执行完毕后该合约产生的收据将记录在本地存储设备当中;
(S05):路边单元将定期收到的感知数据整理成数据区块,等待随机时间后广播该区块到全网的共识节点;利用拜占庭容错共识机制,使数据区块在全网达成一致性协议;
(S06):若该路边单元获得记录该数据区块的权利,则广播给全网使其他共识节点对区块链数据进行同步保存,系统奖励相应数量的数据硬币给该路边单元,再由路边单元内的智能合约分配给该覆盖区域内上传数据的车辆节点。