车联网安全 课件 第2章 车联网匿名身份认证方案_第1页
车联网安全 课件 第2章 车联网匿名身份认证方案_第2页
车联网安全 课件 第2章 车联网匿名身份认证方案_第3页
车联网安全 课件 第2章 车联网匿名身份认证方案_第4页
车联网安全 课件 第2章 车联网匿名身份认证方案_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章

车联网匿名身份认证方案2.1引言2.2预备知识2.3方案设计2.4安全性分析2.5实验本章小结

2.1引

IoV中车辆可能会在大范围内移动并发起认证请求,这对于建立一个完全可信的来自所有车辆请求第三方实时处理是困难的。分布式系统通过将计算和存储功能扩展到多个服务管理器(ServerManager,SM)来分散地管理IoV。分布式IoV的无缝覆盖为车辆提供了稳定的连接和高效率的请求处理。

虽然分布式系统有很多优点,但由于其开放性的无线通信,隐私安全问题不容忽视。假名认证被广泛用来保护车辆隐私以及确保身份和消息的合法性。然而,在身份认证中仅仅使用假名是不够的,因为攻击者可通过链接大量的假名来获取一辆车的连续位置,这将侵犯到驾驶人的隐私并可能对行车安全造成威胁。因此,不可链接性——阻止包含攻击者和其他车辆在内的非授权参与者将大量假名链接到同一辆车,是IoV中身份认证的关键安全要求之一。

为了实现不可链接性,在现存的假名方案中采取了两种策略:

(1)第三方为注册车辆初始分配一组具有有效期的假名,车辆在每次会话中使用不同的假名。但是当先前一组假名到期失效或使用完时,车辆必须从第三方获取一组新的合法假名。

(2)车辆之间互相交换它们的假名,其存在一个主要的安全问题就是假名和其他标识符之间的映射关系必须随着假名的变化而变化;否则,将导致假名的唯一性无法被保证,这对在一个有争议的情景中追溯车辆的真实身份(即可追踪性)会产生影响。因此,这种方法需要一个可信的第三方来管理和控制假名的交换。

总体而言,这两种策略在很大程度上依赖于与可信的第三方的大量交互。虽

它们可以通过密码学手段在一定程度上减小通信开销,但分布式系统的引入和车辆的高移动性使得车辆频繁地在多个SM中切换并发起认证请求。传统的切换认证需要在SM间进行通信来提供本地车辆数据,这给车辆的身份认证进一步带来时延。因此,上述假名方案与传统切换认证的结合不能有效地实现在多个SM下的不可链接的身份认证。

为了解决这一问题,本章通过SM建立一个安全可信的分布式数据库并同步地共享本地数据。这使得当车辆移动进入到一个不同的SM域中时,SM可以根据本地数据作出决策。区块链作为一个流行的分布式数据库,有着分散、数据一致性以及防篡改的特性,可以很好地满足上述要求。然而现有的基于区块链的假名身份认证忽视了不可链接性,因此,本章引入区块链和同态加密来设计一个基于区块链的不可链接的身份认证方案(Blockchain-basedUnlinkableAuthentication,BUA)。

本章的主要内容如下:

(1)采用区块链来创建一个分布式系统,其中每个SM作为链中的一个服务节点并保持车辆注册数据的一致性,提高切换认证的效率。

(2)基于上述分布式系统,令车辆自身生成大量关联其真实身份的假名来确保不可链接性和可追踪性。此外,SM用它们的本地数据就可以验证假名的合法性及假名使用者的身份。

(3)安全性分析和实验表明,相比于其他协议,本章所介绍的BUA方案需要更少的计算和通信开销,同时还具有更好的隐私保护能力。

2.2预

2.2.1同态加密同态加密(HomomorphicEncryption,HE)是在密文上进行计算并将结果以加密的形式给出。其中的PaillierPKE主要由3个算法组成:密钥生成算法、加密算法和解密算法。

(1)密钥生成算法:基于大素数p

和q,令m=pq,则

