CN114117522A - 基于区块链和可信执行环境的车联网数据共享实现方法 - Google Patents

基于区块链和可信执行环境的车联网数据共享实现方法 Download PDF

Info

Publication number
CN114117522A
CN114117522A CN202111394004.9A CN202111394004A CN114117522A CN 114117522 A CN114117522 A CN 114117522A CN 202111394004 A CN202111394004 A CN 202111394004A CN 114117522 A CN114117522 A CN 114117522A
Authority
CN
China
Prior art keywords
data
tee
contract
block chain
node
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.)
Granted
Application number
CN202111394004.9A
Other languages
English (en)
Other versions
CN114117522B (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.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
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 Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN202111394004.9A priority Critical patent/CN114117522B/zh
Publication of CN114117522A publication Critical patent/CN114117522A/zh
Application granted granted Critical
Publication of CN114117522B publication Critical patent/CN114117522B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Medical Informatics (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

一种基于区块链和可信执行环境的车联网数据共享实现方法,通过构建基于区块链和TEE车联网基础管理架构并创建基于区块链和TEE混合系统的隐私合约,通过客户端调用隐私合约进而进行数据流转、数据提交和数据请求;该基于区块链和TEE车联网基础管理架构的核心为作为TEE NODE的车企,各车企管理域内的车辆自然成为组织内的访问客户端,通过调用隐私合约实现业务操作,每个TEE NODE中均设有安全飞地;本发明将区块链和TEE结合可以在保证区块链基础功能的前提下增强对隐私合约和敏感数据的隐私保护,并借助TEE的数据密封功能构建链下存储系统解决海量数据的存储问题,围绕着可信执行环境节点的安全性功能设计解决对车辆数据的隐私保护和可信存储问题。

Description

基于区块链和可信执行环境的车联网数据共享实现方法
技术领域
本发明涉及的是一种区块链应用领域的技术,具体是一种基于区块链和可信执行环境(Trusted Execution Environment,TEE)的车联网数据共享实现方法,通过引入区块链及TEE技术在车联网中构建联盟链系统,设计统一的数据管理标准及隐私保护方法,解决车联网数据跨域共享和隐私保护的难题。
背景技术
现有的车联网场景中普遍采用中心化的管理方式,各车企搭建自己的数据管理平台并服务于各自域内的车辆,无法在各车企或第三方之间形成统一的数据管理标准,无法实现跨管理域的数据共享。区块链作为分布式系统可以在车联网中构建一个去中心化的管理平台,但是现有的区块链系统隐私保护性能较弱,无法形成对敏感数据和智能合约的隐私保护。通过引入TEE可以解决隐私保护的问题。现有的改进技术通过引入TEE均是解决数据隐私处理的问题,但是并没有对区块链智能合约的隐私保护进行设计,没有考虑对海量数据的存储管理,也并未在车联网这一具体场景中进行设计或解决跨管理域的数据共享问题,没有针对多个数据提供方的数据管理标准不统一提出解决方案。
发明内容
本发明针对现有的中心化车辆数据管理方案难以在多个车企之间形成统一的管理标准,因此较难实现跨管理域场景下的数据流动和共享,并且中心化的服务器容易遭受攻击导致系统性能不佳或隐私数据泄露以及基于现有区块链系统搭建的数据管理平台虽然实现去中心化,但是区块链公开透明的特性难以实现对智能合约执行和敏感数据处理的保护的缺陷,提出一种基于区块链和可信执行环境的车联网数据共享实现方法,引入TEE技术,将区块链和TEE结合可以在保证区块链基础功能的前提下增强对智能合约和敏感数据的隐私保护,并借助TEE的数据密封功能构建链下存储系统解决海量数据的存储问题,围绕着基于可信执行环境构建的联盟链节点(TEE NODE)的安全性功能设计解决对车辆数据的隐私保护和可信存储问题。
本发明是通过以下技术方案实现的:
本发明涉及一种基于区块链和可信执行环境的车联网数据共享实现方法,包括:
步骤1、构建基于区块链和TEE的车联网基础管理架构,该架构核心为被配置为联盟链组织节点TEE NODE的车企,各车企管理域内的车辆作为组织内的访问客户端,通过调用隐私合约实现多种业务操作,每个TEE NODE中均设有安全飞地(Enclave)。
所述的业务操作包括:车辆数据的存储、获取、更改、计算等功能。
所述的Enclave包括:智能合约飞地、密钥管理飞地、存储管理飞地以实现合约执行、密钥保护、链下存储。
步骤2、由客户端发起隐私合约创建:首先客户端通过加密通道将合约代码发送给可信执行环境节点(TEE NODE),TEE NODE将合约代码加载到相应的飞地中并执行初始化操作,加载完成后为该合约创建唯一的编号为cid。然后,密钥管理飞地在本地生成密钥对(pkcid,skcid),并将私钥skcid传递给存储管理飞地进行密封处理后存储在链下数据库中,并使用公钥pkcid对合约的初始状态进行加密生成:
Figure BDA0003369282340000021
操作完成后TEE NODE在飞地中通过签名生成对执行结果的认证δTEE,并发送给远程认证服务器(IAS)获取认证报告
Figure BDA0003369282340000022
其中:b属于0到1之间,表示IAS对δTEE的有效性判定,δIAS是IAS的签名。即认证报告包含IAS对飞地执行结果的置信度评估及签名。最后TEE NODE将消息:
Figure BDA0003369282340000023
通过区块链网络广播给其他组织节点,其他节点会验证认证报告
Figure BDA0003369282340000024
的有效性,验证成功后该消息在区块链网络中形成共识,隐私合约创建完成。
步骤3、客户端调用隐私合约:客户端首先在区块链上查找该合约的cid以及公钥pkcid,然后使用公钥加密需要传递的参数parameter以及cid生成消息:
Figure BDA0003369282340000025
通过加密通道将该消息发送给TEE NODE,TEE NODE收到该消息后在TEE中对该密文进行解密获得parameter和cid,然后在智能合约飞地中执行相应的合约代码并输出执行结果res,同时形成一个新的TEE状态state_new。对于需要进行隐私保护的执行结果,采用链上存储数据索引及完整性证据,链下存储源数据的方式对res进行存储,将res密封后存储在链下数据库中,另外计算:
Figure BDA0003369282340000026
作为数据索引存储在区块链上。同样TEE会对上述操作结果进行远程认证获得认证报告
Figure BDA0003369282340000027
将消息:
Figure BDA0003369282340000028
发送给区块链网络形成共识,最后将执行结果res通过加密通道返回给客户端,隐私合约调用结束。
为保证TEE的可用性,本发明提出将TEE内部状态更新保存在区块链上,解决TEE因某些原因导致状态丢失所带来的问题。当TEE状态丢失后,客户端首先从区块链上获取存储的状态密文并发送给TEE NODE,TEE NODE在内部解密后重新加载TEE状态并初始化飞地,这样可以保持TEE状态的长期有效性。
步骤4、数据流转:本发明基于TEE NODE的核心功能设计实现车辆数据的流转。车辆作为原始数据的提供方将加密数据提交给TEE NODE,数据的解密及处理在TEE内部完成,由于数据量巨大,采用链上存证,链下存储的方式对数据进行存储管理。在TEE中执行隐私合约对原始数据进行处理,对处理后的源数据进行密封后存储在链下数据库中,将数据索引以及认证报告存储在区块链上。数据请求方在链上查询需要获取的数据索引并提交给TEE NODE,TEE NODE首先对数据请求方进行身份认证,在确定其具有数据使用权限后在TEE中执行隐私合约完成数据的解封及处理,并提取有用的信息通过加密信道返回给数据请求方。
步骤5、数据提交:车辆作为原始数据提供方与TEE NODE建立安全连接并发起数据提交请求,TEE NODE会先对车辆进行身份验证并确定该车辆是否具有写数据权限,验证通过后调用智能合约飞地内部的合约对原始数据进行解密后处理得到源数据(Sourcedata),同时飞地对执行结果进行签名生成认证δTEE,提交给IAS进行远程认证并获取
Figure BDA0003369282340000031
(远程认证报告)。为方便对链下存储的数据进行完整性验证,对源数据进行哈希运算得出源数据的认证码,也即HAMC值,并将其添加在源数据的头部形成完整的数据包。在TEE环境中对数据包进行密封后生成:Sealed(HAMC||Source data),将密封后的数据存储在链下数据库中。此外,TEE具有秒级别的可信时钟,可以为执行结果提供时间戳(timestamp),方便对数据进行溯源。计算数据索引值:data index=Hash(Enc(Source data)),最后将dataindex,timestamp,
Figure BDA0003369282340000032
以及其他的辅助信息一同上链存储。数据提供方可以通过上链查询认证报告
Figure BDA0003369282340000033
来确认提交的数据已经完成可信存储,这形成了对数据提交流程的闭环监控。
步骤6、数据请求:数据请求方首先从区块链上获取数据索引data index以及隐私合约编号cid,然后与TEE NODE建立安全连接并发起数据读取请求,TEE NODE会先对数据请求方进行身份认证并确认该用户的等级是否有读数据权限,认证通过后在飞地中执行隐私合约。飞地根据data index查询链下存储数据库获取对应的数据条目,在TEE中进行数据解封后得到(HAMC||Source data),重新计算源数据的认证码HMAC并与之前存储的值进行比较以确保数据的完整性,完整性校验通过后从源数据中提取用户所需要的信息并通过加密信道返回给用户,同时将本次数据访问行为记录到区块链上。
技术效果
本发明基于区块链构建去中心化的数据管理平台,解决现有中心化方案中由于各管理域的标准不统一而难以实现跨管理域数据共享的问题。现有的数据共享方案基于一个中心化的服务器,无法对各车企的数据管理标准进行统一。本发明通过对TEE NODE进行设计,将车辆原始数据进行处理后采用统一的格式标准存储在链上和链下,各车企遵守统一的区块链管理标准,方便实现数据的共享。
本发明通过引入TEE解决现有区块链系统中缺乏隐私保护的问题,为隐私合约和敏感数据提供一个受保护的执行环境。同时基于TEE构建链下存储系统,将大量源数据存储在链下数据库中,只在链上存储数据索引,链上链下协同存储的方式可以降低区块链系统的存储开销,提高数据的可用性。基于安全多方计算和零知识证明的隐私保护方法只能在特定的场景下使用,使用范围局限,并且基于算法来实现隐私保护的计算开销较大,系统负担较重。
附图说明
图1为基于区块链和TEE的车联网系统示意图;
图2为实施例合约创建流程示意图;
图3为实施例合约调用流程示意图;
图4为实施例数据流转过程示意图;
图5为实施例数据读写流程示意图;
图6为实施例车辆JSON数据格式设计示意图;
图7为实施例数据提交延迟示意图;
图8为实施例数据提交吞吐量示意图;
图9为实施例数据密封和解封的时间消耗示意图。
具体实施方式
本实施例涉及一种基于区块链和可信执行环境的车联网数据共享实现方法,包括:
步骤1、构建如图1所示的基于区块链和TEE车联网基础管理架构,具体包括:
步骤1.1、基于TEE构建联盟链的组织节点,为系统提供硬件安全基础;
步骤1.2、设计联盟成员的准入规则,确保只有身份可信的车企能够作为组织节点加入联盟链通道,并将其配置为TEE NODE;
步骤1.3、在TEE NODE中设计三个安全飞地,包括:智能合约飞地,密钥管理飞地,存储管理飞地,以实现对隐私合约调用、密钥管理、数据存储的安全操作;
步骤1.4、进行TEE环境初始化,各安全飞地完成本地认证,以确定各飞地均成功执行实例化操作;
步骤1.5、各车企管理域内的车辆作为组织内的访问客户端,调用隐私合约实现多种业务操作,包括车辆数据的存储、获取、更改、计算等功能,其中将敏感数据和隐私合约的处理放在TEE中完成;
步骤1.6、各车辆上传的数据经过TEE NODE处理后采用统一的标准在链上和链下存储,经过TEE NODE处理后的车辆数据采用统一的JSON格式进行管理,其基本的数据构成格式如图6所示;
步骤1.7、安全飞地与远程认证服务器通信获取认证报告,认证报告可作为程序执行过程和执行结果的可信背书证据。
步骤2、创建如图2所示的基于区块链和TEE混合系统的隐私合约,具体包括:
步骤2.1、客户端发起合约创建,通过加密通道将合约代码发送给TEE NODE,TEENODE将合约代码加载到相应的飞地中并进行初始化操作,加载完成后为该合约创建一个唯一编号为cid;
步骤2.2、密钥管理飞地在本地生成密钥对(pkcid,skcid),私钥skcid在存储管理飞地中进行密封后存储在链下数据库中;
步骤2.3、使用公钥pkcid对TEE内部的初始状态进行加密生成
Figure BDA0003369282340000051
步骤2.4、操作完成后TEE NODE在智能合约飞地中通过签名生成认证δTEE,并发送给远程认证服务器获取认证报告
Figure BDA0003369282340000052
包含对飞地执行结果的置信度评估及签名;
步骤2.5、TEE NODE将加密后的TEE初始状态、加密公钥、合约编号、远程认证报告等辅助信息通过区块链网络广播给其他组织节点,其他节点会验证认证报告
Figure BDA0003369282340000053
的有效性,验证成功后该消息在区块链网络中形成共识,隐私合约创建成功。
如图2所示,客户端通过加密信道将合约代码发送给TEE NODE,合约代码在TEE环境中进行解密并加载到相应的安全飞地中,同时在安全飞地中生成密钥对,使用公钥将TEE的初始状态以及合约id加密后存储到区块链上。
步骤3、如图3所示,客户端调用隐私合约,具体包括:
步骤3.1、客户端首先在区块链上查找该合约的编号cid以及公钥pkcid,然后使用公钥加密需要传递的参数parameter以及cid生成消息
Figure BDA0003369282340000054
通过加密信道将该消息发送给TEE NODE;
步骤3.2、TEE NODE收到该消息后在TEE中对该密文进行解密获得parameter和cid,然后在智能合约飞地中执行相应的合约代码并输出执行结果res,同时形成一个新的TEE状态state_new;
步骤3.3、采用链上存证,链下存储源数据的方式对执行结果res进行存储,将res密封后存储在链下数据库中,另外计算
Figure BDA0003369282340000055
作为数据索引存储在区块链上;
步骤3.4、TEE会对上述操作结果进行远程认证并获取认证报告
Figure BDA0003369282340000056
最后将消息
Figure BDA0003369282340000057
发送给区块链网络形成共识;
步骤3.5、最后将执行结果res通过加密通道返回给客户端,隐私合约调用结束。
如图3所示,客户端从链上获取合约id以及合约公钥,将输入参数以及合约id通过加密信道发送给TEE NODE,在TEE环境中进行解密获得明文合约id和输入参数,根据合约id调用安全飞地中的合约代码,执行完成后形成新的TEE状态,将执行结果的加密hash值以及新的TEE状态加密存储到区块链上,同时通过加密信道将执行结果返回给调用客户端。
步骤4、数据提交,具体包括:
步骤4.1、车辆作为原始数据提供方与TEE NODE建立安全连接并发起数据提交请求,TEE NODE会先对车辆进行身份验证并确定该车辆是否具有写数据权限;
步骤4.2、验证通过后调用隐私合约对原始数据进行处理得到源数据(Sourcedata),同时飞地对执行结果进行签名生成认证δTEE,提交给远程认证服务器获取认证报告
Figure BDA0003369282340000063
步骤4.3、为方便对数据进行完整性验证,对源数据进行哈希运算得出源数据的认证码,也即HAMC值,并将其添加在源数据的头部形成完整的数据包;
步骤4.4、在TEE环境中对数据包进行密封后生成Sealed(HAMC||Source data),将密封后的数据存储在链下数据库中;
步骤4.5、TEE为执行结果提供时间戳(timestamp)作为辅助信息,方便对数据进行溯源;
步骤4.6、计算数据索引值data index=Hash(Enc(Source data)),最后将dataindex,timestamp,
Figure BDA0003369282340000061
以及其他的辅助信息一同上链存储;
步骤4.7、数据提供方通过上链查询认证报告
Figure BDA0003369282340000062
来确认提交的数据已经完成可靠存储,形成对数据提交流程的闭环监控。
如图4所示,TEE NODE处于中心的位置,作为数据流转的枢纽,为隐私合约和敏感数据的处理提供可信的环境并基于数据密封功能构建链下数据存储系统。
步骤5、数据请求,具体包括:
步骤5.1、数据请求方首先从区块链上获取数据索引data index以及隐私合约编号cid,然后与TEE NODE建立安全连接并发起数据读取请求;
步骤5.2、TEE NODE会先对数据请求方进行身份认证并确认该用户的等级是否有读数据权限,认证通过后在安全飞地中执行隐私合约;
步骤5.3、飞地根据data index查询链下存储数据库获取对应的数据条目,在TEE中进行数据解封后得到(HAMC||Source data),重新计算源数据的认证码HMAC并与之前存储的值进行比较以确保数据的完整性;
步骤5.4、完整性校验通过后从源数据中提取用户所需要的信息,通过加密信道返回给用户,同时将本次数据访问行为记录到区块链上。
如图5所示,数据流转的核心为TEE NODE,数据的解密以及处理均在TEE NODE的安全飞地中完成,这确保了明文数据不会泄露。另外,TEE NODE提供对链下存储数据库访问的唯一接口,简化对链下数据存储操作的流程,增强对数据存储的安全保护,同时在链下存储的数据头部添加HMAC认证码来保证链下存储数据的完整性。在图中,联盟链作为一个去中心化的系统记录数据索引值和完整性证据,为系统中各节点可见,因此可以作为数据防篡改的证据。远程认证服务器可以为TEE的执行结果进行背书,这保证了TEE中隐私合约程序执行的正确性。数据的提交和请求由客户端发起,TEE NODE会首先对客户端进行身份认证并进行权限确认,确保客户端具有数据访问权限后通过调用隐私合约来执行对数据的处理并将相关的操作存储在区块链上作为不可抵赖的证据,最后通过安全信道将关键信息返回给客户端。从图中可以看出数据的提交和请求流程相对独立,并且对于数据提供方(车辆)和数据请求方(用户)的身份认证机制互不干涉,通过对TEE NODE的设计实现数据所有权和使用权的安全隔离。
经过具体实际实验,在以车载终端设备TBOX作为TEE NODE的访问客户端,在TBOX与TEE NODE之间建立https安全通信信道,以JSON作为信息交换的数据格式。以手机APP形式实现数据请求客户端参与到联盟链网络中。以Hyperledger fabric v2.0作为基础联盟链平台,以Intel SGX作为TEE方案来构建的区块链和TEE的混合系统。TEE NODE使用八核Inteli7-1065G7 CPU,具有1.8GHz运算主频和16GB的运行内存,2Gbps网络连接,并且CPU提供Intel SGX功能支持,在局域网中构建4个TEE NODE的联盟链系统。在Ubuntu16.04LTS系统中基于Intel SGX SDK设计TEE程序,使用Enclave规定的EDL语言设计函数操作接口,并使用go语言编写隐私合约代码。设计三个安全飞地,分别实现合约执行,密钥管理,数据存储功能,在edl文件中定义的enclave函数接口分为trusted和untrusted两个部分,在trusted中定义的函数只能在REE中调用,函数在TEE中执行,在untrusted中定义的函数只能在TEE中调用,函数在REE中执行,REE侧和TEE侧的交互只能通过在edl文件中定义的函数接口完成,这保证TEE中函数执行的高度机密性。以CouchDB作为链下存储数据库,存储key-value对。
所述的数据提交,其性能测试具体为:来自车辆客户端的数据会首先提交给TEENODE,在安全飞地中执行隐私合约并对数据进行密封操作,交易过程会记录在区块链上,以交易在区块链上形成共识作为数据提交过程结束的标志对整个过程的吞吐量和延迟进行测试,为验证设计的区块链和TEE混合系统的性能,与无TEE的联盟链进行比较。并且通过增加并发提交的客户端数量来观察测试结果的变化,数据提交延迟测试结果如图7所示。可以看出,在有TEE的区块链系统中,交易处理的延迟比常规区块链略高,这是因为安全飞地在执行内部合约代码之前需要进行初始化操作,包括完整性度量,本地认证,数据密封/解封等,这些是不可避免的工作,会产生较大的时间开销,导致交易执行延迟增加。总体来看,混合区块链系统比传统区块链的交易处理延迟略高10%至20%。图8为数据提交过程的吞吐量测试,可以看出,交易吞吐量基本持平,TEE混合区块链系统的交易吞吐量约为常规区块链的0.95X-0.99X。总体来看,混合区块链系统在交易处理性能上略有下降,但是相比于安全性能的大幅提升,轻微的性能降低是可以接收的。
所述的安全飞地的数据密封操作和解封操作的性能测试具体为:固定以2MB的数据大小进行测试,如图9所示,X轴表示密封数据块的大小,Y轴表示CPU时间成本,单位为毫秒。从测试结果可以看出,当增加密封的数据块大小后,密封和解封所用的时间逐渐下降并趋于平稳,这是由于在数据密封和解封的过程中,需要在TEE和REE之间进行数据交互,交互过程有一定的时间开销,选择的密封数据块越小则需要交互的频率越高,因此选择合适大小的数据块既可以保证存储空间的充分利用又可以降低密封/解封的时间开销。
与现有技术相比,本方法侧重于解决现有车联网数据管理方案中存在的中心化和隐私保护问题,在系统性能上与传统的区块链方案基本持平,但是在对数据隐私保护的安全性上有较大的提升。下面从数据的完整性、机密性、可用性、数据溯源等方面对本方案的安全性能进行分析:
数据完整性:车辆源数据存储在链下的数据库中,其完整性由HMAC认证码保证,在存储时会计算源数据的HAMC值并附在数据头部一同存储,在读取时会重新计算HMAC值并与之前的存储值进行比较以确保数据的完整性,另外将数据进行加密密封后持久性存储在链下数据库中,可以保证数据的完整性不受破坏。在链上存储的是数据索引,其完整性由远程认证报告
Figure BDA0003369282340000081
保证,
Figure BDA0003369282340000082
中包含TEE对执行结果的签名,并由Intel进行背书,远程认证报告确保执行结果的可靠性与完整性。
数据机密性:为确保车辆数据的机密性,在数据提交过程,车辆客户端与TEE NODE之间采用TLS加密通信的方式,并使用合约公钥加密原始数据确保在数据进入TEE环境之前一直以密文形式存在,在TEE中完成解密、处理,对输出的结果也在TEE中进行加密密封后存储,整个过程明文数据不出TEE,这保证数据的隐私性,同时由Intel远程认证背书,确保执行结果的可信性。另外在链上存储的是数据加密后的散列值,不会泄露原数据。在数据请求时,TEE NODE会与请求客户端建立加密通道并进行身份认证,确保数据请求方的身份权限可以访问隐私数据,这确保隐私数据不会被恶意第三方获取。
数据的可用性:采用链上存证与链下存储源数据结合的方式既确保了海量车联网数据的有效存储,又降低了区块链网络共识的负担。同时,链下存储数据库只与TEE NODE进行交互,一方面确保数据访问的安全性,另一方面确保数据访问接口的统一性。用户只需要与TEE NODE进行交互即可获取有效数据而不需要亲自查询数据库,这提高了数据查询的效率,简化了交互的流程。同时,区块链作为分布式系统,可有效对抗单点失效问题,可确保链上存储的数据索引持久性存储。以上的设计确保数据具有很好的可用性。
数据溯源:在数据提交的时候交易中会包含车辆的身份信息,这作为数据来源有效的存储在区块链中,另外每笔交易都会附带时间戳可作为该数据的唯一性证据。每次数据请求或更改操作都会以发布交易的形式记录在区块链上,这保证对数据流转过程的记录。
综上,本发明实现了在多个车企管理域中数据的共享,解决现有车联网系统中数据跨域共享的难题。其中将联盟链引入到车联网系统中并实现对现有区块链技术的改进是一种新的技术手段,对共享数据的隐私保护也并非现有的区块链技术可以解决的问题。
现有的车联网场景中各车企管理域的管理标准不统一,中心化管理方案很难实现跨域的数据共享,因此本发明提出引入区块链来解决这一难题,并引入TEE对现有区块链体系进行一系列的安全性功能改进。另外,虽然区块链和TEE为现有的技术,但此前并未有在车联网场景中结合的应用方案,本发明通过技术上的改进对区块链和TEE进行互补性的设计,采用技术手段解决现有车联网系统中存在的问题,因此要解决的是技术问题而非管理问题。
本发明一方面通过引入区块链来为多个车企管理域提供一个去中心化的管理方案,统一各车企的数据管理标准以方便实现数据共享。其中TEE NODE的设计是本发明技术创新性的关键体现,通过TEE NODE处理后的数据采用统一的数据格式在链上和链下存储;另一方面是通过引入TEE解决隐私保护的问题,通过对TEE内部安全飞地的功能设计实现对敏感数据处理和隐私合约执行的安全保护,并构建链下存储系统解决海量车联网数据的安全存储问题,提升对车辆数据的安全性保护和整体系统的安全性能。
上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。

Claims (9)

1.一种基于区块链和可信执行环境的车联网数据共享实现方法,其特征在于,通过构建基于区块链和TEE的车联网基础管理架构并创建基于区块链和TEE混合系统的隐私合约,通过客户端调用隐私合约进而进行数据流转、数据提交和数据请求;
所述的基于区块链和TEE车联网基础管理架构的核心为作为TEE NODE的车企,各车企管理域内的车辆自然成为组织内的访问客户端,通过调用隐私合约实现业务操作,每个TEENODE中均设有安全飞地;
所述的安全飞地包括:智能合约飞地、密钥管理飞地、存储管理飞地以实现合约执行、密钥保护、链下存储。
2.根据权利要求1所述的基于区块链和可信执行环境的车联网数据共享实现方法,其特征是,所述的创建基于区块链和TEE混合系统的隐私合约是指:客户端通过加密通道将合约代码发送给TEE NODE,合约代码在TEE环境中进行解密并加载到相应的安全飞地中,同时在安全飞地中生成密钥对,使用公钥将TEE的初始状态以及合约id加密后存储到区块链上。
3.根据权利要求1或2所述的基于区块链和可信执行环境的车联网数据共享实现方法,其特征是,所述的创建基于区块链和TEE混合系统的隐私合约具体包括:首先客户端通过加密通道将合约代码发送给可信执行环境节点(TEE NODE),TEE NODE将合约代码加载到相应的飞地中并执行初始化操作,加载完成后为该合约创建唯一的编号为cid;然后,密钥管理飞地在本地生成密钥对(pkcid,skcid),将私钥skcid传递给存储管理飞地进行密封处理后存储在链下数据库中,并使用公钥pkcid对合约的初始状态进行加密生成:
Figure FDA0003369282330000011
操作完成后TEE NODE在智能合约飞地中通过签名生成对交易的认证δTEE,并发送给远程认证服务器(IAS)获取认证报告
Figure FDA0003369282330000012
其中:b属于0到1之间,表示IAS对δTEE的有效性判定,δIAS是IAS的签名;即认证报告包含IAS对飞地执行结果的置信度评估及签名;最后TEE NODE将消息:
Figure FDA0003369282330000013
通过区块链网络广播给其他组织节点,其他节点会验证认证报告
Figure FDA0003369282330000014
的有效性,验证成功后该消息在区块链网络中形成共识,隐私合约创建成功。
4.根据权利要求1所述的基于区块链和可信执行环境的车联网数据共享实现方法,其特征是,所述的通过客户端调用隐私合约是指:客户端从链上获取合约id以及合约公钥,将输入参数以及合约id通过加密信道发送给TEE NODE,在TEE环境中进行解密获得明文合约id和输入参数,根据合约id调用安全飞地中的合约代码,执行完成后形成新的TEE状态,将执行结果的hash值以及更新的TEE状态加密存储到区块链上,同时通过加密通道将执行结果返回给调用客户端。
5.根据权利要求1或4所述的基于区块链和可信执行环境的车联网数据共享实现方法,其特征是,所述的通过客户端调用隐私合约具体包括:首先在区块链上查找该合约的cid以及公钥pkcid,然后使用公钥加密需要传递的参数parameter以及cid生成消息:
Figure FDA0003369282330000021
通过加密通道将该消息发送给TEE NODE,TEE NODE收到该消息后在TEE中对该密文进行解密获得parameter和cid,然后在智能合约飞地中执行相应的合约代码并输出执行结果res,同时形成一个新的TEE状态state_new;对于需要进行隐私保护的执行结果,采用链上存证,链下存储源数据的方式对res进行存储,将res密封后存储在链下数据库中,另外计算:
Figure FDA0003369282330000022
作为数据索引存储在区块链上;同样TEE会对上述操作结果进行远程认证获得认证报告
Figure FDA0003369282330000023
最后将消息:
Figure FDA0003369282330000024
发送给区块链网络形成共识,将执行结果res通过加密通道返回给客户端,隐私合约调用结束。
6.根据权利要求5所述的基于区块链和可信执行环境的车联网数据共享实现方法,其特征是,所述的TEE内部状态更新保存在区块链上,解决TEE因某些原因导致状态丢失所带来的问题;当TEE状态丢失后,客户端首先从区块链上获取存储的状态密文并发送给TEENODE,TEE NODE在内部解密后重新加载TEE状态并初始化飞地,这样保持TEE状态的长期有效性。
7.根据权利要求1所述的基于区块链和可信执行环境的车联网数据共享实现方法,其特征是,所述的数据流转是指:车辆作为原始数据提供方将数据提交给TEE NODE,数据的处理在TEE内部完成,由于数据量巨大,采用链上存证,链下存储源数据的方式对数据进行存储管理;在TEE中执行隐私合约对原始数据进行解密后处理,对处理后的源数据进行密封后存储在链下数据库中,将数据索引以及认证报告存储在区块链上;数据请求方在链上查询需要获取的数据索引,并提交给TEE NODE,TEE NODE首先会对数据请求方进行身份认证,在确定其具有数据使用权限后在TEE中执行隐私合约完成数据的解封及处理,并将有用的信息通过加密通道返回给数据请求方。
8.根据权利要求1所述的基于区块链和可信执行环境的车联网数据共享实现方法,其特征是,所述的数据提交是指:车辆作为原始数据提供方与TEE NODE建立安全连接并发起数据提交请求,TEE NODE会先对车辆进行身份验证并确定该车辆是否具有写数据权限,验证通过后调用智能合约飞地内部的合约对提交的加密原始数据进行解密并处理得到源数据(Source data),同时飞地对执行结果进行签名生成认证δTEE,提交给IAS进行远程认证并获取
Figure FDA0003369282330000031
(远程认证报告);为方便对数据进行完整性验证,对源数据进行哈希运算得出源数据的认证码,也即HAMC值,并将其添加在源数据的头部形成完整的数据包;在TEE环境中对数据包进行密封后生成:Sealed(HAMC||Source data),将密封后的数据存储在链下数据库中;TEE具有秒级别的可信时钟,为执行结果提供时间戳(timestamp),方便对数据进行溯源;计算数据索引值:data index=Hash(Enc(Source data)),最后将data index,timestamp,
Figure FDA0003369282330000032
以及其他的辅助信息一同上链存储;数据提供方通过上链查询认证报告
Figure FDA0003369282330000033
来确认提交的数据已经完成可信存储,这形成对数据提交流程的闭环监控。
9.根据权利要求1所述的基于区块链和可信执行环境的车联网数据共享实现方法,其特征是,所述的数据请求是指:数据请求方首先从区块链上获取数据索引data index以及隐私合约编号cid,然后与TEE NODE建立安全连接并发起数据读取请求,TEE NODE会先对数据请求方进行身份认证并确认该用户的等级是否有读数据权限,认证通过后在飞地中执行隐私合约;飞地根据data index查询链下存储数据库获取对应的数据条目,在TEE中进行数据解封后得到(HAMC||Source data),重新计算源数据的认证码HMAC并与之前存储的值进行比较以确保数据的完整性,完整性校验通过后提取用户所需要的信息,通过加密通道返回给用户,同时将本次数据访问行为记录到区块链上。
CN202111394004.9A 2021-11-23 2021-11-23 基于区块链和可信执行环境的车联网数据共享实现方法 Active CN114117522B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111394004.9A CN114117522B (zh) 2021-11-23 2021-11-23 基于区块链和可信执行环境的车联网数据共享实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111394004.9A CN114117522B (zh) 2021-11-23 2021-11-23 基于区块链和可信执行环境的车联网数据共享实现方法

Publications (2)

Publication Number Publication Date
CN114117522A true CN114117522A (zh) 2022-03-01
CN114117522B CN114117522B (zh) 2024-05-28

Family

ID=80440102

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111394004.9A Active CN114117522B (zh) 2021-11-23 2021-11-23 基于区块链和可信执行环境的车联网数据共享实现方法

Country Status (1)

Country Link
CN (1) CN114117522B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114331442A (zh) * 2022-03-07 2022-04-12 北京溪塔科技有限公司 一种区块链中智能合约的调用方法及装置
CN114374521A (zh) * 2022-03-22 2022-04-19 广东电力交易中心有限责任公司 一种隐私数据保护方法、电子设备及存储介质
CN114666353A (zh) * 2022-03-16 2022-06-24 南京邮电大学 一种基于区块链的电子存取证系统及方法
CN114726878A (zh) * 2022-03-28 2022-07-08 广州广电运通金融电子股份有限公司 一种云端存储系统、设备和方法
CN115001719A (zh) * 2022-08-04 2022-09-02 树根格致科技(湖南)有限公司 隐私数据处理系统、方法、装置、计算机设备及存储介质
CN115022368A (zh) * 2022-06-02 2022-09-06 北京邮电大学 面向车联网的分布式智能资源可信共享方法和系统
CN115730338A (zh) * 2023-01-09 2023-03-03 南湖实验室 基于隐私计算的零信任敏感大数据跨域分享方法和装置
CN117332442A (zh) * 2023-09-28 2024-01-02 浙江大学 一种安全可信的三方设备指纹认证方法
CN117493344A (zh) * 2023-11-09 2024-02-02 兰州大学 一种基于机密计算技术的高效数据组织方法
WO2024050869A1 (zh) * 2022-09-07 2024-03-14 南方科技大学 基于去中心化信任的公有云下tee状态连续性保护方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109766712A (zh) * 2018-12-14 2019-05-17 华东师范大学 一种基于区块链与Intel SGX的征信报告流转方法
CN110086804A (zh) * 2019-04-25 2019-08-02 广州大学 一种基于区块链及可信硬件的物联网数据隐私保护方法
CN110580245A (zh) * 2019-11-08 2019-12-17 支付宝(杭州)信息技术有限公司 隐私数据的共享方法及装置
CN111092727A (zh) * 2020-03-18 2020-05-01 支付宝(杭州)信息技术有限公司 共享集群密钥的方法及装置
US20200327230A1 (en) * 2017-11-03 2020-10-15 Nokia Technologies Oy Method and apparatus for trusted computing
CN112039870A (zh) * 2020-08-28 2020-12-04 武汉见邦融智科技有限公司 基于区块链的面向隐私保护的车载网认证方法及系统
CN112152800A (zh) * 2020-03-18 2020-12-29 支付宝(杭州)信息技术有限公司 生成共享合约密钥的方法及装置
CN112270602A (zh) * 2020-11-09 2021-01-26 支付宝(杭州)信息技术有限公司 一种基于区块链的运营资源发放方法和系统
WO2021179743A1 (zh) * 2020-03-09 2021-09-16 支付宝(杭州)信息技术有限公司 区块链中账户隐私信息的查询方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200327230A1 (en) * 2017-11-03 2020-10-15 Nokia Technologies Oy Method and apparatus for trusted computing
CN109766712A (zh) * 2018-12-14 2019-05-17 华东师范大学 一种基于区块链与Intel SGX的征信报告流转方法
CN110086804A (zh) * 2019-04-25 2019-08-02 广州大学 一种基于区块链及可信硬件的物联网数据隐私保护方法
CN110580245A (zh) * 2019-11-08 2019-12-17 支付宝(杭州)信息技术有限公司 隐私数据的共享方法及装置
WO2021179743A1 (zh) * 2020-03-09 2021-09-16 支付宝(杭州)信息技术有限公司 区块链中账户隐私信息的查询方法及装置
CN111092727A (zh) * 2020-03-18 2020-05-01 支付宝(杭州)信息技术有限公司 共享集群密钥的方法及装置
CN112152800A (zh) * 2020-03-18 2020-12-29 支付宝(杭州)信息技术有限公司 生成共享合约密钥的方法及装置
CN112039870A (zh) * 2020-08-28 2020-12-04 武汉见邦融智科技有限公司 基于区块链的面向隐私保护的车载网认证方法及系统
CN112270602A (zh) * 2020-11-09 2021-01-26 支付宝(杭州)信息技术有限公司 一种基于区块链的运营资源发放方法和系统

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
BENNY FUHRY 等: "SeGShare:Secure Group File Sharing in the Cloud usingEnclaves", 2020 50TH ANNUAL IEEE/IFIP INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND NETWORKS(DSN), 31 July 2020 (2020-07-31), pages 476 - 488 *
HONG LEI 等: "SDSBT: A Security Multi-party Data Sharing Platform Based onBlockchain and TEE", CYBERSPACE SAFETY AND SECURITY, vol. 12653, 7 July 2021 (2021-07-07), pages 184 - 196 *
JUHAO HU 等: "A Blockchain-Based Cross-Domain Data Sharing Scheme for VANETs", ICBCT\'22:THE 2022 4TH INTERNATIONAL CONFERENCE ON BLOCKCHAIN TECHNOLOGY, 31 March 2022 (2022-03-31), pages 117 - 125, XP058827492, DOI: 10.1145/3532640.3532656 *
刘亚楠 等: "基于区块链的汽车里程表数据的共享和交易", 保险理论与实践, no. 06, 31 December 2019 (2019-12-31), pages 79 - 93 *
牛玉坤 等: "基于比特币区块链的公共无线局域网接入控制隐私保护研究", 网络与信息安全学报, vol. 6, no. 02, 15 April 2020 (2020-04-15), pages 56 - 66 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114331442A (zh) * 2022-03-07 2022-04-12 北京溪塔科技有限公司 一种区块链中智能合约的调用方法及装置
CN114331442B (zh) * 2022-03-07 2022-05-06 北京溪塔科技有限公司 一种区块链中智能合约的调用方法及装置
CN114666353A (zh) * 2022-03-16 2022-06-24 南京邮电大学 一种基于区块链的电子存取证系统及方法
CN114374521A (zh) * 2022-03-22 2022-04-19 广东电力交易中心有限责任公司 一种隐私数据保护方法、电子设备及存储介质
CN114726878A (zh) * 2022-03-28 2022-07-08 广州广电运通金融电子股份有限公司 一种云端存储系统、设备和方法
CN114726878B (zh) * 2022-03-28 2024-02-23 广州广电运通金融电子股份有限公司 一种云端存储系统、设备和方法
CN115022368A (zh) * 2022-06-02 2022-09-06 北京邮电大学 面向车联网的分布式智能资源可信共享方法和系统
CN115022368B (zh) * 2022-06-02 2023-10-31 北京邮电大学 面向车联网的分布式智能资源可信共享方法和系统
CN115001719B (zh) * 2022-08-04 2023-01-03 树根格致科技(湖南)有限公司 隐私数据处理系统、方法、装置、计算机设备及存储介质
CN115001719A (zh) * 2022-08-04 2022-09-02 树根格致科技(湖南)有限公司 隐私数据处理系统、方法、装置、计算机设备及存储介质
WO2024050869A1 (zh) * 2022-09-07 2024-03-14 南方科技大学 基于去中心化信任的公有云下tee状态连续性保护方法
CN115730338A (zh) * 2023-01-09 2023-03-03 南湖实验室 基于隐私计算的零信任敏感大数据跨域分享方法和装置
CN117332442A (zh) * 2023-09-28 2024-01-02 浙江大学 一种安全可信的三方设备指纹认证方法
CN117332442B (zh) * 2023-09-28 2024-05-17 浙江大学 一种安全可信的三方设备指纹认证方法
CN117493344A (zh) * 2023-11-09 2024-02-02 兰州大学 一种基于机密计算技术的高效数据组织方法

Also Published As

Publication number Publication date
CN114117522B (zh) 2024-05-28

Similar Documents

Publication Publication Date Title
CN114117522B (zh) 基于区块链和可信执行环境的车联网数据共享实现方法
CN109922077B (zh) 一种基于区块链的身份认证方法及其系统
Hewa et al. Fog computing and blockchain-based security service architecture for 5G industrial IoT-enabled cloud manufacturing
CN110855671B (zh) 一种可信计算方法和系统
US7844816B2 (en) Relying party trust anchor based public key technology framework
US9571285B2 (en) Identity assertion framework
CN111212084B (zh) 一种面向边缘计算的属性加密访问控制方法
Al-Janabi et al. Public-key cryptography enabled kerberos authentication
US9608971B2 (en) Method and apparatus for using a bootstrapping protocol to secure communication between a terminal and cooperating servers
CN113420319A (zh) 一种基于区块链和权限合约的数据隐私保护的方法和系统
CN112822675A (zh) 面向MEC环境的基于OAuth2.0的单点登录机制
Tu et al. A secure, efficient and verifiable multimedia data sharing scheme in fog networking system
CN113779612A (zh) 一种基于区块链与隐藏策略属性加密的数据共享方法与系统
Wei et al. BAVP: blockchain-based access verification protocol in LEO constellation using IBE keys
CN116436682A (zh) 数据处理方法、装置及系统
Goswami et al. A blockchain-based authentication scheme for 5g-enabled iot
Deng et al. Revocable attribute-based data storage in mobile clouds
CN114938280A (zh) 一种基于非交互零知识证明与智能合约的认证方法及系统
Gao et al. Bc-aka: Blockchain based asymmetric authentication and key agreement protocol for distributed 5g core network
EP4145763A1 (en) Exporting remote cryptographic keys
CN116112185A (zh) 一种基于区块链和零知识证明的隐私数据分享方法
CN114866328A (zh) 一种边缘计算环境下基于区块链的跨域访问控制方法及系统
CN114866244A (zh) 基于密文分组链接加密的可控匿名认证方法、系统及装置
Zwattendorfer et al. Privacy-preserving realization of the STORK framework in the public cloud
Khoury et al. Implementation of blockchain domain control verification (B-DCV)

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