CN115495757A - 一种文件处理方法和装置 - Google Patents
一种文件处理方法和装置 Download PDFInfo
- Publication number
- CN115495757A CN115495757A CN202211025344.9A CN202211025344A CN115495757A CN 115495757 A CN115495757 A CN 115495757A CN 202211025344 A CN202211025344 A CN 202211025344A CN 115495757 A CN115495757 A CN 115495757A
- Authority
- CN
- China
- Prior art keywords
- file
- key
- preset
- encrypted
- symmetric
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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/0435—Network 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文件处理方法和装置,涉及数据安全技术领域。该方法的一具体实施方式包括:确定待上传的原文件,基于预设盐值和当前最新的对称秘钥,对原文件做加密处理,得到加密内容;对对称秘钥的版本号、预设盐值和第一预设公钥做拼接处理,使用服务端的第二预设公钥对拼接的字符串做加密处理,得到安全头;基于安全头和加密内容生成加密文件,将加密文件上传至服务端进行保存。该实施方式对原始文件做对称加密,对安全头做非对称加密处理,安全头中只携带对称秘钥的版本号以及该秘钥的加密盐值,并不携带对称秘钥本身,进一步降低了对称秘钥的泄露风险,可在很大程度上提高加密文件在网络传输中的安全性。
Description
技术领域
本发明涉及数据安全技术领域,尤其涉及一种文件处理方法和装置。
背景技术
在各种网络应用中经常会有保存大量文件的应用场景,客户端上传文件至服务端进行保存,在需要时再下载查看或使用。当保存的文件涉及个人或机构的敏感信息时,需要对文件进行加密传输和存储,以防文件内容泄露或被窃取。
现有的文件加密存储方案,或者采用单一加密方案,导致文件安全强度不高;或者加密算法复杂,导致文件加解密效率低,耗时过长;或者设计复杂,需借助专门的秘钥管理系统进行辅助,实现成本高。
发明内容
有鉴于此,本发明实施例提供一种文件处理方法和装置,至少能够解决现有技术中加密存储安全强度低、加解密耗时长、需借助第三方系统管理的现象。
为实现上述目的,根据本发明实施例的一个方面,提供了一种应用于客户端的文件处理方法,包括:
确定待上传的原文件,基于预设盐值和当前最新的对称秘钥,对所述原文件做加密处理,得到加密内容;
对所述对称秘钥的版本号、所述预设盐值和第一预设公钥做拼接处理,使用服务端的第二预设公钥对拼接的字符串做加密处理,得到安全头;
基于所述安全头和所述加密内容生成加密文件,将所述加密文件上传至服务端进行保存。
可选的,所述基于预设盐值和当前最新的对称秘钥,对所述原文件做加密处理,包括:
生成随机盐值,使用所述随机盐值对当前最新的对称秘钥做加盐处理,得到加盐秘钥,以使用所述加盐秘钥对所述原文件做加密处理。
可选的,在所述将所述加密文件上传至服务端进行保存之后,所述方法还包括:
响应于对目标文件的选择操作,传输文件下载请求给服务端,以接收服务端返回的目标加密文件;其中,所述目标加密文件包括目标安全头和目标加密内容;
使用与所述第一预设公钥对应的第一预设私钥,对所述目标安全头做解密处理,得到对称秘钥版本号和预设盐值;
确定与所述对称秘钥版本号对应的对称秘钥,基于所述预设盐值和所述对称秘钥,对所述目标加密内容做解密处理,得到所述目标文件并显示。
可选的,所述基于所述安全头和所述加密内容生成加密文件,包括:将所述安全头拼接到所述加密内容的头部,以生成加密文件。
为实现上述目的,根据本发明实施例的一个方面,提供了一种应用于服务端的文件处理方法,包括:
接收客户端上传的第一加密文件并保存;其中,第一加密文件包括第一安全头和加密内容;
接收客户端传输的文件下载请求,根据所述文件下载请求中的文件编号,确定相应第一加密文件;
使用与第二预设公钥对应的第二预设私钥,对所述第一安全头做解密处理,得到对称秘钥版本号、预设盐值和客户端的第一预设公钥拼接的字符串;
使用所述第一预设公钥对所述字符串做加密处理,得到第二安全头,基于所述第二安全头和所述加密内容生成第二加密文件并返回给客户端。
可选的,所述方法还包括:
接收对对称秘钥的更换操作,将所述对称秘钥替换为输入的新对称秘钥,以及将所述对称秘钥的版本号累加预设值,得到所述新对称秘钥的版本号;以及
通过线下方式,将所述新对称秘钥和相应版本号同步给客户端。
可选的,所述方法还包括:
响应于对所述对称秘钥的更换操作,获取当前已保存的原加密文件集合,使用所述第二预设私钥解密每个原加密文件的安全头,得到对称秘钥版本号和预设盐值;
确定与所述对称秘钥版本号对应的对称秘钥,基于所述预设盐值和所述对称秘钥,对每个原加密文件的加密内容做解密处理,得到原文件集合;
生成新盐值,基于所述新盐值和所述新对称秘钥,对每个原文件做加密处理,得到新加密内容集合;
对所述新对称秘钥的版本号、所述新盐值和所述第一预设公钥做拼接处理,使用所述第一预设公钥对拼接的字符串做加密处理,得到新安全头,基于新安全头和新加密内容生成新加密文件以替换原加密文件。
为实现上述目的,根据本发明实施例的另一方面,提供了一种应用于客户端的文件处理装置,包括:
对称加密模块,用于确定待上传的原文件,基于预设盐值和当前最新的对称秘钥,对所述原文件做加密处理,得到加密内容;
非对称加密模块,用于对所述对称秘钥的版本号、所述预设盐值和第一预设公钥做拼接处理,使用服务端的第二预设公钥对拼接的字符串做加密处理,得到安全头;
拼接模块,用于基于所述安全头和所述加密内容生成加密文件,将所述加密文件上传至服务端进行保存。
可选的,所述对称加密模块,用于:
生成随机盐值,使用所述随机盐值对当前最新的对称秘钥做加盐处理,得到加盐秘钥,以使用所述加盐秘钥对所述原文件做加密处理。
可选的,所述装置还包括解密模块,用于:
响应于对目标文件的选择操作,传输文件下载请求给服务端,以接收服务端返回的目标加密文件;其中,所述目标加密文件包括目标安全头和目标加密内容;
使用与所述第一预设公钥对应的第一预设私钥,对所述目标安全头做解密处理,得到对称秘钥版本号和预设盐值;
确定与所述对称秘钥版本号对应的对称秘钥,基于所述预设盐值和所述对称秘钥,对所述目标加密内容做解密处理,得到所述目标文件并显示。
可选的,所述拼接模块,用于:将所述安全头拼接到所述加密内容的头部,以生成加密文件。
为实现上述目的,根据本发明实施例的另一方面,提供了一种应用于服务端的文件处理装置,包括:
保存模块,用于接收客户端上传的第一加密文件并保存;其中,第一加密文件包括第一安全头和加密内容;
确定模块,用于接收客户端传输的文件下载请求,根据所述文件下载请求中的文件编号,确定相应第一加密文件;
非对称解密模块,用于使用与第二预设公钥对应的第二预设私钥,对所述第一安全头做解密处理,得到对称秘钥版本号、预设盐值和客户端的第一预设公钥拼接的字符串;
重加密模块,用于使用所述第一预设公钥对所述字符串做加密处理,得到第二安全头,基于所述第二安全头和所述加密内容生成第二加密文件并返回给客户端。
可选的,所述装置还包括更换秘钥模块,用于:
接收对对称秘钥的更换操作,将所述对称秘钥替换为输入的新对称秘钥,以及将所述对称秘钥的版本号累加预设值,得到所述新对称秘钥的版本号;以及
通过线下方式,将所述新对称秘钥和相应版本号同步给客户端。
可选的,所述装置还包括文件更新模块,用于:
响应于对所述对称秘钥的更换操作,获取当前已保存的原加密文件集合,使用所述第二预设私钥解密每个原加密文件的安全头,得到对称秘钥版本号和预设盐值;
确定与所述对称秘钥版本号对应的对称秘钥,基于所述预设盐值和所述对称秘钥,对每个原加密文件的加密内容做解密处理,得到原文件集合;
生成新盐值,基于所述新盐值和所述新对称秘钥,对每个原文件做加密处理,得到新加密内容集合;
对所述新对称秘钥的版本号、所述新盐值和所述第一预设公钥做拼接处理,使用所述第一预设公钥对拼接的字符串做加密处理,得到新安全头,基于新安全头和新加密内容生成新加密文件以替换原加密文件。
为实现上述目的,根据本发明实施例的再一方面,提供了一种文件处理电子设备。
本发明实施例的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一所述的文件处理方法。
为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一所述的文件处理方法。
为实现上述目的,根据本发明实施例的又一个方面,提供了一种计算程序产品。本发明实施例的一种计算程序产品,包括计算机程序,所述程序被处理器执行时实现本发明实施例提供的文件处理方法。
根据本发明所述提供的方案,上述发明中的一个实施例具有如下优点或有益效果:设计一种具有高安全强度、高加解密效率并且结构简单的文件加密存储方案,综合使用对称加密和非对称加密,对原始文件采用对称加密方式,对安全头采用高安全性的非对称加密方式,两者拼接得到加密文件,且对原始文件加密使用的是加盐的对称秘钥,以此在保障文件传输、存储的安全性的同时,尽可能提高文件加解密处理效率,提升使用体验。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是本发明实施例的整体结构示意图;
图2根据本发明实施例的一种应用于客户端的文件处理方法的主要流程示意图;
图3是加密文件结构示意图;
图4根据本发明实施例的一种可选的应用于客户端的文件处理方法的主要流程示意图;
图5根据本发明实施例的一种应用于服务端的文件处理方法的主要流程示意图;
图6根据本发明实施例的一种应用于客户端和服务端的文件处理方法的主要流程示意图;
图7根据本发明实施例的一种可选的应用于服务端的文件处理方法的主要流程示意图;
图8是根据本发明实施例的一种应用于客户端的文件处理装置的主要模块示意图;
图9是根据本发明实施例的一种应用于服务端的文件处理装置的主要模块示意图;
图10是本发明实施例可以应用于其中的示例性系统架构图;
图11是适于用来实现本发明实施例的移动设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要指出的是,在不冲突的情况下,本发明中的实施例以及实施例中的特征可以互相组合。本申请技术方案中对数据(如用户个人信息)的获取、存储、使用、处理等均符合国家法律法规的相关规定,且不违背公序良俗。
加密算法主要有两种:对称加密和非对称加密。在文件加密存储的系统实现中,部分系统采用单一加密方案,部分采用两种加密方式相结合的方案。对称加密(如AES,全称Advanced Encryption Standard,高级加密标准)速度快,但安全性相对较低,通常需要定期更换秘钥以提升安全性;非对称加密(如RSA,全称RSA algorithm)算法复杂,虽然安全强度高,但效率低、加解密速度慢。在结合两种加密方式的设计方案中,往往系统实现复杂,需借助独立的秘钥管理系统来实现秘钥的沟通和管理。
本方案在不引入任何第三方系统或组件的基础上,结合两种加密算法,综合考虑系统安全性和效率,设计了一种兼顾安全、效率以及实现成本的文件加密存储方案。本方案整体仅包括两个部分,文件存储服务端和应用客户端,参见图1所示。应用客户端发起文件上传请求,以上传文件至文件存储服务端进行保存,在需要时再向文件存储服务端发送下载请求下载查看或使用。文件存储服务端负责加密文件的保存、对称秘钥的定期更换、以及提供文件上传和下载的服务。
参见图2,示出的是本发明实施例提供的一种应用于客户端的文件处理方法的主要流程图,包括如下步骤:
S201:确定待上传的原文件,基于预设盐值和当前最新的对称秘钥,对所述原文件做加密处理,得到加密内容;
S202:对所述对称秘钥的版本号、所述预设盐值和第一预设公钥做拼接处理,使用服务端的第二预设公钥对拼接的字符串做加密处理,得到安全头;
S203:基于所述安全头和所述加密内容生成加密文件,将所述加密文件上传至服务端进行保存。
上述实施方式中,对于步骤S201,当监测到有新的文件需要上传并保存时,应用客户端会向文件存储服务端发起文件上传请求,首先通过随机算法生成随机盐值salt,salt值通常是随机生成的一组字符串,可以包括随机的大小写字母、数字、字符,位数可以根据要求而不一样。获取当前最新版本的对称秘钥K,使用随机salt对对称秘钥K做加盐处理,得到加盐秘钥SK。之后使用加盐秘钥SK对待上传原文件做对称加密处理,得到加密内容。
此处使用随机盐值salt有两方面考虑:1)由于文件主体采用对称加密方式,为降低对称秘钥更换的频率,同时降低秘钥被破解的风险,采用随机salt的方式。2)随机salt通过网络报文进行传输,可降低某个报文被破解后,其它报文内容的泄露风险,因而即使通过对称秘钥查询到该加密内容,也是加了salt的内容。
另外,假设对称秘钥K为1010001、随机salt为101(实际操作中对称秘钥和salt的长度较长,此处仅为示例),使用随机salt对对称秘钥K做加盐处理的方式包括但不限于如下几种:1)对随机salt和对称秘钥K做拼接处理,得到加盐秘钥SK,例如,1010001101。2)对随机salt和对称秘钥K做相加处理,得到加盐秘钥SK,例如,1010110。2)对随机salt和对称秘钥K做异或处理,随机salt不足位补0,加盐秘钥SK为1010100。
对于步骤S202,在加密后的文件中加入安全头,安全头由三部分组成:对称秘钥的版本号、随机盐值、客户端的第一预设公钥。安全头采用非对称加密的方式进行加密。
文件存储服务端和应用客户端各持有一对非对称加密的公钥和私钥,其中应用客户端预先保存有文件存储服务端的第二预设公钥,各自的私钥由双方自己保存。应用客户端将对称秘钥的版本号、前述随机盐值salt、应用客户端的第一预设公钥做拼接处理,得到拼接字符串,使用文件存储服务端的第二预设公钥对拼接的字符串做加密处理,得到安全头。
对于步骤S203,应用客户端对安全头和前述加密内容做拼接处理,优选将安全头拼接到加密内容的头部,得到最终加密文件,其结构参见图3所示,将该加密文件上传到文件存储服务端进行保存。另外,实际操作中一般会对文件进行编号,以作为该文件的唯一标识符,如编号为20220001的文件,原始文件命名为AAA,加密文件命名为AAA-加密,文件存储服务端存储的是编号为20220001、命名为AAA-加密的加密文件。
上述实施例提供的方法,对原始文件做对称加密,安全头做非对称加密处理,安全头中只携带对称秘钥的版本号以及该秘钥的加密盐值,并不携带对称秘钥本身,进一步降低了对称秘钥的泄露风险,可在很大程度上提高加密文件在网络传输中的安全性。
参见图4,示出了根据本发明实施例的一种可选的应用于客户端的文件处理方法流程示意图,包括如下步骤:
S401:响应于对目标文件的选择操作,传输文件下载请求给服务端,以接收服务端返回的目标加密文件;其中,所述目标加密文件包括目标安全头和目标加密内容;
S402:使用与所述第一预设公钥对应的第一预设私钥,对所述目标安全头做解密处理,得到对称秘钥版本号和预设盐值;
S403:确定与所述对称秘钥版本号对应的对称秘钥,基于所述预设盐值和所述对称秘钥,对所述目标加密内容做解密处理,得到所述目标文件并显示。
上述实施方式中,对于步骤S401~S403,应用客户端不保存文件,在需要某一文件(即目标文件)时需发送下载请求给文件存储服务端下载查看或使用,请求中携带有该文件的编号,如20220001,使得文件存储服务端查询与该编号对应的加密文件。文件下载过程中,文件存储服务端会将加密文件的安全头重新加密,并将重新生成的加密文件返回给客户端。
应用客户端在收到服务端返回的加密文件后,首先使用自己的第一预设私钥解密目标加密文件的目标安全头,得到对称秘钥版本号和随机盐值salt。然后获取对应版本号的对称秘钥,使用随机盐值salt对该对称秘钥做加盐处理,得到加盐秘钥SK,即可使用加盐秘钥SK对目标加密文件的目标加密内容做解密处理,最终解密出原始文件。
上述实施例提供的方法,客户端使用私钥解密安全头后,首先查看安全头中对称秘钥的版本号,以确定原文件主体部分加密所使用的对称秘钥,在加盐处理后即可正常解密出原文件。
参见图5,示出了根据本发明实施例的一种应用于服务端的文件处理方法流程示意图,包括如下步骤:
S501:接收客户端上传的第一加密文件并保存;其中,第一加密文件包括第一安全头和加密内容;
S502:接收客户端传输的文件下载请求,根据所述文件下载请求中的文件编号,确定相应第一加密文件;
S503:使用与第二预设公钥对应的第二预设私钥,对所述第一安全头做解密处理,得到对称秘钥版本号、预设盐值和客户端的第一预设公钥拼接的字符串;
S504:使用所述第一预设公钥对所述字符串做加密处理,得到第二安全头,基于所述第二安全头和所述加密内容生成第二加密文件并返回给客户端。
上述实施方式中,对于步骤S501~S504,文件存储服务端在收到应用客户端上传的第一加密文件后,将其保存到磁盘等固定存储介质。本方案对于具体的存储方式不做限制,可以是普通的电脑硬盘,也可以是Nas((Network Attached Storage,网络附属存储))、COS(Chinac Object Storage,对象存储)等存储介质。
应用客户端在需要下载某一个文件时,会向服务端发送文件下载请求,文件下载请求中携带有该文件的编号。实际操作中一般会对文件进行编号,以作为该文件的唯一标识符。如编号为20220001的文件,原始文件命名为AAA,加密后文件命名为AAA-加密,文件下载请求中包含该编号20220001即可。
文件存储服务端收到应用客户端传输的对该编号20220001的加密文件的下载请求后,取出编号20220001为加密文件AAA-加密(即第一加密文件),使用文件存储服务端的第二预设私钥对安全头进行解密,得到当前最新对称秘钥的版本号、预设盐值和客户端的第一预设公钥拼接的字符串。继续使用客户端的第一预设公钥重新对该字符串做加密处理,得到新的安全头,将新的安全头拼接原加密文件的加密内容的头部,得到新的加密文件(即第二加密文件)并返回给客户端。
上述实施例提供的方法,服务端使用自己的私钥解密加密文件的安全头,并使用安全头中客户端的公钥对安全头进行重新加密,以便客户端可以用自己的私钥解密安全头。
参见图6,示出了根据本发明实施例的一种应用于客户端和服务端的文件处理方法流程示意图,包括如下步骤:
S601:服务端接收客户端上传的第一加密文件并保存;其中,第一加密文件包括第一安全头和加密内容;
S602:客户端响应于对原文件的选择操作,传输文件下载请求给服务端;其中,文件下载请求包括所述原文件的编号;
S603:服务端接收客户端传输的文件下载请求,根据所述文件下载请求中的文件编号,确定相应第一加密文件;
S604:服务端使用与第二预设公钥对应的第二预设私钥,对所述第一安全头做解密处理,得到对称秘钥版本号、随机盐值和客户端的第一预设公钥拼接的字符串;
S605:服务端使用所述第一预设公钥对所述字符串做加密处理,得到第二安全头,基于所述第二安全头和所述加密内容生成第二加密文件并返回给客户端;
S606:客户端接收服务端返回的第二加密文件,使用与所述第一预设公钥对应的第一预设私钥,对所述第二安全头做解密处理,得到对称秘钥版本号和随机盐值;
S607:客户端确定与所述对称秘钥版本号对应的对称秘钥,基于所述随机盐值和所述对称秘钥,对所述加密内容做解密处理,得到所述原文件并显示。
参见图7,示出了根据本发明实施例的一种应用于服务端的文件处理方法流程示意图,包括如下步骤:
S701:接收对对称秘钥的更换操作,将所述对称秘钥替换为输入的新对称秘钥,以及将所述对称秘钥的版本号累加预设值,得到所述新对称秘钥的版本号;
S702:通过线下方式,将所述新对称秘钥和相应版本号同步给客户端;
S703:响应于对所述对称秘钥的更换操作,获取当前已保存的原加密文件集合,使用所述第二预设私钥解密每个原加密文件的安全头,得到对称秘钥版本号和预设盐值;
S704:确定与所述对称秘钥版本号对应的对称秘钥,基于所述预设盐值和所述对称秘钥,对每个原加密文件的加密内容做解密处理,得到原文件集合;
S705:生成新盐值,基于所述新盐值和所述新对称秘钥,对每个原文件做加密处理,得到新加密内容集合;
S706:对所述新对称秘钥的版本号、所述新盐值和所述第一预设公钥做拼接处理,使用所述第一预设公钥对拼接的字符串做加密处理,得到新安全头,基于新安全头和新加密内容生成新加密文件以替换原加密文件。
上述实施方式中,对于步骤S701~S702,本方案为提高加解密效率,对原文件主体部分采用对称加密方案。考虑对称加密的安全性相对较低,需要定期(如半年、一年)更换对称秘钥,以提高加密文件的安全性,具体更换过程为:确定待更换的对称秘钥,接收对对称秘钥的更换操作,并为新的对称秘钥指定一个新的版本号,例如,当前最新版本的对称秘钥是10010001,版本号为V1.0.0,更换后的新对称秘钥是00101100,则版本号加一,为V1.0.1。
文件存储服务端和应用客户端同时保存对称秘钥及其版本号,考虑更换秘钥动作频率较低,通常半年或者一年,甚至更长时间才更换一次,且为降低秘钥通过网络传输的安全风险,本方案优选采用线下方式将更新的秘钥及版本号同步给客户端,以降低系统复杂度。例如,1)应用客户端为内部设备,如银行网点的设备,可以由系统管理员统一进行更换。2)应用客户端为少量专用设备,如银行给某些企业等固定客户使用的设备,可以通过加密U盘等介质提供给企业,由企业的系统管理员进行更换。3)应用客户端为普通客户使用,如手机APP(Application,应用程序),可以通过发布APP的新版本,APP内部同步携带新的对称秘钥,要求客户更新软件到最新版本再使用。
对于步骤S703~S706,文件存储服务端仅存储加密文件。响应于对对称秘钥的更换操作,执行对每个加密文件的秘钥更换处理流程:
1、首先确定当前已保存的原加密文件集合;
2、使用文件存储服务端的第二预设私钥,对每个原加密文件的安全头进行解密,得到原对称秘钥的版本V号、随机盐值salt;
3、使用随机盐值salt,对V版本的原对称秘钥做加盐处理,得到加盐秘钥SK。
4、使用加盐秘钥SK对每个原加密文件的加密内容做解密处理,得到原文件集合。
5、使用随机算法生成新的随机盐值salt1,使用新随机盐值salt1对新版本V1的新对称秘钥K1做加盐处理,得到新加盐秘钥SK1;
6、使用新加盐秘钥SK1对原文件集合中的每个原文件做加密处理,得到加密内容集合;
7、将新对称秘钥K1的新版本V1、新的随机盐值salt1和应用客户端的第一预设公钥做拼接处理,继续使用应用客户端的第一预设公钥对拼接的字符串做加密处理,得到新的安全头;
8、将新安全头拼接到每个新加密内容的头部,得到新加密文件并替换原加密文件。
文件存储服务端依次将已保存的原加密文件取出,用新版本对称秘钥加密后再重新保存,该过程基于文件存储服务端保存的文件数量和大小,可能会持续较长时间,在部分文件已经用新秘钥重新加密后,客户端无法确认获取到的加密文件对应的解密秘钥,从而导致解密失败,影响系统正常业务的开展。本方案通过引入对称秘钥版本号,并将其携带至安全头的方式,使得服务端与客户端得以进行秘钥沟通,从而避免秘钥更换期间,客户端解密失败的情况出现。同时,对安全头采用安全程度更高的非对称加密的方式,也进一步保障了秘钥沟通过程中的安全性。
上述实施例提供的方法,对加密文件重新用新对称秘钥进行加密的过程,完全由服务端自主完成,客户端的文件上传和下载不受影响,以此做到秘钥“无感”切换。
本发明实施例提供的方法,相对于现有技术,至少存在如下有益效果:
1、仅设置文件存储服务端和应用客户端,无需再引入其它系统或者组件,相对于现有还需要设置一个专门的秘钥管理系统进行支撑而言,降低了设计复杂度。
2、综合使用对称加密和非对称加密,对原始文件采用对称加密方式,对安全头采用高安全性的非对称加密方式,两者拼接得到加密文件,且对原始文件加密使用的是加盐的对称秘钥,以此在保证文件加密强度的同时,提升文件加解密处理效率。
3、服务端和客户端定期更换对称秘钥,且采用线下同步方式,以保证对称秘钥的安全性、尽可能提升加密文件的安全性。且在更换秘钥后,仅由服务端自主完成对加密文件进行秘钥更换,保证服务端在对所有存量文件重新加密期间,客户端的文件上传和下载不受影响,做到秘钥“无感”切换。
参见图8,示出了本发明实施例提供的一种应用于客户端的文件处理装置800的主要模块示意图,包括:
对称加密模块801,用于确定待上传的原文件,基于预设盐值和当前最新的对称秘钥,对所述原文件做加密处理,得到加密内容;
非对称加密模块802,用于对所述对称秘钥的版本号、所述预设盐值和第一预设公钥做拼接处理,使用服务端的第二预设公钥对拼接的字符串做加密处理,得到安全头;
拼接模块803,用于基于所述安全头和所述加密内容生成加密文件,将所述加密文件上传至服务端进行保存。
本发明实施装置中,所述对称加密模块801,用于:
生成随机盐值,使用所述随机盐值对当前最新的对称秘钥做加盐处理,得到加盐秘钥,以使用所述加盐秘钥对所述原文件做加密处理。
本发明实施装置还包括解密模块,用于:
响应于对目标文件的选择操作,传输文件下载请求给服务端,以接收服务端返回的目标加密文件;其中,所述目标加密文件包括目标安全头和目标加密内容;
使用与所述第一预设公钥对应的第一预设私钥,对所述目标安全头做解密处理,得到对称秘钥版本号和预设盐值;
确定与所述对称秘钥版本号对应的对称秘钥,基于所述预设盐值和所述对称秘钥,对所述目标加密内容做解密处理,得到所述目标文件并显示。
本发明实施装置中,所述拼接模块803,用于:将所述安全头拼接到所述加密内容的头部,以生成加密文件。
参见图9,示出了本发明实施例提供的一种应用于服务端的文件处理装置900的主要模块示意图,包括:
保存模块901,用于接收客户端上传的第一加密文件并保存;其中,第一加密文件包括第一安全头和加密内容;
确定模块902,用于接收客户端传输的文件下载请求,根据所述文件下载请求中的文件编号,确定相应第一加密文件;
非对称解密模块903,用于使用与第二预设公钥对应的第二预设私钥,对所述第一安全头做解密处理,得到对称秘钥版本号、预设盐值和客户端的第一预设公钥拼接的字符串;
重加密模块904,用于使用所述第一预设公钥对所述字符串做加密处理,得到第二安全头,基于所述第二安全头和所述加密内容生成第二加密文件并返回给客户端。
本发明实施装置还包括更换秘钥模块,用于:
接收对对称秘钥的更换操作,将所述对称秘钥替换为输入的新对称秘钥,以及将所述对称秘钥的版本号累加预设值,得到所述新对称秘钥的版本号;以及
通过线下方式,将所述新对称秘钥和相应版本号同步给客户端。
本发明实施装置还包括文件更新模块,用于:
响应于对所述对称秘钥的更换操作,获取当前已保存的原加密文件集合,使用所述第二预设私钥解密每个原加密文件的安全头,得到对称秘钥版本号和预设盐值;
确定与所述对称秘钥版本号对应的对称秘钥,基于所述预设盐值和所述对称秘钥,对每个原加密文件的加密内容做解密处理,得到原文件集合;
生成新盐值,基于所述新盐值和所述新对称秘钥,对每个原文件做加密处理,得到新加密内容集合;
对所述新对称秘钥的版本号、所述新盐值和所述第一预设公钥做拼接处理,使用所述第一预设公钥对拼接的字符串做加密处理,得到新安全头,基于新安全头和新加密内容生成新加密文件以替换原加密文件。
另外,在本发明实施例中所述装置的具体实施内容,在上面所述方法中已经详细说明了,故在此重复内容不再说明。
图10示出了可以应用本发明实施例的示例性系统架构1000,包括终端设备1001、1002、1003,网络1004和服务器1005(仅仅是示例)。
终端设备1001、1002、1003可以是具有显示屏并且支持网页浏览的各种电子设备,安装有各种通讯客户端应用,用户可以使用终端设备1001、1002、1003通过网络1004与服务器1005交互,以接收或发送消息等。
网络1004用以在终端设备1001、1002、1003和服务器1005之间提供通信链路的介质。网络1004可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
服务器1005可以是提供各种服务的服务器,需要说明的是,本发明实施例所提供的方法一般由服务器1005执行,相应地,装置一般设置于服务器1005中。
应该理解,图10中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图11,其示出了适于用来实现本发明实施例的终端设备的计算机系统1100的结构示意图。图11示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图11所示,计算机系统1100包括中央处理单元(CPU)1101,其可以根据存储在只读存储器(ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(RAM)1103中的程序而执行各种适当的动作和处理。在RAM 1103中,还存储有系统1100操作所需的各种程序和数据。CPU 1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。
以下部件连接至I/O接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被中央处理单元(CPU)1101执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括对称加密模块、非对称加密模块、拼接模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,拼接模块还可以被描述为“信息拼接模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备执行上述任一所述的文件处理方法。
本发明的计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本发明实施例中的文件处理方法。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (17)
1.一种文件处理方法,应用于客户端,其特征在于,包括:
确定待上传的原文件,基于预设盐值和当前最新的对称秘钥,对所述原文件做加密处理,得到加密内容;
对所述对称秘钥的版本号、所述预设盐值和第一预设公钥做拼接处理,使用服务端的第二预设公钥对拼接的字符串做加密处理,得到安全头;
基于所述安全头和所述加密内容生成加密文件,将所述加密文件上传至服务端进行保存。
2.根据权利要求1所述的方法,其特征在于,所述基于预设盐值和当前最新的对称秘钥,对所述原文件做加密处理,包括:
生成随机盐值,使用所述随机盐值对当前最新的对称秘钥做加盐处理,得到加盐秘钥,以使用所述加盐秘钥对所述原文件做加密处理。
3.根据权利要求1所述的方法,其特征在于,在所述将所述加密文件上传至服务端进行保存之后,所述方法还包括:
响应于对目标文件的选择操作,传输文件下载请求给服务端,以接收服务端返回的目标加密文件;其中,所述目标加密文件包括目标安全头和目标加密内容;
使用与所述第一预设公钥对应的第一预设私钥,对所述目标安全头做解密处理,得到对称秘钥版本号和预设盐值;
确定与所述对称秘钥版本号对应的对称秘钥,基于所述预设盐值和所述对称秘钥,对所述目标加密内容做解密处理,得到所述目标文件并显示。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述基于所述安全头和所述加密内容生成加密文件,包括:将所述安全头拼接到所述加密内容的头部,以生成加密文件。
5.一种文件处理方法,应用于服务端,其特征在于,包括:
接收客户端上传的第一加密文件并保存;其中,第一加密文件包括第一安全头和加密内容;
接收客户端传输的文件下载请求,根据所述文件下载请求中的文件编号,确定相应第一加密文件;
使用与第二预设公钥对应的第二预设私钥,对所述第一安全头做解密处理,得到对称秘钥版本号、预设盐值和客户端的第一预设公钥拼接的字符串;
使用所述第一预设公钥对所述字符串做加密处理,得到第二安全头,基于所述第二安全头和所述加密内容生成第二加密文件并返回给客户端。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
接收对对称秘钥的更换操作,将所述对称秘钥替换为输入的新对称秘钥,以及将所述对称秘钥的版本号累加预设值,得到所述新对称秘钥的版本号;以及
通过线下方式,将所述新对称秘钥和相应版本号同步给客户端。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
响应于对所述对称秘钥的更换操作,获取当前已保存的原加密文件集合,使用所述第二预设私钥解密每个原加密文件的安全头,得到对称秘钥版本号和预设盐值;
确定与所述对称秘钥版本号对应的对称秘钥,基于所述预设盐值和所述对称秘钥,对每个原加密文件的加密内容做解密处理,得到原文件集合;
生成新盐值,基于所述新盐值和所述新对称秘钥,对每个原文件做加密处理,得到新加密内容集合;
对所述新对称秘钥的版本号、所述新盐值和所述第一预设公钥做拼接处理,使用所述第一预设公钥对拼接的字符串做加密处理,得到新安全头,基于新安全头和新加密内容生成新加密文件以替换原加密文件。
8.一种文件处理装置,应用于客户端,其特征在于,包括:
对称加密模块,用于确定待上传的原文件,基于预设盐值和当前最新的对称秘钥,对所述原文件做加密处理,得到加密内容;
非对称加密模块,用于对所述对称秘钥的版本号、所述预设盐值和第一预设公钥做拼接处理,使用服务端的第二预设公钥对拼接的字符串做加密处理,得到安全头;
拼接模块,用于基于所述安全头和所述加密内容生成加密文件,将所述加密文件上传至服务端进行保存。
9.根据权利要求8所述的装置,其特征在于,所述对称加密模块,用于:
生成随机盐值,使用所述随机盐值对当前最新的对称秘钥做加盐处理,得到加盐秘钥,以使用所述加盐秘钥对所述原文件做加密处理。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括解密模块,用于:
响应于对目标文件的选择操作,传输文件下载请求给服务端,以接收服务端返回的目标加密文件;其中,所述目标加密文件包括目标安全头和目标加密内容;
使用与所述第一预设公钥对应的第一预设私钥,对所述目标安全头做解密处理,得到对称秘钥版本号和预设盐值;
确定与所述对称秘钥版本号对应的对称秘钥,基于所述预设盐值和所述对称秘钥,对所述目标加密内容做解密处理,得到所述目标文件并显示。
11.根据权利要求8-10中任一项所述的装置,其特征在于,所述拼接模块,用于:将所述安全头拼接到所述加密内容的头部,以生成加密文件。
12.一种文件处理装置,应用于服务端,其特征在于,包括:
保存模块,用于接收客户端上传的第一加密文件并保存;其中,第一加密文件包括第一安全头和加密内容;
确定模块,用于接收客户端传输的文件下载请求,根据所述文件下载请求中的文件编号,确定相应第一加密文件;
非对称解密模块,用于使用与第二预设公钥对应的第二预设私钥,对所述第一安全头做解密处理,得到对称秘钥版本号、预设盐值和客户端的第一预设公钥拼接的字符串;
重加密模块,用于使用所述第一预设公钥对所述字符串做加密处理,得到第二安全头,基于所述第二安全头和所述加密内容生成第二加密文件并返回给客户端。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括更换秘钥模块,用于:
接收对对称秘钥的更换操作,将所述对称秘钥替换为输入的新对称秘钥,以及将所述对称秘钥的版本号累加预设值,得到所述新对称秘钥的版本号;以及
通过线下方式,将所述新对称秘钥和相应版本号同步给客户端。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括文件更新模块,用于:
响应于对所述对称秘钥的更换操作,获取当前已保存的原加密文件集合,使用所述第二预设私钥解密每个原加密文件的安全头,得到对称秘钥版本号和预设盐值;
确定与所述对称秘钥版本号对应的对称秘钥,基于所述预设盐值和所述对称秘钥,对每个原加密文件的加密内容做解密处理,得到原文件集合;
生成新盐值,基于所述新盐值和所述新对称秘钥,对每个原文件做加密处理,得到新加密内容集合;
对所述新对称秘钥的版本号、所述新盐值和所述第一预设公钥做拼接处理,使用所述第一预设公钥对拼接的字符串做加密处理,得到新安全头,基于新安全头和新加密内容生成新加密文件以替换原加密文件。
15.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
16.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
17.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211025344.9A CN115495757A (zh) | 2022-08-25 | 2022-08-25 | 一种文件处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211025344.9A CN115495757A (zh) | 2022-08-25 | 2022-08-25 | 一种文件处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115495757A true CN115495757A (zh) | 2022-12-20 |
Family
ID=84466792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211025344.9A Pending CN115495757A (zh) | 2022-08-25 | 2022-08-25 | 一种文件处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115495757A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116455892A (zh) * | 2023-04-19 | 2023-07-18 | 惠州市乐亿通科技有限公司 | 文件传输方法、传输装置及终端设备 |
CN117118713A (zh) * | 2023-08-30 | 2023-11-24 | 广州趣米网络科技有限公司 | 一种基于双重加密的加密算法 |
-
2022
- 2022-08-25 CN CN202211025344.9A patent/CN115495757A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116455892A (zh) * | 2023-04-19 | 2023-07-18 | 惠州市乐亿通科技有限公司 | 文件传输方法、传输装置及终端设备 |
CN116455892B (zh) * | 2023-04-19 | 2023-10-27 | 惠州市乐亿通科技有限公司 | 文件传输方法、传输装置及终端设备 |
CN117118713A (zh) * | 2023-08-30 | 2023-11-24 | 广州趣米网络科技有限公司 | 一种基于双重加密的加密算法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10785019B2 (en) | Data transmission method and apparatus | |
US9537918B2 (en) | File sharing with client side encryption | |
CN115495757A (zh) | 一种文件处理方法和装置 | |
US10116442B2 (en) | Data storage apparatus, data updating system, data processing method, and computer readable medium | |
CN112055004A (zh) | 一种基于小程序的数据处理方法和系统 | |
US20200235925A1 (en) | Access to secured information | |
CN108880812B (zh) | 数据加密的方法和系统 | |
US10250596B2 (en) | Monitoring encrypted communication sessions | |
CN112966287B (zh) | 获取用户数据的方法、系统、设备和计算机可读介质 | |
CN109413084A (zh) | 一种口令更新方法、装置及系统 | |
US20150350375A1 (en) | Information Processing Method, Trusted Server, and Cloud Server | |
US20230247010A1 (en) | Systems and methods for encryption in network communication | |
CN112291268A (zh) | 信息的传输方法、装置、设备以及存储介质 | |
CN110086607B (zh) | 快速切换部署密钥的方法、装置、计算机设备和存储介质 | |
CN113422832B (zh) | 文件传输方法、装置、设备和存储介质 | |
CN114173328A (zh) | 密钥交换方法、装置、电子设备 | |
CN111786955B (zh) | 用于保护模型的方法和装置 | |
CN112565156B (zh) | 信息注册方法、装置和系统 | |
CN115567263A (zh) | 一种数据传输管理的方法、数据处理的方法和装置 | |
CN110166226B (zh) | 一种生成秘钥的方法和装置 | |
CN111526128B (zh) | 一种加密管理的方法和装置 | |
KR20150101896A (ko) | 인터클라우드 환경에서의 데이터 공유 시스템 및 공유 방법 | |
CN114095159B (zh) | 加密通信方法、装置、计算机设备及存储介质 | |
CN113507363B (zh) | 数据处理的方法、装置、电子设备和存储介质 | |
CN115378743B (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 |