一种管理云盘文件加密与解密的系统和方法技术方案

技术编号:39424600 阅读:9 留言:0更新日期:2023-11-19 16:11
本发明专利技术涉及一种管理云盘文件加密与解密的系统和方法,包括:明文文件分割;明文分片块加密;构建密文文件的分片块体;构建密文文件的文件头;完成文件加密;密文文件分割;生成密文分片块签名;检查分片块体签名;获取明文分片块;拼接解密分片块。本发明专利技术在数据网络传输过程中是经过加密的,确保传输过程的数据安全;存储在云盘服务器中的文件也是加密的,确保了云盘管理者也不能读取数据。对于用户端下载文件情况:首先从云盘服务器的存储介质中读取文件,此时的文件是经过加密的,然后把此文件经过网络传输到用户端,最后用户端对文件进行解密处理得到明文文件,经过此处理,在数据网络传输过程中是经过加密的,确保传输过程的数据安全。数据安全。数据安全。

【技术实现步骤摘要】
一种管理云盘文件加密与解密的系统和方法


[0001]本专利技术涉及一种管理云盘文件加密与解密的系统和方法,是一种应用与计算网络的系统和方法,是一种用于网络安全的系统和方法。

技术介绍

[0002]存储数据的安全是大众关注的主要问题之一,尤其是文件的安全性更是重中之重,文件中可能涉及到许多机密信息、不宜公开的以及敏感的信息,一旦文件被窃取,那么造成的损失是不可想象的,因此对文件进行加密后存储则是重要的保障措施。云盘管理系统具有使用方便,灵活访问等优点,已经广泛应用于各行各业,包括一个重要的使用场景:PC端、移动端和网页端可以随时访问文件、同步文件,尤其是涉密单位的使用中,往往更加关心的是数据的安全性,如果使用不经过加密的使用方式,会存在以下明显不足:通过云盘存储的文件都是明文存储,可以访问存储后端的用户都可以读取数据,包括云盘管理员。丢弃硬盘也可能导致数据泄露,因为硬盘中存储的数据是不经过加密存储的。如果加密算法过于简单则有可能导致数据泄露的风险。云盘文件通过网络传输的过程中有被窃取的风险。如何实现端到端加密,是一个需要解决的问题。

技术实现思路

[0003]为了克服现有技术的问题,本专利技术提出了一种管理云盘文件加密与解密的系统和方法。所述的系统和方法基于AES

256加密算法,使用CTR模式对文件进行加密和解密。在用户端,上传文件到云盘服务系统前,首先对上传的文件进行加密处理,然后通过网络传输到云盘服务器,最后写入到存储介质中。在用户端,下载文件到本地,首先云盘服务器从存储介质中读取文件,然后通过网络传输到用户端,最后把对文件进行解密得到明文文件。对于用户端上传文件情况:首先对待上传到云盘的文件进行加密处理,然后把经过加密的文件通过网络传入到云盘服务器中,并把文件写入到存储介质中,经过此处理,其优点有:在数据网络传输过程中是经过加密的,确保传输过程的数据安全;存储在云盘服务器中的文件也是加密的,确保了云盘管理者也不能读取数据。对于用户端下载文件情况:首先从云盘服务器的存储介质中读取文件,此时的文件是经过加密的,然后把此文件经过网络传输到用户端,最后用户端对文件进行解密处理得到明文文件,经过此处理,其优点有:在数据网络传输过程中是经过加密的,确保传输过程的数据安全;存储在云盘服务器中的文件也是加密的,不对文件进行任何处理;加密文件传输到用户端时进行解密。
[0004]本专利技术的目的是这样实现的:一种管理云盘文件加密与解密的系统,包括:由计算网络连接的云盘服务器和客户端,所述的云盘服务器设有存储介质和文件读写设施,所述的客户端设有文件加密和解密的设施,所述的文件加密和解密的设施包括:私有密钥处理模块;专属密钥处理模块;加密文件处理模块;解密私有密钥处理模块;解密专属密钥处理模块;解密文件处理模块;
[0005]所述的私有密钥处理模块用于:
[0006]生成salt:通过创建用户ID的原始SHA256哈希派生出私有salt;
[0007]生成加密密钥:通过使用hash_hmac函数创建一个原始SHA256

