CN114615031A - 文件存储方法、装置、电子设备及存储介质 - Google Patents

文件存储方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN114615031A
CN114615031A CN202210186129.0A CN202210186129A CN114615031A CN 114615031 A CN114615031 A CN 114615031A CN 202210186129 A CN202210186129 A CN 202210186129A CN 114615031 A CN114615031 A CN 114615031A
Authority
CN
China
Prior art keywords
file
stored
ciphertext sequence
digital abstract
called
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
CN202210186129.0A
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.)
Agricultural Bank of China
Original Assignee
Agricultural Bank of China
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 Agricultural Bank of China filed Critical Agricultural Bank of China
Priority to CN202210186129.0A priority Critical patent/CN114615031A/zh
Publication of CN114615031A publication Critical patent/CN114615031A/zh
Pending legal-status Critical Current

Links

Images

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/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/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本公开实施例提供了一种文件存储方法、装置、电子设备及存储介质,该方法包括:在接收到待存储文件时,基于哈希算法对所述待存储文件进行处理,得到与所述待存储文件相对应的数字摘要;其中,所述待存储文件中包括待存储电子合同以及过程数据;基于与目标用户相对应的公钥对所述数字摘要加密处理,得到密文序列;将所述密文序列上链存储,以及将所述待存储文件存储至星际文件***中,并反馈存储所述密文序列的区块编号,以在接收到与待调取文件相对应的区块编号时,从区块链中获取所述密文序列,并根据所述密文序列从所述星际文件***中调取所述待调取文件。本方案提高了存储电子合同的安全性,还达到了保证用户信息安全的技术效果。

Description

