CN108768633B - 实现区块链中信息共享的方法及装置 - Google Patents
实现区块链中信息共享的方法及装置 Download PDFInfo
- Publication number
- CN108768633B CN108768633B CN201810536479.9A CN201810536479A CN108768633B CN 108768633 B CN108768633 B CN 108768633B CN 201810536479 A CN201810536479 A CN 201810536479A CN 108768633 B CN108768633 B CN 108768633B
- Authority
- CN
- China
- Prior art keywords
- information
- key
- encrypted
- authorized party
- section
- 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.)
- Active
Links
Images
Classifications
-
- 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
- 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/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种实现区块链中信息共享的方法及装置,所述实现区块链中信息共享的方法包括:授权方根据密钥对待共享信息进行加密,生成加密信息;将加密信息发送至一区块链节点进行存储,通过存储实现加密信息在区块链网络中各区块链节点的同步;根据密钥获取用于解密加密信息的第一段密钥和第二段密钥;向请求共享区块链节点中加密信息的被授权方分发第一段密钥,并将第二段密钥发送至执行加密信息解密服务的服务提供方;通过分发的第一段密钥控制被授权方请求服务提供方对第一段密钥和第二段密钥进行密钥还原处理,并根据还原密钥对被授权方请求共享的加密信息进行解密。采用本发明有效地提高了区块链中信息共享的安全性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种实现区块链中信息共享的方法及装置。
背景技术
区块链是一种去中心化的信息共享技术,通过将授权方的加密信息存储在区块链网络的各区块链节点中,进而实现了以去中心化的方式由区块链网络中所有区块链节点集体维护授权方的加密信息。
对于被授权方而言,将向执行加密信息解密服务的服务提供方请求对区块链节点中的加密信息进行解密,以此共享区块链节点中的加密信息。
在上述信息共享过程中,加密信息是授权方根据密钥对待共享信息进行加密生成的,相应地,服务提供方需要依赖于相关密钥才能够进行加密信息的解密,换而言之,区块链中信息共享的安全性取决于密钥的安全性,为此,如何保证密钥的安全性以避免信息共享过程中出现安全漏洞尚有待解决。
发明内容
为了解决上述技术问题,本发明的一个目的在于提供一种实现区块链中信息共享的方法及装置。
其中,本发明所采用的技术方案为:
一种实现区块链中信息共享的方法,包括:授权方根据密钥对待共享信息进行加密,生成加密信息;将所述加密信息发送至一区块链节点进行存储,通过所述存储实现所述加密信息在区块链网络中各区块链节点的同步;根据所述密钥获取用于解密所述加密信息的第一段密钥和第二段密钥;向请求共享区块链节点中所述加密信息的被授权方分发所述第一段密钥,并将所述第二段密钥发送至执行加密信息解密服务的服务提供方;通过分发的所述第一段密钥控制所述被授权方请求所述服务提供方对所述第一段密钥和所述第二段密钥进行密钥还原处理,并根据还原密钥对所述被授权方请求共享的所述加密信息进行解密。
一种实现区块链中信息共享的装置,包括:信息加密模块,用于授权方根据密钥对待共享信息进行加密,生成加密信息;信息存储模块,用于将所述加密信息发送至一区块链节点进行存储,通过所述存储实现所述加密信息在区块链网络中各区块链节点的同步;密钥获取模块,用于根据所述密钥获取用于解密所述加密信息的第一段密钥和第二段密钥;密钥授权模块,用于向请求共享区块链节点中所述加密信息的被授权方分发所述第一段密钥,并将所述第二段密钥发送至执行加密信息解密服务的服务提供方;共享处理模块,用于通过分发的所述第一段密钥控制所述被授权方请求所述服务提供方对所述第一段密钥和所述第二段密钥进行密钥还原处理,并根据还原密钥对所述被授权方请求共享的所述加密信息进行解密。
一种实现区块链中信息共享的装置,包括处理器及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如上所述的实现区块链中信息共享的方法。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的实现区块链中信息共享的方法。
在上述技术方案中,授权方根据密钥对待共享信息进行加密生成加密信息,并将加密信息发送至一区块链节点进行存储,通过存储实现加密信息在区块链网络中各区块链节点的同步,进而根据密钥获取用于解密加密信息的第一段密钥和第二段密钥,以分别分发给请求共享区块链节点中加密信息的被授权方和执行加密信息解密服务的服务提供方,使得服务提供方对第一段密钥和第二段密钥进行密钥还原处理得到还原密钥,并根据还原密钥对被授权方请求共享的加密信息进行解密,也就是说,无论是被授权方还是服务提供方,仅存储了部分密钥,只要授权方未授权,则无法还原出完整密钥,以此充分地保证了密钥的安全性,进而有效地提高了区块链中信息共享的安全性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。
图1是根据本发明所涉及的实施环境的示意图。
图2是根据一示例性实施例示出的一种终端的硬件结构框图。
图3是根据一示例性实施例示出的一种实现区块链中信息共享的方法的流程图。
图4是图3对应实施例中步骤310在一个实施例的流程图。
图5是图4对应实施例中步骤313在一个实施例的流程图。
图6是图3对应实施例中步骤350在一个实施例的流程图。
图7是图3对应实施例中步骤370在一个实施例的流程图。
图8是图3对应实施例中步骤370在另一个实施例的流程图。
图9是根据一示例性实施例示出的一种实现区块链中信息共享的装置的框图。
图10是图9对应实施例中信息加密模块在一个实施例的框图。
图11是图10对应实施例中信息加密单元在一个实施例的框图。
图12是图9对应实施例中密钥获取模块在一个实施例的框图。
图13是图9对应实施例中密钥授权模块在一个实施例的框图。
图14是图9对应实施例中密钥授权模块在另一个实施例的框图。
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述,这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1为一种实现区块链中信息共享的方法所涉及的实施环境的示意图。该实施环境包括授权方所在终端110、被授权方所在终端130、服务提供方所在服务端150、以及提供信息共享的区块链网络中若干区块链节点170。
其中,授权方所在终端110可以是台式电脑、笔记本电脑、平板电脑、智能手机或者其他任何能够向区块链节点170提供加密信息的电子设备,在此不进行限定。
对于区块链网络中各区块链节点170而言,其中任意一个区块链节点170获取到授权方所在终端110提供的加密信息,即可通过对此加密信息的存储,使得此加密信息由此区块链节点170同步至其余区块链节点170中,进而为被授权方提供去中心化的信息共享。其中,区块链节点170可以是运行区块链应用程序的服务器,相应地,区块链网络则视为应用区块链的服务器集群。
被授权方所在终端130可以是台式电脑、笔记本电脑、平板电脑、智能手机或者其他任何能够请求共享区块链节点170中加密信息的电子设备,在此不进行限定。
服务提供方所在服务端150预先建立与被授权方所在终端130之间的无线或者有线网络连接,并通过网络连接接收被授权方所在终端130发起请求,进而响应此请求为被授权方执行加密信息解密服务,以此实现被授权方共享区块链节点170中的加密信息。
应当说明的是,根据实际的营运需求,服务提供方所在服务端150可以是一台服务器,也可以是由多台服务器构成的服务器集群。
图2是根据一示例性实施例示出的一种终端的硬件结构框图。需要说明的是,该终端只是一个适配于本发明的示例,不能认为是提供了对本发明的使用范围的任何限制。该终端也不能解释为需要依赖于或者必须具有图2中示出的示例性的终端200中的一个或者多个组件。
该终端的硬件结构可因配置或者性能的不同而产生较大的差异,如图2所示,终端200包括:电源210、接口230、至少一存储器250、以及至少一中央处理器(CPU,CentralProcessing Units)270。
其中,电源210用于为终端200上的各硬件设备提供工作电压。
接口230包括至少一有线或无线网络接口231、至少一串并转换接口233、至少一输入输出接口235以及至少一USB接口237等,用于与外部设备通信。
存储器250作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统251、应用程序253及数据255等,存储方式可以是短暂存储或者永久存储。其中,操作系统251用于管理与控制终端200上的各硬件设备以及应用程序253,以实现中央处理器270对海量数据255的计算与处理,其可以是WindowsServerTM、Mac OS XTM、UnixTM、LinuxTM、FreeBSDTM等。应用程序253是基于操作系统251之上完成至少一项特定工作的计算机程序,其可以包括至少一模块(图2中未示出),每个模块都可以分别包含有对终端200的一系列计算机可读指令。数据255可以是存储于磁盘中的照片、图片等。
中央处理器270可以包括一个或多个以上的处理器,并设置为通过总线与存储器250通信,用于运算与处理存储器250中的海量数据255。
如上面所详细描述的,适用本发明的终端200将通过中央处理器270读取存储器250中存储的一系列计算机可读指令的形式来完成实现区块链中信息共享的方法。
此外,通过硬件电路或者硬件电路结合软件也能同样实现本发明,因此,实现本发明并不限于任何特定硬件电路、软件以及两者的组合。
请参阅图3,在一示例性实施例中,一种实现区块链中信息共享的方法适用于图1所示实施环境的授权方所在终端,该授权方所在终端的硬件结构可以如图2所示。
该种实现区块链中信息共享的方法可以由授权方所在终端执行,可以包括以下步骤:
步骤310,授权方根据密钥对待共享信息进行加密,生成加密信息。
首先说明的是,待共享信息可以是音频信息、文本信息、货币信息、商品交易信息、设备控制信息等等,本实施例并不对待共享信息的类型作具体限定。相应地,由于待共享信息的不同类型可对应不同的应用场景,例如,音频信息可对应在线音乐场景,文本信息可对应学术交流场景,货币信息可对应银行支付场景,商品交易信息可对应商品贸易场景,设备控制信息可对应物联网场景,因此,本实施例所提供的信息共享可应用于区块链相关的多种应用场景,包括但不限于上述应用场景,还可以是供应链金融场景、共享单车场景、股票交易场景、房地产交易场景等等。
其次,为了保证区块链中信息共享的安全性,授权方在进行信息共享之前,将对待共享信息进行加密,以生成加密信息,进而向区块链网络中任意一个区块链节点提供此加密信息。
其中,对待共享信息所进行的加密是基于加密算法实现的,即根据加密算法生成用于加密待共享信息的密钥,通过此密钥对待共享信息进行加密。
进一步地,在一实施例中,加密算法可以是对称加密算法,例如,对称加密算法包括但不限于:DES算法,3DES算法,TDEA算法,Blowfish算法,RC5算法,IDEA算法等等,以根据对称加密算法生成对称密钥。也就是说,用于加密待共享信息的密钥和用于解密加密信息的解密密钥是一致的。
在另一实施例中,加密算法可以是非对称加密算法,例如,非对称加密算法包括但不限于:RSA算法、Elgamal算法、背包算法、Rabin算法、D-H算法、ECC(椭圆曲线加密)算法等等,以根据非对称加密算法生成非对称密钥。也就是说,用于加密待共享信息的密钥和用于解密加密信息的解密密钥有所不同。
步骤330,将加密信息发送至一区块链节点进行存储,通过存储实现加密信息在区块链网络中各区块链节点的同步。
在完成待共享信息的加密之后,授权方便可请求对由此生成的加密信息进行信息共享。
具体地,在区块链网络中,授权方将加密信息发送至任意一个区块链节点,例如,任意一个区块链节点可以是与授权方所在终端物理距离最近的区块链节点,或者,可以是连接数最少的区块链节点,又或者,可以是CPU占用率最低的区块链节点,以请求此区块链节点对加密信息进行存储。
对于区块链网络中区别于此区块链节点的其余区块链节点来说,则通过与此区块链节点之间的交互,使得存储于此区块链节点中的加密信息由此区块链节点同步至其余区块链节点,进而实现此加密信息在区块链网络中的信息共享。
其中,区块链网络中的各区块链节点之间预先建立了无线或者有线网络连接,以通过所建立的网络连接实现各区块链节点之间的交互。
步骤350,根据密钥获取用于解密加密信息的第一段密钥和第二段密钥。
在区块链网络中实现了加密信息的信息共享之后,授权方需要提供用于解密此加密信息的解密密钥,以便于服务提供方根据此解密密钥对加密信息进行解密,进而实现被授权方对此加密信息的共享。
如前所述,如果加密算法是对称加密算法,则用于加密待共享信息的密钥和用于解密加密信息的解密密钥是一致的,即密钥属于对称密钥;如果加密算法是非对称加密算法,则用于加密待共享信息的密钥和用于解密加密信息的解密密钥有所不同,即密钥属于非对称密钥。
换而言之,如果密钥属于对称密钥,则此密钥即为解密密钥,如果密钥属于非对称密钥,则此密钥与解密密钥将成对存在。由此,根据用于加密待共享信息的密钥即可得到用于解密加密信息的解密密钥。
进一步地,根据用于解密加密信息的解密密钥获取第一段密钥和第二段密钥,以通过破坏密钥完整性,使得后续加密信息的解密过程中首先需要进行密钥还原处理,从而在区块链的信息共享过程中保证密钥的安全性。
更进一步地,第一段密钥和第二段密钥的获取,在一实施例中,可以是直接对解密密钥进行二段式拆分处理,例如,将128比特位数的解密密钥对半分成64比特位数的第一段密钥和64比特位数的第二段密钥,在另一实施例中,还可以采用分段算法对解密密钥进行分段处理,例如,以加密算法作为分段算法,从128比特位数的解密密钥随机提取若干比特位数进行加密得到第一段密钥,将剩余比特位数进行加密得到第二段密钥。
步骤370,向请求共享区块链节点中加密信息的被授权方分发第一段密钥,并将第二段密钥发送至执行加密信息解密服务的服务提供方。
在获取到用于解密加密信息的第一段密钥和第二段密钥之后,授权方便可根据第一段密钥和第二段密钥进行授权。
具体而言,如果被授权方接收到授权方分发的第一段密钥,则视为授权方授权此被授权方共享区块链节点中的加密信息。
如果服务提供方接收到授权方发送的第二段密钥,则视为授权方授权此服务提供方为被授权方执行加密信息解密服务。
当然,在其他实施例中,对于授权方来说,也可以将第二段密钥分发至被授权方,而将第一段密钥发送至服务提供方。
此外,被授权方请求共享加密信息的区块链节点可以是区块链网络中的任意一个区块链节点,例如,此任意一个区块链节点可以是与被授权方所在终端物理距离最近的区块链节点,或者,可以是连接数最少的区块链节点,又或者,可以是CPU占用率最低的区块链节点,本实施例并未对此加以限定。
步骤390,通过分发的第一段密钥控制被授权方请求服务提供方对第一段密钥和第二段密钥进行密钥还原处理,并根据还原密钥对被授权方请求共享的加密信息进行解密。
对于被授权方而言,在接收到授权方分发的第一段密钥,即获知授权方已授权其共享区块链节点中的加密信息,那么,被授权方便可由区块链节点中获取请求共享的此加密信息,进而将第一段密钥和加密信息一并发送至授权方授权执行加密信息解密服务的服务提供方。
由于授权方授权服务提供方为被授权方执行加密信息解密服务时,已将第二段密钥存储至服务提供方,同时告知服务提供方如何执行密钥还原处理,例如,第一段密钥和第二段密钥是由解密密钥通过二段式拆分处理得到的,相应地,则密钥还原处理为将第一段密钥和第二段密钥拼接为解密密钥。
因此,就服务提供方来说,在接收到被授权方发送的第一段密钥和加密信息之后,即可对第一段密钥和自身中存储的第二段密钥进行密钥还原处理,以得到用于解密加密信息的还原密钥(即解密密钥),并将完成解密的信息返回至被授权方所在终端,最终实现区块链中信息共享。
通过如上所述的过程,无论是被授权方还是服务提供方,仅存储了部分密钥,即第一段密钥或者第二段密钥,那么,只要授权方未授权,则无法还原出完整密钥,以此充分地保证了区块链的信息共享过程中密钥的安全性,进而有效地提高了区块链中信息共享的安全性。
例如,假设服务提供方未得到授权方授权,则无法获知如何执行密钥还原处理,即使同时得到了第一段密钥和第二段密钥,仍无法凭此第一段密钥和第二段密钥还原出完整密钥,使得区块链节点中的加密信息不会被未得到授权的服务提供方解密。
又或者,假设被授权方未得到授权方授权,则被授权方无法获得第一段密钥,进而无法向服务提供方提供第一段密钥以还原出完整密钥,使得服务提供方无法为此被授权方执行加密信息解密服务,由此,未得到授权的被授权方是无法共享区块链节点中的加密信息。
请参阅图4,在一示例性实施例中,步骤310可以包括以下步骤:
步骤311,对待共享信息进行拆分,得到若干拆分信息。
应当理解,在区块链的信息共享过程中,由于涉及服务提供方对加密信息的解密,使得加密信息存在泄漏第三方的风险,也就是说,服务提供方可能未经授权方的授权而私自存储完成解密的加密信息。
为此,本实施例中,授权方将进行待共享信息的拆分处理,以便于后续区块链中的信息共享均是基于由此得到的拆分信息。
例如,拆分处理可以是将待共享信息四等分,在此不进行限定,具体如何拆分只要授权方与被授权方共同协商,或者由授权方告知被授权方即可,以便于二者遵循相同原则实施信息拆分和组装。
步骤313,进行若干拆分信息的密钥加密处理,得到若干加密子信息。
其中,加密子信息与拆分信息一一对应。
密钥加密处理,实质是根据若干密钥一一对应地对若干拆分信息进行加密,以此得到若干加密子信息。此若干密钥可以根据相同的加密算法生成,即若干密钥彼此相同,还可以根据不同加密算法生成,即若干密钥各不相同。
步骤315,以若干加密子信息作为加密信息,使得服务提供方针对加密信息中的若干加密子信息分别进行解密。
在得到若干加密子信息之后,授权方便将此若干加密子信息作为加密信息共享至区块链网络中,即将若干加密子信息分别发送至区块链节点进行存储,进而使得若干加密子信息在区块链网络的各区块链节点中实现同步。
那么,就被授权方来说,在授权方授权共享区块链节点中的加密信息时,不仅会获得第一段密钥,还同时被告知如何对完成解密的若干加密子信息进行组装,以便于还原出正确信息。
而对于服务提供方而言,授权方仅授权为被授权方执行加密信息解密服务,即对被授权方发送的若干加密子信息分别进行解密,而未告知如何组装完成解密的若干加密子信息,这就使得服务提供方即使得到了若干加密子信息,也无法还原出正确信息。
值得一提的是,针对若干加密子信息由被授权方发送至服务提供方,发送可以连续进行,还可以按照指定时间间隔进行,例如,指定时间间隔为10s,以此进一步增加服务提供方还原出正确信息的复杂度,从而有利于提高区块链中信息共享的安全性。
在上述实施例的作用下,只要授权方未授权,服务提供方不可能得到区块链节点中的加密信息,以此避免加密信息泄露第三方的风险,进一步地保证了区块链中信息共享的安全性。
请参阅图5,在一示例性实施例中,步骤313可以包括以下步骤:
步骤3131,遍历若干拆分信息。
步骤3133,由候选密钥集合中选取候选密钥作为密钥。
其中,候选密钥集合中的候选密钥是根据不同加密算法生成的。应当理解,不同加密算法所生成的候选密钥不同,相应地,由此随机选取得到的密钥也有所区别,例如,密钥可以是对称密钥,也可以是非对称密钥。
步骤3135,根据密钥对遍历到的拆分信息进行加密,得到加密子信息。
通过上述过程,针对若干拆分信息所进行的加密,实质是根据不同密钥实现的,从而进一步地保证了区块链中信息共享的安全性。
请参阅图6,在一示例性实施例中,步骤350可以包括以下步骤:
步骤351,获取与密钥成对存在的解密密钥。
本实施例中,解密密钥与密钥是根据非对称加密算法生成的密钥对。例如,非对称加密算法为ECC(椭圆曲线加密)算法。
可以理解,密钥对通常包括一加密密钥和一解密密钥,由此,根据用于加密待共享信息的密钥(视为加密密钥),即可由密钥对中得到与此密钥成对存在的解密密钥,此解密密钥用于解密加密信息。
步骤353,根据授权方中配置的密钥拆分规则对解密密钥进行二段式拆分处理,得到用于解密加密信息的第一段密钥和第二段密钥。
密钥拆分规则,用于指示授权方如何对解密密钥进行二段式拆分处理,在此不进行限定,具体如何拆分只要授权方与服务提供方共同协商,或者由授权方告知服务提供方即可,以便于二者遵循相同原则实施密钥分段和还原。
例如,密钥拆分规则是从若干比特位数的解密密钥中选取偶数比特位的数值拼接得到第一段密钥、以及选取奇数比特位的数值拼接得到第二段密钥。
通过上述过程,实现非对称加密算法和二段式拆分处理的相互配合,在保证区块链中信息共享的安全性前提下,有效地降低了密钥分段的复杂度。
请参阅图7,在一示例性实施例中,步骤370可以包括以下步骤:
步骤371,接收被授权方为共享区块链节点中加密信息所发起的共享请求。
对于授权方来说,在接收到共享请求之后,即可获知请求共享区块链节点中加密信息的是哪个被授权方。也就是说,共享请求,指示了请求共享区块链节点中加密信息的被授权方。
步骤373,响应共享请求,为被授权方生成携带第一段密钥的令牌。
步骤375,向被授权方授予令牌,通过授予的令牌控制被授权方请求服务提供方执行被授权方身份验证。
应当理解,如果被授权方未得到第一段密钥,则无法共享区块链节点中的加密信息,然而,信息共享过程中也可能因遭受非法入侵而出现安全漏洞,造成未得到授权的被授权方有可能得到第一段密钥,即被授权方非法授权。
因此,本实施例中,通过令牌对被授权方进行身份验证,以此来保证被授权方是得到授权方授权而能够共享区块链节点中加密信息的。
下面对被授权方的身份验证过程加以描述。
首先,授权方将为被授权方在服务提供方中进行的身份验证生成一密钥对,此密钥对包括一私钥和一公钥,其中,公钥将发送至服务提供方。
需要说明的是,此密钥对与用于信息加密和解密的密钥对有所区别,此密钥对仅用于被授权方的身份验证。
然后,授权方根据私钥对第一段密钥进行加密,生成携带第一段密钥的令牌,并将此令牌发送至被授权方。
由此,被授权方便可将此令牌以及其所请求共享的加密信息发送至服务提供方,以此请求服务提供方对其进行身份验证,以便于服务提供方在被授权方通过身份验证时,为此被授权方执行加密信息解密服务。
那么,对于服务提供方而言,将根据授权方发送的公钥对此令牌进行解密,如果解密成功,则表示被授权方是由授权方授权共享区块链节点中加密信息的,即跳转执行步骤377。
反之,如果解密失败,则表示解密令牌的公钥与加密生成令牌的私钥并不属于同一密钥对,以此证明被授权方未得到授权方的授权。
步骤377,如果被授权方通过服务提供方的身份验证,则授权通过身份验证的被授权方共享区块链节点中的加密信息。
在服务提供方对令牌解密成功之后,即可得到令牌携带的第一段密钥,进而通过此第一段密钥及其自身存储的第二密钥还原得到的还原密钥,对被授权方发送的加密信息进行解密,从而返回完成解密的加密信息至被授权方,由此,被授权方即共享了区块链节点中的加密信息。
通过上述实施例的配合,实现了被授权方的身份验证,避免因信息共享过程中出现的安全漏洞而导致被授权方非法授权,从而进一步地保证了区块链中信息共享的安全性。
请参阅图8,在一示例性实施例中,步骤370还可以包括以下步骤:
步骤372,在令牌失效时,接收被授权方发起的令牌重新授予请求。
步骤374,根据令牌重新授予请求为被授权方进行令牌重新生成,并将重新生成的令牌发送至被授权方。
可以理解,被授权方可能仅在某段时间内得到授权方的授权,而能够共享区块链节点中的加密信息,但也可能在其余时间内不被允许共享区块链节点中的加密信息。换而言之,授权方对被授权方的授权具有时效性。
因此,本实施例中,用于被授权方身份验证的令牌具有时效性,即令牌在指定时间周期内有效,进而使得服务提供方以此执行的被授权方身份验证也相应地具有时效性。
当令牌有效时,服务提供方可以根据公钥成功解密此令牌,此时,被授权方通过身份验证,得以共享区块链节点中的加密信息。
一旦令牌失效,则被授权方无法通过身份验证,需要重新被授予在指定时间周期内有效的令牌,以使服务提供方能够成功解密被授权方重新被授予的令牌。
在上述实施例的作用下,通过设置令牌的时效性保证了被授权方身份验证的时效性,降低区块链节点中加密信息被非法共享的概率,以此进一步地提高了区块链中信息共享的安全性。
下述为本发明装置实施例,可以用于执行本发明所涉及的实现区块链中信息共享的方法。对于本发明装置实施例中未披露的细节,请参照本发明所涉及的实现区块链中信息共享的方法的实施例。
请参阅图9,在一示例性实施例中,一种实现区块链中信息共享的装置900包括但不限于:信息加密模块910、信息存储模块930、密钥获取模块950、密钥授权模块970和共享处理模块990。
其中,信息加密模块910用于授权方根据密钥对待共享信息进行加密,生成加密信息。
信息存储模块930用于将加密信息发送至一区块链节点进行存储,通过存储实现加密信息在区块链网络中各区块链节点的同步。
密钥获取模块950用于根据密钥获取用于解密加密信息的第一段密钥和第二段密钥。
密钥授权模块970用于向请求共享区块链节点中加密信息的被授权方分发第一段密钥,并将第二段密钥发送至执行加密信息解密服务的服务提供方。
共享处理模块990用于通过分发的第一段密钥控制被授权方请求服务提供方对第一段密钥和第二段密钥进行密钥还原处理,并根据还原密钥对被授权方请求共享的加密信息进行解密。
请参阅图10,在一示例性实施例中,信息加密模块910包括但不限于:信息拆分单元911、信息加密单元913和信息定义单元915。
其中,信息拆分单元911用于对待共享信息进行拆分,得到若干拆分信息。
信息加密单元913于进行若干拆分信息的密钥加密处理,得到若干加密子信息,加密子信息与拆分信息一一对应。
信息定义单元915用于以若干加密子信息作为加密信息,使得服务提供方针对加密信息中的若干加密子信息分别进行解密。
请参阅图11,在一示例性实施例中,信息加密单元913包括但不限于:信息遍历子单元9131、密钥选取子单元9133和信息加密子单元9135。
其中,信息遍历子单元9131用于遍历若干拆分信息。
密钥选取子单元9133用于由候选密钥集合中选取候选密钥作为密钥。
信息加密子单元9135用于根据密钥对遍历到的拆分信息进行加密,得到加密子信息。
请参阅图12,在一示例性实施例中,密钥获取模块950包括但不限于:解密密钥获取单元951和解密密钥拆分单元953。
其中,解密密钥获取单元951用于获取与密钥成对存在的解密密钥,解密密钥与密钥是根据非对称加密算法生成的密钥对。
解密密钥拆分单元953用于根据授权方中配置的密钥拆分规则对解密密钥进行二段式拆分处理,得到用于解密加密信息的第一段密钥和第二段密钥。
请参阅图13,在一示例性实施例中,密钥授权模块970包括但不限于:请求接收单元971、令牌生成单元973、令牌授予单元975和授权共享单元977。
其中,请求接收单元971用于接收被授权方为共享区块链节点中加密信息所发起的共享请求。
令牌生成单元973用于响应共享请求,为被授权方生成携带第一段密钥的令牌。
令牌授予单元975用于向被授权方授予令牌,通过授予的令牌控制被授权方请求服务提供方执行被授权方身份验证。
授权共享单元977用于如果被授权方通过服务提供方的身份验证,则授权通过身份验证的被授权方共享区块链节点中的加密信息。
请参阅图14,在一示例性实施例中,密钥授权模块970还包括但不限于:请求重收单元972和令牌重制单元974。
其中,请求重收单元972用于在令牌失效时,接收被授权方发起的令牌重新授予请求。
令牌重制单元974用于根据令牌重新授予请求为被授权方进行令牌重新生成,并将重新生成的令牌发送至被授权方。
需要说明的是,上述实施例所提供的实现区块链中信息共享的装置在进行实现区块链中信息共享的处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即实现区块链中信息共享的装置的内部结构将划分为不同的功能模块,以完成以上描述的全部或者部分功能。
另外,上述实施例所提供的实现区块链中信息共享的装置与实现区块链中信息共享的方法的实施例属于同一构思,其中各个模块执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
需要说明的是,上述实施例所提供的实现区块链中信息共享的装置在进行实现区块链中信息共享的处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即实现区块链中信息共享的装置的内部结构将划分为不同的功能模块,以完成以上描述的全部或者部分功能。
另外,上述实施例所提供的实现区块链中信息共享的装置与实现区块链中信息共享的方法的实施例属于同一构思,其中各个模块执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
在一示例性实施例中,一种实现区块链中信息共享的装置,包括处理器及存储器。
其中,存储器上存储有计算机可读指令,该计算机可读指令被处理器执行时实现上述各实施例中的实现区块链中信息共享的方法。
在一示例性实施例中,一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各实施例中的实现区块链中信息共享的方法。
上述内容,仅为本发明的较佳示例性实施例,并非用于限制本发明的实施方案,本领域普通技术人员根据本发明的主要构思和精神,可以十分方便地进行相应的变通或修改,故本发明的保护范围应以权利要求书所要求的保护范围为准。
Claims (14)
1.一种实现区块链中信息共享的方法,其特征在于,包括:
授权方根据密钥对待共享信息进行加密,生成加密信息;所述加密信息包括对所述待共享信息进行拆分并进行密钥加密处理后得到的若干加密子信息,不同加密子信息对应的加密密钥不同;
将所述加密信息发送至一区块链节点进行存储,通过所述存储实现所述加密信息在区块链网络中各区块链节点的同步;
根据所述授权方中配置的密钥拆分规则对所述若干加密子信息各自对应的解密密钥进行拆分,得到所述若干加密子信息各自对应的第一段密钥和第二段密钥;所述密钥拆分规则包括:从解密密钥中随机提取若干比特位数的数值进行加密得到第一段密钥,将剩余比特位数的数值进行加密得到第二段密钥;或,从解密密钥中选取偶数比特位的数值拼接得到第一段密钥,选取奇数比特位的数值拼接得到第二段密钥;
向请求共享区块链节点中所述加密信息的被授权方分发第一段密钥,并将第二段密钥发送至执行加密信息解密服务的服务提供方;所述被授权方存储有所述若干加密子信息对应的组装规则,以在获取到所述若干加密子信息对应的明文后基于所述组装规则进行组装;
通过分发的第一段密钥控制所述被授权方每隔指定时间间隔请求所述服务提供方对其中一个加密子信息对应的第一段密钥和第二段密钥进行密钥还原处理,并根据还原密钥对所述被授权方请求共享的加密子信息进行解密,得到加密子信息对应的明文。
2.如权利要求1所述的方法,其特征在于,所述授权方根据密钥对待共享信息进行加密,生成加密信息,包括:
对所述待共享信息进行拆分,得到若干拆分信息;
进行若干所述拆分信息的密钥加密处理,得到若干加密子信息,所述加密子信息与所述拆分信息一一对应;
以若干所述加密子信息作为所述加密信息,使得所述服务提供方针对所述加密信息中的若干所述加密子信息分别进行解密。
3.如权利要求2所述的方法,其特征在于,所述进行若干所述拆分信息的密钥加密处理,得到若干加密子信息,包括:
遍历若干所述拆分信息;
由候选密钥集合中选取候选密钥作为所述密钥;
根据所述密钥对遍历到的拆分信息进行加密,得到所述加密子信息。
4.如权利要求1所述的方法,其特征在于,所述根据所述授权方中配置的密钥拆分规则对所述若干加密子信息各自对应的解密密钥进行拆分,得到所述若干加密子信息各自对应的第一段密钥和第二段密钥,包括:
针对所述若干加密子信息中的每一加密子信息,获取与加密子信息的加密密钥成对存在的解密密钥,解密密钥与加密密钥是根据非对称加密算法生成的密钥对;
根据所述授权方中配置的密钥拆分规则对每个解密密钥进行二段式拆分处理,得到每个加密子信息对应的第一段密钥和所述第二段密钥。
5.如权利要求1至4任一项所述的方法,其特征在于,所述向请求共享区块链节点中所述加密信息的被授权方分发第一段密钥,包括:
接收所述被授权方为共享区块链节点中所述加密信息所发起的共享请求;
响应所述共享请求,为所述被授权方生成携带所述第一段密钥的令牌;
向所述被授权方授予所述令牌,通过授予的所述令牌控制所述被授权方请求所述服务提供方执行被授权方身份验证;
如果所述被授权方通过所述服务提供方的身份验证,则授权通过身份验证的所述被授权方共享所述区块链节点中的所述加密信息。
6.如权利要求5所述的方法,其特征在于,所述向请求共享区块链节点中所述加密信息的被授权方分发所述第一段密钥,还包括:
在所述令牌失效时,接收所述被授权方发起的令牌重新授予请求;
根据所述令牌重新授予请求为所述被授权方进行令牌重新生成,并将重新生成的令牌发送至所述被授权方。
7.一种实现区块链中信息共享的装置,其特征在于,包括:
信息加密模块,用于授权方根据密钥对待共享信息进行加密,生成加密信息;所述加密信息包括对所述待共享信息进行拆分并进行密钥加密处理后得到的若干加密子信息,不同加密子信息对应的加密密钥不同;
信息存储模块,用于将所述加密信息发送至一区块链节点进行存储,通过所述存储实现所述加密信息在区块链网络中各区块链节点的同步;
密钥获取模块,用于根据所述授权方中配置的密钥拆分规则对所述若干加密子信息各自对应的解密密钥进行拆分,得到所述若干加密子信息各自对应的第一段密钥和第二段密钥;所述密钥拆分规则包括:从解密密钥中随机提取若干比特位数的数值进行加密得到第一段密钥,将剩余比特位数的数值进行加密得到第二段密钥;或,从解密密钥中选取偶数比特位的数值拼接得到第一段密钥,选取奇数比特位的数值拼接得到第二段密钥;
密钥授权模块,用于向请求共享区块链节点中所述加密信息的被授权方分发第一段密钥,并将第二段密钥发送至执行加密信息解密服务的服务提供方;所述被授权方存储有所述若干加密子信息对应的组装规则,以在获取到所述若干加密子信息对应的明文后基于所述组装规则进行组装;
共享处理模块,用于通过分发的第一段密钥控制所述被授权方每隔指定时间间隔请求所述服务提供方对其中一个加密子信息对应的第一段密钥和第二段密钥进行密钥还原处理,并根据还原密钥对所述被授权方请求共享的加密子信息进行解密,得到加密子信息对应的明文。
8.如权利要求7所述的装置,其特征在于,所述信息加密模块包括:
信息拆分单元,用于对所述待共享信息进行拆分,得到若干拆分信息;
信息加密单元,用于进行若干所述拆分信息的密钥加密处理,得到若干加密子信息,所述加密子信息与所述拆分信息一一对应;
信息定义单元,用于以若干所述加密子信息作为所述加密信息,使得所述服务提供方针对所述加密信息中的若干所述加密子信息分别进行解密。
9.如权利要求8所述的装置,其特征在于,所述信息加密单元包括:
信息遍历子单元,用于遍历若干所述拆分信息;
密钥选取子单元,用于由候选密钥集合中选取候选密钥作为所述密钥;
信息加密子单元,用于根据所述密钥对遍历到的拆分信息进行加密,得到所述加密子信息。
10.如权利要求7所述的装置,其特征在于,所述密钥获取模块包括:
解密密钥获取单元,用于针对所述若干加密子信息中的每一加密子信息,获取与加密子信息的加密密钥成对存在的解密密钥,解密密钥与加密密钥是根据非对称加密算法生成的密钥对;
解密密钥拆分单元,用于根据所述授权方中配置的密钥拆分规则对每个解密密钥进行二段式拆分处理,得到每个加密子信息对应的第一段密钥和所述第二段密钥。
11.如权利要求7至10任一项所述的装置,其特征在于,所述密钥授权模块包括:
请求接收单元,用于接收所述被授权方为共享区块链节点中所述加密信息所发起的共享请求;
令牌生成单元,用于响应所述共享请求,为所述被授权方生成携带所述第一段密钥的令牌;
令牌授予单元,用于向所述被授权方授予所述令牌,通过授予的所述令牌控制所述被授权方请求所述服务提供方执行被授权方身份验证;
授权共享单元,用于如果所述被授权方通过所述服务提供方的身份验证,则授权通过身份验证的所述被授权方共享所述区块链节点中的所述加密信息。
12.如权利要求11所述的装置,其特征在于,所述密钥授权模块还包括:
请求重收单元,用于在所述令牌失效时,接收所述被授权方发起的令牌重新授予请求;
令牌重制单元,用于根据所述令牌重新授予请求为所述被授权方进行令牌重新生成,并将重新生成的令牌发送至所述被授权方。
13.一种实现区块链中信息共享的装置,其特征在于,包括:
处理器;及
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如权利要求1至6中任一项所述的实现区块链中信息共享的方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的实现区块链中信息共享的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810536479.9A CN108768633B (zh) | 2018-05-30 | 2018-05-30 | 实现区块链中信息共享的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810536479.9A CN108768633B (zh) | 2018-05-30 | 2018-05-30 | 实现区块链中信息共享的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108768633A CN108768633A (zh) | 2018-11-06 |
CN108768633B true CN108768633B (zh) | 2022-03-25 |
Family
ID=64004021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810536479.9A Active CN108768633B (zh) | 2018-05-30 | 2018-05-30 | 实现区块链中信息共享的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108768633B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110033258B (zh) | 2018-11-12 | 2021-03-23 | 创新先进技术有限公司 | 基于区块链的业务数据加密方法及装置 |
CN109492419B (zh) * | 2018-11-27 | 2022-07-01 | 众安信息技术服务有限公司 | 用于获取区块链中的数据的方法、装置及存储介质 |
CN111385266B (zh) * | 2018-12-29 | 2022-06-17 | 湖南亚信软件有限公司 | 数据共享方法、装置、计算机设备和存储介质 |
EP3693918A1 (en) * | 2019-02-08 | 2020-08-12 | Siemens Gamesa Renewable Energy A/S | Operational data of an energy system |
CN110086607B (zh) * | 2019-03-13 | 2021-08-17 | 深圳壹账通智能科技有限公司 | 快速切换部署密钥的方法、装置、计算机设备和存储介质 |
CN109981648B (zh) * | 2019-03-27 | 2021-07-06 | 深圳市创维软件有限公司 | 一种加密传输方法、解密方法、装置、终端及存储介质 |
CN110503781A (zh) * | 2019-09-19 | 2019-11-26 | 腾讯科技(深圳)有限公司 | 基于区块链的车辆租赁业务数据处理方法和装置 |
CN110674222B (zh) * | 2019-10-08 | 2021-08-13 | 腾讯科技(深圳)有限公司 | 一种数据共享方法、装置、设备及介质 |
CN111010386B (zh) * | 2019-12-10 | 2021-12-21 | 上海信联信息发展股份有限公司 | 一种基于共享账本的隐私保护与数据监管控制方法 |
CN112133396B (zh) * | 2020-09-23 | 2023-02-03 | 深圳平安智慧医健科技有限公司 | 医疗数据共享方法、装置、电子设备及介质 |
US20220207191A1 (en) * | 2020-12-30 | 2022-06-30 | International Business Machines Corporation | Secure memory sharing |
CN112532753B (zh) * | 2021-02-09 | 2021-05-07 | 腾讯科技(深圳)有限公司 | 区块链系统的数据同步方法、装置、介质及电子设备 |
CN113094731B (zh) * | 2021-04-15 | 2023-04-07 | 西南大学 | 基于互异分配再组合方案的区块链隐私保护方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678174A (zh) * | 2012-09-11 | 2014-03-26 | 联想(北京)有限公司 | 数据安全方法、存储装置和数据安全系统 |
CN104756441B (zh) * | 2012-10-26 | 2018-05-18 | 诺基亚技术有限公司 | 用于数据访问控制的方法和装置 |
CN106911770A (zh) * | 2017-02-20 | 2017-06-30 | 北京古盘创世科技发展有限公司 | 一种基于多云存储的数据共享方法及系统 |
CN107979590B (zh) * | 2017-11-02 | 2020-01-17 | 财付通支付科技有限公司 | 数据共享方法、客户端、服务器、计算设备及存储介质 |
-
2018
- 2018-05-30 CN CN201810536479.9A patent/CN108768633B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108768633A (zh) | 2018-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108768633B (zh) | 实现区块链中信息共享的方法及装置 | |
US20230155821A1 (en) | Secure shared key establishment for peer to peer communications | |
CN109120639B (zh) | 一种基于区块链的数据云存储加密方法及系统 | |
AU2019204725B2 (en) | Retrieving access data for blockchain networks using highly available trusted execution environments | |
WO2019120318A2 (en) | Retrieving public data for blockchain networks using highly available trusted execution environments | |
JP2020528224A (ja) | 信頼できる実行環境におけるスマート契約動作のセキュアな実行 | |
US11711213B2 (en) | Master key escrow process | |
US20230254129A1 (en) | Key management for multi-party computation | |
CN111131336B (zh) | 多方授权场景下的资源访问方法、装置、设备及存储介质 | |
US10462112B1 (en) | Secure distributed authentication data | |
US12014361B2 (en) | Systems and methods for improved hot wallet security | |
US11616643B2 (en) | System and method of management of a shared cryptographic account | |
CN114584307A (zh) | 一种可信密钥管理方法、装置、电子设备和存储介质 | |
KR102146940B1 (ko) | 토큰 위변조 검증 방법 | |
US20190044922A1 (en) | Symmetric key identity systems and methods | |
CN114553557B (zh) | 密钥调用方法、装置、计算机设备和存储介质 | |
CN114095165B (zh) | 密钥更新方法、服务端设备、客户端设备及存储介质 | |
KR20210020851A (ko) | 컨소시엄 블록체인 네트워크에서의 프라이빗 키를 백업 및 복원하는 방법 및 장치 | |
CN112398818A (zh) | 一种软件激活方法及其相关装置 | |
CN112865968B (zh) | 数据密文托管方法、系统、计算机设备及存储介质 | |
KR102649485B1 (ko) | 가상 사설 네트워크 시스템 및 그 제어방법 | |
CN113315749A (zh) | 用户数据上链、用户数据使用方法、匿名系统和存储介质 |
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 |