基于区块链的车联网电子取证模型

2021-07-30 10:33陈葳葳
计算机应用 2021年7期
关键词:令牌交管部门密钥

陈葳葳,曹 利,顾 翔

(南通大学信息科学技术学院,江苏南通 226019)

0 引言

交通事故认定是指交管部门对事故现场勘验、调查,并对事故原因做出认定,最后根据当事人过错的程度,归属其责任[1]。事故的鉴定依赖于现场证据,但取证面临诸多困难,如:现场遭到破坏,责任人故意掩盖或者伪造证据等。交通事故取证困难影响司法机关对事故责任的判决。在车联网环境下,车内传感器网络采集其行驶过程中的状态数据(行驶时间、车速、加速度、行驶轨迹等),通过控制器局域网络(Controller Area Network,CAN)总线汇总至黑匣子[2]。事故发生后,分析黑匣子数据即可建立较为精确的事故模型,分析原因、判定责任归属。根据《民事诉讼法》《刑事诉讼法》《行政诉讼法》的定义,汽车黑匣子是司法定义中的8 大类证据之一。但黑匣子在取证时也存在脆弱一面,如对外界高度暴露,只要掌握黑匣子内部工作方式,便可通过外部设备与其连接,篡改、伪造证据以逃避责任;另外,在一些事故中,车辆因焚烧、掩埋等严重损毁,导致无法获取黑匣子中的电子数据,从而无法进行责任鉴定。文献[3]中提出了一种智能云取证方法,利用移动通信技术实现了车联网环境下车、路、处理平台的互通互联,对黑匣子内的数据远程云化处理,提高了取证的安全性和准确度;但云取证存在存放中心化、易受攻击的问题,同时取证效率比较低。

区块链技术本质是一种信任机制,它为电子证据的司法应用提供了一种新的理想化技术支撑[4-6]。目前,关于区块链和电子取证结合方面已经有一些研究:Zhang等[7]提出了一个基于区块链的云取证方案,该方案在提供证据的同时可实现身份的隐私保护;但方案的效率和安全均受限于中心信任节点。Pourvahab 等[8]提出了一种基于移动物联网的取证框架,利用区块链轻量证明及智能合约获取证据,能保证证据完整性和可靠性;但密钥管理技术繁琐,无法适用车联网场景。Meheran 等[9]利用区块链技术实现了物联网新型取证框架,但方案存在时延问题。曹迪迪等[10]利用智能合约实现了一种分布式存证方法和区块的查询取证方法,可实现去中心化的可信证据存取;但存在共识机制周期较长、主链负荷过重等问题。黄晓芳等[11]提出了一种基于区块链技术的云计算电子取证模型,可以防止取证方的共谋篡改;但无法满足并发请求,算法效率需要进一步优化。Oham等[12]利用区块链存取证据,提出了一种自动车辆责任归属框架,能解决交通事故中车辆与制造商、保险公司、司法部门之间的信任问题,但存在低吞吐量和高延迟问题。

综上所述,区块链技术应用于车联网电子取证具有可行性,但存在低吞吐量、高延迟和共识算法慢等问题。针对上述问题,本文提出一种基于区块链的新型车联网电子取证方案,该方案根据汽车黑匣子数据记录方式设计了新的区块链储存结构,利用区块链在隐私保护和数据防篡改上的优势,安全存储汽车状态记录;优化入链算法,改进委托权益证明(Delegated Proof Of Stake,DPOS)共识算法,克服现有共识算法在执行效率上的不足;利用智能合约机制设计了电子证据的高效存取方案。

1 相关知识

1.1 车联网架构

车联网(Internet Of Vehicles,IOV)以每辆车为基本元素,通过传感器技术采集原始数据,再利用无线通信技术,实现车-路-处理平台的信息数据传播和通信交流。典型车联网结构主要由三类节点组成,如图1所示。

图1 车联网结构示意图Fig.1 Schematic diagram of IOV structure

1)车辆节点(On Board Unit,OBU):车辆节点作为具有移动属性的通信实体,通过部署各类智能传感器装置、计算装置及无线通信装置,实现信息的感知、采集、计算和通信功能。

