APP下载

基于区块链的危险驾驶地图数据评估模型

2022-08-12刘宏哲代松银

计算机工程 2022年8期
关键词:加密区块危险

陈 凯,徐 成,刘宏哲,代松银

(1.北京联合大学 北京市信息服务工程重点实验室,北京 100101;2.北京联合大学 机器人学院,北京 100101)

0 概述

近年来,汽车数量的急剧增加,给现有的交通系统带来了巨大压力。交通拥堵和交通事故的频发,严重威胁人们的生命和财产安全。车联网(Internet of Vehicle,IoV)[1]被公认为是从根本上解决车辆安全问题、遏制交通事故的有效途径,通过在车与车之间、车与网络设施之间建立通信,使得车辆能够有效获取交通环境信息,提前做出驾驶决策,从而提升交通安全和效率[2]。但如果车联网中相关驾驶数据遭到窃取或者篡改,则会直接造成财产或生命损失。因此,如何防止车辆信息被修改,保证车联网数据安全和共享是智能驾驶的关键。

区块链是一种去中心化的数据库存储技术[3],具有去中心化[4]、对等传输[5]、匿名性[6]、记录不可逆性[7-8]等特性,可以有效地对加入区块的数据可信度进行分析鉴别,确保数据可信、可用和可溯[9]。本文建立危险驾驶地图数据评估模型,利用区块链去中心化技术对车辆数据进行处理。针对单一车辆具体地图运行数据采集上链[10],根据车辆运行过程中遇到的不同危险场景进行危险评估[11],利用自动化执行的智能合约[12]程序有效避免数据篡改[13],通过全域集理论[14]构建输入输出模型,提升模型扩展性与适用性。

1 相关工作

车联网应用越来越普遍[15],但其网络安全形势日趋严峻[16]。针对车联网中数据安全方面存在的问题,学者们对此进行了大量研究并取得了重要的成果。文献[17]提出一个认证和安全的数据传输算法,在车联网框架中使用区块链技术,确保节点之间的信息通信。文献[18]提出一种新的基于区块链技术的车辆信息系统架构,保持分布式服务提供商之间的一致性,从而确保数据的完整性、车辆认证、隐私保护和无缝访问控制。这种分散的区块链框架适用于管理大规模车联网数据,通过本地缓存策略可避免较长的事务时间限制。

1.1 数据隐私信息上链认证模型

信息数据通信是车联网中的重要环节,节点之间的高效通信可避免发生交通事故。为了防止恶意活动,如篡改紧急消息或发送虚假信息,在网络中只允许存在经过身份验证[19]的节点。文献[20]提出一个边缘信任管理方案,使用开源平台以太网区块链建立分散式信任管理平台,所有的响应单元以分布式方式工作,以维护一致的车辆信任数据库并增强可靠性、可用性和一致性。车辆与车辆之间通过建立信任机制对车辆每次传输的数据进行准确性判断,避免应用错误信息导致发生事故。文献[21]提出一种匿名地址管理方案,将个人数据的控制分权,由AC 管理加密地址,由RS 管理解密私钥,但双方都没有获得真正的地址,只有在授权TP 访问后,TP 提交加密地址给RS 并由其解密地址,才能得到真正的地址并执行TP 的数据请求,以此实现对个人数据的有效保护。

1.2 智能合约危险分析模型

车联网建立了智能运输应用程序,由于无线通信的开放性,使得传输信息资源的完整性、机密性和可用性容易被非法访问所破坏,面临相关IoV 应用的安全性威胁。文献[22]提出一种新颖的基于危险预测的访问控制模型RPBAC,该模型通过预测危险级别将访问权限分配给节点。区块链智能合约技术确保了数据传输过程中不被篡改,建立的危险评级使得车辆获取到的数据可信可靠,根据数据进行车辆设备映射达到最终控制车辆的目的。文献[23]利用智能边缘链来实现对IoV 设备的访问控制,为提高RPBAC 模型的精度,设计Wasserstein 复合GaN(WCGaN),解决了原GaN 中的梯度消失和模式崩溃问题,并优化了RPBAC 模型来规范车辆的行为。

