著录项信息
专利名称 | 一种密文云存储方法和系统 |
申请号 | CN201310626060.X | 申请日期 | 2013-11-28 |
法律状态 | 权利终止 | 申报国家 | 暂无 |
公开/公告日 | 2014-02-19 | 公开/公告号 | CN103595730A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/06 | IPC分类号 | H04L29/06;H04L29/08查看分类表>
|
申请人 | 中国科学院信息工程研究所 | 申请人地址 | 北京市海淀区闵庄路甲***
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 中国科学院信息工程研究所 | 当前权利人 | 中国科学院信息工程研究所 |
发明人 | 陈驰;杨腾飞;田雪;王朝刚;于晶;申培松;朱晓杰;刘华骏;黄超麟 |
代理机构 | 北京君尚知识产权代理事务所(普通合伙) | 代理人 | 余长江 |
摘要
本发明涉及一种密文云存储方法和系统,在至少一个客户端和云端服务器组成的系统中,存储方法为:1)用户在客户端存放数据中选择采用密文和/或明文进行数据同步,并对密文选择加密算法;2)使用基于用户身份提供的认证参数生成主密钥,在客户端采用主密钥+加解密密钥的两级密钥对密文同步的数据进行加密并对该主密钥进行备份;3)在客户端和云端同步密文及密文索引;或在云端和客户端同步明文同步数据后在云端建立明文索引;4)将明文和/或密文存储在本地私有云存储服务器或者根据用户请求的挂载点,存储在云存储提供商存储服务器。本发明在终端丢失不会丢失数据,且若防护不当仅损失文件的密文形式,同时存储系统可对接多个云服务提供商。
1.一种密文云存储方法,在客户端和云端建立同步连接,其步骤为:
1)用户在客户端存放的数据中选择采用密文和/或明文进行数据同步,并对所述密文选择加密算法;
2)使用基于用户身份提供的认证参数生成主密钥,并根据所述主密钥获取密文预置加解密密钥或生成对应的密文加解密密钥,在所述客户端采用主密钥+加解密密钥的两级密钥对密文同步的数据进行加密并建立密文索引并对该主密钥进行备份;
3)在所述客户端和云端同步所述密文及密文索引并删除在客户端上的密文索引和密文同步的数据;或在所述云端和客户端同步所述明文同步数据后在所述云端建立明文索引;并实现加解密过程对用户的透明:
4)将所述明文和/或密文存储在本地私有云存储服务器或者根据用户请求的挂载点,存储在云存储提供商的存储服务器;
同步所述明文的方法包括数据的上传、下载或删除,通过下述方法实现对用户明文同步数据的同步和更新:
1)启动时加载数据监控服务,并根据本地数据库读取到的数据列表生成或维护数据监控列表;
2)根据获取的数据监控列表,依照数据名字段和数据在服务器上的路径字段产生数据和列表的一一映射,将监控列表里的数据与本地数据关联;若是自动同步,则数据监控器监控本地数据的状态,若数据状态包括属性同步的最新时间,数据修改时间,数据哈希值发生改变,则触发数据同步的事件;若是手动出发同步操作,则直接触发数据同步的事件;
3)所述数据监控器获取同步操作,检查客户端本地数据是否存在,若所述本地数据存在,检测本地属性的元数据信息是否与云存储服务器相同,所述本地属性的元数据信息包括数据修改时间和固定长度的数据散列值,以及数据同步时间;
4)若数据不存在,则驱动进行下载数据属性元数据和明文同步数据;
5)若所述云存储服务器数据修改,则经驱动进行下载,将云服务器数据拉取至本地,并更新本地数据属性元数据;
6)若所述客户端本地数据修改则包括:初次上传、服务端未有元数据的情况,经驱动进行上传,将客户端本地数据、数据属性元数据上传至云存储服务器;
7)若所述云存储服务器数据和客户端数据同时被修改,则根据用户选择经驱动进行包括:取消操作、重写数据、附加保留的冲突解决。
2.如权利要求1所述的密文云存储方法,其特征在于,同步所述密文的方法包括数据的上传、下载或删除,通过下述方法实现对用户密文同步数据的同步和更新:
1)启动时加载数据监控服务,并根据本地数据库读取到的数据列表生成或维护数据监控列表;
2)根据获取的数据监控列表,依照数据名字段和数据在服务器上的路径字段产生数据和列表的一一映射,将监控列表里的数据与本地数据关联;若是自动同步,则数据监控器监控本地数据的状态,若数据状态包括属性同步的最新时间,数据修改时间,数据哈希值发生改变,则触发数据同步的事件;若是手动出发同步操作,则直接触发数据同步的事件;
3)所述数据监控器获取同步操作,检查客户端本地数据是否存在,若所述本地数据存在,检测本地属性的元数据信息是否与云存储服务器相同,所述本地属性的元数据信息包括数据修改时间和固定长度的数据散列值,以及数据同步时间;
4)若数据不存在,则驱动进行下载数据属性元数据和明文同步数据;
5)若所述云存储服务器数据修改,则经驱动进行下载,将云服务器数据拉取至本地,并更新本地数据属性元数据;
6)若所述客户端本地数据修改则包括:初次上传、服务端未有元数据的情况,经驱动进行上传,将客户端本地数据、数据属性元数据上传至云存储服务器;
7)若所述云存储服务器数据和客户端数据同时被修改,则驱动冲突处理模块进行解决策略,包括取消操作、重写文件、附加保留;
8)对于上传,需要依次生成密文索引,加密数据生成密文,然后经驱动将密文数据、密文索引、及密文元数据属性上传到云存储服务器;
9)对于下载,由于密文数据不能实现增量更新,故在冲突处理时判断是否为密文,若为密文,则根据用户判断之进行取消操作或重写文件。
3.如权利要求1或2所述的密文云存储方法,其特征在于,所述同步明密文数据类型包括:文件、sqlite数据库、SharedPreferences。
4.如权利要求1所述的密文云存储方法,其特征在于,所述两级密钥加密通过下述方法实现:
1)运行时从内存读取主密钥同时从内存缓存或者数据库中读取存储的加解密密钥,
2)在用户第一次使用客户端时,根据用户提供的相应认证参数,生成所述主密钥,同时对该主密钥进行备份;
3)用户每次在进行密文云存储时,根据所述认证参数从存储数据库中读取所述存储的主密钥的固定长度的单项散列值,与用户所提供的所述认证参数利用相同算法生成密钥的固定长度的单项散列值进行比对;
4)当查找所述加解密密钥时,依据数据加密属性元数据信息和用户加密方案查找存储的加解密密钥,并使用主密钥解密所述存储的加解密密钥;
5)若未查找到所述存储的加解密密钥,则生成加解密密钥,并进行密钥备份;将主密钥的固定长度的单项散列值,以及经主密钥加密后的加解密密钥备份到数据库和云端服务器;同时将加密后的加解密密钥和数据映射关系表也备份到云端。
5.如权利要求4所述的密文云存储方法,其特征在于,所述主密钥的认证参数包括:用户口令或者用户指纹、声音、虹膜的生物特征。
6.如权利要求1所述的密文云存储方法,其特征在于,通过下述方法实现加解密过程对用户的透明:
1)用户首次使用时,选择所需加密上传的文件,此时文件做上传预处理;
2)获取密钥和算法,对所选文件进行加密、上传并保存文件属性信息到数据库,所述所选文件的原明文文件在上传成功后被删除;
3)用户对密文请求读取或修改操作时,调用相应抽象密码设备组件进行解密操作,生成明文临时文件,并保存明文临时文件属性信息元数据到临时文件表,并将明文临时文件交给上层应用程序;
4)用户使用应用程序对文件的操作均针对于明文临时文件,在进行下一个文件操作或同步刷新时进行临时文件属性与所存储原文件属性元数据进行对比;
5)若文件没有进行修改,则删除临时文件,文件不进行同步;若文件经过修改,则调用密码设备单元对所述临时明文文件进行加密操作,并同步,在上传成功后删除所述临时明文文件。
7.一种密文云存储系统,包括:一个或多个客户端和云端服务器,其特征在于,用户在客户端存放的数据中选择采用密文和/或明文进行数据同步;
使用基于用户身份提供的认证参数生成主密钥,并根据所述主密钥获取密文预置加解密密钥或生成对应的密文加解密密钥,在所述客户端采用主密钥+加解密密钥的两级密钥对密文同步的数据进行加密并建立密文索引;
在所述云端和客户端同步所述密文及密文索引并删除在客户端上的密文索引和密文同步的数据;同时在所述云端和客户端同步所述明文同步数据后,在云端建立明文索引;
将所述明文和/或密文存储在本地私有云存储服务器或者根据用户请求的挂载点,存储在云存储提供商的存储服务器;
所述客户端还包括用来进行加解密操作的加解密模块(1)、用于完成与个人身份绑定的主密钥和与数据绑定的加解密密钥两级密钥管理的密钥管理模块(2)、用于密文索引生成的索引模块(3)、用以实现明密文的检索,对于密文检索生成相应查询语句的分词和单向散列,并与云端交互的查询模块(4)、同步模块(5)和管理模块(6);
所述同步模块(5)与加解密模块(1)和索引模块(3)连接用于调用和接受生成的密文和索引,完成密文及索引同步的功能;
所述管理模块(6)与加解密模块(1)、密钥管理模块(2)连接为用户提供操作接口,以设定密文安全策略,包括获取所述认证参数和加解密算法;
在所述云端同步所述明文同时在云端建立明文索引或同步所述密文及密文索引后删除在客户端上的密文索引和需要加密数据;将所述明文和/或密文存储在本地的存储服务器或者根据用户请求的挂载点存储在云存储提供商的存储服务接口;
所述云端服务器还包括与客户端同步模块(5)连接的同步模块(7)用于实现密文同步,密文索引同步;用以创建明文索引的索引模块(8)、查询模块(9)、用以实现与其他云平台的对接,扩展存储能力的对接模块(10)、密钥管理模块(11)、用户管理模块(12);
所述查询模块(9)与客户端的查询模块(4)连接,用以支持索引的明密文查询和支持顺序扫描的密文查询,最后返回查询结果;
所述密钥管理模块(11)与客户端的密钥管理模块(2)连接,用于存储备份用户的主密钥单项散列值、使用主密钥加密的加解密密钥,用户数据属性的元信息值,采用数据库实现;提供接口接受用户请求,进行密钥恢复;
所述用户管理模块(12)实现对用户帐号的管理和访问控制,包括注册用户、维护超级管理员用户和普通用户。
8.如权利要求7所述的密文云存储系统,其特征在于,在所述存储系统中根据用户设定,采用优先级控制策略,对于优先级高的数据,在得到用户请求后立即得到响应,进行建立索引、加密数据、同步更新的操作;对于优先级低的数据,则在客户端接入电源或静止状态时,自动进行索引建立、加密数据、同步更新的操作。
9.如权利要求7所述的密文云存储系统,其特征在于,所述扩展存储能力的对接模块(10),包括:挂载控制功能模块和数据操作系统,其中挂载控制功能模块的主要分为增加挂载点子模块、删除挂载点子模块、获得挂载点信息子模块,数据操作模块主要分为通用操作接口子模块及外部存储接口实现子模块;
所述增加挂载点子模块:用户增加外部云存储挂载点,并将挂载点信息写入相应的配置文件中;
所述删除挂载点子模块:删除已挂载的外部云存储挂载点,并更新相应的配置文件;
所述获得挂载点信息子模块:获得用户当前的所有挂载点信息;
所述通用操作接口子模块:提供与所有外部存储云平台对接并进行数据交互的通用的访问接口。
10.如权利要求9所述的密文云存储系统,其特征在于,所述扩展存储能力的对接模块(10)还包括Amazon S3、Dropbox、HDFS外部存储类型对所述通用操作接口进行具体实现。
法律信息
- 2018-01-12
未缴年费专利权终止
IPC(主分类): H04L 29/06
专利号: ZL 201310626060.X
申请日: 2013.11.28
授权公告日: 2016.06.08
- 2016-06-08
- 2014-03-19
实质审查的生效
IPC(主分类): H04L 29/06
专利申请号: 201310626060.X
申请日: 2013.11.28
- 2014-02-19
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2012-04-25
|
2010-05-19
| | |
2
| |
2005-03-02
|
2004-08-02
| | |
3
| |
2011-05-25
|
2011-01-26
| | |
4
| |
2013-10-09
|
2013-07-22
| | |
5
| |
2012-10-03
|
2012-06-28
| | |
6
| |
2011-04-20
|
2010-12-10
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |