vfc


本篇博文分享来自期刊《IEEE INTERNET OF THINGS JOURNAL》中的一篇论文《BLA: Blockchain-Assisted Lightweight Anonymous Authentication for Distributed Vehicular Fog Services》
针对分布式车辆雾服务的区块链辅助的轻量级匿名认证


一.背景

1. 概念

车载自治网络(VANET)是移动自治网络(MABET)的一部分,包括移动车辆和路边单元(RSUs)。每辆车都配置了一个车载单元(OBU)和一组传感器。

2.问题及可采取方式

由于车辆的移动性,所以对于车辆雾服务(VFSs)来说需要跨分布式的数据中心,这样跨数据中心的认证也是在这个过程中不可避免的问题。

VAENTs依赖于云计算服务来进行通信,计算以及存储。而联网的车辆逐渐增多且不断增长的移动性要求服务的低延时和不可中断。这给当前云计算带来很大挑战。因此,车辆雾计算(VFC)被提出来提高通信效率和计算能力以适应最新的车辆应用。

3. 现状

VFC被认为是对延迟敏感的应用来说是非常有益的技术之一,是对于高速移动车辆的一种理想的技术。

VFS基本安全和性能要求:

  • 1)车辆身份认证与隐私

每辆车访问VFS必需经过认证,是后面授权决策的基础。同时必须保证在认证过程车辆的身份不会被暴露,确保车辆用户的隐私。

  • 2)实时限制

另一方面,为了适应车辆的快速移动,要求认证是轻量级的。

现有的认证机制及缺点:

  • 应用技术: 对称加密、PKI、基于身份的签名(IBS)、无证书签名、群签名;
  • 缺点: 依赖于管理中心来提前创建与车辆间的信任关系,当车辆移动到新数据中心的时候,信任关系将会失效。

解决存在缺点的方式: 提出跨数据中心、跨地区、跨域的认证机制,存在以下问题:

  • 要求在OBUsRSUs和信任机构之间多次交互,造成高通信延时
  • 数据库由单个管理员管理,无法抵抗篡改攻击

二. 解决方案(论文贡献)

  1. 实现灵活的跨数据中心认证。这里的灵活指的是车辆在移动到一个新的数据中心时,自身可以决定是否重新认证或者只是直接发送一个VFS请求。

  2. 为了保护车辆隐私实现匿名。车辆可以自主决定更换自己伪名的时间和频率。

  3. 提出的认证机制BLA是轻量级的。将密码和区块链技术结合起来,以消除车辆和服务管理器(SMS)之间的交互性。在访问VFS之前,驾驶着的车辆只需要发送一个消息,该消息可以是认证消息或VFS请求消息。这可以显著缩短认证的时间。此外,应用区块链技术还消除了在用户认证过程中SMs之间的通信。因为所有SMs的记录被同步地更新。

  4. 由于公共账本是由所有的SMs所维护,所以BLA可以有效抵抗数据库篡改攻击。

三. 方案实现

3.1 系统模型

系统模型

全称 缩写 意义
Audit Department AD 审计机构
service manager SM 服务管理
on-board unit OBU 车子啊单元
roadside unit RSU 路边单元
vehicular fog computing VFC 车辆雾计算
vehicular fog services VFS 车辆雾服务
vehicular fog datacenter VFD 车辆雾数据中心
Witness Peer WP 见证节点
  • AD (Audit Department):
    作为一个完全可信的机构,负责OBUs(车载单元)和SMs(服务管理)的注册,并追溯违法车辆
  • SM:一个区域的服务管理者需要在搭建系统之前就在AD处进行注册,SM主要负责管理所有的VFDs并对其管理区域的OBUs进行认证。每个SM维护一个包含所有车辆访问记录的公共账本。公共账本智能由AD、SMs和WPs所访问。
  • WP(Witness Peer): WP负责通过共识算法把认证结果写入公共账本的节点,所有的WPs和SMs共同组成了联盟区块链
  • RSU: 是VFD的管理者并为合法的OBUs提供VFS服务。只属于由一个SM所管理的地区。
  • OBU: OBU是VFS的用户,配置有计算和通信功能,包括内嵌的计算机、无线网络接口、GPS接收器、导航系统、数字地图等等。在访问VFS之前需要先在AD处注册。
  • 联盟区块链网络(CBN):由所有地区的SMs和WPs组成。

3.2 目标

  1. 保密性: 确保传输的数据无法被敌手解密
  2. 完整性: 确保传输的数据无法被敌手篡改
  3. 匿名性: 允许所有车辆使用自己定义的伪名并且在访问VFS的过程中,车辆可以通过重新认证自己来改变自己的伪名。使得敌手无法追踪或者计算车辆。
  4. 非交互性: 车辆只需要在访问VFS之前发出一个认证或者访问VFS的信息即可,无需其它信息。
  5. 可追踪性: 保证AD可以追踪非法车辆并拒绝它们对VFS的访问。
  6. 无法抵赖性: 当一辆违法车辆被报告是,则该车辆无法抵赖其错误行为。
  7. 轻量性:确保计算与通信开销较低。

