第一章 作品概述
(建议包括:背景分析、相关工作、特色描述及应用前景分析等)
1.1研究背景及意义
近年来,交通违章记录被篡改、汽车维修厂商虚假报价、虚假维修等问题层出不穷。据广州日报报道,一家代办交通违章业务商店的老板伙同三名交通协管员盗用警察账号和密码,疯狂删改上万宗广东省内各地公安机关的交通违章记录,在两年多时间内,竟将数百万元交通违章罚款据为己有;网友线上汽车维修,维修厂家表示更换41处配件并按全新配件收取费用,后线下鉴定发现多数配件并未更换,车主想维权却无法取证。并且过去几年对汽车行业来说尤其艰难。更严格的法规、贸易冲突导致的供应链中断、一系列此类挑战等都影响了该行业的增长曲线。然后,新冠肺炎疫情的爆发对汽车行业产生了不利影响,使其成为受灾最严重的行业之一。
为了应对这些挑战,汽车行业逐渐更加注重汽车内外数字化,这就使各大汽车企业向车联网领域发起挑战,但是存在一些传统汽车行业体系的痛点:数据孤岛,供应链信息不透明、产业链长追溯难,数据公信力不足、信息不对称,消费者信任度低……而区块链这一技术可以支持这种多利益相关者信任的生态系统。
区块链相当于一个分布式账本,车联网正需要这样一个不可篡改且保证透明度和真实性的账本来记录车主的行驶数据和行为。区块链可以记录车辆完整生命线,包括汽修汽配、车辆管理、车辆故障、汽车制造商、汽车租赁、保险、交通事故的现场信息等,解决车辆数据的永久保存、不可篡改的问题。
针对上述问题以及区块链技术,我们设计了一个基于区块链的车联网汽车服务管理平台。本平台引入区块链来记录汽车服务中产生的数据,区块链有可追溯的特性,即使违章记录、维修记录被修改,也可以利用这一特性来查找被修改的数据,解决了车主因为维修商虚假报价而难以取证的问题。同时,由于区块链不可篡改,用户可以完全信任获取到的数据,不用担心信息的真实性,解决了交通记录被篡改的问题。此外,本平台还具有可随时查看汽车数据的功能,通过对比维修前后的汽车数据,可以避免虚假维修的问题。
1.2 国内外研究现状

第二章 作品设计与实现
(建议包括系统方案、实现原理、硬件框图、软件流程、功能、指标等)
开发一个基于区块链中的联盟链实现的汽车管理服务系统,在此系统中,我们将形成一条联盟链,联盟链上的成员都是在汽车生命周期中可能会涉及到的应用部门,如交管部门,汽车维修企业,汽车保险公司等,联盟链上的成员有权可以共享基于区块链所加密的数据,从而获取到汽车从生产以来的数据。使得车辆的相关数据透明化、准确化、可追溯。同时联盟成员对车辆进行相应操作也要将修改后的车辆数据加密上传到区块链中。
基于此平台,交管部门可以获取到准确车辆的违章数据。汽车维修部门可以获取到车辆之前的维修记录,从而指定合适的维修计划。汽车保险部门可以根据汽车的违章数据,维修数据个性化的制定保险服务。二手汽车市场可以根据汽车的相应数据决定是否要采购以及采购价格,进而可以规范汽车二手市场……。这样我们就正实现了对庞大的汽车市场以及群体的高效化、准确化管理。