本文的主要贡献如下:1)基于智能合约技术建立网络数据加密平台,确保用户个人信息及车辆运行数据安全,利用智能合约建立自动执行的合约程序,对车辆运行过程产生的数据进行信息上链,建立智能合约匿名系统,确保数据可信;2)为智能车地图数据交互建立危险评估模型,在遭遇网络攻击、危险路段、恶劣天气等场景时,根据环境因素以及被攻击程度增高车辆安全评级,当车辆接收到的数据危险评级过高时根据具体情况对车辆实施减速慢行、停车等安全举措。

2 基于区块链的危险评估模型

表1 给出了本文使用到的符号及含义。每个参与者用户先申请唯一性地址,当用户驾驶车辆连入区块链网络时,将用户个人信息、车辆运行数据、车辆环境信息和基站网络信息先转换为精确的位置坐标信息再匿名打包发布,智能合约对地图数据进行处理,针对不同场景数据进行危险评估,当网络受到攻击时,发出应对指令。智能合约交易仅显示地址交互,确保匿名性。交易信息进行区块上链,区块链同时提供能够查询交易的接口。

表1 相关符号及含义Table 1 Relevant symbols and meanings

将用户数据和车辆运行数据进行非对称加密,建立自动化智能合约脚本,对上链的区块进行自动处理,将处理后的数据存入区块链分布式账本中,之后为每一个用户建立账本副本,将账本副本借助Fabric 平台发布到对应的每一个用户中。

如图1 所示,车辆危险驾驶地图数据评估模型有五元组S构成,其中:A是模型输入端数据,具体为用户信息数据、地图信息以及网络基站传输的指令信息;B是模型映射环境,车辆信息加密后构成区块,通过此过程将数据信息上链组成区块链账本;F是模型数据变换过程,区块链账本信息通过智能合约过程,自动化处理Hash 数据,对不同的地图数据信息进行权重运算得到当前时刻地图数据反馈的危险系数,对地图数据进行危险分级并对应相应的危险系数,不同的危险系数将反馈不同的行为指令;D为模型数据转换对应的表映射,危险评估结果通过此表结合当前车辆运行状态将决策数据转换为对应的安全态、平稳态、危险态,不同运行态将对应的车辆控制指令通过基站网络传输到车辆实际控制层,数据表示为速度、方向、停止、运行等状态;J是模型环境映射的满意值,表示环境映射满意值的界限范围,智能合约脚本处理后将评估结果数据上链,将此满意值也作为映射关键权重参与下一次迭代循环。

图1 车辆危险驾驶地图数据评估模型Fig.1 Evaluation model of vehicle dangerous driving map data

系统模型使用全域集理论定义如下:

用户车辆信息非对称加密后生成的Hash 值使用非对称加密算法对数据进行加密解密,对数据明文A采用公钥(n,e)进行加密,n和e是公钥,加密后密文为Y,加密公式如下:

对密文Y采用私钥(n,d)进行解密,n和d是私钥,解密后明文为A,解密公式如下:

危险评估使用决定系数对模型进行拟合判断,其中安全参数λ和时间t为决定系数,通过改变λ和t对危险值评估范围进行调整,估算预测公式如下:

其中:yi表示车辆运行过程中获取到的真实行为数据;表示某一时间段t中采集到的地图信息数据的平均值;fi表示估算的数据;Sres表示估算数据与平均值的误差;Stot表示真实数据与平均值的误差。

2.1 数据采集信息匿名上链

信息匿名加密过程如图2 所示。首先进行初始化,输入安全参数λ,车辆本地和服务端分别生成一对加密和解密的公钥和私钥。在消息传递时获取服务端公钥,随后使用椭圆曲线数字签名加密算法(Elliptic Curve Digital Signature Algorithm,ECDSA)对信息进行非对称加密,信息传输后分别使用私钥进行解密,保证信息传输安全。车辆本地生成密钥对K1和P1,服务端生成密钥对K2和P2,本地通过非对称加密算法使用服务端公钥K2进行加密,传输后服务端使用私钥P2进行解密。同理,服务端返回的数据使用K1进行加密,本地使用私钥P1进行解密。

图2 信息匿名加密过程Fig.2 Information anonymity encryption process

