1.一种基于BC‑LHE的车联网数据共享方法,其特征在于,包括以下步骤:步骤1:建立基于区块链可信信道的传输集群,对外隐蔽系统中云服务器的可用服务器进行标记为子服务器数量n、地理位置GPS和IP信息,防止关键信息的泄露;
步骤2:每个子服务器的标记采取无规则数字或字符组成,那么会产生n个ID,记作:x1、x2、x3、……、xn;
步骤3:为了保障数据的安全性,在进行数据M发送前,先用MD5算法对数据进行校验,确保原始数据的安全性;云服务器利用RSA的公钥进行初次加密,得到加密数据E;
步骤4:云服务器产生一个随机数r,将加密数据E进行r段划分,得到r个不同大小或长度的数据段:e1、e2、e3、……、er;
步骤5:云服务器根据整个服务器中可用设备n的大小,随机选择k个服务器,k的类型必须为奇数,方便认证;将数据段e1随机选择的k个服务器,这些服务器同时利用同态加密进行相应的加密运算,得到新的加密数据E1;步骤6:已选的k个服务器通过区块链通道开始传递新的加密数据E1和当前时间戳t到车联网设备;
步骤7:车辆网中的车载设备接受到服务器数据后,会对时间戳进行判定,如果时间延时过长,则舍弃该数据;
步骤8:如果该数据的时间延时在合理范围内,则会对数据进行同态加密的逆向过程,除去步骤7中舍弃的数据,将会得到多组的加密数据;
步骤9:车载设备对着多组设备进行比较,遵循区块链的优先计算原则,将数量相同的且数目最多的数据挑选出来,这个数据即为数据段e1;
步骤10:重复步骤5的过程,直到整个数据段传递完毕,车载设备会得到e1、e2、e3、……、en;将这些数据按时间戳的顺序排列,合并得到加密数据E,同时利用车载设备中内置的RSA算法对加密数据进行还原得到原始数据M,完成整个数据的传输过程;
中央服务器负责整个系统的调配工作,同时为了保证系统的安全性,中央服务器可以随着时间变化而变化,防止中央服务器信息泄露;
中央服务器对初始数据进行MD5校验,将校验成功的数据利用RSA加密得到加密数据E,同时对加密数据进行分割,得到不同小段的分割数据;
中央服务器对云服务器的中的可用子服务器进行任务分配,每次根据实际情况调用不同的子服务器进行加密和数据传输工作;
车载设备中的密钥是根据车辆ID进行封装的,采取仅车载设备内部读取,外部不可读取的策略,防止密钥泄露;
整个系统的同态加密过程是根据时间戳来完成的,因此车载设备在逆向解密过程中,只需要按固定顺序,即可还原加密数据,从而实现整个数据或文件的保密传输。
2.根据权利要求1所述的基于BC‑LHE的车联网数据共享方法,其特征在于,包括以下步骤:
1) 系统初始化;云服务器中的可用服务器数量n,子服务器的随机ID为xi,文件或数据的ASCII码值M和MD5值d,RSA算法的公钥和私钥,为了保证数据的安全性,采用1024位的RSA进行加密;同时,RSA私钥密封在车载设备中,根据车辆设备的标记ID不同,对应生成不同的公钥和私钥;
2) 云服务器中的中央服务器会对文件或数据进行MD5比较,调用函数MD5(M),检查其值是否为d;
3) 如果函数比较的值为d,那么表示文件数据正常,未经过篡改;如果函数的值不是d,则表示文件或数据比对不合格,抛弃该文件,重新请求;
4) 将比对合格的数据利用RSA公钥进行加密,得到加密数据E,其加密过程按如下公示E = RSA(M)进行加密;
5) 利用随机数算法,对加密数据E进行分段操作,具体的过程按如下公示ei = Random(E, r, i),其中r表示分成r小段;
6) 对n个可用的服务器中,根据随机数算法获得随机的k个服务器,k = Random(n);
7) 将ei的数据发送给已选的k服务器,利用时间戳ti,进行同态加密运算,得到二次加密数据Ei = HE(ei, ti);同时,k个服务器将二次加密数据Ei和时间戳ti利用区块链的通道,将加密信息传递给车载设备;
8) 车载设备接收到服务器发送的k个数据后,会以此比较传递的时间戳的延时是否在可控范围内;如果不满足延时要求,则抛弃该数据;如果满足延时需求,则进行下一步操作;
9) 车载设备会比较满足延时条件的数据,并根据区块链最大化算法的原则,选取相同值最多的数据Ei,根据传递的时间戳ti,进行解密操作,得到数据ei = Dec(Ei, ti);
10) 重复整个循环,直到最后的加密数据完成传输,得到所有的加密段数据,并将其按时间戳进行整合,获取加密数据E;然后,利用封存在车载设备的私钥,完成解密过程,从而实现数据保密传输。