2)路侧单元(Road Side Unit,RSU):路侧单元作为固定通信节点,相对车辆节点具有更强的计算和存储能力,为车辆节点接入网络提供服务,并转发路况信息。

3)可信中心(Trust Center,TC):此节点是网络结构中让所有节点无条件信任的基础服务设施,主要为接入节点颁发证书、存储密钥、完成身份认证。

1.2 区块链技术

区块链是一种按照时间顺序将数据区块以链条的方式组合而成的特定数据结构,并以密码学方式保证不可篡改和不可伪造性的去中心化共享总账。

区块链每一个数据区块主要由区块头和区块体组成:区块头用来记录当前区块的元数据,主要封装了当前版本号、前一个区块的地址、当前区块的目标哈希值、Merkle 根等;区块体记录具体的数据,数据结构为Merkle树,数据记录在叶子节点,非叶子节点的值为所有叶子节点数据的哈希值而不是具体数据,减少了区块容量,便于同步与备份。区块体中数据经过哈希运算得到Merkle根,当某个区块的值发生变化,会造成整个区块链发生变化。另外,每个区块的时间戳确保了区块链中交易数据的不可篡改和可追溯。

一个区块从产生到成功入链经历交易分发、区块验证、区块同步三个阶段,共识算法是核心问题。传统的工作量证明(Proof of Work,PoW)、权益证明(Proof of Stake,PoS)、DPOS[13]等算法中矿工节点竞争效率低,交易传播和区块验证过程均需要在全网进行广播,如果网络中的节点数较多,将会占用大量的网络带宽,无法满足车联网时空型交易数据[14]的时效性。

2 车联网电子取证

2.1 方案架构

基于区块链的车联网电子取证整体架构如图2 所示。在车联网环境下,车辆、RSU、交管部门、司法部门、保险公司组成联盟链。其中车辆、司法部门和保险公司为轻节点,存有各区块头部信息;辖区内各RSU 和交管部门为全节点,负责全链存储和新区块入链。

图2 基于区块链的车联网电子取证方案架构Fig.2 Framework of e-forensics scheme for IOV based on blockchain

1)RSU:在本方案中除了实现车联网传统的功能,还作为区块链全节点存储相关完整证据数据,完成网络路由、共识达成、交易记录等功能。在安全上,RSU通过第三方可信机构认证车辆身份。

2)交管部门:发生交通事故需要责任鉴定时,进行电子取证。在方案的共识机制改进算法中,各地区交管部门投票选取RSU共识节点,提高共识效率。

3)司法部门:由执法机构(交通警察和法院)组成,可查询并分析链中争端实体所存证据并进行责任判决;并向保险公司提供证据,以方便保险公司支付赔偿金。

4)保险公司:查询证据或者接受司法部门提供相关证据,决定赔偿方案。

基于区块链的车联网电子证据存取过程为:车辆线下向交管部门注册,获得初始化认证参数;在认证入网后,将行驶过程中采集的状态数据周期性发送至附近RSU;RSU 验证数据可靠性后,进行新证据入链工作;当发生交通事故,需要责任认定时,司法部门和保险公司向交管部门申请查询权限,进行区块链查证,获得相关车辆的行驶状态数据,还原事故现场,进而进行责任判定。

2.2 快速共识算法

DPOS 算法一般以共识21 个区块为周期,21 个区块生产者被投票选出,出块者100%在线的特性,保证了共识节点在1.5 s内必知晓一笔交易,轮流进行出块。但由于只有轮到节点发言时才可发送交易确认信息,导致交易确认时间较长,从而使共识速度变慢,不适合车联网实时存证需求。新的快速共识算法以车辆、RSU、交管部门、保险公司、司法部门共同构成联盟链,其中RSU和交管部门为全节点,参与共识。

共识过程如图3 所示:各地方交管部门投票选出21 个RSU参与出块(1个RSU节点为主节点,剩余20个RSU节点进行区块的打包)。

图3 共识过程Fig.3 Consensus process

1)RSUj记满3个区块,先向主节点RSUi发送共识请求;

2)主节点收到共识请求向其他19 个RSU 广播准备认证的请求消息,其他RSU进入认证准备状态;