文件存储方法、装置、电子设备及存储介质
技术领域
本发明实施例涉及计算机技术,尤其涉及一种文件存储方法、装置、电子设备及存储介质。
背景技术
随着计算机技术的不断发展,越来越多的信息处理技术走入了人们的生活,传统的纸质合同早已被存储在文件服务器中的电子合同所替代。
然而,现有的传统的电子合同存储在一个专用的文件服务器上,如果服务器遭受黑客入侵,可能导致文件服务器上存储的电子合同内容被篡改或者原始文件遭受恶意破坏,难以保证合同文件的真实性和完整性。
发明内容
本公开实施例提供一种文件存储方法、装置、电子设备及存储介质,以实现在提取用户合同的过程中,通过比对数字摘要验证电子合同的完整性和真伪性,不仅提高了存储电子合同的安全性,还达到了保证用户信息安全的技术效果。
第一方面,本公开实施例提供了一种文件存储方法,该方法包括:
在接收到待存储文件时,基于哈希算法对所述待存储文件进行处理,得到与所述待存储文件相对应的数字摘要;其中,所述待存储文件中包括待存储电子合同以及过程数据;
基于与目标用户相对应的公钥对所述数字摘要加密处理,得到密文序列;
将所述密文序列上链存储,以及将所述待存储文件存储至星际文件***中,并反馈存储所述密文序列的区块编号,以在接收到与待调取文件相对应的区块编号时,从区块链中获取所述密文序列,并根据所述密文序列从所述星际文件***中调取所述待调取文件。
第二方面,本公开实施例还提供了一种文件存储装置,该装置包括:
数字摘要获取模块,用于在接收到待存储文件时,基于哈希算法对所述待存储文件进行处理,得到与所述待存储文件相对应的数字摘要;其中,所述待存储文件中包括待存储电子合同以及过程数据;
密文序列获取模块,基于与目标用户相对应的公钥对所述数字摘要加密处理,得到密文序列;
目标文件存储模块,用于将所述密文序列上链存储,以及将所述待存储文件存储至星际文件***中,并反馈存储所述密文序列的区块编号,以在接收到与待调取文件相对应的区块编号时,从区块链中获取所述密文序列,并根据所述密文序列从所述星际文件***中调取所述待调取文件。
第三方面,本公开实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本公开实施例任一所述的文件存储方法。
第四方面,本公开实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本公开实施例任一所述的文件存储方法。
本实施例的技术方案,通过在接收到待存储文件时,基于哈希算法对所述待存储文件进行处理,得到与所述待存储文件相对应的数字摘要,在得到数字摘要后基于和用户相对应的公钥进行加密处理得到密文序列,进而所述密文序列上链存储,以及将所述待存储文件存储至星际文件***中,并反馈存储所述密文序列的区块编号,以在接收到与待调取文件相对应的区块编号时,从区块链中获取所述密文序列,并根据所述密文序列从所述星际文件***中调取所述待调取文件,进而保证了用户电子合同在存储过程中的安全性,提高了电子合同的真伪性和完整性。
附图说明
为了更加清楚地说明本发明示例性实施例的技术方案,下面对描述实施例中所需要用到的附图做一简单介绍。显然,所介绍的附图只是本发明所要描述的一部分实施例的附图,而不是全部的附图,对于本领域普通技术人员,在不付出创造性劳动的前提下,还可以根据这些附图得到其他的附图。
图1为本发明实施例一所提供的一种文件存储方法的流程示意图;
图2为本实施例一所提供的一种电子合同及签约过程存储方法的流程示意图;
图3为本发明实施例二所提供的一种文件调取方法的流程示意图;
图4为本实施例二所提供的一种电子合同及签约过程的调取方法流程示意图;
图5为本公开实施例三所提供的一种文件存储装置的结构框图;
图6为本发明实施例四提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一所提供的一种文件存储方法的流程示意图,本实施例可适用于在需要将文件进行上链存储的情况,该方法可以由文件存储装置来执行,该装置可以通过软件和/或硬件的形式实现,该硬件可以是电子设备,如移动终端、PC端或服务器等。任意的文件存储场景通常是由客户端和服务器来配合实现的,本实施例所提供的方法可以由服务端来执行,客户端来执行,或者是客户端和服务端的配合来执行。
如图1,本实施例的方法包括:
S110、在接收到待存储文件时,基于哈希算法对所述待存储文件进行处理,得到与所述待存储文件相对应的数字摘要;其中,所述待存储文件中包括待存储电子合同以及过程数据;
其中,待存储文件可以是需要进行存储的文件。哈希算法可以理解为一种数学函数,可以通过该函数将任意长度的数据散列输出为固定长度的二进制字符串。数字摘要可以理解为基于哈希算法对待存储文件处理后得到的哈希值。待存储电子合同可以是需要进行存储的合同文件,相应的,过程数据则可以理解为用户在签订电子合同的过程中生成的数据。
具体的,用户在完成了电子合同的签订之后,***会基于预设的方法将用户在签订电子合同过程中生成的数据和电子合同本身进行存储,***在获取到需要进行存储的文件后,通过哈希算法对所有需要进行存储的文件进行处理后得到对应的数字摘要,可以基于数字摘要完成对用户身份的验证。
在上述技术方案的基础上,在接收到待存储文件之前,还包括:获取与目标用户相对应的用户标识,并基于所述用户标识生成公钥和私钥,以基于所述公钥对所述数字摘要加密处理,以基于所述私钥对所述密文序列解密处理。
其中,目标用户可以是通过***的登录界面完成登录的用户,可以理解的是,用户在签订电子合同之前,需要根据终端设备中应用程序弹出的登录界面进行登录。用户标识可以理解为用户的ID信息,例如用户注册完成账号之后,会生成对应的账号ID信息,可以将账号ID信息作为用户的标识信息。公钥和私钥可以理解为非对称加密算法中的两个秘钥,也即公钥和私钥是相对应的秘钥,如果用公钥对数据进行加密,只有用对应的私钥才能解密。如果用私钥对数据进行加密,只有用对应的公钥才能解密。
示例性的,用户通过应用程序或***提供的登录页面完成账号的登录后,应用程序或***可以基于用户的账号ID,通过预设的方法得到与用户的账号ID对应的私钥和公钥,在得到和用户标识对应的公钥和私钥后,采用公钥对之前生成的数字摘要信息进行加密处理,进而,在需要得到对应的数字摘要信息时,在采用私钥对加密处理的信息进行解密处理。
S120、基于与目标用户相对应的公钥对所述数字摘要加密处理,得到密文序列;
其中,密文序列可以理解为基于公钥对数字摘要进行加密处理之后的序列。
具体的,在根据用户的标识信息确定出对应的公钥和私钥后,采用公钥对生成的数字摘要信息进行加密,进而可以得到对应的密文序列,由于非对称机密技术包含两个秘钥,并且只有其中的公钥是可以被公开的,但是即使是拥有公钥,如果想要获取正确的数据,必须使用对应的私钥对加密后的数据进行解密,可见采用非对称加密技术的好处在于可以保证数字摘要的安全性。
S130、将所述密文序列上链存储,以及将所述待存储文件存储至星际文件***中,并反馈存储所述密文序列的区块编号,以在接收到与待调取文件相对应的区块编号时,从区块链中获取所述密文序列,并根据所述密文序列从所述星际文件***中调取所述待调取文件。
其中,星际文件***(Interplanetary File System)是一种新的互联网协议,其设计目标是实现数据的永久存储、清除网络上的重复数据,并获取存储在网络中节点上的数据地址。区块编号可以是密文序列所在的区块链的编号。待调取文件可以理解为需要进行调取的文件。
示例性的,当用户完成电子合同的签订后,会将相应的文件和密文序列存储在指定位置,当后续需要调取相应的文件时则需要得到相应文件的存储地址,进而根据存储地址去指定的位置调取文件。需要说明的是,由于区块链自身设计的局限性,如果直接将原始的体量大的电子合同文件直接存到区块链,会使得存储和读取的效率变低,因此,本实施例的技术方案中选择将加密后的数字摘要存储在区块链中,并且在需要调取信息时基于存储在区块链中的数字摘要进行验证,以此来提高存储的安全性和高效性,同时实现对整个签约过程的溯源。
在上述技术方案的基础上,所述将所述密文序列上链存储,包括:在区块链上生成新的区块,以基于新的区块存储所述密文序列。
其中,区块链是一个共享数据库,可以用于存储数据或信息,存储在区块链中的数据和信息具有“不可伪造”“全程留痕”“可以追溯”“公开透明”“集体维护”等特征。
在上述技术方案的基础上,需要对本实施例中的技术方案进行进一步的说明,本实施例中的文件存储方法是通过将待存证的合同和备忘录信息利用哈希算法计算数字摘要,然后将此数字摘要用用户的公钥进行加密得到密文序列,将此密文序列存储到区块链,同时电子合同和备忘录信息要存储到IPFS网络。图2为本实施例一所提供的一种电子合同及签约过程存储方法的流程示意图,如图2所示:
登录***:用户根据应用程序或者是网页上的登录界面完成账号的登录,例如用户可以通过输入预先设置的账号和账号密码的方式完成登录,还可以是由应用程序为用户弹出相应的人脸识别界面,通过比对用户的面部信息和预留的面部信息完成登录。
获取用户ID:当用户登录***后,需要获取到用户的身份标识,也即用户账号的ID信息,可以理解的是,用户在首次使用***或者是应用程序时,需要基于用户的个人身份信息建立相应的账号,由于每个人的身份信息都是完全不同的,因此,不同的用户对应不同的账号ID。
根据ID生成此用户的公钥和私钥:具体的,可以基于ECC算法生成对应的公钥和私钥。ECC算法也即椭圆曲线算法,它具有密钥长度短、计算效率高等优点,能够有效节约网络带宽和存储空间。可以在区块链中生产公钥和私钥。在获取到用户的ID信息后,可以根据ECC算法生成用户的公钥和私钥。
上传电子合同及备忘录:在完成了电子合同的签订后,***根据预设的方法将用户签订过程中生成的备忘录文件和电子合同进行上传。其中,备忘录文件可以理解为用户签订电子合同的过程中生成的数据。
利用哈希算法计算数字摘要:采用哈希算法对上传的电子合同和备忘录文件进行处理,得到对应的数字摘要。
公钥加密数字摘要得到密文序列:根据用户的ID信息得到对应的密钥后,采用公钥对数字摘要进行加密,得到对应的密文序列。
密文序列存储到区块链:用此序列生成新的区块,添加到区块链网络中,同时将区块的编号返回给用户保存,用于后续电子合同的查看以及下载,同时利用备忘录保证签约过程的可溯源性。具体的,在得到对应的密文序列后,将密文序列存储在区块链中,由于区块链中每个区块自身大小的限制,无法存储体量大的文件。所以在实际存储时,要先利用哈希算法计算出电子合同和签约过程记录的数字摘要,然后使用公钥对数字摘要进行加密,将加密后的密文字符串存储到区块链,作为日后合同文件及签约记录在IPFS网络的寻址入口。
电子合同及备忘录存储到IPFS并返回密纹序列存储的区块编号:将电子合同和备忘录存储待IPFS中,完成对文件的分布式存储,并且返回密文序列存取的区块编号,便于在提取文件时根据区块编号查找对应的密文序列。
本实施例的技术方案通过利用哈希算法的不可逆性,得到电子合同和签约过程备忘录的数字摘要,以此来验证IPFS网络的存储数据的真实性和完整性。同时将此数字摘要利用用户的公钥加密后存储到区块链,借助区块链分布式账本的优点,保证某一个节点的账本出现故障时,可以迅速地恢复原始的数据。如果少部分节点的数据被恶意篡改,区块链的共识机制保证整个区块链网络不会对篡改后的数据形式共识,以及区块链中的时间戳记录了数据的存证的真实时间,进而保证了存证数据的真实性。
本实施例的技术方案,通过在接收到待存储文件时,基于哈希算法对所述待存储文件进行处理,得到与所述待存储文件相对应的数字摘要,在得到数字摘要后基于和用户相对应的公钥进行加密处理得到密文序列,进而所述密文序列上链存储,以及将所述待存储文件存储至星际文件***中,并反馈存储所述密文序列的区块编号,以在接收到与待调取文件相对应的区块编号时,从区块链中获取所述密文序列,并根据所述密文序列从所述星际文件***中调取所述待调取文件,进而保证了用户电子合同在存储过程中的安全性,提高了电子合同的真伪性和完整性。
实施例二
图3为本发明实施例二所提供的一种文件调取方法的流程示意图,本实施例可适用于在需要将存储的文件进行调取的情况,该方法可以由文件存储装置来执行,该装置可以通过软件和/或硬件的形式实现,该硬件可以是电子设备,如移动终端、PC端或服务器等。任意的文件调取场景通常是由客户端和服务器来配合实现的,本实施例所提供的方法可以由服务端来执行,客户端来执行,或者是客户端和服务端的配合来执行。
S210、当接收到文件调取请求时,获取所述文件调取请求中所携带的区块编号。
其中,文件调取请求可以是用户在调取文件时发送的请求。
具体的,用户在完成了电子合同的签订后,当还需办理其他相关的业务是,需要调取存储在星际文件***中的相关信息,因此需要用户发出相应的文件调取请求,用户发出的文件调取请求内包含了电子合同和过程数据对应的数字摘要存储的区块编号。可以理解的是,在用户发出文件调取请求之前,用户需要根据应用程序提供的登录页面完成账号的登录,并且在登录的过程中还需要对应的身份进行验证,验证方式可以是面部信息验证、预留手机号码验证、预设密码验证等。
S220、根据所述区块编号从区块链上获取与所述文件调取请求相一致的密文序列。
具体的,在获取到用户发送的文件调取请求后,根据文件调取请求内包含的区块编号,在区块链内获取和文件调取请求内的区块编号相一致的密文序列。可以理解的是,用户在完成电子合同和数据信息的存储后,会将经过哈希算法处理后得到的数字摘要进行加密并保存在相应的区块链中,因此会反馈存储位置对应的区块编号,在用户需要调取文件时,根据区块编号前往相应的区块链调取密文序列即可。
S230、基于所述密文序列从所述星际文件***中,获取与所述文件调取请求相对应的待调取文件。
在上述技术方案的基础上,所述基于所述密文序列从所述星际文件***中,获取与所述文件调取请求相对应的待调取文件,包括:基于与所述目标用户相对应的私钥对所述密文序列解码处理,得到待验证数字摘要;若根据所述待验证数字摘要,从所述星际文件***中获取待确定文件,则基于哈希算法对所述待确定文件加密处理,得到待匹配数字摘要;若所述待验证数字摘要和所述待匹配数字摘要相一致,则所述待确定文件为所述待调取文件并反馈。
其中,待验证数字摘要可以是需要进行验证的数字摘要,相应的,待确定文件可以理解为需要进行确定的文件。待匹配数字摘要用于和待验证数字摘要相匹配。
示例性的,在用户登录账号之后,根据预设的方法对用户的标识信息进行处理得到对应的私钥,并根据用户发出的文件调取请求内包含的区块编号从区块链中调取相应的密文序列,并基于私钥对得到的密文序列进行解密处理得到相应的待验证数字摘要,再根据待验证数字摘要从星际文件***中获取对应的待确定文件,再基于哈希算法对待确定文件进行处理后得到对应待匹配数字摘要,并通过对比待匹配数字摘要和待验证数字摘要是否相一致,若一致则确定待确定文件为待调取文件。
在上述技术方案的基础上,在从所述星际文件***中获取待确定文件之后,还包括:将所述待确定文件暂存至缓存中,以在待验证数字摘要和所述待匹配数字摘相一致时,将所述待确定文件作为所述待调取文件并反馈。
其中,缓存可以理解为进行高速数据交换的存储器。
具体的,根据用户标识信息确定对应的待验证数字摘要后,根据待验证数字摘要从星际文件***中获取到对应的待确定文件,然而,此时还不能确定待确定文件是否为用户所需的文件,还需要等待验证数据摘要和待匹配数字摘要完成匹配后,才能确定待确定文件为待调取文件,因此,需要将此时待确定文件暂存在缓存中,等待相应的匹配结果。
在上述技术方案的基础上,若根据所述待验证数字摘要未从所述星际文件***中获取到待确定文件,则提示所述密文序列无效;或,若所述待验证数字摘要与所述待匹配数字摘要不同,则确定所述待确定文件不为所述待调取文件,反馈文件获取失败的提示,并将所述待确定文件从所述缓存中删除。
示例性的,根据用户标识信息得到对应的待验证数字摘要后,需要根据待验证数字摘要从星际文件***中获取相应的文件,也即待确定文件,可以理解的是,由于不同的用户的客户属性不同,因此不同的客户对应的待验证数字摘要均是不同的,并且各待验证数字摘要必然对应相应的待确定文件,如果无法基于待验证数字摘要确定出待确定文件,则表明基于用户标识信息确定出的密文信息无效,用户的身份可能是伪造的。其次,即使基于用户的待验证数字摘要信息获取到对应的待确定文件后,还需要基于哈希算法对待确定文件进行处理后得到对应的待匹配数字摘要,将待匹配数字摘要和待验证数字摘要相匹配,若匹配一致,则为用户反馈相应的文件,若匹配不一致,则确定当前的待确定文件不是需要进行反馈的文件,并将暂存在缓存内的文件删除。
在上述技术方案的基础上,需要对本实施例中的技术方案进行进一步的说明,本实施例中的文件调取方法是当需要下载合同文件时,要先在区块链上获取原先使用公钥加密的密文序列,然后使用私钥进行解密,得到原始文件的数字摘要。然后以此数字摘要为地址去IPFS网络上寻找电子合同和备忘录。当取出文件后,先用哈希算法计算其数字摘要,用这个数字摘要与区块链上用私钥解密后的摘要做对比,从而验证电子合同及签约过程记录等的完整性和真伪性。图4为本实施例二所提供的一种电子合同及签约过程的调取方法流程示意图,如图4所示:
用户登录***:用户根据***设置的方法完成账号的登录,具体的登录方法可以由本领域技术人员自行设置。
根据区块编号获取密文序列:用户在完成账号的登录后,若需要调用用户电子合同,则由应用程序发送出文件调用请求,文件调用请求中包含了对应的区块编号,基于区块编号可以从对应的区块链中得到相应的密文序列。
获取私钥,并基于私钥解密密文序列得到数字摘要X:在完成账号的登录后,根据用户账号的ID信息得到对应的私钥,并根据私钥对密文序列进行解密,进而得到电子合同和备忘录文件对应的数字摘要X。
判断是否可以以X为地址在IPFS网络成功下载电子合同及备忘录:由于在存储电子合同和备忘录时是基于相应的数字摘要X进行存储的,也即数字摘要X所指向的地址就是文件存储的地址。
具体的,如果可以成功下载到对应的电子合同和备忘录文件,则证明数字摘要X是有效的,如果无法成功下载对应的文件,则证明用户对应的密文序列无效,并根据预设的方法为用户弹出相应的信息提示页面,在信息提示页面上可以提示用户密文序列无效。当文件下载成功时,将下载完成的文件暂存在终端设备的缓存中,等待下一步的判断。
利用哈希算法计算缓存中的文件的数字摘要Y:当获取到数字摘要X对应的文件后,此时需要对该文件是否为用户所需的文件进行判断,因此需要通过哈希算法计算缓存中文件的数字摘要,并得到对应的结果Y。
比对X和Y:数字摘要X是通过私钥对密文序列进行解密后得到的数字摘要,其对应的是用户在签订电子合同后存储的文件,而电子摘要Y对应的则是存储在IPFS中的文件。因此需要将X和Y进行比较,当X和Y相等时,则证明文件匹配成功,将相应的文件反馈给用户;若X和Y不相等,则证明文件匹配失败,获取到的文件不是用户所需的文件,并删除缓存中存储的文件。需要说明的是,由于不同用户具备的用户信息不同,因此其签订的电子合同以及备忘录文件也是不同的,进一步的,不同的文件对应的不同的数字摘要,若基于私钥解密得到的数字摘要与从IPFS网络上下载的文件的电子摘要无法匹配,则证明IPFS网络上的文件不是用户所需的文件。
本实施例的技术方案,当接收到文件调取请求时,获取所述文件调取请求中所携带的区块编号,进而根据区块编号从区块链上获取与所述文件调取请求相一致的密文序列,最后基于所述密文序列从所述星际文件***中,获取与所述文件调取请求相对应的待调取文件,通过上述方案,保证了用户在调取文件过程中的安全性,并且提高数据的定位效率,保障了使用者的数据私密性。
实施例三
图5为本公开实施例三所提供的一种文件存储装置的结构框图,可执行本公开任意实施例所提供的文件存储方法,具备执行方法相应的功能模块和有益效果。如图5所示,该装置具体包括:数字摘要获取模块510、密文序列获取模块520、目标文件存储模块530。
数字摘要获取模块510,用于在接收到待存储文件时,基于哈希算法对所述待存储文件进行处理,得到与所述待存储文件相对应的数字摘要;其中,所述待存储文件中包括待存储电子合同以及过程数据;
密文序列获取模块520,基于与目标用户相对应的公钥对所述数字摘要加密处理,得到密文序列;
目标文件存储模块530,用于将所述密文序列上链存储,以及将所述待存储文件存储至星际文件***中,并反馈存储所述密文序列的区块编号,以在接收到与待调取文件相对应的区块编号时,从区块链中获取所述密文序列,并根据所述密文序列从所述星际文件***中调取所述待调取文件。
在上述方案的基础上,所述装置还包括:
秘钥生成模块,用于在接收到待存储文件之前,获取与目标用户相对应的用户标识,并基于所述用户标识生成公钥和私钥,以基于所述公钥对所述数字摘要加密处理,以基于所述私钥对所述密文序列解密处理。
在上述技术方案的基础上,所述目标文件存储模块具体用于,在区块链上生成新的区块,以基于新的区块存储所述密文序列。
在上述技术方案的基础上,所述装置还包括:
区块编号获取模块,用于当接收到文件调取请求时,获取所述文件调取请求中所携带的区块编号;
密文序列调取模块,用于根据所述区块编号从区块链上获取与所述文件调取请求相一致的密文序列;
目标文件调取模块,用于基于所述密文序列从所述星际文件***中,获取与所述文件调取请求相对应的待调取文件。
在上述技术方案的基础上,所述目标文件调取模块还包括:
待调取文件确定单元,用于基于与所述目标用户相对应的私钥对所述密文序列解码处理,得到待验证数字摘要;若根据所述待验证数字摘要,从所述星际文件***中获取待确定文件,则基于哈希算法对所述待确定文件加密处理,得到待匹配数字摘要;若所述待验证数字摘要和所述待匹配数字摘要相一致,则所述待确定文件为所述待调取文件并反馈。
在上述技术方案的基础上,所述目标文件调取模块还用于,在从所述星际文件***中获取待确定文件之后,将所述待确定文件暂存至缓存中,以在待验证数字摘要和所述待匹配数字摘相一致时,将所述待确定文件作为所述待调取文件并反馈。
在上述技术方案的基础上,所述待调取文件确定单元具体用于:
若根据所述待验证数字摘要未从所述星际文件***中获取到待确定文件,则提示所述密文序列无效;或,若所述待验证数字摘要与所述待匹配数字摘要不同,则确定所述待确定文件不为所述待调取文件,反馈文件获取失败的提示.并将所述待确定文件从所述缓存中删除。
本公开实施例所提供的文件存储装置可执行本公开任意实施例所提供的文件存储方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述装置所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本公开实施例的保护范围。
实施例四
图6为本发明实施例四提供的一种电子设备的结构示意图。图6示出了适于用来实现本发明实施例实施方式的示例性电子设备60的框图。图6显示的电子设备60仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,电子设备60以通用计算设备的形式表现。电子设备60的组件可以包括但不限于:一个或者多个处理器或者处理单元601,***存储器602,连接不同***组件(包括***存储器602和处理单元601)的总线603。
总线603表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
电子设备60典型地包括多种计算机***可读介质。这些介质可以是任何能够被电子设备60访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
***存储器602可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)604和/或高速缓存存储器605。电子设备60可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***606可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线603相连。存储器602可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块607的程序/实用工具608,可以存储在例如存储器602中,这样的程序模块607包括但不限于操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块607通常执行本发明所描述的实施例中的功能和/或方法。
电子设备60也可以与一个或多个外部设备609(例如键盘、指向设备、显示器610等)通信,还可与一个或者多个使得用户能与该电子设备60交互的设备通信,和/或与使得该电子设备60能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口611进行。并且,电子设备60还可以通过网络适配器612与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器612通过总线603与电子设备60的其它模块通信。应当明白,尽管图6中未示出,可以结合电子设备60使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
处理单元601通过运行存储在***存储器602中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的文件存储方法。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种数据存储方法。该方法包括:
在接收到待存储文件时,基于哈希算法对所述待存储文件进行处理,得到与所述待存储文件相对应的数字摘要;其中,所述待存储文件中包括待存储电子合同以及过程数据;
基于与目标用户相对应的公钥对所述数字摘要加密处理,得到密文序列;
将所述密文序列上链存储,以及将所述待存储文件存储至星际文件***中,并反馈存储所述密文序列的区块编号,以在接收到与待调取文件相对应的区块编号时,从区块链中获取所述密文序列,并根据所述密文序列从所述星际文件***中调取所述待调取文件。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种文件存储方法,其特征在于,包括:
在接收到待存储文件时,基于哈希算法对所述待存储文件进行处理,得到与所述待存储文件相对应的数字摘要;其中,所述待存储文件中包括待存储电子合同以及过程数据;
基于与目标用户相对应的公钥对所述数字摘要加密处理,得到密文序列;
将所述密文序列上链存储,以及将所述待存储文件存储至星际文件***中,并反馈存储所述密文序列的区块编号,以在接收到与待调取文件相对应的区块编号时,从区块链中获取所述密文序列,并根据所述密文序列从所述星际文件***中调取所述待调取文件。
2.根据权利要求1所述的方法,其特征在于,在接收到待存储文件之前,还包括:
获取与目标用户相对应的用户标识,并基于所述用户标识生成公钥和私钥,以基于所述公钥对所述数字摘要加密处理,以基于所述私钥对所述密文序列解密处理。
3.根据权利要求1所述的方法,其特征在于,所述将所述密文序列上链存储,包括:
在区块链上生成新的区块,以基于新的区块存储所述密文序列。
4.根据权利要求1所述的方法,其特征在于,还包括:
当接收到文件调取请求时,获取所述文件调取请求中所携带的区块编号;
根据所述区块编号从区块链上获取与所述文件调取请求相一致的密文序列;
基于所述密文序列从所述星际文件***中,获取与所述文件调取请求相对应的待调取文件。
5.根据权利要求4所述的方法,其特征在于,所述基于所述密文序列从所述星际文件***中,获取与所述文件调取请求相对应的待调取文件,包括:
基于与所述目标用户相对应的私钥对所述密文序列解码处理,得到待验证数字摘要;
若根据所述待验证数字摘要,从所述星际文件***中获取待确定文件,则基于哈希算法对所述待确定文件加密处理,得到待匹配数字摘要;
若所述待验证数字摘要和所述待匹配数字摘要相一致,则所述待确定文件为所述待调取文件并反馈。
6.根据权利要求5所述的方法,其特征在于,在从所述星际文件***中获取待确定文件之后,还包括:
将所述待确定文件暂存至缓存中,以在待验证数字摘要和所述待匹配数字摘相一致时,将所述待确定文件作为所述待调取文件并反馈。
7.根据权利要求6所述的方法,其特征在于,还包括:
若根据所述待验证数字摘要未从所述星际文件***中获取到待确定文件,则提示所述密文序列无效;或,
若所述待验证数字摘要与所述待匹配数字摘要不同,则确定所述待确定文件不为所述待调取文件,反馈文件获取失败的提示.并将所述待确定文件从所述缓存中删除。
8.一种文件存储装置,其特征在于,所述装置包括:
数字摘要获取模块,用于在接收到待存储文件时,基于哈希算法对所述待存储文件进行处理,得到与所述待存储文件相对应的数字摘要;其中,所述待存储文件中包括待存储电子合同以及过程数据;
密文序列获取模块,基于与目标用户相对应的公钥对所述数字摘要加密处理,得到密文序列;
目标文件存储模块,用于将所述密文序列上链存储,以及将所述待存储文件存储至星际文件***中,并反馈存储所述密文序列的区块编号,以在接收到与待调取文件相对应的区块编号时,从区块链中获取所述密文序列,并根据所述密文序列从所述星际文件***中调取所述待调取文件。
9.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的文件存储方法。
10.一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7中任一所述的文件存储方法。
CN202210186129.0A 2022-02-28 2022-02-28 文件存储方法、装置、电子设备及存储介质 Pending CN114615031A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210186129.0A CN114615031A (zh) 2022-02-28 2022-02-28 文件存储方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210186129.0A CN114615031A (zh) 2022-02-28 2022-02-28 文件存储方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN114615031A true CN114615031A (zh) 2022-06-10

Family

ID=81859421

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210186129.0A Pending CN114615031A (zh) 2022-02-28 2022-02-28 文件存储方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN114615031A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115664852A (zh) * 2022-12-14 2023-01-31 金钱猫科技股份有限公司 一种基于区块链技术的数据管理方法与***
CN116185291A (zh) * 2023-02-06 2023-05-30 深圳市迈科龙电子有限公司 中间件存储方法、装置、电子设备及可读存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101039182A (zh) * 2007-03-07 2007-09-19 广东南方信息安全产业基地有限公司 认证***及用户标识证书发放方法
CN101471776A (zh) * 2007-12-29 2009-07-01 航天信息股份有限公司 基于用户身份标识防止pkg伪造签名的方法
CN103490901A (zh) * 2013-09-30 2014-01-01 广东南方信息安全产业基地有限公司 基于组合密钥体系的密钥生成和发放方法
CN108965486A (zh) * 2018-10-08 2018-12-07 深圳市创维软件有限公司 一种文件下载方法、***、服务器及存储介质
CN110008194A (zh) * 2019-03-01 2019-07-12 上海七印信息科技有限公司 一种基于区块链和星际文件***ipfs的快速文件获取方法
CN110083606A (zh) * 2019-04-25 2019-08-02 深圳市豪斯莱科技有限公司 跨链存储方法、终端及存储介质
CN110570313A (zh) * 2019-09-27 2019-12-13 深圳市网心科技有限公司 基于区块链的数据交易方法、数据交易装置及***
CN111711611A (zh) * 2020-05-22 2020-09-25 易联众信息技术股份有限公司 基于区块链的数据处理方法、装置、介质、设备及应用
US20200412525A1 (en) * 2019-06-26 2020-12-31 Grid7 Llc D/B/A Taekion Blockchain filesystem
CN112836229A (zh) * 2021-02-10 2021-05-25 北京深安信息科技有限公司 属性基加密和区块链结合的可信数据访问控制方案
CN112954000A (zh) * 2021-01-13 2021-06-11 迅鳐成都科技有限公司 一种基于区块链和ipfs技术的隐私信息管理方法及***

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101039182A (zh) * 2007-03-07 2007-09-19 广东南方信息安全产业基地有限公司 认证***及用户标识证书发放方法
CN101471776A (zh) * 2007-12-29 2009-07-01 航天信息股份有限公司 基于用户身份标识防止pkg伪造签名的方法
CN103490901A (zh) * 2013-09-30 2014-01-01 广东南方信息安全产业基地有限公司 基于组合密钥体系的密钥生成和发放方法
CN108965486A (zh) * 2018-10-08 2018-12-07 深圳市创维软件有限公司 一种文件下载方法、***、服务器及存储介质
CN110008194A (zh) * 2019-03-01 2019-07-12 上海七印信息科技有限公司 一种基于区块链和星际文件***ipfs的快速文件获取方法
CN110083606A (zh) * 2019-04-25 2019-08-02 深圳市豪斯莱科技有限公司 跨链存储方法、终端及存储介质
US20200412525A1 (en) * 2019-06-26 2020-12-31 Grid7 Llc D/B/A Taekion Blockchain filesystem
CN110570313A (zh) * 2019-09-27 2019-12-13 深圳市网心科技有限公司 基于区块链的数据交易方法、数据交易装置及***
CN111711611A (zh) * 2020-05-22 2020-09-25 易联众信息技术股份有限公司 基于区块链的数据处理方法、装置、介质、设备及应用
CN112954000A (zh) * 2021-01-13 2021-06-11 迅鳐成都科技有限公司 一种基于区块链和ipfs技术的隐私信息管理方法及***
CN112836229A (zh) * 2021-02-10 2021-05-25 北京深安信息科技有限公司 属性基加密和区块链结合的可信数据访问控制方案

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115664852A (zh) * 2022-12-14 2023-01-31 金钱猫科技股份有限公司 一种基于区块链技术的数据管理方法与***
CN116185291A (zh) * 2023-02-06 2023-05-30 深圳市迈科龙电子有限公司 中间件存储方法、装置、电子设备及可读存储介质

