CN112131316A - 应用于区块链***的数据处理方法及装置 - Google Patents

应用于区块链***的数据处理方法及装置 Download PDF

Info

Publication number
CN112131316A
CN112131316A CN202011306241.0A CN202011306241A CN112131316A CN 112131316 A CN112131316 A CN 112131316A CN 202011306241 A CN202011306241 A CN 202011306241A CN 112131316 A CN112131316 A CN 112131316A
Authority
CN
China
Prior art keywords
target
access terminal
node
role
target data
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
CN202011306241.0A
Other languages
English (en)
Other versions
CN112131316B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011306241.0A priority Critical patent/CN112131316B/zh
Publication of CN112131316A publication Critical patent/CN112131316A/zh
Application granted granted Critical
Publication of CN112131316B publication Critical patent/CN112131316B/zh
Priority to PCT/CN2021/124282 priority patent/WO2022105505A1/zh
Priority to EP21893654.0A priority patent/EP4191430A4/en
Priority to US17/955,422 priority patent/US20230014599A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Storage Device Security (AREA)

Abstract

本申请的实施例揭示了一种应用于区块链***的数据处理方法及装置,该方法包括:响应于访问终端向区块链中写入目标数据的请求,确定对所述目标数据具有读取权限的目标节点角色,其中,各个节点设备连接的访问终端拥有节点设备对应的节点角色的权限;获取所述目标节点角色所对应的加密密钥;根据所述加密密钥对所述目标数据进行加密处理,得到所述目标数据对应的密文,所述目标数据对应的密文能够被所述目标节点角色对应的访问终端解密;将所述目标数据对应的密文存储至所述区块链上。本申请实施例的技术方案既能够极大地提升多个节点角色之间进行数据共享的效率,又能够确保进行数据共享的安全性。

Description