然后,定义μ=(L(gλmodn2)-1modn,其中L(x)=(x-1)/n,并选择一个生成器

g=(n+1)∈Zn2*,则公钥pk=(n,g),私钥sk=(λ,μ)。

(2)加密算法Epk:对于一条消息m∈Zn,选取一随机数r∈Zn*

和公钥pk,加密计算为

(3)解密算法Dsk:给定一个密文c∈Zn2*,解密计算为

另外,其PaillierPKE还具备两种同态属性,列举如下:

加法属性:Epk(m1,r1)·Epk(m2,r2)=Epk(m1+m2,r1·r2)

乘法属性:Epk(m1,r1)r2=Epk(m1·r2,r1r2)

容易发现,如果r2

是m1

的逆值,乘法属性的结果为Epk(1,R),其中R

可认为是一个新随机数。

PaillierPKE的数字签名被定义为Sig(m)=(S1,S2),其中

签名的验证为h(m)=gS1·S2nmodn2。

2.2.2区块链和共识机制

区块链是一系列的块,这些块包含了网络中完整的交易记录。通常,一个块包括主数据、先前块的散列值、当前块的散列值、时间戳和其他信息。主数据记录服务数据,本章BUA方案中记录了车辆身份的逆和一个密文,块中的交易通过Merkle树来汇总,并把树的根记录为当前块的散列值。通过记录先前块的散列值来形成按时间顺序的链。时间戳用于对比和验证。其他信息可以为块的签名、随机数或用户所定义的数据。

现有区块链技术分为公有链、私有链和联盟链。本章选用由几个组织建立的联盟链,主要原因如下:

(1)在半集中的分布式账本中,链中成员需要注册许可,并且要事先选取参数与节点。

(2)联盟链可以根据应用场景决定对公众的开放程度。

(3)部分节点参与共识,这有着高效率的共识时间。

因此,可采用联盟链来控制访问权和提高性能以及安全性。

这里简单介绍实用拜占庭容错算法(PracticalByzantineFaultTolerance,PBFT)的共识步骤。PBFT可以容忍(n-1)/3(n

是链中的总节点数)的故障节点和错误节点。每个SM轮流作为块的生成者,负责产生一个新的候选块并广播给其他共识节点。每个节点会验证它的有效性并将带有该块散列值的预备消息广播给每个节点。当收到的预备消息数量超过总节点数的2/3时,每个节点生成确认消息并将其广播给每个节点。当确认消息超过2/3时,此块被链接到区块链上。

2.3方

2.3.1系统结构与攻击模型文献[147]中设计了一个两层模型,上层包含一个审计部门(AD)和多个服务管理器(SM)构成的区块链网络,底层由RSU和车辆(Vehicle,V)组成。其系统结构如图2.1所示。图2.1两层模型的系统结构

图2.1中各组成部分的含义如下:

(1)AD(AuditDepartment,审计部门):作为一个完全可信的第三方被放置在一个独立的环境中。它仅为注册区块链的新SM提供授权。

(2)SM:每个SM都有一个称为安全域的逻辑覆盖区域。它作为一个完整的节点来存储每辆车的注册数据,并扮演生成块的角色来打包一段时间内网络中的事务到一个块中。另外,它还为车辆提供了注册服务和可追溯性。

(3)区块链网络:由每个域的SM组成,每个SM在车辆的注册阶段通过PBFT算法安全地生成一致的分类账。

(4)RSU:它是一种路边基础设备,被添加到车载网络中作为为车辆提供网络接口的节点来促进和SM的通信。一个RSU被一个SM管理,并且广播其所属的SM的信息。

(5)V(车辆):每个车辆配备一个车载单元(OnBoardUnit,OBU)来支持本地计算和车载网络中的操作,允许在任意的SM下进行注册,并支持和RSU进行无线通信。

本章采用的攻击模型存在3个假设:

(1)发送方的数据包可能被攻击者伪造、修改、截获,因此会存在中间人攻击和重放攻击。

(2)恶意车辆也许会发送由伪造身份生成的错误假名给RSU或使用其他车辆的假名来冒充其他合法车辆;同样,车辆也可以在通信过程中否认其行为。

(3)攻击者也许会破解RSU并窃听车辆的机密信息或者通过关联车辆的不同会话推测车辆用户的隐私信息(假设攻击者不能通过破解SM来记录车辆的历史认证数据)。

2.3.2BUA的实现流程

图2.2展示了BUA方案中车辆的注册和认证流程。

1.系统初始化

(1)SM在AD处使用同态密钥注册以获得参与区块链的权限。

(2)该SM获得授权后,首先发送授权凭证和同态公钥给区块链中已经注册的SMS,如果被认证合法,链中的SMS把新SM的同态公钥添加到它们的公钥列表上,并反馈当前的公钥列表给新SM,使得所有的SMS在后续阶段有一个一致的公钥列表(即table<IDSM,pk_SM>)。图2.2注册和认证流程

2.车辆注册

车辆仅需执行一次离线注册。

(1)车辆V选择一个就近的SM作为它的家乡域(记为SMh),用它的真实身份IDv和用于身份证明的相关身份信息Infov执行注册。

(2)当车辆身份合法时,SMh

首先选择一个随机数αv

构造Epk_SMh(αv,αv(IDv-1-1))。接着,通过PBFT一致性算法把

[IDv-1,Epk_SMh(αv,αv(IDv-1-1))]写入区块链。与此同时,将生成一个块地址BIDv

对应其所在区块链中的位置。最后,SMh发送<table<IDSM,pk_SM>,αv,BIDv>给车辆V。

3.分布式认证

在所提BUA方案中,每个RSU被一个SM管理,RSU会定期广播它所在SM的身份(IDSM)来向车辆报告当前的行驶区域。

(1)V首先根据RSU广播的SM身份(假设为IDSMi)确定进入的域,然后从公钥列表中选择SMi的公钥来加密它的块地址BIDv、时间戳ti

和一个随机数βi,即生成地址密文CiBIDv=Epk_SMi

(ti‖BIDv,βi)。

为了保护车辆的真实身份,V使用SMh

的公钥和随机数αv

来生成假名PSiv=Epk_SMh((riv+αv)·IDv,αv),其中riv

是由V随机选择的一个随机数来随机化假名。同时,V也提供辅助信息AMiv=Epk_SMh(riv,αv),它用来协助认证。最后,V把<CiBIDv,PSiv,AMiv>发送给SMi。

(2)接收到信息后,首先,SMi用它的私钥sk_SMi对地址密文CiBIDv

进行解密来获取时间戳ti

和块地址BIDv。ti

为了避免重放攻击,BIDv用来方便检索车辆的注册数据。如果ti

是正确的,则SMi

会搜索车辆注册信息来计算和检查等式

(PSiv)IDv-1=AMiv·Epk_SMh(αv,αv(IDv-1-1))是否成立。如果等式成立,则SMi生成一个签名Sigv=Sigsk_SMi

(PSiv‖ti

)并将它返回给V,其中ti源于地址密文,用来保证信息的新鲜性。最后,V用SMi

的公钥验证签名以认证SMi的身份。

4.更新阶段

车辆V通过不断地更新认证消息来阻止攻击者跟踪它的运动轨迹。需更新的认证消息包括:

(1)假名:

在假名中,身份IDv

和随机数αv

是不可改变的,因为IDv保证了假名和真实身份之间的联系,用以在特殊情况下追踪车辆。αv的机密性确保了在不知道IDv

的情况下,假名不能通过同态加法来更新。

此,本方案用随机数rv

来更改假名,即PSjv=Epk_SMh((rjv+αv)·IDv,αv)。

(2)地址密文:

在CBIDv

中,块地址是不能被更改的固定值。时间戳ti

和随机数βi是可改变的,这增加了破解块地址的难度。其中,用于加密的公钥需要为当前域的公钥(即pk_SMc)。所以新的地址密文为CjBIDv=Epk_SMc

(tj‖BIDv,βj

)。

(3)辅助信息:

AMv作为身份认证的辅助信息来使用,随着假名的更新,随机数rv

也在改变,即AMjv=Epk_SMh(rjv,αv)。

2.4安

2.4.1隐私保护隐私保护包括匿名性和不可链接性。匿名性保证了真实身份的机密性,不可链接性确保了攻击者不能通过链接大量的消息来推测车辆的连续位置。对于匿名性,车辆用pk_SMh加密它的真实身份,假名被车辆用于认证以防止真实身份的泄露。同时,假名的更新可以用真实身份来实现,这使得用户担负起保护自己隐私的责任。脚本中通过质询attacker(IDv)来验证攻击者是否可以在协议的某一阶段截获到质疑的信息IDv。

不可链接性比匿名性更强,因为它假定攻击者有收集和推测信息的能力。在认证阶段,随机数和时间戳使认证消息随机化,车辆的每次身份认证都使用一个独一无二的消息,并且攻击者对车辆一无所知会导致其将不同的认证消息链接到同一辆车变得困难。在脚本中添加符号“!”为车辆和SM形成多个会话。然后,通过验证choice来证实攻击者是否可以区分不同的进程,choice原语用来观察协议过程中不同元素的等价性。图2.3说明了隐私保护的两个方面,即攻击者不能获得任何有关车辆真实身份的信息和链接不同会话消息到同一个车辆上。图2.3安全需求

2.4.2相互认证

BUA方案需要身份认证来确保通信建立在互相信任的基础上。

车辆发送信息<CiBIDv,PSiv,AMiv>给SM,其被标记为事件VSendAuth。收到信息后,SM首先解密地址密文来搜索区块链,然后计算(PSiv)IDv-1

和AMiv·Epk_SMh(αv,αv(IDv-1-1)),如果结果相同,车辆就被认为是合法的,该过程用事件SMAcceptV来标记。最后,SM给车辆发送一个签名,用事件SMReplyV标记。车辆用签名来认证SM被标记为事件VAcceptSM。

相互认证被建模为上述4个事件间的对应关系。原语event(e(…))>event(e'(…))意味着事件e每次发生之前都有一次事件e'需要执行。

图2.4说明BUA方案保证了双向认证。图2.4双向认证

2.4.3不可抵赖性与可追溯性

车辆不能抵赖它的不当行为,也不能声称消息由其他人创建,在有争议的情景下追踪车辆的真实身份仍然是有必要的。

每条认证消息由假名和地址密文合并而成,它们是根据车辆的真实身份和块地址得到的。由于真实身份和块地址的唯一性和机密性,因此只有真正的所有者才能生成正确的认证信息,而时间戳保证了认证的时间。因此,没有车辆可以抵赖它的身份和认证时间。匿名性保证了IDv

的机密性。如图2.5(a)所,attacker(BIDv)表明了块地址的机密性,即不可抵赖性。

当一个恶意车辆被发现并被报告时,SMh

是唯一能够通过解密假名来找出相应违法车辆真实身份的实体,并在区块链中撤销它。图2.5(b)中显示了attacker(skSMh)的结果,表明了SMh

私钥的机密性,即可追踪性。图2.5不可抵赖性和可追踪性

2.5实

2.5.1计算开销在认证阶段,车辆只负责发送信息和验证反馈信息。验证者需要处理信息来验证用户和反馈车辆信息。在BUA方案中,车辆需要生成认证消息和通过签名来验证SM。为了与其他方案比较,我们考虑多个验证者的情况。对于多个验证者(SM),车辆需要用不同的公钥计算多个地址密文、计算一个假名和一条辅助消息,对于反馈的签名,车辆根据当前的需求仅验证一个即可。验证者(SM)通过解密地址密文来提取块地址并执行一次同态加法和乘法来验证车辆。

如果车辆合法,SM就生成一个签名,其中主要运算是模幂(Tme)和模

乘(Tmm)运算。在BLA中,认证被分为两个阶段:首次访问和后期认证。前一阶段的两个主要运算是哈希函数(Th)和基于椭圆曲线的点乘(Tpm_ec),后一阶段的运算是签名。由于签名具体的形式没有给出,在这里不对其进行分析。在BSeIn中,最耗时的操作是双线性(Tbp)和基于双线性的点乘(Tpm_bp)。用户需要执行多接收器的加密计算、基于属性的签名和对称解密(Td),验证者需要执行解密、签名认证以及对称加密(Te)的运算。为了方便起见,直接以密码学的基本运算进行比较。

表2.1给出了各方案间计算成本的详细比较。通常用不同操作的时间来估算计算开销。

从图2.6(a)车辆端在不同验证者数量下的计算开销来看,BLA的增加速率是最快的。图2.6(b)呈现了不同数量的车辆下k=15(k代表验证者的数量)时验证者端的计算开销,表2.2表明了在不同数量的验证者和车辆下的验证者端的开销。由于双线性配对运算,BSeIn的开销是最大的。BUA方案要优于BLA和BSeIn的。图2.6计算开销

2.5.2通信开销

为了便于讨论,假定生成系统的质数p和q是32Byte,因此群G中的元素为64Byte,Paillier的加密和签名结果是128Byte。我们以认证阶段消息的总长度来衡量通信开销。在BLA和BSeIn方案中,对k个验证者,车辆分别广播σ=(L,R,S1,…,Sk,P1,…,Pk)和δ=(V1,V2,…,Vk,T,C)。C

是一个哈希值和一个拼接串的异或操作,其他元素都属于群G。然后,ig/cg反馈一个密文和一个MAC给车辆

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论