CN112398655B - 一种文件传输方法、服务器及计算机存储介质 - Google Patents

一种文件传输方法、服务器及计算机存储介质 Download PDF

Info

Publication number
CN112398655B
CN112398655B CN201910765664.XA CN201910765664A CN112398655B CN 112398655 B CN112398655 B CN 112398655B CN 201910765664 A CN201910765664 A CN 201910765664A CN 112398655 B CN112398655 B CN 112398655B
Authority
CN
China
Prior art keywords
subfile
file
abstract
server
digest
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
Application number
CN201910765664.XA
Other languages
English (en)
Other versions
CN112398655A (zh
Inventor
刘晨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software Technology 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 China Mobile Communications Group Co Ltd, China Mobile Suzhou Software Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201910765664.XA priority Critical patent/CN112398655B/zh
Publication of CN112398655A publication Critical patent/CN112398655A/zh
Application granted granted Critical
Publication of CN112398655B publication Critical patent/CN112398655B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H04L9/3239Cryptographic 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 involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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/0435Network 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 symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates

Abstract

本发明实施例公开了一种文件传输方法,包括:获取第一文件,并对第一文件进行拆分,得到组成第一文件的每一子文件;计算每一第一子文件的摘要,得到第一摘要,并发送第一摘要至第二服务器;基于第一密钥对每一第一子文件进行加密得到每一第二子文件;计算每一第二子文件的摘要,得到第二摘要;发送每一第二子文件和第二摘要至第三服务器,以使得第三服务器获取来自于第二服务器的第一摘要,并基于第一摘要、第二摘要以及每一第二子文件,确定第一文件是否被修改;本发明实施例还公开了一种服务器和计算机存储介质;实现在传输文件的过程中,提高文件传输的安全性,提高服务器的智能性。

Description

一种文件传输方法、服务器及计算机存储介质
技术领域
本发明涉及计算机技术领域中的文件传输,尤其涉及一种文件传输方法、服务器及计算机存储介质。
背景技术
随着网络技术的快速发展,基于网络对文件资源的传输收到更多用户的青睐。但由于在当前网络环境中文件资源传输存在着各种安全隐患,使得相关企业对文件资源安全传输变得非常关注。
相关技术中针对文件的安全传输,目前主要的解决方案有以下几种方式:基于数字签名、对称加密及非对称加密的混合加密方法;基于哈希函数、对称加密及非对称加密的混合加密方法;基于产生和确定数字证书的第三方可信机构(Certificate Authority,CA)中心、对称加密及非对称加密的混合加密方法;但是,现有技术中针对大文件安全传输时,文件接收方均不能及时发现文件是否受到第三方攻击,导致文件传输安全系数低的问题。
发明内容
有鉴于此,本发明实施例期望提供一种文件传输方法、服务器及计算机存储介质,解决了现有技术中文件传输安全系数低的问题,实现在传输文件的过程中,提高文件传输的安全性,提高服务器的智能性。
为达到上述目的,本发明的技术方案是这样实现的:
一种文件传输方法,应用于第一服务器,所述方法包括:
获取第一文件,并对所述第一文件进行拆分,得到组成所述第一文件的每一子文件;
计算每一第一子文件的摘要,得到第一摘要,并发送所述第一摘要至第二服务器;
基于第一密钥对所述每一第一子文件进行加密得到每一第二子文件;
计算所述每一第二子文件的摘要,得到第二摘要;
发送所述每一第二子文件和所述第二摘要至第三服务器,以使得所述第三服务器获取来自于所述第二服务器的所述第一摘要,并基于所述第一摘要、所述第二摘要以及所述每一第二子文件,确定所述第一文件是否被修改。
可选地,所述发送所述每一第二子文件和所述第二摘要至第三服务器之前,还包括:
对所述第一密钥进行加密,得到第二密钥;
相应的,所述方法还包括:
发送所述第二密钥至所述第三服务器,以使得所述第三服务器确定所述第一文件未被修改时,基于所述每一第二子文件以及所述第二密钥,恢复所述第一文件。
一种文件传输方法,应用于第三服务器,所述方法包括:
从第二服务器获取第一摘要;其中,所述第一摘要包括第一文件中的每一第一子文件的摘要;所述每一第一子文件为对所述第一文件进行文件拆分处理得到的文件;
获取每一第二子文件和第二摘要;其中,所述每一第二子文件是对所述每一第一子文件进行加密所得到的文件;所述第二摘要包括所述每一第二子文件的摘要。
基于所述第一摘要、所述第二摘要以及所述每一第二子文件,生成所述第一文件的检测结果;其中所述检测结果用于表征所述第一文件是否被修改。
可选地,所述基于所述第一摘要、所述第二摘要以及所述每一第二子文件,生成所述第一文件的检测结果,包括:
计算所述每一第二子文件的摘要,得到第三摘要;
若所述第三摘要与所述第二摘要相同,对所述每一第二子文件进行解密,得到每一第三子文件;
计算所述每一第三子文件的摘要,得到第四摘要;
基于所述第一摘要与所述第四摘要,生成所述第一文件的检测结果。
可选地,所述基于所述第一摘要与所述第四摘要,生成所述第一文件的检测结果,包括:
若所述第一摘要与所述第四摘要相同,生成用于表征所述第一文件未被修改的检测结果;
若所述第一摘要与所述第四摘要不同,生成用于表征所述第一文件被修改的检测结果。
可选地,所述方法还包括:
若所述检测结果表征所述第一文件未被修改,获取所述每一第二子文件;其中,所述每一第二子文件携带用于标识每一第二子文件的第一标识信息;
获取对第一密钥进行加密得到的第二密钥;其中,所述第一密钥是用于对所述每一第一子文件进行加密得到所述每一第二子文件的密钥;
基于所述第一标识信息、所述第二密钥和所述每一第二子文件,得到所述第一文件。
可选地,所述基于所述第一标识信息、所述第二密钥和所述每一第二子文件,得到所述第一文件,包括:
基于所述第一标识信息对所述每一第二子文件进行合并,得到第三文件;
基于所述第二密钥对所述第三文件进行解密,得到所述第一文件。
一种第一服务器,所述第一服务器包括:第一处理器、第一存储器和第一通信总线,包括:
所述第一通信总线用于实现第一处理器和第一存储器之间的通信连接;
所述第一处理器用于执行第一存储器中存储的数据处理程序,以实现以下步骤:
获取第一文件,并对所述第一文件进行拆分,得到组成所述第一文件的每一子文件;
计算每一第一子文件的摘要,得到第一摘要,并发送所述第一摘要至第二服务器;
基于第一密钥对所述每一第一子文件进行加密得到每一第二子文件;
计算所述每一第二子文件的摘要,得到第二摘要;
发送所述每一第二子文件和所述第二摘要至第三服务器,以使得所述第三服务器获取来自于所述第二服务器的所述第一摘要、并基于所述第一摘要、所述第二摘要以及所述每一第二子文件,确定所述第一文件是否被修改。
一种第三服务器,所述第三服务器包括:第二处理器、第二存储器和第二通信总线,包括:
所述第二通信总线用于实现第二处理器和第二存储器之间的通信连接;
所述第二处理器用于执行第二存储器中的文件传输方法的程序,以实现以下步骤:
从第二服务器获取第一摘要;其中,所述第一摘要包括第一文件中的每一第一子文件的摘要;所述每一第一子文件为对所述第一文件进行文件拆分处理得到的文件;
获取每一第二子文件和第二摘要;其中,所述每一第二子文件是对所述每一第一子文件进行加密所得到的文件;所述第二摘要包括所述每一第二子文件的摘要。
基于所述第一摘要、所述第二摘要以及所述每一第二子文件,生成所述第一文件的检测结果;其中所述检测结果用于表征所述第一文件是否被修改。
一种计算机存储介质,其特征在于,所述计算机存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述的文件传输方法的步骤。
本发明实施例所提供的文件传输方法、服务器及计算机存储介质,能够获取第一文件,并对第一文件进行拆分,得到组成第一文件的每一子文件;计算每一第一子文件的摘要,得到第一摘要,并发送第一摘要至第二服务器;基于第一密钥对每一第一子文件进行加密得到每一第二子文件;计算每一第二子文件的摘要,得到第二摘要;发送每一第二子文件和第二摘要至第三服务器,以使得第三服务器基于来自于第二服务器的第一摘要、第二摘要以及每一第二子文件,确定第一文件是否被修改,也就是说,本发明中对第一文件进行文件拆分处理,再对拆分后的子文件的数据进行混合加密发送至第三,第三对接收加密文件进行合并解密,有效的解决了现有技术中文件传输安全系数低的问题,实现在传输文件的过程中,提高文件传输的安全性,提高服务器的智能性。
附图说明
图1为实现本发明各个实施例的一种文件传输方法的流程示意图;
图2为本发明实施例提供的另一种文件传输方法的流程示意图;
图3为本发明实施例提供的又一种文件传输方法的流程示意图;
图4为本发明另一实施例提供的一种文件传输方法的流程示意图;
图5为本发明另一实施例提供的一种文件传输方法的流程示意图;
图6为本发明实施例提供的一种第一服务器的结构示意图;
图7为本发明实施例提供的一种第三服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明的实施例提供了一种文件传输方法,应用于文件第一服务器,参照图1所示,该方法包括以下步骤:
步骤101、获取第一文件,并对第一文件进行拆分,得到组成第一文件的每一子文件。
本发明实施例中,第一服务器获取待上传的第一文件。这里,第一文件指的是占用内存大的文件,基于第一文件的属性信息,将第一文件进行拆分,从而得到多个大小相同的第一子文件;其中,第一文件的属性信息包括第一文件的大小。
示例性的,第一服务器确定待发送的第一文件,这里的第一文件包括数据文件、日志文件等。第一服务器对第一文件进行拆分处理,得到多个拆分后的第一子文件,例如,M1、M2、...、Mn,其中,n为大于1的正整数,并且n的最大值为拆分得到的第一子文件的总数。
步骤102、计算每一第一子文件的摘要,得到第一摘要,并发送第一摘要至第二服务器。
其中,第二服务器为网络服务器。
本发明实施例中,第一服务器基于摘要算法计算每一第一子文件的每一第一摘要,并发送每一第一摘要至第二服务器。其中,每一第一子文件携带自身的标识信息。第一服务器对第一文件按照属性信息拆分完成得到的多个第一子文件进行提取摘要处理,并且每一个第一子文件都包含自身的标识信息。标识信息用于表征每一个第一子文件在第一文件中的位置,这里标识信息可以是每一个第一子文件对应的编码信息。进一步的,第一服务器根据摘要算法计算得到每一个第一子文件的第一摘要信息。这里,摘要算法包括安全散列算法1(Secure Hash Algorithm-1,SHA-1)以及消息摘要算法5(Message-DigestAlgorithm,MD5),用于确保信息传输完整一致。
示例性的,第一服务器对拆分后的每一第一子文件提取其SHA-1值E1=sha1(M1)、E2=sha1(M2)、...、En=sha1(Mn),然后在把这些SHA-1值发送到第二服务器。这里的第二服务器指的是全球广域网(World Wide Web,Web)服务器。
步骤103、基于第一密钥对每一第一子文件进行加密得到每一第二子文件。
本发明实施例中,第一服务器对第一文件进行拆分,得到多个拆分后的第一子文件。对每一第一子文件进行加密的过程中应用到多种加密算法。这里对应用到的加密算法进行简要的介绍。其中,高级加密标准(Advanced Encryption Standard,AES)是一种对称加密算法,在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准;RAS是一种非对称加密算法,加密密钥和解密密钥不同;安全散列算法系列算法1(SecureHash Algorithm,SHA-1),就其自身安全强度和运算效率的优势,它已经成为最为广泛的哈希算法;一种消息摘要算法MD5(Message-Digest Algorithm,MD5)是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致;基于产生和确定数字证书的第三方可信机构(Certificate Authority,CA)中心,是公钥基础设施(Public Key Infrastructure,PKI)系统中通信双方信任的实体,被称为可信第三方(Trusted Third Party,TTP),作为可信第三方的行为具有非否认性;公钥基础设施(Public Key Infrastructure,PKI)是一种遵循标准的利用公钥加密技术为电子商务的开展提供一套安全基础平台的技术和规范。
示例性的,第一服务器基于对称加密算法(Advanced Encryption Standard,AES)对每一第一子文件进行加密,得到每一第二子文件。相应的,这里每一第二子文件也携带自身的标识信息。
示例性的,第一服务器利用对称密钥对拆分后的每一第一子文件进行基于AES的算法加密,得到每一第二子文件,例如,C1=Ek(M1)、C2=Ek(M2)、...、Cn=Ek(Mn),其中,n为大于1的正整数,并且n的最大值为拆分得到的第一子文件的总数。
步骤104、计算每一第二子文件的摘要,得到第二摘要。
本发明实施例中,第一服务器基于摘要算法计算每一第二子文件的第二摘要。这里,第一服务器计算每一第一子文件的第一摘要与计算每一第二子文件的第二摘要所用的摘要算法相同,但是,第一服务器根据摘要算法计算每一第一子文件得到的第一摘要与第一服务器根据摘要算法计算每一第二子文件的第二摘要不同。
示例性的,第一服务器对每一第二子文件提取SHA-1值,例如,第二摘要可以为N1=sha1(C1)、N2=sha1(C2)、...、Nn=sha1(Cn),其中,n为大于1的正整数,并且n的最大值为拆分得到的第一子文件的总数。
步骤105、发送每一第二子文件和第二摘要至第三服务器,以使得第三服务器获取来自于第二服务器的第一摘要,并基于第一摘要、第二摘要以及每一第二子文件,确定第一文件是否被修改。
本发明实施例中,第一服务器将加密后的每一第二子文件、第二摘要按照并行的发送方式同时发送至第三服务器。这里的第三服务器指的是接收文件的服务器。
本发明的实施例所提供的文件传输方法,能够获取第一文件,并对第一文件进行拆分,得到组成第一文件的每一子文件;计算每一第一子文件的摘要,得到第一摘要,并发送第一摘要至第二服务器;基于第一密钥对每一第一子文件进行加密得到每一第二子文件;计算每一第二子文件的摘要,得到第二摘要;发送每一第二子文件和第二摘要至第三服务器,以使得第三服务器获取来自于第二服务器的第一摘要,并基于第一摘要、第二摘要以及每一第二子文件,确定第一文件是否被修改,也就是说,本发明中对第一文件进行文件拆分处理,再对拆分后的子文件的数据进行混合加密发送至第三服务器,第三服务器对接收加密文件进行合并解密,有效的解决了现有技术中文件传输安全系数低的问题,实现在传输文件的过程中,提高文件传输的安全性,提高服务器的智能性。
基于前述实施例,本发明的实施例提供一种文件传输方法,应用于第一服务器,参照图2所示,该方法包括以下步骤:
步骤201、获取第一文件,并对第一文件进行拆分,得到组成第一文件的每一子文件。
步骤202、计算每一第一子文件的摘要,得到第一摘要,并发送第一摘要至第二服务器。
步骤203、基于第一密钥对每一第一子文件进行加密得到每一第二子文件。
步骤204、计算每一第二子文件的摘要,得到第二摘要。
步骤205、对第一密钥进行加密,得到第二密钥。
本发明实施例中,第一服务器利用特定的方式对第一密钥进行加密,得到第二密钥。这里,特定的方式指的是第一服务器利用PKI提供的公钥加密对称密钥,形成对称密钥密文,即形成第二密钥。
示例性的,第一服务器采用PKI提供的公钥来加密对称密钥,形成对称密钥密文Ck=Ekr(KAES)。
步骤206、发送每一第二文件、第二摘要以及第二密钥至第三服务器,以使得第三服务器确定第一文件未被修改时,基于每一第二子文件以及第二密钥,恢复第一文件。
示例性的,第一服务器将每一第二子文件(C1、C2、...、Cn)和第二摘要的SHA-1值(N1、N2、...、Nn)以及对第二密钥即称密钥密文Ck=Ekr(KAES)一起发送至第三服务器。其中,n为大于1的正整数,并且n的最大值为拆分得到的第一子文件的总数。
需要说明的是,本实施例中与其它实施例中相同步骤和相同内容的说明,可以参照其它实施例中的描述,此处不再赘述。
本发明的实施例所提供的文件传输方法,能够获取第一文件,并对第一文件进行拆分,得到组成第一文件的每一子文件;计算每一第一子文件的摘要,得到第一摘要,并发送第一摘要至第二服务器;基于第一密钥对每一第一子文件进行加密得到每一第二子文件;计算每一第二子文件的摘要,得到第二摘要;发送每一第二子文件和第二摘要至第三服务器,以使得第三服务器基于来自于第二服务器的第一摘要、第二摘要以及每一第二子文件,确定第一文件是否被修改,也就是说,本发明中对第一文件进行文件拆分处理,再对拆分后的子文件的数据进行混合加密发送至第三服务器,第三服务器对接收加密文件进行合并解密,有效的解决了现有技术中文件传输安全系数低的问题,实现在传输文件的过程中,提高文件传输的安全性,提高服务器的智能性。
基于前述实施例,本发明的实施例提供一种文件传输方法,应用于第三服务器,参照图3所示,该方法包括以下步骤:
步骤301、从第二服务器获取第一摘要。
其中,第一摘要包括第一文件中的每一第一子文件的摘要;每一第一子文件为对第一文件进行文件拆分处理得到的文件。
本发明实施例中,第三服务器从第二服务器中获取拆分后的每一第一文件的第一摘要。这里,每一第一文件是第一服务器对待发送的第一文件进行拆分后得到的多个第一文件的子文件的集合。
示例性的,第三服器获取的第一摘要是与每一第一子文件一一对应的摘要数据。例如,第一摘要数据可以为E1=sha1(M1)、E2=sha1(M2)、...、En=sha1(Mn)其中,n为大于1的正整数,并且n的最大值为拆分得到的第一子文件的总数。
步骤302、获取每一第二子文件和第二摘要。
其中,每一第二子文件是对每一第一子文件进行加密所得到的文件;第二摘要包括每一第二子文件的摘要。
本发明实施例中,第三服务器接收第一服务器发送的每一第二子文件和第二摘要。这里,第二摘要是与每一第二文件的摘要,并且,第二摘要包含多个摘要数据,其中,第二摘要的数量与第一文件拆分后的第一子文件的文件个数一致。
示例性的,第三服器获取的第二摘要是与每一第二子文件一一对应的摘要数据。例如,第二摘要数据可以为N1=sha1(C1)、N2=sha1(C2)、...、Nn=sha1(Cn)。其中,n为大于1的正整数,并且n的最大值为拆分得到的第一子文件的总数。
步骤303、计算每一第二子文件的摘要,得到第三摘要。
本发明实施例中,第三服务器对接收到的每一第二子文件进行计算,得到接收到的每一第二子文件的第三摘要。
步骤304、若第三摘要与第二摘要相同,对每一第二子文件进行解密,得到每一第三子文件。
本发明实施例中,第三服务器确定接收到的每一第二子文件的第三摘要与接收到第一服务器发送的第二摘要一一对应相同时,第三服务器对接收到的每一第二子文件基于第一密钥的加密规则进行对应的解密,得到每一第三子文件。
步骤305、计算每一第三子文件的摘要,得到第四摘要。
本发明实施例中,第三服务器获取到第二摘要与第四摘要具有关联。这里,第二摘要包含多个,那么,第四摘要是与第二摘要对应的摘要也包含多个。
步骤306、基于第一摘要与第四摘要,生成第一文件的检测结果。
本发明实施例中,第三服务器基于获取到的第一摘要与计算每一第三子文件得到的第四摘要进行对比,从而生成一个检测结果,该检测结果是能够确定第一文件是否在发送过程中受到第三方的攻击。这里的攻击是指第一文件是否被第三方修改或替换。
本发明实施例中,第三服务器对每一第二子文件进行解密,得到每一第三子文件,进一步的,第三服务器计算每一第三子文件的第四摘要,第三服务器需要对第一摘要中的每一个第一摘要与第四摘要逐一核对,生成对于第一文件的检验结果。
步骤307、若第一摘要与第四摘要相同,生成用于表征第一文件未被修改的检测结果。
本发明实施例中,第四服务器将第一摘要与第四摘要进行逐一检测,若每一第一摘要与每一第四摘要对应相同,第四服务器生成一个表示第一文件未被第四方攻击的检测结果。
步骤308、若第一摘要与第四摘要不同,生成用于表征第一文件被修改的检测结果。
本发明实施例中,第四服务器将第一摘要与第四摘要进行逐一检测,若任一第一摘要与对应的第四摘要不相同,第四服务器生成一个表示第一文件被第四方攻击的检测结果。
需要说明的是,本实施例中与其它实施例中相同步骤和相同内容的说明,可以参照其它实施例中的描述,此处不再赘述。
本发明的实施例所提供的文件传输方法,从第二服务器获取第一摘要;其中,第一摘要包括第一文件中的每一第一子文件的摘要;每一第一子文件为对第一文件进行文件拆分处理得到的文件;获取每一第二子文件和第二摘要;其中,每一第二子文件是对每一第一子文件进行加密所得到的文件;第二摘要包括每一第二子文件的摘要;基于第一摘要、第二摘要以及每一第二子文件,生成第一文件的检测结果;其中检测结果用于表征第一文件是否被修改,也就是说,本发明中第三服务器对接收到的每一第二子文件、第二摘要以及第一摘要,确定第一文件未被修改时恢复第一文件,有效的解决了现有技术中文件传输安全系数低的问题,实现在传输文件的过程中,提高文件传输的安全性,提高服务器的智能性。
基于前述实施例,本发明的实施例提供一种文件传输方法,应用于第三服务器,参照图4所示,该方法包括以下步骤:
步骤401、从第二服务器获取第一摘要。
步骤402、获取每一第二子文件和第二摘要。
其中,第二摘要包括每一第二子文件的摘要;其中,每一第二子文件携带用于标识每一第二子文件的第一标识信息。
本发明实施例中,第三服务器接收第一服务器基于每一第二子文件计算得到的第二摘要。这里,基于与第一服务器计算第一摘要相同的方式获得上述的第二摘要。
步骤403、计算每一第二子文件的摘要,得到第三摘要。
步骤404、若第三摘要与第二摘要相同,对每一第二子文件进行解密,得到每一第三子文件。
步骤405、计算每一第三子文件的摘要,得到第四摘要。
步骤406、若第一摘要与第四摘要相同,生成用于表征第一文件未被修改的检测结果。
步骤407、获取对第一密钥进行加密得到的第二密钥。
其中,第一密钥是用于对每一第一子文件进行加密得到每一第二子文件的密钥。
本发明实施例中,第三服务器获取第二密钥,其中,第二密钥是对第一密钥进行加密的到的密钥。这里,这里的对第一密钥进行加密的加密方法是从PKI中获取的RSA公钥对第一密钥AES密钥进行加密,得到加密的AES密钥。其中,第一密钥是AES密钥,第二密钥是加密的AES密钥。
步骤408、基于第一标识信息对每一第二子文件进行合并,得到第三文件。
本发明实施例中,第三服务器根据每一第二子文件的标识信息将多个第二子文件进行合并。这里每一第二子文件的标识信息是每一第二子文件在第一文件中的位置信息的编码,使得第三服务器依据每一个第二子文件的编码按照顺序将第二子文件进行合并,合并后的文件为第三文件。
步骤409、基于第二密钥对第三文件进行解密,得到第一文件。
本发明实施例中,第三服务器基于第二密钥的加密规则,相应的对第二密钥进行解密,获取到解密后的密钥对第三文件进行整体解密,完成恢复第一文件的工作。这里,第三服务器基于对每一第二文件进行合并后的第三文件进行整体解密,得到第一文件。
需要说明的是,本实施例中与其它实施例中相同步骤和相同内容的说明,可以参照其它实施例中的描述,此处不再赘述。
本发明的实施例所提供的文件传输方法,从第二服务器获取第一摘要;其中,第一摘要包括第一文件中的每一第一子文件的摘要;每一第一子文件为对第一文件进行文件拆分处理得到的文件;获取每一第二子文件和第二摘要;其中,每一第二子文件是对每一第一子文件进行加密所得到的文件;第二摘要包括每一第二子文件的摘要;基于第一摘要、第二摘要以及每一第二子文件,生成第一文件的检测结果;其中检测结果用于表征第一文件是否被修改,也就是说,本发明中第三服务器对接收到的每一第二子文件第二摘要以及第一摘要,确定第一文件未被修改时恢复第一文件,有效的解决了现有技术中文件传输安全系数低的问题,实现在传输文件的过程中,提高文件传输的安全性,提高服务器的智能性。
示例性的,本发明的实施例提供一种文件传输方法,参照图5所示,该方法包括以下步骤:
步骤501、第一服务器确定待发送的第一文件。
本发明实施例中,第一服务器对大文件基于多种算法进行混合。其中混合算法包括:高级加密标准(Advanced Encryption Standard,AES),在密码学中又称Rijndael加密法AES、RSA加密算法及安全散列算法1(Secure Hash Algorithm-1,SHA-1)。本发明中第一文件混合加密用于实现文件分块加密传输和接受方合并后再解密的过程。
步骤502、第一服务器对第一文件进行分块处理。
本发明实施例中,第一服务器基于第一文件的属性信息对第一文件进行拆分,将第一文件拆分成至少一个第一子文件。这里,第一文件中包含多个第一子文件,但是每个第一子文件均不同。
示例性的,第一服务器接收的第一文件的文件大小为20M,这里,可以基于第一文件的属性信息中的文件大小,将大小为20M的第一文件拆分成5个大小为4M的第一子文件,并且第一文件拆分成的每一个第一子文件都包含自身的标识信息。每一第一子文件的标识信息用于表征第一子文件在第一文件中的位置,以便第三服务器根据标识信息对每一第一子文件进行合并。
示例性的,本方案中采用Java IO的相关原理与知识,对第一文件进行分块处理,对第一文件进行分块处理过程中所用到的核心代码如下所示,
int partSize=4*1024*1024;//每块分片文件的大小
is=new FileInputStream(filePath);
int partNo=0;int byteCounter=0;int len=0;
int buffLen=4*1024;
byte[]buff = new byte[buffLen];
os=new FileOutputStream(filePath+partNo);
while((len=is.read(buff))!=-1){
os.write(buff,0,len);
byteCounter+=buffLen;
if(byteCounter==partSize){
partNo++;byteCounter=0;os.close();
os=new FileOutputStream(filePath+partNo);
}}
步骤503、第一服务器对第一子文件提取SHA-1摘要。
本发明实施例中,第一子文件包含多个,那么,多个第一子文件对应提取的SHA-1摘要也包含多个。第一服务器对第一子文件提取的SHA-1摘要是唯一确定的。也就是说,第一子文件的明文只可能对应唯一的SHA-1摘要。
示例性的,采用Java API提供的MessageDigest类来构建SHA-1加密算法。其中,对第一子文件提取SHA-1摘要的核心代码如下所示,
fileInputStream=new FileInputStream(file);
sha1=MessageDigest.getInstance(encodingAlgorithm);
while((numRead=fileInputStream.read(buffer))>0){
sha1.update(buffer,0,numRead);}
byte[]filemd5=sha1.digest();
步骤504、第一服务器将第一子文件的SHA-1摘要发送至第二服务器。
本发明实施例中,在步骤502第一服务器对第一文件进行分块处理之后还必须执行如下步骤505-步骤509。
步骤505、第一服务器基于AES密钥对第一数据子文件加密。
本发明实施例中,对分块后的第一子文件基于AES算法进行加密的过程中,首先由随机数生成器生成AES的密钥,然后对分块后的第一子文件进行加密,该加密过程中的核心代码如下所示,
for(int i=0;i<=partCount;++i){
fis=new FileInputStream(basePath+"part"+i);
int writeCounter=0;
Cipher encryptor=getEncryptor(KEY);
fos=new FileOutputStream(basePath+"enc"+i);
cos=new CipherOutputStream(fos,encryptor);
byte[]buff=new byte[4096];int len;
while((len=fis.read(buff))!=-1){
cos.write(buff,0,len);
writeCounter+=len;}
int SECTION_LEN=16;
intpaddingLen=(SECTION_LEN-writeCounter%SECTION_LEN)%SECTION_LEN;
byte[]paddingBuff=new byte[]{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
if(paddingLen!=0){
cos.write(paddingBuff,0,paddingLen);}
cos.close();}
步骤506、第一服务器对加密后的第一数据子文件提取SHA-1摘要,得到分块加密后的每一第一子文件的SHA-1摘要。
步骤507、第一服务器基于从PKI中获取的RSA公钥对AES密钥进行加密,得到加密的AES密钥。
本发明实施例中,第一服务器中的加密模块基于RSA对AES密钥加密,首先从PKI获取公钥,然后利用公钥对AES密钥加密,在此过程中使用的加密函数为enryptPublicKey,加密过程中的核心代码如下所示,
byte[]Rsapubkey=userkey.getPubKey();//获取公钥
cipher.init(Cipher.ENCRYPT_MODE,publicKey);
cipher.doFinal(data);
步骤508、第一服务器将分块加密后的每一第一子文件、加密的AES密钥以及分块加密后第一子文件的SHA-1摘要发送至第三服务器。
本发明实施例中,第一服务器将加密后的每一第一子文件、加密的AES密钥以及分块加密后第一子文件的SHA-1摘要发送至第三服务器。
其中,加密后的每一第一子文件包含自身的标识信息。这里的标识信息是基于每一第一子文件在第一文件中的位置进行顺序编号得到的。同时,第三服务器也可以基于编号进行索引,合并每一加密后的第一子文件。
步骤509、第三服务器基于接收到的分块加密后第一子文件的文件进行文件合并,得到合并后的加密文件;基于加密的AES密钥对合并后的加密文件进行整体解密,得到第一文件。
示例性的,第三服务器在接收第一服务器发送的分块加密第一子文件后,对多个分块加密后的每一第一子文件进行合并处理,在合并处理的过程中所使用的合并函数为mergeEnc,合并过程中的核心代码如下所示,
fos=new FileOutputStream(basePath+"enc");
for(int i=0;i<=partCount;++i){
FileInputStream fis=new FileInputStream(basePath+"enc"+i);
byte[]buff=new byte[4096];int len;
while((len=fis.read(buff))!=-1){
fos.write(buff,0,len);
}}
本发明实施例中,第三服务器将合并后的大文件基于加密的AES密钥进行解密处理,得到原始文件,也就是第一文件。在第三服务器进行解密时用到的解密合并文件函数为decAll,合并解密过程中的核心代码如下所示,
fis=new FileInputStream(basePath+"enc");
Cipher decryptor=getDecryptor(KEY);
CipherInputStream cis=new CipherInputStream(fis,decryptor);
FileOutputStream fos=new FileOutputStream(basePath+"zip");
final byte[]buff=new byte[4096];int len;
int remainLen=srcLen;
while((len=cis.read(buff))!=-1){
if(len>=remainLen){
len=remainLen;}
fos.write(buff,0,len);
remainLen-=len;}
本发明实施例所提供的文件传输方法,具有如下的有益效果:针对文件传输过程中的安全性问题,尤其是针对大文件传输过程中的安全性问题,本发明实施例中大文件用第一文件表示。相关技术中针对大文件安全传输的解决方案均是从大文件加密本身出发,并不能由业务平台系统完全地自动检测出大文件在传输过程中是否受到了第三方的攻击、篡改;例如,采用人工的方式对每个传输的大文件查看及核实是否受到了攻击、篡改,但是由于有大量的文件不停地在网络中传输,人工的方式将耗费大量人力资源,成本极高、时间效率也非常低,且人的主观意愿也会对查看及核实的结果有一定的干扰。此外,相关技术中均是对大文件本身进行加密得到密文、再基于Hash函数(或MD5)对整个明文提取明文的摘要或密文提取密文的摘要,最后发送密文、密文的摘要以及对称密钥给第三服务器,此方法的传输安全系数非常低,存在将加密密文、加密密钥及提取的摘要整体被替换的风险。本发明实施例所提出的方案可以很好的解决上述存在的问题,充分利用成熟的多种加密算法和相关Java技术知识,第一服务器构建出大文件分块处理、对密文或明文提取SHA-1摘要、对分块文件加密;进一步地,第三服务器合并分块加密文件再整体解密、用RSA对AES密钥加密等多个模块,并针对主流的加密算法做了相应优化设计与混合处理,实现了业务系统可自动检测出大文件在传输过程中是否受到了第三方的攻击、篡改或整体替换,确保了大文件在网络中传输的安全性,极大的降低了人力资源成本,整个传输机制更加智能化、安全系数更高。
在实际应用中,目前尚未发现有其他较好的技术方法和低成本方式能够解决大文件传输存在的安全性较低的难题。本发明技术方案的应用及推广,将会有效且大幅度地提高大文件在网络中传输的安全系数,并能降低人力资源成本。
本发明的实施例提供服务器包括第一服务器6,该第一服务器6可以应用于图1-2对应的实施例提供的一种文件传输方法中,参照图6所示,该第一服务器6可以包括:第一处理器61、第一存储器62和第一通信总线63,其中:
第一通信总线63用于实现第一处理器61和第一存储器62之间的通信连接。
第一处理器61用于执行第一存储器62中存储的文件传输方法的程序,以实现以下步骤:
获取第一文件,并对第一文件进行拆分,得到组成第一文件的每一子文件;
计算每一第一子文件的摘要,得到第一摘要,并发送第一摘要至第二服务器;
基于第一密钥对每一第一子文件进行加密得到每一第二子文件;
计算每一第二子文件的摘要,得到第二摘要;
发送每一第二子文件和第二摘要至第三服务器,以使得第三服务器获取第一摘要,并基于第一摘要、第二摘要以及每一第二子文件,确定第一文件是否被修改。
在本发明的其他实施例中,第一处理器61用于执行第一存储器62还用于实现以下步骤:
对所述第一密钥进行加密,得到第二密钥;
相应的,还包括:
发送所述每一第二子文件、第二摘要以及所述第二密钥至第三服务器,以使得第三服务器确定所述第一文件未被修改时,基于所述每一第二子文件以及所述第二密钥,恢复所述第一文件。
需要说明的是,本实施例中与其它实施例中相同步骤和相同内容的说明,可以参照图1-2对应的实施例提供的文件传输方法中的实现过程,此处不再赘述。
本发明的实施例所提供第一服务器,能够获取第一文件,并对第一文件进行拆分,得到组成第一文件的每一子文件;计算每一第一子文件的摘要,得到第一摘要,并发送第一摘要至第二服务器;基于第一密钥对每一第一子文件进行加密得到每一第二子文件;计算每一第二子文件的摘要,得到第二摘要;发送第二摘要至第三服务器,以使得第三服务器基于第一摘要与第二摘要,确定第一文件是否被修改,也就是说,本发明中对第一文件进行文件拆分处理,再对拆分后的子文件的数据进行混合加密发送至第三,第三对接收加密文件进行合并解密,有效的解决了现有技术中文件传输安全系数低的问题,实现在传输文件的过程中,提高文件传输的安全性,提高服务器的智能性。
本发明的实施例提供服务器包括第三服务器7,该第三服务器7可以应用于图3-4对应的实施例提供的一种文件传输方法中,参照图7所示,该第三服务器7可以包括:第二处理器71、第二存储器72和第二通信总线73,其中:
第二通信总线73用于实现第二处理器71和第二存储器72之间的通信连接。
第二处理器71用于执行第二存储器72中存储的文件传输方法的程序,以实现以下步骤:
从第二服务器获取第一摘要;其中,第一摘要包括第一文件中的每一第一子文件的摘要;每一第一子文件为对第一文件进行文件拆分处理得到的文件;
获取每一第二子文件和第二摘要;其中,每一第二子文件是对每一第一子文件进行加密所得到的文件;第二摘要包括每一第二子文件的摘要。
基于第一摘要、第二摘要以及每一第二子文件,生成第一文件的检测结果;其中,检测结果用于表征第一文件是否被修改。
在本发明的其他实施例中,第二处理器71用于执行第二存储器72中基于第一摘要、第二摘要以及每一第二文件,生成第一文件的检测结果,包括以下步骤:
计算每一第二子文件的摘要,得到第三摘要;
若第三摘要与第二摘要相同,对每一第二子文件进行解密,得到每一第三子文件;
计算每一第三子文件的摘要,得到第四摘要;
基于第一摘要与第四摘要,生成第一文件的检测结果。
在本发明的其他实施例中,第二处理器71用于执行第二存储器72还用于执行以下步骤:
若第一摘要与第四摘要相同,生成用于表征第一文件未被修改的检测结果;
若第一摘要与第四摘要不同,生成用于表征第一文件被修改的检测结果。
在本发明的其他实施例中,第二处理器71用于执行第二存储器72还用于实现以下步骤:
若检测结果表征第一文件未被修改,获取每一第二子文件;
获取对第一密钥进行加密得到的第二密钥;其中,每一第二子文件携带用于标识每一第二子文件的第一标识信息;第一密钥是用于对每一第一子文件进行加密得到每一第二子文件的密钥;
基于第一标识信息、第二密钥和每一第二子文件,得到第一文件。
在本发明的其他实施例中,第二处理器71用于执行第二存储器72中基于第一标识信息、第二密钥和每一第二子文件,得到第一文件,以实现以下步骤:
基于第一标识信息对每一第二子文件进行合并,得到第三文件;
基于第二密钥对第三文件进行解密,得到第一文件。
需要说明的是,本实施例中与其它实施例中相同步骤和相同内容的说明,可以参照图3-4对应的实施例提供的文件传输方法中的实现过程,此处不再赘述。
本发明的实施例所提供第三服务器,包括从第二服务器获取第一摘要;其中,第一摘要包括第一文件中的每一第一子文件的摘要;每一第一子文件为对第一文件进行文件拆分处理得到的文件;获取第二摘要;其中,第二摘要包括每一第二子文件的摘要;每一第二子文件是对每一第一子文件进行加密所得到的文件;基于第一摘要与第二摘要,生成第一文件的检测结果;其中检测结果用于表征第一文件是否被修改,也就是说,本发明中第三服务器对接收到的第二摘要与第一摘要进行比对以判断第一文件是否被修改,确定第一文件未被修改时恢复第一文件,有效的解决了现有技术中文件传输安全系数低的问题,提高了文件传输的安全性,使整个传输机制更加的智能化。
基于前述实施例,本发明的实施例提供一种计算机存储介质,计算机存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
获取第一文件,并对第一文件进行拆分,得到组成第一文件的每一子文件;
计算每一第一子文件的摘要,得到第一摘要,并发送第一摘要至第二服务器;
基于第一密钥对每一第一子文件进行加密得到每一第二子文件;
计算每一第二子文件的摘要,得到第二摘要;
发送每一第二子文件和第二摘要至第三服务器,以使得第三服务器获取第一摘要,并基于第一摘要、第二摘要以及每一第二子文件,确定第一文件是否被修改。
在本发明的其他实施例中,该一个或者多个程序可被一个或者多个处理器执行发送每一第二子文件和第二摘要至第三服务器之前,还包括现以下步骤:
对第一密钥进行加密,得到第二密钥;
相应的,方法还包括:
发送每一第二子文件、第二摘要以及第二密钥至第三服务器,以使得第三服务器确定第一文件未被修改时,基于每一第二子文件以及第二密钥,恢复第一文件。
基于前述实施例,本发明的实施例提供一种计算机存储介质,计算机存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
从第二服务器获取第一摘要;其中,第一摘要包括第一文件中的每一第一子文件的摘要;每一第一子文件为对第一文件进行文件拆分处理得到的文件;
获取每一第二子文件和第二摘要;其中,每一第二子文件是对每一第一子文件进行加密所得到的文件;第二摘要包括每一第二子文件的摘要;
基于第一摘要、第二摘要以及每一第二子文件,生成第一文件的检测结果;其中检测结果用于表征第一文件是否被修改。
在本发明的其他实施例中,该一个或者多个程序可被一个或者多个处理器执行基于第一摘要、第二摘要以及每一第二子文件,生成第一文件的检测结果,以实现以下步骤:
计算每一第二子文件的摘要,得到第三摘要;
若第三摘要与第二摘要相同,对每一第二子文件进行解密,得到每一第三子文件;
计算每一第三子文件的摘要,得到第四摘要;
基于第一摘要与第四摘要,生成第一文件的检测结果。
在本发明的其他实施例中,该一个或者多个程序可被一个或者多个处理器执行以下步骤:
若第一摘要与第四摘要相同,生成用于表征第一文件未被修改的检测结果。
若第一摘要与第四摘要不同,生成用于表征第一文件被修改的检测结果。
在本发明的其他实施例中,该一个或者多个程序可被一个或者多个处理器执行以下步骤:
若检测结果表征第一文件未被修改,获取每一第二子文件;
获取对第一密钥进行加密得到的第二密钥;其中,每一第二子文件携带用于标识每一第二子文件的第一标识信息;第一密钥是用于对每一第一子文件进行加密得到每一第二子文件的密钥;
基于第一标识信息、第二密钥和每一第二子文件,得到第一文件。
在本发明的其他实施例中,该一个或者多个程序可被一个或者多个处理器执行基于第一标识信息、第二密钥和每一第二子文件,得到第一文件,以实现以下步骤:
基于第一标识信息对每一第二子文件进行合并,得到第三文件;
基于第二密钥对第三文件进行解密,得到第一文件。
需要说明的是,上述计算机存储介质可以是只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性随机存取存储器(Ferromagnetic Random Access Memory,FRAM)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(Compact Disc Read-Only Memory,CD-ROM)等存储器;也可以是包括上述存储器之一或任意组合的各种电子设备,如移动电话、计算机、平板设备、个人数字助理等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所描述的方法。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种文件传输方法,其特征在于,所述方法应用于第一服务器,所述方法包括:
获取第一文件,并对所述第一文件进行拆分,得到组成所述第一文件的每一子文件;
计算每一第一子文件的摘要,得到第一摘要,并发送所述第一摘要至第二服务器;其中,所述第二服务器为网络服务器;
基于第一密钥对所述每一第一子文件进行加密得到每一第二子文件;
计算所述每一第二子文件的摘要,得到第二摘要;
发送所述每一第二子文件和所述第二摘要至第三服务器,以使得所述第三服务器获取来自于所述第二服务器的所述第一摘要,并基于所述第一摘要、所述第二摘要以及所述每一第二子文件,确定所述第一文件是否被修改。
2.根据权利要求1所述的方法,其特征在于,所述发送所述每一第二子文件和所述第二摘要至第三服务器之前,所述方法还包括:
对所述第一密钥进行加密,得到第二密钥;
相应的,所述方法还包括:
发送所述第二密钥至所述第三服务器,以使得所述第三服务器确定所述第一文件未被修改时,基于所述每一第二子文件以及所述第二密钥,恢复所述第一文件。
3.一种文件传输方法,其特征在于,所述方法应用于第三服务器,所述方法包括:
从第二服务器获取第一摘要;其中,所述第一摘要包括第一文件中的每一第一子文件的摘要;所述每一第一子文件为对所述第一文件进行文件拆分处理得到的文件;
获取每一第二子文件和第二摘要;其中,所述每一第二子文件是对所述每一第一子文件进行加密所得到的文件;所述第二摘要包括所述每一第二子文件的摘要;
基于所述第一摘要、所述第二摘要以及所述每一第二子文件,生成所述第一文件的检测结果;其中,所述检测结果用于表征所述第一文件是否被修改。
4.根据权利要求3所述的方法,其特征在于,所述基于所述第一摘要、所述第二摘要以及所述每一第二子文件,生成所述第一文件的检测结果,包括:
计算所述每一第二子文件的摘要,得到第三摘要;
若所述第三摘要与所述第二摘要相同,对所述每一第二子文件进行解密,得到每一第三子文件;
计算所述每一第三子文件的摘要,得到第四摘要;
基于所述第一摘要与所述第四摘要,生成所述第一文件的检测结果。
5.根据权利要求4所述的方法,其特征在于,所述基于所述第一摘要与所述第四摘要,生成所述第一文件的检测结果,包括:
若所述第一摘要与所述第四摘要相同,生成用于表征所述第一文件未被修改的检测结果;
若所述第一摘要与所述第四摘要不同,生成用于表征所述第一文件被修改的检测结果。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述检测结果表征所述第一文件未被修改,获取所述每一第二子文件;其中,所述每一第二子文件携带用于标识每一第二子文件的第一标识信息;
获取对第一密钥进行加密得到的第二密钥;其中,所述第一密钥是用于对所述每一第一子文件进行加密得到所述每一第二子文件的密钥;
基于所述第一标识信息、所述第二密钥和所述每一第二子文件,得到所述第一文件。
7.根据权利要求6所述的方法,其特征在于,所述基于所述第一标识信息、所述第二密钥和所述每一第二子文件,得到所述第一文件,包括:
基于所述第一标识信息对所述每一第二子文件进行合并,得到第三文件;
基于所述第二密钥对所述第三文件进行解密,得到所述第一文件。
8.一种第一服务器,其特征在于,所述第一服务器包括:第一处理器、第一存储器和第一通信总线,包括:
所述第一通信总线用于实现第一处理器和第一存储器之间的通信连接;
所述第一处理器用于执行第一存储器中存储的数据处理程序,以实现以下步骤:
获取第一文件,并对所述第一文件进行拆分,得到组成所述第一文件的每一子文件;
计算每一第一子文件的摘要,得到第一摘要,并发送所述第一摘要至第二服务器;
基于第一密钥对所述每一第一子文件进行加密得到每一第二子文件;
计算所述每一第二子文件的摘要,得到第二摘要;
发送所述每一第二子文件和所述第二摘要至第三服务器,以使得所述第三服务器获取来自于所述第二服务器的所述第一摘要、并基于所述第一摘要、所述第二摘要以及所述每一第二子文件,确定所述第一文件是否被修改。
9.一种第三服务器,其特征在于,所述第三服务器包括:第二处理器、第二存储器和第二通信总线,包括:
所述第二通信总线用于实现第二处理器和第二存储器之间的通信连接;
所述第二处理器用于执行第二存储器中的文件传输方法的程序,以实现以下步骤:
从第二服务器获取第一摘要;其中,所述第一摘要包括第一文件中的每一第一子文件的摘要;所述每一第一子文件为对所述第一文件进行文件拆分处理得到的文件;
获取每一第二子文件和第二摘要;其中,所述每一第二子文件是对所述每一第一子文件进行加密所得到的文件;所述第二摘要包括所述每一第二子文件的摘要;
基于所述第一摘要、所述第二摘要以及所述每一第二子文件,生成所述第一文件的检测结果;其中所述检测结果用于表征所述第一文件是否被修改。
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1至2或3至7中任一项所述的文件传输方法的步骤。
CN201910765664.XA 2019-08-19 2019-08-19 一种文件传输方法、服务器及计算机存储介质 Active CN112398655B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910765664.XA CN112398655B (zh) 2019-08-19 2019-08-19 一种文件传输方法、服务器及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910765664.XA CN112398655B (zh) 2019-08-19 2019-08-19 一种文件传输方法、服务器及计算机存储介质

Publications (2)

Publication Number Publication Date
CN112398655A CN112398655A (zh) 2021-02-23
CN112398655B true CN112398655B (zh) 2022-06-03

Family

ID=74603561

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910765664.XA Active CN112398655B (zh) 2019-08-19 2019-08-19 一种文件传输方法、服务器及计算机存储介质

Country Status (1)

Country Link
CN (1) CN112398655B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114374701A (zh) * 2021-12-06 2022-04-19 福建亿榕信息技术有限公司 一种多级联动人工智能平台样本模型透明共享装置
CN114650188A (zh) * 2022-05-20 2022-06-21 广州万协通信息技术有限公司 一种基于代理节点的数据安全传输方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102064906A (zh) * 2009-11-18 2011-05-18 突触计算机系统(上海)有限公司 一种对数据块进行校验的方法和装置
CN103888243A (zh) * 2014-04-15 2014-06-25 飞天诚信科技股份有限公司 一种种子密钥安全传输的方法
CN104168081A (zh) * 2013-05-20 2014-11-26 腾讯科技(深圳)有限公司 一种文件传输方法及装置
CN104408381A (zh) * 2014-11-27 2015-03-11 大连理工大学 云存储中数据完整性保护方法
CN108197439A (zh) * 2018-01-04 2018-06-22 武汉斗鱼网络科技有限公司 一种文件加密方法、装置及服务器
CN109783451A (zh) * 2018-12-13 2019-05-21 平安科技(深圳)有限公司 基于消息摘要算法的文件更新方法、装置、设备及介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170279777A1 (en) * 2016-03-28 2017-09-28 Le Holdings (Beijing) Co., Ltd. File signature system and method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102064906A (zh) * 2009-11-18 2011-05-18 突触计算机系统(上海)有限公司 一种对数据块进行校验的方法和装置
CN104168081A (zh) * 2013-05-20 2014-11-26 腾讯科技(深圳)有限公司 一种文件传输方法及装置
CN103888243A (zh) * 2014-04-15 2014-06-25 飞天诚信科技股份有限公司 一种种子密钥安全传输的方法
CN104408381A (zh) * 2014-11-27 2015-03-11 大连理工大学 云存储中数据完整性保护方法
CN108197439A (zh) * 2018-01-04 2018-06-22 武汉斗鱼网络科技有限公司 一种文件加密方法、装置及服务器
CN109783451A (zh) * 2018-12-13 2019-05-21 平安科技(深圳)有限公司 基于消息摘要算法的文件更新方法、装置、设备及介质

Also Published As

Publication number Publication date
CN112398655A (zh) 2021-02-23

Similar Documents

Publication Publication Date Title
CN109559122B (zh) 区块链数据传输方法及区块链数据传输系统
CN112491846B (zh) 一种跨链的区块链通信方法及装置
US9800416B2 (en) Distributed validation of digitally signed electronic documents
EP0916209B1 (en) Cryptographic key recovery system
CN110958219B (zh) 一种面向医疗云共享数据的sm2代理重加密方法与装置
CN101931529B (zh) 一种数据加密方法、数据解密方法及节点
CN107425971B (zh) 无证书的数据加/解密方法和装置、终端
CN110048849B (zh) 一种多层保护的会话密钥协商方法
US11870891B2 (en) Certificateless public key encryption using pairings
CN109104271B (zh) 一种数字签名的方法、装置和系统
US20210165914A1 (en) Cryptographic method for verifying data
CN113612610B (zh) 一种会话密钥协商方法
CN114900304B (zh) 数字签名方法和装置、电子设备和计算机可读存储介质
CN114826656A (zh) 一种数据链路可信传输方法和系统
CN112398655B (zh) 一种文件传输方法、服务器及计算机存储介质
CN114448641A (zh) 一种隐私加密方法、电子设备、存储介质以及芯片
CN107104788B (zh) 终端及其不可抵赖的加密签名方法和装置
CN109978543B (zh) 一种合同签署的方法、装置、电子设备及存储介质
CN105871858A (zh) 一种保证数据安全的方法及系统
CN109495257B (zh) 一种基于改进国密sm2加密算法的数据采集器加密方法
CN108242997B (zh) 安全通信的方法与设备
CN109104393B (zh) 一种身份认证的方法、装置和系统
CN112423295A (zh) 一种基于区块链技术的轻量级安全认证方法及系统
Vegh et al. A framework for verifying the integrity of the components of a secure cyber-physical system
CN117675205A (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