应用于区块链***的数据处理方法及装置
技术领域
本申请涉及区块链技术领域,具体而言,涉及一种应用于区块链***的数据处理方法及装置、电子设备、计算机可读存储介质。
背景技术
由于不同机构所管理的事务不一致,不同机构的数据通常被割裂存储在各个机构,但在某些场景下各个机构之间需要进行数据共享。
目前通用的实现方式是,将需要进行数据共享的各个机构分别连接,以从所连接的机构中获取数据,但由于不同机构的设备接口标准不一致、以及不同机构的协作流程不一致,导致各个机构之间进行数据共享的效率很低。
发明内容
为解决上述技术问题,本申请的实施例提供了一种应用于区块链***的数据处理方法及装置、电子设备、计算机可读存储介质,本申请的实施例采用区块链技术来实现不同机构之间的数据共享,能够在极大程度上提升不同机构之间进行数据共享的效率。
根据本申请实施例的一个方面,提供了一种应用于区块链***的数据处理方法,所述区块链***包括多个节点设备,各个节点设备连接有至少一个访问终端,所述方法由所述区块链***中的节点设备执行,所述方法包括:响应于访问终端向区块链中写入目标数据的请求,确定对所述目标数据具有读取权限的目标节点角色,其中,各个节点设备连接的访问终端拥有节点设备对应的节点角色的权限;获取所述目标节点角色所对应的加密密钥;根据所述加密密钥对所述目标数据进行加密处理,得到所述目标数据对应的密文,所述目标数据对应的密文能够被所述目标节点角色对应的访问终端解密;将所述目标数据对应的密文存储至所述区块链上。
根据本申请实施例的一个方面,提供了一种应用于区块链***的数据处理装置,所述区块链***包括多个节点设备,各个节点设备连接有至少一个访问终端,所述装置配置在所述区块链***中的节点设备上,所述装置包括:节点角色确定模块,配置为响应于访问终端向区块链中写入目标数据的请求,确定对所述目标数据具有读取权限的目标节点角色,其中,各个节点设备连接的访问终端拥有节点设备对应的节点角色的权限;加密密钥获取模块,配置为获取所述目标节点角色所对应的加密密钥;数据加密模块,配置为根据所述加密密钥对所述目标数据进行加密处理,得到所述目标数据对应的密文,所述目标数据对应的密文能够被所述目标节点角色对应的访问终端解密;数据存储模块,配置为将所述目标数据对应的密文存储至所述区块链上。
根据本申请实施例的一个方面,提供了一种电子设备,包括处理器及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如上所述的应用于区块链***的数据处理方法。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行如上所述的应用于区块链***的数据处理方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实施例中提供的应用于区块链***的数据处理方法。
在本申请的实施例所提供的技术方案中,区块链***中的节点设备可以具体实现为不同机构的服务器,由于各个节点设备中都存储有全量的区块数据,也即区块链上都存储有每个机构的数据,使得每个机构都可以从区块链上获取其它机构的数据,从而通过区块链技术实现了标准化和通用化的数据共享,能够极大地提升数据共享的效率。
并且,由于区块链上存储的区块数据通过节点角色向访问终端设置有读取权限,且各个节点设备连接的访问终端拥有节点设备对应的节点角色的权限,使得区块链上的数据只能够被对该数据具有读取权限的其它访问终端获取得到,也即,只有具有读取权限的机构才能从区块链上获取到其它机构的数据,既提升了不同机构之间进行共享数据的效率,又能够确保数据共享的安全性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请涉及的一种实施环境的示意图。
图2是本申请的一示例性实施例示出的应用于区块链***的数据处理方法的流程图。
图3是本申请的示例性实施例示出的一种获取目标节点角色对应的加密密钥的流程图。
图4是本申请的示例性实施例示出的一种获取目标节点角色对应的角色共享密钥的流程图。
图5在图2所示的实施例的基础上而提出的另一种应用于区块链***的数据处理方法的流程图。
图6是本申请的一示例性实施例示出的一种应用于区块链***的数据处理装置的框图。
图7示出了一种适于用来实现本申请实施例的电子设备的计算机***的结构示意图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
还需要说明的是:在本申请中提及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
请参阅图1,图1是本申请涉及的一种实施环境的示意图,该实施环境具体为一区块链***。
图1中示出的区块链***100是指用于进行节点设备10与节点设备10之间数据共享的***,每个节点设备10中都存储有完整的区块链20。如图1所示,区块链20由多个区块组成,每个区块中包括区块头和区块体,区块头中存储有区块高度等信息。可以看出,每个节点设备10中所存储的区块数据是完全一致的。
各个节点设备10分别连接有至少一个访问终端30,例如访问终端30可以通过有线或无线网络与节点设备相连接,从而与节点设备10进行数据交互。任意的访问终端30均可以向区块链20中写入数据,或者读取区块链20中存储的数据,由此实现区块数据的高效率共享。
区块链20上存储的数据通常是大量并且复杂的,在一个示例性的应用场景中,节点设备10被具体实现为是不同的国家部门(例如公安部门、民政部门、税务部门、工商部门、***门等)分别部署在区块链***100中的服务器,因此区块链20中存储有每个国家部门的数据。与节点设备10相连接的访问终端30则具体实现为是归属于相应国家部门的用户访问终端。
考虑到国家部门的数据通常具有极高的保密性,这些数据一旦被泄露,将带来严重后果,因此在不同的国家部门进行数据共享的过程中,为保证数据安全性,区块链***100对区块链20上存储的区块数据均配置了权限,例如包括读取权限和/或写入权限。例如,税务部门在处理用户的个税抵扣事务时,可以从区块链20中读取该用户的子女教育、父母养老、房贷等数据,但不能对这些数据进行修改。又例如,公安部门只能修改区块链20中存储的自身部门的数据,例如用户的户籍、犯罪记录等,但不能修改区块链20中存储的其它国家部门的数据。
由此可知,基于图1所示的区块链***100不仅能够高效率地进行数据共享,还能够确保数据共享过程中的数据安全性,能够满足任意对于数据共享过程中的共享效率以及数据安全性具有较高要求的场景,例如还可以应用在企业各部门或分支机构之间的数据共享、多人之间进行数据共享等场景中,本处不对此进行限制。
还需要说明的是,图1所示的区块链***100中的访问终端30可以是智能手机、平板、笔记本电脑、计算机等电子设备,节点设备10可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(ContentDelivery Network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器,本处也不对此进行限制。
图2是本申请的一示例性实施例示出的应用于区块链***的数据处理方法的流程图。
该方法所应用的区块链***可以是图1所示的区块链***100,并且该方法可以由区块链***100中任意的节点设备10具体执行。
而在另一些实施例中,该方法也可以应用于其它的区块链***,区块链***中包括多个节点设备,以通过任意的节点设备执行该方法。每个节点设备连接有一个或多个访问终端,并且各个节点设备中存储有完整的区块链,也即各个节点设备中存储了全量的区块数据,区块链中的区块数据均配置有相应权限。
需要说明的是,区块链据的权限可以包括读取权限和写入权限,对区块数据具有读取权限的访问终端可以从区块链中读取该区块数据,对区块数据具有写入权限的访问终端可以对存储在区块链上的该区块数据进行修改。
此外,各个节点设备具有各自对应的节点角色,并且各个节点设备连接的访问终端拥有节点设备对应的节点角色的权限,以基于节点角色实现多个访问终端对于区块数据的权限的一致性管理。也即是说,节点设备通常连接有多个访问终端,并且多个访问终端对于区块数据通常具有一致的数据权限,因此同一节点设备连接的访问终端应当具有相同的节点角色,具体为所连接节点设备对应的节点角色。若以前述示例进行说明,归属于同一国家部门的访问终端应当具有相同的节点角色,具体为该国家部门所对应的节点角色。
另外还需要说明的是,在一般情况下,不同的节点设备所对应节点角色各不相同,但是在实际应用中,也可能存在多个节点设备对应于同一节点角色的情况。例如,由于一个国家部门的数据具有数据量大以及数据复杂度高等特点,通常部署多个节点设备进行数据处理,因此归属于同一国家部门的各个节点设备应当具有相同的节点角色,由此保证归属于同一国家部门的访问终端对于区块数据具有相同的权限,进而能够保证区块链***对于区块数据的一致性管理。
如图2所示,在一示例性实施例中,该应用与区块链***的数据处理方法可以包括步骤S110至步骤S170,详细介绍如下:
步骤S110,响应于目标访问终端向区块链中写入目标数据的请求,确定对目标数据具有读取权限的目标节点角色。
首先说明的是,目标访问终端可以是区块链***中任意的节点设备所连接的访问终端,目标访问终端作为请求发起方,用于请求向区块链中写入目标数据。
在一些实施例中,目标访问终端请求向区块链中写入目标数据,具体是请求向区块链中新增待存储的数据,例如实现为公安部门请求在区块链上增加新生儿的用户信息。而在另一些实施例中,目标访问终端请求向区块链中写入目标数据,具体是请求修改区块链中存储的区块数据,例如实现为民政部门请求将区块链上存储的某个用户的婚姻状态由未婚修改为已婚。
节点设备接收到目标访问终端发送的请求后,响应于目标访问终端向区块链中写入目标数据的请求,获取对目标数据具有读取权限的目标节点角色,进而根据目标节点角色获取对目标数据进行加密的加密密钥。也即是说,本实施例中的目标数据将是以密文形式存储在区块链上的,以保证目标数据在区块链上进行存储的安全性。
还需要说明的是,为保证区块数据的安全性,区块链上存储的重要数据都应当是以密文的形式进行存储的,并且只有具有权限的访问终端才能够对这些数据的密文成功解密,从而真正获取到这些数据。
在一些实施例中,目标访问终端所请求写入区块链的目标数据中含有关键字段,根据这些关键字段则可以得到对目标数据具有读取权限的目标节点角色。也即是说,目标访问终端在关键字段中设置有关于目标数据的读取权限的信息,以通过这些信息来约束目标数据存储至区块链后,只能被对于目标数据具有读取权限的访问终端获取得到。
目标访问终端也可以在关键字段中设置关于目标数据的写入权限的信息,以约束目标数据存储至区块链后只能被对于目标数据具有写入权限的访问终端进行修改。
通常而言,对于与目标访问终端所属的节点角色相同的任意访问终端,都可以具有目标数据的写入权限和读取权限,例如隶属于同一国家部门的访问终端都可以修改和读取区块链上存储的自身部门的数据。因此,在一些实施例中,对目标数据具有读取权限的目标节点角色可以包括目标访问终端所属的节点角色。其中,目标访问终端自身所属的节点角色也可以通过目标数据所含有的关键字段获取得到。
在另一些实施例中,例如在某些区块数据权限规范化管理的应用场景中,也可以根据目标访问终端自身所属的节点角色来确定对目标数据具有读取权限的目标节点角色。
例如,在区块数据权限规范化管理的应用场景中,节点设备中预先存储有节点角色与区块数据权限之间的映射规则,例如,该映射规则规定了节点角色A的访问终端向区块链写入的数据只能被节点角色B以及节点角色C的访问终端合法获取,因此当节点角色A的访问终端请求向区块链中写入目标数据后,可以直接确定对目标数据具有读取权限的目标节点角色为节点角色B以及节点角色C。
步骤S130,获取目标节点角色所对应的加密密钥。
如前所述,本实施例所获取的加密密钥是用于对目标数据进行加密处理,以到目标数据对应的密文。将目标数据对应的密文存储至区块链后,只有对目标数据具有读取权限的访问终端才能够获取到该目标数据,由此实现目标数据在区块链上的可靠存储。
为保证目标数据在区块链上存储的可靠性,在一些实施例中,对目标数据进行加密处理的加密密钥可以是节点设备中生成的对称密钥。节点设备还将生成的对称密钥发送至具备目标节点角色的访问终端,以使目标节点角色对应的访问终端能够根据接收到的对称密钥对目标数据对应的密文成功解密,从而得到目标数据。
对于不具有目标数据的读取权限的访问终端而言,由于其并未接收到节点设备发送的对称密钥,因此无法对目标数据对应的密文进行解密。由此可知,即使目标数据的密文可能被任意的访问终端获取得到,但只有对目标数据具有读取权限的访问终端才能真正获得目标数据,从而使得目标数据在区块链上的存储具有极高的可靠性。
在另一些实施例中,对目标数据进行加密处理的加密密钥具体为各个目标节点角色对应的共享公钥,基于共享公钥对目标数据加密得到的密文能够被各个目标节点角色对应的私钥成功解密。
由此,目标数据对应的密文存储至区块链后,对目标数据具有读取权限的访问终端根据自身所属的节点角色对应的私钥对目标数据对应的密文进行解密,即可成功获得目标数据。对于不具有目标数据的读取权限的访问终端而言,其仍可以根据自身所属的节点角色对应的私钥对目标数据对应的密文进行解密处理,但无法成功解密,从而能够保证目标数据在区块链上的存储具有极高的可靠性。
步骤S150,根据加密密钥对目标数据进行加密处理,得到目标数据对应的密文,目标数据对应的密文能够被目标节点角色对应的访问终端解密。
本实施例基于步骤S130获取得到的加密密钥对目标数据进行加密处理,也即是根据该加密密钥对进行目标数据进行加密运算的过程,由此得到目标数据对应的密文。
由于对目标数据进行加密处理所使用的加密密钥是根据对目标数据具有读取权限的各个目标节点角色确定得到的,目标数据对应的密文只能够被目标节点角色对应的访问终端成功解密,进而保证目标数据对应的密文存储至区块链中之后,只能被对其具有读取权限的访问终端获取得到。
步骤S170,将目标数据对应的密文存储至区块链上。
考虑到在区块链***中,各个节点设备中存储的区块数据应当是完全一致的,目标数据对应的密文也应当一致性地存储于各个节点设备所部署的区块链中,为此,可以将目标数据对应的密文在区块链***进行共识,并在共识通过后执行目标数据的上链操作,从而确保各个节点设备中存储的区块链都是完整的。例如,可以将区块链***中含有的全部或者部分节点设备作为共识节点,对目标数据对应的密文进行共识。
可以看出,在实施例提供的技术方案中,若以节点设备实现为不同国家部门的服务器为例,各个国家部门都在区块链上维护各自的数据,例如对于某一个用户而言,各个国家部门都在区块链上维护该用户的某几个字段的数据,由此通过区块链实现不同国家部门之间的数据共享,能够极大地提升数据共享的效率。
同时,本实施例提供的技术方案通过节点设备对应的节点角色来实现区块链上存储的区块数据的安全性和可靠性,仍以节点设备实现为不同国家部门的服务器为例,区块链上存储的数据设置有权限,若某个用户在区块链中具有100个字段的数据,民政部门只能对其中的40个字段具有读取权限,对其中的10个字段具有写入权限,由此实现多部门对于区块数据进行维护的一致性,同时还确保区块数据是最小授权的,也即区块数据的读取权限和/或者写入权限的最小授权。
图3是本申请的示例性实施例示出的一种获取目标节点角色对应的加密密钥的流程图。如图3所示,获取目标节点角色对应的加密密钥,可以包括步骤S210至步骤S230,详细介绍如下:
步骤S210,获取各个目标节点角色对应的公钥。
首先需要说明的是,在本实施例中,各个目标节点角色对应的公钥应当与各个目标节点角色的私钥相关联。例如,基于目标节点角色对应的公钥进行数据加密得到的密文,可以通过目标节点角色对应的私钥解密,以得到加密前的原始数据,基于目标节点角色对应的私钥所得到的签名则可以通过目标节点角色对应的公钥进行验签。
在一些实施例中,区块链***中具备不同节点角色的节点设备预先生会成一对与自身所属节点角色对应的私钥和公钥,所生成私钥会同步到与自身连接的各个访问终端中存储,所生成的公钥会发送到区块链***中。例如,节点设备可以将生成的公钥发送到权威设备中,使得权威设备将接收到的公钥配置在权威证书中,并将权威证书颁发给各个节点设备。
需要理解的是,权威设备具体可以是区块链***中的节点设备,该节点设备具有权威性,从而使得其它的节点设备信任权威设备所颁发的权威证书。由此,区块链***中的各个节点设备都可以获知到不同节点角色对应的公钥,从而能够获得各个目标节点角色对应的公钥。
而在另一些实施例中,可以在节点设备中分别生成各个目标节点角色对应的随机数,进而根据各个目标节点角色对应的随机数生成各个目标节点角色对应的公钥。其中,根据随机数生成相应的公钥也即是对随机数进行加密运算的过程,以将运算结果作为相应公钥。
需要说明的是,由于随机数所具有的随机性,节点设备中生成各个目标节点角色对应的随机数互不相同,因此节点设备中生成各个目标角色节点对应的公钥也互不相同。
此外,为保证对目标数据具有读取权限的访问终端基于自身所属节点角色对应的私钥能够对目标数据的密文成功解密,节点设备需要将各个目标节点角色对应的随机数发送至具备相应节点角色的访问终端,以使访问终端基于接收到的随机数生成自身所属的节点角色对应的私钥。由此,对目标数据具有读取权限的访问终端都将根据接收到的随机数生成自身所属的节点角色对应的私钥,该私钥能够对目标数据对应的密文进行成功解密。
步骤S230,根据各个目标节点角色对应的公钥聚合生成共享公钥。
如前所述,本实施例的共享公钥应当具有如此特性:基于共享公钥对目标数据加密得到的密文能够被各个目标节点角色对应的私钥解密,因此本实施例需根据各个目标节点角色对应的公钥聚合生成共享公钥。所谓的聚合,也即是根据各个目标节点角色对应的私钥,来构建共享公钥与各个目标节点角色对应的私钥之间的关联关系的过程。
在一些实施例中,各个目标节点角色对应的公钥之间的聚合可以采用阈值签名(Threshhold Sig)算法实现。具体的,通过阈值签名算法对各个目标节点角色对应的公钥计算阈值签名,同时配置该阈值签名可以被至少n(0<n<m,其中m表示目标节点角色的总量)个目标角色对应的私钥进行验证,由此配置好的阈值签名获取为共享公钥。在本实施例中,为实现目标节点角色对应的任意访问终端都能够成功解密区块链上存储的目标数据对应的密文,可以设置n的取值为1。
在另一些实施例中,可以将各个目标节点角色对应的公钥进行拼接,以得到拼接序列,然后对该拼接序列进行编码运算,得到编码序列,同时配置在对编码序列进行解码过程中,只需解码得到拼接序列中含有的任意一段公钥数据,即确定编码序列的解码通过,从而将配置好的编码序列获取为共享公钥。
由此可知,采用以上获取的共享公钥对目标数据进行加密处理所得到的目标数据对应的密文,即可以被任一目标节点角色对应的私钥进行解密,但无法被目标节点角色以外的其它节点角色对应的私钥解密,由此保证了目标数据在区块链上存储的安全性及可靠性。
在本申请的其它实施例中,为进一步提升目标数据在区块链上进行存储的安全性,还采用数字信封的方式实现目标数据在区块链上的存储。
具体来说,本实施例在一方面根据目标节点角色对应的加密密钥对目标数据进行加密处理,将加密得到的目标数据对应的密文存储在区块链上,在另一方面还对该加密密钥进行加密处理,得到加密密钥对应的密文(即得到数字信封),并将加密密钥对应的密文与目标数据对应的密文共同存储于区块链上。
如果访问终端想要从区块链中读取目标数据,则首先对加密密钥对应的密文进行解密处理,得到加密密钥,然后所得到的加密密钥对目标数据的密文进行解密处理,从而得到目标数据。可以看出,本实施例相当于对目标数据实现了两层加密,访问终端也需相应进行两层解密操作才能得到目标数据,由此进一步提升了目标数据的安全性。
需要说明的是,为实现访问终端根据对加密密钥对应的密文解密得到的加密密钥,能够对目标数据的密文进行成功的解密,本实施例采用的加密密钥可以是对称密钥,基于加密密钥对目标数据的加密处理,也即是采用对称加密算法对目标数据进行加密运算的过程。
在一些实施例中,可以根据各个目标节点角色对应的共享密钥对加密密钥进行加密,以得到加密密钥对应的密文。在此情况下,只有对目标数据具有读取权限的访问终端才能够根据自身所属节点角色对应的私钥,来对加密密钥对应的密文进行解密,以得到加密密钥。因此,基于本实施例提供的加密方式,能够保证只有对目标数据具有读取权限的访问终端才能够获取到区块链中存储的目标数据。
在另外的实施例中,还可以根据各个目标节点角色对应的角色共享密钥对加密密钥进行加密,以得到加密密钥对应的密文。如图4所示,各个目标节点角色对应的角色共享密钥可以根据步骤S310至步骤S330得到,详细介绍如下:
步骤S310,根据同一目标节点角色对应的各个访问终端中配置的用户秘密信息,聚合生成同一目标节点角色对应的角色共享密钥。
本实施例是将对目标数据具有读取权限的不同目标节点角色对应的访问终端作为一个子集,并为每个子集分配一个密钥,即得到不同的目标节点角色分别对应的角色共享密钥。
具体来说,每个子集中的各个访问终端配置有用户秘密信息,用户秘密信息可以是任意的信息,但是每个访问终端无法获知子集中其它访问终端的用户秘密信息,并且不同用户对应的用户秘密信息通常也各不相同。因此,本实施例所得到不同的目标节点角色分别对应的角色共享密钥也各不相同。
步骤S330,根据由各个目标节点角色对应的角色共享密钥构成的密钥序列,对加密密钥进行加密处理,得到加密密钥对应的密文。
若用Ki表示目标节点角色对应的角色共享密钥,由各个目标节点角色对应的角色共享密钥构成的密钥序列则可以表示为“Ki1,Ki2,……,Kim”,其中m表示目标节点角色的总量。根据此密钥序列对会话密钥进行加密,即可以得到形如“i1,i2,……,im,EKi1(K),EKi2(K),……,EKim(K)”的密文。
在本实施例中,只有对目标数据具有读取权限的访问终端才能够根据自身配置的用户秘密信息来对加密密钥对应的密文进行解密,以得到加密密钥。因此,基于本实施例提供的加密方式,也能够保证只有对目标数据具有读取权限的访问终端才能够获取到区块链中存储的目标数据。
图5是在图2所示的实施例的基础上而提出的另一种应用于区块链***的数据处理方法的流程图。如图5所示,在确定对目标数据具有读取权限的目标节点角色之前,该方法还包括步骤S410至步骤S430,详细介绍如下:
步骤S410,获取目标数据中含有的访问终端签名信息。
在本实施例中,访问终端签名信息是目标访问终端根据自身的私钥进行信息签名所得到的,并携带在目标数据中。当节点设备接收到目标访问终端向区块链中写入目标数据的请求后,则获取目标数据中携带的访问终端签名信息。
步骤S430,根据目标访问终端所属的节点角色对应的公钥,对访问终端签名信息进行验证。
节点设备获取到访问终端签名信息,根据目标访问终端所属的节点角色对应的公钥,对访问终端签名信息进行验证。若访问终端签名信息通过验证,则表示目标访问终端具有目标数据的写入权限,从而执行步骤S110。若访问终端签名信息未通过验证,则表示目标访问终端不具有目标数据的写入权限,节点设备则拒绝目标访问终端向区块链中写入目标数据的请求。
需要说明的是,节点设备中可以存储有不同节点角色对应的公钥,例如前述实施例中描述的,区块链***中具备不同节点角色的节点设备预先生会成一对与自身所属节点角色对应的私钥和公钥,所生成的公钥同步到各个节点设备中存储。因此,节点设备可以根据目标数据中的关键字段确定目标节点设备所具备的节点角色,然后从本地获取存储的该节点角色对应的公钥,进而根据确定的公钥对访问终端签名信息进行验证。
因此,本实施例的技术方案在接收到目标访问终端向区块链中写入目标数据的请求后,进一步对目标访问终端是否具有对于目标数据的写入权限进行验证,进一步保证了目标数据在区块链上的存储是可靠的。例如,如果公安部门请求修改区块链上存储的住建部门具有写入权限的数据,节点设备在接收到公安部门发起的请求后,判断公安部门并不具有该数据的写入权限,则拒绝公安部门的请求,从而实现了区块链上数据的不会被非法篡改,进而保证了区块链上存储的区块数据的可靠性。
在其它的实施例中,若目标访问终端想要读取区块链中存储的目标数据,则会发起读取区块链中存储的目标数据的请求。该目标访问终端可以是任意的访问终端,并且,该目标访问终端不一定是区块链上所存储的目标数据的写入请求方。
节点设备响应于目标访问终端读取区块链中存储的目标数据的请求,将区块链中存储的目标数据对应的密文发送至目标访问终端,以使目标访问终端根据自身所属的节点角色对应的私钥,对目标数据对应的密文进行解密,以得到目标数据。
需要说明的是,各个节点设备连接的访问终端拥有节点设备对应的节点角色的权限,目标数据对应的密文是根据加密密钥对目标数据进行加密处理所得到的,加密密钥则是目标数据具有读取权限的目标节点角色对应的加密密钥,详细的加密密钥的获取过程以及对目标数据进行加密的过程请参见前述实施例,本处不再对此进行赘述。
如果目标数据是以数字信封的形式存储在区块链上,也即区块链上不仅存储了目标数据对应的密文,还存储了加密密钥对应的密文,节点设备还需将区块链上存储的加密密钥对应的密文发送至目标访问终端,以使目标访问终端根据自身所属的节点角色对应的私钥,对加密密钥对应的密文进行解密,并根据解密得到的加密密钥对所述目标数据对应的密文进行解密。
其中,加密密钥对应的密文是根据对目标节点角色对应的共享密钥对加密密钥进行加密处理所得到的,共享密钥是根据各个目标节点角色对应的公钥聚合生成的,详细的过程请参见前述实施例中详细描述的内容,本处也不进行赘述。
此外,节点设备可以通过广播的形式,将区块链上存储的目标数据对应的密文以及加密密钥对应的密文发送至目标访问终端。目标访问终端接收到节点设备广播的信息后,根据自身所属的节点角色对应的私钥,对接收到的加密密钥对应的密文进行解密,并根据解密得到的加密密钥对目标数据对应的密文进行解密。
其中,目标访问终端自身所属的节点角色对应的私钥可以包括目标访问终端中配置的用户秘密信息;加密密钥对应的密文是根据由各个目标节点角色对应的角色共享密钥构成的密钥序列,对加密密钥进行加密处理所得到的;角色共享密钥是根据同一目标节点角色对应的各个访问终端中配置的用户秘密信息聚合生成的。详细的过程也请参见前述实施例中详细描述的内容,本处不进行赘述。
由上可知,本申请的技术方案不仅实现了多个节点角色对于区块数据进行维护的一致性,同时还确保区块数据是最小授权的,使得多个节点角色不仅可以通过区块链实现高效率的数据共享,同时能够保证区块链上数据的安全性和可靠性,能够满足任意对于数据共享过程中的共享效率以及数据安全性具有较高要求的场景,例如还可以应用在企业各部门或分支机构之间的数据共享、多人之间进行数据共享等场景中,本处不对此进行限制。
图6是本申请的一示例性实施例示出的一种应用于区块链***的数据处理装置的框图。该区块链***包括多个节点设备,各个节点设备连接有至少一个访问终端,该装置配置在区块链***中的节点设备上。如图6所示,该装置可以包括:
节点角色确定模块510,配置为响应于目标访问终端向区块链中写入目标数据的请求,确定对目标数据具有读取权限的目标节点角色,其中,各个节点设备连接的访问终端拥有节点设备对应的节点角色的权限;加密密钥获取模块530,配置为获取目标节点角色所对应的加密密钥;数据加密模块550,配置为根据加密密钥对目标数据进行加密处理,得到目标数据对应的密文,目标数据对应的密文能够被目标节点角色对应的访问终端解密;数据存储模块570,配置为将目标数据对应的密文存储至区块链上。
在另一示例性实施例中,加密密钥包括共享公钥;加密密钥获取模块530包括:
公钥获取单元,配置为获取各个目标节点角色对应的公钥;共享公钥生成单元,配置为根据各个目标节点角色对应的公钥聚合生成共享公钥,其中,基于共享公钥对目标数据加密得到的密文能够被各个目标节点角色对应的私钥解密。
在另一示例性实施例中,公钥获取单元包括:
随机数生成子单元,配置为在节点设备中分别生成各个目标节点角色对应的随机数;公钥生成子单元,配置为根据各个目标节点角色对应的随机数,生成各个目标节点角色对应的公钥;随机数发送子单元,配置为将各个目标节点角色对应的随机数发送至具备相应节点角色的访问终端,以使访问终端基于接收到的随机数生成自身所属的节点角色对应的私钥。
在另一示例性实施例中,加密密钥包括对称密钥;加密密钥获取模块530包括:
对称密钥生成单元,配置为在节点设备中生成对称密钥;对称密钥发送单元,配置为将对称密钥发送至具备目标节点角色的访问终端,以使目标节点角色对应的访问终端能够根据接收到的对称密钥对目标数据对应的密文解密。
在另一示例性实施例中,该装置还包括:
第一密钥加密模块,配置为根据各个目标节点角色对应的共享密钥对加密密钥进行加密,得到加密密钥对应的密文;第一密文存储模块,配置为将加密密钥对应的密文与目标数据对应的密文共同存储于区块链上。
在另一示例性实施例中,该装置还包括:
角色共享密钥获取模块,配置为根据同一目标节点角色对应的各个访问终端中配置的用户秘密信息,聚合生成同一目标节点角色对应的角色共享密钥;第二密钥加密模块,配置为根据由各个目标节点角色对应的角色共享密钥构成的密钥序列,对加密密钥进行加密处理,得到加密密钥对应的密文;第二密文存储模块,配置为将加密密钥对应的密文与目标数据对应的密文共同存储至区块链上。
在另一示例性实施例中,该装置还包括:
签名获取模块,配置为获取目标数据中含有的访问终端签名信息;
签名验证模块,配置为根据目标访问终端所属的节点角色对应的公钥,对访问终端签名信息进行验证,若访问终端签名信息通过验证,则执行确定对目标数据具有读取权限的目标节点角色的步骤。
在另一示例性实施例中,签名验证模块包括:
字段信息获取单元,配置为根据目标数据中含有的关键字段,确定目标访问终端所属的节点角色;签名信息验证单元,配置为从本地存储的公钥列表中查找目标访问终端所属的节点角色所对应的公钥,根据查找到的公钥对访问终端签名信息进行验证。
本申请的实施例还提供了另一种应用于区块链***的数据处理装置,该装置包括:
第一密文发送模块,配置为响应于目标访问终端读取区块链中存储的目标数据的请求,将区块链中存储的目标数据对应的密文发送至目标访问终端,以使目标访问终端根据自身所属的节点角色对应的私钥,对目标数据对应的密文进行解密,以得到目标数据;
其中,各个节点设备连接的访问终端拥有节点设备对应的节点角色的权限,目标数据对应的密文是根据加密密钥对目标数据进行加密处理所得到的,加密密钥是目标数据具有读取权限的目标节点角色对应的加密密钥。
在另一示例性实施例中,该装置还包括:
第二密文发送模块,配置为将区块链上存储的加密密钥对应的密文发送至目标访问终端,以使目标访问终端根据自身所属的节点角色对应的私钥,对加密密钥对应的密文进行解密,并根据解密得到的加密密钥对目标数据对应的密文进行解密;
其中,加密密钥对应的密文是根据对目标节点角色对应的共享密钥对加密密钥进行加密处理所得到的,共享密钥是根据各个目标节点角色对应的公钥聚合生成的。
在另一示例性实施例中,第一密文发送模块包括:
数据广播单元,配置为将区块链上存储的目标数据对应的密文以及加密密钥对应的密文进行广播,以使目标访问终端根据自身所属的节点角色对应的私钥,对接收到的加密密钥对应的密文进行解密,并根据解密得到的加密密钥对目标数据对应的密文进行解密。
其中,目标访问终端自身所属的节点角色对应的私钥包括目标访问终端中配置的用户秘密信息;加密密钥对应的密文是根据由各个目标节点角色对应的角色共享密钥构成的密钥序列,对加密密钥进行加密处理所得到的;角色共享密钥是根据同一目标节点角色对应的各个访问终端中配置的用户秘密信息聚合生成的。
需要说明的是,上述实施例所提供的装置与上述实施例所提供的方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
本申请的实施例还提供了一种电子设备,包括处理器和存储器,其中,存储器上存储有计算机可读指令,该计算机可读指令被处理器执行时实现如前所述的应用于区块链***的数据处理方法。
图7示出了一种适于用来实现本申请实施例的电子设备的计算机***的结构示意图。需要说明的是,图7示出的电子设备的计算机***1600仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,计算机***1600包括中央处理单元(Central Processing Unit,CPU)1601,其可以根据存储在只读存储器(Read-Only Memory,ROM)1602中的程序或者从储存部分1608加载到随机访问存储器(Random Access Memory,RAM)1603中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 1603中,还存储有***操作所需的各种程序和数据。CPU 1601、ROM 1602以及RAM 1603通过总线1604彼此相连。输入/输出(Input /Output,I/O)接口1605也连接至总线1604。
以下部件连接至I/O接口1605:包括键盘、鼠标等的输入部分1606;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1607;包括硬盘等的储存部分1608;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1609。通信部分1609经由诸如因特网的网络执行通信处理。驱动器1610也根据需要连接至I/O接口1605。可拆卸介质1611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1610上,以便于从其上读出的计算机程序根据需要被安装入储存部分1608。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1609从网络上被下载和安装,和/或从可拆卸介质1611被安装。在该计算机程序被中央处理单元(CPU)1601执行时,执行本申请的***中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前所述的应用于区块链***的数据处理方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
本申请的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的应用于区块链***的数据处理方法。
上述内容,仅为本申请的较佳示例性实施例,并非用于限制本申请的实施方案,本领域普通技术人员根据本申请的主要构思和精神,可以十分方便地进行相应的变通或修改,故本申请的保护范围应以权利要求书所要求的保护范围为准。

Claims (15)

1.一种应用于区块链***的数据处理方法,其特征在于,所述区块链***包括多个节点设备,各个节点设备连接有至少一个访问终端,所述方法由所述区块链***中的节点设备执行,所述方法包括:
响应于目标访问终端向区块链中写入目标数据的请求,确定对所述目标数据具有读取权限的目标节点角色,其中,各个节点设备连接的访问终端拥有节点设备对应的节点角色的权限;
获取所述目标节点角色所对应的加密密钥;
根据所述加密密钥对所述目标数据进行加密处理,得到所述目标数据对应的密文,所述目标数据对应的密文能够被所述目标节点角色对应的访问终端解密;
将所述目标数据对应的密文存储至所述区块链上。
2.根据权利要求1所述的方法,其特征在于,所述加密密钥包括共享公钥;获取所述目标节点角色所对应的加密密钥,包括:
获取各个目标节点角色对应的公钥;
根据所述各个目标节点角色对应的公钥聚合生成所述共享公钥,其中,基于所述共享公钥对所述目标数据加密得到的密文能够被所述各个目标节点角色对应的私钥解密。
3.根据权利要求2所述的方法,其特征在于,获取各个目标节点角色对应的公钥,包括:
在所述节点设备中分别生成各个目标节点角色对应的随机数;
根据所述各个目标节点角色对应的随机数,生成所述各个目标节点角色对应的公钥;
将所述各个目标节点角色对应的随机数发送至具备相应节点角色的访问终端,以使所述访问终端基于接收到的随机数生成自身所属的节点角色对应的私钥。
4.根据权利要求1所述的方法,其特征在于,所述加密密钥包括对称密钥;获取所述目标节点角色所对应的加密密钥,包括:
在所述节点设备中生成所述对称密钥;
将所述对称密钥发送至具备所述目标节点角色的访问终端,以使所述目标节点角色对应的访问终端能够根据接收到的对称密钥对所述目标数据对应的密文解密。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据各个目标节点角色对应的共享密钥对所述加密密钥进行加密,得到所述加密密钥对应的密文;
将所述加密密钥对应的密文与所述目标数据对应的密文共同存储于所述区块链上。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据同一目标节点角色对应的各个访问终端中配置的用户秘密信息,聚合生成所述同一目标节点角色对应的角色共享密钥;
根据由各个目标节点角色对应的角色共享密钥构成的密钥序列,对所述加密密钥进行加密处理,得到所述加密密钥对应的密文;
将所述加密密钥对应的密文与所述目标数据对应的密文共同存储至所述区块链上。
7.根据权利要求1所述的方法,其特征在于,在确定对所述目标数据具有读取权限的目标节点角色之前,所述方法还包括:
获取所述目标数据中含有的访问终端签名信息;
根据所述目标访问终端所属的节点角色对应的公钥,对所述访问终端签名信息进行验证;
若所述访问终端签名信息通过所述验证,则执行确定对所述目标数据具有读取权限的目标节点角色的步骤。
8.根据权利要求7所述的方法,其特征在于,根据所述目标访问终端所属的节点角色对应的公钥,对所述访问终端签名信息进行验证,包括:
根据所述目标数据中含有的关键字段,确定所述目标访问终端所属的节点角色;
从本地存储的公钥列表中查找所述目标访问终端所属的节点角色所对应的公钥,根据查找到的公钥对所述访问终端签名信息进行验证。
9.一种应用于区块链***的数据处理方法,其特征在于,所述区块链***包括多个节点设备,各个节点设备连接有至少一个访问终端,所述方法由所述区块链***中的节点设备执行,所述方法包括:
响应于目标访问终端读取区块链中存储的目标数据的请求,将所述区块链中存储的所述目标数据对应的密文发送至所述目标访问终端,以使所述目标访问终端根据自身所属的节点角色对应的私钥,对所述目标数据对应的密文进行解密,以得到所述目标数据;
其中,各个节点设备连接的访问终端拥有节点设备对应的节点角色的权限,所述目标数据对应的密文是根据加密密钥对所述目标数据进行加密处理所得到的,所述加密密钥是所述目标数据具有读取权限的目标节点角色对应的加密密钥。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
将所述区块链上存储的加密密钥对应的密文发送至所述目标访问终端,以使所述目标访问终端根据自身所属的节点角色对应的私钥,对所述加密密钥对应的密文进行解密,并根据解密得到的加密密钥对所述目标数据对应的密文进行解密;
其中,所述加密密钥对应的密文是根据对所述目标节点角色对应的共享密钥对所述加密密钥进行加密处理所得到的,所述共享密钥是根据各个目标节点角色对应的公钥聚合生成的。
11.根据权利要求9所述的方法,其特征在于,将所述区块链上存储的所述目标数据对应的密文发送至所述目标访问终端,包括:
将所述区块链上存储的所述目标数据对应的密文以及加密密钥对应的密文进行广播,以使所述目标访问终端根据自身所属的节点角色对应的私钥,对接收到的所述加密密钥对应的密文进行解密,并根据解密得到的加密密钥对所述目标数据对应的密文进行解密。
12.根据权利要求11所述的方法,其特征在于,所述目标访问终端自身所属的节点角色对应的私钥包括所述目标访问终端中配置的用户秘密信息;所述加密密钥对应的密文是根据由各个目标节点角色对应的角色共享密钥构成的密钥序列,对所述加密密钥进行加密处理所得到的;所述角色共享密钥是根据同一目标节点角色对应的各个访问终端中配置的用户秘密信息聚合生成的。
13.一种应用于区块链***的数据处理装置,其特征在于,所述区块链***包括多个节点设备,各个节点设备连接有至少一个访问终端,所述装置配置在所述区块链***中的节点设备上,所述装置包括:
节点角色确定模块,配置为响应于目标访问终端向区块链中写入目标数据的请求,确定对所述目标数据具有读取权限的目标节点角色,其中,各个节点设备连接的访问终端拥有节点设备对应的节点角色的权限;
加密密钥获取模块,配置为获取所述目标节点角色所对应的加密密钥;
数据加密模块,配置为根据所述加密密钥对所述目标数据进行加密处理,得到所述目标数据对应的密文,所述目标数据对应的密文能够被所述目标节点角色对应的访问终端解密;
数据存储模块,配置为将所述目标数据对应的密文存储至所述区块链上。
14.一种电子设备,其特征在于,包括:
存储器,存储有计算机可读指令;
处理器,读取存储器存储的计算机可读指令,以执行权利要求1-12中的任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1-12中的任一项所述的方法。
CN202011306241.0A 2020-11-20 2020-11-20 应用于区块链***的数据处理方法及装置 Active CN112131316B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202011306241.0A CN112131316B (zh) 2020-11-20 2020-11-20 应用于区块链***的数据处理方法及装置
PCT/CN2021/124282 WO2022105505A1 (zh) 2020-11-20 2021-10-18 应用于区块链***的数据处理方法及装置
EP21893654.0A EP4191430A4 (en) 2020-11-20 2021-10-18 DATA PROCESSING METHOD AND DEVICE FOR A BLOCKCHAIN SYSTEM
US17/955,422 US20230014599A1 (en) 2020-11-20 2022-09-28 Data processing method and apparatus for blockchain system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011306241.0A CN112131316B (zh) 2020-11-20 2020-11-20 应用于区块链***的数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN112131316A true CN112131316A (zh) 2020-12-25
CN112131316B CN112131316B (zh) 2021-02-12

Family

ID=73852436

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011306241.0A Active CN112131316B (zh) 2020-11-20 2020-11-20 应用于区块链***的数据处理方法及装置

Country Status (4)

Country Link
US (1) US20230014599A1 (zh)
EP (1) EP4191430A4 (zh)
CN (1) CN112131316B (zh)
WO (1) WO2022105505A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112328712A (zh) * 2021-01-04 2021-02-05 清华四川能源互联网研究院 基于图数据库的权限管理方法、装置和电子设备
CN113099417A (zh) * 2021-03-23 2021-07-09 千寻位置网络(浙江)有限公司 差分数据播发方法、装置、电子设备及计算机存储介质
CN113259124A (zh) * 2021-06-08 2021-08-13 清华大学 一种区块链数据写入、访问方法及装置
CN114547704A (zh) * 2022-04-28 2022-05-27 恒生电子股份有限公司 基于分布式账本的数据处理方法以及装置
WO2022105505A1 (zh) * 2020-11-20 2022-05-27 腾讯科技(深圳)有限公司 应用于区块链***的数据处理方法及装置
WO2022183371A1 (zh) * 2021-03-02 2022-09-09 深圳大学 一种物联网设备的固件更新方法、装置、***及存储介质
CN115297118A (zh) * 2022-10-09 2022-11-04 北京航空航天大学杭州创新研究院 一种基于区块链的数据共享方法及数据共享***

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115174188A (zh) * 2022-06-29 2022-10-11 蚂蚁区块链科技(上海)有限公司 一种消息传输方法、装置、电子设备和存储介质
CN115604030B (zh) * 2022-11-30 2023-05-02 北京邮电大学 数据共享方法、装置、电子设备和存储介质
CN116232769B (zh) * 2023-05-08 2023-07-18 北京金商祺科技有限公司 一种安全互动方法及平台

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108334595A (zh) * 2018-01-31 2018-07-27 泰康保险集团股份有限公司 数据共享方法及装置
US10200196B1 (en) * 2018-04-25 2019-02-05 Blockchain Asics Llc Cryptographic ASIC with autonomous onboard permanent storage
WO2020002415A1 (en) * 2018-06-27 2020-01-02 Newbanking Aps Securely managing authenticated user-data items
CN110717191A (zh) * 2019-10-24 2020-01-21 兰州理工大学 基于可搜索属性加密的区块链数据隐私保护访问控制方法
CN111245837A (zh) * 2020-01-13 2020-06-05 电子科技大学 一种基于区块链的车联网数据共享细粒度访问控制方法
CN111274599A (zh) * 2020-02-17 2020-06-12 深圳壹账通智能科技有限公司 一种基于区块链的数据共享方法及相关装置
US10749865B2 (en) * 2016-03-28 2020-08-18 Black Gold Coin, Inc. Systems and methods for providing block chain or distributed ledger-based entity identity and relationship verification
CN111625869A (zh) * 2020-04-23 2020-09-04 腾讯科技(深圳)有限公司 数据处理方法及数据处理装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7269944B2 (ja) * 2018-01-17 2023-05-09 ティーゼロ・アイピー,エルエルシー トランザクションアドレスを生成するためにn個のうちm個の鍵を使用するマルチ承認システム
US10958421B2 (en) * 2018-11-20 2021-03-23 International Business Machines Corporation User access control in blockchain
SG11202109273QA (en) * 2019-02-25 2021-09-29 Oocl Infotech Holdings Ltd Zero trust communication system for freight shipping organizations, and methods of use
CN111371790B (zh) * 2020-03-05 2022-06-17 中国工商银行股份有限公司 基于联盟链的数据加密发送方法、相关方法、装置和***
CN112131316B (zh) * 2020-11-20 2021-02-12 腾讯科技(深圳)有限公司 应用于区块链***的数据处理方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10749865B2 (en) * 2016-03-28 2020-08-18 Black Gold Coin, Inc. Systems and methods for providing block chain or distributed ledger-based entity identity and relationship verification
CN108334595A (zh) * 2018-01-31 2018-07-27 泰康保险集团股份有限公司 数据共享方法及装置
US10200196B1 (en) * 2018-04-25 2019-02-05 Blockchain Asics Llc Cryptographic ASIC with autonomous onboard permanent storage
WO2020002415A1 (en) * 2018-06-27 2020-01-02 Newbanking Aps Securely managing authenticated user-data items
CN110717191A (zh) * 2019-10-24 2020-01-21 兰州理工大学 基于可搜索属性加密的区块链数据隐私保护访问控制方法
CN111245837A (zh) * 2020-01-13 2020-06-05 电子科技大学 一种基于区块链的车联网数据共享细粒度访问控制方法
CN111274599A (zh) * 2020-02-17 2020-06-12 深圳壹账通智能科技有限公司 一种基于区块链的数据共享方法及相关装置
CN111625869A (zh) * 2020-04-23 2020-09-04 腾讯科技(深圳)有限公司 数据处理方法及数据处理装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022105505A1 (zh) * 2020-11-20 2022-05-27 腾讯科技(深圳)有限公司 应用于区块链***的数据处理方法及装置
CN112328712A (zh) * 2021-01-04 2021-02-05 清华四川能源互联网研究院 基于图数据库的权限管理方法、装置和电子设备
CN112328712B (zh) * 2021-01-04 2021-05-18 清华四川能源互联网研究院 基于图数据库的权限管理方法、装置和电子设备
WO2022183371A1 (zh) * 2021-03-02 2022-09-09 深圳大学 一种物联网设备的固件更新方法、装置、***及存储介质
CN113099417A (zh) * 2021-03-23 2021-07-09 千寻位置网络(浙江)有限公司 差分数据播发方法、装置、电子设备及计算机存储介质
CN113099417B (zh) * 2021-03-23 2023-06-30 千寻位置网络(浙江)有限公司 差分数据播发方法、装置、电子设备及计算机存储介质
CN113259124A (zh) * 2021-06-08 2021-08-13 清华大学 一种区块链数据写入、访问方法及装置
CN114547704A (zh) * 2022-04-28 2022-05-27 恒生电子股份有限公司 基于分布式账本的数据处理方法以及装置
CN114547704B (zh) * 2022-04-28 2022-08-02 恒生电子股份有限公司 基于分布式账本的数据处理方法以及装置
CN115297118A (zh) * 2022-10-09 2022-11-04 北京航空航天大学杭州创新研究院 一种基于区块链的数据共享方法及数据共享***

Also Published As

Publication number Publication date
WO2022105505A1 (zh) 2022-05-27
EP4191430A1 (en) 2023-06-07
CN112131316B (zh) 2021-02-12
US20230014599A1 (en) 2023-01-19
EP4191430A4 (en) 2024-01-03

Similar Documents

Publication Publication Date Title
CN112131316B (zh) 应用于区块链***的数据处理方法及装置
EP4120114A1 (en) Data processing method and apparatus, smart device and storage medium
CN110417750B (zh) 基于区块链技术的文件读取和存储的方法、终端设备和存储介质
JP6547079B1 (ja) 登録・認可方法、装置及びシステム
US20190394175A1 (en) Systems and methods for permissioned blockchain infrastructure with fine-grained access control and confidentiality-preserving publish/subscribe messaging
US11831753B2 (en) Secure distributed key management system
CN111131336B (zh) 多方授权场景下的资源访问方法、装置、设备及存储介质
CN110611657A (zh) 一种基于区块链的文件流处理的方法、装置及***
CN110445840B (zh) 一种基于区块链技术的文件存储和读取的方法
US8220040B2 (en) Verifying that group membership requirements are met by users
CN108923925B (zh) 应用于区块链的数据存储方法和装置
CN112118245B (zh) 密钥管理方法、***和设备
CN110708162B (zh) 资源的获取方法、装置、计算机可读介质及电子设备
CN110149323B (zh) 一种具有千万级tps合约处理能力的处理装置
CN112422287B (zh) 基于密码学的多层级角色权限控制方法和装置
KR20220065049A (ko) 블록체인 상의 보증된 데이터를 저장하기 위한 컴퓨터 구현 방법 및 시스템
Chidambaram et al. Enhancing the security of customer data in cloud environments using a novel digital fingerprinting technique
CN111291420B (zh) 一种基于区块链的分布式离链数据存储方法
CN114844688A (zh) 数据传输方法、装置、设备及计算机存储介质
CN110012024A (zh) 一种数据共享方法、***、设备及计算机可读存储介质
CN114514550A (zh) 将请求分区成区块链的交易
CN110602075A (zh) 一种加密访问控制的文件流处理的方法、装置及***
CN112865968B (zh) 数据密文托管方法、***、计算机设备及存储介质
CN116561820B (zh) 可信数据处理方法及相关装置
US20230421540A1 (en) Systems and methods for generating secure, encrypted communications using multi-party computations in order to perform blockchain operations in decentralized applications

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
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40036288

Country of ref document: HK