3)RSUj广播区块,其余RSU 返回验证结果并继续打包区块;

4)RSUj待收到认证通过消息后,将区块加入区块链。

本共识算法可以有效提高共识速度,优势在于:

1)实现本共识算法的节点存在联盟链中,所有共识节点均可信且在线;

2)主节点的存在使区块链不会产生分叉;

3)共识节点由多方交管部门投票选举,其随机性保证共识机制的可靠;

4)共识节点可随时发送验证结果无需等待发言权,且进行批量共识,大大提高共识速度,确保证据的时效性。

2.3 区块存储结构和检索

方案定义的区块存储结构如图4 所示:以key-value 键值对存储交易信息。其中,key是由根结点到叶子节点路径拼接而成,路径上的key 值依次为证据的上传时间、RSU 的ID 号、车辆ID 号。所有数据按照“小时”为单位,同一小时上传的数据成为一条路径,再以“分”构成分支,在时间形成的分支下按照RSU 和车辆的ID 编码,以省、市、县进行归纳划分。数据的有序整合可快速定位到相应路径,提高查询效率。value 值存储车辆状态数据。

图4 区块存储结构Fig.4 Structure of block storage

区块检索采用Bloom Filter 算法,算法通过哈希函数将交易数据压缩并存储为向量中的一点。如图5所示,设集合X={x0,x1}经过哈希映射为H(x0)=(2,3,7)和H(x1)=(4,7,9),则将向量B第2、3、4、7、9处置为1。当查询y0元素是否存在,由于H(y0)=(1,4,7),第一位为0,则表明y0不在集合X中。

图5 Bloom Filter 检索Fig.5 Retrieval of Bloom Filter

2.4 方案实现

电子取证方案的实现分为三个阶段:身份注册、实时存证和查询取证。车辆身份注册阶段分为线上及线下注册部分,部分思想引用文献[15]中预注册阶段方法。表1 为方案符号说明。

表1 符号及其含义Tab.1 Symbols and their meanings

2.4.1 身份注册

车管所为可信第三方,进行RSU、车辆的初始化,产生初始参数:选择满足双线性映射的群G1和G2,生成随机数s∈作为主密钥,其中代表正整数集中的素数。计算公钥Ppub=sq,n=αq。公开的参数有{G1,G2,n,P,Ppub,H1,g}。其中H1:{0,1}*→G1代表单项哈希加密函数;g代表双线性映射;G1、G2分别是阶数为素数的加法群和乘法群;P为G1的生成元。

身份注册由线下注册和线上注册两部分组成:线下实现车辆和RSU 身份认证的参数初始化;线上实现临时身份注册,保证车辆通信的隐私安全。

1)线下注册。

车辆上牌照或年检时,车管所检验车辆状态,并根据车主提供的身份信息INPi∈{0,1}*(如手机号码、身份证号码)和车辆信息INCi(如车牌号)设置共享密钥xi∈,并建立关联Ri=H1(INPi)⊕xi(⊕代表异或运算)。计算全局唯一标识IMi=H1(INPi||xi||TSreg)∈G1(TSreg表示注册时间),并根据所在地行政编号和车牌号形成车辆IDi(如**市**区车辆IDi为226001xx)。

部署RSU 前,车管所统一购进RSU 设备并为其初始化。车管所根据RSA 公钥密码体制为RSU 生成整数e满足gcd(φ(n),e)=1,生成公私钥对{PR{e,n},SR{d,n}},其中d=e-1(modφ(n))。并分配IDr为RSU 的唯一标识(标识根据RSU 所部属地区行政编号设计)。存储车管所与RSU 的共享密钥k。RSU随机选择整数rr∈并且广播参数rrPR。

车管所存有IDi-IMi及IDr-k映射数据。

交管部门为区块链中可信全节点,负责司法部门与保险公司身份信息的注册及认证。司法部门与保险公司于交管部门登记其合法身份信息,交管部门以同样方式初始化参数,为其分配IDx及公私钥对{Px,Sx},并存有IDx-Px映射数据。

2)线上注册。

车辆行驶时入网过程:

a)利用RSA算法自行生成公私钥对{PToken,SToken}。