PBKDF2散列,该散列包含salt、500.000次迭代和目标大小为32字节的用户密码,生成加密密钥;
[0008]生成初始向量:使用随机函数随机生成一个16字节字符串初始向量;
[0009]加密私有密钥:基于AES

256

CTR加密算法,通过初始向量和加密密钥对私有密钥进行加密处理,得到加密过的私有密钥;
[0010]生成验证密钥:通过创建加密密钥的原始SHA256哈希派生出一个验证密钥;
[0011]生成签名:通过使用hash_hmac函数创建一个16进制SHA256

HMAC散列,该散列包含加密的私有密钥和验证密钥,生成签名;
[0012]形成带有加密密钥、初始向量、加密签名的密钥文件;
[0013]所述的专属密钥处理模块用于:
[0014]生成专属密钥:使用随机函数,生成一个随机的32字节的字符串作为专属密钥;
[0015]加密专属密钥:使用公共密钥,对专属密钥进行加密处理,从而得到:加密过的专属密钥和加密封装密钥;
[0016]所述的加密文件处理模块用于:
[0017]将待加密的明文文件切割为文件分片块:将待加密的明文文件分成多个长度相等的文件分片块,并标记初始位置;
[0018]生成初始向量:使用随机函数,对每个文件分片块随机生成一个16字节字符串初始向量,作为各个文件分片块带有起始位置标记的初始向量;
[0019]通过每个文件分片块的初始向量和加密过的专属密钥,对每一个文件分片块进行加密处理,得到加密过的带有起始位置标记的私有密钥;
[0020]生成验证密钥:通过创建专属加密密钥和文件分片块的起始位置的原始SHA256哈希派生出一个验证密钥;
[0021]生成签名:对每个文件分片块通过使用hash_hmac函数创建一个16进制SHA256

HMAC散列,该散列包含各自的加密分片块和验证密钥,生成各个文件分片块带有起始位置标记的签名;
[0022]生成文件分片块体,所述的文件块体包含:
[0023]带有起始位置标记的加密文件块;
[0024]带有起始位置标记的初始向量;
[0025]带有起始位置标记的签名;
[0026]将各个分片块体合并为一个文件,形成加密文件;
[0027]所述的解密私有密钥处理模块用于:
[0028]读取加密过的私有密钥:从私有密钥文件中读取内容,并对文件进行分析,获取到以下内容:
[0029]加密过的私有密钥;
[0030]初始化向量;
[0031]加密签名;
[0032]生成salt:通过创建用户ID的原始SHA256哈希派生出私有salt;
[0033]生成解密密钥:通过使用hash_hmac函数创建一个原始SHA256

PBKDF2散列,该散
列包含salt、500.000次迭代和目标大小为32字节的密码,生成解密密钥;
[0034]生成验证密钥:通过创建解密密钥的原始SHA256哈希派生出一个验证密钥;
[0035]生成签名:通过使用hash_hmac函数创建一个16进制SHA256

HMAC散列,该散列包含加密的私有密钥和验证密钥,生成签名,并与加密签名进行比对,如果比对相等则继续解密;如果不相同则认为解密失败,并退出;
[0036]生成私有密钥:通过初始化向量和解密密钥,使用AES
‑‑
CTR解密算法解密私有密钥;
[0037]所述的解密专属密钥处理模块用于:使用私有密钥和封装密钥对加密过的专属密钥进行解密,得到解密过的专属密钥;
[0038]所述的解密文件处理模块用于:
[0039]加密文件切割:将加密文件分成多个大小相同长度本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种管理云盘文件加密与解密的系统,包括:由计算网络连接的云盘服务器和客户端,所述的云盘服务器设有存储介质和文件读写设施,所述的客户端设有文件加密和解密的设施,其特征在于,所述的文件加密和解密的设施包括:私有密钥处理模块;专属密钥处理模块;加密文件处理模块;解密私有密钥处理模块;解密专属密钥处理模块;解密文件处理模块;所述的私有密钥处理模块用于:生成salt:通过创建用户ID的原始SHA256哈希派生出私有salt;生成加密密钥:通过使用hash_hmac函数创建一个原始SHA256

