本发明涉及车联网中的安全通信,具体是一种基于群智感知的车联网节点信誉评估方法。
背景技术:
群智感知网络是一种新型的物联网感知网络,该网络能够高效、快捷的完成网络感知任务,非常适合车联网中安全通信的需求。车联网的安全通信涉及车辆节点隐私保护、节点信任等多个方面。其中,车辆节点的信任度评估是车联网进行可信通信的重要环节。现有的信誉评估机制主要有基于直接信任的信誉评估机制、基于“社区”的信誉评估机制等。这些方法只考虑通信双方的信任度评估或相邻节点的信任度评估,而信誉度低于阈值的节点,在信誉评估过程中无法参与进来,导致评估过程中考虑的相关因素较少,使得信誉评估有一定的局限性,降低了综合评估信任度的准确性。
技术实现要素:
本发明的目的在于提供一种基于群智感知的车联网节点信誉评估方法,以克服现有技术的不足。
为达到上述目的,本发明采用如下技术方案:
一种基于群智感知的车联网节点信誉评估方法,具体包括以下步骤:
步骤1)、获取各路侧单元的信誉值列表,根据各路侧单元的信誉值列表中对同一路侧单元信誉值记录,得到各路侧单元的可信度;
步骤2)、群智感知服务器获取在单位时间内可信度满足设定阈值的相邻路侧单元的历史交互次数,根据历史交互次数得到路侧单元的通信积极性;
步骤3)、分别获取不同车辆节点之间的直接信任度、车辆节点的推荐信任度和满足通信要求的路侧单元对车辆节点的反馈信任度;
步骤4)、根据获取的不同车辆节点之间的信任度、车辆节点的推荐信任度和路侧单元对车辆节点的反馈信任度,进行加权平均得到车辆节点的全局信任度。
进一步的,步骤1)具体包括以下步骤:
a、通过群智感知服务器css获取每个路侧单元的信誉值列表ri={ri1,ri2...rii...rin};得到各路侧单元的信誉值列表集合a=[r1,r2,...ri...rn]:
ri表示第i个rsu信誉值列表;其中ri1,ri2...rii...rin是第i个rsu中记录的各rsu的信誉值;
b、计算集合a每一列中相同信誉值的数目与该列信誉值的总数目的比值k;
c,如果比值k大于设定阈值a,则该列信誉值对应的rsu是可信的,否则该列信誉值对应的rsu不可信。
进一步的,a取值0.5。
进一步的,在可信度满足设定阈值的路侧单元中,css获取在单位时间tp内相邻可信的rsu的历史交互次数n,如果n>θ1;θ1是两个rsu历史交互次数的阈值,则该rsu可进行通信;否则,判该rsu不可进行通信。
进一步的,步骤5)中,如果车辆节点的全局信任度值小于设定信任度阈值,则该车辆节点获取与其相邻车辆节点集合的信誉值集合,取信誉值集合中全局信任度值大于设定信任度阈值的车辆节点的信誉值,求所有大于设定信任度阈值的车辆节点信誉值的平均值;取全局信任度值与平均值之差小于设定误差值的车辆节点作为学习对象车辆节点,全局信任度值小于设定信任度阈值的车辆节点向学习对象车辆节点进行消息行为效仿学习,直至该车辆节点的信誉度值大于等于设定信任度阈值。
进一步的,获取不同车辆节点之间的直接信任度,具体计算车辆节点vj的直接信任度dj:
1.2车辆节点vi与车辆节点vj通信,获取车辆节点vj的经纬度坐标,计算车辆节点vi和车辆节点vj的通信距离;
车辆节点vi与车辆节点vj的通信距离如下:
其中xi、yi、xj、yj分别代表节点vi和节点vj的经纬度坐标;
1.2在单位时间tp内,车辆节点vi与车辆节点vj的交互次数nij,车辆节点vi与所有车辆节点交互的总次数nv,两者的比值
得到车辆节点vj的直接信任度dj为:
其中dij表示通信距离信息,
进一步的,计算车辆节点vj的推荐信任度rj:
2.1车辆节点vi向其相邻车辆节点集合vk={vk1,vk2,…vkn}发出请求指令,每个相邻车辆节点vki(i∈n)收到该请求指令后,相邻车辆节点vki把对车辆节点vj的评估信誉值提交给车辆节点vi;(vk1,vk2,…vkn表示节点vj的不同相邻节点)。
2.2车辆节点vi将相邻车辆节点集合vk提供的信誉值存储在数据集b1=(rk1,rk2,…,rkn)中;(rk1,rk2,…,rkn表示每个相邻节点vki对节点vj的信誉值)。
2.3如果相邻车辆节点vki的信誉值小于θ2(θ2是车辆节点信誉值的阈值),则舍去该相邻车辆节点vki提供对车辆节点vj的信誉值;将信誉值大于θ2的相邻车辆节点vki提供的信誉值存储在数据集b2=(rk1,rk2,…,rkm)中。其中m≤n。
2.4对数据集b2中的信誉值进行加权平均,得到车辆节点vj的推荐信任值rj:
其中αi表示相邻节点vki的权重,m表示数据集b2中信誉值的数目;rki表示数据集b2中的信誉值。
进一步的,计算rsu对车辆节点vj的反馈信任度rsj:
3.1rsu向其相邻车辆节点vki发送请求指令,请求相邻车辆节点vki将车辆节点vj的信誉度提交给rsu;
3.2rsu将得到的反馈信息存储在数据集b3=(hk1,hk2,…,hkn)中,对数据集b3中的信誉值进行均值m计算;
3.3均值m和rsu对车辆节点vj的历史信誉值u进行加权平均,得到rsu对车辆节点vj的反馈信任值rsj:
其中
进一步的,车辆节点vj的全局信任度值hj:
β、γ、
进一步的,提升车辆节点的全局信任度值:
步骤1,当车辆节点vi的全局信任度值低于阈值θ2时,车辆节点vi对相邻车辆节点集合vk={vk1,vk2,…vki}发出请求,获取各相邻节点vki={rvk,tv,dv}的信誉值rvk记录在数据集c1中;rvk表示节点vki的信誉值,tv表示转发消息行为,dv表示自发消息行为;
步骤2,rsu获取存放在数据集c1中全局信任度值大于阈值θ2的车辆节点的全局信任度值,将这些车辆节点的全局信任度值存放在数据集c2中;
步骤3,通过计算数据集c2中数据的平均值,取全局信任度值与平均值之差小于设定误差值的车辆节点作为学习对象车辆节点,即找出最接近于均值的信誉值的车辆节点vg,将车辆节点vg推荐给车辆节点vi;设定误差值小于0.1;
步骤4,车辆节点vi对推荐车辆节点vg进行行为模仿,包括转发消息行为模仿和自发消息行为模仿,提高车辆节点vi全局信任度值。
与现有技术相比,本发明具有以下有益的技术效果:
本发明一种基于群智感知的车联网节点信誉评估方法,首先获取各路侧单元的信誉值列表,根据各路侧单元的信誉值列表中对同一路侧单元信誉值记录得到各路侧单元的可信度;然后群智感知服务器获取在单位时间内可信度满足设定阈值的相邻路侧单元的历史交互次数,根据历史交互次数得到路侧单元的通信积极性;通过分别获取不同车辆节点之间的直接信任度、车辆节点的推荐信任度和通信积极性满足通信要求的路侧单元对车辆节点的反馈信任度;根据获取的不同车辆节点之间的信任度、车辆节点的推荐信任度和路侧单元对车辆节点的反馈信任度,进行加权平均得到车辆节点的全局信任度,本发明方法简单,通过三处信任度加权平均得到车辆节点的全局信任度,能够有效提高车辆节点信任度评估的准确性。
进一步的,对于车辆节点的全局信任度值小于设定信任度阈值进行消息行为效仿学习,提升全局信任度值小于设定信任度阈值的车辆节点的信誉度值,直至该车辆节点的信誉度值大于等于设定信任度阈值,能够有效提升综合评估信任度的准确性。
附图说明
图1为群智感知服务器css获取可靠rsu流程图。
图2为群智感知的车联网通信架构图。
图3为车联网中车辆节点的信任度的流程框图。
图4为提升车辆节点全局信任度值流程图。
具体实施方式
下面结合附图对本发明做进一步详细描述:
如图1至图4所示,一种基于群智感知的车联网节点信誉评估方法,具体包括以下步骤:
步骤1)、获取各路侧单元的信誉值列表,根据各路侧单元的信誉值列表中对同一路侧单元信誉值记录得到各路侧单元的可信度;
步骤2)、群智感知服务器获取在单位时间内可信度满足设定阈值的相邻路侧单元的历史交互次数,根据历史交互次数得到路侧单元的通信积极性;
步骤3)、分别获取不同车辆节点之间的直接信任度、车辆节点的推荐信任度和满足通信要求的路侧单元对车辆节点的反馈信任度;
步骤4)、根据获取的不同车辆节点之间的信任度、车辆节点的推荐信任度和路侧单元对车辆节点的反馈信任度,进行加权平均得到车辆节点的全局信任度。
首先,利用群智感知服务器css(crowdseningservers)感知网络中的路侧单元rsu(roadsideunit)是否正常工作,并进行记录,确保网络中的rsu是正常运行的,其次,根据车联网分布式结构的特点,分别从不同车辆节点之间的直接信任度、车辆节点的推荐信任度和满足通信要求的路侧单元对车辆节点的反馈信任度,进行综合评估车辆节点的信任度,为了信誉度低于阈值的车辆节点在今后的信誉评估中参与进来,进行消息行为效仿学习,可以提高综合评估信任度的准确性。
获取各路侧单元的信誉值列表,根据各路侧单元的信誉值列表中对同一路侧单元信誉值记录得到各路侧单元的可信度,群智感知服务器获取在单位时间内可信度满足设定阈值的相邻路侧单元的历史交互次数,根据历史交互次数得到路侧单元的通信积极性,具体步骤如下:
1,群智感知服务器css向每个rsu发送要求回复信誉值列表请求,各rsu收到请求后将各自的信誉值列表ri={ri1,ri2...rii...rin}反馈给群智感知服务器css;
ri表示第i个rsu信誉值列表;其中ri1,ri2...rii...rin是ri中记录的各rsu的信誉值;
2,群智感知服务器css收到每个rsu的信誉值列表信息后,将该信息存储在集合a=[r1,r2,...ri...rn]中。
其中,ri表示第i个rsu提供的信誉值列表;
计算集合a每一列中相同信誉值的数目与该列信誉值的总数目的比值k;
3,如果比值k大于设定阈值a,则该列信誉值对应的rsu是可信的,否则该列信誉值对应的rsu不可信,本申请a取值0.5;
4,在可信度满足设定阈值的路侧单元中,css获取在单位时间tp内可信的相邻rsu的历史交互次数n,判断rsu的通信积极性;如果n>θ1;θ1是两个rsu历史交互次数的阈值,则判定该rsu是积极的,可以进行通信;否则,判定该rsu是消极的,不可进行通信。
分别获取不同车辆节点之间的信任度、车辆节点的推荐信任度和满足通信要求的路侧单元对车辆节点的反馈信任度;
不同车辆节点之间的信任度:车辆节点vi对车辆节点vj的信任度评估,具体步骤如下:
定义车辆节点vi={rv,lv(xi,yi),tp,nv,nij},其中rv表示车辆节点vi的信誉值;lv(xi,yi)表示车辆节点vi的经纬度坐标;tp表示单位通信时间段;nv表示在单位通信时间段内车辆节点vi与所有车辆节点交互的总次数;nij表示在单位通信时间段内车辆节点vi与车辆节点vj的交互次数;
步骤1,计算车辆节点vj的直接信任度dj
1.3车辆节点vi与车辆节点vj通信,获取vj的经纬度坐标,计算车辆节点vi和车辆节点vj的通信距离。
车辆节点vi与车辆节点vj的通信距离如下:
其中xi、yi、xj、yj分别代表节点vi和节点vj的经纬度坐标;
1.2在单位时间tp内,车辆节点vi与车辆节点vj的交互次数nij,车辆节点vi与所有车辆节点交互的总次数nv,两者的比值
车辆节点vj的直接信任度dj的计算如下:
其中dij表示通信距离信息,
步骤2计算车辆节点vj的推荐信任度rj
2.1车辆节点vi向相邻车辆节点集合vk={vk1,vk2,…vkn}发出请求指令,每个相邻车辆节点vki(i∈n)收到该请求指令后,相邻车辆节点vki把对车辆节点vj的评估信誉值提交给车辆节点vi;(vk1,vk2,…vkn表示节点vj的不同相邻节点)。
2.2车辆节点vi将相邻车辆节点集合vk提供的信誉值存储在数据集b1=(rk1,rk2,…,rkn)中;(rk1,rk2,…,rkn表示每个相邻节点vki对节点vj的信誉值)。
2.3如果相邻车辆节点vki的信誉值小于θ2(θ2是车辆节点信誉值的阈值),则舍去该相邻车辆节点vki提供对车辆节点vj的信誉值;将信誉值大于θ2的相邻车辆节点vki提供的信誉值存储在数据集b2=(rk1,rk2,…,rkm)中。其中m≤n。
2.4对数据集b2中的信誉值进行加权平均,得到车辆节点vj的推荐信任值,推荐信任度rj的计算如下:
其中αi表示相邻节点vki的权重,m表示数据集b2中信誉值的数目。rki表示数据集b2中的信誉值。
步骤3,计算rsu对车辆节点vj的反馈信任度rsj
3.1rsu向相邻车辆节点vki发送请求指令,请求邻居车辆节点vki将车辆节点vj的信誉度提交给rsu;
3.2rsu得到反馈信息后,将其存储在数据集b3=(hk1,hk2,…,hkn)中,对数据集b3中的信誉值进行均值m计算。
3.3均值m和rsu对车辆节点vj的历史信誉值u进行加权平均,得到rsu对车辆节点vj的反馈信任值rsj;其反馈信任值rsj获取如下:
其中
3.4将rsu对车辆节点vj的反馈信任值rsj发送给节点vi。
4,车辆节点vj的信任度可以由上述三个因素来综合评估,即直接信任度dj,推荐信任度rj和反馈信任度rsj。
车辆节点vj的全局信任度hj计算如下:
其中hj表示节点vi对节点vj的全局信任度,β、γ、
进一步的,由于信誉度低于阈值的车辆节点无法参与到对车辆节点vj的信誉度评估,为了信誉度低于阈值的车辆节点在今后的信誉评估中参与进来,本发明提出一种车辆信誉的挽回策略,进一步完善车联网节点信誉评估。
车辆信誉的挽回策略,具体步骤如下:
步骤1,当车辆节点vi的全局信任度值低于阈值θ2时,车辆节点vi对相邻车辆节点集合vk={vk1,vk2,…vki}发出请求,获取各相邻节点vki={rvk,tv,dv}的信誉值rvk记录在数据集c1中;rvk表示节点vki的信誉值,tv表示转发消息行为,dv表示自发消息行为;
步骤2,rsu获取存放在数据集c1中全局信任度值大于阈值θ2的车辆节点的全局信任度值,将这些车辆节点的全局信任度值存放在数据集c2中;
步骤3,通过计算数据集c2中数据的平均值,取全局信任度值与平均值之差小于设定误差值的车辆节点作为学习对象车辆节点,即找出最接近于均值的信誉值的车辆节点vg,将车辆节点vg推荐给车辆节点vi;设定误差值小于0.1;
步骤4,车辆节点vi对推荐车辆节点vg进行行为模仿,包括转发消息行为模仿和自发消息行为模仿,提高车辆节点vi全局信任度值。
1.一种基于群智感知的车联网节点信誉评估方法,其特征在于,具体包括以下步骤:
步骤1)、获取各路侧单元的信誉值列表,根据各路侧单元的信誉值列表中对同一路侧单元信誉值记录,得到各路侧单元的可信度;
步骤2)、群智感知服务器获取在单位时间内可信度满足设定阈值的相邻路侧单元的历史交互次数,根据历史交互次数得到路侧单元的通信积极性;
步骤3)、分别获取不同车辆节点之间的直接信任度、车辆节点的推荐信任度和满足通信要求的路侧单元对车辆节点的反馈信任度;
步骤4)、根据获取的不同车辆节点之间的直接信任度、车辆节点的推荐信任度和路侧单元对车辆节点的反馈信任度,进行加权平均得到车辆节点的全局信任度。
2.根据权利要求1所述的一种基于群智感知的车联网节点信誉评估方法,其特征在于,步骤1)具体包括以下步骤:
a、通过群智感知服务器css获取每个路侧单元的信誉值列表ri={ri1,ri2...rii...rin};得到各路侧单元的信誉值列表集合a=[r1,r2,...ri...rn]:
ri表示第i个rsu信誉值列表;其中ri1,ri2...rii...rin是第i个rsu中记录的各rsu的信誉值;
b、计算集合a每一列中相同信誉值的数目与该列信誉值的总数目的比值k;
c,如果比值k大于设定阈值a,则该列信誉值对应的rsu是可信的,否则该列信誉值对应的rsu不可信。
3.根据权利要求2所述的一种基于群智感知的车联网节点信誉评估方法,其特征在于,a取值0.5。
4.根据权利要求2所述的一种基于群智感知的车联网节点信誉评估方法,其特征在于,在可信度满足设定阈值的路侧单元中,css获取在单位时间tp内与相邻可信的rsu通信的历史交互次数n,如果n>θ1;θ1是两个rsu历史交互次数的阈值,则该rsu可进行通信;否则,判该rsu不可进行通信。
5.根据权利要求1所述的一种基于群智感知的车联网节点信誉评估方法,其特征在于,步骤4)中,如果车辆节点的全局信任度值小于设定信任度阈值,则该车辆节点获取与其相邻车辆节点的信誉值集合,取信誉值集合中全局信任度值大于设定信任度阈值的车辆节点的信誉值,求所有大于设定信任度阈值的车辆节点信誉值的平均值;取全局信任度值与平均值之差小于设定误差值的车辆节点作为学习对象车辆节点,全局信任度值小于设定信任度阈值的车辆节点向学习对象车辆节点进行效仿学习,直至该车辆节点的信誉度值大于等于设定信任度阈值。
6.根据权利要求1所述的一种基于群智感知的车联网节点信誉评估方法,其特征在于,获取不同车辆节点之间的直接信任度,具体计算车辆节点vj的直接信任度dj:
1.1车辆节点vi与车辆节点vj通信,获取车辆节点vj的经纬度坐标,计算车辆节点vi和车辆节点vj的通信距离;
车辆节点vi与车辆节点vj的通信距离如下:
其中xi、yi、xj、yj分别代表节点vi和节点vj的经纬度坐标;
1.2在单位时间tp内,车辆节点vi与车辆节点vj的交互次数nij,车辆节点vi与所有车辆节点交互的总次数nv,两者的比值
得到车辆节点vj的直接信任度dj为:
其中dij表示通信距离信息,
7.根据权利要求6所述的一种基于群智感知的车联网节点信誉评估方法,其特征在于,计算车辆节点vj的推荐信任度rj:
2.1车辆节点vi向其相邻车辆节点集合vk={vk1,vk2,…vkn}发出请求指令,每个相邻车辆节点vki(i∈n)收到该请求指令后,相邻车辆节点vki把对车辆节点vj的评估信誉值提交给车辆节点vi;vk1,vk2,…vkn表示节点vj的不同相邻车辆节点;
2.2车辆节点vi将相邻车辆节点集合vk提供的信誉值存储在数据集b1=(rk1,rk2,…,rkn)中;rk1,rk2,…,rkn表示每个相邻节点vki对节点vj的信誉值;
2.3如果相邻车辆节点vki的信誉值小于θ2,θ2是车辆节点信誉值的阈值,则舍去该相邻车辆节点vki提供对车辆节点vj的信誉值;将信誉值大于θ2的相邻车辆节点vki提供的信誉值存储在数据集b2=(rk1,rk2,…,rkm)中;其中m≤n;
2.4对数据集b2中的信誉值进行加权平均,得到车辆节点vj的推荐信任值rj:
其中αi表示相邻车辆节点vki的权重,m表示数据集b2中信誉值的数目;rki表示数据集b2中的信誉值。
8.根据权利要求7所述的一种基于群智感知的车联网节点信誉评估方法,其特征在于,计算rsu对车辆节点vj的反馈信任度rsj:
3.1rsu向其相邻车辆节点vki发送请求指令,请求相邻车辆节点vki将车辆节点vj的信誉度提交给rsu;
3.2rsu将得到的反馈信息存储在数据集b3=(hk1,hk2,…,hkn)中,对数据集b3中的信誉值进行均值m计算;
3.3均值m和rsu对车辆节点vj的历史信誉值u进行加权平均,得到rsu对车辆节点vj的反馈信任值rsj:
其中
9.根据权利要求8所述的一种基于群智感知的车联网节点信誉评估方法,其特征在于,车辆节点vj的全局信任度值hj:
β、γ、
10.根据权利要求5所述的一种基于群智感知的车联网节点信誉评估方法,其特征在于,提升车辆节点的全局信任度值:
步骤1,当车辆节点vi的全局信任度值低于阈值θ2时,车辆节点vi对相邻车辆节点集合vk={vk1,vk2,…vki}发出请求,获取各相邻节点vki={rvk,tv,dv}的信誉值rvk记录在数据集c1中;rvk表示节点vki的信誉值,tv表示转发消息行为,dv表示自发消息行为;
步骤2,rsu获取存放在数据集c1中全局信任度值大于阈值θ2的车辆节点的全局信任度值,将这些车辆节点的全局信任度值存放在数据集c2中;
步骤3,通过计算数据集c2中数据的平均值,取全局信任度值与平均值之差小于设定误差值的车辆节点作为学习对象车辆节点,即找出最接近于均值的信誉值的车辆节点vg,将车辆节点vg推荐给车辆节点vi;设定误差值小于0.1;
步骤4,车辆节点vi对推荐车辆节点vg进行行为模仿,包括转发消息行为模仿和自发消息行为模仿,提高车辆节点vi全局信任度值。
技术总结