首页> 中国专利> 一种基于双层区块链的车联网信任管理方法

一种基于双层区块链的车联网信任管理方法

摘要

本发明公开一种基于双层区块链的车联网信任管理方法,构建了新的信任凭证及评估体系,通过车联网主体的行为频率和信任值增速变化,来反映主体的行为趋势,从而有效提高了信任指标集评估主体可靠性的能力。采用双层区块链的结构,同时保存了信任评估数据和信任凭证数据,并使两类数据在逻辑上相互独立。由此,信任评估系统具有了容纳双重粒度数据的能力,保证了信任评估结果的可审计性和可追溯性。针对信任管理系统的节点特性,提出了基于伪随机数的记账权分配算法,能够有效提高共识效率,且可以避免因为共识而产生算力消耗。本发明还可以使记账节点序列具有不可预测性,从而有效防止有预谋的攻击。

著录项

  • 公开/公告号CN112862311A

    专利类型发明专利

  • 公开/公告日2021-05-28

    原文格式PDF

  • 申请/专利权人 福建工程学院;

    申请/专利号CN202110168886.0

  • 发明设计人 唐郑熠;方伟;王金水;胡文瑜;

    申请日2021-02-07

  • 分类号G06Q10/06(20120101);G06F9/54(20060101);

  • 代理机构35211 福州君诚知识产权代理有限公司;

  • 代理人戴雨君

  • 地址 350000 福建省福州市大学新区学府南路33号

  • 入库时间 2023-06-19 11:08:20

说明书

技术领域

本发明涉及车联网技术领域,尤其涉及一种基于双层区块链的车联网信任管理方法。

背景技术

由于车联网中主体的智能化与移动性,使攻击行为和方式更加复杂多变,对传统的安全防护机制形成了巨大的威胁。而信任管理机制因其所具有的动态适应能力,有望成为保障车联网运行安全的关键技术,是近年来车联网领域的重要研究方向。现有的技术主要分为两类:中心式信任管理:通常包含一个中心节点,信任评估的相关数据都汇总至中心节点进行计算和存储。分布式信任管理:是一种多中心或去中心化的机制,信任评估的相关任务交由一组分布广泛的节点完成。由于分布式信任管理机制具有单点负荷小、响应速度快、数据容错性强等优点,并且符合车联网的发展趋势,近年来已成为该领域主要的研究方向。

现有的技术存在以下问题:(1)信任评估指标单一,无法反映车联网主体的历史行为,不能全面地评估车联网主体的可靠性。(2)细节数据缺失,使信任评估结果缺乏可审计性。(3)共识阶段的算力消耗较为严重,共识效率较低。

发明内容

本发明的目的在于提供一种基于双层区块链的车联网信任管理方法。

本发明采用的技术方案是:

一种基于双层区块链的车联网信任管理方法,其包括以下步骤:

步骤1,构建车联网通讯网络,包括若干主基站,每个主基站连接若干从基站,从基站与车联网中的车辆主体通讯;所有主基站构成的下层通信网络运行下层区块链以存储作为信任凭证的事实依据,所有主基站和从基站共同构成上层通信网络运行上层区块链以存储车联网主体的可信度指标集;

步骤2,每个主体遇到车联网事件时,通过传感器采集信息以生成事件描述,并封装为带有主体标识的事件消息在整个车联网通讯网络中传播形成信息流通;

步骤3,不同主体发送的同一车辆网事件的事件消息构成同事件消息集合M,

步骤4,分别计算同事件消息集合M中每条事件消息的可靠性估值,以可靠性估值最高的事件消息为事实依据,并作为信任凭证存储在下层区块链中;

步骤5,每次事件基于作为事实的事件消息分别计算每个车辆网主体在该事件的信用评分,并及时更新车辆网主体的表现记录,

步骤6,基于车辆网主体的表现记录分别构建每个车联网主体的信任指标集Ω=(c,λ,Δ)存储在上层区块链;其中:c∈Z为主体的信用值,是主体在车联网事件中的表现度量值的累积;λ∈[0,+∞)为行为频率的提升度,是主体近期行为频率与长期行为频率的比值;Δ∈(-∞,+∞)为信用值增速的提升度,是主体近期信用值增速与长期信用值增速的比值。

