CN114844654B - 车联网可信状态数据证明方法 - Google Patents

车联网可信状态数据证明方法 Download PDF

Info

Publication number
CN114844654B
CN114844654B CN202210788959.0A CN202210788959A CN114844654B CN 114844654 B CN114844654 B CN 114844654B CN 202210788959 A CN202210788959 A CN 202210788959A CN 114844654 B CN114844654 B CN 114844654B
Authority
CN
China
Prior art keywords
data
vehicle
merkle tree
signature
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210788959.0A
Other languages
English (en)
Other versions
CN114844654A (zh
Inventor
邓庭波
蔡洁
胡荣
向斌
田谷
曹秋雷
王梦瑶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan Cryptographic Engineering Research Center Co ltd
Original Assignee
Hunan Cryptographic Engineering Research Center Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hunan Cryptographic Engineering Research Center Co ltd filed Critical Hunan Cryptographic Engineering Research Center Co ltd
Priority to CN202210788959.0A priority Critical patent/CN114844654B/zh
Publication of CN114844654A publication Critical patent/CN114844654A/zh
Application granted granted Critical
Publication of CN114844654B publication Critical patent/CN114844654B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种车联网可信状态数据证明方法,包括:采集车辆状态数据,对所述车辆状态数据签名后打包发送至车辆企业的数据处理平台;所述数据处理平台验证所述车辆状态数据是否符合预设条件,将符合预设条件的数据构建Merkle Tree,并保存所述Merkle Tree中所有的哈希运算路径,将包含Merkle Tree根哈希值和签名信息的数据包广播给所有的共识节点;利用共识算法将区块写入区块链中;在所述区块链中根据根哈希值的摘要值,查询其是否在相应区块的Merkle Tree叶子结点参数中,若存在,证明数据可信。

Description

车联网可信状态数据证明方法
技术领域
本发明涉及车联网技术领域,特别涉及一种车联网可信状态数据证明方法。
背景技术
随着交通工具的现代化和汽车数量的急剧增加,车辆事故也不断增加。车辆事故发生后,需要采集车辆行驶状态数据等,根据状态数据来判断车辆事故发生的真正原因,因此,状态数据的真实性就显得尤为重要。
现有技术中,公开号CN111245966 A“一种基于区块链架构的车联网信息共享方法”提出了车联网信息共享激励方法,激励汽车主动共享信息,车辆用户可以被动接收其余车辆的信息,但无法保证接受信息的可靠性、真实性,共享的信息依旧存在被篡改、被攻击的可能性。公开号CN111464980 A“一种车联网环境下基于区块链的电子取证装置及取证方法”提出了车辆信息由路测单元RSU采集,交管部门和RSU设备为共识节点,保存数据并写入区块链中,该设计模型将区块数据的广播和共识功能放入RSU设备中,严重增加了RSU设备的工作负载,当大规模安装RSU设备后,会面临RSU设备的数据处理速度慢、网络吞吐量不足等严峻问题。
发明内容
本发明提供了一种车联网可信状态数据证明方法,其目的是为了使可信状态数据具有真实性、不可篡改性等特点,在现有车载单元OBU硬件能力下,该证明方法能够满足大规模的实际应用。
为了达到上述目的,本发明提供了一种车联网可信状态数据证明方法,包括:
步骤1,采集车辆状态数据,对所述车辆状态数据签名后打包发送至车辆企业的数据处理平台;
步骤2,所述数据处理平台验证所述车辆状态数据是否符合预设条件,将符合预设条件的数据构建Merkle Tree,并保存所述Merkle Tree中所有的哈希运算路径,将包含Merkle Tree根哈希值和签名信息的数据包广播给所有的共识节点;
步骤3,所述共识节点根据所述数据包构建相应的Merkle Tree结构,并使用Merkle Tree结构中所有的节点数据生成新的区块,利用共识算法将区块写入区块链中;
步骤4,在所述区块链中根据根哈希值的摘要值,查询其是否在相应区块的MerkleTree叶子结点参数中,若存在,证明数据可信。
其中,所述步骤1包括:每辆车都有对应的用于数字签名的密钥对
Figure 35488DEST_PATH_IMAGE001
当车辆正常驾驶时,车载单元OBU定期采集车辆状态数据;
当车辆行驶状态异常时,车载单元OBU立即采集车辆状态数据;
其中,
Figure 421470DEST_PATH_IMAGE002
表示车辆状态数据,用私钥
Figure 794683DEST_PATH_IMAGE003
对状态数据
Figure 235897DEST_PATH_IMAGE002
的摘要值进行签名,得到签名数据
Figure 519111DEST_PATH_IMAGE004
将状态数据、签名数据、车辆唯一标识
Figure 200628DEST_PATH_IMAGE005
和时间戳
Figure 936503DEST_PATH_IMAGE006
打包成车辆数据
Figure 479611DEST_PATH_IMAGE007
,发送至车辆企业的数据处理平台。
其中,所述步骤2包括:车辆企业持有用于对企业数据包进行签名的密钥对
Figure 617331DEST_PATH_IMAGE008
接收到车辆数据
Figure 673012DEST_PATH_IMAGE009
后,用车辆的签名公钥
Figure 753574DEST_PATH_IMAGE010
计算验签数据
Figure 287324DEST_PATH_IMAGE011
,计算车辆数据包中
Figure 76288DEST_PATH_IMAGE002
摘要值
Figure 850340DEST_PATH_IMAGE012
,比较
Figure 888703DEST_PATH_IMAGE013
Figure 632668DEST_PATH_IMAGE012
是否一致,若一致,则说明数据包来源可信,未被篡改过;
根据时间周期,将本时间段内接收到的所有车辆数据构建成一个Merkle Tree结构,车辆状态数据
Figure 118882DEST_PATH_IMAGE014
的摘要值是Merkle Tree的叶子节点,所有叶子节点两两相互哈希运算得到摘要值是子节点,以此类推得到Merkle Tree的根哈希值
Figure 922890DEST_PATH_IMAGE015
,MerkleTree的构建过程为运算路径,车辆企业将保存Merkle Tree中所有的哈希运算路径;
使用私钥
Figure 245287DEST_PATH_IMAGE016
对根哈希值进行签名,得到签名数据
Figure 137151DEST_PATH_IMAGE017
,将签名数据、根哈希值、车辆企业唯一标识和时间戳打包为数据包
Figure 103970DEST_PATH_IMAGE018
广播给所有的共识节点。
其中,所述步骤3包括:
接收到企业数据
Figure 734671DEST_PATH_IMAGE019
,对所述企业数据
Figure 154151DEST_PATH_IMAGE019
进行验签操作,使用企业的签名公钥
Figure 85592DEST_PATH_IMAGE020
计算验签数据
Figure 31551DEST_PATH_IMAGE021
,判断验签数据
Figure 442941DEST_PATH_IMAGE022
和数据包中
Figure 225083DEST_PATH_IMAGE023
是否一致,若一致,则说明车辆企业数据包可信,未被篡改过;
根据时间周期,将本时间段内接收到的所有企业数据包,从中取出所有的根哈希值
Figure 114542DEST_PATH_IMAGE024
,对每一个根哈希值取摘要值来构建一个Merkle Tree结构,摘要值作为Merkle Tree结构的叶子节点,所有叶子节点两两相互哈希运算得到摘要值是子节点,得到一个完整的Merkle Tree结构,使用Merkle Tree结构中所有的哈希值生成区块
Figure 446166DEST_PATH_IMAGE025
块头
Figure 762878DEST_PATH_IMAGE026
包含常见的时间戳信息、区块体摘要信息、区块编号、父区块的摘要值信息,区块体
Figure 530851DEST_PATH_IMAGE027
由Merkle Tree结构中所有的哈希数据构成;
共识节点遵循共识算法进行投票,选取Leader节点将区块数据写入区块链中,其余节点同步数据。
其中,还包括:车辆发生事故后,车辆企业出示车辆行驶的状态数据和其签名数据。
其中,具体包括:
对签名数据
Figure 224001DEST_PATH_IMAGE028
验签,比较验签数据
Figure 144552DEST_PATH_IMAGE029
和状态数据的摘要值
Figure 897745DEST_PATH_IMAGE030
是否一致,若一致,则说明数据来源可靠,未被篡改;
验签成功后,计算状态数据所属车辆数据包
Figure 451217DEST_PATH_IMAGE031
的摘要值,查询摘要值对应的Merkle Tree运算路径;
车辆数据包的摘要值是Merkle Tree的叶子节点,其运算路径是叶子节点两两哈希得到子节点哈希值,子节点两两哈希得到上一层子节点哈希值,类推得到Merkle Tree的根哈希值;
当由车辆数据包的摘要值作为叶子节点,向上查询对应子节点的哈希值,最终查询到车辆数据包Merkle Tree中的根哈希值
Figure 948057DEST_PATH_IMAGE023
计算
Figure 240892DEST_PATH_IMAGE032
的摘要值,查询该摘要值是否在区块链中作为某一个区块的Merkle Tree叶子节点存在,倘若能找到指定区块且摘要值能查询到Merkle Tree叶子节点的运算路径,说明车辆企业提供的车辆数据是可信的,状态数据具有真实性。
本发明的上述方案有如下的有益效果:
本发明的车联网可信状态数据证明方法将联盟链技术用于车联网中车辆状态数据的证明,具有信任力的国家机构或具有检测资质的第三方企业担任共识节点的身份,所有的共识节点通过投票的方式选出Leader节点,由Leader节点将区块数据提交到区块链中,其余节点同步数据,大大提高了共识效率,保证数据的时效性,同时为数据提供了一定的公信力,解决了当前车辆事故中车辆状态数据的不可信的问题。将车辆状态数据的Merkle Tree根哈希值写入区块链中,用区块链技术保障了车辆可信状态数据的完整性和不可篡改性,解决了现如今车辆事故中车辆状态数据的易篡改性。提供了车辆状态数据的验证过程,在不泄露其余车辆隐私的情况下,找到Merkle Tree的根哈希值,最终查询到区块链中具体区块信息,验证了车辆状态数据的真实性、可靠性。车辆车载单元OBU只采集车辆状态数据,不充当共识节点,避开了OBU设备运算能力不足、网络吞吐量低等硬件缺点,更适用于实际场景的大规模使用。
本发明的其它有益效果将在随后的具体实施方式部分予以详细说明。
附图说明
图1是本发明的车联网可信状态数据证明方法的整体架构图。
图2是本发明的车辆终端和车辆企业端之间的信息流程图。
图3是本发明的车辆企业端和可信机构节点之间的信息流程图。
图4是本发明的可信机构节点接收车辆企业数据的共识过程流程图。
图5是本发明的车辆可信状态数据验证的流程图。
图6是本发明的Merkle Tree数据存储结构。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是锁定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
如图1所示,本发明的实施例提供了一种车联网可信状态数据证明方法,设计架构主要分四层:第一层是生产数据基础层,主要涉及车载单元OBU,负责车辆行驶状态的采集,并将所采集的状态数据签名后发送给生产车辆的厂家,第二层是数据转发层,充当角色的是各汽车企业,车企在接收到车辆的状态数据时,对数据进行确认性校验,将车辆数据包的哈希值按照Merkle Tree的结构保存,得到Merkle Tree的根哈希值,企业将保存MerkleTree所有的运算路径,随后将该值封装进车企数据包广播给共识节点,第三层是数据共识层,由具有可信力的国家机构或具有车辆事故鉴定能的企业组成,节点对企业数据进行校验,校验成功后,计算数据包中根哈希值参数的摘要值来构建Merkle Tree结构,用MerkleTree结构中所有的哈希数据生成新的区块,所有节点遵循Raft共识算法将区块写入区块链中,第四层是状态数据验证层,企业提供车辆状态数据和签名信息,找到状态数据对应的Merkle Tree的运算路径,定位Merkle Tree根哈希值的摘要值在区块链中所属区块的Merkle Tree叶子节点,并查询到该摘要值对应叶子节点的Merkle Tree运算路径,最终即可证明车辆状态数据是可信的。
本发明使用超级账本Hyperledger fabric来搭建联盟链,选用Raft作为共识算法。
如图2所示,车辆状态分正常和非正常两种,正常状态时,每一个时间周期提交一次状态数据,非正常状态时,立即提交当前车辆的状态数据,例如刹车失灵等。车辆包含一对公私钥
Figure 899406DEST_PATH_IMAGE033
,用于对采集的状态数据进行签名操作。
车辆状态正常时,时间周期内车载单元OBU将采集车辆状态数据
Figure 392705DEST_PATH_IMAGE034
,时间周期的大小可自行选定,本案例采纳6分钟作为一个间隔;车辆状态非正常时,车载单元OBU将立即采集车辆状态数据
Figure 427657DEST_PATH_IMAGE034
。使用私钥
Figure 276795DEST_PATH_IMAGE035
对状态数据进行签名,得到签名数据
Figure 230845DEST_PATH_IMAGE036
。我们用
Figure 86805DEST_PATH_IMAGE037
代表为车辆唯一标识,通常用车牌号表示;用
Figure 299350DEST_PATH_IMAGE038
代表当前状态数据时间戳,时间戳由时间服务器提供。因此,车辆数据包可表示为
Figure 658787DEST_PATH_IMAGE039
,将其发送至车辆所属企业。
如图3所示,车辆企业在接收到车辆发过来数据
Figure 518158DEST_PATH_IMAGE040
后,先验签数据的真伪性。使用车辆的公钥计算验签数据
Figure 471202DEST_PATH_IMAGE041
,随后计算数据包中状态数据
Figure 113536DEST_PATH_IMAGE034
的摘要值
Figure 983272DEST_PATH_IMAGE042
,比较
Figure 420069DEST_PATH_IMAGE043
Figure 565136DEST_PATH_IMAGE044
是否一致,一致说明数据是真实的,未被篡改过。
车辆企业将时间周期内接收到的所有车辆数据构建Merkle Tree的结构进行存储如图6所示,采用间隔时间2分钟。车辆企业将2分钟内的所有车辆数据摘要值作为MerkleTree结构的叶子节点,摘要值和数据
Figure 870216DEST_PATH_IMAGE034
构成一对一的映射表;叶子节点两两向上哈希,得到新的“子哈希”,如图6中
Figure 204245DEST_PATH_IMAGE045
节点和
Figure 687310DEST_PATH_IMAGE046
节点运算得到
Figure 739580DEST_PATH_IMAGE047
;如果是叶子节点奇数,最后一个叶子节点对自身直接做运算操作,如图6中
Figure 848350DEST_PATH_IMAGE048
运算得到
Figure 302465DEST_PATH_IMAGE049
;不同的子哈希向上运算,得到新的“子哈希”,以此类推,最终得到该Merkle Tree结构中的根哈希值
Figure 658229DEST_PATH_IMAGE050
,我们将Merkle Tree的构建过程称为“运算路径”,如图6中车辆数据
Figure 322429DEST_PATH_IMAGE040
的运算路径可表示为
Figure 110256DEST_PATH_IMAGE051
Figure 497506DEST_PATH_IMAGE052
。Merkle Tree映射表数据和运算路径由车辆企业自行保存。
车辆企业在发送数据包之前需要对根哈希值做签名操作,使用企业自身的私钥来签名,得到签名数据
Figure 571641DEST_PATH_IMAGE053
,将签名数据
Figure 332924DEST_PATH_IMAGE054
、根哈希值
Figure 23975DEST_PATH_IMAGE055
、企业唯一标识
Figure 187103DEST_PATH_IMAGE056
和时间戳
Figure 432140DEST_PATH_IMAGE057
构成数据包
Figure 946298DEST_PATH_IMAGE058
广播给所有的共识节点。
如图4所示为共识层,共识节点通常是具有交通事故鉴定资质的第三方单位或官方机构,能为状态数据提供一定的公信力,共识节点将时间周期内接收的所有企业数据经过一定条件生成一个区块,这里我们将时间周期定位5分钟。
时间周期内,到当共识层节点接收到来自车辆企业的广播数据
Figure 685715DEST_PATH_IMAGE059
时,节点首先使用车辆企业的公钥对签名数据进行验签操作,验签数据为
Figure 968929DEST_PATH_IMAGE060
,比较验签数据
Figure 853708DEST_PATH_IMAGE061
和企业数据包中根哈希值参数
Figure 229064DEST_PATH_IMAGE055
是否一致,相同则说明数据包未被篡改。
时间周期内,取出所有签名数据验证成功的企业数据包,从中取出每一个根哈希值参数
Figure 896805DEST_PATH_IMAGE055
,计算每一个参数的摘要值,使用这些摘要值构建一个MerkleTree结构,摘要值作为结构的叶子节点,叶子节点两两哈希得到子节点数据,以此类推,最终得到一个完整的Merkle Tree结构,叶子结点到根哈希值的运算过程称为叶子节点的运算路径。
构建完Merkle Tree结构后,所有的节点依据Raft共识算法,首先选举其中一个节点担任Leader角色,剩余节点担任Follower角色,Leader节点具有完全的权利管理记账,Leader节点在接收到车辆企业端的记账请求后,生成新区块
Figure 893580DEST_PATH_IMAGE062
,区块由区块头
Figure 699993DEST_PATH_IMAGE063
和区块体
Figure 923164DEST_PATH_IMAGE064
构成。区块头
Figure 253651DEST_PATH_IMAGE065
一般包含父区块的摘要值、区块体数据的摘要值、当前区块生成的时间戳、区块编号等信息,区块体
Figure 245878DEST_PATH_IMAGE066
参数由Merkle Tree结构中所有的哈希数据组成。Leader节点将区块
Figure 786974DEST_PATH_IMAGE067
写入区块链中,随后,担任Follower角色的节点同步新的区块链。如果Leader节点失效或和其他节点失去联系,所有的共识节点会重新投票选举,得到大于等于
Figure 231862DEST_PATH_IMAGE068
的票数的节点便能充当Leader角色。
如图5所示,当车辆发生事故后,车辆企业出示车辆行驶的状态数据,此时需要验证该状态数据的真实性。车辆企业出示车辆行驶状态数据
Figure 366040DEST_PATH_IMAGE034
,该状态数据在车辆数据包
Figure 556981DEST_PATH_IMAGE040
中作为一个参数存在。使用该数据包中签名数据
Figure 626568DEST_PATH_IMAGE069
参数做验签操作,验证车辆状态数据在产生的时候是否被篡改。验签数据为
Figure 152228DEST_PATH_IMAGE070
,比较该值
Figure 542627DEST_PATH_IMAGE071
和状态数据的摘要值
Figure 899659DEST_PATH_IMAGE072
是否相同,数值相同则证明车辆状态数据的来源可信,未被篡改。
查询车辆数据包
Figure 874568DEST_PATH_IMAGE040
的摘要值对应的Merkle Tree运算路径,找到对应MerkleTree结构的根哈希值。数据包的摘要值作为Merkle Tree结构中的叶子节点,车辆企业有保存所有Merkle Tree的运算路径,找到该摘要值对应的叶子节点的运算路径,例如
Figure DEST_PATH_IMAGE074A
,即可找到该Merkle Tree结构的根哈希值
Figure DEST_PATH_IMAGE075
根据已找到的根哈希值
Figure 546245DEST_PATH_IMAGE076
,计算其摘要数据,由摘要数据查询区块链数据,找是否有区块数据的Merkle Tree叶子节点参数包含该摘要数据,如果能查询详细区块信息且摘要数据有符合Merkle Tree的运算路径,则证明企业提供的车辆状态数据是可信的、未被车辆企业篡改,具有真实性。
本发明的车联网可信状态数据证明方法将联盟链技术用于车联网中车辆状态数据的证明,具有信任力的国家机构或具有检测资质的第三方企业担任共识节点的身份,所有的共识节点通过投票的方式选出Leader节点,由Leader节点将区块数据提交到区块链中,其余节点同步数据,大大提高了共识效率,保证数据的时效性,同时为数据提供了一定的公信力,解决了当前车辆事故中车辆状态数据的不可信的问题。将车辆状态数据的Merkle Tree根哈希值写入区块链中,用区块链技术保障了车辆可信状态数据的完整性和不可篡改性,解决了现如今车辆事故中车辆状态数据的易篡改性。提供了车辆状态数据的验证过程,在不泄露其余车辆隐私的情况下,找到Merkle Tree的根哈希值,最终查询到区块链中具体区块信息,验证了车辆状态数据的真实性、可靠性。车辆车载单元OBU只采集车辆状态数据,不充当共识节点,避开了OBU设备运算能力不足、网络吞吐量低等硬件缺点,更适用于实际场景的大规模使用。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (6)

1.一种车联网可信状态数据证明方法,其特征在于,包括:
步骤1,采集车辆状态数据,对所述车辆状态数据签名后打包发送至车辆企业的数据处理平台;
步骤2,所述数据处理平台验证所述车辆状态数据是否符合预设条件,将符合预设条件的数据构建Merkle Tree,并保存所述Merkle Tree中所有的哈希运算路径,将包含MerkleTree根哈希值和签名信息的数据包广播给所有的共识节点;
步骤3,所述共识节点根据所述数据包构建相应的Merkle Tree结构,并使用MerkleTree结构中所有的节点数据生成新的区块,利用共识算法将区块写入区块链中;
步骤4,在所述区块链中根据根哈希值的摘要值,查询其是否在相应区块的MerkleTree叶子结点参数中,若存在,证明数据可信。
2.根据权利要求1所述的车联网可信状态数据证明方法,其特征在于,所述步骤1包括:每辆车都有对应的用于数字签名的密钥对
Figure 272045DEST_PATH_IMAGE001
当车辆正常驾驶时,车载单元OBU定期采集车辆状态数据;
当车辆行驶状态异常时,车载单元OBU立即采集车辆状态数据;
其中,
Figure 658027DEST_PATH_IMAGE002
表示车辆状态数据,用私钥
Figure 906606DEST_PATH_IMAGE003
对状态数据
Figure 36236DEST_PATH_IMAGE004
的摘要值进行签名,得到签名数据
Figure 592155DEST_PATH_IMAGE005
将状态数据、签名数据、车辆唯一标识
Figure 883459DEST_PATH_IMAGE006
和时间戳
Figure 884913DEST_PATH_IMAGE007
打包成车辆数据
Figure 552655DEST_PATH_IMAGE008
,发送至车辆企业的数据处理平台。
3.根据权利要求2所述的车联网可信状态数据证明方法,其特征在于,所述步骤2包括:车辆企业持有用于对企业数据包进行签名的密钥对
Figure 690375DEST_PATH_IMAGE009
接收到车辆数据
Figure 667427DEST_PATH_IMAGE010
后,用车辆的签名公钥
Figure 890598DEST_PATH_IMAGE011
计算验签数据
Figure 96452DEST_PATH_IMAGE013
,计算车辆数据包中
Figure 354258DEST_PATH_IMAGE002
的摘要值
Figure 252943DEST_PATH_IMAGE014
,比较
Figure 212678DEST_PATH_IMAGE015
Figure 222222DEST_PATH_IMAGE014
是否一致,若一致,则说明数据包来源可信,未被篡改过;
根据时间周期,将本时间段内接收到的所有车辆数据构建成一个Merkle Tree结构,车辆状态数据
Figure 334535DEST_PATH_IMAGE016
的摘要值是Merkle Tree的叶子节点,所有叶子节点两两相互哈希运算得到摘要值是子节点,以此类推得到Merkle Tree的根哈希值
Figure 138543DEST_PATH_IMAGE017
,Merkle Tree的构建过程为运算路径,车辆企业将保存Merkle Tree中所有的哈希运算路径;
使用私钥
Figure 601885DEST_PATH_IMAGE018
对根哈希值进行签名,得到签名数据
Figure 398809DEST_PATH_IMAGE019
,将签名数据、根哈希值、车辆企业唯一标识和时间戳打包为数据包
Figure 631207DEST_PATH_IMAGE020
广播给所有的共识节点。
4.根据权利要求3所述的车联网可信状态数据证明方法,其特征在于,所述步骤3包括:
接收到企业数据
Figure 871695DEST_PATH_IMAGE021
,对所述企业数据
Figure 291175DEST_PATH_IMAGE021
进行验签操作,使用企业的签名公钥
Figure 908102DEST_PATH_IMAGE022
计算验签数据
Figure 713115DEST_PATH_IMAGE023
,判断验签数据
Figure 390084DEST_PATH_IMAGE024
和数据包中
Figure 296861DEST_PATH_IMAGE025
是否一致,若一致,则说明车辆企业数据包可信,未被篡改过;
根据时间周期,将本时间段内接收到的所有企业数据包,从中取出所有的根哈希值
Figure 186319DEST_PATH_IMAGE025
,对每一个根哈希值取摘要值来构建一个Merkle Tree结构,摘要值作为Merkle Tree结构的叶子节点,所有叶子节点两两相互哈希运算得到摘要值是子节点,以此类推得到一个完整的Merkle Tree结构,使用Merkle Tree结构中所有的哈希值生成区块
Figure 376998DEST_PATH_IMAGE026
块头
Figure 224868DEST_PATH_IMAGE027
包含常见的时间戳信息、区块体摘要信息、区块编号、父区块的摘要值信息,区块体
Figure 618940DEST_PATH_IMAGE028
由Merkle Tree结构中所有的哈希数据构成;
共识节点遵循共识算法进行投票,选取Leader节点将区块数据写入区块链中,其余节点同步数据。
5.根据权利要求4所述的车联网可信状态数据证明方法,其特征在于,还包括:车辆发生事故后,车辆企业出示车辆行驶的状态数据和其签名数据。
6.根据权利要求5所述的车联网可信状态数据证明方法,其特征在于,具体包括:
对签名数据
Figure 312090DEST_PATH_IMAGE029
验签,比较验签数据
Figure 108008DEST_PATH_IMAGE030
和状态数据的摘要值
Figure 110468DEST_PATH_IMAGE031
是否一致,若一致,则说明数据来源可靠,未被篡改;
验签成功后,计算状态数据所属车辆数据包
Figure 257415DEST_PATH_IMAGE016
的摘要值,查询摘要值对应的MerkleTree运算路径;
车辆数据包的摘要值是Merkle Tree的叶子节点,其运算路径是叶子节点两两哈希得到子节点哈希值,子节点两两哈希得到上一层子节点哈希值,类推得到Merkle Tree的根哈希值;
当由车辆数据包的摘要值作为叶子节点,向上查询对应子节点的哈希值,最终查询到车辆数据包Merkle Tree中的根哈希值
Figure 754256DEST_PATH_IMAGE032
计算
Figure 404680DEST_PATH_IMAGE032
的摘要值,查询该摘要值是否在区块链中作为某一个区块的Merkle Tree叶子节点存在,倘若能找到指定区块且摘要值能查询到Merkle Tree叶子节点的运算路径,说明车辆企业提供的车辆数据是可信的,状态数据具有真实性。
CN202210788959.0A 2022-07-06 2022-07-06 车联网可信状态数据证明方法 Active CN114844654B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210788959.0A CN114844654B (zh) 2022-07-06 2022-07-06 车联网可信状态数据证明方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210788959.0A CN114844654B (zh) 2022-07-06 2022-07-06 车联网可信状态数据证明方法

Publications (2)

Publication Number Publication Date
CN114844654A CN114844654A (zh) 2022-08-02
CN114844654B true CN114844654B (zh) 2022-09-06

Family

ID=82575312

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210788959.0A Active CN114844654B (zh) 2022-07-06 2022-07-06 车联网可信状态数据证明方法

Country Status (1)

Country Link
CN (1) CN114844654B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109493221A (zh) * 2018-10-26 2019-03-19 全链通有限公司 区块链中交易记录保密方法、设备、网络及存储介质
CN110989994A (zh) * 2019-11-18 2020-04-10 腾讯科技(深圳)有限公司 基于区块链的代码版本管理方法、装置、终端及存储介质
CN112866397A (zh) * 2021-01-27 2021-05-28 中科曙光(南京)计算技术有限公司 数据存储方法及车联网系统
CN113542396A (zh) * 2021-07-13 2021-10-22 润联软件系统(深圳)有限公司 一种区块链存储及通讯方法、系统及其相关组件
CN113658709A (zh) * 2021-07-30 2021-11-16 青岛海尔生物医疗股份有限公司 用于医疗数据信息查询的方法、装置、计算机设备及存储介质
WO2021227457A1 (zh) * 2020-05-14 2021-11-18 特斯联科技集团有限公司 一种基于区块链的电子数据存证方法、系统、存储介质及终端
CN114579582A (zh) * 2022-04-29 2022-06-03 武汉北大高科软件股份有限公司 一种基于区块链的资源处理方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10992459B2 (en) * 2019-08-30 2021-04-27 Advanced New Technologies Co., Ltd. Updating a state Merkle tree

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109493221A (zh) * 2018-10-26 2019-03-19 全链通有限公司 区块链中交易记录保密方法、设备、网络及存储介质
CN110989994A (zh) * 2019-11-18 2020-04-10 腾讯科技(深圳)有限公司 基于区块链的代码版本管理方法、装置、终端及存储介质
WO2021227457A1 (zh) * 2020-05-14 2021-11-18 特斯联科技集团有限公司 一种基于区块链的电子数据存证方法、系统、存储介质及终端
CN112866397A (zh) * 2021-01-27 2021-05-28 中科曙光(南京)计算技术有限公司 数据存储方法及车联网系统
CN113542396A (zh) * 2021-07-13 2021-10-22 润联软件系统(深圳)有限公司 一种区块链存储及通讯方法、系统及其相关组件
CN113658709A (zh) * 2021-07-30 2021-11-16 青岛海尔生物医疗股份有限公司 用于医疗数据信息查询的方法、装置、计算机设备及存储介质
CN114579582A (zh) * 2022-04-29 2022-06-03 武汉北大高科软件股份有限公司 一种基于区块链的资源处理方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《Blockchain-Driven Trusted Data Sharing With Privacy Protection in IoT Sensor Network》;Zhaofeng Ma AT AL.;《 IEEE Sensors Journal》;20201223;全文 *

Also Published As

Publication number Publication date
CN114844654A (zh) 2022-08-02

Similar Documents

Publication Publication Date Title
CN110784461B (zh) 一种基于区块链的安全6LoWPAN通信方法及系统
CN109766673B (zh) 一种联盟式音视频版权区块链系统及音视频版权上链方法
Guo et al. Blockchain-inspired event recording system for autonomous vehicles
CN112235379B (zh) 一种区块链底层共享存储方法
CN111988381A (zh) 一种基于HashGraph的车联网分布式信任系统及信任值计算方法
CN106713326A (zh) 一种车载网消息认证协议
CN113779605A (zh) 一种基于联盟链的工业互联网Handle标识体系解析认证方法
Terzi et al. Securing emission data of smart vehicles with blockchain and self-sovereign identities
CN115486107A (zh) 用于针对v2x实体的网络安全态势建立信任的方法和系统
CN114862397B (zh) 一种基于双链结构的双解耦区块链分布式方法
US20200389453A1 (en) Vehicle authentication and protection system
CN115442048A (zh) 一种面向vanet的基于区块链的匿名认证方法
CN115102695A (zh) 基于区块链的车联网证书认证方法
CN114844654B (zh) 车联网可信状态数据证明方法
Gañán et al. Toward revocation data handling efficiency in VANETs
Diallo et al. An improved PBFT-based consensus for securing traffic messages in VANETs
CN111865601B (zh) 基于区块链的车联网信任管理方法和系统
CN113570321B (zh) 氢能数据管理系统
CN113992705A (zh) 基于区块链的车联网系统构建方法、装置、设备和介质
WO2021207986A1 (zh) 数据验证方法及装置
CN113556730A (zh) 一种车联网身份隐私的保护方法、保护系统及存储介质
CN112769817B (zh) 一种基于可信网络的区块链网络、构建方法及构建系统
Assila et al. Secure architecture dedicated for VANET alarm messages authentication through semantic verification
CN116760632B (zh) 数据处理方法、装置、设备及可读存储介质
CN114339732B (zh) 一种基于属性签名的车载网匿名信任管理方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant