CN116527292A - 基于区块链的文件处理方法、装置、设备及存储介质 - Google Patents

基于区块链的文件处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116527292A
CN116527292A CN202211404520.XA CN202211404520A CN116527292A CN 116527292 A CN116527292 A CN 116527292A CN 202211404520 A CN202211404520 A CN 202211404520A CN 116527292 A CN116527292 A CN 116527292A
Authority
CN
China
Prior art keywords
file
target
encrypted file
encrypted
ipfs
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
CN202211404520.XA
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.)
Dongguan Mengda Group Co ltd
Original Assignee
Dongguan Mengda Group 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 Dongguan Mengda Group Co ltd filed Critical Dongguan Mengda Group Co ltd
Priority to CN202211404520.XA priority Critical patent/CN116527292A/zh
Publication of CN116527292A publication Critical patent/CN116527292A/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
    • 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
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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
    • H04L67/1097Protocols 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]
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于区块链的文件处理方法、装置、设备及存储介质,属于区块链技术领域。所述方法包括:响应于文件上传操作,获取待加密文件,并采用目标私钥对待加密文件进行加密,得到目标加密文件;将目标加密文件上传至星际文件系统IPFS服务层,以使IPFS服务层对目标加密文件进行存储,并将目标加密文件进行上链存储。上述技术方案,使得文件得到安全存储,在IPFS服务层异常的情况下,也不会导致文件泄露和丢失,从而提高了数据的安全性。

Description