图2.1 系统流程图
2.1作品功能模块
(1)车主模块
①车主上传车辆、个人数据。这些数据都会上传至区块链,由于区块链的匿名性,可以保证车主在系统中交易的安全性。但是车主的个人数据上传到区块链时,会先进行CP-ABE加密,此加密可以让车主选择能够查看自己信息的部门,以实现车主对自己隐私信息的可控性。
②从区块链上获取维修部门提供的维修方案、交管部门发布的违章信息。车主可以查看到自己车辆的历史维修记录、违章记录。因为这些数据是从区块链上获取到的,而区块链具有不可篡改和可追溯性,数据一旦上传到链上则不可修改或者难以修改,可以保证获取到的数据的真实性和可信性。
③车主可以与维修部门、交管部门产生交易(支付维修订单、交罚款)。基于区块链的智能合约,可以在不经过第三方的情况下产生可信的交易,从而保证交易的安全性、可信性。
(2)维修部门模块
①处理车主请求,并制定维修方案以待车主选择。因为区块链的可追溯和不可
篡改(区块链的智能合约、共识机制,技术方面的)的特性,能够限制维修方虚假报价的可能性,因为维修方一旦上传数据便不能进行修改,且用户可以从链上获取其上传的数据,是否欺骗车主能够通过数据来判断。
②从区块链上获取汽车数据、历史维修记录。利用区块链的可追溯性获取到的这些数据,能够帮助维修部门制定更适合所维修车辆的方案,也能减少车主与维修工人的不必要的信息交换时间,更加节约时间、空间成本。
(3)交管部门模块
①处理违章记录并发送给车主。违章记录同时会上传至区块链,因为区块链不可篡改,所以可以有效避免篡改违章记录的违法犯罪行为,并且如果违章记录出现错误,利用区块链的可追溯性,也能查找记录问责。
②从区块链上获取个人信息、车辆信息。因为是从区块链上获取到的数据,所以数据具有真实性和可信性,交管部门获取这些信息能够更好更快的处罚违法行为。

系统功能图
2.2核心技术
2.2.1面向数据安全取证的区块链设计
区块链由区块链接而成,类似于链表结构,区块上有打包的车辆和交易数据,篡改这些数据会使得链条断开,区块链系统由各个节点组成,每个节点有所有区块的备份,所以理论上链上数据不可被篡改并且可以对数据进行溯源,这样车辆和交易的信息都可靠且可查。
系统的重要信息通过信息提供者发送数据或者上传交易的方式,经过向证书中心CA注册获得匿名证书、身份认证后,可以将数据信息、身份、时间戳、上一区块的散列值、随机数、Merkle根组成区块上传。所有同类信息的区块通过包含上移区块的散列值构成一条区块链。上传的数据越多、时间跨度越长,想要修改区块所花费的代价就越高,信息的篡改可能就越小。
我们系统中主要利用到区块链的不可篡改和可追溯的特性来保证用户信息的安全可信,因为这两个重要的特性,我们系统的使用者:车主、维修人员、交管部门一旦上传信息便不可修改或很难以修改,且用户上传的信息都能够被溯源,以此来保证用户上传信息的可靠性、可信性,使数据更加安全且可取证
利用区块链的特性,我们系统的重要信息:车辆数据、维修记录数据、违章记录数据都将用区块链进行存储,通过区块链保证了数据的安全管理。我们的系统也设计了自己的区块链网络,网络中包含三个组织,组织间通过通道进行数据共享以实现数据、事务的隔离性与安全性。这三个组织分别代表车主、维修部门和交管部门,车主代表的组织与维修部门代表的组织之间存在一个通道,车主与交管部门所代表的组织之间也存在一个通道,通道间互不影响,数据无法传递,实现了用户数据在系统中的安全,避免数据被多方共享的风险,更好实现数据安全取证。
2.2.2 基于智能合约的用户信息取证设计
当信息访问者需要查询车辆数据、维修记录、违章记录时,系统会提交事务调用区块链预先编写好的智能合约。如果要实现加入车辆、上传维修记录、违章记录时调用智能合约时需要在区块链全网达成共识,且此次的操作会被记录在区块链上。因此数据的所有修改都能够被记录下来,一旦信息被篡改,也能够查询发现。以下为系统的模型图。

1)数据提供者:感知与收集周边环境数据的设备,通过发送数据上传交易的形式,经过身份认证后,向车联网提供数据。数据提供者包含车主、维修部门人员、交管部门人员等,数据以密文形式存储于分布式存储系统中,而数据摘要存储于区块链网络中。 