b)根据临时公钥生成临时身份凭证Token,其结构如图6所示。

图6 Token结构Fig.6 Structure of Token

c)驶入某路段RSU 覆盖范围时,接收RSU 周期性广播的信 息,向其发送消息m0={Ai,TSi,Ppub}。其中Ai表示{IDi||Ppub||IMi||Token||TSi}用RSU公钥PR加密信息的结果。

d)RSU 收到m0,先验证时间戳|T-TSi|<ΔT是否有效,若有效则用SR解密Ai,获得IDi和Ppub,并验证参数Ppub是否与m0中明文相一致。确保信息的有效性和完整性后,向车管所请求车辆身份验证:生成消息m1={C,MAC,TSr,PR}。其中C=Ek(IMi||IDi),k为RSU与车管所的共享密钥。

e)车管所检查|T-TSr|<ΔT是否成立,并利用验证码MAC验证消息完整性,使用共享密钥解密消息得IMi和IDi,检验车辆身份的合法性;最后将车辆的身份合法性告知RSU。

f)RSU 收到车管所响应的验证通过消息后,将车辆Token与IDi、IMi映射关系存入区块链,车辆获得临时公私钥使用权。

车辆用此临时公私钥代替长期身份标识IMi实现车辆的本次匿名存证,同时在Token 时间戳有效期间,使得车辆在跨RSU通信时无需再进行匿名身份的注册。

2.4.2 实时存证

车辆黑匣子将行驶过程中记录的车辆状态信息发送至RSU,RSU 验证车辆身份的同时产生会话密钥(使得向同一个RSU存证时无需频繁身份认证),车辆用此会话密钥加密上传证据;RSU调用智能合约存入证据。具体流程如图7所示。

图7 存证流程Fig.7 Process of log evidences

1)会话建立。

a)车辆计算会话密钥key=H1(g(rrPr,Ppub)ri),车辆接受RSU广播数据,生成随机整数rr∈,计算会话密钥key。

b)车辆向RSU 发送握手请求req1:EPR(Token,riP,N1,SignSToken),车辆用私钥生成签名SignSToken;请求消息用RSU 的公钥PR加密发送。

c)RSU→车:res1:Ekey(Success,SignSR(N1))。

①验证车辆身份:

②响应握手请求:

RSU 生成会话密钥key=H1(g(rrSr,riP))。对选取随机数N1的签名SignSR(N1)、认证结果Success 用会话密钥加密作为消息res1=Ekey(Success,SignSR(N1))发送至车辆。

2)存证。

a)车辆身份授权:车辆接收RSU握手响应,使用会话密钥解密得Success,验 证签名,确认N1=,得到临时公私钥使用权。

b)车辆证据上传:req2:Ekey(V,SignSToken(N1)),证据数据结构V定义如图8 所示,包含数据上传时间、接入RSUID、车辆ID、当前状态数据、签名字段。附加随机数N1签名后加密发送至RSU。

图8 证据数据结构Fig.8 Data structure of evidence

c)RSU 接收密文证据:会话密钥解密得明文V,验证签名和随机数N1的正确性,触发智能合约Save Evidence 算法,建立key(时间、RSUID、车辆ID)与value(电子证据)的区块链键值对,存储车辆-证据映射关系。RSU 签名此映射广播至全网。

4)证据入链。

参与共识的RSU 通过验证签名将映射关系记入区块,并使用新共识算法对记满的区块快速达成共识,加入区块链尾部。

2.4.3 查询取证

交通事故发生后,需要电子取证进行责任认定。保险公司先查询本地轻节点,判断电子证据在区块链中的存在性。若存在,向交管部门全节点申请查询权限令牌,利用该令牌激活查询智能合约,执行区块链数据检索。具体流程如图9所示。

图9 查证流程Fig.9 Process of searching evidence

1)查询方向交管部门申请取证。

查询方为轻节点,首先使用Bloom Filter 算法,查询本节点中存储的区块头,根据哈希映射判断证据的存在性,若存在则对全节点申请查询权限,申请消息如下:

其中,SignSx表示交管部门对信息Px和IDx的签名。申请消息使用交管部门公钥Pt加密。

2)交管部门颁发查询令牌。

