CN116305203A - 基于Trustzone的超级账本数据可信加密方法 - Google Patents
基于Trustzone的超级账本数据可信加密方法 Download PDFInfo
- Publication number
- CN116305203A CN116305203A CN202310194317.2A CN202310194317A CN116305203A CN 116305203 A CN116305203 A CN 116305203A CN 202310194317 A CN202310194317 A CN 202310194317A CN 116305203 A CN116305203 A CN 116305203A
- Authority
- CN
- China
- Prior art keywords
- trusted
- client application
- data
- application
- chain code
- 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
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/602—Providing cryptographic facilities or services
-
- 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
-
- 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
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y30/00—IoT infrastructure
- G16Y30/10—Security thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3239—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了基于Trustzone的超级账本数据可信加密方法,具体按照以下步骤实施:步骤1,搭建超级账本网络,对链码发起数据加密事务调用;步骤2,链码将传入的链码调用信息转发给客户端应用;步骤3,客户端应用接收信息后打开与可信应用的会话,可信应用对数据进行加密,然后将键、加密后的数据和写入账本请求返回给客户端应用;步骤4,客户端应用向链码发送键、数据和写入账本请求,链码向客户端应用发送确认回复;步骤5,客户端应用向可信应用转发确认消息,可信应用向客户端应用回复执行完毕响应;步骤6,客户端应用结束与链码的通信并关闭与可信应用的会话,结束本次调用。提升了超级账本中隐私数据的安全性,减小了攻击面。
Description
技术领域
本发明属于数据安全技术领域,涉及基于Trustzone的超级账本数据可信加密方法。
背景技术
近年来,区块链技术和产业在全球范围内快速发展,应用已延伸到物联网领域。物联网龙头企业纷纷开始布局区块链,IBM、微软、亚马逊和SAP都在各自的云平台上提供区块链服务,为未来海量的物联网设备接入提供弹性资源池。区块链作为一种分布式和去信任方式维护数据的可靠性技术,能为物联网提供可用、透明、可追溯、不可篡改的数据存储保护措施。例如,通过使用物联网和区块链,我们能以可验证和高效的方式跟踪供应链上的资产。尽管如此,目前区块链在数据的保密性上依然面临风险,特别是在设备的硬件和软件完整性可能被强大的攻击者破坏的环境中。以企业级商用区块链项目联盟链平台Hyperledger Fabric为例,其通过区块链加密服务BCCSP(Blockchain CryptographicService Provide)模块为客户端SDK提供加密算法相关服务来保护数据隐私,然而这种方式存在着本地密钥被窃取,加密过程易被监听等问题。
基于硬件的可信执行环境TEE(Trusted Execution Environment)为解决区块链的隐私保护问题提供了一个新思路。可信执行环境是针对目前普通执行环境而提出的,是一种具有运算和储存功能,能提供安全性和完整性保护的独立处理环境。其通过硬件、固件和软件机制实现与系统其余部分的隔离,为普通执行环境提供安全服务。当前可信执行环境TEE的实现技术主要包括用于服务器级处理器的Intel软件保护扩展(SGX技术)和用于物联网和边缘设备的TrustZone技术。
ARM TrustZone技术实现了用于物联网和边缘设备启用可信执行环境的硬件组件,支持Trustzone技术的ARM核在运行时将工作状态划分为安全状态(对应可信执行环境)和非安全状态(对应普通执行环境)这两种状态,其中在可信执行环境中运行的应用称为可信应用TA(Trusted Application),在普通执行环境中运行的应用称为客户端应用CA(Client Application)。系统通过调用SMC(安全监控模式调用)指令实现ARM核的安全与非安全状态之间的切换,当处理器核处于安全状态时,处理器不仅可以运行可信执行环境侧的代码,也具有访问普通执行环境资源的权限,而在处于非安全状态时无法访问为可信执行环境保留的资源(例如,内存、外围设备等)。
当前利用可信执行环境解决Fabric隐私问题的方案使用的底层可信技术都为Intel SGX,这些方案都只适用于X86架构的服务器平台,并不适用基于ARM的物联网设备,因而当物联网设备作为fabric区块链节点时,如何保护交易数据隐私成为一个急待解决的问题。
发明内容
本发明的目的是提供基于Trustzone的超级账本数据可信加密方法,解决了现有技术中当物联网设备作为fabric区块链节点,交易数据隐私易泄露的问题。
本发明所采用的技术方案是基于Trustzone的超级账本数据可信加密方法,具体按照以下步骤实施:
步骤1,搭建超级账本Fabric联盟链网络,并在支持Trustzone的物联网设备节点上搭建可信执行环境;然后在超级账本Fabric中编写链码并进行安装和实例化,对链码发起数据加密事务调用;
步骤2,链码将传入的链码调用信息转发给客户端应用;
步骤3,客户端应用接收信息后打开会话,与可信执行环境内对应的可信应用建立连接,将加密命令、键、需要进行加密的数据及参数信息发送给可信应用;可信应用根据收到的加密命令和数据,对数据执行加密操作,然后将键、加密后的数据值和写入账本请求返回给客户端应用;
步骤4,客户端应用向链码发送键、加密后的数据值和写入账本请求,链码收到请求后向客户端应用发送确认回复;
步骤5,客户端应用接收到链码的回复后,向可信应用发送确认消息,告知可信应用此请求已发送给链码,可信应用收到消息后继续后续执行;当可信应用执行完毕后,发送给客户端应用一个执行完毕响应;
步骤6,客户端应用收到可信应用的执行完毕响应,结束与链码的通信并关闭与对应可信应用的会话,结束本次调用。
优选的,所述步骤1具体按照以下实施:
步骤1.1,部署搭建超级账本Fabric1.4和Trustzone技术的基础环境,如docker、git、golang、fabric源码、OP-TEE;
步骤1.2,编写用于接收客户端数据加密事务调用请求的链码文件,该链码主要功能有两个:一是与相应的peer节点进行通信,以操作分布式账本中的数据,二是在被调用时创建一个grpc客户端数据流,并将客户端传入的加密命令、通用唯一标识码UUID值、键、需要被加密的数据以及相关参数发送给客户端应用,然后等待客户端应用的消息;该链码不对数据进行加密处理,处理逻辑由可信应用实现执行;
步骤1.3,对链码进行安装、实例化及调用。
优选的,所述步骤2具体按照以下实施:
链码与客户端应用之间的通信是通过grpc远程过程调用完成的,为了使链码与客户端应用之间都可以向对方发送数据流,采用双向数据流模式;链码作为grpc客户端,客户端应用作为grpc服务端,监听50051端口;每当客户端调用链码时,链码就会创建一个grpc客户端数据流,并将客户端传入的加密命令、通用唯一标识码UUI D值、键、需要被加密的数据以及参数发送给客户端应用,然后等待客户端应用的消息。
优选的,所述步骤3具体按照以下实施:
步骤3.1,当客户端应用收到消息后,客户端应用会打开会话,根据接收到的通用唯一标识码UUI D值与可信执行环境内对应的可信应用建立连接,并注册一块共享内存,该内存用于客户端应用与可信应用之间的通信;
步骤3.2,客户端应用将加密命令、键、需要进行加密的数据及参数写入共享内存,然后发送给对应可信应用;
步骤3.3,可信应用根据收到的加密命令和需要被加密的数据,初始化初始函数调用时的会话上下文,然后对数据执行指定的加密处理,加密处理包括哈希操作、对称加密、数字签名;如果是哈希操作则直接对数据进行哈希运算生成摘要值,如果是对称加密或数字签名操作,则可信应用首先从可信执行环境中读取出提前安全存储的对应用户私钥,然后再对数据进行对称加密或数字签名;
步骤3.4,可信应用将键、加密后的数据值放入共享内存,并在参数中添加写入账本请求返回给客户端应用,然后将自身上下文设置为下一个状态。
优选的,所述步骤4具体按照以下实施:
客户端应用将键、加密后的数据值和写入账本请求通过grpc消息转发给链码;而后等待链码的响应。
优选的,所述步骤5具体按照以下实施:
步骤5.1,客户端应用一旦收到链码的确认,客户端应用会将命令ID设置为1,命令ID为1表示必须根据存储的上下文恢复可信应用的执行,并将确认消息放入共享内存发送给可信应用;
步骤5.2,可信应用接收客户端应用发来的确认消息后继续执行,一旦可信应用完成了执行,可信应用将执行完毕响应存储在共享内存中,并通过参数传递请求类型给客户端应用,告知客户端应用此次执行已完成。
优选的,所述步骤6具体按照以下实施:
步骤6.1,客户端应用通过grpc将执行完毕响应转发到链码,表示本次调用已结束;
步骤6.2,客户端应用关闭和可信应用的本次会话并释放资源。
本发明的有益效果是:本发明提出的基于Trustzone的超级账本数据可信加密方法,解决了当前fabric区块链节点,链码的加密过程易被恶意监听以及节点对数据加密缺乏根密钥保护从而导致的隐私数据泄露问题。提升了Fabric中隐私数据与密钥静态存储的安全性,安全地对用户隐藏了Fabric的密码学细节,极大减小了可信计算基础以及攻击面,提高了Fabric的实用性。
附图说明
图1是本发明基于Trustzone的超级账本数据可信加密方法的交互流程图;
图2本发明的基于Trustzone的超级账本数据可信加密方法的结构示意图;
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的基于Trustzone的超级账本数据可信加密方法,如图1所示,具体操作流程如下:
步骤1、搭建超级账本Fabric联盟链网络,并在支持Trustzone的物联网设备节点上搭建可信执行环境。然后在超级账本Fabric中编写链码并进行安装和实例化,对链码发起数据加密事务调用。
步骤1具体按照以下实施:
步骤1.1,部署搭建超级账本Fabric1.4和Trustzone技术的基础环境,如docker、git、golang、fabric源码、OP-TEE。
步骤1.2,编写用于接收客户端数据加密事务调用请求的链码文件,该链码主要功能有两个:一是与相应的peer节点进行通信,以操作分布式账本中的数据,二是在被调用时创建一个grpc客户端数据流,并将客户端传入的加密命令、通用唯一标识码UUID值、键、需要被加密的数据以及相关参数发送给客户端应用,然后等待客户端应用的消息。该链码不对数据进行加密处理(处理逻辑由可信应用实现执行)。
步骤1.3,对链码进行安装、实例化及调用。
步骤2、链码将传入的链码调用信息转发给客户端应用。
步骤2具体按照以下实施:
链码与客户端应用之间的通信是通过grpc远程过程调用完成的,为了使链码与客户端应用之间都可以向对方发送数据流,我们采用双向数据流模式。链码作为grpc客户端,客户端应用作为grpc服务端,监听50051端口。每当客户端调用链码时,链码就会创建一个grpc客户端数据流,并将客户端传入的加密命令、通用唯一标识码UUI D值、键、需要被加密的数据以及参数发送给客户端应用,然后等待客户端应用的消息。
步骤3、客户端应用接收信息后打开会话,与可信执行环境内对应的可信应用建立连接,将加密命令、键、需要进行加密的数据及参数信息发送给可信应用。可信应用根据收到的加密命令和数据,对数据执行相应的加密操作,然后将键、加密后的数据值和写入账本请求返回给客户端应用。
步骤3具体按照以下实施:
步骤3.1,当客户端应用收到消息后,客户端应用会打开会话,根据接收到的通用唯一标识码UUI D值与可信执行环境内对应的可信应用建立连接,并注册一块共享内存,该内存用于客户端应用与可信应用之间的通信。
步骤3.2,客户端应用将加密命令、键、需要进行加密的数据及参数写入共享内存,然后发送给对应可信应用。
步骤3.3,可信应用根据收到的加密命令和需要被加密的数据,初始化初始函数调用时的会话上下文,然后对数据执行指定的加密处理,加密处理包括哈希操作、对称加密、数字签名,如图2所示。如果是哈希操作则直接对数据进行哈希运算生成摘要值,如果是对称加密或数字签名操作,则可信应用首先从可信执行环境中读取出提前安全存储的对应用户私钥,然后再对数据进行对称加密或数字签名。
步骤3.4,可信应用将键、加密后的数据值放入共享内存,并在参数中添加写入账本请求返回给客户端应用,然后将自身上下文设置为下一个状态。
步骤4,客户端应用向链码发送键、加密后的数据值和写入账本请求,链码收到请求后向客户端应用发送确认回复;
步骤4具体按照以下实施:
客户端应用将键、加密后的数据值和写入账本请求通过grpc消息转发给链码。而后等待链码的响应。
步骤5,客户端应用接收到链码的回复后,向可信应用发送确认消息,告知可信应用此请求已发送给链码,可信应用收到消息后继续后续执行。当可信应用执行完毕后,发送给客户端应用一个执行完毕响应;
步骤5具体按照以下实施:
步骤5.1,客户端应用一旦收到链码的确认,客户端应用会将命令I D设置为1(命令I D为1表示必须根据存储的上下文恢复可信应用的执行),并将确认消息放入共享内存发送给可信应用。
步骤5.2,可信应用接收客户端应用发来的确认消息后继续执行,一旦可信应用完成了执行,它将执行完毕响应存储在共享内存中,并通过参数传递请求类型给客户端应用,告知客户端应用此次执行已完成。
步骤6,客户端应用收到可信应用的执行完毕响应,结束与链码的通信并关闭与对应可信应用的会话,结束本次调用。
步骤6具体按照以下实施:
步骤6.1,客户端应用通过grpc将执行完毕响应转发到链码,表示本次调用已结束。
步骤6.2,客户端应用关闭和可信应用的本次会话并释放资源。
本发明提出的基于Trustzone的超级账本数据可信加密方法,解决了当前fabric区块链节点,链码的加密过程易被恶意监听以及节点对数据加密缺乏根密钥保护从而导致的隐私数据泄露问题。提升了Fabric中隐私数据与密钥静态存储的安全性,安全地对用户隐藏了Fabric的密码学细节,极大减小了可信计算基础以及攻击面,提高了Fabric的实用性。
实施案例
对应于步骤1,本发明实验在Intel Core i5-8400 CPU@2.80GHz 2.81GHz,系统为Ubuntu 18.04server x64的服务端上搭建Hyperledger Fabric v1.4单节点网络,链码部署在peer节点。物联网设备选用qemu-v8模拟器进行模拟,并在qemu-v8中搭建OPTEE系统,客户端应用与可信应用运行于OPTEE中。OPTEE是一种ARM架构下支持Trustzone技术的双内核操作系统,其中qemu-v8的核心数-smp设置为4,可信线程CFG_NUM_THREADS设置为4。
以对隐私数据进行哈希加密后上链为例,我们编写安装并部署了一个对隐私数据进行SHA-256后写入账本的简单链码示例,首先我们对链码进行安装、实例化以及通过设置UUID找到OPTEE中对应的可信应用。然后,我们对链码进行调用,调用传入的参数有三个,加密命令“sha256”,用户名称“gaowen”作为键key,“1”作为被加密的隐私数据value。
对应于步骤2,当客户端调用链码时,链码会创建一个grpc客户端数据流,并将UUID值(这里我们的值设为6ceb95bae9b1482aa1bda1ebca0671b9)、传入的三个参数发送给客户端应用,然后等待客户端应用的消息。
对应于步骤3,客户端应用接收信息后打开会话,与可信执行环境内对应的可信应用建立连接,将传入的参数发送给可信应用。可信应用接收到消息后开始对数据“1”进行SHA-256哈希运算,得到结果“6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b”。可信应用将用户名称和SHA-256哈希加密后的结果放入共享内存,并在参数中添加写入账本请求返回给客户端应用。
对应于步骤4,客户端应用向链码发送用户名称、哈希加密后的数据和写入账本请求,链码收到请求后向客户端应用发送确认回复。
对应于步骤5,客户端应用收到链码的确认后,客户端应用将命令ID设置为1,并将确认消息放入共享内存发送给可信应用。可信应用接收链码发来的确认消息后继续执行,当可信应用执行完毕后,将执行完毕响应存储在共享内存中,并通过参数传递请求类型INVOCATION_RESPONSE给客户端应用,告知客户端应用此次执行已完成。
对应于步骤6,客户端应用收到可信应用的执行完毕响应,结束与链码的通信并关闭与对应可信应用的会话,结束本次调用。
最后,我们在客户端对peer节点发起查询交易,根据客户端的返回,可以看到隐私数据在可信应用中进行SHA256哈希运算后,将结果“6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b”写入了账本,表明测试用例通过。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (7)
1.基于Trustzone的超级账本数据可信加密方法,其特征在于,具体按照以下步骤实施:
步骤1,搭建超级账本Fabric联盟链网络,并在支持Trustzone的物联网设备节点上搭建可信执行环境;然后在超级账本Fabric中编写链码并进行安装和实例化,对链码发起数据加密事务调用;
步骤2,链码将传入的链码调用信息转发给客户端应用;
步骤3,客户端应用接收信息后打开会话,与可信执行环境内对应的可信应用建立连接,将加密命令、键、需要进行加密的数据及参数信息发送给可信应用;可信应用根据收到的加密命令和数据,对数据执行加密操作,然后将键、加密后的数据值和写入账本请求返回给客户端应用;
步骤4,客户端应用向链码发送键、加密后的数据值和写入账本请求,链码收到请求后向客户端应用发送确认回复;
步骤5,客户端应用接收到链码的回复后,向可信应用发送确认消息,告知可信应用此请求已发送给链码,可信应用收到消息后继续后续执行;当可信应用执行完毕后,发送给客户端应用一个执行完毕响应;
步骤6,客户端应用收到可信应用的执行完毕响应,结束与链码的通信并关闭与对应可信应用的会话,结束本次调用。
2.根据权利要求1所述的基于Trustzone的超级账本数据可信加密方法,其特征在于,所述步骤1具体按照以下实施:
步骤1.1,部署搭建超级账本Fabric1.4和Trustzone技术的基础环境;
步骤1.2,编写用于接收客户端数据加密事务调用请求的链码文件,该链码主要功能有两个:一是与相应的peer节点进行通信,以操作分布式账本中的数据,二是在被调用时创建一个grpc客户端数据流,并将客户端传入的加密命令、通用唯一标识码UUID值、键、需要被加密的数据以及相关参数发送给客户端应用,然后等待客户端应用的消息;该链码不对数据进行加密处理,处理逻辑由可信应用实现执行;
步骤1.3,对链码进行安装、实例化及调用。
3.根据权利要求1所述的基于Trustzone的超级账本数据可信加密方法,其特征在于,所述步骤2具体按照以下实施:
链码与客户端应用之间的通信是通过grpc远程过程调用完成的,为了使链码与客户端应用之间都可以向对方发送数据流,采用双向数据流模式;链码作为grpc客户端,客户端应用作为grpc服务端,监听50051端口;每当客户端调用链码时,链码就会创建一个grpc客户端数据流,并将客户端传入的加密命令、通用唯一标识码UUID值、键、需要被加密的数据以及参数发送给客户端应用,然后等待客户端应用的消息。
4.根据权利要求1所述的基于Trustzone的超级账本数据可信加密方法,其特征在于,所述步骤3具体按照以下实施:
步骤3.1,当客户端应用收到消息后,客户端应用会打开会话,根据接收到的通用唯一标识码UUID值与可信执行环境内对应的可信应用建立连接,并注册一块共享内存,该内存用于客户端应用与可信应用之间的通信;
步骤3.2,客户端应用将加密命令、键、需要进行加密的数据及参数写入共享内存,然后发送给对应可信应用;
步骤3.3,可信应用根据收到的加密命令和需要被加密的数据,初始化初始函数调用时的会话上下文,然后对数据执行指定的加密处理,加密处理包括哈希操作、对称加密、数字签名;如果是哈希操作则直接对数据进行哈希运算生成摘要值,如果是对称加密或数字签名操作,则可信应用首先从可信执行环境中读取出提前安全存储的对应用户私钥,然后再对数据进行对称加密或数字签名;
步骤3.4,可信应用将键、加密后的数据值放入共享内存,并在参数中添加写入账本请求返回给客户端应用,然后将自身上下文设置为下一个状态。
5.根据权利要求1所述的基于Trustzone的超级账本数据可信加密方法,其特征在于,所述步骤4具体按照以下实施:
客户端应用将键、加密后的数据值和写入账本请求通过grpc消息转发给链码;而后等待链码的响应。
6.根据权利要求1所述的基于Trustzone的超级账本数据可信加密方法,其特征在于,所述步骤5具体按照以下实施:
步骤5.1,客户端应用一旦收到链码的确认,客户端应用会将命令ID设置为1,命令ID为1表示必须根据存储的上下文恢复可信应用的执行,并将确认消息放入共享内存发送给可信应用;
步骤5.2,可信应用接收客户端应用发来的确认消息后继续执行,一旦可信应用完成了执行,可信应用将执行完毕响应存储在共享内存中,并通过参数传递请求类型给客户端应用,告知客户端应用此次执行已完成。
7.根据权利要求1所述的基于Trustzone的超级账本数据可信加密方法,其特征在于,所述步骤6具体按照以下实施:
步骤6.1,客户端应用通过grpc将执行完毕响应转发到链码,表示本次调用已结束;
步骤6.2,客户端应用关闭和可信应用的本次会话并释放资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310194317.2A CN116305203A (zh) | 2023-03-02 | 2023-03-02 | 基于Trustzone的超级账本数据可信加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310194317.2A CN116305203A (zh) | 2023-03-02 | 2023-03-02 | 基于Trustzone的超级账本数据可信加密方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116305203A true CN116305203A (zh) | 2023-06-23 |
Family
ID=86837280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310194317.2A Pending CN116305203A (zh) | 2023-03-02 | 2023-03-02 | 基于Trustzone的超级账本数据可信加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116305203A (zh) |
-
2023
- 2023-03-02 CN CN202310194317.2A patent/CN116305203A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111541785B (zh) | 基于云计算的区块链数据处理方法及装置 | |
US9436968B1 (en) | System and method for application license management in virtual environments | |
Bittau et al. | Wedge: Splitting applications into reduced-privilege compartments | |
US7478246B2 (en) | Method for providing a scalable trusted platform module in a hypervisor environment | |
TWI701929B (zh) | 密碼運算、創建工作密鑰的方法、密碼服務平台及設備 | |
US8549592B2 (en) | Establishing virtual endorsement credentials for dynamically generated endorsement keys in a trusted computing platform | |
EP2278514B1 (en) | System and method for providing secure virtual machines | |
CN102271124B (zh) | 数据处理设备和数据处理方法 | |
Sehgal et al. | A cross section of the issues and research activities related to both information security and cloud computing | |
US11025420B2 (en) | Stateless service-mediated security module | |
WO2022073264A1 (en) | Systems and methods for secure and fast machine learning inference in trusted execution environment | |
KR20140099325A (ko) | 글로벌 플랫폼 규격을 사용하는 발행자 보안 도메인에 대한 키 관리 시스템 및 방법 | |
WO2020042798A1 (zh) | 密码运算、创建工作密钥的方法、密码服务平台及设备 | |
Chen et al. | Daonity–grid security from two levels of virtualization | |
CN115580413B (zh) | 一种零信任的多方数据融合计算方法和装置 | |
CN115803740A (zh) | 监视程序保护的密钥 | |
CN115730338A (zh) | 基于隐私计算的零信任敏感大数据跨域分享方法和装置 | |
Yu et al. | A trusted architecture for virtual machines on cloud servers with trusted platform module and certificate authority | |
Will et al. | Using a shared SGX enclave in the UNIX PAM authentication service | |
CN116305203A (zh) | 基于Trustzone的超级账本数据可信加密方法 | |
Hao et al. | Trusted block as a service: Towards sensitive applications on the cloud | |
Zhong et al. | Construction of a trusted SaaS platform | |
Jian et al. | A New Method to Enhance Container with vTPM | |
Wu et al. | Secure key management of mobile agent system using tpm-based technology on trusted computing platform | |
KR20220140638A (ko) | 모델 보호 방법과 장치, 전자 기기, 모델 보호 시스템, 저장 매체 및 컴퓨터 프로그램 |
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 |