CN115865530A - 文件管理方法、文件管理系统及计算机存储介质 - Google Patents
文件管理方法、文件管理系统及计算机存储介质 Download PDFInfo
- Publication number
- CN115865530A CN115865530A CN202310151121.5A CN202310151121A CN115865530A CN 115865530 A CN115865530 A CN 115865530A CN 202310151121 A CN202310151121 A CN 202310151121A CN 115865530 A CN115865530 A CN 115865530A
- Authority
- CN
- China
- Prior art keywords
- file
- secret key
- client
- key
- management
- 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.)
- Granted
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本申请公开了一种文件管理方法、文件管理系统及计算机存储介质。该文件管理方法用于文件管理系统,文件管理系统包括客户端、秘钥管理端及文件存储端,文件管理方法包括:秘钥管理端基于客户端的加密请求对第一秘钥进行加密,以生成第二秘钥,并将第二秘钥反馈给客户端;客户端对第二秘钥进行解密,得到第一秘钥;客户端将目标文件进行格式转换,并利用本地的第一秘钥对格式转换的目标文件进行加密,得到加密文件;客户端将加密文件上传至文件存储端。通过上述方式,本申请利用秘钥管理端对用于文件加解密的秘钥进行管理,能够提高文件的安全性。
Description
技术领域
本申请涉及信息技术领域,具体涉及一种文件管理方法、文件管理系统及计算机存储介质。
背景技术
现有的文件上传方法通过加密技术保证信息的机密性、完整性、鉴别性和不可否认性,使用相应的秘钥解密后显示出加密前的内容,使信息只对允许可读的接收者可读,以防止私有化信息在传输中被拦截和窃取。但现有技术中用于文件加解密的秘钥存储在客户端,存在秘钥易泄漏的问题,文件在传输过程中存在被拦截的风险,存在文件安全问题。
发明内容
本申请提出一种文件管理方法、文件管理系统及计算机存储介质,利用秘钥管理端对用于文件加解密的秘钥进行管理,能够提高文件的安全性。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种文件管理方法,该文件管理方法用于文件管理系统,文件管理系统包括客户端、秘钥管理端及文件存储端,文件管理方法包括:秘钥管理端基于客户端的加密请求对第一秘钥进行加密,以生成第二秘钥,并将第二秘钥反馈给客户端;客户端对第二秘钥进行解密,得到第一秘钥;客户端利用本地的第一秘钥对目标文件进行加密,得到加密文件;客户端将加密文件上传至文件存储端。
其中,秘钥管理端基于客户端的加密请求对第一秘钥进行加密,以生成第二秘钥,包括:秘钥管理端基于客户端的加密请求,利用非对称加密算法的私钥对第一秘钥进行加密,生成第二秘钥;客户端对第二秘钥进行解密,得到第一秘钥,包括:客户端利用非对称加密算法的公钥对第二秘钥进行解密,得到第一秘钥。
其中,文件管理方法还包括:秘钥管理端从加密请求中解析标识信息,并记录标识信息;其中,标识信息用于识别客户端。
其中,文件管理方法还包括:客户端为加密文件添加加密状态及版本号;客户端将加密文件上传至文件存储端,包括:客户端将添加有加密状态及版本号的加密文件上传至文件存储端。
其中,客户端包括前端模块及本地模块,在客户端对第二秘钥进行解密,得到第一秘钥,包括:前端模块从秘钥管理端获取第二秘钥,并将第二秘钥发送给本地模块;本地模块对第二秘钥进行解密,得到第一秘钥;客户端利用本地的第一秘钥对目标文件进行加密,得到加密文件,包括:本地模块将目标文件进行格式转换,并利用本地的第一秘钥对格式转换的目标文件进行加密,得到加密文件,并将加密文件反馈给前端模块,以使前端模块将加密文件上传至文件存储端。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种文件管理方法,用于文件管理系统,文件管理系统包括客户端、秘钥管理端及文件存储端,文件管理方法包括:客户端从文件存储端获取下载文件,并向秘钥管理端发送解密请求;秘钥管理端基于解密请求获取第二秘钥,并将第二秘钥反馈给客户端;客户端对第二秘钥进行解密,得到第一秘钥;客户端利用第一秘钥对下载文件进行解密,得到目标文件。
其中,客户端向秘钥管理端发送解密请求之前,还包括:客户端从文件存储端获取下载文件的加密状态;基于加密状态确定下载文件是否被加密;若是,则执行客户端向秘钥管理端发送解密请求。
其中,解密请求包括下载文件的版本号及客户端的标识信息,秘钥管理端基于解密请求获取第二秘钥,包括:秘钥管理端从解密请求中解析获取版本号及标识信息;秘钥管理端获取与版本号及标识信息对应的第二秘钥。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种文件管理系统,包括客户端、秘钥管理端及文件存储端,客户端分别与秘钥管理端及文件存储端通信连接,其中:秘钥管理端基于客户端的加密请求对第一秘钥进行加密,以生成第二秘钥,并将第二秘钥反馈给客户端;客户端对第二秘钥进行解密,得到第一秘钥;客户端利用本地的第一秘钥对目标文件进行加密,得到加密文件;客户端将加密文件上传至文件存储端;客户端从文件存储端获取下载文件,并向秘钥管理端发送解密请求;秘钥管理端基于解密请求获取第二秘钥,并将第二秘钥反馈给客户端;客户端对第二秘钥进行解密,得到第一秘钥;客户端利用第一秘钥对下载文件进行解密,得到目标文件。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种计算机存储介质,其上存储有程序指令,程序指令被处理器执行以实现上述任一项的文件管理方法和/或上述任一项的文件管理方法。
本申请的有益效果是:区别于现有技术的情况,本申请的文件管理方法用于文件管理系统,文件管理系统包括客户端、秘钥管理端及文件存储端。该文件管理方法包括:秘钥管理端基于客户端的加密请求对第一秘钥进行加密,以生成第二秘钥,并将第二秘钥反馈给客户端;客户端对第二秘钥进行解密,得到第一秘钥;客户端将目标文件进行格式转换,并利用本地的第一秘钥对格式转换的目标文件进行加密,得到加密文件;客户端将加密文件上传至文件存储端。通过这种方式,当文件需要加密上传时,客户端可以先向秘钥管理端申请秘钥,秘钥管理端基于客户端的加密请求对第一秘钥进行加密,以生成第二秘钥,并将第二秘钥反馈给客户端,客户端对第二秘钥进行解密得到第一秘钥,并利用第一秘钥对目标文件进行加密后上传文件存储端。本申请利用秘钥管理端对用于对目标文件进行加密的第一秘钥进行统一管理,而不直接将第一秘钥设置在客户端,能够避免客户端安全性低,导致第一秘钥泄漏等安全问题,从而能够提高文件的安全性;且秘钥管理端先对第一秘钥进行加密后再发送给客户端,能够提高第一秘钥的安全性,实现双层加密,进而能够进一步提高文件的安全性。
附图说明
图1是本申请文件管理方法第一实施例的流程示意图;
图2是本申请文件管理方法第二实施例的流程示意图;
图3是本申请文件管理方法第三实施例的流程示意图;
图4是本申请文件管理方法第四实施例的流程示意图;
图5是本申请文件管理方法第五实施例的流程示意图;
图6是本申请文件管理方法第六实施例的流程示意图;
图7是本申请计算机可读存储介质一实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请首先提出一种文件管理方法,如图1所示,图1是本申请文件管理方法第一实施例的流程示意图。本实施例中文件管理方法用于文件管理系统,文件管理系统包括客户端、秘钥管理端及文件存储端,客户端分别与秘钥管理端及文件存储端通信连接,该文件管理方法具体包括以下步骤:
步骤S11:秘钥管理端基于客户端的加密请求对第一秘钥进行加密,以生成第二秘钥,并将第二秘钥反馈给客户端。
例如,客户端接收到用户对目标文件的加密请求时,向秘钥管理端发送加密请求,秘钥管理端接收到加密请求后,对第一秘钥,如算法加密秘钥(Algorithm EncryptionKey,AEK)进行加密,生成第二秘钥AEKS,第二秘钥AEKS生成后,秘钥管理端将第二秘钥AEKS反馈给客户端。
其中,第一秘钥AEK可以是用于对客户端上传至文件存储端的目标文件进行加密的加密算法的公钥。
可选地,本实施例的秘钥管理端可以基于客户端的加密请求,利用非对称加密算法的私钥对第一秘钥进行加密,生成第二秘钥,以使得客户端可以利用该非对称加密算法的公钥对第二秘钥进行解密,得到第一秘钥。
其中,非对称加密算法可以是RSA,非对称加密算法中加密和解密需要不同的秘钥,即公钥和私钥,用公钥加密的信息只能用对应的私钥进行解密,只要私钥不泄漏,通信就是安全的,安全性较高。因此,本申请的秘钥管理端利用非对称加密算法对用于对客户端上传至文件存储端的目标文件进行加密的第一秘钥AEK进行加密,能够进一步提高第一秘钥的安全性,进而进一步提高目标文件上传的安全性。
客户端在上传目标文件,且需要对目标文件进行加密上传时,发送加密请求至秘钥管理端,秘钥管理端接收到加密请求并利用RSA的私钥对第一秘钥AEK进行加密,生成第二秘钥AEKS。
步骤S12:客户端对第二秘钥进行解密,得到第一秘钥。
例如,当客户端需要利用第一秘钥AEK对目标文件进行加密,需要对第二秘钥AEKS进行解密获得第一秘钥AEK,客户端可以利用RSA的公钥对第二秘钥AEKS进行解密,得到第一秘钥AEK。
步骤S13:客户端利用本地的第一秘钥对目标文件进行加密,得到加密文件。
客户端将目标文件进行格式转换,并利用本地的第一秘钥AEK对格式转换的目标文件进行加密,得到加密文件。
例如,客户端可以对目标文件进行格式转换,将目标文件转换为byte,利用本地的第一秘钥AEK对格式转换完成的目标文件进行全文加密,得到加密完成后的加密文件。
其中,第一秘钥AEK对应的加密算法可以是对称加密算法,如AES等。AES中分组密码将目标文件的全文进行分组,每组长度相等,每次加密一组数据,直到将全文加密完成。AES的加密和解密用到的秘钥相同,利用AES进行加密,加密速度快,适用于频繁发送数据。AES的加密效率高,能够提高目标文件的加解密效率。
步骤S14:客户端将加密文件上传至文件存储端。
例如,客户端包括目录A及目录B,目录A用于存储目标文件的原文件,目录B用于存储目标文件的加密文件。客户端在将加密文件上传至文件存储端后,可以决定目录B中加密文件的删除策略,例如客户端将加密文件上传至文件存储端后,保留目录A中的目标文件,并删除目录B中的加密文件,以节约客户端的存储空间。
通过上述方式,当文件需要加密上传时,客户端可以先向秘钥管理端申请秘钥,秘钥管理端基于客户端的加密请求对第一秘钥AEK进行加密,以生成第二秘钥AEKS,并将第二秘钥AEKS反馈给客户端,客户端对第二秘钥AEKS进行解密得到第一秘钥AEK,并利用第一秘钥AEK对目标文件进行加密后上传文件存储端。本申请利用秘钥管理端对用于对目标文件进行加密的第一秘钥AEK进行统一管理,而不直接将第一秘钥AEK设置在客户端,能够避免客户端安全性低,导致第一秘钥AEK泄漏等安全问题,从而能够提高文件的安全性;且秘钥管理端先对第一秘钥AEK进行加密后再发送给客户端,能够提高第一秘钥AEK的安全性,实现双层加密,进而能够进一步提高文件的安全性。
可选地,本实施例中文件管理方法还包括:秘钥管理端从加密请求中解析标识信息,并记录标识信息;其中,标识信息用于识别客户端。
例如,标识信息为appkey,appkey是给认证用户,开发者或调用程序提供的一个唯一的标识符的应用程序接口。秘钥管理端从加密请求中解析标识信息appkey,并记录标识信息appkey。标识信息appkey能够识别客户端,能够通过标识信息appkey向秘钥管理端获取解密加密文件的第二秘钥AEKS。
可选地,本实施例中文件管理方法还包括:客户端为加密文件添加加密状态及版本号;在其它实施例中,客户端在格式转换后的目标文件上添加加密状态及版本号;客户端将添加有加密状态及版本号的加密文件上传至文件存储端。
例如,客户端在格式转换后的目标文件上添加加密状态midea及版本号version,其中,格式转换后的目标文件为byte文件,在byte文件前部添加加密状态midea(如6d69646561)的8位,添加加密状态midea后,再添加版本号version的13位。客户端将添加有加密状态midea及版本号version的加密文件上传至文件存储端。
本申请进一步提出一种文件管理方法,如图2所示,图2是本申请文件管理方法第二实施例的流程示意图。本实施例中文件管理方法用于文件管理系统,文件管理系统包括客户端、秘钥管理端及文件存储端,客户端包括前端模块及与前端模块通讯的本地模块,前端模块分别与秘钥管理端及文件存储端通信连接,本实施例文件管理方法具体包括以下步骤:
步骤S21:秘钥管理端基于客户端的加密请求,利用非对称加密算法的私钥对第一秘钥进行加密,生成第二秘钥。
例如,客户端中前端模块接收到用户对目标文件的加密请求时,向秘钥管理端发送加密请求,秘钥管理端接收到加密请求后,对第一秘钥AEK进行加密,生成第二秘钥AEKS,第二秘钥AEKS生成后,秘钥管理端将第二秘钥AEKS反馈给前端模块。
具体实施方式可以参阅上述步骤S11。
步骤S22:前端模块从秘钥管理端获取第二秘钥,并将第二秘钥发送给本地模块。
前端模块从秘钥管理端获取第二秘钥AEKS,并将第二秘钥AEKS发送给本地模块。
步骤S23:本地模块对第二秘钥进行解密,得到第一秘钥。
具体实施方式可以参阅上述步骤S12。
例如,当本地模块需要利用第一秘钥AEK对目标文件进行加密时,本地模块中C++模块需要对第二秘钥AEKS进行解密获得第一秘钥AEK,本地模块可以利用RSA的公钥对第二秘钥AEKS进行解密,得到第一秘钥AEK,能够防止加密方法被反编译,防止文件信息泄漏。
步骤S24:本地模块将目标文件进行格式转换,并利用本地的第一秘钥对格式转换的目标文件进行加密,得到加密文件,并将加密文件反馈给前端模块。
本地模块将目标文件进行格式转换,并利用本地的第一秘钥AEK对格式转换的目标文件进行加密,得到加密文件。
例如,在本地模块可以对目标文件进行格式转换,将目标文件转换为byte,利用本地的第一秘钥AEK对格式转换完成的目标文件进行全文加密,得到加密完成后的加密文件。
具体实施方式可以参阅上述步骤S13。
步骤S25:前端模块将加密文件上传至文件存储端。
具体实施方式可以参阅上述步骤S14。
在一应用场景中,如图3所示,图3是本申请文件管理方法第三实施例的流程示意图。本实施例中文件管理方法用于文件管理系统,文件管理系统包括移动客户端、客户端c++模块、后台模块、im服务及后台文件服务。其中,移动客户端为上述前端模块,客户端c++模块为上述本地模块,后台模块为上述秘钥管理端,im服务及后台文件服务为上述文件存储端。
例如,用户A将发送文件的请求发送至移动客户端。移动客户端接收到用户A的发送文件的请求,向后台模块发送加密请求。后台模块接收到移动客户端的加密请求后,利用RSA的私钥对第一秘钥AEK进行加密,生成第二秘钥AEKS,后台模块将第二秘钥AEKS反馈至移动客户端。移动客户端从后台模块获取到第二秘钥AEKS,并将第二秘钥AEKS发送给客户端c++模块。客户端c++模块对第二秘钥AEKS进行解密,得到第一秘钥AEK。客户端c++模块将文件进行格式转换,并利用本地的第一秘钥AEK对格式转换的文件进行加密,得到加密文件,并将加密文件反馈给移动客户端,通过标识信息appkey获取文件对应的AES的第二秘钥AEKS,利用本地的RSA公钥对第二秘钥AEKS解密,从而获取第一秘钥AEK,以使移动客户端将加密文件上传至im服务及后台文件服务。
其中,客户端c++模块将目标文件进行格式转换,格式转换的目标文件为byte,并利用本地的第一秘钥AEK对格式转换的目标文件进行加密,得到加密文件。将byte前部添加加密状态midea(如6d69646561)的8位,添加加密状态midea后,再添加版本号version的13位,并填充到协议body中,最后传输到im服务。im服务用于即时通信,对文件进行上传及下载,im服务对加密或解密文件不进行处理,加密文件存储到后台文件服务的数据库里就是被加密的信息,无法被查看。
客户端c++模块存储有目录A及目录B,目录A用于存储目标文件的原文件,目录B用于存储目标文件的加密文件。移动客户端及客户端c++模块决定文件的删除策略。移动客户端将加密文件上传至后台文件服务后,保留目录A中的目标文件的原文件,并删除目录B中目标文件的加密文件,以节约存储空间。
在后台模块进行加密处理,能够提高文件加密的安全性。且在加密过程使用c++进行开发,提供一个公共组件给移动客户端及客户端c++模块进行调用。例如,移动客户端及客户端c++模块再次收到im服务发送的消息(漫游消息/离线消息/在线消息获取),需要先获取协议消息体里面的消息。本实施例中文件管理方法能够解决加密方法泄漏的问题,防止加密方法被反编译,防止文件信息泄漏。针对大文件进行加密,采用AES对称加密算法对全文进行加密,若加密文件大小为1G的文件,基本能够在10秒内完成,提高文件加密的效率。
可选地,本实施例中文件管理方法可以利用RSA对用于对目标文件进行加密的加密算法的公钥进行加密,后台模块对公钥进行加密,客户端c++模块利用RSA对公钥进行解密,提高文件加密的安全性。还可以利用AES对文件进行加密处理,提高文件加密的效率。
本申请进一步提出一种文件管理方法,如图4所示,图4是本申请文件管理方法第四实施例的流程示意图。本实施例中文件管理方法用于文件管理系统,文件管理系统包括客户端、秘钥管理端及文件存储端,该文件管理方法具体包括以下步骤:
步骤S41:客户端从文件存储端获取下载文件,并向秘钥管理端发送解密请求。
文件存储端存储下载文件,客户端接收到用户对下载文件的解密请求时,客户端从文件存储端获取下载文件,并向秘钥管理端发送解密请求。
步骤S42:秘钥管理端基于解密请求获取第二秘钥,并将第二秘钥反馈给客户端。
秘钥管理端接收客户端发送的用户对下载文件的解密请求,秘钥管理端接收到解密请求后,获取第二秘钥AEKS。获取第二秘钥AEKS后,秘钥管理端将第二秘钥AEKS反馈给客户端。
可选地,本实施例中解密请求包括下载文件的版本号及客户端的标识信息,秘钥管理端可以从解密请求中解析获取版本号及标识信息;秘钥管理端获取与版本号及标识信息对应的第二秘钥。
解密请求包括下载文件的版本号version及客户端的标识信息appkey。当秘钥管理端基于解密请求获取第二秘钥AEKS时,秘钥管理端从解密请求中解析需要进行解密的对应的下载文件,并获取版本号version及标识信息appkey。标识信息appkey能够识别客户端,能够通过标识信息appkey向秘钥管理端获取解密下载文件的第二秘钥AEKS,利用版本号version及标识信息appkey获取与需要进行解密的下载文件对应的第二秘钥AEKS。
步骤S43:客户端对第二秘钥进行解密,得到第一秘钥。
客户端可以利用非对称加密算法的公钥对第二秘钥进行解密,得到第一秘钥。
其中,非对称加密算法可以是RSA,利用RSA能够进一步提高第一秘钥AEK的安全性,进而进一步提高目标文件下载的安全性。例如,客户端可以利用RSA的公钥对第二秘钥AEKS进行解密,得到第一秘钥AEK。
步骤S44:客户端利用第一秘钥对下载文件进行解密,得到目标文件。
客户端利用第一秘钥AEK对下载文件中消息全文进行解密,得到目标文件,解密后目标文件的消息全文正常显示。
其中,可以通过RSA中的解密算法对利用第一秘钥AEK对下载文件中消息全文进行解密,利用RSA进行解密的通信安全性较高,提高目标文件下载的安全性。
本申请进一步提出一种文件管理方法,如图5所示,图5是本申请文件管理方法第五实施例的流程示意图。本实施例中文件管理方法用于文件管理系统,文件管理系统包括客户端、秘钥管理端及文件存储端,该文件管理方法具体包括以下步骤:
步骤S51:客户端从文件存储端获取下载文件的加密状态。
文件存储端存储下载文件,客户端接收到用户对下载文件的解密请求时,客户端从文件存储端获取下载文件的加密状态midea。确定下载文件中前8位是否为加密状态midea,若前8位为加密状态midea,再获取64位版本号version。
步骤S52:基于加密状态确定下载文件是否被加密,若是,则客户端向秘钥管理端发送解密请求。
可以利用下载文件中前8位的加密状态midea确定下载文件是否被加密,若加密状态midea符合已加密条件,确定下载文件被加密。客户端接收到用户对下载文件的解密请求且确定下载文件被加密后,向秘钥管理端发送解密请求。
步骤S53:秘钥管理端基于解密请求获取第二秘钥,并将第二秘钥反馈给客户端。
秘钥管理端接收客户端发送的解密请求,秘钥管理端接收到解密请求后,利用标识信息appkey及版本号version并根据解密请求获取第二秘钥AEKS。获取第二秘钥AEKS后,秘钥管理端将第二秘钥AEKS反馈给客户端。
步骤S54:客户端对第二秘钥进行解密,得到第一秘钥。
客户端可以利用非对称加密算法的公钥对第二秘钥进行解密,得到第一秘钥。
其中,非对称加密算法可以是RSA,当客户端对第二秘钥AEKS进行解密时,利用RSA的公钥对第二秘钥AEKS进行解密,得到第一秘钥AEK。
步骤S55:客户端利用第一秘钥对下载文件进行解密,得到目标文件。
客户端利用第一秘钥AEK对下载文件中消息全文进行解密,得到目标文件,解密后目标文件的消息全文正常显示。
本实施例的具体实施方式可以参阅上述实施例。
本申请利用秘钥管理端对用于对目标文件进行加密的第一秘钥AEK进行统一管理,而不直接将第一秘钥AEK设置在客户端,能够避免客户端安全性低,导致第一秘钥AEK泄漏等安全问题,从而能够提高文件的安全性;且秘钥管理端先对第一秘钥AEK进行加密后再发送给客户端,能够提高第一秘钥AEK的安全性,实现双层加密,进而能够进一步提高文件的安全性。
在一应用场景中,如图6所示,图6是本申请文件管理方法第六实施例的流程示意图。本实施例中文件管理方法用于文件管理系统,文件管理系统包括移动客户端、客户端c++模块、后台模块、im服务及后台文件服务。其中,移动客户端为上述前端模块,客户端c++模块为上述本地模块,后台模块为上述秘钥管理端,im服务及后台文件服务为上述文件存储端。
例如,用户B将接收文件的请求发送至移动客户端。移动客户端接收到接收文件的请求,从后台文件服务获取下载文件的加密状态midea,确定下载文件中前8位是否为加密状态midea,若前8位为加密状态midea,再获取64位版本号version,并加密状态midea确定下载文件是否被加密,若加密状态midea符合已加密条件,确定下载文件被加密。移动客户端确定下载文件被加密后,获取与接收文件的请求对应的下载文件,并将对下载文件进行解密的解密请求发送至后台模块。
后台模块接收到移动客户端发送的解密请求后,利用标识信息appkey及版本号version并根据解密请求获取第二秘钥AEKS。后台模块将第二秘钥AEKS反馈给移动客户端。用户B将打开文件的请求发送至移动客户端,移动客户端接收到打开文件的请求后,对第二秘钥AEKS进行解密,可以利用客户端c++模块中RSA的公钥对第二秘钥AEKS进行解密,得到第一秘钥AEK。
客户端c++模块存储有目录A及目录B,目录A用于存储目标文件的原文件,目录B用于存储目标文件的下载文件。客户端c++模块利用第一秘钥AEK对下载文件中消息全文进行解密,得到目标文件,解密后目标文件的消息全文正常显示。将解密后的下载文件存储在目录B,将目标文件的原文件存储在目录A。在用户B接收文件的流程中,后台文件服务将下载文件回传至移动客户端,移动客户端将下载文件保存到目录A中。在用户B打开文件的流程中,客户端c++模块将目录B中解密后的下载文件返回,在用户B打开解密后的下载文件查看之后,删除目录B存储的文件,以释放内存空间。本实施例中文件下载方法能够解决解密方法泄漏的问题,防止解密方法被反编译,防止文件信息泄漏。
本申请进一步提出一种文件管理系统,本实施例中文件管理系统包括客户端、秘钥管理端及文件存储端,客户端分别与秘钥管理端及文件存储端通信连接。
其中,秘钥管理端基于客户端的加密请求对第一秘钥进行加密,以生成第二秘钥,并将第二秘钥反馈给客户端。秘钥管理端可以基于客户端的加密请求,利用非对称加密算法的私钥对第一秘钥进行加密,生成第二秘钥。客户端对第二秘钥进行解密,得到第一秘钥。客户端利用本地的第一秘钥对目标文件进行加密,得到加密文件;客户端将加密文件上传至文件存储端;客户端从文件存储端获取下载文件,并向秘钥管理端发送解密请求;秘钥管理端基于解密请求获取第二秘钥,并将第二秘钥反馈给客户端;客户端对第二秘钥进行解密,得到第一秘钥;客户端利用第一秘钥对下载文件进行解密,得到目标文件。
其中,秘钥管理端从加密请求中解析标识信息,利用标识信息来识别客户端。客户端为加密文件添加加密状态及版本号,将添加有加密状态及版本号的加密文件上传至文件存储端。
文件管理系统的具体结构及工作原理可以参阅上述实施例。
在一应用场景中,秘钥管理端中控制台(应用管理)进行秘钥配置的增删改查及统一管理,秘钥修改后保留历史秘钥,每个秘钥都有对应的版本号。
秘钥存储表结构:
秘钥管理端对app标识app_key、非对称加密秘钥private_key、非对称加密秘钥public_key、版本号version、对称加密秘钥AEKS进行统一管理。其中,app标识app_key、非对称加密秘钥private_key、非对称加密秘钥public_key及对称加密秘钥AEKS的类型为String类型,占4个字节,即32位。版本号version的类型为Long类型,占8个字节,即64位。非对称加密秘钥private_key、非对称加密秘钥public_key及对称加密秘钥AEKS用于对在文件上传及下载过程中进行加密及解密。app标识app_key及版本号version用于获取非对称加密秘钥private_key、非对称加密秘钥public_key及对称加密秘钥AEKS。
本实施例中文件管理系统的加解密涉及到两层,对称加密算法可以是AES,非对称加密算法可以是RSA,在两层的加解密方法中,一层是利用RSA对在秘钥管理端进行加密的AES的秘钥进行解密,一层是利用AES对文件进行加密。
在其它实施例中,下载文件可以是客户端上传的加密文件,也可以是其它文件。
本申请进一步提出一种计算机存储介质。如图7所示,图7是本申请计算机存储介质一实施例的结构示意图。
本申请实施例的计算机存储介质400内部存储有程序指令410,程序指令410被执行以实现上述文件管理方法。
其中,程序指令410可以形成程序文件以软件产品的形式存储在上述存储介质中,以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
本实施例计算机存储介质400可以是但不局限于U盘、SD卡、PD光驱、移动硬盘、大容量软驱、闪存、多媒体记忆卡、服务器等。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述各方法实施例中的步骤。
另外,上述功能如果以软件功能的形式实现并作为独立产品销售或使用时,可存储在一个移动终端可读取存储介质中,即,本申请还提供一种存储有程序数据的存储装置,所述程序数据能够被执行以实现上述实施例的方法,该存储装置可以为如U盘、光盘、服务器等。也就是说,本申请可以以软件产品的形式体现出来,其包括若干指令用以使得一台智能终端执行各个实施例所述方法的全部或部分步骤。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的机构、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(可以是个人计算机,服务器,网络设备或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
以上所述仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种文件管理方法,其特征在于,用于文件管理系统,所述文件管理系统包括客户端、秘钥管理端及文件存储端,所述文件管理方法包括:
所述秘钥管理端基于所述客户端的加密请求对第一秘钥进行加密,以生成第二秘钥,并将所述第二秘钥反馈给所述客户端;
所述客户端对所述第二秘钥进行解密,得到所述第一秘钥;
所述客户端利用本地的所述第一秘钥对目标文件进行加密,得到加密文件;
所述客户端将加密文件上传至所述文件存储端。
2.根据权利要求1所述的文件管理方法,其特征在于,所述秘钥管理端基于所述客户端的加密请求对第一秘钥进行加密,以生成第二秘钥,包括:
所述秘钥管理端基于所述客户端的加密请求,利用非对称加密算法的私钥对第一秘钥进行加密,生成第二秘钥;
所述客户端对所述第二秘钥进行解密,得到所述第一秘钥,包括:
所述客户端利用所述非对称加密算法的公钥对所述第二秘钥进行解密,得到所述第一秘钥。
3.根据权利要求1所述的文件管理方法,其特征在于,还包括:
所述秘钥管理端从所述加密请求中解析标识信息,并记录所述标识信息;
其中,所述标识信息用于识别所述客户端。
4.根据权利要求1所述的文件管理方法,其特征在于,还包括:
所述客户端为所述加密文件添加加密状态及版本号;
所述客户端将所述加密文件上传至所述文件存储端,包括:
所述客户端将添加有所述加密状态及所述版本号的所述加密文件上传至所述文件存储端。
5.根据权利要求1所述的文件管理方法,其特征在于,所述客户端包括前端模块及本地模块,在所述客户端对所述第二秘钥进行解密,得到所述第一秘钥,包括:
所述前端模块从所述秘钥管理端获取所述第二秘钥,并将所述第二秘钥发送给所述本地模块;
所述本地模块对所述第二秘钥进行解密,得到所述第一秘钥;
所述客户端利用本地的所述第一秘钥对目标文件进行加密,得到加密文件,包括:
所述本地模块将目标文件进行格式转换,并利用本地的所述第一秘钥对格式转换的所述目标文件进行加密,得到加密文件,并将所述加密文件反馈给所述前端模块,以使所述前端模块将加密文件上传至所述文件存储端。
6.一种文件管理方法,其特征在于,用于文件管理系统,所述文件管理系统包括客户端、秘钥管理端及文件存储端,所述文件管理方法包括:
所述客户端从所述文件存储端获取下载文件,并向所述秘钥管理端发送解密请求;
所述秘钥管理端基于所述解密请求获取第二秘钥,并将所述第二秘钥反馈给所述客户端;
所述客户端对所述第二秘钥进行解密,得到第一秘钥;
所述客户端利用所述第一秘钥对所述下载文件进行解密,得到目标文件。
7.根据权利要求6所述的文件管理方法,其特征在于,在所述客户端向所述秘钥管理端发送解密请求之前,还包括:
所述客户端从所述文件存储端获取所述下载文件的加密状态;
基于所述加密状态确定所述下载文件是否被加密;
若是,则执行所述客户端向所述秘钥管理端发送解密请求。
8.根据权利要求6所述的文件管理方法,其特征在于,所述解密请求包括所述下载文件的版本号及所述客户端的标识信息,所述秘钥管理端基于所述解密请求获取第二秘钥,包括:
所述秘钥管理端从所述解密请求中解析获取所述版本号及所述标识信息;
所述秘钥管理端获取与所述版本号及所述标识信息对应的第二秘钥。
9.一种文件管理系统,其特征在于,包括客户端、秘钥管理端及文件存储端,所述客户端分别与所述秘钥管理端及所述文件存储端通信连接,其中:
所述秘钥管理端基于所述客户端的加密请求对第一秘钥进行加密,以生成第二秘钥,并将所述第二秘钥反馈给所述客户端;
所述客户端对所述第二秘钥进行解密,得到所述第一秘钥;
所述客户端利用本地的所述第一秘钥对目标文件进行加密,得到加密文件;
所述客户端将加密文件上传至所述文件存储端;
所述客户端从所述文件存储端获取下载文件,并向所述秘钥管理端发送解密请求;
所述秘钥管理端基于所述解密请求获取第二秘钥,并将所述第二秘钥反馈给所述客户端;
所述客户端对所述第二秘钥进行解密,得到第一秘钥;
所述客户端利用所述第一秘钥对所述下载文件进行解密,得到目标文件。
10.一种计算机存储介质,其特征在于,其上存储有程序指令,所述程序指令被处理器执行以实现权利要求1至5任一项所述的文件管理方法和/或权利要求6至8任一项所述的文件管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310151121.5A CN115865530B (zh) | 2023-02-22 | 2023-02-22 | 文件管理方法、文件管理系统及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310151121.5A CN115865530B (zh) | 2023-02-22 | 2023-02-22 | 文件管理方法、文件管理系统及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115865530A true CN115865530A (zh) | 2023-03-28 |
CN115865530B CN115865530B (zh) | 2023-07-07 |
Family
ID=85658641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310151121.5A Active CN115865530B (zh) | 2023-02-22 | 2023-02-22 | 文件管理方法、文件管理系统及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115865530B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108173880A (zh) * | 2018-02-11 | 2018-06-15 | 合肥图久智能科技有限公司 | 一种基于第三方密钥管理的文件加密系统 |
CN113259382A (zh) * | 2021-06-16 | 2021-08-13 | 上海有孚智数云创数字科技有限公司 | 数据传输方法、装置、设备及存储介质 |
CN114117488A (zh) * | 2021-11-26 | 2022-03-01 | 成都卫士通信息产业股份有限公司 | 文件管理方法、文件上传方法、文件解密方法及相关设备 |
WO2022100498A1 (zh) * | 2020-11-16 | 2022-05-19 | 中国银联股份有限公司 | 一种文件传输方法及装置 |
WO2022137668A1 (ja) * | 2020-12-25 | 2022-06-30 | 株式会社日立製作所 | データファイル暗号化送受信システム及びデータファイル暗号化送受信方法 |
-
2023
- 2023-02-22 CN CN202310151121.5A patent/CN115865530B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108173880A (zh) * | 2018-02-11 | 2018-06-15 | 合肥图久智能科技有限公司 | 一种基于第三方密钥管理的文件加密系统 |
WO2022100498A1 (zh) * | 2020-11-16 | 2022-05-19 | 中国银联股份有限公司 | 一种文件传输方法及装置 |
WO2022137668A1 (ja) * | 2020-12-25 | 2022-06-30 | 株式会社日立製作所 | データファイル暗号化送受信システム及びデータファイル暗号化送受信方法 |
CN113259382A (zh) * | 2021-06-16 | 2021-08-13 | 上海有孚智数云创数字科技有限公司 | 数据传输方法、装置、设备及存储介质 |
CN114117488A (zh) * | 2021-11-26 | 2022-03-01 | 成都卫士通信息产业股份有限公司 | 文件管理方法、文件上传方法、文件解密方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115865530B (zh) | 2023-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107801165B (zh) | 业务短信推送方法、装置、计算机设备和存储介质 | |
CN110661748B (zh) | 一种日志的加密方法、解密方法及装置 | |
US8422673B2 (en) | Method and system for protecting against unity keys | |
CN104836784A (zh) | 一种信息处理方法、客户端和服务器 | |
CN111970114B (zh) | 文件加密方法、系统、服务器和存储介质 | |
CN114257562B (zh) | 即时通讯方法、装置、电子设备和计算机可读存储介质 | |
CN109391473B (zh) | 一种电子签章的方法、装置及存储介质 | |
CN113382002A (zh) | 数据请求方法、请求应答方法、数据通信系统及存储介质 | |
CN110138765B (zh) | 数据处理方法、装置、计算机设备和计算机可读存储介质 | |
CN111427860B (zh) | 分布式存储系统及其数据处理方法 | |
CN109547196B (zh) | 一种手表令牌系统的实现方法及手表令牌系统和装置 | |
CA3052849C (en) | Payment control method and device, electronic device, and storage medium | |
CN116419217A (zh) | Ota数据升级方法、系统、设备及存储介质 | |
KR20140033824A (ko) | 스마트 디바이스에서 해쉬값 기반 대칭키 암호화 시스템 및 방법 | |
CN115865530B (zh) | 文件管理方法、文件管理系统及计算机存储介质 | |
CN114143098B (zh) | 数据存储方法和数据存储装置 | |
CN115567263A (zh) | 一种数据传输管理的方法、数据处理的方法和装置 | |
CN107623571B (zh) | 一种握手处理方法、客户端及服务器 | |
CN116830525A (zh) | 数据传输方法、装置、系统、电子设备及可读介质 | |
CN114650181A (zh) | 电子邮件加解密方法、系统、设备及计算机可读存储介质 | |
KR20130109560A (ko) | 모바일 디바이스의 데이터베이스 암호화 방법 | |
CN115022027B (zh) | 一种数据处理方法、装置、系统、设备及可读存储介质 | |
CN114554485B (zh) | 异步会话密钥协商和应用方法、系统、电子设备及介质 | |
CN112866209B (zh) | 透析数据安全管理系统及方法 | |
CN112689276B (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 |