地图数据匿名加密过程的伪代码如算法1 所示。系统执行信息上链行为时,先对比λ值,若λ在安全范围内,则进行数据上链行为。其中λ为安全参数,每次通过危险评估改变其数值,若网络受到攻击,则安全参数会适当下降,危险参数会上升。在消息传递时获取服务端公钥K1,然后用公钥K1和制定的访问策略T进行加密得到密文CCTK,最终将公钥和加密后的密文暴露在区块链网络上,然后进行数据传输。具体实施过程为:用户使用时需要注册账号作为交易的唯一性地址,在一个完整的行车过程中此地址作为车辆连接网络的唯一凭证。用户数据隐私信息以及某一时刻地图信息使用ECDSA 封装加密,服务端通过私钥进行解密读取数据信息。如果网络被攻击,则攻击者只能获取到公钥,因此没有私钥逆运算进行解密,可有效防止密钥泄露造成的数据信息损失。在每次加密后,数据信息与此刻时间戳建立数据ID,以便同一网络能够区分不同时间片的地图数据信息。在循环添加区块链网络数据时,只需匹配用户ID 降低认证时间成本。

算法1地图数据匿名加密

2.2 危险评估过程

该模型进行以下2 种状态的危险评估:1)环境危险态,车辆将要处于危险驾驶状态,获取到的地图信息暴露出车辆即将遭遇危险;2)网络攻击态,区块链共识过程中的其他节点收到的信息存在被修改的危险,该危险由网络攻击者攻击区块链引起。区块链具有去中心化特点,不具备集中式数据库修改方式,如果要修改区块链信息则需要进行全网节点投票,需要大部分节点投票同意修改写入区块才能执行。自动化执行的智能合约脚本定期进行链上数据信息比较,将上一次模型处理数据与本次数据进行节点比对,计算节点修改率,如果节点修改率过高则视为有危险。

图3 描述了数据进行自动化执行的智能合约过程,合约主要功能是根据输入的不同数据判断网络安全性,并分析得到当前网络数据的危险值,其中,①、②、③、④、⑤为数据传输的先后过程,直线箭头表示智能合约中固定执行的逻辑,虚线箭头表示根据评估结果需要动态调整修改率以便更新安全参数。

图3 危险评估过程Fig.3 Danger evaluation process

智能合约执行过程的伪代码如算法2 所示,其中输入参数是区块链上链数据。智能合约脚本首先对车辆传输的数据使用私钥P2进行解密,然后对每次传输的区块链节点进行修改率计算,如果节点修改率过高则视为危险场景,随后判断是否为社区投票进行的区块链分叉行为,如果不是则判别为受到网络攻击,更新为网络攻击状态attack。如果上链加密过程视为安全,则对数据进行危险预测,根据建立的预测模型,不同的输入数据权重不同,然后通过式(6)计算出本次地图信息的危险值,最后根据数据状态和评估值映射转换到本地车辆控制。

算法2智能合约执行

2.3 危险评估映射过程

危险评估映射过程的伪代码如算法3 所示。根据智能合约获取到危险值R和网络攻击状态,将区块链网络中获取的车辆地图信息,根据危险值和网络攻击状态以及表2 映射将数据转换为车辆可执行的指令,对数据进行ECDSA 加密传输,本地车辆提供私钥P1解密数据,根据参数权重计算评估数据,并更新安全参数λ,同时根据返回的车辆行为数据进行车辆控制。

表2 危险行为映射Table 2 Dangerous behavior mapping

算法3危险评估映射

在表2 中,不同危险值对应不同的安全状态,不同的安全状态会反馈给车辆不同的安全行为,其中,s表示每秒钟车辆前进的距离,v表示车辆的瞬时速度,-max 表示车辆处于危险态,不受s和v参数影响而采取的紧急制动行为以确保车辆安全。

3 实验过程与结果分析

3.1 节点通信方式

为防止区块链网络被恶意攻击者随意注册节点,利用联盟链Fabric 充当网络环境,在加入节点前需要得到指定节点授权。使用的共识机制为拜占庭容错,在实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)模型下,选择一个拥有记账权的主节点,其他节点作为备份节点。系统内的所有节点都相互通信,最终以少数服从多数的原则达成共识。如果记账节点作恶,其他节点则会联合起来替换记账节点。随后该区块节点通过gPRC 消息传递机制将交易记录转发给区块链网络中的其他节点,2/3 的节点验证通过后将交易存入到区块链中。