基于区块链的文件处理方法、装置、设备及存储介质
技术领域
本发明涉及数据处理技术领域和区块链技术领域,尤其涉及一种基于区块链的文件处理方法、装置、设备及存储介质。
背景技术
中心化管理可以满足用户随时随地获取数据的需求的优势,使得其在各个领域得到广泛应用,特别是在网盘服务方面。然而,随着人们对信息安全的愈发重视,中心化管理的弊端也暴露的更加彻底。
目前,网盘服务都是中心化的,用户的所有数据都是存储在服务商的中心化服务器上,服务商对用户的数据拥有绝对的控制权,可以随意对用户的数据进行查阅、更改和删除,使得用户的数据存在泄露和丢失的风险。因此,急需一种方法来解决上述问题。
发明内容
本发明提供了一种基于区块链的文件处理方法、装置、设备及存储介质,以提高数据的安全性。
根据本发明的一方面,提供了一种基于区块链的文件处理方法,应用于客户端,包括:
响应于文件上传操作,获取待加密文件,并采用目标私钥对待加密文件进行加密,得到目标加密文件;
将目标加密文件上传至星际文件系统IPFS服务层,以使IPFS服务层对目标加密文件进行存储,并将目标加密文件进行上链存储。
根据本发明的另一方面,提供了一种基于区块链的文件处理方法,应用于IPFS服务层,包括:
获取客户端上传的目标加密文件;
对目标加密文件进行分片存储,并向客户端反馈目标加密文件的目标文件标识;
基于预设的智能合约,生成包括目标文件标识的上链存储请求,并将上链存储请求发送到区块链网络中,以使区块链网络基于目标文件标识对目标加密文件进行上链存储。
根据本发明的另一方面,提供了一种基于区块链的文件处理装置,配置于客户端,包括:
待加密文件获取模块,用于响应于文件上传操作,获取待加密文件,并采用目标私钥对待加密文件进行加密,得到目标加密文件;
文件存储模块,用于将目标加密文件上传至星际文件系统IPFS服务层,以使IPFS服务层对目标加密文件进行存储,并将目标加密文件进行上链存储。
根据本发明的另一方面,提供了一种基于区块链的文件处理装置,配置于IPFS服务层,包括:
加密文件获取模块,用于获取客户端上传的目标加密文件;
文件标识反馈模块,用于对目标加密文件进行分片存储,并向客户端反馈目标加密文件的目标文件标识;
存储请求生成模块,用于基于预设的智能合约,生成包括目标文件标识的上链存储请求,并将上链存储请求发送到区块链网络中,以使区块链网络基于目标文件标识对目标加密文件进行上链存储。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的计算机程序,计算机程序被至少一个处理器执行,以使至少一个处理器能够执行本发明任一实施例的基于区块链的文件处理方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,计算机指令用于使处理器执行时实现本发明任一实施例的基于区块链的文件处理方法。
本发明实施例的技术方案,通过响应于文件上传操作,获取待加密文件,并采用目标私钥对待加密文件进行加密,得到目标加密文件;将目标加密文件上传至星际文件系统IPFS服务层,以使IPFS服务层对目标加密文件进行存储,并将目标加密文件进行上链存储。上述技术方案,采用IPFS和区块链网络同时对文件进行存储,在保证快速上传下载文件的同时,还可以避免在IPFS服务层异常的情况下文件的丢失,从而保证了数据的高效访问和安全存储。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例一提供的一种基于区块链的文件处理方法的流程图;
图2是根据本发明实施例二提供的一种基于区块链的文件处理方法的流程图;
图3是根据本发明实施例三提供的一种基于区块链的文件处理方法的流程图;
图4是根据本发明实施例四提供的一种基于区块链的文件处理方法的流程图;
图5是根据本发明实施例五提供的一种基于区块链的文件处理装置的结构示意图;
图6是根据本发明实施例六提供的一种基于区块链的文件处理装置的结构示意图;
图7是实现本发明实施例的基于区块链的文件处理方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“目标”和“其他”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
此外,还需要说明的是,本发明的技术方案中,所涉及的待加密文件等的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
实施例一
图1为本发明实施例一提供的一种基于区块链的文件处理方法的流程图,本实施例可适用于对网盘系统的数据进行保护的情况,该方法可以由基于区块链的文件处理装置来执行,该基于区块链的文件处理装置可以采用硬件和/或软件的形式实现,该基于区块链的文件处理装置可配置于电子设备中,例如客户端中。如图1所示,该方法包括:
S101、响应于文件上传操作,获取待加密文件,并采用目标私钥对待加密文件进行加密,得到目标加密文件。
其中,待加密文件可以是指需要加密的文件。目标私钥用于对待加密文件进行加密,可选的,可以由用户导入,可以基于客户端中预设的算法随机生成,还可以从一个客户端中导出,然后在其他客户端中直接导入使用。目标加密文件可以是指经过加密的文件,具体可以是通过目标私钥对待加密文件进行加密得到的加密文件。其中,用户标识用于唯一标识用户;可选的,可以基于目标私钥绑定用户标识,具体的,可以通过目标私钥对用户标识进行签名,然后广播到区块链网络来完成目标私钥与用户标识的绑定。
具体的,用户可以在客户端界面中点击文件上传控件;相应的,客户端响应于用户的文件上传操作,获取用户上传的待加密文件,之后根据用户标识随机生成目标私钥,并可以利用目标私钥对待加密文件进加密,得到目标加密文件。
需要说明的是,用户上传的文件是否需要加密,可以由用户自行决定。因此,用户还可以在客户端上传不需要加密的文件。
S102、将目标加密文件上传至星际文件系统IPFS服务层,以使IPFS服务层对目标加密文件进行存储,并将目标加密文件进行上链存储。
其中,星际文件系统(InterPlanetary File System,IPFS)服务层是指搭载了IPFS联盟链网络的服务端,用于对客户端上传的文件进行存储,并进行上链存储。上链存储是指将文件上传至区块链网络,例如将文件上传至Filecoin网络中。
具体的,客户端将目标加密文件上传至IPFS服务层;相应的,IPFS服务层在接收到目标加密文件后,将目标加密文件进行分片存储,即对目标加密文件进行分片,得到至少一个文件碎片,之后将每一个文件碎片存储到IPFS的不同节点中。与此同时,IPFS服务层会生成目标加密文件的目标文件标识CID(Content-ID),并将目标加密文件的目标文件标识反馈给客户端。其中,CID是一个字符串,由Version、Codec和Multihash构成;Version表示CID的版本,比如v0(版本0)和v1(版本1);Codec表示文件内容的编码类型,Multihash表示哈希算法。进一步的,IPFS服务层对目标加密文件存储完成后,会向区块链网络Filecoin发送包括目标文件标识的上链存储请求;相应的,Filecoin可以在接收到上链存储请求后,会根据目标文件标识从IPFS服务层下载并存储目标加密文件。
需要说明的,本发明中将用户的文件存储到Filecoin网络做永久存档,保证用户的文件不会被非法查阅,恶意更改和删除。但是Filecoin作为公链,它的TPS比较低,性能无法跟传统的存储系统相比。本发明采用在服务端搭建一个IPFS联盟链网络作为缓冲区的方法来解决此问题,即IPFS保障了用户能对文件进行快速上传和下载。也就是说,通过区块链来保障文件安全存储,即用来存储冷数据,通过IPFS来保障用户能对文件进行快速上传和下载,即用户存储热数据,能够同时保证数据的安全和高效。
本发明实施例的技术方案,通过响应于文件上传操作,获取待加密文件,并采用目标私钥对待加密文件进行加密,得到目标加密文件;将目标加密文件上传至星际文件系统IPFS服务层,以使IPFS服务层对目标加密文件进行存储,并将目标加密文件进行上链存储。上述技术方案,采用IPFS和区块链网络同时对文件进行存储,在保证快速上传下载文件的同时,还可以避免在IPFS服务层异常的情况下文件的丢失,从而保证了数据的高效访问和安全存储。
在上述实施例的基础上,作为本发明实施例的一种可选方式,所述方法还可以包括:在将目标加密文件上传至IPFS服务层,以使IPFS服务层对目标加密文件进行存储,并将目标加密文件进行上链存储之后,获取目标检索词;基于关键词与文件标识的对应关系,根据目标检索词,从IPFS服务层中获取目标检索词相关的加密文件。
其中,目标检索词可以是指用户输入的关键词。文件标识用于唯一标识一个文件,可以是CID。关键词可以是指能够代表一个文件核心内容的词汇。
其中,关键词与文件标识的对应关系是指关键词与文件标识之间的关联关系,可以以文件索引表的形式存储在客户端或者服务端;可选的,关键词与文件标识的对应关系可以是一对一关系,即一个关键词对应一个文件标识;可以是一对多关系,即一个关键词对应多个文件标识;也可以是多对一关系,即多个关键词对应一个文件标识;还可以是多对多关系,即多个关键词对应多个文件标识。
可选的,若文件索引表在客户端,则用户可以在客户端输入目标检索词,相应的,客户端在获得目标检索词后,根据目标检索词,从文件索引表中找到对应的文件标识,将对应的文件标识发送给IPFS服务层;相应的,IPFS服务层基于文件标识确定对应的加密文件,并将对应的加密文件反馈给客户端,以供用户查阅。具体可以是,客户端通过P2P(peer topeer,点对点)协议从IPFS服务层下载对应的加密文件的文件碎片,然后将文件碎片整合成完整的加密文件。
可选的,若文件索引表在服务端,则用户可以在客户端输入目标检索词,相应的,客户端在获得目标检索词后,将目标检索词发送给IPFS服务层;相应的,IPFS服务层获取目标检索词后,根据目标检索词,从文件索引表中找到对应的文件标识,并基于文件标识确定对应的加密文件,并将对应的加密文件反馈给客户端,以供用户查阅。
此外,基于关键词与文件标识的对应关系,根据目标检索词,也可能无法从IPFS服务层中获取目标检索词相关的加密文件。此时,可以向用户发送提示信息,提示用户更换目标检索词。
上述技术方案,通过基于关键词与文件标识的对应关系,根据目标检索词,从IPFS服务层中获取目标检索词相关的加密文件,提供了对加密文件进行检索的功能,便于后期对加密文件进行检索,提高了加密文件的查找速度。
在上述实施例的基础上,作为本发明实施例的一种可选方式,所述方法还可以包括:采用目标私钥对目标用户标识进行签名,得到登录凭证;其中登录凭证属于待加密文件的归属方;登录凭证具有生效期限。
具体的,目标用户标识是指待加密文件的归属方的标识,具体可以是上传文件的用户的标识。登录凭证是判断用户身份真实性的凭证,用于用户登录客户端。归属方可以是指待加密文件的拥有者。生效期限可以是指登录凭证的使用期限,可以是登录凭证的使用次数,也可以是登录凭证的生效时长,例如可以是在一段时间内的使用时间。
示例性的,若每次生成的登录凭证只能使用5次。采用目标私钥对目标用户进行签名,得到登录凭证;后续用户可以使用登录凭证5次登录客户端;在第6次使用登录凭证时,弹出提示信息,提示用户登录凭证已失效,用户需要重新采用目标私钥对目标用户进行签名,得到登录凭证。
示例性的,若每次生成的登录凭证只在生成后的5分钟内有效。采用目标私钥对目标用户进行签名,得到登录凭证;如果用户在登录凭证生成后的5分钟内没有使用,则登录凭证失效,弹出提示信息,提示用户登录凭证已失效,用户需要重新采用目标私钥对目标用户进行签名,得到登录凭证。如果用户在登录凭证生成后的5分钟内使用,用户成功登录客户端。
上述技术方案,提供了使用登录凭证登录客户端的方法,提高了登录效率;同时,给登录凭证设置了生效期限,避免了用户在频繁访问IPFS服务层的过程中,其他用户盗用登录凭证造成的数据泄露,进一步保证用户数据的安全性。
实施例二
图2为本发明实施例二提供的一种基于区块链的文件处理方法的流程图,本实施例在上述实施例的基础上,提供一种可选实施方案:在将目标加密文件上传至IPFS服务层,以使IPFS服务层对目标加密文件进行存储,并将目标加密文件进行上链存储之后,响应于对目标加密文件的查阅请求,从IPFS服务层中获取目标加密文件;采用目标私钥、目标密码文件和目标密钥凭证中任一项,对目标加密文件进行解密,得到目标解密文件;其中,目标密码文件和目标密钥凭证基于目标私钥生成。需要说明的是,在本发明实施例中未详述部分,可参照前述实施例的相关表述。如图2所示,该方法包括:
S201、响应于文件上传操作,获取待加密文件,并采用目标私钥对待加密文件进行加密,得到目标加密文件。
S202、将目标加密文件上传至星际文件系统IPFS服务层,以使IPFS服务层对目标加密文件进行存储,并将目标加密文件进行上链存储。
S203、响应于对目标加密文件的查阅请求,从IPFS服务层中获取目标加密文件。
其中,查阅请求是指查看目标加密文件的请求;可选的,可以包括目标加密文件的文件标识、目标加密文件的文件名和目标加密文件的关键词等。
具体的,IPFS服务层响应于用户对目标加密文件的查阅请求;从参阅请求中提取目标加密文件的目标文件标识;根据目标文件标识,从IPFS服务层中获取目标加密文件,用户可以对获取的目标加密文件进行下载。
S204、采用目标私钥、目标密码文件和目标密钥凭证中任一项,对目标加密文件进行解密,得到目标解密文件。
本实施例中,目标密码文件和目标密钥凭证基于目标私钥生成;其中,目标密码文件用于后续目标加密文件的归属方对目标加密文件进行解密;可选的,可以伴随目标私钥的生成而生成,即在生成目标私钥的同时,基于预设算法,为目标私钥生成对应的目标密码文件。目标密钥凭证用于后续其他用户(即非目标加密文件的归属方的其他用户)对目标加密文件进行解密,可选的,目标密钥凭证可以通过目标加密文件的归属方利用目标私钥对查阅请求授权得到。
进一步的,可以根据不同的用户,从目标私钥、目标密码文件和目标密钥凭证中选择对应的方式,对目标加密文件进行解密,得到目标解密文件。
示例性的,若查阅请求由目标加密文件所属的目标用户发起,则采用目标私钥或目标密钥文件,对目标加密文件进行解密,得到目标解密文件;若查阅请求由除目标用户外的其他用户发起,则采用目标密钥凭证,对目标加密文件进行解密,得到解密文件。
其中,目标用户可以是指上传目标加密文件的用户,即目标加密文件的归属方。
一种可选方式,若查阅请求由目标加密文件所属的目标用户发起,可以根据目标私钥对目标加密文件进行解密,得到目标解密文件;也可以根据目标密钥文件对目标加密文件进行解密,得到目标解密文件,以进行文件查阅。
另一种可选方式,若查阅请求由除目标用户外的其他用户发起,则需要其他用户向区块链网络发起包括公钥签名的查阅请求;相应的,区块链网络广播查阅请求;相应的,目标用户接收到查阅请求后,通过目标私钥对查阅请求进行授权,得到目标密钥凭证,并将目标密钥凭证反馈给区块链网络;相应的,区块链网络将目标密钥凭证发送给其他用户,其他用户可以根据目标密钥凭证对目标加密文件进行解密,得到解密文件,以进行文件查阅。
上述示例的技术方案,提供了不同用户查阅目标加密文件的方式,如果不是目标加密文件的目标用户,或者如果目标用户没有对其他用户的查阅请求授权,则其他用户无法查阅目标加密文件,使得目标用户对目标加密文件拥有绝对的控制权,避免了其他用户对目标用户的目标加密文件的恶意修改或删除,提高了目标用户的目标加密文件的数据安全性。
本发明实施例的技术方案,在将目标加密文件上传至IPFS服务层,以使IPFS服务层对目标加密文件进行存储,并将目标加密文件进行上链存储之后,通过响应于对目标加密文件的查阅请求,从IPFS服务层中获取目标加密文件;采用目标私钥、目标密码文件和目标密钥凭证中任一项,对目标加密文件进行解密,得到目标解密文件。上述技术方案,提供了对目标加密文件进行查阅的方式,只有在获得合适的解密密钥后,才可以对目标加密文件进行查阅,避免了目标加密文件的泄露,保障了目标加密文件数据的安全性。
在上述实施例的基础上,作为本发明实施例的一种可选方式,所述方法还可以包括:在IPFS服务层异常的情况下,向区块链网络发起对包括目标文件标识的文件处理请求,以获取目标加密文件。
其中,IPFS服务层异常可以是IPFS服务层由于自身硬件或软件故障导致的,也可以是IPFS服务层受到外界攻击导致的。所谓文件处理请求是指对文件进行管理的请求,可以包括文件查阅请求、文件修改请求和文件下载请求等。
具体的,在IPFS服务层异常的情况下,用户向区块链网络发起对包括目标文件标识的文件处理请求;相应的,区块链网络在接收到文件处理请求后,向用户反馈文件处理请求对应的信息,比如请求下载用户所存储在区块链网络中的文件等。
上述操作,保证了IPFS服务层异常的情况下,还可以从区块链网络中获取文件,保证了文件的安全性。
实施例三
图3为本发明实施例三提供的一种基于区块链的文件处理方法的流程图,本实施例可适用于对网盘系统的数据进行保护的情况,该方法可以由基于区块链的文件处理装置来执行,该基于区块链的文件处理装置可以采用硬件和/或软件的形式实现,并具体配置于IPFS服务层中。如图3所示,该方法包括:
S301、获取客户端上传的目标加密文件。
具体的,IPFS服务层从客户端获取目标用户上传的目标加密文件。
S302、对目标加密文件进行分片存储,并向客户端反馈目标加密文件的目标文件标识。
其中,目标文件标识可以是指目标加密文件对应的文件标识,例如CID。
具体的,IPFS服务层可以根据某种结构对目标加密文件进行分配存储,比如,可以根据balanced(平衡)结构,对目标加密文件进行分片存储:首先,根据目标加密文件的目标文件标识,生成根节点(root),然后,按照256KB的大小将目标加密文件分割成一个个文件碎片,作为叶子节点(node)。根节点可以链接到每个叶子节点,通过根节点可以找到其关联的所有叶子节点。也就是说,根据目标加密文件的目标文件标识,可以从IPFS服务层中查询到目标加密文件的所有文件碎片,将这些文件碎片重新组合起来,就可以得到目标加密文件。IPFS服务层在对目标加密文件进行分片存储后,向客户端反馈目标加密文件的目标文件标识。
S303、基于预设的智能合约,生成包括目标文件标识的上链存储请求,并将上链存储请求发送到区块链网络中,以使区块链网络基于目标文件标识对目标加密文件进行上链存储。
其中,智能合约(Smart Contract)可以是一种旨在以信息化方式传播、验证或执行合同的计算机协议,可以根据不同的业务需要自行设置。上链存储请求用于指示区块链网络对目标加密文件进行上链存储。
具体的,基于预设的智能合约,生成包括目标文件标识的上链存储请求,IPFS服务层将上链存储请求发送到区块链网络中;区块链网络对上链存储请求进行广播;相应的,区块链网络上的每个节点,基于目标文件标识,对上链存储请求对应的目标加密文件的文件碎片进行存储,并生成存储证明,将存储证明向区块链网络上的其他节点进行广播,避免对目标加密文件的文件碎片的重复存储,最终实现对目标加密文件的上链存储。
本发明实施例的技术方案,通过获取客户端上传的目标加密文件;对目标加密文件进行分片存储,并向客户端反馈目标加密文件的目标文件标识;基于预设的智能合约,生成包括目标文件标识的上链存储请求,并将上链存储请求发送到区块链网络中,以使区块链网络基于目标文件标识对目标加密文件进行上链存储。实现了对目标加密文件的永久存档,保证了目标加密文件的安全存储。
实施例四
图4为本发明实施例四提供的一种基于区块链的文件处理方法的流程图,本实施例在上述实施例的基础上,提供一种可选的技术方案,如图4所示,具体包括:
S401、客户端采用目标私钥对目标用户标识进行签名,得到登录凭证,以使用户登录客户端。
其中,登录凭证具有生效期限。
S402、客户端响应于目标用户的文件上传操作,获取待加密文件。
S403、客户端采用目标私钥对待加密文件进行加密,得到目标加密文件。
S404、客户端将目标加密文件上传至IPFS服务层。
S405、IPFS服务层获取客户端上传的目标加密文件。
S406、IPFS服务层对目标加密文件进行分片存储。
具体的,IPFS服务层可以根据某种结构对目标加密文件进行分配存储,比如,可以根据balanced(平衡)结构,对目标加密文件进行分片存储:首先,根据目标加密文件的目标文件标识,生成根节点(root),然后,按照256KB的大小将目标加密文件分割成一个个文件碎片,作为叶子节点(node)。根节点可以链接到每个叶子节点,通过根节点可以找到其关联的所有叶子节点。也就是说,根据目标加密文件的目标文件标识,可以从IPFS服务层中查询到目标加密文件的所有文件碎片,将这些文件碎片重新组合起来,就可以得到目标加密文件。
S407、IPFS服务层向客户端反馈目标加密文件的目标文件标识。
S408、IPFS服务层基于预设的智能合约,生成包括目标文件标识的上链存储请求。
S409、IPFS服务层将上链存储请求发送到区块链网络中。
S410、区块链网络基于目标文件标识对目标加密文件进行上链存储。
具体的,基于目标文件标识,区块链网络可以从IPFS服务层中查找到该目标文件标识对应的目标加密文件的文件碎片,对这些文件碎片进行上链存储。
本发明实施例的技术方案,实现了对用户上传的文件的加密且上链存储,将用户上传的文件存储在区块链网络中,实现了对用户上传的文件的永久存档,保证了用户上传的文件的存储安全。
在上述实施例的基础上,作为本发明实施例的一种可选方式,所述方法还可以包括:在IPFS服务层正常的情况下,客户端响应于对目标加密文件的查阅请求,从IPFS服务层中获取目标加密文件;在IPFS服务层异常的情况下,客户端响应于对目标加密文件的查阅请求,向区块链网络发起对包括目标文件标识的文件处理请求,以获取目标加密文件;之后,采用目标私钥、目标密码文件和目标密钥凭证中任一项,对目标加密文件进行解密,得到目标解密文件。
上述技术方案,保证了目标加密文件的不丢失,使得用户可以通过多种方式获取目标加密文件,提高了整个基于区块链的文件处理方法的可靠性。
实施例五
图5为本发明实施例五提供的一种基于区块链的文件处理装置的结构示意图。本实施例可适用于对网盘系统的数据进行保护的情况,该基于区块链的文件处理装置可以采用硬件和/或软件的形式实现,该基于区块链的文件处理装置可配置于电子设备中,例如客户端中。如图5所示,该装置包括:
待加密文件获取模块501,用于响应于文件上传操作,获取待加密文件,并采用目标私钥对待加密文件进行加密,得到目标加密文件;
加密文件存储模块502,用于将目标加密文件上传至星际文件系统IPFS服务层,以使IPFS服务层对目标加密文件进行存储,并将目标加密文件进行上链存储。
本发明实施例的技术方案,通过响应于文件上传操作,获取待加密文件,并采用目标私钥对待加密文件进行加密,得到目标加密文件;将目标加密文件上传至星际文件系统IPFS服务层,以使IPFS服务层对目标加密文件进行存储,并将目标加密文件进行上链存储。上述技术方案,采用IPFS和区块链网络同时对文件进行存储,在保证快速上传下载文件的同时,还可以避免在IPFS服务层异常的情况下文件的丢失,从而保证了数据的高效访问和安全存储。
可选的,该装置还可以包括:
加密文件获取模块,用于在将目标加密文件上传至IPFS服务层,以使IPFS服务层对目标加密文件进行存储,并将目标加密文件进行上链存储之后,响应于对目标加密文件的查阅请求,从IPFS服务层中获取目标加密文件;
解密文件获取模块,用于采用目标私钥、目标密码文件和目标密钥凭证中任一项,对目标加密文件进行解密,得到目标解密文件;其中,目标密码文件和目标密钥凭证基于目标私钥生成。
可选的,所述解密文件获取模块,具体用于:
若查阅请求由目标加密文件所属的目标用户发起,则采用目标私钥或目标密钥文件,对目标加密文件进行解密,得到目标解密文件;若查阅请求由除目标用户外的其他用户发起,则采用目标密钥凭证,对目标加密文件进行解密,得到解密文件。
可选的,该装置还可以包括:
检索词获取模块,用于在将目标加密文件上传至IPFS服务层,以使IPFS服务层对目标加密文件进行存储,并将目标加密文件进行上链存储之后,获取目标检索词;
检索词相关的加密文件获取模块,用于基于关键词与文件标识的对应关系,根据目标检索词,从IPFS服务层中获取目标检索词相关的加密文件。
可选的,该装置还可以包括:
IPFS服务层异常处理模块,用于在IPFS服务层异常的情况下,向区块链网络发起对包括目标文件标识的文件处理请求,以获取目标加密文件。
本发明实施例所提供的基于区块链的文件处理装置可执行本发明任意实施例所提供的基于区块链的文件处理方法,具备执行各基于区块链的文件处理方法相应的功能模块和有益效果。
实施例六
图6为本发明实施例六提供的一种基于区块链的文件处理装置的结构示意图。本实施例可适用于对网盘系统的数据进行保护的情况,该方法可以由基于区块链的文件处理装置来执行,该基于区块链的文件处理装置可以采用硬件和/或软件的形式实现,并具体配置于IPFS服务层中。如图6所示,该装置包括:
加密文件获取模块601,用于获取客户端上传的目标加密文件;
文件标识反馈模块602,用于对目标加密文件进行分片存储,并向客户端反馈目标加密文件的目标文件标识;
存储请求生成模块603,用于基于预设的智能合约,生成包括目标文件标识的上链存储请求,并将上链存储请求发送到区块链网络中,以使区块链网络基于目标文件标识对目标加密文件进行上链存储。
本发明实施例的技术方案,通过加密文件获取模块获取客户端上传的目标加密文件;通过文件标识反馈模块对目标加密文件进行分片存储,向客户端反馈目标加密文件的目标文件标识;通过存储请求生成模块,基于预设的智能合约,生成包括目标文件标识的上链存储请求,并将上链存储请求发送到区块链网络中,以使区块链网络基于目标文件标识对目标加密文件进行上链存储。实现了对目标加密文件的永久存档,保证了目标加密文件的安全存储。
本发明实施例所提供的基于区块链的文件处理装置可执行本发明任意实施例所提供的基于区块链的文件处理方法,具备执行各基于区块链的文件处理方法相应的功能模块和有益效果。
实施例七
图7示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图7所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM12以及RAM13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如基于区块链的文件处理方法。
在一些实施例中,基于区块链的文件处理方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM13并由处理器11执行时,可以执行上文描述的基于区块链的文件处理方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行基于区块链的文件处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种基于区块链的文件处理方法,应用于客户端,其特征在于,包括:
响应于文件上传操作,获取待加密文件,并采用目标私钥对所述待加密文件进行加密,得到目标加密文件;
将所述目标加密文件上传至星际文件系统IPFS服务层,以使所述IPFS服务层对所述目标加密文件进行存储,并将所述目标加密文件进行上链存储。
2.根据权利要求1所述的方法,其特征在于,所述将所述目标加密文件上传至IPFS服务层,以使IPFS服务层对所述目标加密文件进行存储,并将所述目标加密文件进行上链存储之后,还包括:
响应于对所述目标加密文件的查阅请求,从所述IPFS服务层中获取所述目标加密文件;
采用所述目标私钥、目标密码文件和目标密钥凭证中任一项,对所述目标加密文件进行解密,得到目标解密文件;其中,所述目标密码文件和所述目标密钥凭证基于所述目标私钥生成。
3.根据权利要求2所述的方法,其特征在于,采用所述目标私钥、目标密码文件和目标密钥凭证中任一项,对所述目标加密文件进行解密,得到目标解密文件,包括:
若所述查阅请求由所述目标加密文件所属的目标用户发起,则采用所述目标私钥或所述目标密钥文件,对所述目标加密文件进行解密,得到目标解密文件;
若所述查阅请求由除所述目标用户外的其他用户发起,则采用所述目标密钥凭证,对所述目标加密文件进行解密,得到解密文件。
4.根据权利要求1所述的方法,其特征在于,所述将所述目标加密文件上传至IPFS服务层,以使IPFS服务层对所述目标加密文件进行存储,并将所述目标加密文件进行上链存储之后,还包括:
获取目标检索词;
基于关键词与文件标识的对应关系,根据所述目标检索词,从IPFS服务层中获取所述目标检索词相关的加密文件。
5.根据权利要求2或3所述的方法,其特征在于,还包括:
在所述IPFS服务层异常的情况下,向区块链网络发起对包括目标文件标识的文件处理请求,以获取目标加密文件。
6.一种基于区块链的文件处理方法,应用于IPFS服务层,其特征在于,包括:
获取客户端上传的目标加密文件;
对所述目标加密文件进行分片存储,并向所述客户端反馈所述目标加密文件的目标文件标识;
基于预设的智能合约,生成包括所述目标文件标识的上链存储请求,并将所述上链存储请求发送到区块链网络中,以使所述区块链网络基于所述目标文件标识对所述目标加密文件进行上链存储。
7.一种基于区块链的文件处理装置,配置于客户端,其特征在于,包括:
待加密文件获取模块,用于响应于文件上传操作,获取待加密文件,并采用目标私钥对所述待加密文件进行加密,得到目标加密文件;
加密文件存储模块,用于将所述目标加密文件上传至星际文件系统IPFS服务层,以使所述IPFS服务层对所述目标加密文件进行存储,并将所述目标加密文件进行上链存储。
8.一种基于区块链的文件处理装置,配置于IPFS服务层,其特征在于,包括:
加密文件获取模块,用于获取客户端上传的目标加密文件;
文件标识反馈模块,用于对所述目标加密文件进行分片存储,并向所述客户端反馈所述目标加密文件的目标文件标识;
存储请求生成模块,用于基于预设的智能合约,生成包括所述目标文件标识的上链存储请求,并将所述上链存储请求发送到区块链网络中,以使所述区块链网络基于所述目标文件标识对所述目标加密文件进行上链存储。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的基于区块链的文件处理方法,和/或,权利要求6中所述的基于区块链的文件处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-5中任一项所述的基于区块链的文件处理方法,和/或,权利要求6中所述的基于区块链的文件处理方法。
CN202211404520.XA 2022-11-10 2022-11-10 基于区块链的文件处理方法、装置、设备及存储介质 Pending CN116527292A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211404520.XA CN116527292A (zh) 2022-11-10 2022-11-10 基于区块链的文件处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211404520.XA CN116527292A (zh) 2022-11-10 2022-11-10 基于区块链的文件处理方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116527292A true CN116527292A (zh) 2023-08-01

