1.一种基于联盟区块链的安全共享出行服务方案,包括信任机构TA、路边单元RSU和用户,其中用户由乘客与司机组成,其特征是按以下步骤:(S01):信任机构TA在系统初始化和密钥生成过程中生成系统公钥SPK、主密钥MSK、私钥SK和公钥PK;乘客Pj对行程的出发地、目的地、出发时间段和最晚到达时间进行打包生成数据信息m并定义数据信息的访问结构(M,ρ),乘客Pj利用系统公钥SPK和访问结构(M,ρ)对数据信息m进行加密生成数据密文C,然后向出发地所属的路边单元RSU发送共享出行服务请求和数据密文C;
(S02):路边单元RSU接收到共享出行服务请求后,向该区域的司机广播该请求,能够提供共享出行服务的司机向路边单元RSU发送自己的身份和行程的属性,路边单元RSU遍历司机的行程属性,如果司机的行程属性满足乘客数据密文的访问结构,则找到符合条件的司机Dj,路边单元RSU向司机Dj发送ACK通知司机匹配到合适的乘客,司机接收到ACK后向智能合约地址支付押金,路边单元RSU向乘客Pj发送Reply提醒乘客Pj向路边单元RSU发送重加密密钥RK;
(S03):乘客Pj接收到Reply后生成重加密密钥RK并发送给路边单元RSU,路边单元RSU收到重加密密钥RK后,利用重加密密钥RK对数据密文C重加密生成重加密密文C',再将重加密密文C'发送给司机Dj;
(S04):司机Dj收到重加密密文C',首先验证重加密密文C'的正确性,验证通过后,司机Dj对重加密密文解密获取乘客的行程信息并前往出发地接送乘客,为乘客提供共享出行服务;
(S05):司机Dj将乘客Pj送达目的地后,乘客Pj和司机Dj针对此次共享出行互相信誉评分,记账节点轮流充当主节点将密文和重加密密文打包到区块中,其他节点对区块中的数据进行验证,验证成功后,当前区块连接到区块链上永久保存,同时主节点获取信誉值作为生成区块的奖励。
2.根据权利要求1所述的一种基于联盟区块链的安全共享出行服务方案,其特征是步骤(S01)所述的加密,按以下步骤:(1)系统初始化:
信任机构TA选择阶为大素数p的乘法循环群G1和G2,g为G1的生成元,存在双线性映射e:G1×G1→G2,假设k为系统安全参数,X为属性空间,定义编码变换函数fencode:G1→{0,1}k和哈希函数 和H2:{0,1}*→{0,1}k,其中{0,1}*表示任意长度的字符串;
用户为数据分配唯一标识符β=H1(Tag)并嵌入重加密密钥和密文,只有嵌入重加密密钥的数据标识符和密文的数据标识符相等时,路边单元RSU对密文重加密;
信任机构TA随机选择g1∈G1和x,y,z, 对用户共有属性U和任意属性i∈X,随机选择G3,Ti∈G1,计算B=e(g ,g)z,h1=gα,h2=gx和Y=gy,则系统公钥为系统主密钥为MSK={x,α,gz},其中SPK对外公开,MSK由TA秘密保存;
乘客Pj随机选择 计算假名 其中 为乘客Pj的
真实身份,乘客Pj向TA发送 TA将 存储在身份列表中;同
时,司机Dj也按此过程计算假名,并存储在身份列表中;
(2)密钥生成:
TA为乘客Pj生成私钥之前首先验证其身份,Pj身份合法则TA随机选择 为乘客Pj的每个属性i随机选择 计算 和 则乘客Pj的私钥为 其中 为乘客Pj的属
性,计算 作为乘客的公钥,同理,生成司机Dj的私钥 和公钥 一旦出现纷争,TA利用身份列表中存储的信息计算过失方的真实身份并在全网广播;
(3)数据加密:
乘客Pj将出发地、目的地、出发时间段和最晚到达时间打包生成数据信息m∈{0,1}k并定义数据的访问结构为(M,ρ),其中M是一个l×n的矩阵,ρ将矩阵M的每行向量映射成属性,乘客Pj随机选择 计算R=gb和β=H1(Tag),其中Tag为数据标签;
乘客Pj随机选择 构成随机向量r=(s',r2,…,rq)T,计算λi=Mir,其中Mi为矩阵M的第i行向量,Pj从乘法循环群G2中随机选择O计算s=H1(O,m)和q=H2(O),然后计算R=OBs, 和 令s”=s-s',乘客Pj从 中随机选择wu计算 和 数据的密文为乘客Pj向出发地所属的路边单元
RSU发送共享出行服务请求和数据密文C。
3.根据权利要求1所述的一种基于联盟区块链的安全共享出行服务方案,其特征是步骤(S03)所述的重加密,按以下步骤:(1)重加密密钥的生成:乘客Pj选择随机数 计算gb,编码得到fencode(gb),计算srk=H1(O ,fencode(gb)),随机选择s 'rk , 计算s”rk=srk-s’rk ,则
对于任意属性i∈A,计算
和 重加密密钥为
其中A为用户的属性集,乘客Pj将生成
的重加密密钥RK发送给路边单元RSU,然后前往出发地等待司机Dj的到来;
(2)密文重加密:路边单元RSU收到Pj发送的重加密密钥RK后,选择随机数构造随机向量r'=(s'rk,r'2,r'3,...,r'q)T,然后计算λi'=Mir',对于任意 计算 选择随机数 计算 则计算L'=e(C'U,N3)/e(CU,rk1)=e(gs”,ga),选择满足的常数ηi,对密文的共享访问结构计算 利用
L',L”,R0和N计算 路边单元RSU生成重加密密文C'={(M',ρ'),R,R',R0',R”,L,Crk}并发送给司机Dj。
4.根据权利要求1所述的一种基于联盟区块链的安全共享出行服务方案,其特征是步骤(S04)所述的重加密密文解密,按以下步骤:司机Dj收到重加密密文C',验证C'的正确性,首先计算F=Le(R'0,gb)=e(gs,gz),如果等式 成立,则重加密密文C'正确,输出1,否则输出错误符号⊥;重加密密文验证通过后,司机Dj对C'解密获取乘客的行程信息,司机Dj利用Crk解密得到fencode(gb),解码获得gb,然后再利用R,L,R'0和gb计算 和s=H1(O,m),如果等式R=Oe(g,g)zs和等zs b -1式L=e(g,g) e(R'0,g) 均成立,则输出数据信息 司机前往出发地接送乘客,否则输出错误符号⊥。