CN114254383A - 基于区块链的智能网联汽车数据安全管理系统及方法 - Google Patents
基于区块链的智能网联汽车数据安全管理系统及方法 Download PDFInfo
- Publication number
- CN114254383A CN114254383A CN202111500466.4A CN202111500466A CN114254383A CN 114254383 A CN114254383 A CN 114254383A CN 202111500466 A CN202111500466 A CN 202111500466A CN 114254383 A CN114254383 A CN 114254383A
- Authority
- CN
- China
- Prior art keywords
- data
- user
- record
- management
- block chain
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000006855 networking Effects 0.000 title claims abstract description 36
- 238000007726 management method Methods 0.000 claims abstract description 103
- 238000013523 data management Methods 0.000 claims abstract description 74
- 238000012550 audit Methods 0.000 claims description 83
- 238000012795 verification Methods 0.000 claims description 37
- 238000013500 data storage Methods 0.000 claims description 25
- 238000004364 calculation method Methods 0.000 claims description 16
- 238000012790 confirmation Methods 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 8
- 230000000977 initiatory effect Effects 0.000 claims description 7
- 230000000903 blocking effect Effects 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 abstract description 10
- 230000007246 mechanism Effects 0.000 abstract description 8
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 7
- 239000004744 fabric Substances 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 239000003999 initiator Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013478 data encryption standard Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000013496 data integrity verification Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Storage Device Security (AREA)
Abstract
本申请提出一种基于区块链的智能网联汽车数据安全管理系统及方法,其中,系统包括:用户管理子系统,用于管理各个智能网联汽车数据管理中心的用户进入系统的统一注册身份,基于统一注册身份进行证书分发,且验证操作的身份安全;数据管理子系统,用于用户对不同数据管理中心的云平台中的数据进行数据管理操作;操作管理子系统,用于根据用户在系统中对智能网联汽车数据的数据管理操作生成安全记录、查询操作记录和追溯操作记录,以对管理中心的智能网联汽车数据进行可信管理与溯源追责。本申请引入区块链技术构建多中心分布式管理机制,使存储在不同中心的智能网联汽车数据在区块链管理下的实现统一共享。
Description
技术领域
本申请涉及智能网联汽车数据安全技术领域,特别涉及一种基于区块链的智能网联汽车数据安全管理系统及方法。
背景技术
智能网联汽车是指搭载先进的车载装置,融合现代网络通信技术,可实现车车、车路、车人、车云等进行数据交换、共享,具备复杂环境感知、智能决策、协同控制等功能的新一代汽车。为实现以上复杂功能,智能网联汽车需要产生、存储、分析、利用大量数据,而这些数据中又包含大量重要且隐私的信息。因此,如何对智能网联汽车数据进行安全的管理成为了当前亟待解决的问题。目前,我国对于智能网联汽车数据的管理采用国家管理中心、属地管理中心和企业管理中心的分级管理方式。但是,由于目前各中心都还采用传统的云存储或数据库存储方式对数据进行管理,所以多中心之间的数据流通将面临跨信任域的问题,导致多中心数据难以实现可信管理与溯源追责。
区块链是一种结合分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型计算范式,其核心是一个去中心化的链状架构。区块链中每一次有效且可被验证的状态转移被记录为一笔交易,而区块链本身就是一个记录这些交易的电子账本。区块链网络中的每个节点都可以生成交易、认证交易、备份账本,从而保证数据的去中心化管理。按照去中心化程度的不同,区块链包括公有链、私有链和联盟链等类型,其中联盟链有多个组织参与,可实现部分去中心化,适应多方参与、多用户使用的应用场景。
综上,如何将区块链技术应用于智能网联汽车数据进行安全管理是一个难题。
发明内容
本申请提供一种基于区块链的智能网联汽车数据安全管理系统及方法,引入区块链技术构建多管理中心环境下的数据安全管理机制,使存储在不同数据管理中心的云平台中的智能网联汽车数据可以实现统一的数据管理。
本申请第一方面实施例提供一种基于区块链的智能网联汽车数据安全管理系统,包括:
用户管理子系统,用于管理各个智能网联汽车数据管理中心的用户进入系统的统一注册身份,基于所述统一注册身份进行证书分发,且验证操作的身份安全;
数据管理子系统,用于所述用户对不同数据管理中心的云平台中的数据进行数据管理操作,其中,所述数据管理操作包括存储操作、查询操作、共享操作、更新操作、审计操作中的至少一项;以及
操作管理子系统,用于根据所述用户在系统中对智能网联汽车数据的数据管理操作生成安全记录、查询操作记录和追溯操作记录,以对管理中心的智能网联汽车数据进行可信管理与溯源追责。
可选地,在本申请的一个实施例中,所述用户管理子系统,包括:
用户注册模块,用于在所述用户进入系统后,对所述用户进行注册,利用区块链为所述用户颁发身份证书及生成对应的属性密钥,以用于数据共享;
用户确认模块,用于验证所述用户的身份证书,并在验证通过后,允许所述用户进入所述系统;
在所述用户在系统中进行数据写入操作时,判断所述用户的身份证书满足写入条件后,允许数据写入。
可选地,在本申请的一个实施例中,所述数据管理子系统包括:
数据查询模块,用于对所述系统中的已有数据输入数据唯一标识,查询指定数据的数据记录;
数据存储模块,用于根据所述用户发起的上传数据请求,对数据进行加密、分块及属性策略加密和审计标签计算,并上传密文数据,得到云返回的数据存储地址后,基于所述存储地址上传所述密文数据并记录到区块链中,且记录对应的上传操作记录到区块链中,获取数据记录和操作记录,得到返回的上传结果;
数据共享模块,用于根据所述用户的数据下载请求获取数据记录后,下载所述密文数据,并从所述区块链中获取中间密钥的密文,且解密中间密钥及数据,生成共享操作记录;
数据审计模块,用于所述用户发起审计挑战,且云平台监听到所述区块链审计事件后,向所述系统提交审计响应,根据区块链智能合约对所述审计响应和所述审计挑战进行验证计算,得到审计验证结果,并存入验证事件且在所述区块链中广播,更新所述数据记录,并生成对应的操作记录;
数据更新模块,用于更新所述云平台中存储数据或其对应的密钥重新执行数据存储的上传操作,和/或更新访问策略或数据介绍,并生成对应的操作记录。
可选地,在本申请的一个实施例中,所述操作管理子系统包括:
操作注册模块,用于在所述用户进入系统并发起操作请求后,根据所述操作请求进行操作并修改数据记录,得到区块链返回的交易编号,并查询交易位置,且根据注册操作记录修改后项编号,获取返回操作结果与操作记录;
操作查询模块,用于根据所述用户输入的第一操作记录查询关键字,其中,若选择查询指定记录,则定位到所述区块链中相应位置查询;若选择查询最近一次操作记录,则运行后项记录追踪模块查询所述最近一次操作记录;
操作追溯模块,用于根据所述用户输入的第二操作记录查询关键字,并运行前项记录追踪模块和后项记录追踪模块,把导出的操作记录合并去重后,按照所述区块链中交易次序排序后得到完整操作记录列表。
本申请第二方面实施例提供一种基于区块链的智能网联汽车数据安全管理方法,包括以下步骤:
管理各个智能网联汽车数据管理中心的用户进入系统的统一注册身份,基于所述统一注册身份进行证书分发,且验证操作的身份安全;
通过所述用户对不同数据管理中心的云平台中的数据进行数据管理操作,其中,所述数据管理操作包括存储操作、查询操作、共享操作、更新操作、审计操作中的至少一项;
根据所述用户在系统中对智能网联汽车数据的数据管理操作生成安全记录、查询操作记录和追溯操作记录,以对管理中心的智能网联汽车数据进行可信管理与溯源追责。
可选地,在本申请的一个实施例中,所述管理各个智能网联汽车数据管理中心的用户进入系统的统一注册身份,基于所述统一注册身份进行证书分发,且验证操作的身份安全,包括:
在所述用户进入系统后,对所述用户进行注册,利用区块链为所述用户颁发身份证书及生成对应的属性密钥,以用于数据共享;
验证所述用户的身份证书,并在验证通过后,允许所述用户进入所述系统;
在所述用户在系统中进行数据写入操作时,判断所述用户的身份证书满足写入条件后,允许数据写入。
可选地,在本申请的一个实施例中,所述通过所述用户对不同数据管理中心的云平台中的数据进行数据管理操作,还包括:
对所述系统中的已有数据输入数据唯一标识,查询指定数据的数据记录;
根据所述用户发起的上传数据请求,对数据进行加密、分块及属性策略加密和审计标签计算,并上传密文数据,得到云返回的数据存储地址后,基于所述存储地址上传所述密文数据并记录到区块链中,且记录对应的上传操作记录到区块链中,获取数据记录和操作记录,得到返回的上传结果;
根据所述用户的数据下载请求获取数据记录后,下载所述密文数据,并从所述区块链中获取中间密钥的密文,且解密中间密钥及数据,生成共享操作记录;
通过所述用户发起审计挑战,且云平台监听到所述区块链审计事件后,向所述系统提交审计响应,根据区块链智能合约对所述审计响应和所述审计挑战进行验证计算,得到审计验证结果,并存入验证事件且在所述区块链中广播,更新所述数据记录,并生成对应的操作记录;
更新所述云平台中存储数据或其对应的密钥重新执行数据存储的上传操作,和/或更新访问策略或数据介绍,并生成对应的操作记录。
可选地,在本申请的一个实施例中,所述根据所述用户在系统中对智能网联汽车数据的数据管理操作生成安全记录、查询操作记录和追溯操作记录,包括:
在所述用户进入系统并发起操作请求后,根据所述操作请求进行操作并修改数据记录,得到区块链返回的交易编号,并查询交易位置,且根据注册操作记录修改后项编号,获取返回操作结果与操作记录;
根据所述用户输入的第一操作记录查询关键字,其中,若选择查询指定记录,则定位到所述区块链中相应位置查询;若选择查询最近一次操作记录,则运行后项记录追踪模块查询所述最近一次操作记录;
根据所述用户输入的第二操作记录查询关键字,并运行前项记录追踪模块和后项记录追踪模块,把导出的操作记录合并去重后,按照所述区块链中交易次序排序后得到完整操作记录列表。
本申请第三方面实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如上述实施例所述的基于区块链的智能网联汽车数据安全管理方法。
本申请第四方面实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以实现如上述实施例所述的基于区块链的智能网联汽车数据安全管理方法。
本申请实施例的基于区块链的智能网联汽车数据安全管理系统及方法,引入Hyperledger Fabric联盟链技术构建多中心环境下的数据安全管理机制,设计用户记录、数据记录、操作记录等元数据存储在区块链中支持系统功能,并与多个数据中心云平台进行协同操作,实现数据的安全管理和操作的可信溯源。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本申请实施例提供的一种基于区块链的智能网联汽车数据安全管理系统结构示意图;
图2为根据本申请实施例提供的一种基于区块链的智能网联汽车数据安全管理系统结构逻辑示意图;
图3为根据本申请实施例提供的基于区块链的智能网联汽车数据安全管理系统模型示意图;
图4为根据本申请实施例提供的基于区块链的智能网联汽车数据安全管理系统功能模块示意图;
图5为根据本申请实施例提供的用户记录元数据示意图;
图6为根据本申请实施例提供的数据记录元数据示意图;
图7为根据本申请实施例提供的操作记录元数据示意图;
图8为根据本申请实施例提供的数据存储模块工作流程示意图;
图9为根据本申请实施例提供的数据共享模块工作流程示意图;
图10为根据本申请实施例提供的数据审计模块工作流程示意图;
图11为根据本申请实施例提供的操作记录注册流程示意图;
图12为根据本申请实施例提供的最近一次数据记录查询流程示意图;
图13为根据本申请实施例提供的操作记录追溯流程示意图;
图14为根据本申请实施例提供的基于区块链的智能网联汽车数据安全管理方法流程图;
图15为根据本申请实施例的电子设备的示例图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
如图1和图2所示,该基于区块链的智能网联汽车数据安全管理系统10包括:用户管理子系统100、数据管理子系统200和操作管理子系统300。
其中,用户管理子系统100,用于管理各个智能网联汽车数据管理中心的用户进入系统的统一注册身份,基于统一注册身份进行证书分发,且验证操作的身份安全。
数据管理子系统200,用于用户对不同数据管理中心的云平台中的数据进行数据管理操作,其中,数据管理操作包括存储操作、查询操作、共享操作、更新操作、审计操作中的至少一项。
操作管理子系统300,用于根据用户在系统中对智能网联汽车数据的数据管理操作生成安全记录、查询操作记录和追溯操作记录,以对管理中心的智能网联汽车数据进行可信管理与溯源追责。
本申请的实施例对存储在多个智能网联汽车数据管理中心的数据,其对应的用户记录、数据记录、操作记录等元数据用区块链进行管理并与存储数据的各个管理中心的云平台进行协同。
基于区块链的智能网联汽车数据安全管理系统包括各级管理中心组成的用户、各级管理中心用于存储管理数据的云平台、区块链三种角色。用户是系统的使用者,包括智能网联汽车国家管理中心、各个属地管理中心、各个企业管理中心。各级管理中心以联盟链Peer节点的身份加入联盟链中,每个属地中心及其下属企业中心构建一个Org,国家管理中心单独组建一个Org。每个用户可通过安装在自己的Peer节点进行数据管理。针对不同的数据,用户可以担任数据拥有者和数据使用者两种身份,其中,前者具有包括上传、更新等操作的数据管理的全部权限,后者只具有数据查询、共享、审计等较低的数据管理权限。各级管理中心用于数据存储的云平台需要接受区块链的统一调度,不再负责数据管理、只保留存储和部分计算功能。云平台不会主动与用户或区块链进行交互,而是通过监听的方式,接受用户和区块链的操作请求,并使用应用程序对数据进行规定的操作。区块链是整个系统的核心,其智能合约需要承担访问控制、完整性审计、编码寻址、操作溯源四项核心技术中的大部分计算任务,而区块链账本中存储的记录是数据管理的基础。区块链利用智能合约调用接口接受用户节点和云平台节点的调用请求,又通过事件机制将任务或结果广播,实现与用户和云平台的交互。
如图3所示,展示了本申请的基于区块链的智能网联汽车数据安全管理系统模型,该系统由各级管理中心组成的用户、各级管理中心用于存储管理数据的云平台、区块链三个参与方构成。通过编码寻址、操作溯源、访问控制和完整性审计等技术,实现了跨中心的智能网联汽车数据的安全存储、共享、审计、更新、溯源等功能。
首先,用户是系统的使用者,包括智能网联汽车国家管理中心、各个属地管理中心、各个企业管理中心。各级管理中心以联盟链Peer节点的身份加入Fabric联盟链中,每个属地中心及其下属企业中心构建一个Org,国家管理中心自己为一个Org。每个用户可通过自己Peer节点进行数据管理,针对不同的数据,用户可以担任数据拥有者和数据使用者两种身份。其中,当用户将本数据中心的数据发布在区块链上时,用户的身份为数据拥有者,具有对该数据的最高管理权限,可以对数据进行上传、更新等操作。当用户根据自身权限获取其他管理中心的数据时,身份变为数据使用者,只能对数据进行查询、审计、共享等低权限的操作。在本系统中,用户与区块链的信息交互通过客户端调用区块链应用程序接口进行的。客户端通过调用接口与区块链中的各个智能合约交互,实现数据的编码寻址、访问控制、完整性审计和操作溯源等数据安全管理功能。用户与云平台的信息交互通过Socket进行。客户端通过调用Socket接口,连接云中的Socket服务器,实现密文数据的传输。
第二,各级管理中心用于存储管理数据的云平台需要接受区块链的统一调度,不再负责数据管理、只保留存储和计算功能。云平台不会主动与客户端或区块链进行交互,而是通过监听的方式,接受客户端和区块链的操作请求,并使用应用程序对数据进行规定的操作。一方面,云平台的Socket服务器需要监听来自用户的操作请求,并按照请求进行数据传输等操作。另一方面,云也需要监听来自区块链的事件,并做出相应的回复。
第三,区块链是整个系统的核心,其智能合约承担访问控制、完整性审计、编码寻址、操作溯源四项核心技术中的大部分计算任务,而区块链账本中存储的记录是数据管理的基础。区块链利用智能合约调用接口接受用户Peer和云平台Peer节点的调用请求,又通过事件机制将任务或结果广播,实现与用户和云平台的交互。
下面详细介绍本申请实施例的各个子系统。
该系统的功能模块如图4所示。从功能上可分为三个子系统,分别是用户管理子系统、数据管理子系统和操作管理子系统。其中,用户管理子系统又可以分为用户注册模块、用户查询模块和用户确认模块;数据管理子系统又可细分为数据查询模块、数据存储模块、数据共享模块、数据更新模块、数据审计模块;操作管理子系统又可细分为操作注册模块、操作查询模块和操作追溯模块。三个子系统分别设计了相应的智能合约,分别是用户管理合约、数据管理合约和操作管理合约。
进一步地,在本申请的实施例,用户管理子系统100设计了用户记录元数据,使本系统能支持多层级多中心智能网联汽车管理中心用户的注册、查询、确认,并支撑用户在本系统中对数据进行不同操作。用户管理子系统100包括:
用户注册模块,用于在用户进入系统后,对用户进行注册,利用区块链CA为用户颁发身份证书及生成对应的属性密钥,以支持数据共享。
用户查询模块,用于验证用户的身份证书,并在验证通过后,允许用户进入系统。可以理解的是,用户进入系统需要提供证书,验证通过方可进入。
用户确认模块,用于在用户在系统中进行数据写入操作时,判断用户的身份证书满足写入条件后,允许数据写入。可以理解的是,用户在系统中进行数据操作时,对包括数据上传与更新等权限较高的写入操作,需要用户提交证书,验证通过才能执行操作。
具体地,用户管理子系统是用户进入系统后最先进行交互的模块,其主要负责用户注册、用户查询和用户确认。该子系统主要基于区块链的用户证书进行身份认证。在用户注册时,本Org中的区块链CA节点将向用户发放证书,作为用户身份的象征。用户进入系统时,需要先提交证书进行身份认证,通过后才可以进入系统向智能合约提及交易。与之相似的是用户确认模块。在用户进行一些权限较高的操作时,例如上传数据、更新数据等,需要用户重新提交证书进行确认,保证该操作为用户本人完成。
用户管理子系统设计了用户记录元数据以支持各项功能,如图5所示。用户记录存储了用户信息,主要包括用户的基本信息、用户用于数据访问控制的信息、用户用于数据完整性审计的信息和用户共享数据的信息。
用户的基本信息包括用户名和所属Org两个字段。用户名是各级数据管理中心的名字(例如:北京属地管理中心),由智能合约来保证用户名的唯一性。在用户注册时,智能合约会在世界状态数据库中查询是否存在相同的用户名,若存在,则不能通过注册。所属Org是用户注册时所在的组织名(例如,北京),每个属地中心及其下属企业中心构建一个Org,国家管理中心单独为一个Org。
“访问控制”信息一类包括用户属性、属性周期和属性密钥三个字段,用于实现基于属性的细粒度访问控制。其中用户属性和属性周期是由属性机构发放给用户的;属性密钥则是智能合约基于系统参数、用户属性和属性周期计算得来的。
“完整性审计”信息一类只有“审计公钥”一个字段,存储用户进行数据完整性审计时的公钥。
用户共享数据的信息包括成功共享次数、失败共享次数和信誉值三个字段。在用户作为数据使用者共享他人数据时,需要调用智能合约中的访问控制模块,计算自身属性是否可以通过数据的访问策略,若属性合适,智能合约就可返回用户正确的中间密钥,同时将用户的成功共享次数加一;反之,用户的失败共享次数加一。信誉值是由成功共享次数Tsus和失败共享次数Tfail计算:
进一步地,本申请实施例的数据管理子系统200设计了数据记录元数据,使本系统能支持支持多层级多中心的智能网联汽车数据的查询、存储、共享、更新、审计等常见操作。数据管理子系统200包括:
数据查询模块,用于对系统中的已有数据输入数据唯一标识,查询指定数据的数据记录。可以理解的是,对系统中已有数据,输入数据唯一标识,查询指定数据的数据记录。
数据存储模块,用于根据用户发起的上传数据请求,对数据进行加密、分块及属性策略加密和审计标签计算,并上传密文数据,得到云返回的数据存储地址后,基于存储地址上传密文数据并记录到区块链中,且记录对应的上传操作记录到区块链中,获取数据记录和操作记录,得到返回的上传结果。
数据共享模块,用于根据用户的数据下载请求获取数据记录后,下载密文数据,并从区块链中获取中间密钥的密文,且解密中间密钥及数据,生成共享操作记录;
数据审计模块,用于用户发起审计挑战,且云平台监听到区块链审计事件后,向系统提交审计响应,根据区块链智能合约对审计响应和审计挑战进行验证计算,得到审计验证结果,并存入验证事件且在区块链中广播,更新数据记录,并生成对应的操作记录;
数据更新模块,用于更新云平台中存储数据或其对应的密钥重新执行数据存储的上传操作,和/或更新访问策略或数据介绍,并生成对应的操作记录。
具体地,数据管理子系统是整个系统中最主要的部分,主要包括数据查询模块、数据存储模块、数据共享模块、数据更新模块、数据审计模块等子模块。这些模块为用户提供了对于智能网联汽车数据的各项基本操作,同时保证操作中数据的安全性。
数据管理子系统设计了数据记录元数据以支持各项功能,如图6所示,主要包括数据记录最近一次更新时的交易信息、数据本身的基本信息、数据当前的状态信息、数据的访问控制信息和数据的完整性审计信息。
在“交易信息”一类中,数据记录主要存储了记录最后一次更新时的通道编号和交易编号。通过这两个字段,就可以在一个区块链账本中确定唯一的一笔交易,并查询到区块链中该交易相关的所有信息。
“数据信息”一类主要用于用户间的数据共享,它存储了该数据对应的文件名、数据拥有者的用户名、存储数据的云平台地址及具体在云中的URL地址、数据密文的Hash值和该数据的简要介绍。
“状态信息”一类也主要用于数据共享,它包括该数据的上传时间、最后一次更新时间。当数据刚刚被上传时,数据的“上传时间”字段与“更新时间”字段一致;而后每一次用户更新数据,都会对应更改数据记录中的“更新时间”字段。
在数据的访问控制信息一类中,数据记录存储了数据的访问策略和数据拥有者根据该访问策略加密的数据密钥。在该系统中,存储在云平台中的数据采用智能合约实现的属性基加密访问控制进行访问权限管理。数据拥有者存储数据时,需要先使用对称密码算法加密数据,此时使用的对称密钥称为“数据密钥”。而后,数据拥有者会设定该数据的访问策略,并结合属性基加密方法加密数据密钥,得到数据密钥密文(简称“密钥密文”),存储在数据记录中。当数据使用者获取数据时,如果其身份属性符合该数据的访问策略,就可以通过解密“密钥密文”字段,获取一个密钥中间值,称为“中间密钥”,并通过客户端的解密计算,得到“数据密钥”,进而通过对称密码算法解密数据,得到数据明文。
在数据的完整性审计信息一类中,数据记录存储了数据标签、数据块数、最近审计时间和最新审计结果。其中,数据标签和数据块数由数据拥有者上传数据时计算得到,是数据完整性审计的凭证。刚刚上传的数据中,“最近审计时间”字段为空,“最近审计结果”字段为“False”,这就代表最新上传的数据是未经过完整性审计的,其数据完整性无法确定,所以暂时认为其不具有数据完整性。而当有用户对该数据提出了一次审计后,经过区块链的计算,就会得到一个数据完整性审计操作记录,并将审计时间和审计结果存储在数据记录中。同时,其他用户也可以根据“最近审计时间”字段,结合其他数据基本信息,查询到最近的一条数据完整性审计操作记录。
进一步地,本申请实施例的操作管理子系统300设计了操作记录元数据,使本系统能支持多层级多中心的智能网联汽车数据的操作记录注册、查询和追溯,该操作记录包括了用户在本系统中对数据的不同操作类型。操作管理子系统300,包括:
操作查询模块,用于在用户进入系统并发起操作请求后,根据操作请求进行操作并修改数据记录,得到区块链返回的交易编号,并查询交易位置,且根据注册操作记录修改后项编号,获取返回操作结果与操作记录。
操作记录模块,用于根据用户输入的第一操作记录查询关键字,其中,若选择查询指定记录,则定位到区块链中相应位置查询;若选择查询最近一次操作记录,则运行后项记录追踪模块查询最近一次操作记录。
操作追溯模块,用于根据用户输入的第二操作记录查询关键字,并运行前项记录追踪模块和后项记录追踪模块,把导出的操作记录合并去重后,按照区块链中交易次序排序后得到完整操作记录列表。
具体地,操作管理子系统主要负责查询、记录和追溯用户对于云平台中存储的数据的操作行为。当用户在系统中对数据进行上传、共享、审计、更新操作时,操作记录模块会将此次操作记录在区块链中。当用户需要查询某次操作时,可以调用操作查询模块,对操作的用户、事件和内容进行查询,或者调用操作追溯模块,查看该数据整个生命周期中的所有操作记录。
操作管理子系统设计了操作记录元数据以支持各项功能,如图7所示。操作记录主要包括被操作数据的基本信息、本次操作的基本信息和用于操作溯源的信息。
“数据信息”一类存储了该短记录对应的被操作数据的基本信息,包括通道编号和交易编号两个字段,存储的内容是该操作在某通道经区块链共识后,产生的交易编号。通过通道编号和交易编号可以查询到此次操作在区块链中的具体交易信息。
“操作信息”是整个记录的核心,其中包括发起该操作的用户的用户名、这次操作的具体动作和具体的操作时间。其中“操作内容”字段包括“上传”、“共享”、“审计”、“更新”等标识,分别代表数据存储、数据共享、数据完整性审计、数据更新等操作。操作时间字段为客户端调用区块链中对应合约时,合约记录的时间戳。因此可以忽略区块链进行共识时,由于网络和共识算法带来的不确定的时延的影响,从而记录最准确的操作时间。
“追溯信息”一类存储了该操作记录的前后两项操作记录的关键字,主要用于数据操作的追踪和溯源。前项编号和后项编号的设计,将数据的所有操作记录都联结为一条完整的操作链条,在本系统中称为操作链,实现了数据全生命周期的操作记录和追踪溯源。
下面结合附图和具体实施例对本申请的基于区块链的智能网联汽车数据安全管理系统进行详细描述。
首先,为用户管理子系统。用户管理子系统包括用户注册、用户查询和用户确认三个模块。用户注册模块分为链下部分和链上部分,其中链下部分由客户端完成,链上部分由用户管理合约完成。
在链下,客户端需要用户输入用户名、属性机构发放的用户属性和周期。接着,客户端会在本地计算用于数据完整性审计的公私钥,并将私钥存储在本地。最后,客户端调用用户管理合约,将用户输入的内容和计算得到的公钥提交给区块链。
在链上,智能合约得到了用户信息后,首先对用户名的唯一性确认;确认用户名唯一后,区块链CA将会为用户生成证书并发送给用户。接着,智能合约根据用户属性和属性周期计算属性密钥。然后,初始化用户的成功、失败共享次数为0,并计算信誉值为0。最后,智能合约在世界状态数据库中创建一条用户记录。经过区块链的共识后,智能合约将用户记录返回给客户端,用户注册成功。
用户查询模块用于查询用户的基本信息。用户向智能合约提交任意用户名,如果该用户名在系统内存在,则智能合约将返回该用户记录;否则,智能合约返回错误信息。
用户确认模块用于确认用户的身份,它位于权限较高的数据操作模块的入口处,作用是对于这些权限较高的操作进行访问控制。在系统中,所有需要被记录的操作被定义为高权限操作,其中包括数据上传、明文数据共享、数据更新、数据完整性审计。在这些高权限操作之前,需要用户提交证书来确认身份。
其次是数据管理子系统,数据管理子系统包括数据查询、数据存储、数据共享、数据更新、数据审计等五个模块。
数据查询模块:该模块设置了全局查询和单项查询两个子模块,供用户获取系统数据。全局查询子模块主要供用户查询系统的全局信息,方便用户初步了解系统中的用户、数据等的基本情况。主要包括查询全部用户、全部数据记录、全部操作记录等内容。
全局查询的实现主要依靠Fabric中世界状态数据库的复合键查询机制。Fabric允许用户通过复合键的形式组合数据的关键字。同时,Fabric还提供了根据前缀匹配的方法来进行关键字的匹配的区间查询方法,使得智能合约可以返回拥有同一前缀的关键字的所有数据条目。因此,将系统中的几种主要记录的关键字都被赋予了不同的前缀,例如,用户记录关键字的前缀是“USER”,数据记录关键字的前缀是“DATA”,操作记录关键字的前缀是“OPERATION”。通过这样的命名方式,智能合约就可以通过不同的关键字前缀查询到不同类型的记录。
单项查询子模块主要提供对于系统中某些具体内容的查询服务,这种查询较为精细,需要用户提供的信息也较多,适合那些已经明确查询目标的用户对目标的具体内容进行有针对性的查询。单项查询模块可以提供用户相关查询、数据相关查询和操作相关查询等几类查询。
数据存储模块:数据存储模块主要为用户提供数据上传服务,其协议流程一共分别8个步骤,如图8所示。
(1)上传数据请求,输入必要信息。当数据拥有者向云平台上传数据时,首先需要向客户端发起上传数据请求。这时用户需首先提交证书进行身份确认,进而输入需要上传的数据信息,如本地数据的存储路径和文件名、用于数据加密的数据密钥、数据的访问策略、数据的简单介绍等。其中,数据加密算法可选择任意的对称加密算法,数据密钥长度需与数据加密算法相对应。例如,当使用数据加密标准算法(DES)时数据密钥长度为8个ASCII码字符。
(2)加密与计算。客户端接收到数据拥有者的上传请求后,会进行一系列的相关计算。首先,客户端根据用户输入的本地数据信息来读取本地文件,接着,客户端检查数据密钥长度,并使用数据加密算法对本地数据进行加密,生成加密数据。加密完成后,客户端会将数据密钥存储在本地的对称密钥字典中,方便后续的解密或更新操作。然后计算数据密文Hash值,用于数据完整性验证。接着,客户端调用完整性审计模块,对密文数据分块,并对每块数据生成对应的审计标签。最后,客户端调用访问控制模块,使用用户的属性密钥和数据访问策略,将数据密钥进行属性加密,使得只有满足数据访问策略的用户才能得到数据密钥。
(3)上传密文数据。客户端通过Socket连接系统选择云平台,将加密并分块后的密文数据块和文件名、数据拥有者用户名等信息上传到云平台。
(4)返回数据地址。云平台接收数据和相关信息后,查找用户的存储空间。如果用户还未在此服务器上进行存储,则使用其用户名在该服务器上新建存储空间。最后,云平台将数据存储到用户的存储空间,并获取数据的云存储地址返回给客户端。
(5)上传元数据,注册数据记录。经过前面的计算,客户端已经得到了数据管理的元数据信息,包括数据密文Hash、数据标签、密钥密文、存储地址等。此时,客户端调用区块链的数据管理合约,将计算好的元数据上传到区块链上。数据管理合约接收到用户上传的元数据信息后,会通过区块链对数据记录进行查重,二次确认数据记录关键字的唯一性。最后,合约会对数据记录中交易编号、上传时间等字段进行补全,最终生成数据记录。
(6)记录上传操作。在操作溯源机制的作用下,区块链在生成数据记录的同时,该上传操作也会被记录下来,生成对应的操作记录。这里操作记录的生成过程与前文中描述的过程有些许不同。这是由于上传操作是对数据第一次操作,所以该操作记录的前项编号一定为空,同时省去了对于前项编号所指向的操作记录进行指针修改操作。
(7)返回数据记录和操作记录。经过区块链的共识,客户端会得到区块链返回的数据记录,以表示此次交易已被写入区块链账本,对应的操作记录也已被存储在区块链账本的世界状态数据库中。
(8)返回上传结果。客户端将数据记录和操作记录返回给用户。数据上传结束。
数据共享模块:数据共享模块主要为用户提供大数据的共享服务,针对用户属于数据所有者和数据使用者的不同角色分为不同的步骤,其工作流程如图9所示。共享明文数据时,系统需要用户提交证书进行身份确认。确认后执行以下步骤:
(1)请求下载数据。当用户希望在云平台中下载密文数据时,首先需要向客户端发起下载数据请求,并输入相应的信息。系统在此提供了基于数据记录关键字的访问,进行数据共享。
(2)获取数据记录。客户端接收到用户提交的信息后,会使用相应的智能合约调用接口,在区块链账本中查询数据记录。如果用户的输入无误,区块链会返回给客户端对应数据记录。
(3)下载密文数据。当客户端拿到数据记录后,可从中获取云平台地址和云存储地址路径。然后,客户端使用Socket连接相应的服务器,下载该地址存储的密文数据,并将数据保存在用户本地。
根据用户身份的不同,访问数据明文的步骤也有所不同。如果该用户是数据拥有者,则可以在本地的对称密钥字典中查找数据密钥,进而直接解密数据。这个过程完全在本地进行,没有对于智能合约的访问,所以不会产生数据共享操作记录。如果该用户仅为数据使用者,则需要按照下面的步骤进行。
(4)获取中间密钥。客户端调用智能合约中的访问控制模块,对数据记录中的密钥密文进行预解密。预解密的过程就是计算用户自身属性是否可以通过数据的访问策略的过程。若属性合适,智能合约会计算得到一个正确的中间密钥返回给客户端。同时,将用户记录中的“成功访问次数”字段加一,并重新计算用户的信誉值。若用户属性不符合数据访问策略,则预解密失败。这时,智能合约会将用户记录中的“失败访问次数”字段加一,并重新计算用户的信誉值。最后将更新后的用户记录返回给客户端。
(5)解密中间密钥及数据。当客户端得到了正确的中间密钥后,即可在本地对中间密钥进行最终解密,得到数据密钥明文。然后再利用数据解密算法,使用数据密钥解密密文数据,就可以得到明文数据。
(6)生成操作记录。在客户端与智能合约的访问控制模块交互时,如果用户通过了访问控制,得到了正确的中间密钥,该操作就会被记录下来,产生一个共享操作的记录。由于共享操作不会改变数据本身,所以该操作记录中记录的交易编号为预解密交易的编号,不会对数据记录进行更改。
数据更新模块:数据更新模块为数据拥有者提供了维护数据动态变化的接口,方便其对云平台中存储数据进行灵活的管理。数据更新模块为数据拥有者提供了四种更新方式,以灵活应对数据拥有者的需求。这四种更新方式分别为更新数据或密钥、更新访问策略、更新数据介绍、更新全部信息。
更新数据或密钥:如果数据拥有者希望更新数据或数据密钥,就需要进行与数据上传类似的操作来进行更新操作,例如更新本地的数据密钥、使用访问策略加密最新的数据密钥得到密钥密文、使用最新数据密钥加密数据并上传等。同样,完成所有计算后,客户端会调用数据管理合约,更新数据在区块链账本中存储的数据记录,并生成对应的数据更新操作记录。
更新访问策略:如果数据拥有者只希望更新访问策略时,只需要在本地使用新的访问策略加密最新的数据密钥。计算完成后,客户端会调用数据管理合约,将加密后的密钥密文上传给区块链,并更新数据记录。更新成功后,也会产生对应的数据更新操作记录。
更新数据介绍:如果数据拥有者只希望更新数据介绍,只需要将新的数据介绍提交给客户端,客户端会调用数据管理合约,将最新的数据介绍提交给区块链,更新数据记录,进而产生对应的数据更新操作记录。
更新全部信息:如果数据拥有者希望更新以上所有数据,则可以直接调用更新全部数据接口,对每一项信息分别进行更新。
数据审计模块:数据审计模块把数据审计分为四个阶段,分别为准备阶段、挑战阶段、响应阶段和验证阶段,其任务分别如下:
(1)准备阶段。数据拥有者生成审计所需的密钥,将数据密文上传到云平台中,并将数据标签等元数据信息存储在区块链上。
(2)挑战阶段。审计发起人提出本次审计的数据块数,智能合约按照所要求的数据块分别产生相应的随机数,得到审计挑战。
(3)响应阶段。云平台接收到审计挑战后,根据本地存储的密文数据块计算完整性证明,然后将证明提交给智能合约。
(4)验证阶段。智能合约根据被审计数据块的元数据和云平台提交的完整性证明做双线性对验证,如果验证通过,则证明数据完整;否则不完整。
因此,数据审计模块的工作流程如图10所示:
(1)云平台监听审计事件。云平台启动时,创建监听线程,监听区块链中的审计事件(AuditEvent)。
(2)客户端发起审计。审计发起人首先进行身份验证,通过验证后,将本次审计的目标数据和数据块数通过客户端提交给区块链。智能合约根据该数据长记录中的数据标签,生成挑战信息,并将审计记录存储在世界状态数据库中。此时生成的审计记录中,响应信息字段为空,表示此次审计还未完成,其审计结果字段内容不代表最终的数据完整性情况。
(3)区块链设置审计事件。智能合约设置审计事件,并将审计记录附在事件载荷中。经过区块链的共识,该事件会被广播到整个区块链网络中。由于云平台一直在循环监听审计事件,所以它会捕获该事件。
(4)客户端监听审计事件。经过区块链的共识,客户端会收到区块链返回的审计记录,表示该审计已被成功提交。接着,客户端开始监听验证事件(VerifyEvent),等待本次审计的审计结果。
(5)云平台接收挑战进行响应。云平台监听到审计事件后,会根据事件载荷中的审计记录,在本地寻找数据并计算完整性证明。接着,云平台会调用智能合约,将完整性证明上传到区块链中,供智能合约验证。
(6)区块链计算审计结果。智能合约接收到云平台上传的完整性证明后,根据对应的数据标签计算审计结果。最后使用该完整性证明和审计结果补全审计记录并存储在区块链账本中。
(7)区块链设置验证事件。智能合约设置验证事件并将最新的审计记录附在事件载荷中。经过区块链的共识,该事件会被广播到整个区块链网络中。为了保证用户只能监听到本人提交的审计结果,所以将事件名字段,设置为“审计发起人用户名”连接字符串“VerifyEvent”的形式。这样,审计发起人就可以捕获到自己提交的数据审计请求,并获取审计结果。
(8)更新数据记录。在审计发起人的客户端得到审计结果后,会利用数据管理合约,更新数据记录中的最新审计时间字段和最新审计结果字段。更新成功后,该审计操作也会被记录到操作记录中。
操作管理子系统:操作管理子系统包括操作注册、操作查询和操作追溯三个模块。
操作注册模块:数据操作记录的注册过程主要是由客户端和区块链两方共同完成的,其实现流程如图11所示。
(1)用户向客户端发起操作请求。当用户提出上传、审计、共享、更新操作时,客户端首先需要用户提交证书进行身份确认,保证操作是用户本人发起的。当用户通过身份确认后,即可输入被操作数据的标识信息,开始对数据进行操作。
(2)客户端进行操作并修改数据记录。客户端会先根据用户输入的信息,查询当前数据记录并调用智能合约,进行相应的操作。操作结束后,客户端调用智能合约,更新数据记录。
(3)返回交易编号。用户调用智能合约后,该操作会经过区块链共识,通过共识的操作会在区块链账本中存储为一笔交易,同时生成对应的通道编号和交易编号,返回给发起操作的客户端。
(4)查询交易位置。当客户端收到通道编号和交易编号后,就可以通过查询,得出这笔交易在区块链账本中存储的位置,即交易存储的确切区块高度和位置偏移。
(5)注册操作信息。通过查询得到的区块高度和交易偏移,客户端会自动注册一条新的数据标识。该数据标识将作为操作信息的关键字。而操作信息的内容部分将通过存储交易编号、操作用户、操作时间、操作内容等具体信息,来记录这次操作。另外,在(1)中输入的数据标识会作为当前操作记录的前项编号,而后项编号字段暂时留空。
(6)修改后项编号。当新的操作记录生成后,客户端会查询其前项编号对应的操作记录,并修改其后项编号字段为最新操作记录的关键字,从而将所有操作串联起来。
(7)返回操作结果和操作记录。当上述所有步骤完成后,客户端会将操作结果和操作记录返回给用户,至此操作记录的注册过程结束。
操作查询模块:数据操作查询模块主要具有两个功能,一是查询指定的操作记录,二是查询某数据最近一次的操作记录。查询指定操作记录只需要在客户端输入其关键字,客户端即可调用操作管理合约,在区块链账本中获取该操作记录,并返回给用户。
而查询某数据最近一次操作记录的查询时,需要输入该数据的任意一条数据标识。然后,客户端会调用智能合约,将该标识作为参数,传入查询方法,如图12所示,其核心是通过操作记录中的后项编号字段,循环追踪后继操作记录的过程,即图中的“后项记录追踪模块”。
首先,智能合约会在区块链账本中查询以该标识为关键字的操作记录,确定该记录的存在性。如果记录不存在则认为用户输入错误,于是返回该错误并结束程序。如果记录存在,则提取该记录的后项编号字段。如果后项编号字段为空,则当前的操作记录就是该数据对应的最近一次的操作记录;如果后项编号字段不为空,则继续查询以后项编号字段中的数据短记录作为关键字的操作记录,并按照这种方式,依次循环查询,直到某一条操作记录的后项编号字段为空,就停止循环,并确定该记录为数据的最近一次的操作记录。以上的循环查询过程就是后续记录追踪模块。
最后,智能合约将最近一次操作记录返回给用户,查询完成。
操作追溯模块:数据操作追溯模块负责追溯某数据在其完整生命周期内的所有操作记录,其流程如图13所示。
首先,客户端需要用户输入该数据的任意一条数据标识。在查询开始时,智能合约会先创建一个空的记录列表。然后将客户端输入的数据标识记为当前数据标识,同时该标识也是某条操作记录的关键字。
然后,智能合约会通过“前项记录追踪模块”和“后项记录追踪模块”,将该数据的所有操作记录都添加至新建立的记录列表中。前文已经对后项记录追踪模块进行了详细的介绍,这里不在赘述。而对于前项记录追踪模块,其追踪方法与后项记录追踪模块中的方法类似,只是由查询后项编号字段改为查询前项编号字段即可实现。
当所有记录都查询完成后,还需要对于这些记录按照操作记录关键字中的区块高度和交易偏移进行排序和去重,最终得到该数据全生命周期的完整操作记录列表,实现该数据所有操作记录的追溯。
根据本申请实施例提出的基于区块链的智能网联汽车数据安全管理系统,通过用户管理子系统,实现国家管理中心、属地数据中心、企业数据中心的统一注册、查询与确认;通过数据管理子系统,支持智能网联汽车数据安全存储、查询、共享、审计、更新等数据操作行为;通过操作管理子系统,实现智能网联汽车数据操作的可信记录、查询与追溯,能够解决国家管理中心、属地数据中心、企业数据中心等多中心之间的跨域信任问题,实现多管理中心智能网联汽车数据的可信管理与溯源追责,对于智能网联汽车的部署与落地有着重要意义。
其次参照附图描述根据本申请实施例提出的基于区块链的智能网联汽车数据安全管理方法。
图14是本申请实施例的基于区块链的智能网联汽车数据安全管理方法的流程图。
如图14所示,该基于区块链的智能网联汽车数据安全管理方法包括以下步骤:
步骤S101,管理各个智能网联汽车数据管理中心的用户进入系统的统一注册身份,基于统一注册身份进行证书分发,且验证操作的身份安全。
步骤S102,通过用户对不同数据管理中心的云平台中的数据进行数据管理操作,其中,数据管理操作包括存储操作、查询操作、共享操作、更新操作、审计操作中的至少一项。
步骤S103,根据用户在系统中对智能网联汽车数据的数据管理操作生成安全记录、查询操作记录和追溯操作记录,以对管理中心的智能网联汽车数据进行可信管理与溯源追责。
可选地,在本申请的一个实施例中,管理各个智能网联汽车数据管理中心的用户进入系统的统一注册身份,基于统一注册身份进行证书分发,且验证操作的身份安全,包括:
在用户进入系统后,对用户进行注册,利用区块链为用户颁发身份证书及生成对应的属性密钥,以用于数据共享;
验证用户的身份证书,并在验证通过后,允许用户进入系统;
在用户在系统中进行数据写入操作时,判断用户的身份证书满足写入条件后,允许数据写入。
可选地,在本申请的一个实施例中,通过用户对不同数据管理中心的云平台中的数据进行数据管理操作,还包括:
对系统中的已有数据输入数据唯一标识,查询指定数据的数据记录;
根据用户发起的上传数据请求,对数据进行加密、分块及属性策略加密和审计标签计算,并上传密文数据,得到云返回的数据存储地址后,基于存储地址上传密文数据并记录到区块链中,且记录对应的上传操作记录到区块链中,获取数据记录和操作记录,得到返回的上传结果;
根据用户的数据下载请求获取数据记录后,下载密文数据,并从区块链中获取中间密钥的密文,且解密中间密钥及数据,生成共享操作记录;
通过用户发起审计挑战,且云平台监听到区块链审计事件后,向系统提交审计响应,根据区块链智能合约对审计响应和审计挑战进行验证计算,得到审计验证结果,并存入验证事件且在区块链中广播,更新数据记录,并生成对应的操作记录;
更新云平台中存储数据或其对应的密钥重新执行数据存储的上传操作,和/或更新访问策略或数据介绍,并生成对应的操作记录。
可选地,在本申请的一个实施例中,根据用户在系统中对智能网联汽车数据的数据管理操作生成安全记录、查询操作记录和追溯操作记录,包括:
在用户进入系统并发起操作请求后,根据操作请求进行操作并修改数据记录,得到区块链返回的交易编号,并查询交易位置,且根据注册操作记录修改后项编号,获取返回操作结果与操作记录;
根据用户输入的第一操作记录查询关键字,其中,若选择查询指定记录,则定位到区块链中相应位置查询;若选择查询最近一次操作记录,则运行后项记录追踪模块查询最近一次操作记录;
根据用户输入的第二操作记录查询关键字,并运行前项记录追踪模块和后项记录追踪模块,把导出的操作记录合并去重后,按照区块链中交易次序排序后得到完整操作记录列表。
需要说明的是,前述对基于区块链的智能网联汽车数据安全管理系统实施例的解释说明也适用于该实施例的基于区块链的智能网联汽车数据安全管理方法,此处不再赘述。
根据本申请实施例提出的基于区块链的智能网联汽车数据安全管理方法,引入联盟链技术,利用其多方维护、不可篡改的优势,实现国家管理中心、属地管理中心、企业管理中心数据的跨域信任和安全管理,对于智能网联汽车的部署与落地有着重要意义。
图15为本申请实施例提供的电子设备的结构示意图。该电子设备可以包括:
存储器1501、处理器1502及存储在存储器1501上并可在处理器1502上运行的计算机程序。
处理器1502执行程序时实现上述实施例中提供的基于区块链的智能网联汽车数据安全管理方法。
进一步地,电子设备还包括:
通信接口1503,用于存储器1501和处理器1502之间的通信。
存储器1501,用于存放可在处理器1502上运行的计算机程序。
存储器1501可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
如果存储器1501、处理器1502和通信接口1503独立实现,则通信接口1503、存储器1501和处理器1502可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(PeripheralComponent,简称为PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图15中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器1501、处理器1502及通信接口1503,集成在一块芯片上实现,则存储器1501、处理器1502及通信接口1503可以通过内部接口完成相互间的通信。
处理器1502可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上的基于区块链的智能网联汽车数据安全管理方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或N个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“N个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更N个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或N个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,N个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种基于区块链的智能网联汽车数据安全管理系统,其特征在于,包括:
用户管理子系统,用于管理各个智能网联汽车数据管理中心的用户进入系统的统一注册身份,基于所述统一注册身份进行证书分发,且验证操作的身份安全;
数据管理子系统,用于所述用户对不同数据管理中心的云平台中的数据进行数据管理操作,其中,所述数据管理操作包括存储操作、查询操作、共享操作、更新操作、审计操作中的至少一项;以及
操作管理子系统,用于根据所述用户在系统中对智能网联汽车数据的数据管理操作生成安全记录、查询操作记录和追溯操作记录,以对管理中心的智能网联汽车数据进行可信管理与溯源追责。
2.根据权利要求1所述的系统,其特征在于,所述用户管理子系统,包括:
用户注册模块,用于在所述用户进入系统后,对所述用户进行注册,利用区块链为所述用户颁发身份证书及生成对应的属性密钥,以用于数据共享;
用户查询模块,用于验证所述用户的身份证书,并在验证通过后,允许所述用户进入所述系统;
用户确认模块,用于在所述用户在系统中进行数据写入操作时,判断所述用户的身份证书满足写入条件后,允许数据写入。
3.根据权利要求1或2所述的系统,其特征在于,所述数据管理子系统包括:
数据查询模块,用于对所述系统中的已有数据输入数据唯一标识,查询指定数据的数据记录;
数据存储模块,用于根据所述用户发起的上传数据请求,对数据进行加密、分块及属性策略加密和审计标签计算,并上传密文数据,得到云返回的数据存储地址后,基于所述存储地址上传所述密文数据并记录到区块链中,且记录对应的上传操作记录到区块链中,获取数据记录和操作记录,得到返回的上传结果;
数据共享模块,用于根据所述用户的数据下载请求获取数据记录后,下载所述密文数据,并从所述区块链中获取中间密钥的密文,且解密中间密钥及数据,生成共享操作记录;
数据审计模块,用于所述用户发起审计挑战,且云平台监听到所述区块链审计事件后,向所述系统提交审计响应,根据区块链智能合约对所述审计响应和所述审计挑战进行验证计算,得到审计验证结果,并存入验证事件且在所述区块链中广播,更新所述数据记录,并生成对应的操作记录;
数据更新模块,用于更新所述云平台中存储数据或其对应的密钥重新执行数据存储的上传操作,和/或更新访问策略或数据介绍,并生成对应的操作记录。
4.根据权利要求1-3任一项所述的系统,其特征在于,所述操作管理子系统包括:
操作注册模块,用于在所述用户进入系统并发起操作请求后,根据所述操作请求进行操作并修改数据记录,得到区块链返回的交易编号,并查询交易位置,且根据注册操作记录修改后项编号,获取返回操作结果与操作记录;
操作查询模块,用于根据所述用户输入的第一操作记录查询关键字,其中,若选择查询指定记录,则定位到所述区块链中相应位置查询;若选择查询最近一次操作记录,则运行后项记录追踪模块查询所述最近一次操作记录;
操作追溯模块,用于根据所述用户输入的第二操作记录查询关键字,并运行前项记录追踪模块和后项记录追踪模块,把导出的操作记录合并去重后,按照所述区块链中交易次序排序后得到完整操作记录列表。
5.一种基于区块链的智能网联汽车数据安全管理方法,其特征在于,包括以下步骤:
管理各个智能网联汽车数据管理中心的用户进入系统的统一注册身份,基于所述统一注册身份进行证书分发,且验证操作的身份安全;
通过所述用户对不同数据管理中心的云平台中的数据进行数据管理操作,其中,所述数据管理操作包括存储操作、查询操作、共享操作、更新操作、审计操作中的至少一项;
根据所述用户在系统中对智能网联汽车数据的数据管理操作生成安全记录、查询操作记录和追溯操作记录,以对管理中心的智能网联汽车数据进行可信管理与溯源追责。
6.根据权利要求5所述的方法,其特征在于,所述管理各个智能网联汽车数据管理中心的用户进入系统的统一注册身份,基于所述统一注册身份进行证书分发,且验证操作的身份安全,包括:
在所述用户进入系统后,对所述用户进行注册,利用区块链为所述用户颁发身份证书及生成对应的属性密钥,以用于数据共享;
验证所述用户的身份证书,并在验证通过后,允许所述用户进入所述系统;
在所述用户在系统中进行数据写入操作时,判断所述用户的身份证书满足写入条件后,允许数据写入。
7.根据权利要求5或6所述的方法,其特征在于,所述通过所述用户对不同数据管理中心的云平台中的数据进行数据管理操作,还包括:
对所述系统中的已有数据输入数据唯一标识,查询指定数据的数据记录;
根据所述用户发起的上传数据请求,对数据进行加密、分块及属性策略加密和审计标签计算,并上传密文数据,得到云返回的数据存储地址后,基于所述存储地址上传所述密文数据并记录到区块链中,且记录对应的上传操作记录到区块链中,获取数据记录和操作记录,得到返回的上传结果;
根据所述用户的数据下载请求获取数据记录后,下载所述密文数据,并从所述区块链中获取中间密钥的密文,且解密中间密钥及数据,生成共享操作记录;
通过所述用户发起审计挑战,且云平台监听到所述区块链审计事件后,向所述系统提交审计响应,根据区块链智能合约对所述审计响应和所述审计挑战进行验证计算,得到审计验证结果,并存入验证事件且在所述区块链中广播,更新所述数据记录,并生成对应的操作记录;
更新所述云平台中存储数据或其对应的密钥重新执行数据存储的上传操作,和/或更新访问策略或数据介绍,并生成对应的操作记录。
8.根据权利要求5-7任一项所述的方法,其特征在于,所述根据所述用户在系统中对智能网联汽车数据的数据管理操作生成安全记录、查询操作记录和追溯操作记录,包括:
在所述用户进入系统并发起操作请求后,根据所述操作请求进行操作并修改数据记录,得到区块链返回的交易编号,并查询交易位置,且根据注册操作记录修改后项编号,获取返回操作结果与操作记录;
根据所述用户输入的第一操作记录查询关键字,其中,若选择查询指定记录,则定位到所述区块链中相应位置查询;若选择查询最近一次操作记录,则运行后项记录追踪模块查询所述最近一次操作记录;
根据所述用户输入的第二操作记录查询关键字,并运行前项记录追踪模块和后项记录追踪模块,把导出的操作记录合并去重后,按照所述区块链中交易次序排序后得到完整操作记录列表。
9.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如权利要求5-8任一项所述的基于区块链的智能网联汽车数据安全管理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行,以用于实现如权利要求5-8任一项所述的基于区块链的智能网联汽车数据安全管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111500466.4A CN114254383A (zh) | 2021-12-09 | 2021-12-09 | 基于区块链的智能网联汽车数据安全管理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111500466.4A CN114254383A (zh) | 2021-12-09 | 2021-12-09 | 基于区块链的智能网联汽车数据安全管理系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114254383A true CN114254383A (zh) | 2022-03-29 |
Family
ID=80794414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111500466.4A Pending CN114254383A (zh) | 2021-12-09 | 2021-12-09 | 基于区块链的智能网联汽车数据安全管理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114254383A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114734952A (zh) * | 2022-04-14 | 2022-07-12 | 湖南经纬之芯科技有限公司 | 一种基于区块链和智能合约的去中心化车辆防盗系统及方法 |
-
2021
- 2021-12-09 CN CN202111500466.4A patent/CN114254383A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114734952A (zh) * | 2022-04-14 | 2022-07-12 | 湖南经纬之芯科技有限公司 | 一种基于区块链和智能合约的去中心化车辆防盗系统及方法 |
CN114734952B (zh) * | 2022-04-14 | 2024-03-08 | 湖南经纬之芯科技有限公司 | 一种基于区块链和智能合约的去中心化车辆防盗系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7222036B2 (ja) | モデルトレーニングシステムおよび方法および記憶媒体 | |
CN111434085B (zh) | 用于在区块链系统中进行跨链交互的域名管理方案 | |
CN109189962B (zh) | 一种基于区块链的证照服务实现系统 | |
WO2019228555A2 (en) | System and method for blockchain-based notification | |
CN111159288A (zh) | 链式结构数据存储、验证、实现方法、系统、装置及介质 | |
Khovratovich et al. | Sovrin: digital identities in the blockchain era | |
CN111368230B (zh) | 一种基于区块链的工业互联网标识的处理方法及装置 | |
CN111919239A (zh) | 基于区块链的匿名密码表决 | |
AU2017225928A1 (en) | Systems and methods for distributed data sharing with asynchronous third-party attestation | |
US8484309B2 (en) | Owner controlled access to shared data resource | |
CN107332858B (zh) | 云数据存储方法 | |
CN110543525A (zh) | 区块链网络的管控方法、装置、设备及存储介质 | |
CN105516110A (zh) | 移动设备安全数据传送方法 | |
CN113065961A (zh) | 一种电力区块链数据管理系统 | |
CN111753014B (zh) | 基于区块链的身份认证方法及装置 | |
Abbade et al. | Blockchain applied to vehicular odometers | |
CN112116349B (zh) | 面向高吞吐率的图式账本的随机化共识方法和装置 | |
US11628788B2 (en) | Vehicle accident management using peer-to-peer networks and systems | |
JP2003122635A (ja) | アクセス権制御システム | |
US20220294653A1 (en) | Verification requirement document for credential verification | |
CN110910110A (zh) | 一种数据处理方法、装置及计算机存储介质 | |
CN112651001A (zh) | 访问请求的鉴权方法、装置、设备及可读存储介质 | |
WO2007106237A1 (en) | Method and system for certified publication of content | |
CN114710370A (zh) | 基于雾区块链和属性加密的细粒度访问控制方法及系统 | |
Grabatin et al. | Reliability and scalability improvements to identity federations by managing SAML metadata with distributed ledger technology |
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 |