进一步地,作为一种优选实施方式,步骤1中下层区块链和上层区块链使用伪随机数序列和区块高度来决定记账节点,对主基站和从基站节点分别编号并对所有节点使用相同的伪随机数序列,各个节点在收到区块后根据区块高度和私钥签名,快速验证记账节点是否合法。

进一步地,作为一种优选实施方式,步骤2中车联网主体在遇到车联网事件时,通过传感器采集信息,由自带的计算模块生成事件描述封装为事件消息,并通过自带通信模块将消息广播;收到广播消息的其它主体或基站,将该消息转发使其在整个车联网中传播形成信息流通。

进一步地,作为一种优选实施方式,步骤4中同事件消息集合M中,可靠性估值最高的消息m,所包含的事件e即推断为事实,记为e

进一步地,作为一种优选实施方式,步骤4中信任凭证存储在下层区块链的具体方法为:下层区块链的记账节点依据事实依据集合χ

具体地,区块内容的验证包括记账节点是否合法、区块高度是否合法、块体所含事件的发生时间是否在合法范围、块体所含事件消息的报告主体是否能够通过Bloom过滤器检索到、块体所含事件消息的签名是否合法。

进一步地,作为一种优选实施方式,步骤4中对于

其中,relia(m)表示事件m的可靠性估值,m’表示对事件m的消息报告,credit(m’.a)表示对m’进行可靠性评估的主体a的信用值。

进一步地,作为一种优选实施方式,步骤5中一个事件的信用评分包括诚实表现的信用评分和恶意表现的信用评分。

进一步地,作为一种优选实施方式,步骤5的具体步骤为:

步骤5-1,从每个事实依据中的同事件消息集合获取一条未经评估的事件消息,

步骤5-2,判定该条事件消息的事件描述e与事实e

步骤5-3,验证事件消息中的时间和空间凭证是否可证明;是则,根据事件类型p,对信用值累加对应的诚实表现评分ρ

步骤5-4,更新主体的表现记录。

