CN110677429A - 一种文件存储的方法、系统、云端设备及终端设备 - Google Patents

一种文件存储的方法、系统、云端设备及终端设备 Download PDF

Info

Publication number
CN110677429A
CN110677429A CN201910959369.8A CN201910959369A CN110677429A CN 110677429 A CN110677429 A CN 110677429A CN 201910959369 A CN201910959369 A CN 201910959369A CN 110677429 A CN110677429 A CN 110677429A
Authority
CN
China
Prior art keywords
file
hash value
ciphertext
cloud
client
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
CN201910959369.8A
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.)
Qingdao University
Original Assignee
Qingdao University
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 Qingdao University filed Critical Qingdao University
Priority to CN201910959369.8A priority Critical patent/CN110677429A/zh
Publication of CN110677429A publication Critical patent/CN110677429A/zh
Pending legal-status Critical Current

Links

Images

Classifications

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

Abstract

本申请公开了一种文件存储的方法,包括:云端查找是否存在第一哈希值;若是,则云端返回文件重复的提示信息,并等待第二密文上传;若否,则云端请求待上传文件;客户端对待上传文件进行加密,得到加密文件,并加密第一预设密钥得到第一密文,利用第二预设密钥加密第二哈希值得到第二密文,将第一密文、第二密文及加密文件上传至云端。本申请令待上传文件离开客户端时便为密文形式,隔离了网络和云端上不安全环境,同时采用文件第二哈希值加密第一预设密钥确保加密文件的密钥不被泄露,实现了对加密后的数据进行数据去重,同时保证了数据的安全性。本申请同时还提供了一种文件存储的系统、云端设备及终端设备,具有上述有益效果。

Description