Family

ID=87396392

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211404520.XA Pending CN116527292A (zh) 2022-11-10 2022-11-10 基于区块链的文件处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116527292A (zh)

Similar Documents

Publication Publication Date Title
US11070535B2 (en) Systems and methods for smartkey information management
US10402571B2 (en) Community-based de-duplication for encrypted data
US8966287B2 (en) Systems and methods for secure third-party data storage
CN107948152B (zh) 信息存储方法、获取方法、装置及设备
CN110611657A (zh) 一种基于区块链的文件流处理的方法、装置及系统
CN113347206A (zh) 一种网络访问方法和装置
US10990692B2 (en) Managing data handling policies
CN107040520B (zh) 一种云计算数据共享系统及方法
CN112966287B (zh) 获取用户数据的方法、系统、设备和计算机可读介质
CN116383867A (zh) 一种数据查询方法、装置、电子设备及计算机可读介质
CN111339206A (zh) 一种基于区块链的数据共享方法和装置
CN111181920A (zh) 一种加解密的方法和装置
CN108846671B (zh) 基于区块链的在线安全交易方法和系统
CN112560003A (zh) 用户权限管理方法和装置
CN117097526A (zh) 一种基于区块链的数据安全共享方法及装置
CN108512824B (zh) 一种家庭云端文件的管理方法及移动终端
CN110602075A (zh) 一种加密访问控制的文件流处理的方法、装置及系统
CN112966286B (zh) 用户登录的方法、系统、设备和计算机可读介质
CN112565156B (zh) 信息注册方法、装置和系统
CN116527292A (zh) 基于区块链的文件处理方法、装置、设备及存储介质
US20140282838A1 (en) Managing data handling policies
CN113420331B (zh) 一种文件下载权限的管理方法和装置
CN110602074B (zh) 一种基于主从关联的业务身份使用方法、装置及系统
CN113132115B (zh) 一种证书切换方法、装置和系统
CN110602076B (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