交管部门在本地数据库检索IDx-Px,验证查询方身份合法性。使用自身公钥Pt,结合随机数N,计算令牌密钥K*=(Pt)Nmodq。由令牌密钥生成查询令牌:M=ESt(IDt||K*||TSreg),其中TSreg为令牌注册时间戳,用于限制查询时间;IDt为交管部门身份标识。最后加密令牌生成消息res传输给查询方。

3)取证。

查询方用私钥解密res,验证签名SignSt正确性后,提取令牌M、密钥K*。

查询方获得令牌M,激活智能合约,以(车辆ID,肇事时间T0,待查时间范围Tran)为参数,调用取证算法Search Evidence查找对应区块中车辆证据数据。

Algorithm 2:Search Evidence

算法步骤如下:

a)判断令牌有效性。交管部门解密令牌MPtmodn,得到数据IDt||K*||TSreg,存在IDt则表明查询者已获得权限。

b)判断令牌时效性。若T-TSreg>ΔT,令牌时效已过,无权查询,否则执行步骤c)。

c)定位证据所在区块。调用Bloom Filter 算法计算车辆IDx的哈希映射,查询对应区块,执行步骤d)。

d)travel 函数遍历定位的区块。对每一条分支,执行步骤e)。

e)匹配待查车辆在To±Tran时间范围内对应存储路径,对每一条符合条件路径,执行步骤f);

f)获取路径键值中的RSUID值,以(RSUID,T0,Tran)为参数,重复c)~d)步骤查找同时段同一RSU下车辆的证据。

g)使用令牌密钥加密证据(结构如图8),返回给查询方。

4)查询方接收证据信息。

查询方使用令牌公式密钥K*解密:Dk(evi),获得证据数据。

证据除了包含事故时段内,本车辆的状态数据外,还包含此时段内,与本车接入同一RSU 的其他车辆状态数据。司法机关和保险公司可以根据查得数据全面有效地还原事故现场相关车辆的状态,从而判定责任归属。

3 仿真结果及分析

方案采用Hyperledger Fabric 开源代码进行仿真实验,在Linux 操作系统中利用docker 搭建联盟链模型,模拟6 个RSU作为节点进行共识,采用go 语言编写智能合约,完成证据的存取操作。实验设计了电子存取证系统,分别模拟合法入网车辆进行证据的上传,及可信查询方进行证据的获取。实验结合吞吐量与取证响应时间对系统的可行性进行分析。

3.1 实验结果及可行性分析

方案在虚拟机中部署6 个区块链节点,代表共识的节点RSU,负责车辆证据的入链及更新操作。表2 显示RSU 在1 h内的测试情况,结果表明6 个共识节点均保持在线状态,且进行证据的更新操作。

表2 可行性分析Tab.2 Feasibility analysis

3.2 安全性分析

1)证据存储的不可篡改与可追溯性。

在传统车联网电子取证模型中,车辆将证据全部发送至云数据中心进行处理存在较大风险——实时性和安全性。高速行驶的车辆需要在毫秒时间内得到响应,一旦由于数据传输、网络攻击等问题,车辆状态数据将无法记录,从而带来责任归属难题。另外,由于中心云服务器面临高负荷数据处理工作,且极易遭到篡改、窃听及拒绝服务等攻击,证据的破坏将对车联网用户造成巨大的损失。本文方案结合区块链技术存储车辆的电子证据,将存取证服务移至车辆就近的RSU,进行边缘处理,满足低时延、大连接需求。区块链以区块头部中的哈希值串联而成,利用了哈希函数的不可逆性与极难碰撞性(一旦修改一个数据,整条链的哈希值随之发生变化),加大攻击难度,使得存储在区块链中的证据无法篡改且不可否认。由于区块链永久存在,并按照时间顺序排列,故每条记录都可通过时间追溯。

2)证据访问控制和身份隐私保护。

保险公司、司法部门、车辆都为轻节点,只存储区块头部信息,无法查看区块链中完整证据,完整证据的获取需要向交管部门申请令牌,只有在交管部门授权条件下可查询证据。令牌可根据需要规定有效期限,由随机数构成一次一密,保护了证据隐私。