一种文件存储的方法、系统、云端设备及终端设备
技术领域
本申请涉及文件存储领域,特别涉及一种文件存储的方法、系统、云端设备及终端设备。
背景技术
随着云计算技术的发展和普及,由于其巨大的灵活性和经济性,促使企业和个人将数据外包给云服务商。互联网数据中心(IDC)的分析报告显示,到2020年,世界的数据总量将达到44ZB。随着云服务器中数据总量的飞速增长,迫切的需要发展新的技术来高效地使用存储空间和网络带宽。
事实上,数据去重技术已经引起了工业界和学术界的极大关注。例如,Dropbox,Spider Oak,Google Drive已经采用数据去重技术来减少存储空间的消耗,并采用客户端侧的数据去重来减少网络带宽的开销。然而,基于隐私性和机密性的考虑,数据拥有者倾向于在上传数据到云服务器之前利用自己的密钥对数据进行加密。由于相同的文件经过不同的密钥加密后将得到不同的密文,因此上述加密方式使得跨用户的数据去重技术变得不可行。
因此,如何实现对加密后的数据进行数据去重是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种文件存储的方法、系统、云端设备及终端设备,用于实现对加密后的数据进行数据去重。
为解决上述技术问题,本申请提供一种文件存储的方法,该方法包括:
客户端计算待上传文件的第一哈希值,并将所述第一哈希值发送至云端;
所述云端查找预设文件信息表中是否存在所述第一哈希值;
若是,则所述云端向所述客户端返回文件重复的提示信息,并等待所述客户端利用第二预设密钥加密所述第二哈希值得到第二密文上传;
若否,则所述云端向所述客户端请求所述第一哈希值对应的待上传文件;
所述客户端利用第一预设密钥对所述待上传文件进行加密,得到加密文件,并利用所述待上传文件的第二哈希值作为密钥加密所述第一预设密钥得到第一密文,利用第二预设密钥加密所述第二哈希值得到第二密文,将所述第一密文、所述第二密文及所述加密文件上传至所述云端;其中,所述第二哈希值与所述第一哈希值不一致;
所述云端将所述第一哈希值、所述第一密文及所述加密文件存储到所述预设文件信息表中,将所述第二密文保存至用户关联文件表中。
本申请还提供一种文件存储的方法,应用于云端,该方法包括:
接收客户端发送的待上传文件的第一哈希值;
查找预设文件信息表中是否存在所述第一哈希值;
若是,则向所述客户端返回文件重复的提示信息,并等待所述客户端利用第二预设密钥加密所述第二哈希值得到第二密文上传;
若否,则向所述客户端请求所述第一哈希值对应的待上传文件,以使所述客户端利用第一预设密钥对所述待上传文件进行加密,得到加密文件,并利用所述待上传文件的第二哈希值作为密钥加密所述第一预设密钥得到第一密文,利用第二预设密钥加密所述第二哈希值得到第二密文,将所述第一密文、所述第二密文及所述加密文件上传;其中,所述第二哈希值与所述第一哈希值不一致;
将所述第一哈希值、所述第一密文及所述加密文件存储到所述预设文件信息表中,将所述第二密文保存至用户关联文件表中。
可选的,在将所述第一哈希值、所述第一密文及所述加密文件存储到所述预设文件信息表中,将所述第二密文保存至用户关联文件表中之后,还包括:
云端将当前登录用户与所述待上传文件的信息的对应关系保存至用户关联文件表中。
可选的,还包括:
当接收所述客户端发送的用户关联文件表获取请求时,将所述用户关联文件表发送至所述客户端;
当接收到所述客户端发送的第一文件下载请求时,将所述第一文件下载请求对应的所述第一哈希值、所述第一密文、所述第二密文及所述加密文件发送至所述客户端。
本申请还提供一种文件存储的方法,应用于客户端,该方法包括:
计算待上传文件的第一哈希值,并将所述第一哈希值发送至云端;
当接收到所述云端发送的文件上传请求时,利用第一预设密钥对所述待上传文件进行加密,得到加密文件;
利用所述待上传文件的第二哈希值作为密钥加密所述第一预设密钥得到第一密文;其中,所述第二哈希值与所述第一哈希值不一致;
利用第二预设密钥加密所述第二哈希值得到第二密文;
将所述第一密文、所述第二密文及所述加密文件上传至所述云端,以使所述云端将所述第一哈希值、所述第一密文及所述加密文件存储到所述预设文件信息表中,将所述第二密文保存至用户关联文件表中。
可选的,在计算待上传文件的第一哈希值,并将所述第一哈希值发送至云端之前,还包括:
接收输入的用户名和登录口令;
将所述用户名和所述登录口令发送至所述云端,以使所述云端获取用户登录验证表,并判断所述用户名和所述登录口令是否存在于所述用户登录验证表中,若是,则返回登录成功信息至所述客户端;
当接收到所述云端发送的所述登录成功信息时,确认登录成功。
可选的,在确认登录成功之后,还包括:
接收当前登录用户输入的第二文件下载请求;
根据所述第二文件下载请求确定待下载文件的信息,并从所述云端中获取用户关联文件表;
判断所述用户关联文件表中是否有所述当前登录用户与所述待下载文件的信息的对应关系;
若是,则从所述用户关联文件表中获取所述第二密文,并从所述云端中获取所述待下载文件的信息对应的所述第一哈希值、所述第一密文及所述加密文件;
接收所述当前登录用户输入的用户密钥,并利用所述用户密钥对所述第二密文进行解密,得到所述待下载文件的第二哈希值;
利用所述待下载文件的第二哈希值解密所述第一密文得到所述第一预设密钥,并利用所述第一预设密钥对所述加密文件进行解密,得到所述待下载文件;
将所述待下载文件保存至本地。
本申请还提供一种文件存储的系统,包括终端设备及云端设备,其中:
所述终端设备,用于计算待上传文件的第一哈希值,并将所述第一哈希值发送至云端;利用第一预设密钥对所述待上传文件进行加密,得到加密文件,并利用所述待上传文件的第二哈希值作为密钥加密所述第一预设密钥得到第一密文,利用第二预设密钥加密所述第二哈希值得到第二密文,将所述第一密文、所述第二密文及所述加密文件上传至所述云端;其中,所述第二哈希值与所述第一哈希值不一致;
所述云端设备,用于查找预设文件信息表中是否存在所述第一哈希值;若是,则所述云端向所述客户端返回文件重复的提示信息,并等待所述客户端利用第二预设密钥加密所述第二哈希值得到第二密文上传;若否,则所述云端向所述客户端请求所述第一哈希值对应的待上传文件;将所述第一哈希值、所述第一密文及所述加密文件存储到所述预设文件信息表中,将所述第二密文保存至用户关联文件表中。
本申请还提供一种云端设备,该云端设备包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述任一项所述应用于云端的文件存储的方法的步骤。
本申请还提供一种终端设备,该终端设备包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述任一项所述应用于客户端的文件存储的方法的步骤。
本申请所提供文件存储的方法,包括:客户端计算待上传文件的第一哈希值,并将第一哈希值发送至云端;云端查找预设文件信息表中是否存在第一哈希值;若是,则云端向客户端返回文件重复的提示信息,并等待客户端利用第二预设密钥加密第二哈希值得到第二密文上传;若否,则云端向客户端请求第一哈希值对应的待上传文件;客户端利用第一预设密钥对待上传文件进行加密,得到加密文件,并利用待上传文件的第二哈希值作为密钥加密第一预设密钥得到第一密文,利用第二预设密钥加密第二哈希值得到第二密文,将第一密文、第二密文及加密文件上传至云端;其中,第二哈希值与第一哈希值不一致;云端将第一哈希值、第一密文及加密文件存储到预设文件信息表中,将第二密文保存至用户关联文件表中。
本申请所提供的技术方案,先根据客户端发送的第一哈希值判断待上传文件是否重复上传,若是,则云端向客户端返回文件重复的提示信息,并等待所述客户端利用第二预设密钥加密所述第二哈希值得到第二密文上传,若否,则请求待上传文件;再通过客户端利用第一预设密钥对待上传文件进行加密,得到加密文件,并利用待上传文件的第二哈希值作为密钥加密第一预设密钥得到第一密文;利用第二预设密钥加密第二哈希值得到第二密文,将第一密文、第二密文及加密文件上传至云端;使得待上传文件离开客户端时便为密文形式,隔离了网络和云端上不安全环境,同时采用文件第二哈希值加密第一预设密钥确保加密文件的密钥不被泄露,实现了对加密后的数据进行数据去重,同时保证了数据的安全性。本申请同时还提供了一种文件存储的系统、云端设备及终端设备,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种文件存储的方法的流程图;
图2为本申请实施例所提供的另一种文件存储的方法的流程图;
图3为本申请实施例所提供的一种终端设备的结构图;
图4为本申请实施例所提供的再一种文件存储的方法的流程图;
图5为本申请实施例所提供的一种云端设备的结构图;
图6为本申请实施例所提供的一种文件存储的系统的结构图。
具体实施方式
本申请的核心是提供一种文件存储的方法、系统、云端设备及终端设备,用于实现对加密后的数据进行数据去重。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
基于现有技术中,出于隐私性和机密性的考虑,数据拥有者倾向于在上传数据到云服务器之前利用自己的密钥对数据进行加密。而由于相同的文件经过不同的密钥加密后将得到不同的密文,因此上述加密方式使得跨用户的数据去重技术变得不可行,故本申请提供了一种文件存储的方法,用于解决上述问题。
该文件存储的方法基于由装有客户端的终端设备及云端设备组成的系统架构进行实现,请参考图1,图1为本申请实施例所提供的一种文件存储的方法的流程图。
其具体包括如下步骤:
S101:客户端计算待上传文件的第一哈希值,并将第一哈希值发送至云端;
可选的,在客户端计算待上传文件的第一哈希值,并将第一哈希值发送至云端之前,还可以包括:
客户端接收输入的用户名和登录口令;
客户端将用户名和登录口令发送至云端,以使云端获取用户登录验证表,并判断用户名和登录口令是否存在于用户登录验证表中,若是,则返回登录成功信息至客户端;
当接收到云端发送的登录成功信息时,客户端确认登录成功。
进一步的,在确认登录成功之后,还可以执行如下步骤:
接收当前登录用户输入的第二文件下载请求;
根据第二文件下载请求确定待下载文件的信息,并从云端中获取用户关联文件表;
判断用户关联文件表中是否有当前登录用户与待下载文件的信息的对应关系;
若是,则从云端中获取待下载文件的信息对应的第一哈希值、第一密文、第二密文及加密文件;
接收当前登录用户输入的用户密钥,并利用用户密钥对第二密文进行解密,得到待下载文件的第二哈希值;
利用待下载文件的第二哈希值解密第一密文得到第一预设密钥,并利用第一预设密钥对加密文件进行解密,得到待下载文件;
将待下载文件保存至本地;
这里提到的第二哈希值具体可以为文件的MD5值;
可选的,当用户对文件进行更改时,客户端可以捕捉文件的更改,并根据更改类型(新建、删除、修改、重命名)分别调用相应的处理逻辑:
S1011文件新建
1)若文件内容为空则不做处理;
2)文件内容不为空,调用文件上传机制;
S1012文件删除
1)把文件名和用户名发送到云端;
2)云端根据文件名和用户名查找用户与文件拥有关系信息表,删除响应的记录行,解除对该文件的拥有权;
S1013文件内容被修改
1)文件内容改成空不做处理;
2)不为空,调用文件上传机制;
S1014文件重命名
1)把原文件名,新文件名,用户名发送到云端;
2)云端根据用户名和原文件名查找用户与文件拥有关系信息表,并更新原文件名为新文件名;
通过上述技术方案,本申请实施例能够实现文件的自动同步,采用文件监控手段实时获取对文件夹内文件的操作信息,对于每一次的更改都会触发系统内响应的处理机制自动向云端同步。
S102:云端查找预设文件信息表中是否存在第一哈希值;
若是,则进入步骤S103;若否,则进入步骤S104;
当客户端想上传文件到云端时,需要先计算待上传文件的第一哈希值,云端根据该第一哈希值判断该文件是否已经上传过,如果上传过,则执行步骤S103向客户端返回文件重复的提示信息;如果没上传过,则执行步骤S104向客户端请求第一哈希值对应的待上传文件。
S103:云端向客户端返回文件重复的提示信息,并等待客户端利用第二预设密钥加密所述第二哈希值得到第二密文上传;
当客户端接收到文件重复的提示信息时,利用第二预设秘钥加密第二哈希值,得到第二密文,并将第二密文上传至云端。
S104:云端向客户端请求该第一哈希值对应的待上传文件;
S105:客户端利用第一预设密钥对待上传文件进行加密,得到加密文件,并利用待上传文件的第二哈希值作为密钥加密第一预设密钥得到第一密文,利用第二预设密钥加密第二哈希值得到第二密文,将第一密文、第二密文及加密文件上传至云端;
其中,第二哈希值与第一哈希值不一致;
当客户端接收到云端发送的文件上传请求时,先利用第一预设密钥对待上传文件进行加密,这里提到的第一预设密钥即为用户提供的密钥,满足数据拥有者在上传数据到云服务器之前利用自己的密钥对数据进行加密的请求,确保文件离开客户端后始终为密文形式;
在加密之后,利用待上传文件的第二哈希值作为密钥加密第一预设密钥得到第一密文,利用第二预设密钥加密第二哈希值得到第二密文,将第一密文、第二密文及加密文件上传至云端,确保加密文件的密钥不被泄露;
这里提到的第二预设密钥也为用户提供的密钥,第二预设密钥用于加密第二哈希值,以防止其他用户直接根据文件的第二哈希值后解析得到待上传文件。
S106:云端将第一哈希值、第一密文及加密文件存储到预设文件信息表中,将第二密文保存至用户关联文件表中。
预设文件信息表中存储着待上传文件的第一哈希值、第一密文、第二密文及加密文件,云端可以查找预设文件信息表中是否存在第一哈希值,来判断该待上传文件是否已经上传过。
可选的,当客户端接收客户端发送的用户关联文件表获取请求时,将用户关联文件表发送至客户端;
当接收到客户端发送的第一文件下载请求时,将第一文件下载请求对应的第一哈希值、第一密文、第二密文及加密文件发送至客户端。
基于上述技术方案,本申请所提供的一种文件存储的方法,先根据客户端发送的第一哈希值判断待上传文件是否重复上传,若是,则云端向客户端返回文件重复的提示信息,若否,则请求待上传文件;再通过客户端利用第一预设密钥对待上传文件进行加密,得到加密文件,并利用待上传文件的第二哈希值作为密钥加密第一预设密钥得到第一密文;利用第二预设密钥加密第二哈希值得到第二密文,将第一密文、第二密文及加密文件上传至云端;使得待上传文件离开客户端时便为密文形式,隔离了网络和云端上不安全环境,同时采用文件第二哈希值加密第一预设密钥确保加密文件的密钥不被泄露,实现了对加密后的数据进行数据去重,同时保证了数据的安全性。
本申请还提供了另一种文件存储的方法,应用于云端,请参考图2,图2为本申请实施例所提供的另一种文件存储的方法的流程图。
其具体包括以下步骤:
S201:接收客户端发送的待上传文件的第一哈希值;
S202:查找预设文件信息表中是否存在该第一哈希值;
若是,则进入步骤S203;若否,则进入步骤S204;
S203:向客户端返回文件重复的提示信息,并等待所述客户端利用第二预设密钥加密第二哈希值得到第二密文上传;
S204:向客户端请求第一哈希值对应的待上传文件,以使客户端利用第一预设密钥对待上传文件进行加密,得到加密文件,并利用待上传文件的第二哈希值作为密钥加密第一预设密钥得到第一密文,利用第二预设密钥加密第二哈希值得到第二密文,将第一密文、第二密文及加密文件上传;
其中,第二哈希值与第一哈希值不一致。
S205:将第一哈希值、第一密文及加密文件存储到预设文件信息表中,将第二密文保存至用户关联文件表中。
可选的,在将第一哈希值、第一密文及加密文件存储到预设文件信息表中,将第二密文保存至用户关联文件表中之后,还包括:
云端将当前登录用户与待上传文件的信息的对应关系保存至用户关联文件表中。
可选的,当接收客户端发送的用户关联文件表获取请求时,将用户关联文件表发送至客户端;
当接收到客户端发送的第一文件下载请求时,将第一文件下载请求对应的第一哈希值、第一密文、第二密文及加密文件发送至客户端。
请参考图3,图3为本申请实施例所提供的一种云端设备的结构图。
该云端设备300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对装置中的一系列指令操作。更进一步地,处理器322可以设置为与存储介质330通信,在云端设备300上执行存储介质330中的一系列指令操作。
云端设备300还可以包括一个或一个以上电源323,一个或一个以上有线或无线网络接口330,一个或一个以上输入输出接口338,和/或,一个或一个以上操作系统341,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
本申请还提供了再一种文件存储的方法,应用于终端设备,请参考图4,图4为本申请实施例所提供的再一种文件存储的方法的流程图。
其具体包括如下步骤:
S401:计算待上传文件的第一哈希值,并将第一哈希值发送至云端;
可选的,在计算待上传文件的第一哈希值,并将第一哈希值发送至云端之前,还可以包括:
接收输入的用户名和登录口令;
将用户名和登录口令发送至云端,以使云端获取用户登录验证表,并判断用户名和登录口令是否存在于用户登录验证表中,若是,则返回登录成功信息至客户端;
当接收到云端发送的登录成功信息时,确认登录成功。
可选的,在确认登录成功之后,还可以包括:
接收当前登录用户输入的第二文件下载请求;
根据第二文件下载请求确定待下载文件的信息,并从云端中获取用户关联文件表;
判断用户关联文件表中是否有当前登录用户与待下载文件的信息的对应关系;
若是,则从云端中获取待下载文件的信息对应的第一哈希值、第一密文、第二密文及加密文件;
接收当前登录用户输入的用户密钥,并利用用户密钥对第二密文进行解密,得到待下载文件的第二哈希值;
利用待下载文件的第二哈希值解密第一密文得到第一预设密钥,并利用第一预设密钥对加密文件进行解密,得到待下载文件;
将待下载文件保存至本地。
S402:当接收到云端发送的文件上传请求时,利用第一预设密钥对待上传文件进行加密,得到加密文件;
S403:利用待上传文件的第二哈希值作为密钥加密第一预设密钥得到第一密文;
其中,第二哈希值与第一哈希值不一致;
S404:利用第二预设密钥加密第二哈希值得到第二密文;
S405:将第一密文、第二密文及加密文件上传至云端,以使云端将第一哈希值、第一密文及加密文件存储到预设文件信息表中,将第二密文保存至用户关联文件表中。
请参考图5,图5为本申请实施例所提供的一种终端设备的结构图。
如图5所示,该终端设备500可以包括:处理器501,存储器502。该终端设备500还可以包括多媒体组件503,输入/输出(I/O)接口504,以及通信组件505中的一者或多者。
其中,处理器501用于控制该终端设备500的整体操作,以完成上述应用于客户端的文件存储的方法中的全部或部分步骤,存储器502用于存储各种类型的数据以支持在该终端设备500的操作,这些数据例如可以包括用于在该终端设备500上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器502可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件503可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器502或通过通信组件505发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口504为处理器501和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件505用于该终端设备500与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、5G或4G,或它们中的一种或几种的组合,因此相应的该通信组件505可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,终端设备500可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的应用于客户端的文件存储的方法。
该终端设备在实际应用场景中的具体形态可以包括但不限于手机、平板电脑、PDA等。
请参考图6,图6为本申请实施例所提供的一种文件存储的系统的结构图。
该系统可以包括存储有客户端程序的终端设备100、云端设备200,其中:
终端设备100,用于计算待上传文件的第一哈希值,并将第一哈希值发送至云端;利用第一预设密钥对待上传文件进行加密,得到加密文件,并利用待上传文件的第二哈希值作为密钥加密第一预设密钥得到第一密文,利用第二预设密钥加密第二哈希值得到第二密文,将第一密文、第二密文及加密文件上传至云端;其中,第二哈希值与第一哈希值不一致;
云端设备200,用于查找预设文件信息表中是否存在第一哈希值;若是,则云端向客户端返回文件重复的提示信息,并等待客户端利用第二预设密钥加密第二哈希值得到第二密文上传;若否,则云端向客户端请求第一哈希值对应的待上传文件;将第一哈希值、第一密文及加密文件存储到预设文件信息表中,将第二密文保存至用户关联文件表中。
由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上对本申请所提供的一种文件存储的方法、系统、终端设备及云端设备进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种文件存储的方法,其特征在于,包括:
客户端计算待上传文件的第一哈希值,并将所述第一哈希值发送至云端;
所述云端查找预设文件信息表中是否存在所述第一哈希值;
若是,则所述云端向所述客户端返回文件重复的提示信息,并等待所述客户端利用第二预设密钥加密所述第二哈希值得到第二密文上传;
若否,则所述云端向所述客户端请求所述第一哈希值对应的待上传文件;
所述客户端利用第一预设密钥对所述待上传文件进行加密,得到加密文件,并利用所述待上传文件的第二哈希值作为密钥加密所述第一预设密钥得到第一密文,利用第二预设密钥加密所述第二哈希值得到第二密文,将所述第一密文、所述第二密文及所述加密文件上传至所述云端;其中,所述第二哈希值与所述第一哈希值不一致;
所述云端将所述第一哈希值、所述第一密文及所述加密文件存储到所述预设文件信息表中,将所述第二密文保存至用户关联文件表中。
2.一种文件存储的方法,应用于云端,其特征在于,包括:
接收客户端发送的待上传文件的第一哈希值;
查找预设文件信息表中是否存在所述第一哈希值;
若是,则向所述客户端返回文件重复的提示信息,并等待所述客户端利用第二预设密钥加密所述第二哈希值得到第二密文上传;
若否,则向所述客户端请求所述第一哈希值对应的待上传文件,以使所述客户端利用第一预设密钥对所述待上传文件进行加密,得到加密文件,并利用所述待上传文件的第二哈希值作为密钥加密所述第一预设密钥得到第一密文,利用第二预设密钥加密所述第二哈希值得到第二密文,将所述第一密文、所述第二密文及所述加密文件上传;其中,所述第二哈希值与所述第一哈希值不一致;
将所述第一哈希值、所述第一密文及所述加密文件存储到所述预设文件信息表中,将所述第二密文保存至用户关联文件表中。
3.根据权利要求2所述的方法,其特征在于,在将所述第一哈希值、所述第一密文及所述加密文件存储到所述预设文件信息表中,将所述第二密文保存至用户关联文件表中之后,还包括:
云端将当前登录用户与所述待上传文件的信息的对应关系保存至用户关联文件表中。
4.根据权利要求3所述的方法,其特征在于,还包括:
当接收所述客户端发送的用户关联文件表获取请求时,将所述用户关联文件表发送至所述客户端;
当接收到所述客户端发送的第一文件下载请求时,将所述第一文件下载请求对应的所述第一哈希值、所述第一密文、所述第二密文及所述加密文件发送至所述客户端。
5.一种文件存储的方法,应用于客户端,其特征在于,包括:
计算待上传文件的第一哈希值,并将所述第一哈希值发送至云端;
当接收到所述云端发送的文件上传请求时,利用第一预设密钥对所述待上传文件进行加密,得到加密文件;
利用所述待上传文件的第二哈希值作为密钥加密所述第一预设密钥得到第一密文;其中,所述第二哈希值与所述第一哈希值不一致;
利用第二预设密钥加密所述第二哈希值得到第二密文;
将所述第一密文、所述第二密文及所述加密文件上传至所述云端,以使所述云端将所述第一哈希值、所述第一密文及所述加密文件存储到所述预设文件信息表中,将所述第二密文保存至用户关联文件表中。
6.根据权利要求5所述的方法,其特征在于,在计算待上传文件的第一哈希值,并将所述第一哈希值发送至云端之前,还包括:
接收输入的用户名和登录口令;
将所述用户名和所述登录口令发送至所述云端,以使所述云端获取用户登录验证表,并判断所述用户名和所述登录口令是否存在于所述用户登录验证表中,若是,则返回登录成功信息至所述客户端;
当接收到所述云端发送的所述登录成功信息时,确认登录成功。
7.根据权利要求6所述的方法,其特征在于,在确认登录成功之后,还包括:
接收当前登录用户输入的第二文件下载请求;
根据所述第二文件下载请求确定待下载文件的信息,并从所述云端中获取用户关联文件表;
判断所述用户关联文件表中是否有所述当前登录用户与所述待下载文件的信息的对应关系;
若是,则从所述用户关联文件表中获取所述第二密文,并从所述云端中获取所述待下载文件的信息对应的所述第一哈希值、所述第一密文及所述加密文件;
接收所述当前登录用户输入的用户密钥,并利用所述用户密钥对所述第二密文进行解密,得到所述待下载文件的第二哈希值;
利用所述待下载文件的第二哈希值解密所述第一密文得到所述第一预设密钥,并利用所述第一预设密钥对所述加密文件进行解密,得到所述待下载文件;
将所述待下载文件保存至本地。
8.一种文件存储的系统,其特征在于,包括终端设备及云端设备,其中:
所述终端设备,用于计算待上传文件的第一哈希值,并将所述第一哈希值发送至云端;利用第一预设密钥对所述待上传文件进行加密,得到加密文件,并利用所述待上传文件的第二哈希值作为密钥加密所述第一预设密钥得到第一密文,利用第二预设密钥加密所述第二哈希值得到第二密文,将所述第一密文、所述第二密文及所述加密文件上传至所述云端;其中,所述第二哈希值与所述第一哈希值不一致;
所述云端设备,用于查找预设文件信息表中是否存在所述第一哈希值;若是,则所述云端向所述客户端返回文件重复的提示信息,并等待所述客户端利用第二预设密钥加密所述第二哈希值得到第二密文上传;若否,则所述云端向所述客户端请求所述第一哈希值对应的待上传文件;将所述第一哈希值、所述第一密文及所述加密文件存储到所述预设文件信息表中,将所述第二密文保存至用户关联文件表中。
9.一种云端设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求2至4任一项所述文件存储的方法的步骤。
10.一种终端设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求5至7任一项所述文件存储的方法的步骤。
CN201910959369.8A 2019-10-10 2019-10-10 一种文件存储的方法、系统、云端设备及终端设备 Pending CN110677429A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910959369.8A CN110677429A (zh) 2019-10-10 2019-10-10 一种文件存储的方法、系统、云端设备及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910959369.8A CN110677429A (zh) 2019-10-10 2019-10-10 一种文件存储的方法、系统、云端设备及终端设备

