CN109981551A - 一种基于区块链的数据传输系统、方法及相关设备 - Google Patents

一种基于区块链的数据传输系统、方法及相关设备 Download PDF

Info

Publication number
CN109981551A
CN109981551A CN201711464955.2A CN201711464955A CN109981551A CN 109981551 A CN109981551 A CN 109981551A CN 201711464955 A CN201711464955 A CN 201711464955A CN 109981551 A CN109981551 A CN 109981551A
Authority
CN
China
Prior art keywords
encryption
file
client
cloud platform
public key
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
Application number
CN201711464955.2A
Other languages
English (en)
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.)
Aisino Corp
Original Assignee
Aisino Corp
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 Aisino Corp filed Critical Aisino Corp
Priority to CN201711464955.2A priority Critical patent/CN109981551A/zh
Publication of CN109981551A publication Critical patent/CN109981551A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • H04L63/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

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)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种基于区块链的数据传输系统、方法及相关设备,涉及数据处理技术领域,本发明实施例中所述的基于区块链的数据传输系统可包括客户端以及云平台。相比于现有技术,在本发明实施例中,存储在云平台的数据是基于区块链技术存储的,因而能够保证数据的安全性和私密性,解决了现有的数据传输系统所存在的安全性较低的问题。

Description

一种基于区块链的数据传输系统、方法及相关设备
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于区块链的数据传输系统、方法及相关设备。
背景技术
通常而言,云存储是在云计算概念上延伸和发展出来的一个新的概念,是一种新兴的网络存储技术,使用者可以在任何时间、任何地方,透过任何可连网的装置,如客户端,连接到云存储系统,如云平台,以方便存取数据。
但是,在由客户端和云平台组成的数据传输系统中,客户端与云平台之间的数据交互通常是直接存取的,其中的加解密算法以及存储方式都是简单的常规手段,因而无法保证数据的安全性和私密性,例如,可能会使得客户端上传的数据被篡改或截获等。
也就是说,现有的数据传输系统存在安全性较低的问题。
发明内容
本发明实施例提供了一种基于区块链的数据传输系统、方法及相关设备,用以解决现有的数据传输系统所存在的安全性较低的问题。
本发明实施例提供了一种基于区块链的数据传输系统,包括客户端以及云平台,其中:
所述客户端,用于利用客户端公钥将原始文件加密成加密文件,对所述加密文件进行哈希处理得到第一哈希文件,将所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件上传至云平台;以及,接收所述云平台返回的区块链以及云平台公钥;
所述云平台,用于接收所述客户端上传的所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件;将所述第一哈希文件以及所述加密文件存储在所述云平台的设定节点上,利用所述客户端公钥将所述节点的地址信息加密为加密地址,根据所述第一哈希文件以及所述加密地址构建所述区块链,将所述区块链以及所述云平台公钥返回至所述客户端。
进一步地,所述客户端,还用于在利用客户端公钥将原始文件加密成加密文件之前,将所述原始文件切分成多个原始子文件。
具体地,所述客户端,具体用于确定存储在硬件设备中的客户端公钥,利用所述客户端公钥将所述原始文件加密成所述加密文件。
具体地,所述云平台,具体用于将所述第一哈希文件以及所述加密文件存储在所述云平台的多个设定节点上。
具体地,所述云平台,具体用于根据所述第一哈希文件以及所述加密地址构建区块体,按照时间戳顺序将所述区块体连接至初始块,以构建所述区块链。
进一步地,所述客户端,还用于从所述区块链中确定所述第一哈希文件以及所述加密地址,利用客户端私钥将所述加密地址解密为所述节点的地址信息,建立所述第一哈希文件与所述地址信息的第一对象组,利用所述云平台公钥将所述第一对象组加密为加密第一对象组,将所述加密第一对象组上传至所述云平台;以及,接收所述云平台返回的加密第二对象组,利用所述客户端私钥将所述加密第二对象组解密为第二对象组,从所述第二对象组中获取所述加密文件,利用所述客户端私钥将所述加密文件解密为所述原始文件;
所述云平台,还用于利用云平台私钥将所述加密第一对象组解密为所述第一哈希文件与所述地址信息的所述第一对象组,获取所述地址信息所对应的节点上的所述加密文件,建立所述第一哈希文件与所述加密文件的第二对象组,利用所述客户端公钥将所述第二对象组加密为加密第二对象组,将所述加密第二对象组返回至所述客户端。
进一步地,所述客户端,还用于在从所述第二对象组中获取所述加密文件之后,对所述加密文件进行哈希得到第二哈希文件,并确定所述第二哈希文件与所述第一哈希文件一致。
本发明实施例还提供了一种基于区块链的数据传输方法,包括:
利用客户端公钥将原始文件加密成加密文件;
对所述加密文件进行哈希处理得到第一哈希文件;
将所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件上传至云平台;
接收所述云平台返回的区块链以及云平台公钥;
其中,所述云平台用于将所述第一哈希文件以及所述加密文件存储在所述云平台的设定节点上,利用所述客户端公钥将所述节点的地址信息加密为加密地址,根据所述第一哈希文件以及所述加密地址构建所述区块链,将所述区块链以及所述云平台公钥返回至所述客户端。
进一步地,在利用客户端公钥将原始文件加密成加密文件之前,所述基于区块链的数据上传方法还包括:
将所述原始文件切分成多个原始子文件。
进一步地,利用客户端公钥将原始文件加密成加密文件,包括:
确定存储在硬件设备中的客户端公钥;
利用所述客户端公钥将所述原始文件加密成所述加密文件。
进一步地,所述基于区块链的数据传输方法还包括:
从所述区块链中确定所述第一哈希文件以及所述加密地址;
利用客户端私钥将所述加密地址解密为所述节点的地址信息;
建立所述第一哈希文件与所述地址信息的第一对象组;
利用所述云平台公钥将所述第一对象组加密为加密第一对象组;
将所述加密第一对象组上传至所述云平台;
接收所述云平台返回的加密第二对象组;
利用所述客户端私钥将所述加密第二对象组解密为第二对象组;
从所述第二对象组中获取所述加密文件,利用所述客户端私钥将所述加密文件解密为所述原始文件;
其中,所述云平台用于利用云平台私钥将所述加密第一对象组解密为所述第一哈希文件与所述地址信息的所述第一对象组,获取所述地址信息所对应的节点上的所述加密文件,建立所述第一哈希文件与所述加密文件的第二对象组,利用所述客户端公钥将所述第二对象组加密为加密第二对象组,将所述加密第二对象组返回至所述客户端。
进一步地,在从所述第二对象组中获取所述加密文件之后,所述基于区块链的数据传输方法还包括:
对所述加密文件进行哈希得到第二哈希文件,并确定所述第二哈希文件与所述第一哈希文件一致。
相应地,本发明实施例还提供了一种基于区块链的数据传输方法,包括:
接收客户端上传的客户端公钥、利用所述客户端公钥加密的加密客户端标识、第一哈希文件以及加密文件;
将所述第一哈希文件以及所述加密文件存储在所述云平台的设定节点上;
利用所述客户端公钥将所述节点的地址信息加密为加密地址;
根据所述第一哈希文件以及所述加密地址构建所述区块链;
将所述区块链以及所述云平台公钥返回至所述客户端;
其中,所述客户端用于利用客户端公钥将原始文件加密成加密文件,对所述加密文件进行哈希处理得到第一哈希文件,将所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件上传至云平台;以及,接收所述云平台返回的区块链以及云平台公钥。
具体地,将所述第一哈希文件以及所述加密文件存储在所述云平台的设定节点上,包括:
用于将所述第一哈希文件以及所述加密文件存储在所述云平台的多个设定节点上。
具体地,根据所述第一哈希文件以及所述加密地址构建所述区块链,包括:
根据所述第一哈希文件以及所述加密地址构建区块体;
按照时间戳顺序将所述区块体连接至初始块,以构建所述区块链;
进一步地,所述基于区块链的数据传输方法还包括:
利用云平台私钥将所述加密第一对象组解密为所述第一哈希文件与所述地址信息的所述第一对象组;
获取所述地址信息所对应的节点上的所述加密文件;
建立所述第一哈希文件与所述加密文件的第二对象组;
利用所述客户端公钥将所述第二对象组加密为加密第二对象组;
将所述加密第二对象组返回至所述客户端;
其中,所述客户端用于从所述区块链中确定所述第一哈希文件以及所述加密地址,利用客户端私钥将所述加密地址解密为所述节点的地址信息,建立所述第一哈希文件与所述地址信息的第一对象组,利用所述云平台公钥将所述第一对象组加密为加密第一对象组,将所述加密第一对象组上传至所述云平台;以及,接收所述云平台返回的加密第二对象组,利用所述客户端私钥将所述加密第二对象组解密为第二对象组,从所述第二对象组中获取所述加密文件,利用所述客户端私钥将所述加密文件解密为所述原始文件。
相应地,本发明实施例还提供了一种客户端,包括:
加密模块,用于利用客户端公钥将原始文件加密成加密文件;
哈希模块,用于对所述加密文件进行哈希处理得到第一哈希文件;
上传模块,用于将所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件上传至云平台;
接收模块,用于接收所述云平台返回的区块链以及云平台公钥;
其中,所述云平台用于将所述第一哈希文件以及所述加密文件存储在所述云平台的设定节点上,利用所述客户端公钥将所述节点的地址信息加密为加密地址,根据所述第一哈希文件以及所述加密地址构建所述区块链,将所述区块链以及所述云平台公钥返回至所述客户端。
进一步地,所述客户端还包括:
切分模块,用于在利用客户端公钥将原始文件加密成加密文件之前,将所述原始文件切分成多个原始子文件。
具体地,所述加密模块,具体用于确定存储在硬件设备中的客户端公钥;利用所述客户端公钥将所述原始文件加密成所述加密文件。
进一步地,所述客户端还包括:
确定模块,用于从所述区块链中确定所述第一哈希文件以及所述加密地址;
解密模块,用于利用客户端私钥将所述加密地址解密为所述节点的地址信息;以及,利用所述客户端私钥将所述加密第二对象组解密为第二对象组;以及,从所述第二对象组中获取所述加密文件,利用所述客户端私钥将所述加密文件解密为所述原始文件;
建立模块,用于建立所述第一哈希文件与所述地址信息的第一对象组;
所述加密模块,还用于利用所述云平台公钥将所述第一对象组加密为加密第一对象组;
所述上传模块,还用于将所述加密第一对象组上传至所述云平台;
所述接收模块,还用于接收所述云平台返回的加密第二对象组;
其中,所述云平台用于利用云平台私钥将所述加密第一对象组解密为所述第一哈希文件与所述地址信息的所述第一对象组,获取所述地址信息所对应的节点上的所述加密文件,建立所述第一哈希文件与所述加密文件的第二对象组,利用所述客户端公钥将所述第二对象组加密为加密第二对象组,将所述加密第二对象组返回至所述客户端。
进一步地,所述确定模块,还用于在从所述第二对象组中获取所述加密文件之后,对所述加密文件进行哈希得到第二哈希文件,并确定所述第二哈希文件与所述第一哈希文件一致。
相应地,本发明实施例还一种云平台,包括:
接收单元,用于接收客户端上传的客户端公钥、利用所述客户端公钥加密的加密客户端标识、第一哈希文件以及加密文件;
存储单元,用于将所述第一哈希文件以及所述加密文件存储在所述云平台的设定节点上;
加密单元,用于利用所述客户端公钥将所述节点的地址信息加密为加密地址;
构建单元,用于根据所述第一哈希文件以及所述加密地址构建所述区块链;
返回单元,用于将所述区块链以及所述云平台公钥返回至所述客户端;
其中,所述客户端用于利用客户端公钥将原始文件加密成加密文件,对所述加密文件进行哈希处理得到第一哈希文件,将所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件上传至云平台;以及,接收所述云平台返回的区块链以及云平台公钥。
具体地,所述存储单元,具体用于将所述第一哈希文件以及所述加密文件存储在所述云平台的多个设定节点上。
具体地,所述构建单元,具体用于根据所述第一哈希文件以及所述加密地址构建区块体;按照时间戳顺序将所述区块体连接至初始块,以构建所述区块链;
进一步地,所述云平台还包括:
解密单元,用于利用云平台私钥将所述加密第一对象组解密为所述第一哈希文件与所述地址信息的所述第一对象组;
获取单元,用于获取所述地址信息所对应的节点上的所述加密文件;
建立单元,用于建立所述第一哈希文件与所述加密文件的第二对象组;
所述加密单元,还用于利用所述客户端公钥将所述第二对象组加密为加密第二对象组;
所述返回单元,还用于将所述加密第二对象组返回至所述客户端;
其中,所述客户端用于从所述区块链中确定所述第一哈希文件以及所述加密地址,利用客户端私钥将所述加密地址解密为所述节点的地址信息,建立所述第一哈希文件与所述地址信息的第一对象组,利用所述云平台公钥将所述第一对象组加密为加密第一对象组,将所述加密第一对象组上传至所述云平台;以及,接收所述云平台返回的加密第二对象组,利用所述客户端私钥将所述加密第二对象组解密为第二对象组,从所述第二对象组中获取所述加密文件,利用所述客户端私钥将所述加密文件解密为所述原始文件。
相应地,本发明实施例还提供了一种计算设备,包括存储器和处理器,其中:
所述存储器,用于存储程序指令;
所述处理器,用于调用所述存储器中存储的程序指令,并按照获得的程序执行本发明实施例中所述的基于区块链的数据传输方法。
另外,本发明实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行本发明实施例中所述的基于区块链的数据传输方法。
进一步地,本发明实施例还提供了一种计算机,包括存储设备和处理设备,其中:
所述存储设备,用于存储程序指令;
所述处理设备,用于调用所述存储设备中存储的程序指令,并按照获得的程序执行本发明实施例中所述的基于区块链的数据传输方法。
另外,本发明实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行本发明实施例中所述的基于区块链的数据传输方法。
本发明有益效果如下:
本发明实施例提供了一种基于区块链的数据传输系统、方法及相关设备。所述基于区块链的数据传输系统可包括客户端以及云平台,其中:所述客户端,用于利用客户端公钥将原始文件加密成加密文件,对所述加密文件进行哈希处理得到第一哈希文件,将所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件上传至云平台;以及,接收所述云平台返回的区块链以及云平台公钥;所述云平台,用于接收所述客户端上传的所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件;将所述第一哈希文件以及所述加密文件存储在所述云平台的设定节点上,利用所述客户端公钥将所述节点的地址信息加密为加密地址,根据所述第一哈希文件以及所述加密地址构建所述区块链,将所述区块链以及所述云平台公钥返回至所述客户端。相比于现有技术,在本发明实施例中,存储在云平台的数据是基于区块链技术存储的,因而能够保证数据的安全性和私密性,解决了现有的数据传输系统所存在的安全性较低的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1所示为本发明实施例一中提供的基于区块链的数据传输系统的结构示意图;
图2所示为本发明实施例一中提供的文件上传流程示意图;
图3所示为本发明实施例一中提供的文件下载流程示意图;
图4所示为本发明实施例一中提供的基于区块链的数据传输系统的应用场景图;
图5所示为本发明实施例二中提供的执行主体为客户端的基于区块链的数据传输方法的流程示意图;
图6所示为本发明实施例三中提供的执行主体为客户端的基于区块链的数据传输方法的流程示意图;
图7所示为本发明实施例四中提供的客户端的结构示意图;
图8所示为本发明实施例五中提供的云平台的结构示意图;
图9所示为本发明实施例六中提供的计算设备的结构示意图;
图10所示为本发明实施例八中提供的计算机的结构示意图;
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一:
为了解决现有的数据传输系统所存在的安全性较低的问题,本发明实施例提供了一种基于区块链的数据传输系统,如图1所示,其为本发明实施例中所述的基于区块链的数据传输系统的结构示意图。具体地,由图1可知,本发明实施例中所述的基于区块链的数据传输系统可包括客户端11以及云平台12,其中:
所述客户端11,可用于利用客户端公钥将原始文件加密成加密文件,对所述加密文件进行哈希处理得到第一哈希文件,将所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件上传至云平台;以及,接收所述云平台返回的区块链以及云平台公钥;
所述云平台12,可用于接收所述客户端上传的所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件;将所述第一哈希文件以及所述加密文件存储在所述云平台的设定节点上,利用所述客户端公钥将所述节点的地址信息加密为加密地址,根据所述第一哈希文件以及所述加密地址构建所述区块链,将所述区块链以及所述云平台公钥返回至所述客户端。
也就是说,在本发明实施例中,所述基于区块链的数据传输系统可包括客户端以及云平台,其中:所述客户端,用于利用客户端公钥将原始文件加密成加密文件,对所述加密文件进行哈希处理得到第一哈希文件,将所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件上传至云平台;以及,接收所述云平台返回的区块链以及云平台公钥;所述云平台,用于接收所述客户端上传的所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件;将所述第一哈希文件以及所述加密文件存储在所述云平台的设定节点上,利用所述客户端公钥将所述节点的地址信息加密为加密地址,根据所述第一哈希文件以及所述加密地址构建所述区块链,将所述区块链以及所述云平台公钥返回至所述客户端。相比于现有技术,在本发明实施例中,存储在云平台的数据是基于区块链技术存储的,因而能够保证数据的安全性和私密性,解决了现有的数据传输系统所存在的安全性较低的问题。
需要说明的是,在本发明实施例中,所述客户端通常可为计算机、终端设备等,只要能够通过相应的网络访问所述云平台即可,如可为手机、个人电脑、平板电脑等;所述云平台通常可为云端的存储空间,其中可包括多个节点,以存储客户端上传的数据。其中,在本发明实施例中,存储在云平台的各节点上的数据可基于区块链技术进行存储,因而能够保证数据的安全性和不可篡改性,对此不作赘述。
需要说明的是,上述内容通常可为客户端向云平台上传数据的上传流程,由上述内容可知,在本发明实施例中,上传到云平台的数据是基于区块链技术存储在云平台中的,因而具备更高的安全性。
进一步地,所述客户端11,还可用于在利用客户端公钥将原始文件加密成加密文件之前,将所述原始文件切分成多个原始子文件。
需要说明的是,当原始文件较大时,通常可将原始文件按照设定切分规则切分为多个原始子文件,如切分为2个原始子文件、3个原始子文件或者20个原始子文件等,其中,切分的原始子文件的个数可根据实际情况灵活设定;再者,所述切分规则可根据实际情况灵活设定,如可为等份切分、等长度切分等,只要满足实际需求即可,本发明实施例对此不作任何限定。
具体地,所述客户端12,具体可用于确定存储在硬件设备中的客户端公钥,利用所述客户端公钥将所述原始文件加密成所述加密文件。
需要说明的是,此处所述的硬件设备通常可为硬件USBKey、U盾、密码器等;所述硬件设备中通常可存储有一对密码对,包括一公钥和一私钥,在所述硬件设备接入到相应的计算机或者终端设备中之后,可自动或手动对原始文件进行加密。因而在数据的上传、下载及与云平台的交互过程中,都可采用其加解密相应的数据,使得其它用户无法窃取,相比于存储在密钥托管平台的方式,具有更高的安全性。
当然,需要说明的是,所述客户端公钥也可被存储在相应的软件程序中,在计算机或者终端设备安装所述软件程序时,对原始文件进行加解密操作,对此也不作赘述。
具体地,所述云平台12,具体可用于将所述第一哈希文件以及所述加密文件存储在所述云平台的多个设定节点上。
通常情况下,云平台12在接收到客户端上传的数据之后,为了保证数据的安全性,可将数据同时存储在多个相互独立的节点上,以实现多侧备份,这样一来,即使有部分节点中的数据遭到攻击或者窃取,仍然能够从其它节点上恢复数据,即能够通过冗余数据实现丢失数据的恢复。
具体地,所述云平台12,具体可用于根据所述第一哈希文件以及所述加密地址构建区块体,按照时间戳顺序将所述区块体连接至初始块,以构建所述区块链。
需要说明的是,当原始文件被切分成多个原始子文件时,如F1、F2、……、Fn,加密之后的加密文件通常也可包括多个加密子文件,如C(F1)、C(F2)、……、C(Fn),哈希处理之后的哈希文件通常也可包括多个哈希子文件,如H(C(F1))、H(C(F2))、……、H(C(Fn))。
进一步地,当所述设定节点为一个节点、且所述加密文件包括多个加密子文件、所述哈希文件包括多个哈希子文件时,针对每一个哈希子文件,可建立包括所述哈希子文件与所述节点的地址信息的区块体,并为每一个区块体设置相应的时间戳信息,之后,可根据每一个区块体的时间戳信息的顺序,将多个区块体链接成区块链,并将区块链链接在初始块上;
再者,需要说明的是,当所述设定节点为多个节点,也可通过上述方式实现区块链的建立,此处不作赘述。
进一步地,所述客户端11,还可用于从所述区块链中确定所述第一哈希文件以及所述加密地址,利用客户端私钥将所述加密地址解密为所述节点的地址信息,建立所述第一哈希文件与所述地址信息的第一对象组,利用所述云平台公钥将所述第一对象组加密为加密第一对象组,将所述加密第一对象组上传至所述云平台;以及,接收所述云平台返回的加密第二对象组,利用所述客户端私钥将所述加密第二对象组解密为第二对象组,从所述第二对象组中获取所述加密文件,利用所述客户端私钥将所述加密文件解密为所述原始文件;
所述云平台12,还可用于利用云平台私钥将所述加密第一对象组解密为所述第一哈希文件与所述地址信息的所述第一对象组,获取所述地址信息所对应的节点上的所述加密文件,建立所述第一哈希文件与所述加密文件的第二对象组,利用所述客户端公钥将所述第二对象组加密为加密第二对象组,将所述加密第二对象组返回至所述客户端。
需要说明的是,上述内容通常可为客户端从云平台下载数据的上传流程,由上述内容可知,在本发明实施例中,从云平台下载的数据是基于区块链技术存储在云平台中的,因而具备更高的安全性。
进一步地,所述客户端11,还可用于在从所述第二对象组中获取所述加密文件之后,对所述加密文件进行哈希得到第二哈希文件,并确定所述第二哈希文件与所述第一哈希文件一致。
也就是说,在本发明实施例中,客户端从所述云平台下载到加密文件之后,还可对加密文件进行哈希处理,并与原哈希文件进行对比,以确保加密文件没有被篡改。
需要说明的是,当一个加密文件被存储在多个节点上时,云平台12可随机或者按照设定规则所述多个节点中选择出一个节点,以获取所述加密文件,如可按照FIFO(FirstIn First Out,先进先出)原则,选择一个节点等,对此不作赘述。
如图2~图4所示,其为本发明实施例中所述的基于区块链的数据传输方法的上传流程(图2)、下载流程(图3)以及整个应用场景(图5)示意图。由图2~图4可知,在本发明实施例中,云平台中存储的数据都是以区块链技术存储的,因而无法被修改,保证了数据的安全性,其中,图2中所示创世区块即可为开始块;且,客户端公钥和私钥都是设置在相应的硬件设备中的,如USBKey中,使得整个数据的加解密过程更为复杂;再者,云平台中的数据可存储在多个节点上,因而还能实现多端备份,在数据出现丢失或者损坏时,能够及时进行修复;另外,需要说明的是,本发明实施例中所述的加密方法通常可为SM3加密方法,相比于现有的SHA-256加密方法,复杂度更高,安全性更高。
本发明实施例一提供了一种基于区块链的数据传输系统,所述基于区块链的数据传输系统可包括客户端以及云平台,其中:所述客户端,用于利用客户端公钥将原始文件加密成加密文件,对所述加密文件进行哈希处理得到第一哈希文件,将所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件上传至云平台;以及,接收所述云平台返回的区块链以及云平台公钥;所述云平台,用于接收所述客户端上传的所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件;将所述第一哈希文件以及所述加密文件存储在所述云平台的设定节点上,利用所述客户端公钥将所述节点的地址信息加密为加密地址,根据所述第一哈希文件以及所述加密地址构建所述区块链,将所述区块链以及所述云平台公钥返回至所述客户端。相比于现有技术,在本发明实施例中,存储在云平台的数据是基于区块链技术存储的,因而能够保证数据的安全性和私密性,解决了现有的数据传输系统所存在的安全性较低的问题。
实施例二:
基于与本发明实施例一相同的发明构思,本发明实施例二提供了一种基于区块链的数据传输方法,如图5所示,其为本发明实施例中所述的基于区块链的数据传输方法的流程示意图。具体地,由图5可知,本发明实施例中所述的基于区块链的数据传输方法可包括以下步骤:
步骤501:利用客户端公钥将原始文件加密成加密文件;
步骤502:对所述加密文件进行哈希处理得到第一哈希文件;
步骤503:将所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件上传至云平台;
步骤504:接收所述云平台返回的区块链以及云平台公钥;
其中,所述云平台用于将所述第一哈希文件以及所述加密文件存储在所述云平台的设定节点上,利用所述客户端公钥将所述节点的地址信息加密为加密地址,根据所述第一哈希文件以及所述加密地址构建所述区块链,将所述区块链以及所述云平台公钥返回至所述客户端。
也就是说,在本发明实施例中,所述的基于区块链的数据传输方法可包括以下步骤:利用客户端公钥将原始文件加密成加密文件;对所述加密文件进行哈希处理得到第一哈希文件;将所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件上传至云平台;接收所述云平台返回的区块链以及云平台公钥;其中,所述云平台用于将所述第一哈希文件以及所述加密文件存储在所述云平台的设定节点上,利用所述客户端公钥将所述节点的地址信息加密为加密地址,根据所述第一哈希文件以及所述加密地址构建所述区块链,将所述区块链以及所述云平台公钥返回至所述客户端。相比于现有技术,在本发明实施例中,存储在云平台的数据是基于区块链技术存储的,因而能够保证数据的安全性和私密性,解决了现有的数据传输系统所存在的安全性较低的问题。
需要说明的是,本发明实施例中所述的基于区块链的数据传输方法的执行主体通常可为相应的客户端,所述客户端为相应的计算机、终端设备等,如可为个人电脑等。
进一步地,在利用客户端公钥将原始文件加密成加密文件之前,所述基于区块链的数据上传方法还可包括:
将所述原始文件切分成多个原始子文件。
进一步地,利用客户端公钥将原始文件加密成加密文件,可包括:
确定存储在硬件设备中的客户端公钥;
利用所述客户端公钥将所述原始文件加密成所述加密文件。
进一步地,所述基于区块链的数据传输方法还可包括:
从所述区块链中确定所述第一哈希文件以及所述加密地址;
利用客户端私钥将所述加密地址解密为所述节点的地址信息;
建立所述第一哈希文件与所述地址信息的第一对象组;
利用所述云平台公钥将所述第一对象组加密为加密第一对象组;
将所述加密第一对象组上传至所述云平台;
接收所述云平台返回的加密第二对象组;
利用所述客户端私钥将所述加密第二对象组解密为第二对象组;
从所述第二对象组中获取所述加密文件,利用所述客户端私钥将所述加密文件解密为所述原始文件;
其中,所述云平台用于利用云平台私钥将所述加密第一对象组解密为所述第一哈希文件与所述地址信息的所述第一对象组,获取所述地址信息所对应的节点上的所述加密文件,建立所述第一哈希文件与所述加密文件的第二对象组,利用所述客户端公钥将所述第二对象组加密为加密第二对象组,将所述加密第二对象组返回至所述客户端。
由上述内容可知,在本发明实施例中,客户端下载的原始文件是基于区块链技术下载的,因而能够保证数据的准确性、安全性和私密性。
进一步地,在从所述第二对象组中获取所述加密文件之后,所述基于区块链的数据传输方法还可包括:
对所述加密文件进行哈希得到第二哈希文件,并确定所述第二哈希文件与所述第一哈希文件一致。
本发明实施例二提供了一种基于区块链的数据传输方法,执行主体可为相应的客户端。所述的基于区块链的数据传输方法可包括以下步骤:利用客户端公钥将原始文件加密成加密文件;对所述加密文件进行哈希处理得到第一哈希文件;将所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件上传至云平台;接收所述云平台返回的区块链以及云平台公钥;其中,所述云平台用于将所述第一哈希文件以及所述加密文件存储在所述云平台的设定节点上,利用所述客户端公钥将所述节点的地址信息加密为加密地址,根据所述第一哈希文件以及所述加密地址构建所述区块链,将所述区块链以及所述云平台公钥返回至所述客户端。相比于现有技术,在本发明实施例中,存储在云平台的数据是基于区块链技术存储的,因而能够保证数据的安全性和私密性,解决了现有的数据传输系统所存在的安全性较低的问题。
实施例三:
基于与本发明实施例一和实施例二相同的发明构思,本发明实施例三提供了一种基于区块链的数据传输方法,如图6所示,其为本发明实施例中所述的基于区块链的数据传输方法的流程示意图。具体地,由图6可知,所述基于区块链的数据传输方法可包括以下流程:
步骤601:接收客户端上传的客户端公钥、利用所述客户端公钥加密的加密客户端标识、第一哈希文件以及加密文件;
步骤602:将所述第一哈希文件以及所述加密文件存储在所述云平台的设定节点上;
步骤603:利用所述客户端公钥将所述节点的地址信息加密为加密地址;
步骤604:根据所述第一哈希文件以及所述加密地址构建所述区块链;
步骤605:将所述区块链以及所述云平台公钥返回至所述客户端;
其中,所述客户端用于利用客户端公钥将原始文件加密成加密文件,对所述加密文件进行哈希处理得到第一哈希文件,将所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件上传至云平台;以及,接收所述云平台返回的区块链以及云平台公钥。
也就是说,在本发明实施例中,所述基于区块链的数据传输方法可包括以下步骤:接收客户端上传的客户端公钥、利用所述客户端公钥加密的加密客户端标识、第一哈希文件以及加密文件;将所述第一哈希文件以及所述加密文件存储在所述云平台的设定节点上;利用所述客户端公钥将所述节点的地址信息加密为加密地址;根据所述第一哈希文件以及所述加密地址构建所述区块链;将所述区块链以及所述云平台公钥返回至所述客户端;其中,所述客户端用于利用客户端公钥将原始文件加密成加密文件,对所述加密文件进行哈希处理得到第一哈希文件,将所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件上传至云平台;以及,接收所述云平台返回的区块链以及云平台公钥。相比于现有技术,在本发明实施例中,存储在云平台的数据是基于区块链技术存储的,因而能够保证数据的安全性和私密性,解决了现有的数据传输系统所存在的安全性较低的问题。
需要说明的是,本发明实施例中所述的基于区块链的数据传输方法的执行主体通常可为相应的云平台,所述云平台中可包括多个节点,以存储相应的数据;且每一个节点中的数据都是以区块链的方式进行存储的,因而能够保证数据的安全性,对此不作赘述。
具体地,将所述第一哈希文件以及所述加密文件存储在所述云平台的设定节点上,可包括:
用于将所述第一哈希文件以及所述加密文件存储在所述云平台的多个设定节点上。
具体地,根据所述第一哈希文件以及所述加密地址构建所述区块链,可包括:
根据所述第一哈希文件以及所述加密地址构建区块体;
按照时间戳顺序将所述区块体连接至初始块,以构建所述区块链;
进一步地,所述基于区块链的数据传输方法还可包括:
利用云平台私钥将所述加密第一对象组解密为所述第一哈希文件与所述地址信息的所述第一对象组;
获取所述地址信息所对应的节点上的所述加密文件;
建立所述第一哈希文件与所述加密文件的第二对象组;
利用所述客户端公钥将所述第二对象组加密为加密第二对象组;
将所述加密第二对象组返回至所述客户端;
其中,所述客户端用于从所述区块链中确定所述第一哈希文件以及所述加密地址,利用客户端私钥将所述加密地址解密为所述节点的地址信息,建立所述第一哈希文件与所述地址信息的第一对象组,利用所述云平台公钥将所述第一对象组加密为加密第一对象组,将所述加密第一对象组上传至所述云平台;以及,接收所述云平台返回的加密第二对象组,利用所述客户端私钥将所述加密第二对象组解密为第二对象组,从所述第二对象组中获取所述加密文件,利用所述客户端私钥将所述加密文件解密为所述原始文件。
本发明实施例三提供了一种基于区块链的数据传输方法,所述基于区块链的数据传输方法可包括以下步骤:接收客户端上传的客户端公钥、利用所述客户端公钥加密的加密客户端标识、第一哈希文件以及加密文件;将所述第一哈希文件以及所述加密文件存储在所述云平台的设定节点上;利用所述客户端公钥将所述节点的地址信息加密为加密地址;根据所述第一哈希文件以及所述加密地址构建所述区块链;将所述区块链以及所述云平台公钥返回至所述客户端;其中,所述客户端用于利用客户端公钥将原始文件加密成加密文件,对所述加密文件进行哈希处理得到第一哈希文件,将所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件上传至云平台;以及,接收所述云平台返回的区块链以及云平台公钥。相比于现有技术,在本发明实施例中,存储在云平台的数据是基于区块链技术存储的,因而能够保证数据的安全性和私密性,解决了现有的数据传输系统所存在的安全性较低的问题。
实施例四:
基于与本发明实施例二相同的发明构思,本发明实施例四提供了一种客户端,如图7所示,其为本发明实施例四中所述的客户端的结构示意图。具体地,由图7可知,在本发明实施例四中,所述客户端可包括:
加密模块71,可用于利用客户端公钥将原始文件加密成加密文件;
哈希模块72,可用于对所述加密文件进行哈希处理得到第一哈希文件;
上传模块73,可用于将所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件上传至云平台;
接收模块74,可用于接收所述云平台返回的区块链以及云平台公钥;
其中,所述云平台用于将所述第一哈希文件以及所述加密文件存储在所述云平台的设定节点上,利用所述客户端公钥将所述节点的地址信息加密为加密地址,根据所述第一哈希文件以及所述加密地址构建所述区块链,将所述区块链以及所述云平台公钥返回至所述客户端。
也就是说,在本发明实施例四中,所述客户端可包括用于利用客户端公钥将原始文件加密成加密文件的加密模块、用于对所述加密文件进行哈希处理得到第一哈希文件的哈希模块、用于将所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件上传至云平台的上传模块、用于接收所述云平台返回的区块链以及云平台公钥的接收模块。相比于现有技术,在本发明实施例中,存储在云平台的数据是基于区块链技术存储的,因而能够保证数据的安全性和私密性,解决了现有的数据传输系统所存在的安全性较低的问题。
进一步地,所述客户端还可包括:
切分模块75,可用于在利用客户端公钥将原始文件加密成加密文件之前,将所述原始文件切分成多个原始子文件。
具体地,所述加密模块71,具体可用于确定存储在硬件设备中的客户端公钥;利用所述客户端公钥将所述原始文件加密成所述加密文件。
进一步地,所述客户端还可包括:
确定模块76,可用于从所述区块链中确定所述第一哈希文件以及所述加密地址;
解密模块77,可用于利用客户端私钥将所述加密地址解密为所述节点的地址信息;以及,利用所述客户端私钥将所述加密第二对象组解密为第二对象组;以及,从所述第二对象组中获取所述加密文件,利用所述客户端私钥将所述加密文件解密为所述原始文件;
建立模块78,可用于建立所述第一哈希文件与所述地址信息的第一对象组;
所述加密模块71,还可用于利用所述云平台公钥将所述第一对象组加密为加密第一对象组;
所述上传模块73,还可用于将所述加密第一对象组上传至所述云平台;
所述接收模块74,还可用于接收所述云平台返回的加密第二对象组;
其中,所述云平台用于利用云平台私钥将所述加密第一对象组解密为所述第一哈希文件与所述地址信息的所述第一对象组,获取所述地址信息所对应的节点上的所述加密文件,建立所述第一哈希文件与所述加密文件的第二对象组,利用所述客户端公钥将所述第二对象组加密为加密第二对象组,将所述加密第二对象组返回至所述客户端。
进一步地,所述确定模块76,还可用于在从所述第二对象组中获取所述加密文件之后,对所述加密文件进行哈希得到第二哈希文件,并确定所述第二哈希文件与所述第一哈希文件一致。
本发明实施例四提供了一种客户端,可包括用于利用客户端公钥将原始文件加密成加密文件的加密模块、用于对所述加密文件进行哈希处理得到第一哈希文件的哈希模块、用于将所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件上传至云平台的上传模块、用于接收所述云平台返回的区块链以及云平台公钥的接收模块。相比于现有技术,在本发明实施例中,存储在云平台的数据是基于区块链技术存储的,因而能够保证数据的安全性和私密性,解决了现有的数据传输系统所存在的安全性较低的问题。
实施例五:
基于与本发明实施例三相同的发明构思,本发明实施例五提供了一种云平台,如图8所示,其为本发明实施例中所述的云平台的结构示意图。具体地,由图8可知,本发明实施例五中所述的云平台可包括:
接收单元81,可用于接收客户端上传的客户端公钥、利用所述客户端公钥加密的加密客户端标识、第一哈希文件以及加密文件;
存储单元82,可用于将所述第一哈希文件以及所述加密文件存储在所述云平台的设定节点上;
加密单元83,可用于利用所述客户端公钥将所述节点的地址信息加密为加密地址;
构建单元84,可用于根据所述第一哈希文件以及所述加密地址构建所述区块链;
返回单元85,可用于将所述区块链以及所述云平台公钥返回至所述客户端;
其中,所述客户端用于利用客户端公钥将原始文件加密成加密文件,对所述加密文件进行哈希处理得到第一哈希文件,将所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件上传至云平台;以及,接收所述云平台返回的区块链以及云平台公钥。
也就是说,在本发明实施例五中,所述云平台可包括用于接收客户端上传的客户端公钥、利用所述客户端公钥加密的加密客户端标识、第一哈希文件以及加密文件的接收单元、用于将所述第一哈希文件以及所述加密文件存储在所述云平台的设定节点上的存储单元、用于利用所述客户端公钥将所述节点的地址信息加密为加密地址的加密单元、用于根据所述第一哈希文件以及所述加密地址构建所述区块链的构建单元以及用于将所述区块链以及所述云平台公钥返回至所述客户端的返回单元。相比于现有技术,在本发明实施例中,存储在云平台的数据是基于区块链技术存储的,因而能够保证数据的安全性和私密性,解决了现有的数据传输系统所存在的安全性较低的问题。
具体地,所述存储单元82,具体可用于将所述第一哈希文件以及所述加密文件存储在所述云平台的多个设定节点上。
具体地,所述构建单元84,具体可用于根据所述第一哈希文件以及所述加密地址构建区块体;按照时间戳顺序将所述区块体连接至初始块,以构建所述区块链。
进一步地,所述云平台还可包括:
解密单元86,可用于利用云平台私钥将所述加密第一对象组解密为所述第一哈希文件与所述地址信息的所述第一对象组;
获取单元87,可用于获取所述地址信息所对应的节点上的所述加密文件;
建立单元88,可用于建立所述第一哈希文件与所述加密文件的第二对象组;
所述加密单元83,还可用于利用所述客户端公钥将所述第二对象组加密为加密第二对象组;
所述返回单元85,还可用于将所述加密第二对象组返回至所述客户端;
其中,所述客户端用于从所述区块链中确定所述第一哈希文件以及所述加密地址,利用客户端私钥将所述加密地址解密为所述节点的地址信息,建立所述第一哈希文件与所述地址信息的第一对象组,利用所述云平台公钥将所述第一对象组加密为加密第一对象组,将所述加密第一对象组上传至所述云平台;以及,接收所述云平台返回的加密第二对象组,利用所述客户端私钥将所述加密第二对象组解密为第二对象组,从所述第二对象组中获取所述加密文件,利用所述客户端私钥将所述加密文件解密为所述原始文件。
本发明实施例五提供了一种云平台,所述云平台可包括用于接收客户端上传的客户端公钥、利用所述客户端公钥加密的加密客户端标识、第一哈希文件以及加密文件的接收单元、用于将所述第一哈希文件以及所述加密文件存储在所述云平台的设定节点上的存储单元、用于利用所述客户端公钥将所述节点的地址信息加密为加密地址的加密单元、用于根据所述第一哈希文件以及所述加密地址构建所述区块链的构建单元以及用于将所述区块链以及所述云平台公钥返回至所述客户端的返回单元。相比于现有技术,在本发明实施例中,存储在云平台的数据是基于区块链技术存储的,因而能够保证数据的安全性和私密性,解决了现有的数据传输系统所存在的安全性较低的问题。
实施例六:
本发明实施例六提供了一种计算设备,如图9所示,其为本发明实施例中所述的计算设备的结构示意图。该计算设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)等。具体地,本发明实施例中所述的计算设备可以包括处理器,如中央处理器(Center Processing Unit,CPU)901、存储器902、输入设备903以及输出设备904等,输入设备903可以包括键盘、鼠标、触摸屏等,输出设备904可以包括显示设备,如液晶显示器(Liquid Crystal Display,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
存储器902可以包括只读存储器(ROM)和随机存取存储器(RAM),并向中央处理器901提供存储器902中存储的程序指令和数据。在本发明实施例中,存储器902可以用于存储执行主体为客户端的基于区块链的数据传输方法的程序。
中央处理器901通过调用存储器902存储的程序指令,中央处理器901可用于按照获得的程序指令执行:利用客户端公钥将原始文件加密成加密文件;对所述加密文件进行哈希处理得到第一哈希文件;将所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件上传至云平台;接收所述云平台返回的区块链以及云平台公钥;其中,所述云平台用于将所述第一哈希文件以及所述加密文件存储在所述云平台的设定节点上,利用所述客户端公钥将所述节点的地址信息加密为加密地址,根据所述第一哈希文件以及所述加密地址构建所述区块链,将所述区块链以及所述云平台公钥返回至所述客户端。
实施例七:
本发明实施例七提供了一种计算机存储介质,用于储存为上述计算设备所用的计算机程序指令,其包含用于执行上述执行主体为客户端的基于区块链的数据传输方法的程序。
所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。
实施例八:
本发明实施例八提供了一种计算机,如图10所示,其为本发明实施例中所述的计算设备的结构示意图。该计算设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)等。具体地,本发明实施例中所述的计算设备可以包括处理设备,如中央处理设备(Center Processing Unit,CPU)1001、存储设备1002、输入装置1003以及输出装置1004等,输入装置1003可以包括键盘、鼠标、触摸屏等,输出装置1004可以包括显示设备,如液晶显示器(Liquid Crystal Display,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
存储设备1002可以包括只读存储器(ROM)和随机存取存储器(RAM),并向中央处理设备1001提供存储设备1002中存储的程序指令和数据。在本发明实施例中,存储设备1002可以用于存储执行主体为云平台的基于区块链的数据传输方法的程序。
中央处理设备1001通过调用存储设备1002存储的程序指令,中央处理设备1001可用于按照获得的程序指令执行:接收客户端上传的客户端公钥、利用所述客户端公钥加密的加密客户端标识、第一哈希文件以及加密文件;将所述第一哈希文件以及所述加密文件存储在所述云平台的设定节点上;利用所述客户端公钥将所述节点的地址信息加密为加密地址;根据所述第一哈希文件以及所述加密地址构建所述区块链;将所述区块链以及所述云平台公钥返回至所述客户端;其中,所述客户端用于利用客户端公钥将原始文件加密成加密文件,对所述加密文件进行哈希处理得到第一哈希文件,将所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件上传至云平台;以及,接收所述云平台返回的区块链以及云平台公钥。
实施例九:
本发明实施例九提供了一种计算机存储介质,用于储存为上述计算设备所用的计算机程序指令,其包含用于执行上述执行主体为云平台的基于区块链的数据传输方法的程序。
所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。
本领域技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (29)

1.一种基于区块链的数据传输系统,其特征在于,包括客户端以及云平台,其中:
所述客户端,用于利用客户端公钥将原始文件加密成加密文件,对所述加密文件进行哈希处理得到第一哈希文件,将所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件上传至云平台;以及,接收所述云平台返回的区块链以及云平台公钥;
所述云平台,用于接收所述客户端上传的所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件;将所述第一哈希文件以及所述加密文件存储在所述云平台的设定节点上,利用所述客户端公钥将所述节点的地址信息加密为加密地址,根据所述第一哈希文件以及所述加密地址构建所述区块链,将所述区块链以及所述云平台公钥返回至所述客户端。
2.如权利要求1所述的基于区块链的数据传输系统,其特征在于,
所述客户端,还用于在利用客户端公钥将原始文件加密成加密文件之前,将所述原始文件切分成多个原始子文件。
3.如权利要求1所述的基于区块链的数据传输系统,其特征在于,
所述客户端,具体用于确定存储在硬件设备中的客户端公钥,利用所述客户端公钥将所述原始文件加密成所述加密文件。
4.如权利要求1所述的基于区块链的数据传输系统,其特征在于,
所述云平台,具体用于将所述第一哈希文件以及所述加密文件存储在所述云平台的多个设定节点上。
5.如权利要求1所述的基于区块链的数据传输系统,其特征在于,
所述云平台,具体用于根据所述第一哈希文件以及所述加密地址构建区块体,按照时间戳顺序将所述区块体连接至初始块,以构建所述区块链。
6.如权利要求1~5任一项所述的基于区块链的数据传输系统,其特征在于,
所述客户端,还用于从所述区块链中确定所述第一哈希文件以及所述加密地址,利用客户端私钥将所述加密地址解密为所述节点的地址信息,建立所述第一哈希文件与所述地址信息的第一对象组,利用所述云平台公钥将所述第一对象组加密为加密第一对象组,将所述加密第一对象组上传至所述云平台;以及,接收所述云平台返回的加密第二对象组,利用所述客户端私钥将所述加密第二对象组解密为第二对象组,从所述第二对象组中获取所述加密文件,利用所述客户端私钥将所述加密文件解密为所述原始文件;
所述云平台,还用于利用云平台私钥将所述加密第一对象组解密为所述第一哈希文件与所述地址信息的所述第一对象组,获取所述地址信息所对应的节点上的所述加密文件,建立所述第一哈希文件与所述加密文件的第二对象组,利用所述客户端公钥将所述第二对象组加密为加密第二对象组,将所述加密第二对象组返回至所述客户端。
7.如权利要求6所述的基于区块链的数据传输系统,其特征在于,
所述客户端,还用于在从所述第二对象组中获取所述加密文件之后,对所述加密文件进行哈希得到第二哈希文件,并确定所述第二哈希文件与所述第一哈希文件一致。
8.一种基于区块链的数据传输方法,其特征在于,包括:
利用客户端公钥将原始文件加密成加密文件;
对所述加密文件进行哈希处理得到第一哈希文件;
将所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件上传至云平台;
接收所述云平台返回的区块链以及云平台公钥;
其中,所述云平台用于将所述第一哈希文件以及所述加密文件存储在所述云平台的设定节点上,利用所述客户端公钥将所述节点的地址信息加密为加密地址,根据所述第一哈希文件以及所述加密地址构建所述区块链,将所述区块链以及所述云平台公钥返回至所述客户端。
9.如权利要求8所述的基于区块链的数据传输方法,其特征在于,在利用客户端公钥将原始文件加密成加密文件之前,所述基于区块链的数据上传方法还包括:
将所述原始文件切分成多个原始子文件。
10.如权利要求8所述的基于区块链的数据传输方法,其特征在于,利用客户端公钥将原始文件加密成加密文件,包括:
确定存储在硬件设备中的客户端公钥;
利用所述客户端公钥将所述原始文件加密成所述加密文件。
11.如权利要求8~10任一项所述的基于区块链的数据传输方法,其特征在于,所述基于区块链的数据传输方法还包括:
从所述区块链中确定所述第一哈希文件以及所述加密地址;
利用客户端私钥将所述加密地址解密为所述节点的地址信息;
建立所述第一哈希文件与所述地址信息的第一对象组
利用所述云平台公钥将所述第一对象组加密为加密第一对象组;
将所述加密第一对象组上传至所述云平台;
接收所述云平台返回的加密第二对象组;
利用所述客户端私钥将所述加密第二对象组解密为第二对象组;
从所述第二对象组中获取所述加密文件,利用所述客户端私钥将所述加密文件解密为所述原始文件;
其中,所述云平台用于利用云平台私钥将所述加密第一对象组解密为所述第一哈希文件与所述地址信息的所述第一对象组,获取所述地址信息所对应的节点上的所述加密文件,建立所述第一哈希文件与所述加密文件的第二对象组,利用所述客户端公钥将所述第二对象组加密为加密第二对象组,将所述加密第二对象组返回至所述客户端。
12.如权利要求11所述的基于区块链的数据传输方法,其特征在于,在从所述第二对象组中获取所述加密文件之后,所述基于区块链的数据传输方法还包括:
对所述加密文件进行哈希得到第二哈希文件,并确定所述第二哈希文件与所述第一哈希文件一致。
13.一种基于区块链的数据传输方法,其特征在于,包括:
接收客户端上传的客户端公钥、利用所述客户端公钥加密的加密客户端标识、第一哈希文件以及加密文件;
将所述第一哈希文件以及所述加密文件存储在所述云平台的设定节点上;
利用所述客户端公钥将所述节点的地址信息加密为加密地址;
根据所述第一哈希文件以及所述加密地址构建所述区块链;
将所述区块链以及所述云平台公钥返回至所述客户端;
其中,所述客户端用于利用客户端公钥将原始文件加密成加密文件,对所述加密文件进行哈希处理得到第一哈希文件,将所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件上传至云平台;以及,接收所述云平台返回的区块链以及云平台公钥。
14.如权利要求13所述的基于区块链的数据传输方法,其特征在于,将所述第一哈希文件以及所述加密文件存储在所述云平台的设定节点上,包括:
用于将所述第一哈希文件以及所述加密文件存储在所述云平台的多个设定节点上。
15.如权利要求13所述的基于区块链的数据传输方法,其特征在于,根据所述第一哈希文件以及所述加密地址构建所述区块链,包括:
根据所述第一哈希文件以及所述加密地址构建区块体;
按照时间戳顺序将所述区块体连接至初始块,以构建所述区块链。
16.如权利要求13~15任一项所述的基于区块链的数据传输方法,其特征在于,所述基于区块链的数据传输方法还包括:
利用云平台私钥将所述加密第一对象组解密为所述第一哈希文件与所述地址信息的所述第一对象组;
获取所述地址信息所对应的节点上的所述加密文件;
建立所述第一哈希文件与所述加密文件的第二对象组;
利用所述客户端公钥将所述第二对象组加密为加密第二对象组;
将所述加密第二对象组返回至所述客户端;
其中,所述客户端用于从所述区块链中确定所述第一哈希文件以及所述加密地址,利用客户端私钥将所述加密地址解密为所述节点的地址信息,建立所述第一哈希文件与所述地址信息的第一对象组,利用所述云平台公钥将所述第一对象组加密为加密第一对象组,将所述加密第一对象组上传至所述云平台;以及,接收所述云平台返回的加密第二对象组,利用所述客户端私钥将所述加密第二对象组解密为第二对象组,从所述第二对象组中获取所述加密文件,利用所述客户端私钥将所述加密文件解密为所述原始文件。
17.一种客户端,其特征在于,包括:
加密模块,用于利用客户端公钥将原始文件加密成加密文件;
哈希模块,用于对所述加密文件进行哈希处理得到第一哈希文件;
上传模块,用于将所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件上传至云平台;
接收模块,用于接收所述云平台返回的区块链以及云平台公钥;
其中,所述云平台用于将所述第一哈希文件以及所述加密文件存储在所述云平台的设定节点上,利用所述客户端公钥将所述节点的地址信息加密为加密地址,根据所述第一哈希文件以及所述加密地址构建所述区块链,将所述区块链以及所述云平台公钥返回至所述客户端。
18.如权利要求17所述的客户端,其特征在于,所述客户端还包括:
切分模块,用于在利用客户端公钥将原始文件加密成加密文件之前,将所述原始文件切分成多个原始子文件。
19.如权利要求17所述的客户端,其特征在于,
所述加密模块,具体用于确定存储在硬件设备中的客户端公钥;利用所述客户端公钥将所述原始文件加密成所述加密文件。
20.如权利要求17~19任一项所述的客户端,其特征在于,所述客户端还包括:
确定模块,用于从所述区块链中确定所述第一哈希文件以及所述加密地址;
解密模块,用于利用客户端私钥将所述加密地址解密为所述节点的地址信息;以及,利用所述客户端私钥将所述加密第二对象组解密为第二对象组;以及,从所述第二对象组中获取所述加密文件,利用所述客户端私钥将所述加密文件解密为所述原始文件;
建立模块,用于建立所述第一哈希文件与所述地址信息的第一对象组
所述加密模块,还用于利用所述云平台公钥将所述第一对象组加密为加密第一对象组;
所述上传模块,还用于将所述加密第一对象组上传至所述云平台;
所述接收模块,还用于接收所述云平台返回的加密第二对象组;
其中,所述云平台用于利用云平台私钥将所述加密第一对象组解密为所述第一哈希文件与所述地址信息的所述第一对象组,获取所述地址信息所对应的节点上的所述加密文件,建立所述第一哈希文件与所述加密文件的第二对象组,利用所述客户端公钥将所述第二对象组加密为加密第二对象组,将所述加密第二对象组返回至所述客户端。
21.如权利要求20所述的客户端,其特征在于,
所述确定模块,还用于在从所述第二对象组中获取所述加密文件之后,对所述加密文件进行哈希得到第二哈希文件,并确定所述第二哈希文件与所述第一哈希文件一致。
22.一种云平台,其特征在于,包括,
接收单元,用于接收客户端上传的客户端公钥、利用所述客户端公钥加密的加密客户端标识、第一哈希文件以及加密文件;
存储单元,用于将所述第一哈希文件以及所述加密文件存储在所述云平台的设定节点上;
加密单元,用于利用所述客户端公钥将所述节点的地址信息加密为加密地址;
构建单元,用于根据所述第一哈希文件以及所述加密地址构建所述区块链;
返回单元,用于将所述区块链以及所述云平台公钥返回至所述客户端;
其中,所述客户端用于利用客户端公钥将原始文件加密成加密文件,对所述加密文件进行哈希处理得到第一哈希文件,将所述客户端公钥、利用所述客户端公钥加密的加密客户端标识、所述第一哈希文件以及所述加密文件上传至云平台;以及,接收所述云平台返回的区块链以及云平台公钥。
23.如权利要求22所述的云平台,其特征在于,
所述存储单元,具体用于将所述第一哈希文件以及所述加密文件存储在所述云平台的多个设定节点上。
24.如权利要求22所述的云平台,其特征在于,
所述构建单元,具体用于根据所述第一哈希文件以及所述加密地址构建区块体;按照时间戳顺序将所述区块体连接至初始块,以构建所述区块链。
25.如权利要求22~24任一项所述的云平台,其特征在于,所述云平台还包括:
解密单元,用于利用云平台私钥将所述加密第一对象组解密为所述第一哈希文件与所述地址信息的所述第一对象组;
获取单元,用于获取所述地址信息所对应的节点上的所述加密文件;
建立单元,用于建立所述第一哈希文件与所述加密文件的第二对象组;
所述加密单元,还用于利用所述客户端公钥将所述第二对象组加密为加密第二对象组;
所述返回单元,还用于将所述加密第二对象组返回至所述客户端;
其中,所述客户端用于从所述区块链中确定所述第一哈希文件以及所述加密地址,利用客户端私钥将所述加密地址解密为所述节点的地址信息,建立所述第一哈希文件与所述地址信息的第一对象组,利用所述云平台公钥将所述第一对象组加密为加密第一对象组,将所述加密第一对象组上传至所述云平台;以及,接收所述云平台返回的加密第二对象组,利用所述客户端私钥将所述加密第二对象组解密为第二对象组,从所述第二对象组中获取所述加密文件,利用所述客户端私钥将所述加密文件解密为所述原始文件。
26.一种计算设备,其特征在于,包括存储器和处理器,其中:
所述存储器,用于存储程序指令;
所述处理器,用于调用所述存储器中存储的程序指令,并按照获得的程序执行权利要求8~12任一项所述的基于区块链的数据传输方法。
27.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行权利要求8~12任一项所述的基于区块链的数据传输方法。
28.一种计算机,其特征在于,包括存储设备和处理设备,其中:
所述存储设备,用于存储程序指令;
所述处理设备,用于调用所述存储设备中存储的程序指令,并按照获得的程序执行权利要求13~16任一项所述的基于区块链的数据传输方法。
29.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行权利要求13~16任一项所述的基于区块链的数据传输方法。
CN201711464955.2A 2017-12-28 2017-12-28 一种基于区块链的数据传输系统、方法及相关设备 Pending CN109981551A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711464955.2A CN109981551A (zh) 2017-12-28 2017-12-28 一种基于区块链的数据传输系统、方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711464955.2A CN109981551A (zh) 2017-12-28 2017-12-28 一种基于区块链的数据传输系统、方法及相关设备

Publications (1)

Publication Number Publication Date
CN109981551A true CN109981551A (zh) 2019-07-05

Family

ID=67075194

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711464955.2A Pending CN109981551A (zh) 2017-12-28 2017-12-28 一种基于区块链的数据传输系统、方法及相关设备

Country Status (1)

Country Link
CN (1) CN109981551A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110335055A (zh) * 2019-07-17 2019-10-15 中国银行股份有限公司 基于云平台的业务数据追溯方法及装置
CN110347689A (zh) * 2019-07-12 2019-10-18 全链通有限公司 数据存储方法、设备及计算机可读存储介质
CN110633578A (zh) * 2019-08-26 2019-12-31 苏州全时空信息技术有限公司 智能共享云存储方法与系统
CN111709041A (zh) * 2020-06-04 2020-09-25 江苏荣泽信息科技股份有限公司 一种基于区块链的数据存储及导出方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104348846A (zh) * 2013-07-24 2015-02-11 航天信息股份有限公司 基于wpki实现云存储系统数据通信安全的方法和系统
CN106685932A (zh) * 2016-12-08 2017-05-17 努比亚技术有限公司 一种基于云服务的文件访问系统和方法
CN106686008A (zh) * 2017-03-03 2017-05-17 腾讯科技(深圳)有限公司 信息存储方法及装置
CN106991334A (zh) * 2016-11-24 2017-07-28 阿里巴巴集团控股有限公司 一种数据存取的方法、系统及装置
CN107181599A (zh) * 2017-07-18 2017-09-19 天津理工大学 基于区块链的路由位置数据保密存储及共享方法
CN107248984A (zh) * 2017-06-06 2017-10-13 北京京东尚科信息技术有限公司 数据交换系统、方法和装置
US20170324711A1 (en) * 2016-05-03 2017-11-09 The Real Mccoy, Llc Inc. Method for establishing, securing and transferring computer readable information using peer-to-peer public and private key cryptography
CN107360156A (zh) * 2017-07-10 2017-11-17 广东工业大学 一种大数据环境下基于区块链的p2p网络云端存储方法
CN107391298A (zh) * 2017-07-06 2017-11-24 上海策链信息科技有限公司 数据存储状态检测方法、装置及计算机可读存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104348846A (zh) * 2013-07-24 2015-02-11 航天信息股份有限公司 基于wpki实现云存储系统数据通信安全的方法和系统
US20170324711A1 (en) * 2016-05-03 2017-11-09 The Real Mccoy, Llc Inc. Method for establishing, securing and transferring computer readable information using peer-to-peer public and private key cryptography
CN106991334A (zh) * 2016-11-24 2017-07-28 阿里巴巴集团控股有限公司 一种数据存取的方法、系统及装置
CN106685932A (zh) * 2016-12-08 2017-05-17 努比亚技术有限公司 一种基于云服务的文件访问系统和方法
CN106686008A (zh) * 2017-03-03 2017-05-17 腾讯科技(深圳)有限公司 信息存储方法及装置
CN107248984A (zh) * 2017-06-06 2017-10-13 北京京东尚科信息技术有限公司 数据交换系统、方法和装置
CN107391298A (zh) * 2017-07-06 2017-11-24 上海策链信息科技有限公司 数据存储状态检测方法、装置及计算机可读存储介质
CN107360156A (zh) * 2017-07-10 2017-11-17 广东工业大学 一种大数据环境下基于区块链的p2p网络云端存储方法
CN107181599A (zh) * 2017-07-18 2017-09-19 天津理工大学 基于区块链的路由位置数据保密存储及共享方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈庆章: "《计算机技术与应用进展》", 31 July 2008 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110347689A (zh) * 2019-07-12 2019-10-18 全链通有限公司 数据存储方法、设备及计算机可读存储介质
CN110335055A (zh) * 2019-07-17 2019-10-15 中国银行股份有限公司 基于云平台的业务数据追溯方法及装置
CN110633578A (zh) * 2019-08-26 2019-12-31 苏州全时空信息技术有限公司 智能共享云存储方法与系统
CN111709041A (zh) * 2020-06-04 2020-09-25 江苏荣泽信息科技股份有限公司 一种基于区块链的数据存储及导出方法
CN111709041B (zh) * 2020-06-04 2022-07-22 江苏荣泽信息科技股份有限公司 一种基于区块链的数据存储及导出方法

Similar Documents

Publication Publication Date Title
US20170104736A1 (en) Secure data storage on a cloud environment
CN107612683B (zh) 一种加解密方法、装置、系统、设备和存储介质
CN109214201B (zh) 一种数据共享方法、终端设备及计算机可读存储介质
CN110417781A (zh) 基于区块链的文档加密管理方法、客户端及服务器
CN109981551A (zh) 一种基于区块链的数据传输系统、方法及相关设备
CN109495252A (zh) 数据加密方法、装置、计算机设备及存储介质
CN110401538A (zh) 数据加密方法、系统以及终端
CN107196907A (zh) 一种安卓so文件的保护方法及装置
CN110224984A (zh) 一种基于区块链技术的多方授权方法及装置
CN110224834A (zh) 基于动态令牌的身份认证方法、解密及加密终端
CN109040134A (zh) 一种信息加密的设计方法及相关装置
CN107040520A (zh) 一种云计算数据共享系统及方法
CN109257176A (zh) 基于sm2算法的解密密钥分割及解密方法、装置和介质
CN112199697A (zh) 基于共享根密钥的信息处理方法、装置、设备及介质
CN108229192B (zh) 一种文件解密方法、装置及客户端
CN108574567A (zh) 隐私文件保护和加密密钥管理系统及方法、信息处理终端
CN107154916A (zh) 一种认证信息获取方法、提供方法及装置
CN109474616A (zh) 多平台数据共享方法和装置及计算机可读存储介质
CN110474764B (zh) 密文数据集交集计算方法、装置、系统、客户端、服务器及介质
CN117240625B (zh) 一种涉及防篡改的数据处理方法、装置及电子设备
CN112202555B (zh) 基于信息的属性生成随机数的信息处理方法、装置及设备
CN113434906A (zh) 数据查询方法、装置、计算机设备及存储介质
CN105847883A (zh) 一种基于用户信任等级的节目流推送方法和装置
CN115118520B (zh) 数据处理方法、装置和服务器
CN109871698A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190705

RJ01 Rejection of invention patent application after publication