3.2 数据上链与吞吐量性能比较

首先车辆用户通过Fabric 申请加入节点权限,通过后保存节点ID 及相关个人与车辆信息进行车辆注册。然后模型通过车载摄像头采集道路图片,利用深度学习算法对道路图片分类,同时通过激光雷达确定道路环境信息以及障碍物信息,结合惯导系统对车辆进行精确定位获取定位数据。将评估模型需要的参数数据进行加密上链,上链传输过程中特定车辆充当投票节点。对比具有2、4、8 个投票节点的3 组节点,令每组节点分别执行1 000 次评估事务,计算本文模型的区块链网络吞吐量如图4 所示,其中,网络吞吐量定义为从评估事务第一次部署开始每秒成功部署的评估事务数量,平均吞吐量为执行时间内的平均吞吐量。

图4 网络吞吐量比较Fig.4 Comparison of network throughput

从图4 可以看出:对于评估1 000 个事务不同组节点的处理时间不同,即模型的吞吐量不同,随着加入的投票节点增多,区块链网络需要转发更新信息的节点增多,导致网络评估模型的吞吐量降低。对于评估单组1 000 个事务,随着评估事务数量的增长,吞吐量增长的速度也会下降,由此可以看出随着区块链评估事务数量不断增多,区块链网络的平均吞吐量将变为某个常量。

3.3 危险场景预测与结果分析

使用MATLAB 工具Simulink 创建虚拟车辆,并采用轿车、卡车和公交车做对比实验。选定固定地图场景进行正常态车辆运行,记录时间及模型评估结果,并对以下2 种危险场景进行模拟预测:1)网络攻击场景,在车辆运行过程中区块链网络接入算力更高的设备对评估车辆进行算力攻击,算力高且成链速度快就能覆盖测试车辆区块链从而修改数据,通过此网络攻击来测试模型评估效果;2)障碍物场景,在车辆正常运行环境地图中增添障碍物,使得车辆感知危险环境数据以此来测试模型评估效果。

图5 是模拟仿真了3 种车辆在不同场景下的危险值结果,3 种车辆的变化趋势大致相同,在受到攻击后,车辆刹车躲避危险(即危险值为0)的速度为轿车比卡车快、卡车比公交车快,缘由为车辆质量越大导惯性较大,车辆减速或者刹车所需时间较长。从图5 可以看出:网络攻击场景车辆危险值迅速提高,车辆状态转换为网络攻击态,车辆刹车停止运行;障碍物场景车辆危险值提高,车辆状态转换为环境危险态,车辆减速避开障碍物后恢复到正常态。实验结果表明,基于本文模型,同一路段不同车辆在不同危险场景下能够进行危险预测,准确评估网络攻击与环境危险并进行危险规避。

图5 同一路段在不同危险场景下危险值随时间的变化情况Fig.5 Variation of danger values with time under different danger scenarios in the same road section

4 结束语

本文通过对车联网数据交互过程中受到的恶意攻击及危险驾驶场景进行预测分析,构建基于区块链技术的危险驾驶地图评估模型。根据个人信息以及车辆驾驶途中产生的数据进行上链评估,使用智能合约技术保证数据传输安全性。针对传输数据进行危险评估,使得车辆在道路危险、网络攻击等场景下能进行应急处理,保障车辆安全运行。应用全域集理论对危险评估模型进行设计,将智能合约建立成独立模块,使得模块与模块之间只有数据输入和输出,并且通过修改独立模块即可建立新功能,增强了模型的普适性与健壮性。实验通过设定不同危险场景验证了该模型的可用性。下一步将对多车辆某段路程地图数据进行危险评估,同时使用机器学习算法对危险评估模型进行优化,使车辆能够自适应地图道路环境,从而对不同危险场景进行评估预测。

猜你喜欢

加密区块危险
一种新型离散忆阻混沌系统及其图像加密应用
区块链:一个改变未来的幽灵
区块链:主要角色和衍生应用
《红楼梦》的数字化述评——兼及区块链的启示
一种基于熵的混沌加密小波变换水印算法
一场区块链引发的全民狂欢
喝水也会有危险
加密与解密
拥挤的危险(三)
话“危险”