专注于车载信息安全和预期功能安全技术研究
电话:+86 21 62655001
您的位置: 网站首页 > 技术成果
2020-05-11 16:38:19

基于区块链信任管理的车联网去中心化认证协议

来源:技术成果 浏览次数:461 点赞数:3

该文提出了一个在车联网下基于区块链信任管理的协作式的、去中心化的认证协议。 通过为一些边缘交通基础设施(路边单元RSU或者基站)构建一个认证代理组从而实现了一个协作式的去中心化的认证系统,以计算信任值的方式进行信任评估,多方协商聚合出最终的认证结果从而避免了单一中心结点的认证仲裁。

1.引言

区块链最初作为比特币底层的支撑技术,在防篡改和去中心化方面起着巨大作用。现在的区块链的应用已经不仅仅局限于比特币。区块链技术本身可用于多种场景下的信任问题。区块链的本质是一个去中心化的可防篡改的分布式账本。通过构建点对点网络,区块链可解决中心化的信任集中问题。

作为一个分布式系统,区块链在无线传感器网络下的点到点系统中,利用其去中心化和防篡改特性,在解决中心化信任方面发挥着巨大的潜力。多种交互模式并存的车联网实体依靠移动边缘计算,通过数据共享与交互协作可以一定程度上提高交通网络的效率、减少交通事故的发生,进而辅助构建智能交通系统。然而在车联网边缘计算中,交通实体在实时地进行数据交互任务之前总要有身份认证作为其安全保证。对非法车辆共享交通信息可能会造成数据隐私泄漏甚至交通网络瘫痪的风险。V2X模式下的车联网边缘计算在进行数据交互之前需要事先进行身份认证保证数据传输与共享的安全性。多个边缘计算节点构建的点到点(P2P)网络为车联网提供了一个区块链信任管理平台。

图一. 车联网下的V2X交互

一辆在道路上行驶的汽车在向路边设施请求路况信息之前,两者为保证彼此身份的真实性,需要进行身份认证。传统的身份认证协议主要是一对一式的中心化认证模式,比如到达某一个路段的汽车需要和路段内的某一个路边单元(RSU)或者基站进行相互认证,某一个RSU或者基站作为一个固定的边缘计算单元,其位置一般是固定且唯一的,其中心化的地理位置使得某一个RSU独裁式地决定来往的车辆是否合法。传统认证主要有两个问题:

1.中心认证服务器负载过重

当其多辆车进行与同一个路边基础设施进行认证,由于边缘计算节点资源的有限性,从而造成中心服务器负载过大。

2.单个的中心服务器更容易被恶意攻击。

图二. 传统的中心化认证模式

2.系统模型

车联网下的无线传感器网络使用P2P通信结合区块链可构建一个协作式的去中心化的安全认证协议。位于某一个路段内的路边单元(RSU)首先通过秘密分享技术在PKI(public key infrastructure)体系下将原始秘密进行拆分成n个子秘密并分发给周围多辆车,接收到子秘密的车辆可以充当为RSU的代理车,多辆代理车通过(t,n)门限机制可重组出原始秘密值然后结合驶进当前路段的车辆的信息以及其他的认证信息作为参与构建协作代理认证组的凭证。一辆驶进某一路段的货车对应一个认证组,一个代理车可参与多个代理组认证。

图三. 系统模型图

2.1 边缘计算模式下的身份认证

多辆车可对同一辆到达的货辆进行直接边缘认证,即采用V2V边缘计算模式直接交互认证产生各自的认证结果,无需进行上传认证信息到云端,从而减少系统延迟。如果某辆代理车认为当前的车辆是合法的,它就产生结果+1,如果认为其不合法就产生结果-1,如果没有参与认证或者认证过程失败就产生结果0。每一辆代理车向同一组的组员进行广播自己使用非对称加密的认证结果以及请求其他组员的认证结果,以此构建出针对于某一辆货车的认证表rlist。

图四. 认证表

2.2聚合认证结果计算信任值

每一辆代理车都会针对某一辆自己参与的认证组维护一张rlist认证表,该认证表里面收录的都是该认证组里各个子成员针对同一辆认证货辆的认证结果,如果+1 的个数大于-1的个数,该代理车则会对该辆货车认证通过,产生自己的最终聚合结果+1,否则认证不通过,产生聚合结果-1。

