一种面向车载网匿名认证的互信簇协同验证方法与流程

文档序号:14010423阅读:228来源:国知局
一种面向车载网匿名认证的互信簇协同验证方法与流程
本发明涉及智能交通系统通信领域,具体涉及车载自组织网络的安全认证和隐私保护。
背景技术
:智能交通系统是未来交通系统的发展方向。车载自组织网络作为智能交通系统的重要支撑,在道路安全、交通管理方面有着巨大的应用价值。车辆周期性(每隔100ms300ms)广播交通心跳报文(如车速、方向、位置、刹车板压力等)和路况信息,使车辆获得超视距范围的感知能力,从而有效避免交通事故和拥塞。当然,好比双刃剑的另一面,此类应用也隐藏安全和隐私隐患:攻击者可跟踪感兴趣的车辆采集车辆位置信息和行驶轨迹,或者伪造虚假信息来蓄意制造交通事故。对此,车载自组织网络采用匿名认证机制兼顾安全和隐私保护需求,其基本思路是:采信其他车辆发布的交通通告的前提是先验证信息发布者的数字证书是否合法,再验证通告信息的数字签名。每台车辆申请大量不同的数字证书,每个时间周期内使用一个数字证书签发交通信息。这样,既阻止非法攻击者发布信息,也可对发布虚假的合法车辆进行追责,同时,数字证书的周期更换可以防止位置隐私泄露(即实体身份与位置信息关联)。可以说,匿名认证机制是车载自组织网络应用的安全基石。在车载自组织网络匿名认证机制中,采信交通通告信息的前提是验证数字证书是否合法。已有方案为了降低海量数字证书的作废开销,车辆数字证书的构成普遍较为复杂,验证开销远高于普通数字证书,攻击者可能利用此特点发动面向数字证书验证的拒绝服务攻击:当车流在路口交汇或者车辆周期更换数字证书时,车辆短时间内需验证大量新的数字证书。此时,攻击者若趁机发布大量虚假别名证书,将有效延迟车辆识别周围车辆使用的合法数字证书,从而“盲化”信息视野。拒绝服务攻击的核心机理是以较小的代价消耗目标较多的资源。对匿名认证过程而言,攻击者发布虚假证书几乎不需要任何代价,而车辆验证虚假证书的开销则大得多。扭转这种攻防的不对称性,就必须增大攻击者的攻击代价。已有方案普遍采用哈希谜题机制限制攻击者发动拒绝服务的能力。哈希谜题是一个字符串,它的哈希映射满足一定的格式。由于哈希函数的单向性,哈希谜题容易验证,但是求解哈希谜题需要消耗大量计算资源,从而抑制攻击者发动拒绝服务攻击的能力。鉴于车载自组织网络的自身特点,基于哈希谜题完善匿名认证还需解决以下挑战:(1)车辆空间较大,攻击者可能配备远大于普通用户的计算资源;(2)相比较以电池供电的传感网,车载环境下的攻击者可以不用考虑能耗限制,试图预先生成哈希谜题;(3)智能交通应用对信息时效性要求较高,应尽可能加快证书验证过程。技术实现要素:本发明所要解决的技术问题是,针对现有技术不足,提供一种面向车载网匿名认证的互信簇协同验证方法,提升数字证书验证效率。为解决上述技术问题,本发明所采用的技术方案是:一种面向车载网匿名认证的互信簇协同验证方法,令obui表示车辆成员,certi表示车辆成员obui的数字证书;车辆obui维护以下变量:合法证书集合legal_set={<certp>};虚假证书集合fake_set={<certf>};待验证证书集合unverified_set={<certk>};证书累计谜底价值集合value_set={valueq|valueq是certq的累计谜底价值,其中certq∈legal_set∪unverified_set};有向图gi=<v,e>,其中,顶点集合v为合法证书集合legal_set中的证书的持有者,即若certp∈legal_set,则令顶点vp∈v表示certp的持有者obup;有向边集合e表示成员之间的互信关系,若顶点vi至顶点vp之间存在边ei,p∈e,其含义为obui验证了obup的数字证书为合法证书,即obui信任obup;obui选择的受益者数字证书bcerti;obui选择的预期验证者的数字证书dcerti;当系统中发现有待验证证书时,即待验证证书集合unverified_set非空时,启动互信簇协同验证工作流程,包括以下步骤:1)初始化时,令变量bcerti=0,dcerti=0;2)车辆成员obui根据当前的有向图gi=<v,e>求解互信簇集合trust_set,选取trust_set中编号最小成员为簇首,令簇首为obu1,更新obui选择的受益者数字证书bcerti取值,即bcerti=cert1,由此obui生成的谜题将使自己和簇首obu1收益;记△t1周期开始,△t2周期开始,其中△t1>△t2;此时obui无法确定预期的证书验证者,因此更新变量预期验证者的数字证书dcerti取值,令dcerti=0;3)记△t3周期开始,obui构造以下哈希谜题:certi||locationi||timestampi||dcerti||bcerti||puzzle;(1)其中,△t2>△t3,locationi表示发布者obui的当前地理位置,timestampi表示当前的时间戳;puzzle为当前哈希谜题的谜底;bcerti及dcerti使用当前变量值;当上述哈希谜题的谜底价值大于0时对外发布哈希谜题,直至△t3周期结束;4)obui收到某车辆成员obuj发布的哈希谜题为:certj||locationj||timestampj||dcertj||bcertj||puzzle;其中,certj表示车辆成员obuj的数字证书;若certj在虚假证书集合fake_set中,则丢弃车辆成员obuj发布的哈希谜题;若certj不在合法证书集合legal_set及待验证证书集合unverified_set中,则将certj添加入待验证证书集合unverified_set;车辆成员obui分别针对数字证书certj及数字证书bcertj计算车辆成员obuj发布的哈希谜题的谜底价值,分别更新数字证书certj及数字证书bcertj在证书累计谜底价值集合value_set中的累计谜底价值;5)记预期验证者候选集合l=legal_set-trust_set,若l为空,则令l=unverified_set,赋值完成后,若l依然为空,跳转至步骤12);否则,从l选择累计谜底价值最大的数字证书certm,更新变量预期验证者的数字证书dcerti取值,即dcerti=certm;6)记△t3周期开始,车辆成员obui将更新后的bcerti、dcerti代入式(1)中构造哈希谜题;当该哈希谜题的谜底价值大于0时,对外发布该哈希谜题,直至△t3周期超时;7)车辆成员obui接收某车辆成员obur发布的哈希谜题;certr||locationr||timestampr||dcertr||bcertr||puzzle若当前数字证书certr在虚假证书集合fake_set中,则丢弃车辆成员obur发布的哈希谜题;若当前certr不在合法证书集合legal_set及待验证证书集合unverified_set中,则将certr添加入待验证证书集合unverified_set;车辆成员obui分别针对当前数字证书certr及当前数字证书bcertr计算车辆成员obur发布的哈希谜题的谜底价值,分别更新当前数字证书certr及当前数字证书bcertr在证书累计谜底价值集合value_set中的累计谜底价值;若obur恰好是互信簇簇首obu1,则obui更新变量受益者数字证书bcerti与变量预期验证者的数字证书dcerti的取值,使之与互信簇簇首obur选择的受益者和预期验证者一致,即dcerti=bcertr;bcerti=bcertr;locationr表示发布者obur的当前地理位置,timestampr表示当前的时间戳;8)若待验证证书集合unverified_set为空,则执行步骤12);车辆成员obui从待验证证书集合unverified_set中选择累计谜底价值最大的数字证书certk进行验证,如果证书certk验证正确,obui将该证书certk加入合法证书集合legal_set,更新有向图gi=<v,e>,令顶点vk表示certk的持有者obuk,并将vk添加入顶点集合v,将从顶点vi至顶点vk的有向边ei,k添加入有向边集合e;若证书certk验证错误,则将该证书certk加入本地虚假证书集合;9)若△t2周期超时,obui发布合法证书集合通告,△t2周期重新开始;10)车辆成员obui接收某车辆obus发布的合法证书集合通告,若obus的数字证书certs不在本地合法证书集合legal_set中,则丢弃该通告;否则,遍历通告中的合法证书certh,执行以下两步处理:a)若合法证书certh不在自身的合法证书集合legal_set中,则对certh进行验证:若certh验证失败,则将certh加入虚假证书通告集合fake_set,并将该通告提交给权威部门,由权威部门向obus追责,放弃对该通告中其他证书进行验证,执行步骤11);若certh验证成功,则将certh加入合法证书集合legal_set,更新有向图gi=<v,e>,令顶点vh表示certh的持有者obuh,并将vh添加入顶点集合v,将从顶点vi至顶点vh的有向边ei,h添加入有向边集合e;b)将从顶点vs至顶点vh的有向边es,h添加入有向边集合e;11)若△t1周期超时,则返回执行步骤2);否则返回执行步骤5);12)结束。步骤1)中,所述互信簇集合trust_set的求解过程包括以下步骤:a)令互信簇集合trust_set={vi},边集et=e;vi为对应车辆成员obui的顶点;b)令trust_set*=trust_set,依次遍历边集et,对于边ek,j∈et,若vj∈trust_set*,则令et=et-{ek,j},且trust_set*=trust_set*∪{vk};vj∈v;c)如果互信簇集合trust_set不等于trust_set*,则令trust_set=trust_set*,并返回执行步骤b);否则,返回互信簇集合trust_set。对于某一哈希谜题其谜底价值=k*f(message)*g(message)*h(message);其中,k为哈希谜题二进制串的全零尾串长度;f(message)为位置相关性函数;g(message)为验证相关性函数;h(message)为收益回馈函数。其中,δ为接收车辆的通信半径。本发明中,δ取值为300米。其中,α为验证相关性函数权重系数,α>0。其中,β为收益回馈函数权重系数,β>0。与现有技术相比,本发明所具有的有益效果为:本发明提出面向车载网匿名认证的互信簇协同验证方法,限制了攻击者预先构造哈希谜题,整合了合法车辆间的计算资源,提高了验证速度,具有较强的实用价值,应用前景良好。附图说明图1(a)展示的是obu4的有向图g4=<v,e>;图1(b)展示的是obu6的有向图g6=<v,e>;图2(a)、图2(b)是本发明的互信簇协同验证示意图。具体实施方式本发明是这样实现的,其一,根据车辆行驶实时情况在谜题设计中附加相关信息,限制攻击者提前构造哈希谜题。其二,证书发布阶段,使用互信簇协同验证整合合法车辆间的计算资源,提高了证书验证效率。一、谜题设计经典哈希谜题包含两部分,即谜面message及谜底puzzle,采用哈希映射后得到的二进制串的全零尾串长度来评价谜底价值,即假定基于哈希运算的单向性,采用构造方法生成满足该条件的puzzle的可能性可以忽略不计,即假定车辆仅能依赖参数遍历搜索的方式生成谜底puzzle。因此,谜底价值value(puzzle)=2k中,k越大,谜题的生成难度越大,即车辆花费的计算资源越多,谜底价值越高。根据车载网的车辆行使特点和协同验证需求,从生成、验证、受益三个角度定义与谜题相关的3类角色:第一类角色为发布者,即谜题的生成者,scert是谜题发布者的数字证书,因互信簇协同验证方法的目的在于抑制虚假证书发布导致的ddos攻击,无法通过证书编号来区分待验证的证书实体,故采用数字证书作为区分,发布者需提供产生该谜题时的地理位置和时间戳信息,接收者可根据路况评估该谜题的权重;第二类角色为预期的验证者,即发布者希望谁来优先验证此谜题,当验证者与谜题预期的验证者一致时,可提高谜题权重;第三类角色为受益者,该谜题价值的第一收益人。表1是谜面组成,谜面message包含5项内容,即message=scert||location||timestamp||dcert||bcert。其中,scert表示发布者的数字证书(实际情况下,会使用证书摘要,为简化本专利描述,采用数字证书),location表示发布者的地理位置,timestamp表示时间戳,dcert表示预期验证者的数字证书,bcert表示受益者数字证书,其中,除了dcert之外,其他参数必须有效,dcert可填充有效验证者或0。表1谜面组成假定接收到谜面message车辆的数字证书为rcert,行车轨迹记录trace,其中trace(t)表示接收车辆在时刻t的地址位置,定义以下权重函数,其中,接收车辆的通信半径等于δ(一般为300米),验证相关性函数权重系数为α,收益回馈函数权重系数为β,其中,α>0,β>0。(1)位置相关性函数该函数引导车辆优先验证离自己近的车辆的数字证书,以便于尽快获得周围车辆的交通通告。(2)验证相关性函数该函数引导车辆优先验证定向到自己的数字证书,有利于分布式环境下互信簇的构建。(3)收益回馈函数该函数引导车辆优先验证为自己提供助力的车辆,有利于分布式环境下互信簇的构建。设计以上权重函数,除了能否抑制攻击者预先生成谜题外,还能够引导车辆避免重复验证同一数字证书,有利于优化分布式验证效率。综上,对于以下哈希谜题:其谜底价值等于k*f(message)*g(message)*h(message)二、互信簇协同验证令obui表示车辆成员,certi表示车辆成员obui的数字证书。车辆obui维护以下变量:合法证书集合legal_set={<certp>};虚假证书集合fake_set={<certf>};待验证证书集合unverified_set={<certk>};证书累计谜底价值集合value_set={valueq|valueq是certq的累计谜底价值,其中certq∈legal_set∪unverified_set};有向图gi=<v,e>,其中,顶点集合v为合法证书集合legal_set中的证书的持有者,即若certp∈legal_set,则令顶点vp∈v表示certp的持有者obup;有向边集合e表示成员之间的互信关系,若顶点vi至顶点vp之间存在边ei,p∈e,其含义为obui验证了obup的数字证书为合法证书,即obui信任obup;obui选择的受益者数字证书bcerti;obui选择的预期验证者的数字证书dcerti。将有向图gi=<v,e>的强联通分量称为互信簇,构建互信簇trust_set的方法见步骤三。当系统中发现有待验证证书时,即待验证证书集合unverified_set非空时,启动互信簇协同验证工作流程。下面以车辆obui为例介绍互信簇协同验证工作流程:(1)车辆obui进行变量初始化。令变量bcerti=0,dcerti=0。上述变量会在后续处理流程中更新(2)车辆成员obui根据当前的有向图gi=<v,e>求解互信簇集合trust_set,选取trust_set中编号最小成员为簇首,令簇首为obu1,更新obui选择的受益者数字证书bcerti取值,即bcerti=cert1,由此obui生成的谜题将使自己和簇首obu1收益;记△t1周期开始,△t2周期开始,其中△t1>△t2;此时obui无法确定预期的证书验证者,因此更新变量预期验证者的数字证书dcerti取值,令dcerti=0。(3)记△t3周期开始,obui构造以下哈希谜题:certi||locationi||timestampi||dcerti||bcerti||puzzle;其中,△t2>△t3,locationi表示发布者obui的当前地理位置,timestampi表示当前的时间戳;puzzle为当前哈希谜题的谜底;bcerti及dcerti使用当前变量值。当上述哈希谜题的谜底价值大于0时对外发布哈希谜题,直至△t3周期结束;(4)obui收到其他车辆成员obuj发布的哈希谜题为:certj||locationj||timestampj||dcertj||bcertj||puzzle;其中,certj表示车辆成员obuj的数字证书;若certj在虚假证书集合fake_set中,则丢弃其他车辆成员obuj发布的哈希谜题;若certj不在合法证书集合legal_set及待验证证书集合unverified_set中,则将certj添加入待验证证书集合unverified_set;车辆成员obui分别针对数字证书certj及数字证书bcertj计算其他车辆成员obuj发布的哈希谜题的谜底价值,分别更新数字证书certj及数字证书bcertj在证书累计谜底价值集合value_set中的累计谜底价值;(5)记预期验证者候选集合l=legal_set-trust_set,若l为空,则令l=unverified_set,赋值完成后,若l依然为空,跳转至步骤12);否则,从l选择累计谜底价值最大的数字证书certm,更新变量预期验证者的数字证书dcerti取值,即dcerti=certm;(6)记△t3周期开始,车辆成员obui构造以下哈希谜题:certi||locationi||timestampi||dcerti||bcerti||puzzle;locationi表示发布者obui的当前地理位置,timestampi表示当前的时间戳;puzzle为当前哈希谜题的谜底;受益者数字证书bcerti及预期验证者的数字证书dcerti使用当前变量值。当该哈希谜题的谜底价值大于0时,对外发布该哈希谜题,直至△t3周期超时;(7)车辆成员obui接收某车辆成员obur发布的哈希谜题;certr||locationr||timestampr||dcertr||bcertr||puzzle若当前certr在虚假证书集合fake_set中,则丢弃车辆成员obur发布的哈希谜题;若当前certr不在合法证书集合legal_set及待验证证书集合unverified_set中,则将certr添加入待验证证书集合unverified_set;车辆成员obui分别针对当前数字证书certr及当前数字证书bcertr计算车辆成员obur发布的哈希谜题的谜底价值,分别更新当前数字证书certr及当前数字证书bcertr在证书累计谜底价值集合value_set中的累计谜底价值;若obur恰好是互信簇簇首obu1,则obui更新变量受益者数字证书bcerti与变量预期验证者的数字证书dcerti的取值,使之与互信簇簇首obur选择的受益者和预期验证者一致;(8)若待验证证书集合unverified_set为空,则执行步骤(12)。否则,车辆成员obui从待验证证书集合unverified_set中选择累计谜底价值最大的数字证书certk进行验证,如果证书certk验证正确,obui将该证书certk加入合法证书集合legal_set,更新有向图gi=<v,e>,令顶点vk表示certk的持有者obuk,并将vk添加入顶点集合v,将从顶点vi至顶点vk的有向边ei,k添加入有向边集合e;若证书certk验证错误,则将该证书certk加入本地虚假证书集合;(9)若△t2周期超时,obui发布合法证书集合通告,△t2周期重新开始;(10)车辆成员obui接收某车辆obus发布的合法证书集合通告,若obus的数字证书certs不在本地合法证书集合legal_set中,则丢弃该通告;否则,遍历通告中的合法证书certh,执行以下两步处理:a)若合法证书certh不在自身的合法证书集合legal_set中,则对certh进行验证:若certh验证失败,则将certh加入虚假证书通告集合fake_set,并将该通告提交给权威部门,由权威部门向obus追责,放弃对该通告中其他证书进行验证,执行步骤11);若certh验证成功,则将certh加入合法证书集合legal_set,更新有向图gi=<v,e>,令顶点vh表示certh的持有者obuh,并将vh添加入顶点集合v,将从顶点vi至顶点vh的有向边ei,h添加入有向边集合e;b)将从顶点vs至顶点vh的有向边es,h添加入有向边集合e;(11)若△t1周期超时,则返回执行步骤(2);否则返回执行步骤(5);(12)结束。三、求解互信簇集合本发明中,互信簇指的是两两相互信任的车辆成员集合。互信簇支持信任传递,即若obui验证了obuj的证书,则obui采信obuj签发的合法证书集合通告。车辆成员obui的互信簇定义为有向图gi=<v,e>中包含顶点vi的强联通分量,其中,顶点vi对应obui。强联通分量的是图论中的概念。在有向图g中,如果两个顶点间至少存在一条路径,称两个顶点强连通。如果有向图g的每两个顶点都强连通,称g是一个强连通图。非强连通有向图的极大强连通子图,称为强连通分量。如图1中,子图{1,2,3,4}为一个强连通分量,因为顶点1,2,3,4两两可达。{5,6}也是强连通分量。在本发明中,有向图gi=<v,e>顶点集合v为合法证书集合legal_set中的证书编号,即对任意的vj∈v,必存在边ei,j∈e。根据此特点可简化obui的互信簇求解过程。具体步骤如下:(1)令互信簇集合trust_set={vi},边集et=e;vi为对应车辆成员obui的顶点;(2)令trust_set*=trust_set,依次遍历边集et,对于边ek,j∈et,若vj∈trust_set*,则令et=et-{ek,j},且trust_set*=trust_set*∪{vk};vj∈v;(3)如果互信簇集合trust_set不等于trust_set*,则令trust_set=trust_set*,并返回执行步骤(2);否则,返回互信簇集合trust_set。以下通过实施例说明本发明的具体实现过程。图1(a)、图1(b)是本发明的有向图示意图。假设共有6辆车,图1(a)展示的是obu4的有向图g4=<v,e>,图1(b)展示的是obu6的有向图g6=<v,e>。以下介绍obu4所在互信簇求解过程。执行步骤(1),得到trust_set={4};执行步骤(2),依次遍历边集,得到trust_set*={2,3,4};执行步骤(3),因trust_set*相比较互信簇trust_set增添了新的节点{2,3},跳转到步骤(2);执行步骤(2),依次遍历边集,得到trust_set*={1,2,3,4};执行步骤(3),因trust_set*相比较互信簇trust_set增添了新的节点{1},跳转到步骤(2);执行步骤(2),依次遍历边集,得到互信簇trust_set*={1,2,3,4};执行步骤(3),因trust_set*相比较互信簇trust_set未改变,返回互信簇{1,2,3,4},求解结束。类似的,求解obu6所在互信簇,可得到互信簇{5,6}。图2(a)、图2(b)是本发明的互信簇协同验证示意图,假定已知obu1,obu2,obu3,obu4的合法证书集合legal_set={1,2,3,4},待验证证书集合unverified_set={5,6},obu5,obu6合法证书集合legal_set={5,6},待验证证书集合unverified_set={1,2,3,4}。工作流程如下:流程(2):假定obu1,obu2,obu3,obu4求解得到相同的互信簇trust_set1={1,2,3,4},按照序号最小原则,均选取簇首为obu1,则obu1,obu2,obu3,obu4的谜题受益者数字证书bcert为cert1,预期验证者的数字证书dcert=0。分别记△t1周期开始,△t2周期开始,其中△t1>△t2。假定obu5,obu6求解得到相同的互信簇trust_set2={5,6},按照序号最小原则,均选取簇首为obu5,则obu5,obu6的谜题受益者数字证书bcert为cert5。分别记△t1周期开始,△t2周期开始,其中△t1>△t2。流程(3):如图2(a)所示,车辆构造并发布谜题。obu1记△t3周期开始,并构造哈希谜题:cert1||location1||timestamp1||0||cert1||puzzle当谜底价值大于0时对外发布,直至△t3周期结束,其中△t2>△t3。类似的上述操作:obu2生成并发布谜题cert2||location2||timestamp2||0||cert1||puzzleobu3生成并发布谜题cert3||location3||timestamp3||0||cert1||puzzleobu4生成并发布谜题cert4||location4||timestamp4||0||cert1||puzzleobu5生成并发布谜题cert5||location5||timestamp5||0||cert5||puzzleobu6生成并发布谜题cert6||location6||timestamp6||0||cert5||puzzle流程(4):6台车辆各自处理接收到的哈希谜题。以obu1为例,obu1收到其它车辆obu2、obu3、obu4、obu5,obu6发布的哈希谜题:obu2生成并发布谜题cert2||location2||timestamp2||0||cert1||puzzleobu3生成并发布谜题cert3||location3||timestamp3||0||cert1||puzzleobu4生成并发布谜题cert4||location4||timestamp4||0||cert1||puzzleobu5生成并发布谜题cert5||location5||timestamp5||0||cert5||puzzleobu6生成并发布谜题cert6||location6||timestamp6||0||cert5||puzzleobu1分别针对发布成员的数字证书和受益者的数字证书计算哈希谜题的谜底价值,分别更新数字证书的累计谜底价值。obu2、obu3、obu4、obu5、obu6均执行类似操作。流程(5):obu1、obu2、obu3、obu4得到预期验证者候选集合l={5,6},如流程(3)介绍,obu6发布的谜题的收益者数字证书为cert5,则谜底价值最大的数字证书为cert5,则更新预期验证者数字证书dcert=cert5。类似的,obu5、obu6得到预期验证者候选集合l={1,2,3,4},如流程(3)介绍,obu2、obu3、obu4发布的谜题的收益者数字证书为cert1,则谜底价值最大的数字证书为cert1,则更新预期验证者数字证书dcert=cert1。流程(6):如图2(b)所示,车辆构造并发布谜题。obu1记△t3周期开始,并构造哈希谜题,与流程(3)不同,预期验证者数字证书dcert=cert5:cert1||location1||timestamp1||cert5||cert1||puzzle当谜底价值大于0时对外发布,直至△t3周期结束,其中△t2>△t3。类似的上述操作:obu2生成并发布谜题cert2||location2||timestamp2||cert5||cert1||puzzleobu3生成并发布谜题cert3||location3||timestamp3||cert5||cert1||puzzleobu4生成并发布谜题cert4||location4||timestamp4||cert5||cert1||puzzleobu5生成并发布谜题cert5||location5||timestamp5||cert1||cert5||puzzleobu6生成并发布谜题cert6||location6||timestamp6||cert1||cert5||puzzle流程(7):6台车辆各自处理接收到的哈希谜题。以obu1为例,obu1收到其它车辆obu2、obu3、obu4、obu5、obu6发布的哈希谜题:obu2生成并发布谜题cert2||location2||timestamp2||cert5||cert1||puzzleobu3生成并发布谜题cert3||location3||timestamp3||cert5||cert1||puzzleobu4生成并发布谜题cert4||location4||timestamp4||cert5||cert1||puzzleobu5生成并发布谜题cert5||location5||timestamp5||cert1||cert5||puzzleobu6生成并发布谜题cert6||location6||timestamp6||cert1||cert5||puzzleobu1分别针对发布成员的数字证书和受益者的数字证书计算哈希谜题的谜底价值,分别更新数字证书的累计谜底价值。obu2、obu3、obu4、obu5、obu6均执行类似操作。流程(8):obu1、obu2、obu3、obu4的待验证证书集合unverified_set={5,6},如流程(7)介绍,obu6发布的谜题的收益者数字证书为cert5,显然cert5的谜底价值大于cert6,则选择累计谜底价值最大的数字证书cert5进行验证,证书cert5验证正确,obu1、obu2、obu3、obu4将该证书cert5加入合法证书集合,即legal_set={1,2,3,4,5},并将顶点v5及边添加入有向图g。obu5、obu6的待验证证书集合unverified_set={1,2,3,4},如流程(7)介绍,obu2、obu3、obu4发布的谜题的收益者数字证书为cert1,显然cert1的谜底价值大于cert2、cert3、cert4,则选择累计谜底价值最大的数字证书cert1进行验证,证书cert1验证正确,obu5、obu6将该证书cert1加入合法证书集合,即legal_set={1,5,6},并将顶点v1及边添加入有向图g。流程(9):假定△t2周期结束,obu1、obu2、obu3、obu4发布合法证书集合通告{1,2,3,4,5},obu5、obu6发布合法证书集合通告{1,5,6}流程(10):obu1、obu2、obu3、obu4收到obu5发布的合法证书集合通告。因为obu5的数字证书cert5在本地合法证书集合,遍历通告中的证书,其中cert6不在本地合法证书集合且验证成功,则将cert6加入合法证书集合,即legal_set={1,2,3,4,5,6},并将顶点v6及边添加入有向图g。obu5、obu6收到obu1发布的合法证书集合通告。因为obu1的数字证书cert1在本地合法证书集合,遍历通告中的证书,其中,cert2、cert3、cert4不在本地合法证书集合验证成功,则将cert2、cert3、cert4加入合法证书集合,即legal_set={1,2,3,4,5,6},并将顶点v2,v3,v4及边添加入有向图g。流程(11):若△t1周期超时,则返回执行步骤(2);否则返回执行步骤(5)。相比传统方案,互信簇协同认证方法限制了攻击者发送虚假证书报文的能力。为进行量化对比,假定车辆装配有因特奔腾iv3.0ghz机器,则根据已知文献,证书验证中两个核心操作的时间开销为tmul=0.6msec,和tpar=4.5msec。表2是典型分布式别名方法通信及计算开销,它展示了三种典型的分布式别名方法证书长度、证书验证开销及签名验证开销。单个证书有效期长度δt=1min。表2典型分布式别名方法通信及计算开销方法证书长度证书验证开销签名验证开销ecpp1473tpar+9tmul2tmuldcs1673tpar+2tmul3tpar+tmulpass1753tpar+2tmul2tmul(1)计算谜题限制能力评估在传统典型分布式别名方法中,攻击者发送虚假证书报文能力取决于报文发送能力。根据ieee802.11p协议规范,车载通信数据传输率为3~27mbps,取均值15mbps计算,如果采用pass方案,则单个攻击者每秒发送虚假证书通告约为11234个,这些虚假证书导致的验证开销约为165秒,即在证书有效期内无法完成证书的验证。在互信簇协同认证方法中,ddos攻击能力取决于其计算能力。当攻击者拥有10倍于普通车载用户的计算能力,其在证书更新阶段能够伪造的虚假证书数目为10个,其验证开销约为0.147秒。由上述对比可知,互信簇协同认证方法显著限制了单个攻击者的破坏能力。(2)基于互信簇协同认证方法判定能力评估假定系统中共有n个合法车辆,而攻击者群体拥有的计算能力相当于单个合法车辆的m倍。由于计算谜题限制了证书视图,为达到最优攻击效果,假定攻击者采用资源均等的策略模仿m个虚假车辆发布哈希谜题及证书。如果不采用协同机制,则每个车辆需要进行验证(m+n)次证书验证,即开销约为(m+n)*tcert。如果采用互信簇协同认证方法,合法车辆约平均(m/n+1)次证书验证即首次验证到合法证书。根据互信簇协同认证方法的加权机制,一旦发现合法车辆,则定向发布计算谜题,加速互信簇构建。极端情况下,按两两互验证计,约o(log2n)次验证完成全部证书验证,每次验证一个证书及签名,因此,总开销约为明显优于未采用协同机制的情况。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1