Similar Documents

Publication Publication Date Title
CN110879903B (zh) 证据存储方法、证据验证方法及装置、设备和介质
CN111460453B (zh) 机器学习训练方法、控制器、装置、服务器、终端和介质
JP6671278B2 (ja) データ転送最適化
CN107612683B (zh) 一种加解密方法、装置、***、设备和存储介质
US9160535B2 (en) Truly anonymous cloud key broker
CN110084599B (zh) 密钥处理方法、装置、设备和存储介质
CN111835774B (zh) 数据处理方法、装置、设备及存储介质
CN109194669B (zh) 一种轻量级节点的数据传输方法、装置、设备和介质
CN109951295B (zh) 密钥处理和使用方法、装置、设备及介质
US8218763B2 (en) Method for ensuring the validity of recovered electronic documents from remote storage
CN114615031A (zh) 文件存储方法、装置、电子设备及存储介质
CN111698312B (zh) 基于开放平台的业务处理方法、装置、设备和存储介质
CN113610526A (zh) 一种数据信任方法、装置、电子设备及存储介质
CN110719590B (zh) 基于手机号码的一键登录方法、装置、设备及存储介质
CN110545542B (zh) 基于非对称加密算法的主控密钥下载方法、装置和计算机设备
KR20210103615A (ko) 블록체인 기반 사용자 인증 방법
CN113946863A (zh) 数据加密存储方法、***、设备及存储介质
EP4141721A1 (en) System and method for secure collection and display of sensitive data
CN115659378A (zh) 案件记录信息的存证方法及相关设备
CN114448722A (zh) 跨浏览器登录方法、装置、计算机设备和存储介质
WO2019019675A1 (zh) 网站模拟登录方法、装置、服务端和可读存储介质
CN114117404A (zh) 一种用户认证方法、装置、设备、***及存储介质
CN113904865A (zh) 一种基于非对称算法的日志传输方法及装置
CN114338156A (zh) 数据处理方法、装置及存储介质
TWI569166B (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