基于区块链预言机的车联网可信身份方案研究
2023-02-17张晴晴
张晴晴 田 潇 田 锦
1(安徽理工大学计算机科学与工程学院 安徽淮南 232001)2(金陵科技学院网络与通信工程学院 南京 211169)3(南京大学软件学院 南京 210008)
车联网作为智慧交通的重要组成部分,近年来得到迅速发展并逐渐成为“新基建”的焦点.随着车联网技术的快速发展,道路车辆、路侧设备、云控平台、人等交通参与者构成了多主体,高频次,广连接的复杂通信网络.
而车联网参与者彼此之间一般是陌生的关系,参与者之间信息的传递存在可信度质疑,并且未经身份可信认证,非法用户可能会发起攻击,传递恶意信息或者篡改信息不仅影响智能网联汽车的协同决策,也会降低人们的驾驶体验,甚至会造成严重的交通事故.
1 相关研究
加入车联网系统中的安全可信的身份是开放交通中车联网的一切其他应用安全的基础,工信部对车联网身份认证和安全信任也开展了试点工作[1].
许多学者从设计安全可靠的身份认证方案的角度出发解决身份安全问题:Vijayakumar等人[2]提出了一种基于身份签名的身份认证方案,方案中加入系统车辆的私钥都由可信第三方机构私钥生成器PKG生成,并且每辆车的私钥及方案存在的密钥托管问题也会被PKG所掌握;王群等人[3]根据传感器等技术,提出一种基于射频识别的车辆身份信息识别方法,车辆经过阅读器覆盖的范围时,读写器会将识别出的身份信息发送到中心数据库进行识别和检验;Vasudev等人[4]为车联网设计了一种双因子轻量级认证协议,确保注册用户的身份验证,并且用户可以通过建立密钥与云服务器安全通信.但是这些学者采用的是中心化认证的方式,中心点安全风险较高,若该中心被攻破,很有可能造成隐私泄露的风险.
随着区块链技术的日渐成熟,其去中心化、防篡改性、共识性等优势为传统车联网的发展带来转变.Bagga等人[5]基于区块链、云服务器技术、人工智能的结合,设计出满足车辆去中心化认证和批量认证的协议.在该方案的签名阶段,利用区块链的真实数据,通过AI/ML算法进行大数据分析,实验表明对各种攻击具有高度的鲁棒性.Lu等人[6]提出一种基于区块链的匿名信誉系统,为了消除真实身份和公钥之间的连接,更好地保护车辆的隐私,系统利用2个区块链可以高效且可信地进行身份验证和通信,并且为了防止不实信息的散播和激励车辆举报不良行为,设计了一种信任模型.Liu等人[7]针对VANETs的开放性特点,提出了一种基于区块链的信任管理模型,并与条件隐私保护公告方案(BTCP)相结合,可信机构可以通过相关公共地址在匿名公告中跟踪恶意车辆的身份.多数学者都比较注重身份认证技术的研究创新,而在身份注册阶段只是在注册机构获得一个唯一身份标识符即完成注册,没有在此阶段结合注册用户信息判断该用户是否可以信任,以及是否值得同意注册,降低了加入车联网中的身份源头的可信.
针对此问题,本文根据文献[8-12]用机器学习算法建立信用模型对用户信用、风险等预测的经验,对注册到车联网的用户身份建立可信预测模型,设计了一种基于区块链预言机的车联网身份可信注册方案.该方案借助区块链预言机可信获取第三方数据进行训练模型和预测,对预测为可信度较高的注册用户同意其注册请求并执行身份上链操作,增强加入车联网中的用户在注册阶段的可信,提高车联网中身份的可溯源和可靠性.
2 区块链预言机机制
为保证执行结果一致,区块链在运行合约时只能以一种确定性的方式基于已有数据产生新的数据,而链上的智能合约或者去中心化应用又需要与外界数据进行交互,并且随着区块链的发展,对链外数据的需求愈加强烈.
预言机便是在区块链和链外数据中间架起的桥梁,是智能合约与外部世界交互的接口.区块链预言机(oracle)通过提供针对区块链的无须信任的机制与基础设施,解决了区块链作为一个确定的、封闭的可信环境,无法有序可信使用链外数据的挑战.它的触角可以延伸到传统业务数据、政治事件、静态/动态数据、事故、其他区块链中的事件等[13-16].
目前预言机可分为中心化预言机、分布式预言机和联盟预言机3种类型[17],而分布式预言机是由多个节点共同获取数据,没有单点失效的风险,所以本文采用的是分布式预言机,并通过分布式共识机制创建数据提供者网络保证数据可信性,如图1所示:
图1 分布式预言机网络
如何保证获取的外部数据源真实可信是预言机使用过程中最核心的问题.数据源的可靠性会影响获取数据的可信性和时延,预言机需要谨慎选择外部数据源,必须保证可以验证选取的每个数据源是可信的.文献[18]是基于门限签名机制实现多个分布式预言机对某个数据源的可信性综合评估,而对数据源评分的可信提交是通过可验证随机函数实现的.文献[19]引入一种信誉机制对预言机形成监管,维护预言机局部和全局的信誉,提高预言机整个集群的可信度.而本文方案是从数据源认证的角度出发,由分布式预言机节点对第三方数据源可信度进行共识投票,可以用式(1)表示:
TR={O1,O2,…,On},
(1)
其中:TR表示某个数据源的可信度等级值;R表示每个数据源索引;O表示参与投票的预言机节点;n表示每个预言机节点的索引.
投票分数等级如表1所示,根据分数等级的不同可以分为十分可信、一般可信、不可信3种类型模式.
表1 可信等级范围对照表
用式(2)可以求得预言机节点对数据源评价的平均可信度:
(2)
其中:Ti表示第i个预言机对第R个数据源可信度的评价值.根据所求得的结果初步判断此数据源是否值得被引用.
3 车联网用户可信身份注册需求
3.1 注册原则
车联网中的用户之间不是互相信任的关系,所以用户在没有任何安全保护措施的前提下,不会相信其他用户发出信息的真实性,这样不利于车联网中的数据共享,阻碍车联网的发展.为了保证车联网中的用户是可信任的,需要对注册用户进行严格审查,避免恶意用户的加入和破坏车联网用户之间的安全通信.当用户以可信的身份注册到系统中时才被允许进行通信、数据共享等下一步操作,从而有利于车联网系统中建立安全可信的通信环境,提高信息安全可信共享.因此本文方案设计了在用户注册阶段的可信审查机制对注册用户可信性进行预测,并且为保障注册用户的隐私不被泄露,方案中对注册用户获取数据源、预测可信性等操作,皆基于注册用户的假身份(FID),FID则是根据椭圆曲线加密其真实身份ID而来[20].
3.2 注册类别
车联网中的参与者主体有人、车辆、路侧单元、交通管理机构等,而在本文方案中研究的主要注册类别包括驾驶员(driver)、车(OBU)和路侧单元(RSU).方案中对1个注册用户预测其身份是否可信是基于一些影响因子的综合影响度,例如预测1个驾驶员否可信,方案中会用驾驶习惯、驾驶行为、信用信誉等影响因子进行综合预测.而不同注册类别的影响因子也有所不同,本文采用针对不同类别的具体影响因子如表2所示:
3.3 注册架构模型
本文方案架构由注册类别、身份注册智能合约、预言机智能合约、预言机节点、第三方数据源、可信身份链和注册用户可信预测7个组件组成,如图2所示.其中身份注册智能合约和预言机智能合约负责请求和反馈相应的数据,预言机节点负责获取第三方数据源中的数据,而第三方数据源包括车管所、其他车辆、交通部门、路侧单元等.注册用户身份可信预测部分则是预测注册用户是否可信,可信的用户会被同意在可信身份链中进行上链操作.
图2 可信注册方案总体架构
4 可信身份链构建
本文方案中的可信身份注册4个主体部分分别是智能合约、预言机节点、注册用户身份可信预测和可信身份链.而由图2可知方案的可信注册大致流程是:
① 用户发起注册请求,注册请求会调用身份注册智能合约进行相关注册认证;
② 身份注册智能合约向预言机智能合约发起判断注册用户是否可信的请求;
③ 预言机智能合约接收到请求时会调动分布式预言机节点获取各个数据源;
④ 各个预言机节点对数据源进行共识投票,保证数据源的可靠性,增加数据的可信性;
⑤ 预言机节点从数据源获取完数据后会在注册用户身份可信预测中对数据进行相应的处理,从而预测注册用户是否可信;
⑥ 预言机智能合约会将预测是否可信的结果返回给身份注册智能合约;
⑦ 预测结果为可信的用户会对其进行可信身份上链操作,而预测结果为不可信用户则不会被允许上链,最后向注册用户返回注册结果.
4.1 智能合约
智能合约是区块链技术的核心技术之一,它把生活中的约定数字化,一旦某个事件触发合约中的条款,将会自动执行.智能合约具有透明公正、不可篡改和灵活等优势,其执行不需要中介人,用户之间可以自主建立合约,减少恶意事件的发生,增加了过程实施的可信性.
当注册用户发起注册请求时,将触发身份注册智能合约,此合约会向预言机智能合约发起判断注册用户是否可信的请求,接着预言机智能合约向预言机节点发送数据请求,从而调动预言机节点获取数据.身份注册智能合约根据返回的注册用户可信与否,决策该用户是否可以注册和身份上链操作.
4.2 预言机节点
交通管理机构、社交媒体、其他车辆和路侧单元等外部第三方数据库中存储着大量评价用户可信与否的影响因子数据.对注册用户可信预测模型训练仅依赖链上的数据是不够的,需借助预言机向外部第三方数据源获取大量相关影响因子数据,以大量可信数据建模和预测注册用户是否可信,可增加身份信息的真实性和可靠性.
本文采取的是分布式预言机,分布式预言机是由多个预言机节点共同提供服务.因此当各个分布式预言机节点收到预言机智能合约的数据请求后,会积极调取外部数据源并获取其中的相关数据信息,其流程如图3所示.并且预言机节点会同时对数据源可信度进行共识投票,获得数据源可信等级评价值后并记录,以便后面再获取数据源数据时可以对数据源择优选择.
图3 预言机获取外部数据流程
4.3 注册用户身份可信预测
预言机节点对数据源可信处理后,注册用户身份可信预测模块将从数据源中获取的数据进行相应的处理.在注册身份可信预测模块中把注册用户是否可信看作二分类问题,用数字0表示不可信,数字1则表示可信,该模块中包括最优预测模型和身份可信检测2个组件.
1) 最优预测模型.
该组件的作用是获取预测注册类别身份可信的准确度为多少的最优预测模型.本文对该组件的设计是:首先将预言机获取的大量注册类别信息数据集进行数据清洗,丢弃一些不可用数据,接着通过用随机森林算法、梯度提升算法和逻辑回归算法分别对清洗过的数据进行数据补全、特征挖掘和筛选、特征数字化处理等相应的操作,从而训练出预测类别的模型,将3种算法训练的预测准确度进行对比,从而选择出每个注册类别的最优预测模型.
2) 身份可信检测.
该组件的作用是判断该注册用户是否可信,若可信返回数字1,否则返回数字0.具体的内容是通过预言机调取注册用户相应的判别可信影响因子数据后,利用该注册用户所属注册类别中最优预测模型进行预测是否可信.
4.4 可信身份链
身份注册智能合约接收到注册用户可信与否的反馈后,默认返回1的可注册上链,否则不允许注册上链.如果此注册用户经上述约定验证为合法的,可信认证中心TA则为用户生成公钥PK和私钥SK,然后生成包括注册用户身份信息和注册用户公钥的区块链证书(BC),并对BC进行哈希运算获得哈希值.TA将用户私钥SK和哈希加密后发送给用户,而可信身份链中存储的则是注册用户的区块链证书和对应的哈希值,其中区块链节点会将当前不包括在块中的BC作为交易从而生成1个新块,成功完成注册上链,并将其广播到其他记账节点中.最后注册用户会收到TA反馈的成功完成注册的消息.
5 仿真与实验结果分析
本节的目的首先是仿真利用预言机获取数据集,接着训练出最优预测模型,然后基于该模型对某个注册用户预测其是否可信.
5.1 仿真环境的构建
3台服务器部署分布式预言机,3台服务器中的数据库作为仿真数据源,Ubuntu 20.04,fabric 2.0部署身份注册智能合约和预言机智能合约,PyChram 2022.1 作为开发工具.
5.2 可信预测模型参数配置与训练仿真
本文仿真的注册类别是车OBU,调用预言机获取用于训练和验证预测是否可信的因素数据集,获得该注册类别的部分数据集如表3所示.对所获得的数据集首先进行数据清洗,然后用随机森林算法、逻辑回归算法和梯度提升算法分别对清洗过的数据集进行训练得出不同准确率的预测模型,3种分类算法准确率对比如图4所示.
表3 OBU最优预测模型训练部分数据集示例
图4 3种分类算法预测准确率对比
从3种分类算法预测准确率对比可知,梯度提升算法(GrandientBoosting)预测注册类别OBU的准确率相对于其他算法要高.
5.3 身份可信预测仿真和结果分析
由5.2节的可信预测模型的训练仿真对比结果可知,GrandientBoosting训练出的risk_gradient_model是本文将选用的最优预测模型,因此使用其对某个OBU注册用户仿真预测是否可信,预测伪代码的输入和输出如算法1所示:
算法1.预测注册用户是否可信.
输入:
{
″model_name″:″risk_gradient_model″,
″analytical″:[
{
″accident rate″:″0.79150212″,
″vehicle age″:″2″,
″vehiclecondition″:″good″,
″security level″:″0.55″,
″availability_of_boradcast
messages″:″0.2″,
″recent false information
rate″:″0.82354689″
}
}
输出:
{
″code″: 200,
″data_result″:″{[1,0],″data_possibility″:[[0.06477302297411558,
0.9352269770258844]]}″
″message″: ″success″,
″success″: false
}
输出的data_result中表示预测的结果可信为1和不可信为0的预测准确率分别占比的数值概率是0.064 773 022 974 115 58和0.935 226 977 025 884 4,而success返回false则代表着不可信和不可注册.由此可见仿真结果与理论预测相接近.
6 总 结
针对提高车联网身份注册阶段的可信性问题,本文提出一种基于区块链预言机的车联网身份可信注册方案.方案中把可信注册看作二分类问题,运用训练出的可信预测模型对注册用户是否可信进行预测,其中利用分布式预言机节点可信地从第三方数据源中获取大量影响注册类别可信的因素数据集和预测注册用户可信的因素信息.本文在仿真实验中,分别运用随机森林、逻辑回归和梯度提升算法对车辆类别身份可信预测模型建模和验证.实验表明梯度提升算法对此次的类别可信预测准确率最优,并由对车辆注册用户的仿真实验结果可知,本文方案可以很好地预测注册用户是否可信.本文的下一步研究是把可信注册分为多分类问题,并考虑更多影响注册用户信誉的因素,同时优化预测模型算法,降低注册时延,提高车联网身份的可信性.