3.3 具体实现步骤

3.3.1 初始化

设置系统参数,包括决定系统安全的大素数、哈希算法、AD的公私钥对。最后保留AD私钥。

3.3.2 注册

注册阶段包括SM和OBU的注册

  • SM注册
  1. 随机选择一个整数sk1作为私钥的第一部分,根据这部分私钥计算出公钥pk1。然后把pk1和自己身份id用AD公钥加密发送给AD
    步骤1
  2. AD将从SM收到的加密信息用自身私钥解密,在身份检查过后,随机选择一个整数d,并根据这个整数计算出一对公私钥对pk2和sk2,然后通过安全通道发送给SM
    步骤2
  3. SM收到AD发来的pk2和sk2,将sk2提取出来与sk1组成完整的私钥,将pk2提取出与pk1组成完整的公钥,同时SM能够通过计算获取sk2是否可靠。
    步骤3
  • OBU注册:与SM注册过程类似,在此不再赘述
    注册阶段
3.3.3 认证

阶段2&3

这个阶段只要通过SMs来认证OBUs。在认证之后,SMs将认证结果广播出去,认证结果会在共识阶段由WP利用共识机制写入公共账本(区块链)中,当一个行驶着的OBU首次访问VFS时,需要执行以下步骤:

  1. 计算s:
    步骤2.1
  2. 计算hi R C
    步骤2.1.2
  3. 计算xi 和 k个系数
    步骤2.1.3
  4. 计算Yi和Vi
    步骤2.1.4
  5. OBUa将密文发送给离它最近的RSU,假设为RSUm
    步骤2.1.5
  6. RSUm接收到密文然后转发个区域管理者,假设为SMn

在接收到密文之后SMn进行以下操作:

  1. 根据自己身份计算以下数值:
    步骤2.2.1
  2. 计算R’并恢复原始数据和签名
    步骤2.2.2
  3. 从恢复出来的数据中获取OBUa的身份,如果对应公钥没在撤销列表,则进行以下计算:
    步骤1
  4. 验证以下等式是否成立:
    步骤1
3.3.4 共识
  1. 通过x=(heightmodk)+1来决定消息发送者(speaker),其中height代表当前区块高度。由于选择是消息发送者不会影响共识结果,所以允许同一个消息发送者主持几轮共识过程来节约选择消息发送者的时间。
  2. 任何SM可以广播经过签名的认证结果给所有的WPs。
  3. 所有的WPs着上一步发送出来的认证结果数据并存在各自的内存中。
  4. 经过结块周期t时间之后,已经广播的认证结果组成一个新的区块,由消息发送者发送给其它WPs,要求WPs进行投票并签名。
  5. 接收到消息发送者发出的提案请求之后,WPs进行签名并回复。
  6. 任何WP在接收到至少(k−f)节点的签名区块时,都会达到共识并发布完整的块。如果签名的区块的数目达不到(k−f),则将执行下一轮共识。这里,f=(k−1)/3表示系统中允许的最大错误WP数,例如,WP有网络故障。
  7. 任何WP在接收到完整的区块之后,从自身内存中删除包含在该区块中的认证结果并开始下一轮的共识。
3.3.5 服务交付

在这一个阶段,当一个OBU移动到一个新的RSU的VFD时,可以选择不进行重新认证,过程如下:

  1. 当OBU驶入另一个RSU的服务范围时,会提交它的访问请求给RSU,请求包括伪名和时间戳的签名,伪名,时间戳。
  2. 同样,RSU会将访问请求转发给它的区域管理者SM
  3. SM首先查找自身的本地数据库看是否存在OBU的公钥,如果不存在,则到公共账本中去寻找对应信息。如果OBU的公钥没有在撤销列表当中的话,SM会验证OBU请求中的签名信息,如果认证通过且时间戳有效,SM会直接通知RSU响应OBU的服务请求。否则,SM会拒绝提供服务。

在这整个过程中如果非法车辆被AD所记录,AD会到公共账本中寻找该车辆的身份并通知所有SMs该非法车辆的公钥是无效的并将其添加到撤销列表中。
阶段4

四. 模拟实验结果

4.1 实验环境

实验环境

4.2 时间开销

  • 认证阶段
    认证阶段time
  • 共识阶段
    共识阶段

    4.3 在4,7,10个SM的基础下,认证一个请求所需平均时间:RSU逐渐增加和车辆到达时间间隔逐渐增加

    exp3
    exp4
    exp5
    exp6

最后更新: 2019年10月28日 14:54

原始链接: https://silence-linhl.github.io/blog/2019/10/26/paperBLA/

× 请我吃糖~
打赏二维码