2.2.1 计算信任偏移值

每一辆代理车将使用sigmoid函数进行计算自己的信任偏移值以及其他代理组成员的信任偏移值。其中i表示某一辆代理车的索引编号,j表示驶进当前路段的货车的索引编号。m和n分别是结果+1的数量和结果-1的数量。如果某一个组成员的认证结果是+1的话,它就被化分到+1类别中否则将被划分到-1的类别中,如果其认证结果为0则其偏移值设置为0。将m和n带入下面sigmoid函数即可计算出认证组各组员的信任偏移值。其他组员以P2P模式通信后也可以进行构建自己的rlist以及进行相同的信任计算过程。该互发认证结果以及计算信任值的过程我们可以认为认证组员共同进行公开记账,任何一个组员修改其他的其他组员的认证结果类别,都将会造成自己和其他组员信息的不一致,从而以影响其信任的评估。

 

2.2.2 聚合归一化信任偏移值

每辆代理车在计算出各个组成员的信任偏移值之后,进行对所有组员的信任值聚合然后取均值最终进行归一化可以使得偏移值控制在某一范围,消除奇异信任值对聚合结果的不良影响。

2.2.3 聚合信任值

一辆代理车可能会参与多个认证组,针对它参与的每一个信任组计算出的信任偏移值,将其所有归一化后的信任偏移值聚合成自己最终的信任值Fi。拥有较大信任值Fi的代理车将可能被竞选为矿工,由于代理车之间的信息发送采用P2P广播,结合公钥匙密码技术,每辆代理车的信任值Fi都可以被其他代理车进行计算验证,由此完成挖矿共识。系统可采用工作量证明POW(proof of work)以及权益证明POT(proof of trust)相结合的方式进行竞选矿工,平衡了朴素单纯的POW的挖矿共识机制以及出现因多辆代理车因信任值相同而导致的区块分叉概率增加的情况。

2.2.4 建立共识机制,竞选矿工,产生新块

挖矿的过程主要就是多个结点竞争地寻找一个合适的随机值nonce去计算某一哈希值使其满足小于一个给定的门限阈值,该门限阈值的难度值可以依据代理群组车辆的信任值的整体变化情况而动态调整,使得难度值和数值较大的Fi    成反比。代理车组成员挖矿的过程就是比谁最先找到这个满足条件的随机值nonce,该过程就是不停地随机试探直到搜索到一个有效的数。最先找到合适的随机值nonce进行哈希计算后小与某一门限目标阈值的代理车就有可能竞选为矿工,门限阈值可以结合Fi来进行制定,由此控制其难度系数和Fi相关。竞选成功的矿工首先进行广播可以将本段时间内更新信任值的代理车的信任度信息以及认证交易记录写入新块最终链接在区块链上,区块链的结构设计如下。区块中包含认证交易数据记录(Ad)、当前区块根哈希(Hash)、前一区块根哈希、时间戳、nonce值以及其他信息。

 

图五.区块结构

认证交易数据记录在存储过程中,采用默克尔树形式,而区块根哈希实际就是数据记录树的根节点哈希,为根据数据记录树自下而上逐步通过SHA-256等哈希算法计算得出。

 

2.2.5 RSU将通过区块链的记录间接完成对来往车辆的认证。

由此,某一个路段内的RSU所委托构建的代理车认证组可进行维护一条认证区块链,RSU通过查询信任度高的代理车,参考其认证结果,可知道驶进当前路段的货车的合法情况,从而间接地完成对货车的认证。TA (可信权威)可分配RSU的一些伪身份标识以及RSU所属的路况地理位置信息给其代理车,从而方便货车完成对RSU的路段认证。

3. 区块链解决的问题

去中心化:多个代理车边缘计算结点共同维护一条区块链,认证记录分布式存储,不依赖中心处理结点(RSU或者基站)从而实现了数据的分布式记录、存储和更新。

透明:区块链系统的数据记录对全网节点是透明的,所有节点都可以审查,追溯历史认证记录。

不可篡改:区块链使用数字签名加哈希操作以分布式统一存储使得区块链中的信息一旦经过认证写入,就会永久存储,无法存改。