一种基于区块链的车联网跨域认证方案
- 来源:网络空间安全 smarty:if $article.tag?>
- 关键字:车联网,区块链,认证 smarty:/if?>
- 发布时间:2020-09-29 18:45
摘 要:文章从车联网中车载终端高速移动、频繁跨域的特征出发,分析了车联网环境下跨域身份认证面临的安全威胁,提出了一种基于区块链的车联网跨域认证体系及方案。方案以联盟链架构和“授权机构-计算服务-路测单元”域网络为基本模型,详细介绍了移动终端在初次入网和后续跨域时的身份认证协议。相比于传统认证方案,该协议在通信开销和计算复杂性方面均有所优化,且具备防泄露、隐私性、可监管等安全属性。
关键词:车联网;区块链;跨域认证
中图分类号: TP309.2 文献标识码:A
Abstract: Based on the characteristics of high-speed and frequent cross-domain mobility of on-board terminals in the Internet of vehicles, this paper analyzes the security threats faced by cross-domain identity authentication in the Internet of vehicles environment, and proposes a cross-domain authentication system and scheme based on blockchain for Internet of vehicles. The scheme takes the alliance chain architecture and the domain network of “Trusted Authority-Computing Services-Road-Test unit” as the basic model, and introduces the identity authentication protocol in detail when the mobile terminal enters the network for the first time and the subsequent cross-domain. Compared with the traditional authentication scheme, the protocol is optimized in terms of communication overhead and computing complexity, and has security attributes such as disclosure prevention, privacy, and supervision.
Key words: internet of vehicles; blockchain; cross-domain authentication
1 引言
1.1 研究背景
近年來,车联网的应用服务数量和普及速度呈现上升趋势,是一项迅速发展的互联网新兴产业。但随着其用户基数增多,车联网的安全问题不容忽视,诸如敌手对车辆身份认证的攻击、对车上电子设备的攻击、对车辆上嵌入式操作系统的攻击或者对车联网网络漏洞的攻击等,车联网的发展面临着各种安全威胁。
其中,身份验证在服务中作为重要的安全基础,对提高通信安全、规避安全威胁有着非常大的作用,同时是保证车联网庞大的用户群体的财产和隐私安全最有效、最直接的手段。而针对认证技术来说,相对应的安全威胁有假冒攻击、女巫攻击等,敌手得逞之后可以获得车辆的最高权限和车辆的所有信息,可以控制重大事故是否发生以及在哪里发生,造成的后果不容小觑。
车联网的关键特点体现为高速移动的节点、网络拓扑结构快速变化、节点信息私密性、网络频繁接入和中断、来自基础设施的支持和时间敏感性、车辆节点分布不均匀等。上述特点决定了车联网中移动终端进行跨域认证的需求,针对快速变化的车联网网络和可能频繁出入、跨域的高速移动节点,如何利用先前域中的信任信息快速建立当前域中的信任关系,并保护车辆的隐私安全,是本文研究的主要出发点。
1.2 相关工作
车联网主要是指车载移动设备使用无线通信设施,有效利用并转化网络中海量车辆不断变化的动态信息,为各类应用平台提供服务。车联网的场景包括车载单元(OBU)、路测单元(RSU)、受信任的授权机构(TA)。其中,车载单元存在于每辆汽车上,用来存储和计算以及与其他设施交互;路测单元是作为路边基础设施的主要部分,是路边基础设施用来存储和计算,以及与其他设施交互的单元;受信任的授权机构是为了确保车联网架构的顺利运行引入的第三方可信认证机构,通常存储着区域内所有认证的RSU和OBU的具体信息,负责保证车辆节点和RSU交互的真实性和完整性。
李聪聪[6]等人对近些年的车联网安全机制进行了总结,提到拥有动态开放、多跳、无线自组织网络特点的车联网,并给出了车联网无证书的公钥认证体制,并依托其给出了抗女巫攻击的方案以及讨论了车载云的安全机制。
现在存在一些在车联网内对车辆身份信息进行简单认证的工作。例如基于PKI的认证方法和基于IBS的认证方法。林璟锵[1]等人对PKI的近况进行了详细分类的综述,提出了传统PKI的痛点问题,以及PKI技术在各个场景中的应用,分析总结了对于PKI系统大规模部署时候的应用场景以及问题。Gabriel[2]等人对域间的PKI的信任模型进行了讨论,并对交叉认证策略进行了分析总结,描述了具体场景的复杂方案,涉及层次信任系统、域间交叉认证、桥CA、证书的扩展等。
然而,这些认证方案仅仅适合简单通信的场景,很难适应复杂通信环境下的多重信道和降低时延的需求。传统的基于PKI的认证机制在车联网的多域环境下的弱点有:第一,不同的系统之间的身份数据缺乏有效的共享机制,使得在多域的环境下的身份认证结果不够全面可靠;第二,在各个PKI系统中很容易出现单点故障,一旦一个节点宕机,而其它节点并没有此宕机节点的数据,那么对这个节点的区域影响很大;第三,多个不同的PKI系统中,缺乏统一的认证标准。
基于上述问题,本文认为,使用数据互通、不可篡改的区块链技术,尤其是弱中心化的联盟链架构可有效解决上述缺乏共享、认证标准不统一和单点故障的安全问题与需求。除了经典公有链项目如比特币[5]、以太坊[10]外,超级账本的fabric项目[15~16]堪称联盟链的代表,其结构是许可制的,是一种需要认证后才能成为成员的共享账本,可以管理参与者的入场,提供了可扩展的模块化体系结构,同时可以对参与者的访问级别进行控制。
Rakesh Shrestha[3]等人介绍了用于安全消息交换的新型区块链,提到车辆收集和传播重大交通事件信息的问题,提出了一种区块链方案以存储节点和消息的可信度,并且在网络中的任何节点都可以访问信息。Jiang[4]等人提出了基于區块链的轻客户端认证方案,使用PKI来辅助终端设备的身份验证。Wang[14]等人研究了在多个公司的情况下多个信任域的跨域服务,提出了可以实现跨域身份验证的模型BlockCAM,构建基于区块链的证书方案和跨域认证协议。
在车联网的认证方案中,对用户信息的隐私性保护也是学术界关注的重要问题,主要实现方式是匿名化技术。Lin[8]提出了GSIS协议谈论多个OBU之间会出现的安全问题与隐私保护,以及OBU与RSU之间会出现的安全问题和隐私保护两个角度的问题。Han[11]等人提出了中心化架构下基于云计算的车联网认证方案,支持大量移动节点的身份认证和追踪。Lu[7]提出一种基于群签名的短期证书匿名认证方案,认证者必须在短时间内生成短时密钥,但是在一定的条件下会因为车辆频繁的更换群组而遇到性能的瓶颈。文献[9]提出了基于社交点的一种假名修改策略,在有周期的广播安全消息的时候对车辆的假名进行更改,引导车辆在适当的地方和时机更改假名。
关于保护用户隐私的匿名化方案中,区块链也扮演着十分重要的角色。Yu等人[12]提出BASS,一种适合智能工业环境的与区块链结合的身份匿名验证和选择撤销方案,并利用了以太坊的智能合约验证性能。杨哲[13]研究了车联网中关于真实性和信任的问题,并且归纳总结了车联网的安全问题,以及利用区块链设计车辆的信任管理机制和访问控制机制等。
此外,本文的研究认为,在复杂网络的场景下,传统分层认证体系仍存在问题。在一定的网络规模下,节点行为呈现出自主移动的特点,使得移动终端、基础设施和云计算与存储设施之间的交互更为频繁和不可控;不同的管辖域之间的认证路径一般依赖于管辖域公共的前继信任路径,在此信任路径的深度不可忽略时,跨域的交互就需要很大的通信开销,同时也会消耗计算、存储和带宽资源。车辆在经过初次认证后,其他域的节点并不能实时同步其信息,因此在之后的每一次跨域认证,都需要向之前的RSU或者上一级的中心服务器索要已认证的数据,或者是再重新认证一遍,尤其是涉及到群签名的方案时,每一车辆的进出都会导致群密钥进行一次更新,交互非常频繁。
结合上述需求和安全问题,本文的主要贡献为:
(1)设计了联盟链体系下车联网的跨域认证系统模型。系统模型以联盟链节点分工和链下角色赋予为基本,通过对TA、LA等设施不同类型链上用户和不同等级权限的设置,使用链上存证和链下认证相结合的方式,通过域间数据同步机制,有效降低通信交互次数,为跨域认证详细方案设计提供架构基础。
(2)提出了基于区块链的车联网跨域认证详细方案。方案立足于系统模型的架构,给出了车辆首次和RSU相互认证以及再次认证的不同场景下的详细方案,采用双线性对、哈希函数、数字签名等密码学技术和智能合约、身份管理等链上组件,并给出了对非法移动终端用户的身份追踪方案。方案在计算复杂性和通信开销方面都比传统分层认证体系低,且表现出可认证性、消息完整性、可监管的隐私性、防泄露等良好的安全性。
2 场景描述
本文描述的场景为:
(1)线下注册。为防止在线上传输中密钥、身份等关键信息被截获,某车载移动终端通过线下的方式获得其证书(身份)、私钥和公钥信息,这个过程通过可信机构TA授权完成。
(2)首次认证。线下注册结束后,车载移动终端接入车联网网络,并首次在某个区域内接入路测单元RSU的管辖范围。此时,系统中尚未存储移动终端的信息,移动终端需要和路测单元RSU进行相互认证。这一过程分为两个步骤。
一是移动终端认证RSU。移动终端通过可信机构在区块链等公开渠道公布证书周期、路测单元公钥身份等信息,与所处区域内RSU进行比对认证,一方面认证RSU目前的合法状态,另一方面校对公开渠道的信息。
二是RSU认证移动终端。由于隐私性需求,移动终端使用匿名化的假名信息和RSU进行交互式验证。验证假名、公钥和签名信息相符后,RSU委托云端设施将移动终端的假名和公钥信息进行序列化背书,并呈递至移动终端和系统备份,以备后续的再次认证。
(3)再次认证。经过首次认证后,移动终端的假名信息已在系统中备份。车载移动终端在车联网中进入新的管辖域,和相应的路测单元RSU进行相互认证。这一过程分为两个步骤。
一是移动终端认证RSU。和首次认证类似,移动终端通过可信机构在区块链等公开渠道公布证书周期、路测单元公钥身份等信息,与所处区域内RSU进行比对认证。
二是RSU认证移动终端。无需像初次认证一样的复杂交互,移动终端只需提供LA背书序列的任一假名信息并呈递至RSU。RSU提交至TA,TA在链上查询链码即可返回结果,RSU得出认证结论。
3 系统架构
3.1 整体架构
根据前文中的场景设计,本文提出下述系统架构,如图1所示。
系统由账本层、通信层和应用层组成。其中,账本层采用联盟链架构,由区块链节点、智能合约(链码)组件和证书及身份管理体系组成,主要功能是数据同步、一致性存储和自动化计算;通信层则是由TA集群、LA集群和RSU组成的通信网络,拥有强大的通信、计算和存储功能,并起到承上启下的作用(TA集群和账本层通信,RSU和应用层通信);应用层主要组成单位是车联网数量最多的车载移动终端,也是跨域身份认证的主体对象。
一方面,账本层和通信层的协作有助于实现信息同步性和计算分散性;另一方面,分布式的架构削弱了中心化和层次化,能够有效降低认证交互次数。由此可见,较传统车联网认证架构而言,采用联盟链驱动、TA-LA-RSU网络运转的上述架构拥有明显的优势。
3.2 成员组成
在3.1节介绍的整体架构下,将联盟链的节点和用户赋予相应功能的角色,系统的成员组成如图2所示。
(1)TA-LA-RSU域网络
TA提供公证服务,通常为一个域内的记账节点及其用户(此用户拥有最高调用合约的权限)。LA提供计算服务,通常为TA记账节点下挂的用户。RSU不是区块链的直属用戶,但属于TA用户管辖,拥有下一级的权限。
(2)CA体系和MSP
区块链的结构除了节点之外还包括CA体系和MSP(成员身份管理)组件。CA是整个系统的根CA,是所有域的TA证书颁发机构;MSP是身份管理机构,负责对用户和节点的权限进行严格的身份管理,主要是对合约调用权限的管理。
(3)共识节点
共识节点的功能为对经过记账节点背书的交易进行排序共识,打包生效的交易后呈递给记账节点形成新的区块。
(4)记账节点
记账节点功能有二点:一是对模拟执行的交易进行背书,交易之所以先模拟执行是为了在共识排序阶段更快速的验证通过,从而提高交易生效的效率,提高区块链系统的tps(吞吐量,每秒内交易生效的数量,是衡量区块链交易速率的指标);二是存储区块链数据。
记账节点由TA代表,TA由记账节点和其下挂用户构成,拥有调用相应合约的权限。
4 具体方案
4.1 参数表示
在本章节中,各参数及其对应的含义如表1所示。
此外,本章节所述“验证”,均额外包含验证发信者或存证者的签名合法性和消息验证码正确性的步骤。
4.2 初始化
(1)密钥和证书参数初始化
此部分对应着2中的线下注册场景,主要是各成员的公私钥和匿名化证书参数初始化。
定义双线性映射:
满足以下的性质:
双线性。对于任意的,均有成立;
非退化性。满足;
可计算性。存在有效的算法,对于任意的,均可计算。
(2)链码权限和功能初始化
本方案涉及到的链码名称、功能和权限如表2所示。
4.3 初次认证
(1)User认证RSU:
步骤1.RSU以一定的周期向TA呈递自己的信息,TA将其上传到区块链,更新下述信息:
TS与交易生效时的时间戳一致,这样便公开了:
其中,是可编辑字段集,它代表了表征RSU相关信息的集合,这些信息供车辆在认证RSU时使用:
其中,是一类字段元组,表示信息和其哈希值。
步骤2.User获取RSU公开的信息:
User从公开渠道获取相应的验证标准:
其中,是一类表示信息差值上确界的元素。
步骤3.记信息集在User本身的状态为,User验证以下信息:
若均成立,则认证通过。
(2)RSU认证User:
User从未被其他RSU认证过,需要进行数次交互。
步骤1.User随机选择,标记为,并向RSU发送;
步骤2.RSU验证上述消息,随机选择,计算,并向User发送;
步骤3.User验证上述消息,随机选择,计算,以及
并向RSU发送;
步骤4.RSU验证上述消息,计算
并验证和是否相等,若相等则认证通过。
(3)序列化背书:
当User第一次被RSU认证过后,RSU请求LA将User的匿名身份信息背书,并序列化列表上链:
其中,是数字签名算法。
4.4 再次认证
当User已经被RSU认证过后,其匿名身份信息已在链上存储,二者间仅需要进行简单的相互认证。
(1)User认证RSU
步骤1.User获取RSU公开的信息:
User从公开渠道获取相应的验证标准:
步骤2.User验证以下信息:
若均成立,则认证通过。
(2)RSU认证User
步骤1.认证RSU通过后,User在LA背书的序列中任选一组信息,发送以下消息给RSU:
步骤2.RSU将请求呈递给TA,TA调取链码:
并将结果返回给RSU;
步骤3.RSU对User发送的消息以及LA的背书消息验证通过后,认证成功。
4.5 身份追踪
当RSU发现非法的终端车辆身份时,可以将请求呈递至TA。TA调取链码解出车辆的真实身份:
其中,的算法为:
从而对User的真实身份进行追踪。
5 方案分析
5.1 性能
将传统的严格分层(设根信任的深度为n,单次交互式认证的计算复杂度指标为m)认证方案和本文中基于联盟链的认证方案进行对比,在总共q次认证的前提下,通信复杂性和计算复杂性如表3所示。
由此可见,本文架构下的认证方案在通信和计算负担上都较优。
5.2 安全性
(1)可认证性
RSU身份的可认证性:无链码调取权限的车辆终端可以通过区块链在公开渠道展示的信息,结合终端实时获取的位置和时间戳信息对RSU身份进行认证。
(3)消息完整性
鏈下消息传输时,通过签名以及消息验证码保证消息的完整性。
上传以及调用链码时,作为联盟链的基本交易形式,记账节点和共识节点会审核消息格式,后续可检验区块链上的记录来检验消息完整性。
(4)正确性
联盟链环境下对节点TA绝对信任,TA持有区块链CA颁发的根证书。
LA由TA认证,RSU由TA认证,RSU和车辆之间认证是双向的,在车辆身份合法时,可由区块链CA出发形成信任闭环;车辆身份不合法时,拥有链码权限的TA可进行身份追踪。
(5)不可篡改
区块链账本层存储的交易数据和链码层存储的数据状态均由区块链本身特性决定了其不可篡改性,链下信息传输时,消息验证码也保护了这一安全特性。
(6)防泄露
链下信息通过初始注册时TA颁发的密钥加密传输(而TA由区块链根CA认证),关于链上的信息,TA、LA、RSU拥有的权限级别不同,可以通过链码调取不同级别的信息,其他用户如车辆只能通过公开渠道获取可公开的非敏感信息。
6 结束语
本文提出了一种基于区块链的车联网跨域认证方案,在联盟链身份管理的架构下,构造了移动终端在车联网的域间频繁出入时的跨域认证协议,协议在计算复杂性和通信开销方面性能较优,且满足可认证性、消息完整性、可监管的隐私性等安全性质。该协议在链内运算时间、交易速率等方面仍有一定的提升空间,本文后续将对此继续展开研究工作。
关振宇 陈永江 李大伟 刘玮 余丹