车辆使用临时匿名私钥进行证据的签名,临时身份Token带有时间戳,可在不定时间内进行更新,保护车辆身份的隐私。

3)会话过程的安全性。

a)会话密钥产生安全性。

单项哈希函数加密,保证会话密钥的安全,同时采用随机数抵御中间人攻击。

b)会话过程安全性。

会话明文以分组为单位进行加密,每个分组的二进制均小于n,设PR={e,n},SR={d,n},明文为m。

①加密:C=memodn;

②解密:M=Cdmodn=(me)dmodn=medmodn。

数学攻击的途径:分解n为两个素因子。计算出φ(n)=(p-1)(q-1),从而确定d≡e-1(modφ(n))。由给定的n来确定φ(n)等价于因子分解n,基于大整数的因式分解难题无法破解私钥。对于选择密文攻击(Chosen Ciphertext Attack,CCA),由于EPx(M1)×EPx(M2)=EPx([M1,M2]),利用如下方法解密:

因此,得到M。为防止此类攻击,在加密前对明文进行随机填充。使得密文随机化,从而性质不成立。使之无法破解。

同时因为私钥只有本地可知,对于公钥加密信息只有对应私钥可解,只有私钥拥有者才可进行数字签名,保证传输数据的保密性、完整性和可靠性。

c)查证安全性。

查证时,令牌密钥由交管部门私钥和随机数计算得到,实现一次一密,保证令牌的不可伪造性与安全性,从而实现可靠证据传输。

3.2 功能对比

和其他已知电子存证方法的功能对比如表3所示。

表3 电子存证方法的功能对比Tab.3 Functional comparison of electronic deposition methods

3.3 性能分析

3.3.1 共识算法的改进

本文方案基于DPOS 设计了新型共识机制,改进后的算法可批量验证区块,改善了DPOS 原有轮流出块高时延缺陷,提高了存证效率,确保证据的第一时效性。方案模拟了400个车辆存证情况下,在10 min 内RSU 出块时延的变化,如图10 所示,传统DPOS 算法和本文方案由于频繁交互均出现先增高后降低的趋势,在6~8 s时,系统性能较稳定,本文方案的新共识算法在吞吐量方面的性能优于传统DPOS。

图10 系统吞吐量分析Fig.10 System throughput analysis

3.3.2 取证响应时间测试

方案为测试取证时延,分别模拟400~600 次查询方调用智能合约进行车辆状态数据的获取,计算取证平均响应时间。结果如图11 所示,随着请求次数的增加,时延呈上升趋势,但响应时间均维持在4 s内。传统的电子取证多为远程中心化,由于带宽及距离因素,存证时延在10 s 左右。本文方案设计了适用于车联网的电子取证方案,将存取证任务边缘化,减少了远程传输时延,可满足车联网取证需求。

图11 响应时间测试Fig.11 Test of response time

另外,由于本文方案设计的查证方都属于区块链的轻节点(保险公司、司法部门),事先通过Bloom Filter 可得知证据是否存在于区块链,减轻智能合约负荷,再使用travel 函数定位完整证据,提高查询效率。

综上所述,本文方案采取改进的DPOS 共识机制,能有效提高存证共识效率,同时取证响应速度可满足场景需求,说明了本文方案是高效可行的。

4 结语

为了更有效地进行机动车责任认定,本文设计了基于区块链的车联网环境下电子取证方案,利用区块链技术实现了电子证据的不可篡改、不可否认及永久保存;并提出新的高效率批量共识机制,以满足车联网实时性要求。方案通过令牌授权技术实现查询权限控制,结合智能合约完成快速的证据检索。通信过程使用公钥密码体制,保证车辆用户身份的匿名、数据传输的保密性与完整性。目前对于电子证据的存证问题,国内外研究不多,希望通过引入区块链技术,能为车联网的电子存证探索一种新的思路,以期抛砖引玉。

猜你喜欢
令牌交管部门密钥
编者按
称金块
幻中邂逅之金色密钥
幻中邂逅之金色密钥
Android密钥库简析
司机4个月举报400多起交通违法获万元奖金
一种新的动态批密钥更新算法
《道教法印令牌探奥》出版发行