2)数据访问者:通过发送数据访问交易的形式向车联网请求相应的数据,经过身份认证与访问权限验证后,从车联网中获得所需的数据,数据访问者车主、维修部门人员、交管部门人员等。
3)区块链平台:由一群区块链节点搭建与维护,对系统中的数据上传与数据访问进行记录。区块链节点包含车主、维修部门、交管部门等,区块链的作用是为了解决系统中数据完整性和可验证性的保护问题。
4)CA:初始化整个系统的区块链网络,注册各个实体,然后保持离线状态。
数据提供者提供证据,数据访问者访问证据,一个实体可以同时充当数据提供者和数据访问者。区块链平台主要用于记录证据的上传与访问记录,由于其容量有限,所以需要借助分布式存储系统存储详细证据,所有注册信息都由 CA 保管。
2.2.3 属性基加密的数据安全共享设计
使用AES对称加密方法加密数据,通过CP-ABE加密对称密钥,保证了数据的机密性以及数据的可控共享,相较于基于身份的访问控制方式,本研究方案无须事先确定数据访问者的身份,能够通过一次加密,达到对多个数据访问者的数据安全共享效果。以下为加密的流程:
一般情况下,一个基于属性的密文策略加密方案包括由以下四个过程:
第一步:系统初始化。以一个隐含的安全参数为输入,而不需要其它输入参数,输出系统公共参数PK和系统主密钥MK。
第二步:消息的加密。以加密消息M,本系统中为格式固定的一串字符串,系统的公共参数PK和访问结构A为算法的输入参数,其中A是在全局属性集合上构建的。该算法的输出消息M用A加密后的密文CT。
第三步:密钥的生成。以一个属性集合S,系统的公共参数PK和系统的主密钥MK作为算法的输入参数。该算法输出私钥SK。
第四步:密文的解密。以密文CT,系统的公共参数PK和解密密钥SK作为算法的输入参数,其中密文CT包含访问结构A,SK是S的解密密钥。如果属性集合S满足访问结构A,则解密密文。
本系统有车主、维修部门、交管部门三个身份,我们可以在后台设置我们所需的访问结构和属性集合,只有满足访问结构的才可解密信息,保证了用户信息的机密性、安全性。
2.3 角色定义
2.3.1 角色关系图

2.3.2 角色功能设计
车主:
 登录:用户输入手机号,密码验证登录
 注册:用户输入手机号,密码,用户名,身份号进行注册靶机管理
 完善个人信息:用户可以完善自己的驾驶证信息公告管理
 修改个人信息:用户可以修改自己的用户名、密码、手机号码等可修改信息
 增加车辆:用户通过输入车牌号增加车辆
 删除车辆:用户通过删除车辆按钮删除车辆
 上传车辆数据:用户通过一键上传车辆数据按钮,获取车辆当前信息并上传
 查看数据:用户在数据分析界面可以查看到自己的车辆信息、违章记录、维修记录
 决策维修方案:用户可以接收到由维修部门传至平台上的维修方案,可以对这个方案进行相应处理再次上传
交管部门:
 登录:用户输入手机号,密码验证登录
 查看未处理违章记录:用户在进入界面之后,可以点击查看,看到最新的违章记录
 处理违章记录:用户可以对未处理的违章记录进行操作,进行处理
 查看所有车辆信息:用户可以在查询车辆信息界面查询到所有的车辆信息
 查看人员信息:用户可以到查询人员信息界面查询信息
 选择维修方案:用户可以选择维修人员提交的方案,进行处理
维修部门:
 查看车辆信息:用户可以在查询车辆信息界面查询到所有需要维修的车辆信息
 制定维修方案:维修人员可以再界面上选择零件进行方案制定
 上传维修记录:维修人员可以选择自己的方案进行上传