进一步地,作为一种优选实施方式,步骤6中依据主体的表现记录ω=(t

行为频率提升度cal_fre_lift(ω)的计算公式为:

其中,t

信用值增速提升度cal_spd_lift(ω)的计算公式为:

其中,c

具体地,频率提升度反映的是主体在近期参与车联网事件的频率,是提高(大于1)还是下降(小于1);增速提升度反映的是主体近期的信用值增长速度,是提高(大于1)还是下降(小于1);将主体与信任指标集的对应关系表示为映射f

进一步地,作为一种优选实施方式,步骤6中上层区块链的块体为MPT结构的信任账户树,将信任指标集更新存储在上层区块链时,记账节点先复制原树,并将所有的账户节点置为Hash指针,在信任评估过程中,对信任指标集有变化的账户,生成新的账户节点替代Hash指针;而没有变化的账户,则使用Hash指针引用原信任账户树的对应节点。

进一步地,作为一种优选实施方式,步骤6中主基站节点在生成上层区块后,将上层区块信息在上层网络广播,上层网络中的基站节点先验证生成该上层区块信息的基站节点是否合法,再对上层区块内容进行验证;主基站节点验证上层区块的块头的基础上还根据指定高度范围内的下层区块所包含的事实依据验证对该上层区块块体中的信任账户树;

指定高度范围为[header(b′).Lower_height+1,header(b).Lower_height],其中header(b′)是区块b′的块头部分,header(b)是区块b的块头部分,header(b′).Lower_height是区块b′对应的下层链区块的高度,header(b).Lower_height是区块b对应的下层链区块的高度。

从基站节点仅验证上层区块的块头,并获取主基站节点验证上层区块后广播的确认消息(a′,b,res,sig

本发明采用以上技术方案,(1)构建了新的信任凭证及评估体系,通过车联网主体的行为频率和信任值增速变化,来反映主体的行为趋势,从而有效提高了信任指标集评估主体可靠性的能力。(2)采用双层区块链的结构,同时保存了信任评估数据和信任凭证数据,并使两类数据在逻辑上相互独立。由此,信任评估系统具有了容纳双重粒度数据的能力,保证了信任评估结果的可审计性和可追溯性。(3)针对信任管理系统的节点特性,提出了基于伪随机数的记账权分配算法,能够有效提高共识效率,且可以避免因为共识而产生算力消耗。同时,该算法还可以使记账节点序列具有不可预测性,从而有效防止有预谋的攻击。

附图说明

以下结合附图和具体实施方式对本发明做进一步详细说明;

图1为本发明车联网通信网络的拓扑结构示意图;

图2为本发明信任管理系统的整体结构示意图;

图3为本发明事件消息的传播示意图;

图4为本发明不同接收节点对事件消息的反应策略的流程示意图;

图5为本发明双重区块链系统结构示意图;

图6为本发明上层区块链中MPT树的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图对本申请实施例中的技术方案进行清楚、完整地描述。

如图1至图6之一所示,本发明公开了本发明提出一种基于双层区块链的车联网信任管理方法,其包括以下步骤:

步骤1,构建车联网通讯网络,包括若干主基站,每个主基站连接若干从基站,从基站与车联网中的车辆主体通讯;所有主基站构成的下层通信网络运行下层区块链以存储作为信任凭证的事实依据,所有主基站和从基站共同构成上层通信网络运行上层区块链以存储车联网主体的可信度指标集;

步骤2,每个主体遇到车联网事件时,通过传感器采集信息以生成事件描述,并封装为带有主体标识的事件消息在整个车联网通讯网络中传播形成信息流通;

步骤3,不同主体发送的同一车辆网事件的事件消息构成同事件消息集合M,

步骤4,分别计算同事件消息集合M中每条事件消息的可靠性估值,以可靠性估值最高的事件消息为事实依据,并作为信任凭证存储在下层区块链中;

步骤5,每次事件基于作为事实的事件消息分别计算每个车辆网主体在该事件的信用评分,并及时更新车辆网主体的表现记录,

步骤6,基于车辆网主体的表现记录分别构建每个车联网主体的信任指标集Ω=(c,λ,Δ)存储在上层区块链;其中:c∈Z为主体的信用值,是主体在车联网事件中的表现度量值的累积;λ∈[0,+∞)为行为频率的提升度,是主体近期行为频率与长期行为频率的比值;Δ∈(-∞,+∞)为信用值增速的提升度,是主体近期信用值增速与长期信用值增速的比值。

下面就本发明做详细说明:

具体地,车联网信任管理机制基于分区域的通信网络模型的拓扑结构如图1所示,组成元素包括:基站分区:包含一个主基站和多个从基站。主基站:是每个基站分区的中心单元,具有较强的通信与计算能力。从基站:是基本的通信单元,通信与计算能力弱于主基站,负责接收、转发及响应车辆网中主体的消息与请求。主体:是指信任评估的对象,具有自主行为能力,包括但不限为交通车辆。主体的通信与计算能力最弱,且具有移动性,只能与邻近的基站或主体通信。每个主体都具有唯一的身份标识。通信网络分为两层:下层网络以主基站作为节点构成的通信网络。上层网络以所有的基站作为节点构成的通信网络,但要求每个基站分区内部必须是连通的。双层的通信网络只需在逻辑结构上实现,对物理结构不做限制。车联网中的主体只与上层网络通信,下层网络对其是不可见的。

信任管理系统的整体结构:信任是对被评估对象的可靠性预期,取决于经验,并随着被评估对象的表现不断修正。如图2所示,本发明将被评估对象的行为作为信任凭证,并以其为依据进行信任评估。信任凭证与信任评估结果分别保存在不同的区块链中,形成“双重粒度”的区块链系统。

由于区块链系统中保存了细粒度的信任凭证,这就为信任评估提供了灵活性:在需要改变计算方法的时,无需重新进行信息采集与凭证生成。

本发明以主体遇到车联网事件(例如交通事故、突发路况等)时,是否做出了诚实、准确的报告作为信任凭证。在已有的技术中,缺乏对车联网事件描述的研究,通常是采用简单的符号标识,或避开对标识方法的讨论。然而,车联网事件具有实时性和突发性的特点,不可能为所有的车联网事件都预先设置标识符号。同时,车联网事件本身的信息,对于全面、准确地评估主体表现也是十分重要的。

因此,本发明对车联网事件定义如下:

定义1车联网事件一个车联网事件e=(p,t,s,desc),其中:p是事件类型;t是事件的时间标记;s是事件的空间标记;desc是事件内容。

时间、空间和内容的描述及匹配已有相关的成熟技术,例如:对于时间,可以采用时间戳技术;对于空间,可以采用经纬度方法表达;对于内容描述,可以采用预定义标识、文本或本体概念的形式描述及匹配。

本发明将此部分表达为抽象的功能单元,可以兼容任何满足以下接口标准的技术:(1)对于两个内容描述,产生“匹配”与“不匹配”两种结果。(2)对于两个时间标记,产生“匹配”与“不匹配”两种结果。(3)对于两个空间标记,产生“匹配”与“不匹配”两种结果。

为了行为的方便,定义以下记号:对于时间标记t、t′,谓词Γ

事件的产生与传播:主体在遇到车联网事件时,可通过传感器采集信息,由计算模块生成事件描述封装为事件消息,并由通信模块将消息广播。收到广播消息的其它主体或基站,可将该消息转发,使其在整个车联网中传播,形成信息流通,如图3所示。例如,当交通事故发生时,附近的主体可以将事故情况进行广播,从而起到提示和预警的效果。但主体具有自主行为能力,其是否报告或诚实报告事件,是不可控的,则事件消息的定义如下:

定义2事件消息一个事件消息m=(a,t

如图4所示,主体、主基站和从基站在收到事件消息后的反应策略流程示意图,其中:(1)满足信任策略是指,发送消息的主体的信任度量指标,是否满足预设的策略规则。(2)属于本辖区是指:消息中所描述的事件发生地点,是否处于本主基站的管辖区域。图4中省略了主体、主基站和从基站在收到消息后,都要先验证消息中的数字签名sig

事件推断与事实依据:对于一组报告同一事件的消息,可能包含真实或虚假的描述,因此需要从中推断事件的真实情况,即事实。事实推断需要使用消息发送主体的信用值,它是一个整数,其值越大表示主体越可信。使用记号credit(a)表示主体a的信用值。

从同事件消息集合M中推断事实,是通过计算每条消息的可靠性估值

同事件消息集合M中,可靠性估值最高的消息m,所包含的事件e即推断为事实,记为e

进一步地,同事件消息集合以及相应的事实被组织为事实依据,作为信任凭证存储在下层区块链中,事实依据的定义为:

定义3事实依据一个事实依据χ=(e

信任评估体系:信任指标是对主体可靠性的量化评估,然而单一的指标只能反应主体的片面特征,表达能力不足。为了反映主体行为的稳定性,更好地评估主体的整体表现,本文提出一个能够体现主体长期和近期表现的指标体系,定义如下:

定义4信任指标集一个主体的信任指标集Ω=(c,λ,Δ),其中:c∈Z为主体的信用值,是主体在车联网事件中的表现度量值的累积;λ∈[0,+∞)为行为频率的提升度,是主体近期行为频率与长期行为频率的比值;Δ∈(-∞,+∞)为信用值增速的提升度,是主体近期信用值增速与长期信用值增速的比值。频率提升度反映的是主体在近期参与车联网事件的频率,是提高(大于1)还是下降(小于1);增速提升度反映的是主体近期的信用值增长速度,是提高(大于1)还是下降(小于1)。通过这两个指标,可以识别车联网主体的行为趋势是否存在异常。将主体与信任指标集的对应关系表示为映射f

信任评估算法:信任指标集的计算根据是事实依据,对于每一个新的事实依据,都要更新相关主体的信任指标集。为了描述评估算法,首先定义两个数据结构:

定义5事件评分一个事件评分κ=(ρ

定义6表现记录一个车联网主体的表现记录ω=(t

依据主体的表现记录ω=(t

(1)行为频率提升度cal_fre_lift(ω)计算公式为:

(2)信用值增速提升度cal_spd_lift(ω)的计算公式为:

信任评估的具体过程为:对每个事实依据中的同事件消息集合进行评估,对每条消息:如果事件描述e与事实e

如图5所示,为了能够快速响应车联网中主体的查询请求,同时降低对从基站的硬件要求,本发明提供了一种双层结构的区块链系统,将细粒度的信任凭证和粗粒度的信任指标集分开存储,既保留了细节数据,又不会对基站造成过重的存储负载。系统的整体结构如图5所示。

主基站运行下层区块链,存储信任凭证,即事实依据;所有的主基站和从基站运行上层区块链,存储车联网主体的可信度指标集。事实依据是对主体进行信任评估的凭证,除了可用于计算主体的信任指标集,还能在进行系统恢复、数据审计、数据分析时提供细粒度的信息。

上层区块链和下层区块链具有相似的结构,都是由多个区块通过Hash指针链接而成,其结构如下:

定义7区块链一条区块链Ξ=(B,f

记账权分配算法:为了保证数据的全局一致性,每个区块只能由唯一的节点生成,即记账节点,产生记账节点并让其它节点认同记账节点所生成区块的过程,称为共识。著名的比特币系统的记账权分配算法采用了工作量证明机制,取得了巨大的成功,也使工作量证明机制成为了记账权分配的主流方法。因此,本发明设计了一个基于有界伪随机数序列的记账权分配算法。有界伪随机数序列是一个具有随机性质的已知整数序列,其元素有指定的取值范围。对于有界伪随机数序列

产生有界伪随数序列:主流的编程语言都提供了伪随机函数:在随机种子固定的情况下,产生相同的具有随机性质的随机数序列。

区块链系统使用伪随机数序列和区块高度来决定记账节点:对节点编号,并对所有节点使用相同的伪随机数序列

下层区块链:下层区块的块头结构如表1所示。

表1下层区块的块头结构

主要块头元素的说明如下:

1)Prev_hash:该元素决定了区块的链接关系,对于区块链Ξ=(B,f

2)Bloom_fillter:Bloom过滤器用于过滤查询请求,在查询指定车联网主体的事件消息记录时,可以先用Bloom过滤器对主体标识进行过滤,以确定区块体中是否包指定主体发布的事件消息。Bloom过滤器的定义如下:

定义8Bloom过滤器一个Bloom过滤器β=(Σ,H),其中:Σ=

若块体中保存有主体a发出的消息,则执行:

For all h∈H Then

Σ[h(a)]:=1

End Then

将以上操作简记为fill(β,a)。

对查询进行过滤时,将主体标识对H中的所有Hash函数做运算,结果作为过滤表的索引。若索引值有一个不为0,则查询的主体不在该区块中。

将以上操作定义为谓词:

Bloom过滤器是存在误差的:当谓词exist(β,a)为真,块体中并不一定包含主体a;但若exist(β,a)为假,则块体中一定不包含主体a。尽管如此,Bloom过滤器依然是十分有用的,它可以大大地提高查询效率,同时在出现误差的情况下,并不会造成查询结果出错。

3)Merkle_root:块体中Merkle树的树根值,用于保证块体的内容不会被篡改。

下层区块的块体是一棵叶子节点为事实依据的Merkle树,称为事实依据树。

对构成树结构的节点集合D和节点连接集合L={(a,b)|a,b∈D},定义谓词isTree(D,L),当isTree(D,L)为真,满足:1)

定义9事实依据树一棵事实依据树Ψ

Merkle树是一棵满二叉树,用叶子节点保存数据,并自底向上两两进行Hash运算,直到计算出根节点。因此,叶子节点的数量应为偶数,如果是奇数,可以通过复制最后一个叶子节点等技术手段来处理。

由事实依据集合χ

共识过程是让所有区块链节点的数据保持一致,包含两个部分:区块生成、区块验证。

下层区块的生成算法为:将主体a的编号记为index(a),将由同事件消息集合M中推断事实的过程记为infer(M)。为了保证区块不会过大,规定每个区块最多包含σ

记账节点从消息池中取出未上链的消息,组织为多个同事件消息集合M,并一一进行事实推断e

节点a在生成区块b后,将区块消息(a,b,sig

上层区块链:上层区块链运行在所有的基站上,其块头结构如表2所示。

表2上层区块的块头结构

主要块头元素的说明如下:

1)Lower_height:该区块所对应的下层区块的高度,用于标记块体中信任账户信息的更新范围。若当前区块的Lower_height为j,其前驱区块的Lower_height为i,则当前区块块体中的信任账户信息,是根据高度在[i+1,j]范围内的下层区块所存储的事实依据所更新的。

2)MPT_root:块体中Merkle树的树根值,用于保证块体的内容不会被篡改。块体中存储的是所有车联网主体的信任指标集,称为信任账户,采用的数据结构是MerklePatricia Tree,即MPT树。如图6所示,MPT树是一种结合了Trie树和Merkle树特点的数据结构,它与Merkle树一样使用叶子节点存储数据,节点之间使用Hash指针连接,但同时在节点中增加了索引串。图6中的MPT树存储了5个账户,账户标识为10位16进制数:ab359e2d63、ab3f6ac8de、ab3f6acb2f、abcf6ace57、abcf6ace53。在MPT树中,账户标识被划分为两个部分:共享前缀串和尾串。当多个账户标识包含相同的前缀时,前缀被分割作为索引串形成一个前缀串节点,而剩下的部分则作为子节点继续分割,直到叶子节点。通过索引串,能够在庞大的MPT树种快速搜索到指定的账户(叶子节点)。

将车联网主体的可信指标集作为MPT树叶子节点的存储内容,以主体标识作为索引串,构成信任账户树,其结构如下:

定义10信任账户树一棵信任账户树Ψ

为了降低空间消耗,块体在存储新的信任账户树时,只对信任指标集有变化的账户重新创建账户节点,而没有变化的账户,则使用Hash指针引用原信任账户树的对应节点。

生成信任账户树的算法为:先复制原树,并将所有的账户节点置为Hash指针,在信任评估过程中,对信任指标集有变化的账户,生成新的账户节点替代Hash指针。由于信任账户树的节点连接采用的是Hash指针,账户节点的变化会导致其Hash值发生变化,因此应同时更新其前驱点的Hash指针集合。构建新的信任账户树应在生成一个上层区块后开始,直到要生成下一个上层区块时为止。

上层链运行在所有的基站节点上,但由于事实依据只存储在下层链中,只有主基站节点才能更新信任账户树,因此上层链的记账权也只分配给主基站节点。上层区块的生成块体为MPT结构的信任账户树。记账节点生成上层区块后,将区块消息(a,b,sig

由于从基站节点没有维护信任账户树,因此无法对块体进行验证,只能验证块头。主基站节点除了要进行块头的验证,还要根据高度在[header(b′).Lower_height+1,header(b).Lower_height]范围内的下层区块所包含的事实依据,对块体中的信任账户树进行验证。同时,主基站节点还需验证上层区块产生时,下层区块链是否满足安全长度的要求。

为了让从基站节点能够得到块体验证结果,主基站节点a′在验证区块b后,将广播确认消息(a′,b,res,sig

本发明构建了信任凭证产生、传播的方法与网络模型,以及能够反映主体行为稳定性的信任评估方法及指标集。同时,通过引入双层结构和改进共识过程,使信任管理系统具有了容纳“双重粒度”数据的能力,并且不需要通过消耗算力来保障共识。双层链的结构还使信任管理系统的边缘节点实现了“轻量化”,有效降低了边缘节点的硬件要求和系统的覆盖范围。

显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号