一种云盘文件数据安全保护方法
【技术领域】
[0001]本发明涉及一种云盘文件数据安全保护方法,特别是涉及一种适用于云盘文件数据安全保护方法。
【背景技术】
[0002]2015年7月6日,意大利著名黑客公司Hacking Team的服务器受到攻击,该公司约400GB的数据被窃取,包括Hacking Team—些产品的源代码、邮件、录音和客户详细信息。与此类似的有斯诺登事件、CSDN用户密码泄露、12306用户身份信息泄露等,无不警示着人们需要一个有效的数据安全防护机制来保证用户数据安全。
[0003]对称加密是最快速、最简单的一种加密方式,加密(Encrypt1n)和解密(Decrypt1n)使用同样的密钥(Secret Key)。对称加密通常使用的是相对较小的密钥,一般小于256bit,密钥越大,加密越强,但加密和解密的过程越慢。对称加密算法的优点是算法公开、计算量小、加密速度快、加密效率高;其缺点在于数据传送前,发送方和接收方必须商定好密钥,然后双方都能保存好密钥。
[0004]非对称加密为数据的加密和解密提供了一个非常安全的方法,它使用了一对密钥一一公钥(Public Key)和私钥(Private Key)。私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。非对称加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥。虽然非对称加密很安全,但和对称加密比起来,计算速度非常慢。
【发明内容】
[0005]本发明要解决的技术问题是提供一种云盘文件数据安全保护方法
本发明采用的技术方案如下:一种云盘文件数据安全保护方法,具体方法为:采用对称密钥算法产生文件密钥,对文件明文数据使用文件密钥加密保护;采用非对称算法产生用户公私钥,对文件密钥使用用户公钥加密保护。
[0006]文件明文采用对称密钥加密,计算量小、加密速度快、加密效率高;文件明文数据采用文件密钥加密保护,文件密钥采用用户公钥加密保护,从而对文件明文数据形成一个递进式的保护链。递进式的保护链在计算性能和用户安全应用方面做了很好的均衡。采用层次密钥保护方式,将文件数据的最终访问权掌握在用户手中,避免了斯诺登事件。
[0007]所述方法还包括,采用用户私钥对创建的用户文件进行签名。
[0008]所述方法还包括,设置用户文件的文件安全区域,加密后的文件密钥及所述签名的签名值存储在该文件安全区域。
[0009]采用文件安全区域存储文件密钥,比起数据库方式,既节省了数据库容量,更去除关联查询文件密钥的损耗。
[0010]所述文件安全区域在文件前512字节区域。
[0011]当用户第一次创建文件并上传或下载数据时,直接使用生成的文件密钥句柄进行数据的加密或解密;当用户非第一次上传或下载数据时,需要将文件安全区域的文件密钥密文和签名取到本地,首先使用用户公钥验证签名确定文件属于用户,然后再使用用户私钥解密文件密钥密文得到文件密钥句柄,然后对文件数据进行加密或解密。上传到云盘系统中的文件密文数据都按顺序放在文件区域的后面,只不过相对没加密前,对应的数据相对于文件开始位置多了一个512字节的偏移量。
[0012]所述方法还包括,云盘系统为每个用户生成一对公私钥对,用户私钥掌握在用户手中,用户公钥保存在云盘系统中。
[0013]所述方法还包括,用户每创建一个文件的同时也为该文件产生一个文件密钥。使用一文件一密钥方式,即使破解得到某个文件密钥也无法解密其它文件。
[0014]云盘系统为每个用户产生公私钥对应的用户证书,用作用户登录云盘系统进行认证。
[0015]根据权利要求5所述的云盘文件数据安全保护方法,所述方法还包括,用户采用USBKEY便携介质自身保存用户证书。用户每次都需要USBKEY才能登陆云盘系统进行操作。
[0016]与现有技术相比,本发明的有益效果是:在计算性能和用户安全应用方面做了很好的均衡,将文件数据的最终访问权掌握在用户手中,避免了斯诺登事件。
【附图说明】
[0017]图1为本发明其中一实施例的原理示意图。
【具体实施方式】
[0018]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0019]本说明书(包括摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。S卩,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
[0020]云盘系统为每个用户产生一对公私钥对(公钥Userpub和私钥User Ρη),并生成该对公私钥对应的用户证书User_t,用户证书用作用户登录云盘系统进行认证。云盘系统为用户保存用户公钥Userpub,而用户自身需要保存用户证书和用户私钥,保存方式采用USBKEY便携介质,也意味着只有用户才拥有用户私钥。用户每次都需要USBKEY才能登陆云盘系统进行操作。
[0021]如图1所示,用户在创建文件时,云盘系统在用户客户端中为该文件生成文件密钥Filekey,文件密钥需要通过用户公钥Userpub保护,同时使用用户私钥User pri)签名,然后将文件密钥密文及其签名值上传到云盘系统。云盘系统将文件的文件密钥密文及其签名值存储在每个文件前512字节区域,该区域称为文件安全区域。
[0022]当用户第一次创建文件并上传或下载数据时,直接使用生成的文件密钥句柄进行数据的加密或解密;当用户非第一次上传或下载数据时,需要将文件安全区域的文件密钥密文和签名取到本地,首先使用用户公钥验证签名确定文件属于用户,然后再使用用户私钥解密文件密钥密文得到文件密钥句柄,然后对文件数据进行加密或解密。上传到云盘系统中的文件密文数据都按顺序放在文件区域的后面,只不过相对没加密前,对应的数据相对于文件开始位置多了一个512字节的偏移量。
【主权项】
1.一种云盘文件数据安全保护方法,具体方法为:采用对称密钥算法产生文件密钥,对文件明文数据使用文件密钥加密保护;采用非对称算法产生用户公私钥,对文件密钥使用用户公钥加密保护。2.根据权利要求1所述的云盘文件数据安全保护方法,所述方法还包括,采用用户私钥对创建的用户文件进行签名。3.根据权利要求2所述的云盘文件数据安全保护方法,所述方法还包括,设置用户文件的文件安全区域,加密后的文件密钥及所述签名的签名值存储在该文件安全区域。4.根据权利要求3所述的云盘文件数据安全保护方法,所述文件安全区域在文件前512字节区域。5.根据权利要求3或4所述的云盘文件数据安全保护方法,当用户第一次创建文件并上传或下载数据时,直接使用生成的文件密钥句柄进行数据的加密或解密;当用户非第一次上传或下载数据时,需要将文件安全区域的文件密钥密文和签名取到本地,首先使用用户公钥验证签名确定文件属于用户,然后再使用用户私钥解密文件密钥密文得到文件密钥句柄,然后对文件数据进行加密或解密。6.根据权利要求1所述的云盘文件数据安全保护方法,所述方法还包括,云盘系统为每个用户生成一对公私钥对,用户私钥掌握在用户手中,用户公钥保存在云盘系统中。7.根据权利要求1所述的云盘文件数据安全保护方法,所述方法还包括,用户每创建一个文件的同时也为该文件产生一个文件密钥。8.根据权利要求5所述的云盘文件数据安全保护方法,所述方法还包括,云盘系统为每个用户产生公私钥对应的用户证书,用作用户登录云盘系统进行认证。9.根据权利要求5所述的云盘文件数据安全保护方法,所述方法还包括,用户采用USBKEY便携介质自身保存用户证书。
【专利摘要】本发明提供了一种云盘文件数据安全保护方法。该方法采用对称密钥算法产生文件密钥,对文件明文数据使用文件密钥加密保护;采用非对称算法产生用户公私钥,对文件密钥使用用户公钥加密保护。在计算性能和用户安全应用方面做了很好的均衡,将文件数据的最终访问权掌握在用户手中,避免了斯诺登事件。
【IPC分类】H04L29/06, H04L9/32
【公开号】CN105187456
【申请号】CN201510704616
【发明人】何文森, 李雪兵, 李凯
【申请人】成都卫士通信息产业股份有限公司
【公开日】2015年12月23日
【申请日】2015年10月27日