一种云存储透明加密文件系统及密钥跨设备同步方法与流程
本发明涉及信息安全与计算机系统架构,特别涉及一种云存储透明加密文件系统及密钥跨设备同步方法。
背景技术:
1、随着云计算、移动互联网及移动办公的发展,个人和企业用户将大量文件存储至百度网盘、阿里云盘、onedrive、google drive等云存储服务平台。然而,在常规存储模式下,云服务商能够在服务端以明文形式访问文件内容,文件数据面临服务商内部人员泄露、网络攻击、数据滥用及司法调证等风险。同时,我国网络安全等级保护2.0及密码应用安全性评估对重要数据保护提出了明确要求,采用sm4等国密算法对数据进行加密存储已成为合规需求。
2、针对云端数据加密,现有技术中已有多种方案,但均存在不同程度不足。cryptomator为开源透明加密虚拟盘,采用aes算法对文件进行加密,以虚拟磁盘形式挂载,用户文件以密文同步至云盘。该方案不支持国密sm系列算法,不符合等保2.0与密评合规要求;且密钥跨设备同步需用户手动导出,无法实现端到端自动同步。boxcryptor为商业加密层,可对云盘文件进行加密,但该产品已被dropbox收购并停止服务,目前已不可用。veracrypt为全盘加密容器方案,加密粒度为整个容器而非文件级;当容器内少量文件变更时,需整体重传gb级容器文件,不适合文件级增量同步。云盘自带的服务端加密功能,其密钥由云服务商持有,服务商能够解密并访问文件内容,无法抵抗服务商窥探或司法调证需求,不具备零知识特性。
3、综上,上述现有方案均未能同时兼顾“云端零知识存储”“国密合规(sm4)”“文件级增量同步”和“密钥跨设备端到端自动同步”四个目标。因此,如何在满足国密合规要求的基础上,实现云端零知识存储、文件级增量同步以及密钥跨设备端到端自动同步,成为亟待解决的技术问题。
技术实现思路
1、本发明的目的在于克服现有技术中存在的上述缺陷,提供一种云存储透明加密文件系统及密钥跨设备同步方法,在云存储场景下,实现:文件离开本地前自动加密、云端仅存密文(零知识);加密/解密对用户无感(拖入即加密、打开即解密);文件加密密钥在设备间安全同步而不暴露给云端;采用国密 sm4 满足等保/密评合规;文件级粒度、修改单块即可增量同步,避免整体重传。
2、为实现上述目的,本发明提供如下技术方案:
3、本发明一种云存储透明加密文件系统及密钥跨设备同步方法,包括以下步骤:
4、s1. 在用户本地设备的云盘同步客户端与本地文件系统之间建立透明加密拦截层,以虚拟磁盘形态挂载为独立于所述云盘同步目录的虚拟盘符,透明加解密拦截层截获对所述虚拟盘符内文件的写入操作与读取操作;对写入操作执行步骤s2,对读取操作执行步骤s3;
5、s2. 对写入操作,包括以下子步骤:
6、s21.将待写入的明文文件按预设分块策略划分为至少一个数据块,对每一数据块独立生成随机初始化向量iv;
7、s22.采用国密sm4-gcm认证加密算法进行加密,生成密文数据块及其认证标签;
8、s23.生成自描述的元数据头部,所述元数据头部包括格式魔数、版本号、密钥标识符keyid与初始化向量 iv,其后拼接密文数据与认证标签形成加密文件后,写入所述云盘同步目录,由所述云盘同步客户端同步至云端存储;
9、s3. 对读取操作,包括以下子步骤:
10、s31. 识别文件元数据头部中的格式魔数以区分加密文件与普通文件;
11、s32. 对加密文件,根据密钥标识符keyid从本地密钥保险库中查找对应的文件加密密钥,执行 sm4-gcm 解密并验证认证标签,认证通过后返回明文文件内容,认证失败则拒绝读取并发出告警;
12、s5. 所述文件加密密钥仅存储于本地密钥保险库,不出入云端;所述云端存储服务仅能访问密文形态的加密文件,无法恢复明文。
13、所述元数据头部还包括经加密处理的原始文件名,以防止云端通过文件名推断文件内容信息;读取解密时从所述元数据头部恢复原始文件名向应用程序呈现。
14、所述预设分块策略为:当文件大小低于预设阈值时整体加密为单块;当文件大小超过所述阈值时按固定大小分块,每块独立生成初始化向量与认证标签,修改文件时仅对发生变更的块重新加密并更新对应块的初始化向量,未变更块保持不变,以兼容云盘同步客户端的增量/差量同步。
15、还包括密钥跨设备安全同步步骤:第一设备生成临时 ml-kem-768 密钥对,将公钥与设备认证令牌经云端中转发送至第二设备;第二设备使用所述公钥封装会话密钥,以所述会话密钥加密待同步的文件密钥材料,经云端中转回传至第一设备;第一设备解封会话密钥并解密所述文件密钥材料,存入本地密钥保险库;其中,所述云端仅中转加密消息,无法获取明文密钥材料,实现云端零知识。
16、所述同步请求消息携带基于链式 hmac 审计链生成的设备认证令牌,所述设备认证令牌将设备身份与请求时序绑定,用于防止重放攻击与伪造设备身份,且所述设备认证令牌本身不承载任何文件密钥材料。
17、所述本地密钥保险库采用 pbkdf2 密钥派生函数从用户主口令派生主密钥,所述主密钥密封存储于本地文件系统;所述文件加密密钥经所述主密钥加密后存储,运行期仅常驻内存,落盘仅以密文形态存在。
18、在权利要求 1 所述方法的步骤 s1 至 s3 执行期间,还包括操作审计步骤:对每次文件上传、下载、修改、删除操作生成链式 hmac 审计记录,所述审计链存储于本地隔离环境,支持事后对审计链完整性的验证,任一记录被篡改均可被检出。
19、所述透明加密拦截层以操作系统虚拟磁盘驱动形态实现,在系统中挂载为虚拟盘符,用户对所述虚拟盘符的文件读写操作经驱动层拦截后执行加密/解密,兼容 windows与linux 平台。
20、所述虚拟磁盘拦截层以用户态文件系统框架实现,包括 windows 平台的 dokany的 fuse 以及 linux 平台的 fuse,无需内核驱动签名即可跨平台获得统一的虚拟挂载点,所述拦截层在挂载点之上完成文件 i/o 的透明拦截与加解密。
21、一种云存储透明加密文件系统,包括用于执行权利要求 1 至 9 中任一项所述方法中各步骤的模块集合,至少包括:透明加密拦截模块、sm4-gcm 加密引擎模块、元数据头部生成与解析模块、本地密钥保险库模块、密钥跨设备同步模块、操作审计模块;其中,文件加密密钥仅存储于所述本地密钥保险库,不出入云端。
22、本发明具有如下所示的有益效果:
23、本发明通过云端仅存储密文且服务商与司法调证均无法恢复明文,实现云端零知识安全;采用sm4-gcm认证加密,满足等保2.0及密评合规要求;以文件级增量同步和分块独立iv对变更块重加密,兼容onedrive等差量同步,避免gb级容器整体重传;基于ml-kem-768的会话密钥封装实现密钥跨设备端到端自动同步,云端仅中转密文;利用sm4-gcm认证标签使密文篡改即解密失败,并通过链式hmac审计链保证操作日志不可篡改;用户操作虚拟盘符即等同于操作加密云盘,透明无感、不改变使用习惯,且核心特征已通过真实环境工程验证,具有较高的安全性、合规性、传输效率与易用性。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com