PBKDF2散列,该散列包含salt、500.000次迭代和目标大小为32字节的用户密码,生成加密密钥;生成初始向量:使用随机函数随机生成一个16字节字符串初始向量;加密私有密钥:基于AES

256

CTR加密算法,通过初始向量和加密密钥对私有密钥进行加密处理,得到加密过的私有密钥;生成验证密钥:通过创建加密密钥的原始SHA256哈希派生出一个验证密钥;生成签名:通过使用hash_hmac函数创建一个16进制SHA256

HMAC散列,该散列包含加密的私有密钥和验证密钥,生成签名;形成带有加密密钥、初始向量、加密签名的密钥文件;所述的专属密钥处理模块用于:生成专属密钥:使用随机函数,生成一个随机的32字节的字符串作为专属密钥;加密专属密钥:使用公共密钥,对专属密钥进行加密处理,从而得到:加密过的专属密钥和加密封装密钥;所述的加密文件处理模块用于:将待加密的明文文件切割为文件分片块:将待加密的明文文件分成多个长度相等的文件分片块,并标记初始位置;生成初始向量:使用随机函数,对每个文件分片块随机生成一个16字节字符串初始向量,作为各个文件分片块带有起始位置标记的初始向量;通过每个文件分片块的初始向量和加密过的专属密钥,对每一个文件分片块进行加密处理,得到加密过的带有起始位置标记的私有密钥;生成验证密钥:通过创建专属加密密钥和文件分片块的起始位置的原始SHA256哈希派生出一个验证密钥;生成签名:对每个文件分片块通过使用hash_hmac函数创建一个16进制SHA256

HMAC散列,该散列包含各自的加密分片块和验证密钥,生成各个文件分片块带有起始位置标记的签名;生成文件分片块体,所述的文件块体包含:带有起始位置标记的加密文件块;带有起始位置标记的初始向量;带有起始位置标记的签名;将各个分片块体合并为一个文件,形成加密文件;所述的解密私有密钥处理模块用于:读取加密过的私有密钥:从私有密钥文件中读取内容,并对文件进行分析,获取到以下
内容:加密过的私有密钥;初始化向量;加密签名;生成salt:通过创建用户ID的原始SHA256哈希派生出私有salt;生成解密密钥:通过使用hash_hmac函数创建一个原始SHA256

PBKDF2散列,该散列包含salt、500.000次迭代和目标大小为32字节的密码,生成解密密钥;生成验证密钥:通过创建解密密钥的原始SHA256哈希派生出一个验证密钥;生成签名:通过使用hash_hmac函数创建一个16进制SHA256

HMAC散列,该散列包含加密的私有密钥和验证密钥,生成签名,并与加密签名进行比对,如果比对相等则继续解密;如果不相同则认为解密失败,并退出;生成私有密钥:通过初始化向量和解密密钥,使用AES
‑‑
CTR解密算法解密私有密钥;所述的解密专属密钥处理模块用于:使用私有密钥和封装密钥对加密过的专属密钥进行解密,得到解密过的专属密钥;所述的解密文件处理模块用于:加密文件切割:将加密文件分成多个大小相同长度的文件块;如将文件分为多个大小为8192字节的文件块,并解析出以下内容:带有起始位置标记的加密文...

【专利技术属性】
技术研发人员:赵子兰张广东杜庆玉薛金鹏黄贤强张跃
申请(专利权)人:北京精一强远科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1