Publications (1)

Publication Number Publication Date
CN110677429A true CN110677429A (zh) 2020-01-10

Family

ID=69081805

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910959369.8A Pending CN110677429A (zh) 2019-10-10 2019-10-10 一种文件存储的方法、系统、云端设备及终端设备

Country Status (1)

Country Link
CN (1) CN110677429A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115361398A (zh) * 2022-10-19 2022-11-18 成都飞机工业(集团)有限责任公司 一种数据备份容灾方法、装置、设备及存储介质
CN116599650A (zh) * 2023-07-14 2023-08-15 民航成都电子技术有限责任公司 一种密文去重方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8281143B1 (en) * 2008-09-29 2012-10-02 Symantec Operating Corporation Protecting against chosen plaintext attacks in untrusted storage environments that support data deduplication
CN103294702A (zh) * 2012-02-27 2013-09-11 上海淼云文化传播有限公司 一种数据处理方法、装置及系统
CN105553927A (zh) * 2015-07-10 2016-05-04 上海赞越软件服务中心 基于文件安全的上传和传输机制
CN106612271A (zh) * 2016-05-20 2017-05-03 四川用联信息技术有限公司 一种用于云存储的加密和访问控制方法
US20170193032A1 (en) * 2016-01-04 2017-07-06 Electronics And Telecommunications Research Institute Method and apparatus for deduplicating encrypted data
CN107395772A (zh) * 2017-09-08 2017-11-24 郑州云海信息技术有限公司 一种重复数据的管理方法及管理系统
CN108182367A (zh) * 2017-12-15 2018-06-19 西安电子科技大学 一种支持数据更新的加密数据块客户端去重方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8281143B1 (en) * 2008-09-29 2012-10-02 Symantec Operating Corporation Protecting against chosen plaintext attacks in untrusted storage environments that support data deduplication
CN103294702A (zh) * 2012-02-27 2013-09-11 上海淼云文化传播有限公司 一种数据处理方法、装置及系统
CN105553927A (zh) * 2015-07-10 2016-05-04 上海赞越软件服务中心 基于文件安全的上传和传输机制
US20170193032A1 (en) * 2016-01-04 2017-07-06 Electronics And Telecommunications Research Institute Method and apparatus for deduplicating encrypted data
CN106612271A (zh) * 2016-05-20 2017-05-03 四川用联信息技术有限公司 一种用于云存储的加密和访问控制方法
CN107395772A (zh) * 2017-09-08 2017-11-24 郑州云海信息技术有限公司 一种重复数据的管理方法及管理系统
CN108182367A (zh) * 2017-12-15 2018-06-19 西安电子科技大学 一种支持数据更新的加密数据块客户端去重方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115361398A (zh) * 2022-10-19 2022-11-18 成都飞机工业(集团)有限责任公司 一种数据备份容灾方法、装置、设备及存储介质
CN115361398B (zh) * 2022-10-19 2023-03-14 成都飞机工业(集团)有限责任公司 一种数据备份容灾方法、装置、设备及存储介质
CN116599650A (zh) * 2023-07-14 2023-08-15 民航成都电子技术有限责任公司 一种密文去重方法、装置、设备及存储介质
CN116599650B (zh) * 2023-07-14 2023-10-13 民航成都电子技术有限责任公司 一种密文去重方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
JP6518002B2 (ja) デジタルコンテンツアイテムのマルチプレミスにおけるホスティングのための選択的な同期及び分散化コンテンツアイテムブロックのキャッシュ
US20190230130A1 (en) System and method for updating downloaded applications using managed container
US9600679B2 (en) Techniques for resource operation based on usage, sharing, and recommendations with modular authentication
WO2017054543A1 (zh) 一种云盘资源访问方法和装置
CN109691057B (zh) 经由私人内容分发网络可交换地取回敏感内容
US10440111B2 (en) Application execution program, application execution method, and information processing terminal device that executes application
US20110319056A1 (en) Remote access to a mobile device
US20130347130A1 (en) Methods and apparatus for dynamically providing modified versions of electronic device applications
US10437791B1 (en) Network based file storage system monitor
EP3491808B1 (en) Interchangeable retrieval of content
CA2962573C (en) Retrieving media content
CN104486388A (zh) 云存储文件的访问方法和装置
Tso et al. iPhone social networking for evidence investigations using iTunes forensics
CN106776917B (zh) 一种获取资源文件的方法和装置
US20160080492A1 (en) System, computer product, and method for implementing a cloud service with private storage
JP2017041232A (ja) 文字送信方法、コンピュータプログラム、および、文字送信システム
US11943260B2 (en) Synthetic request injection to retrieve metadata for cloud policy enforcement
CN110677429A (zh) 一种文件存储的方法、系统、云端设备及终端设备
US10798047B2 (en) Systems, devices and methods for text message communication
CN111327634B (zh) 网站访问监管方法、安全套接层代理装置、终端及系统
US20140273980A1 (en) Voicemail migration
CN107111635B (zh) 内容传递方法
US20060026216A1 (en) Server-assited communication among clients
JP2013179472A (ja) モバイルデバイス及びプログラム
US20190258726A1 (en) File and data migration to storage system

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: 20200110

RJ01 Rejection of invention patent application after publication