车载自组网中信息通信隐私保护的研究
发布时间:2024-03-13 09:36  

  摘要:车载自组网通过信息通信实现信息共享,频繁进行信息通信会产生两方面的安全问题:一是车辆身份隐私泄露;二是通信消息隐私泄露。针对此类问题,文章提出了一种车载自组网中信息通信隐私保护方案。该方案采用假名的方式实现车辆身份的隐私保护,采用数字签名和通信消息区块链式结构,实现通信消息的隐私保护。实验表明,实现了车载自组网信息通信过程中车辆身份隐私保护和通信消息隐私保护,并将车辆存储私钥、公钥的存储开销和追溯通信消息的时间开销均降低到常数级。


  关键词:隐私保护;信息通信;区块链;车载自组网;椭圆曲线签名


  中图分类号:TP309文献标识码:A


  1引言


  车载自组网是一种特殊的自组织网络,可以看作是移动自组网(MobileAd-hocNetworks,MANET)的子集,与移动自组网不同的是车载自组网中的通信节点是车辆。车载自组网的主要思想是车辆通过传感器等器件感知所在环境中信息,然后车辆将信息发送给网络中的其它车辆节点和基础设施等,使得信息在车载自组织网络实现信息共享。车载自组网是一个点对点网络,车辆既可以作为信息的发送方,也可以作为信息的接收方。车载自组网具有无中心、多跳路由、网络拓扑结构变化快、网络容量有限、自治性、可扩展性等特点。


  车载自组网的特性及应用决定车载自组网络中的车辆之间以及车辆与路边基础设施需要进行频繁信息通信,从而实现车载自组网的信息共享和智能服务。在车载自组网频繁进行信息通信过程中,攻击车辆可以截获通信消息,通过分析截获的消息分析出车辆的身份、行驶目的地等信息,造成车辆用户隐私泄露,严重的可能会威胁人身安全。此外,通过分析截获消息攻击车辆可以分析出用户的喜好,在车载自组网中投放恶意广告推销产品;攻击车辆也可以通过恶意修改截获消息,导致通信双方获得错误的消息。但是如果多辆攻击车辆加入到车载自网中,则可以通过诱导非攻击车辆的行驶轨迹,造成车载自组网道路拥堵、交通事故等后果。因此,车载自组织网络的部署是一把双刃剑,给人们生活带来便捷、舒适感的同时,也可能会导致车辆用户身份信息、位置信息、个人喜好信息等隐私信息,受到威胁、车载自组网服务瘫痪等危害。因此,寻找有效的方案解决车载自组网中信息通信隐私保护问题,能够保证车辆用户的个人隐私以及人身安全,使得车载自组网安全、稳定、高效地运行。


  为了解决车载自组网中信息通信隐私保护问题,国内外学者已经进行了大量的研究。文献[1]提出了一个基于身份的车载自组网用戶隐私安全系统,基于身份的加密系统有助于提高通信和存储效率,通过假名技术、阈值签名和基于阈值认证的防御方案来实现车载自组网的隐私保护。文献[2]提出了一种有效的在社交点改变假名的策略,实现车载自组网中位置隐私的保护。文献[3]提出了在车载云广告传播过程中实现安全和隐私保护方案,该方案中在保留响应车辆的识别和配置隐私的条件下,利用有效的单属性访问控制协议来识别有能力传播广告任务的车辆,同时采用隐私保护秘密共享方案确认所选车辆的参与。文献[4]提出了基于驾驶员个人社交行为的隐私保护数据转发协议,实现了车载自组织网络中驾驶员的高可靠性传输和隐私保护。


  本文针对车载自组网中的隐私保护问题,提出的解决方案包括两方面:一方面是车载自组网信息通信过程中车辆身份的隐私保护;另一方面是车载自组网信息通信过程中通信消息的隐私保护。通过实验结果及分析,可实现车载自组网信息通信的隐私保护并将车辆存储私钥、公钥的存储开销和追溯通信消息的时间开销均降低到常数级。


  2车载自组网


  2.1车载自组网系统架构


  车载自组网的系统架构可以分为三层:车辆网络层、基础设施层、云端网络层。如图1所示为车载自组网系统架构示意图。


  车辆网络层由各种车辆组成,每个车辆上都安装了车载通信单元(OnBoardUnit,OBU),车载通信单元不仅可以用于车辆之间进行通信,而且还可以用于处理车辆从各种传感器收集来的数据。车辆之间通信采用专用短程通信(DedicatedShort-RangeCommunications,DSRC),其中包括IEEE802.11等无线通信标准。虽然车辆网络层通过车辆之间通信可以提供有效的信息传输,但是处理车载自组网中的某些问题需要车辆与基础设施进行通信、车辆之间通信。这两种通信方式增加了车载自组织网络部署的灵活性,通过高速基础设施骨干网络路由数据,而不是纯粹在车辆网络层上处理数据,可以更好地实现长距离多跳车辆之间通信的严格延时要求。车辆网络层的车辆通过分层的网络协议、分布式算法等相互协调,实现车辆自动组织以及车辆网络自动运行。车辆网络层有四个特点。


  (1)无中心。网络中的节点具有相同的地位,不仅可以作为信息的接收方也可以作为信息的发送方,不需要设置中心控制节点,即点对点网络。节点可以随时加入或离开网络,且网络中某一节点出现故障时,不会影响整个网络的正常运行,具有很强的抗击毁性。


  (2)自组织性。节点不依赖于网络的布局和设施,通过分层协议、分布式算法和各自的行为等,快速、自动地组成一个独立的网络。


  (3)多跳路由进行通信。网络中的普通节点可以通过多跳转发的方式,实现节点之间的通信。


  (4)动态拓扑快速变化。网络中的节点快速移动、节点加入网络或者退出网络以及某个节点出现故障等情况,造成网络中节点拓扑结构无时无刻都在快速变化。


  基础设施层主要有路边单元(RemoteSubscriberUnit,RSU),路边单元是车辆网络层和基础设施层之间的网关。基础设施层的每个路边单元均有自己的管理区域,路边单元负责所涵盖地理区域内的车辆的管理和维修。网络层负责车载自组网中数据的存储,同时为车辆用户提供服务。


  云端网络层主要由多个服务器组成,用于存储车载自组网中共享信息、为车辆网络层和基础设施层提供服务等。


  2.2车载自组网信息通信隐私保护目标


  实现车载自组网中信息通信隐私保护,可以为车辆营造一个安全的网络环境,提高人们出行效率。针对车载自组网的系统架构特点,车载自组网中信息通信隐私保护应达到的安全目标包括七个方面。


  (1)通信消息的机密性。在车载自组网中,通信消息中往往会包含车辆用户的身份信息、位置信息等敏感信息,这些敏感信息被第三方获取会给车辆用户带来麻烦。保证消息的机密性就是只有通信双方知道通信消息,任何第三方对通信消息一无所知,即使截获通信消息,也无法获取通信消息的内容。


  (2)通信消息的可用性。车载自组网中的车辆节点的拓扑结构不断进行变化,车载自组网中的通信消息具有实时性。这就要求车载自组网中的车辆节点和基础设施对通信节点的传输具有高度的敏感性,保证通信消息在一定时间内完成消息验证、车辆节点的身份验证等并到达目的节点。


  (3)通信消息的完整性。在车载自组网中,保证通信消息的正确性和完整性是车载自织网中通信的首要前提。车载自组网通信双方进行消息传递时,通信有可能被未授权的第三方修改,造成接收方收到错误的消息。保证消息的完整性就是保证通信消息在传递过程中不被未授权的第三方修改。


  (4)通信消息的可追溯性。消息的可追溯性是指车辆节点要对自己发送的消息负责任,当消息出现错误时可以找到是谁发送的消息。车载自组网通信过程中发现攻击车辆发送错误的通信消息,可以根据某些信息查找到此辆车。消息的可追溯性保证车载自组网中的车辆按照规定文明驾驶,促进了车载自组网安全有序地运行。


  (5)车辆用户的个人隐私。车载自组网的目标是通过车辆之间通信以及车辆和基础设施之间通信实现信息共享,使得车辆用户能够得到更加便捷、增加人们出行的效率。实现车載自组网目标首先要保证车辆用户的个人安全和个人隐私,否则车载自组网的部署是毫无意义的。


  (6)车辆管理中心的可撤销性。当车载自组网中的车辆用户出现恶意行为时,车辆管理中心可以查找到是哪个车辆用户实施的恶意行为,车辆管理中心有权撤销车辆用户在车载自组网中的合法身份。


  (7)访问控制。车载自组网可以为车辆用户提供路况信息、智能家居等服务,车辆用户也可以为车载自组网提供路况信息等。此外,车载自组网中的车辆包括警车、急救车、公交车以及私家车等不同车辆,不同车辆对于服务的需求和提供服务的类别是不一样的。因此,可以对车载自组网中的车辆节点进行分类,为其分配不同的权限,避免非法用户访问范围以外的资源。


  3区块链系统架构及特点


  3.1区块链系统架构


  区块链发展到3.0阶段,可以把区块链系统看成一个五层结构,如图2所示为区块链系统架构示意图。区块链系统架构包括网络层、共识层、数据层、合约层以及应用层。网络层封装了组网机制、数据的传播和校验机制等,区块链网络一般为点对点网络;共识层封装了可插拔的多种共识算法;数据层将底层数据以区块链的形式进行存储;合约层对不同的脚本、算法、智能合约等进行封装,实现了区块链系统的可编程特性;应用层封装了区块链适用的场景,包括可编程货币、可编程金融、可编程社会等。


  区块结构[5,6]是由散列指针构造的一系列块中的链接列表。每个区块包含一系列事务数据,且通过密码学知识确保每个区块中的事务不会被篡改。如图3所示为区块结构示意图。区块链系统数据层区块链的区块结构由区块头和区块体两部分,区块体存储了每笔交易两两进行哈希运算的哈希值,最后形成Merkle根存储在区块头中。区块头还包括版本号、时间戳、难度系数、随机数以及前一个区块的Merkel根组成。版本号用于软件的更新;时间戳表示区块生成时间,时间戳能够保证区块按照时间有序地形成区块链;难度系数表示生成区块的难度;随机数表示生成区块时解决的数学难题的解;通过区块头中存储前一个区块的Merkle根形成区块链。


  3.2区块链系统架构特点


  区块链架构整合了分布式存储、分布式共识算法、密码学技术等技术,为企业提供了一种透明的、可信的商业逻辑框架。区块链架构能够保证数据的安全,同时能够简化企业交易流程、节约交易费用。区块链的架构特点有七个。


  (1)去中心化。区块链系统采用点对点的网络模式,系统中每个节点具有相同的地位,没有中心化的管理机构。区块链中每个区块的形成需要满足区块链系统中节点之间的共识机制,否则,数据不能打包成区块。区块链系统中的所有节点共同维护区块链系统的正常运行,当区块链系统中某个节点出现故障时,由于区块链系统的共识机制能够容忍部分节点出现故障,因此,区块链系统仍然可以正常运行。


  (2)去信任。区块链系统中节点之间的交易、数据交换等操作通过数字签名,因此节点之间不需要互相信任就可以进行交易、数据交换等操作,且在区块链系统正常运行的条件下,节点之间不可能有欺骗行为。


  (3)开放性。区块链系统是一个开放的系统,除节点的私有信息被加密外,区块链系统中所有数据均是公开的,任何节点均可查询区块链中的数据,整个区块链系统处于高度透明的状态,此外,区块链系统中节点可以随时加入或者退出区块链网络,不会影响区块链系统的正常运行。


  (4)匿名性。区块链系统中采用密码学方法实现节点之间交换数据等操作,不需要公开节点的真实身份就可以实现节点之间交换数据等操作。此外,由于区块链系统节点之间通过地址交换数据,地址时通过密码学处理过的数据,能够实现隐私保护,因此交易双方以外的节点获得此次记录也无法知道交易双方的真实身份。


  (5)自治性。区块链系统中节点通过透明公开的规范和共识算法存储相同的区块链,使得节点可以在双方不信任条件下进行数据的交换、交易等,任何人为的干预都会被区块链系统中节点发现。


  (6)不可篡改性。区块链系统中某个节点将数据打包进区块需要区块链系统中其它节点的验证,验证通过后才能形成区块,添加到区块链上。由于区块链形成时每个区块的区块头中均存储前一个区块的Merkle根,故存储在区块中的数据很难被修改,一旦区块中的某个数据被修改,Merkle根将发生改变,区块链系统中其它节点发现数据被篡改。


  (7)可追溯性。区块链账本在区块链网络中是公开的,任何人都可以查阅区块链账本的任何内容,且区块链账本具有不可篡改性保证区块链账本中的交易正确,因此可以通过查阅区块链账本寻找某笔交易是否存在,实现了某笔交易的可追溯性。


  4车载自组网信息通信隐私保护


  4.1车载自组网信息通信车辆身份隐私保护


  车载自组网中车辆之间以及车辆与路边基础设施之间进行频繁的信息通信过程中很容易泄露车辆的身份,车辆的身份一旦泄露,车载自组网中的攻击者会根据车辆的身份关联到车辆的个人隐私信息[7],例如身份证号、车辆用户家庭情况等,攻击者就可以伪装成车辆进行一些非法行为,还有可能对车辆进行敲诈勒索。在车载自组网信息通信过程中保证车辆的身份隐私是车载自组网部署的首要前提。为了保护信息通信中车辆身份不被泄露采用假名的方式[8],如图4所示为车辆产生假名的过程,如表1所示为本文用到的符号变量列表。


  (1)车辆Vehicle选定一条椭圆曲线Ep(a,b),并取椭圆曲线上的一个阶为n(n为素数)点G(x,y)作为基点;车辆Vehicle利用随机数生成器产生一个[1,n-1]之间32bytes的随机数作为车辆Vehicle的私钥SKv。


  (2)车辆Vehicle根据公式(4-1)计算车辆的公钥PKv;


  (3)根据公钥64bytes的PKv产生车辆Vehicle的假名IDv的过程:将公钥PKv依次进行SHA256和RIPEMD160两次哈希算法产生20bytes的摘要,然后在摘要首部添加1byte的版本号前缀,在摘要末尾添加4bytes的校驗和组成25bytes的二进制车辆假名;校验和的产生过程:20bytes的摘要经过两次SHA256得到32bytes的摘要,取前4bytes作为校验和;25bytes的二进制车辆假名,通过Base58格式转换生成34bytes的车辆Vehicle假名IDv。


  4.2车载自组网中通信消息隐私保护


  在车载自组网信息通信过程中,发送方发送的通信消息有可能被攻击车辆截获,恶意篡改通信消息,使得接收方收到错误的通信消息,达到攻击车辆的不当目的。区块链不仅具有去中心化、开放性、自治性等点对点网络的特点,而且具有去信任、匿名性、不可篡改性、可追溯性等安全性特点,适合应用于车载自组网中。本文采用区块链式存储结构来存储通信消息,能够保证提供一个正确的通信消息区块链账本,从而实现通信消息的可追溯性。


  在车载自组网信息通信过程中,发送方首先用自己的私钥对通信消息进行签名,将签名附在通信消息后发送给接收方和所属路边单元,接收方接收到附有发送方签名的通信消息,首先用发送方的公钥进行消息的认证,如果认证成功,确定通信消息确实来源于发送方,选择相信该通信消息。如图5所示为通信消息签名和认证过程。发送方对通信消息的签名过程:


  (1)发送方选取随机数k[1,n-1],根据公式(4-2)计算点(x1,y1);


  (2)根据公式(4-3)计算r,若r=0,返回1)重新选择随机数k;


  (3)若r≠0,根据公式(4-4)计算通信消息m的哈希值h(m);


  (4)根据随机数k、通信消息的哈希值h(m)以及发送方的私钥SKv,根据公式(4-5)计算Sv,若Sv=0,返回1)重新选择随机数k;


  (5)若Sv≠0,则发送方对路况预警消息的哈希值h(m)的签名为{r,Sv}。然后将发送方对通信消息哈希值h(m)的签名{r,Sv}发送给接收方。


  接收方收到带有发送方签名的通信消息后,对通信消息进行认证。接收方对通信消息的认证过程:


  (1)若通信消息的签名{r,Sv}均是[1,n-1]之间的整数,对发送方发来的通信消息m根据公式(4-4)计算通信消息的哈希值h(m);


  (2)根据接收方计算的通信消息m的哈希值h(m)、发送方发来的通信消息的签名{r,Sv}以及发送方的公钥PKv,根据公式(4-6)计算X;


  (3)如果X=0或∞,则拒绝签名,否则,计算X在直角坐标系下x轴的投影,记为x’;


  (4)根据公式(4-7)计算f,若f=r,接收方认证通过。


  路边单元接收到附有发送方签名的通信消息,也会对通信消息进行认证,认证过程与接收方对通信消息的认证过程相同,认证成功后,路边单元将通信消息以区块链的结构进行存储。如图6所示为通信消息的链式存储结构示意图。


  车载自组网中通信消息的链式存储结构的区块由区块头和区块体组成。区块体中存储多条通信消息,将多条通信消息进行哈希运算,最后形成Merkle根存储在区块头中。此外,区块头中还包括:版本号、时间戳、区块数以及前一个路况预警消息区块的Merkle根。通过存储前一个区块的Merkle根形成通信消息的链式结构。表2为通信消息区块头字段及含义。


  5仿真实验结果及分析


  5.1仿真实验平台


  本文实验采用Goland平台进行代码编写,实现基于区块链的VANET路况预警方案。Goland是JetBrains公司为Go语言开发的IDE,其为Go语言提供编码辅助功能、工具集成功能以及IntelliJ插件生态系统等。Go语言,又称Golang语言,是由谷歌公司开发的开源编程语言,于2009年11月正式推出。Go语言的语法与C语言相似,但Go语言的变量声明与C语言不同,此外Go语言增加了切片、并发、管道、垃圾回收、接口等。Go语言的特点包括:思想简单,没有多态、继承、类等;语法简洁,代码的可读性和可维护性高,从而提高开发效率;语法级支持并发,具有同步并发Channel类型;包含丰富的库、强大的工具和命令等。


  5.2仿真实验结果


  假设通信消息为路况预警消息,发送方将路况预警消息FirstRoadCongestion发送给接收方。发送方将路况预警消息FirstRoadCongestion打包并用自己的私钥签名,然后将签名附在路况预警消息后一起发送给接收方,接收方收到附有签名的路况预警消息后,对路况预警消息进行认证,若认证通过,则证明此条路况预警消息是发送方发送的路况预警消息。同时,发送方将附有签名的路况预警消息发送给所属路边单元,路边单元认证通过后,将路况预警消息以区块链的链式结构进行存储。车载自组网中所有路边单元存储相同的通信消息区块链账本,并定时更新通信消息区块链账本。通信消息的链式存储结构保证了通信消息账本的正确性。当区块中存储的某个通信消息发生改变时,区块头中的Merkle根都会发生变化,由于每个路边单元都存储相同的通信消息区块链账本,故某个路边单元通信消息区块链账本发生变化,其它路边单元会察觉到,此时,会重新同步通信消息区块链账本,从而保证了通信消息区块链账本的正确性,以便实现通信消息的可追溯性。如图7所示为通信消息区块链账本。


  通信消息区块链账本包括三个区块,每个区块包括Index(区块数)、Timestamp(时间戳)、HashRoot(Merkle根)和PrevHashRoot(前一个区块Merkle根)。区块0为创世区块,HashRoot和PrevHashRoot均为0。如图8所示为区块1存储的路况预警消息。当接收方疑发送方发送的通信消息发生篡改时,可以根据接收方收到通信消息的时间戳定位到通信消息存储的区块,通过查询区块中通信消息,通过对比可知通信消息是否发生篡改,实现了通信消息的可追溯性。


  5.3對比分析


  5.3.1车载自组网信息通信车辆身份隐私保护


  本文采用假名的方式来对车载自组网中车辆的身份信息进行隐藏,根据车辆的假名不能关联到任何有关车辆的真实身份信息,车载自组网中车辆与外界进行通信,外界只能得知车辆的假名,假名是车辆在车载自组网中的唯一标识,实现了车辆身份的隐私保护。


  文献[9~11]提出的车载自组网通信消息传播路由协议中,均未考虑通信消息的隐私保护以及车辆身份的隐私保护问题。本文与文献[9~11]相比保证了车载自组网中车辆身份的隐私保护,从而保护了车辆用户的人身安全。


  5.3.2车载自组网中通信消息隐私保护


  (1)通信消息的可认证性。为保证接收方收到的通信消息一定来自发送方,本文采用数字签名的方式。数字签名需要车辆存储私钥和公钥。文献[12]提出一种基于公钥基础设施的信息通信方案,该方案中车辆必须存储大量的私钥和公钥,造成大量存储开销的浪费,本文中车辆只需要存储车辆本身的私钥和公钥。如图9所示为车辆私钥、公钥存储开销示意图。当车载自组织网络中车辆数目增多时,文献[12]的存储私钥和公钥所需的存储开销不断增加,本方案存储私钥和公钥所需存储开销不变。相比于文献[12]本文将存储私钥和公钥的存储开销提高到一个常数。


  (2)通信消息的可追溯性。本文将正确的通信消息以区块链的形式进行存储,形成一个不可篡改的通信消息区块链账本。当车载自组网中车辆怀疑通信消息被篡改时,可以通过访问通信消息区块链账本,来检查通信消息是否被篡改,从而保证了通信消息的可追溯性。


  文献[12]提出的消息追溯方法是在整个数据库中查找消息记录,再根据消息记录找到车辆的相关信息。本文对通信消息的追溯方法是,首先根据通信消息的时间戳定位到此条通信消息存储的通信消息区块链账本的区块,然后在区块中查找此条通信消息的相关信息。如图10所示为追溯通信消息的时间开销。


  如图10(a)所示云端的路况预警消息区块链账本中存储较少的路况预警消息,由图10(a)可知,文献[12]中追溯路况预警消息的时间开销为O(n)(n为路宽预警消息的数目),本文中追溯路况预警消息的时间开销


  账本存储较多的路况预警消息,由图10(b)可知,文献[12]中追溯路况预警消息的时间开销依然为O(n)(n为路宽预警消息的数目),本文中追溯路况预警消息的时间开销接近一个常数。


  6结束语


  本文分析了车载自组网中信息通信的隐私保护问题,包括车辆身份的隐私保护和通信消息的隐私保护。为解决此问题,采用假名实现车载自组网通信过程中车辆身份的隐私保护,采用数字签名和通信消息链式存储结构实现车载自组网中通信消息的隐私保护。通过实验证明,本文方案可以实现车载自组网信息通信过程中车辆的身份隐私保护和通信消息的隐私保护,并将车辆存储私钥、公钥的存储开销和追溯通信消息的时间开销均降低到一个常数。


  本文未来的工作重心在于寻找有效的激励机制,鼓励车辆发送通信消息给路边单元而不是强制性的;寻找有效的共识算法保证通信消息区块链账本的一致性。

打印此文 关闭窗口
很牛学术网 联系我们 文献下载器
返回顶部
扫一扫