一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种支持密钥托管的加密云存储方法、系统、设备、终端与流程

2021-10-24 04:00:00 来源:中国专利 TAG:密云 密钥 终端 支持 方法


1.本发明属于云存储技术领域,尤其涉及一种支持密钥托管的加密云存储方法、系统、设备、终端。


背景技术:

2.目前,云存储作为一种新兴存储方式,因其具有存储容量大、可靠性高、可扩展的优点,受到了人们的欢迎。用户将自己的数据存储在公共云端,并且在自己的社交群组中共享;也可利用公共云存储进行群组协作的文件数据创建,如群组协作撰写项目申请书,可有效解决数据在多个终端或用户之间共享的数据同步问题。给单用户多个终端以及群组用户协作提供了极大的便利。然而大部分人对于私密信息在公共云端的存储和共享仍然存在顾虑,因为目前的云存储服务存在着巨大的安全隐患,用户数据直接以明文在云端存储,极易造成用户信息的泄露,给他们带来巨大损失。同时,云安全、数据存储与共享是企业关注云服务的焦点,缺乏安全的云存储和共享系统成为当前云服务发展的最大障碍,包含云计算、大数据技术的网络空间安全已经上升为我国的国家安全。
3.就目前来说,已有的云服务产品大致分为2类:
4.第一类云服务产品不提供任何的数据安全保护功能,数据直接明文存储于云服务器中,比如百度网盘等。这类云服务产品虽然能带来很好的用户体验,操作方便,功能强大,但是安全性也最差,任何具有访问底层存储权限的用户或者是恶意攻击都可以得到用户的数据,容易造成用户隐私和数据的泄露。
5.第二类云服务产品提供数据安全保护功能,但是数据加密由云服务提供商完成,用户密钥由云服务提供商保管,如dropbox。这类云服务产品虽然能够防止普通用户的攻击,但是对云服务系统的内部人员仍是透明的,在一些利益的诱惑下仍不可避免会造成用户隐私和数据的泄露。因此此类产品仍不能完全的保护用户的隐私和数据安全。
6.另一方面,目前常用的用户口令验证方式和常用的密钥分级管理方式,并不能彻底的验证用户的身份。一旦用户的口令泄露,任何人均可以冒充用户访问系统。
7.除此之外,如今大多数系统都将ca签发的数字证书存储在物理介质中,例如计算机硬盘、软盘、智能卡或usb key中。不同的存储介质,安全性是不同的。如果证书和私钥储存在计算机的硬盘里,计算机一旦受到黑客攻击,证书和私钥就可能被盗用。使用usb key储存数字证书和私钥是更为安全的方式。产生公私密钥对的程序是usb key生产者烧制在芯片中的rom中的,密码算法程序也是烧制在rom中。公私密钥对在usb key中生成后,公钥可以导出到卡外,而私钥则存储于芯片中的密钥区,不允许外部访问。密钥文件的读写和修改都必须由usb key内的程序调用。从usb key接口的外面,没有任何一条命令能够对密钥区的内容进行读出、修改、更新和删除。黑客的攻击程序没有机会去截获存储于usb key中的私钥。
8.虽然usb key对于私钥有着良好的保护,但是一旦usb key本身遭到物理损坏或遗失,那么存储于usb key中的证书也无法再使用,这使得由此usb key参与加密的数据都无
法再恢复。
9.通过上述分析,现有技术存在的问题及缺陷为:
10.(1)公有云存储服务存在着巨大的安全隐患,由于可能存在侵犯用户隐私和数据泄露问题,所以不能获取用户的完全信任。
11.(2)现有云服务产品不提供任何的数据安全保护功能,或不能完全的保护用户的隐私和数据安全,容易造成用户隐私和数据的泄露。
12.(3)目前的口令验证方式不能保证使用者的身份,密钥分级管理方式不能保证在顶层密钥泄露后,其他密钥的安全。
13.(4)目前的usb key存储方式,一旦usb key丢失或物理损坏,则无法恢复数据。
14.解决以上问题及缺陷的难度和意义为:为了解决以上的问题,保证用户的个人隐私和数据安全,以及用户密钥安全,迫切需要一种可靠的支持密钥托管的加密云存储方法,使得用户可以没有后顾之忧的将自己的关键信息存储在云服务上,尽情享受云服务带来的可靠性和便利性。


技术实现要素:

15.针对现有技术存在的问题,本发明提供了一种支持密钥托管的加密云存储方法、系统、设备、终端。
16.本发明是这样实现的,一种支持密钥托管的加密云存储方法,所述支持密钥托管的加密云存储方法包括以下步骤:
17.步骤一,签发数字证书:由可信任的国密ca为用户签发独有的密钥交换证书和数字签名证书,将证书导出并存储至ukey,并将密钥交换证书托管至ca;
18.此步骤意义在于,ca颁发的数字证书是整个系统的基石,承担了用户身份认证、构建密钥分级管理体系的工作。将证书导出并保存在硬件安全模块ukey中,只有使用与当前用户身份绑定的硬件安全模块ukey才能访问本发明所述的系统,进一步加强对于密钥的保护。
19.步骤二,密钥分级管理:在用户注册时,使用密钥交换证书中的公钥加密用户独有的主密钥,并由主密钥派生文件密钥,实现密钥分级管理;
20.构建密钥分级体系的意义在于,由于主密钥和文件密钥均为对称密钥,其加解密效率高,在所述系统中用于数据加密。然而,对称密钥并不能直接存储于服务器中,将对称密钥用密钥交换证书的公钥加密,以密文形式存储。另一方面,公钥也用于执行文件分享时的密钥交换过程。同时由于构建密钥分级管理体系,只有持有与当前用户身份绑定的ukey中存储的密钥交换证书,该用户才能访问所属系统。
21.步骤三,身份验证:在用户登陆系统时,进行用户身份的双重验证;
22.通过引入用户身份双重验证,保证了用户身份的有效性和确定性。即使用户口令泄露,攻击者也无法冒充用户访问系统。
23.步骤四,文件保存:利用主密钥派发的文件密钥,对用户上传的文件进行加密,文件以密文形式保存至云服务器;
24.作用在于,文件在用户浏览器中加密,并以密文形式传送至云服务器存储,解决了用户对于云服务器的信任问题,即使文件被泄露,攻击者也无法解密,获取有价值的信息。
25.步骤五,文件下载:用户使用主密钥解密由本人上传文件的文件密钥,进行文件下载;
26.作用在于,文件先以密文形式下载至浏览器端,再在浏览器中解密。这解决了用户对于云服务器的信任问题,即使在下载过程中,文件被拦截,攻击者也无法解密获取有价值的信息。
27.步骤六,文件分享:利用与用户身份绑定的密钥交换证书,用户将云服务器中的文件以密文形式直接分享给其他用户;
28.作用在于,利用公钥可以保证文件密钥进行安全的密钥交换,文件分享在浏览器端进行,文件密钥先以密文形式下载至浏览器端,再由公钥加密进行密钥交换。即使文件密钥密文在下载时被攻击者拦截,攻击者也不能解密密钥。
29.步骤七,文件恢复:将密钥交换证书托管至国密ca,当用户ukey丢失或损坏时,从ca处恢复密钥交换证书,并找回保存至云服务的全部文件。
30.密钥托管意义在于,当用于构建整个密钥体系的顶层密钥交换证书丢失或损坏时,用户本人可以由ca处恢复公钥。由于此公钥是构建密钥分级管理的顶层密钥,所以这意味着用户本人可以重新拾取对于云服务器上存储的密钥和文件的控制权。
31.进一步,步骤一中,注册时,将用户身份与当前用户输入的用户名、口令以及ukey中的密钥交换证书和数字签名证书进行绑定;ukey只用于存储密钥交换证书和数字签名证书。并将密钥交换证书托管至ca。
32.进一步,步骤二中,所述密钥分级管理,包括:
33.所述密钥管理部分采用分层结构;所述密钥分为三层结构,第一层为密钥交换证书公钥,第二层为主密钥,第三层为文件密钥。
34.由ukey中存储的密钥交换证书中的公钥加密用户独有的主密钥,由主密钥加密文件密钥;所述主密钥在用户注册时为用户随机生成,文件密钥在用户上传文件至云服务器时随机生成,形成密钥层次结构,上层密钥加密下层密钥,用户直接使用ukey操作,即可保证整个密钥体系的安全性。
35.所述用户的主密钥是在注册时在浏览器内生成,主密钥是随机生成的安全随机数;生成的主密钥由密钥交换证书的公钥进行加密,加密后得到密钥文件,密钥文件上传至后台数据库存储;用户每次登录后,从后台数据库下载获得密钥文件,获取到的密钥文件用存储于ukey的密钥交换证书的私钥解密,得到主密钥明文,用户每次退出系统时均从本地浏览器中清除主密钥记录。
36.进一步,步骤三中,所述用户身份的双重验证,包括:
37.在用户登录系统时,除常规的用户口令认证外,同时使用存储在ukey中的数字签名证书进行数字签名;在云存储服务器端,对用户口令、数字签名证书的有效性以及数字签名的有效性进行认证,实现用户身份的双重验证。
38.进一步,步骤四中,所述文件保存,包括:
39.所述用户文件,在用户浏览器端加密,并以密文形式上传至云服务器存储;在用户上传文件时,系统为当前文件随机生成文件密钥,用该文件密钥将文件加密后,再上传保存至云服务器;该文件密钥随后由主密钥进行加密,以密文形式保存在云服务器。
40.在文件进行上传操作前,对文件进行加密处理,文件加密操作采用sm4对称加密算
法,所述文件密钥是本地浏览器随机生成安全随机数,用生成的文件密钥加密文件获得文件密文;用本地浏览器存储的主密钥加密文件密钥,生成文件密钥密文,生成的文件密钥密文与文件密文拼接后,上传到云服务器存储。
41.进一步,步骤五中,所述文件下载,包括:
42.用户从服务器请求下载的密文文件后,解密下载模块在客户端浏览器中解密密文文件,把解密得到的原始明文文件下载到本地;下载文件到本地之前,先把密文文件转换成明文文件;系统首先判断文件类型,根据文件是用户自己上传还是由其它用户分享,选择不同的文件头解密密钥。
43.如果是用户自己上传的文件,系统将从浏览器sessionstorage中读取主密钥,分隔文件密钥密文和文件内容密文,用主密钥解密文件密钥,再用解得的文件密钥和初始向量解密文件内容。对于别人分享过来的文件,浏览器发送ajax请求从文件共享文件表中取得共享文件密钥密文,调用ukey中存储的密钥交换证书私钥解密共享文件密钥得到真正的文件密钥,最后用解得的文件密钥和初始向量解密文件内容;在所有明文分块都已经解密并写入文件后,把代表该文件的fileentry转换成一个url,交给浏览器下载。
44.进一步,步骤六中,所述文件分享,包括:
45.用户首先从云服务器端下载文件密钥密文,并在浏览器端使用自己的主密钥将该文件的文件密钥解密,再将此文件密钥用被分享用户的密钥交换证书中的公钥加密;被分享用户使用ukey中存储的密钥交换证书私钥解密文件密钥,进行文件下载。
46.根据分享的目标用户在后台服务器查找用户的密钥交换证书公钥,同时获得分享文件的文件密钥密文,获取文件密钥密文需要提交ajax请求来完成;对于获取到的文件密钥密文用本地浏览器的内存中存储的主密钥,采用cbc解密得到文件密钥,获得文件密钥明文;对于得到的文件密钥要用对方的密钥交换证书的公钥进行加密生成分享文件密钥密文;分享时,将分享的文件信息、分享目标以及分享文件密钥密文信息传递给后台php脚本,在数据库中做记录;当被分享用户登陆后,将先检查记录中是否有与自己相关的分享记录,如果有就对记录进行解析,在html界面中生成可视化列表,并指明文件来源。
47.本发明的另一目的在于提供一种应用所述的支持密钥托管的加密云存储方法的支持密钥托管的加密云存储系统,所述支持密钥托管的加密云存储系统,包括:
48.数字证书签发模块,用于通过可信任的国密ca为用户签发独有的密钥交换证书和数字签名证书,将证书导出并存储至ukey,将密钥交换证书托管至ca;
49.密钥分级管理模块,用于在用户注册时,使用密钥交换证书中的公钥加密用户独有的主密钥,并由主密钥派生文件密钥,实现密钥分级管理;
50.身份验证模块,用于在用户登陆系统时,进行用户身份的双重验证;
51.文件保存模块,用于利用主密钥派发的文件密钥,对用户上传的文件进行加密,文件以密文形式保存至云服务器;
52.文件下载模块,用于通过用户使用主密钥解密由本人上传文件的文件密钥进行文件下载;
53.文件分享模块,用于利用与用户身份绑定的密钥交换证书,用户将云服务器中的文件以密文形式直接分享给其他用户;
54.文件恢复模块,用于将密钥交换证书托管至国密ca,当用户ukey丢失或损坏时,从
ca处恢复密钥交换证书,并找回保存至云服务的全部文件。
55.本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
56.由可信任的国密ca为用户签发独有的密钥交换证书和数字签名证书,将证书导出并存储至ukey,并将密钥交换证书托管至ca;在用户注册时,使用密钥交换证书中的公钥加密用户独有的主密钥,并由主密钥派生文件密钥,实现密钥分级管理;在用户登陆系统时,进行用户身份的双重验证;
57.利用主密钥派发的文件密钥,对用户上传的文件进行加密,文件以密文形式保存至云服务器;用户使用主密钥解密由本人上传文件的文件密钥进行文件下载;利用与用户身份绑定的密钥交换证书,用户将云服务器中的文件以密文形式直接分享给其他用户;将密钥交换证书托管至国密ca,当用户ukey丢失或损坏时,从ca处恢复密钥交换证书,并找回保存至云服务的全部文件。
58.本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述的支持密钥托管的加密云存储系统。
59.结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明提供的支持密钥托管的加密云存储方法,使用密钥托管技术存储用户密钥交换证书和数字签名证书,并以此构建密钥分级管理机制和数据安全存储、共享。本发明通过将用户文件以密文形式上传、存储在云服务器上,解决了文件泄露和恶意侵犯个人隐私的问题;即使存储在云服务器上的内容被攻击者获得,也无法解密并获取到有价值的信息,这解决了用户对于公有云服务的信任问题。
60.同时,本发明提供的密钥分级管理结构和双重身份认证保证了用户的密钥安全;即使用户口令不慎泄露,攻击者在没有持有存储与用户绑定的数字签名证书的ukey的情况下,也无法登录系统,窃取用户存储于云上的数据。另一方面,密钥交换证书托管机制使得即使用户不慎损坏或遗失ukey,也可以凭借有效身份证明至ca处进行证书恢复,这使得用户可以重新获取对于顶层密钥的控制权,保证用户数据可恢复自己所有上传至云服务器的文件。
61.总之,本发明解决了目前用户对于公有云服务的信任问题,解决了用户使用过程中的痛点,使得用户尽情享受云服务带来的可靠性和便利性,这极大改善用户的云服务使用感受,大力推动了我国云服务的发展。因此本发明有着良好的发展前景和重要的实用价值。
附图说明
62.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
63.图1是本发明实施例提供的支持密钥托管的加密云存储方法流程图。
64.图2是本发明实施例提供的支持密钥托管的加密云存储方法原理图。
65.图3是本发明实施例提供的支持密钥托管的加密云存储系统结构框图;
66.图中:1、数字证书签发模块;2、密钥分级管理模块;3、身份验证模块;4、文件保存模块;5、文件下载模块;6、文件分享模块;7、文件恢复模块。
67.图4是本发明实施例提供的密钥分级管理层级示意图。
68.图5是本发明实施例提供的密钥分级管理架构示意图。
69.图6是本发明实施例提供的文件上传过程示意图。
70.图7是本发明实施例提供的文件下载过程示意图。
71.图8是本发明实施例提供的文件分享过程示意图。
72.图9是本发明实施例提供的密钥及文件恢复过程示意图。
73.图10是本发明实例提供的文件恢复过程示意图。
具体实施方式
74.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
75.针对现有技术存在的问题,本发明提供了一种支持密钥托管的加密云存储方法、系统、设备、终端,下面结合附图对本发明作详细的描述。
76.如图1所示,本发明实施例提供的支持密钥托管的加密云存储方法包括以下步骤:
77.s101,签发数字证书:由可信任的国密ca为用户签发独有的密钥交换证书和数字签名证书,将证书导出并存储至ukey,并将密钥交换证书托管至ca;
78.s102,密钥分级管理:在用户注册时,使用密钥交换证书中的公钥加密用户独有的主密钥,并由主密钥派生文件密钥,实现密钥分级管理;
79.s103,身份验证:在用户登陆系统时,进行用户身份的双重验证;
80.s104,文件上传:利用主密钥派发的文件密钥,对用户上传的文件进行加密,文件以密文形式保存至云服务器;
81.s105,文件下载:用户使用主密钥解密由本人上传文件的文件密钥进行文件下载;
82.s106,文件分享:利用与用户身份绑定的密钥交换证书,用户将云服务器中的文件以密文形式直接分享给其他用户;
83.s107,文件恢复:将密钥交换证书托管至国密ca,当用户ukey丢失或损坏时,从ca处恢复密钥交换证书,并找回保存至云服务的全部文件。
84.本发明实施例提供的支持密钥托管的加密云存储方法原理图如图2所示。
85.如图3所示,本发明实施例提供的支持密钥托管的加密云存储系统包括:
86.数字证书签发模块1,用于通过可信任的国密ca为用户签发独有的密钥交换证书和数字签名证书,将证书导出并存储至ukey,并将密钥交换证书托管至ca;
87.密钥分级管理模块2,用于在用户注册时,使用密钥交换证书中的公钥加密用户独有的主密钥,并由主密钥派生文件密钥,实现密钥分级管理;
88.身份验证模块3,用于在用户登陆系统时,进行用户身份的双重验证;
89.文件保存模块4,用于利用主密钥派发的文件密钥,对用户上传的文件进行加密,文件以密文形式保存至云服务器;
90.文件下载模块5,用于通过用户使用主密钥解密由本人上传文件的文件密钥进行文件下载;
91.文件分享模块6,用于利用与用户身份绑定的密钥交换证书,用户将云服务器中的文件以密文形式直接分享给其他用户;
92.文件恢复模块7,用于将密钥交换证书托管至国密ca,当用户ukey丢失或损坏时,从ca处恢复密钥交换证书,并找回保存至云服务的全部文件。
93.下面结合实施例对本发明的技术方案作进一步描述。
94.实施例1
95.本发明提供的支持密钥托管的加密云存储方法,使用密钥托管技术存储用户密钥交换证书和数字签名证书,并以此构建密钥分级管理机制和数据安全存储、共享。该方法包括:
96.(1)由可信任的国密ca为用户签发独有的密钥交换证书和数字签名证书,这些证书与用户身份绑定,并将密钥交换证书托管至ca;
97.(2)将证书导出并存储至ukey中;
98.(3)在用户注册时,使用密钥交换证书中的公钥加密用户独有的主密钥,并由主密钥派生文件密钥,实现密钥分级管理;
99.(4)在用户登陆系统时,除了验证用户口令外,同时使用数字签名证书进行签名。在服务器端,验证用户口令、数字签名证书有效性及数字签名有效性,实现用户身份的双重验证;
100.(5)利用主密钥派发的文件密钥,对用户上传的文件进行加密,文件以密文形式保存至云服务器。
101.(6)利用与用户身份绑定的密钥交换证书,用户可以将云服务器中的文件以密文形式直接分享给其他用户。
102.(7)将密钥交换证书托管至国密ca,当用户ukey丢失或损坏时,可以从ca处恢复密钥交换证书,并找回自己保存至云服务的全部文件。
103.本发明的ukey只用于存储数字证书,保证证书的安全。
104.本发明的密钥分级管理由ukey中存储的密钥交换证书中的公钥加密用户独有的主密钥,由主密钥加密文件密钥。主密钥在用户注册时为用户随机生成,文件密钥在用户上传文件至云服务器时随机生成。形成密钥层次结构,上层密钥加密下层密钥,用户只要直接使用ukey操作,就可以保证整个密钥体系的安全性。
105.本发明的用户登录时的双重认证为:在用户登录系统时,除了常规的用户口令认证外,还需要使用存储在ukey中的数字签名证书进行数字签名。在云存储服务器端,对数字签名证书的有效性以及数字签名的有效性进行认证。此双重认证方法保证了用户身份的可信任性。
106.本发明的用户文件以密文形式上传至云服务器存储。在用户上传文件时,系统会为当前文件随机生成文件密钥,用该文件密钥将文件加密后,再上传保存至云服务器。该文件密钥随后会由主密钥进行加密,以密文形式保存在云服务器。
107.本发明的文件下载过程为:用户使用主密钥解密由本人上传文件的文件密钥,进行文件下载。
108.本发明的文件分享过程为:用户首先使用自己的主密钥将该文件的文件密钥解密,再将此文件密钥用被分享用户的密钥交换证书中的公钥加密。此后,被分享用户可以使用ukey中存储的密钥交换证书私钥解密文件密钥,进行文件下载。
109.本发明的文件恢复过程为:将密钥交换证书托管至国密ca,当用户ukey丢失或损坏时,可以从ca处恢复密钥交换证书,并找回自己保存至云服务的全部文件。所述的支持密钥托管的加密云存储方法保证用户数据可追溯。
110.实施例2
111.本发明提供的支持密钥托管的加密云存储方法,包括:
112.签发数字证书。国密ca为签发独有的密钥交换证书和数字签名证书,这些证书与用户身份绑定,将证书导出并存储至ukey中,并将密钥交换证书托管至ca。
113.密钥分级管理。密钥分级管理由ukey中存储的密钥交换证书中的公钥加密用户独有的主密钥,由主密钥加密文件密钥。主密钥在用户注册时为用户随机生成,文件密钥在用户上传文件至云服务器时随机生成。形成密钥层次结构,上层密钥加密下层密钥,用户只要直接使用ukey操作,就可以保证整个密钥体系的安全性。
114.用户登录时采用双重认证。在用户登录系统时,除了常规的用户口令认证外,还需要使用存储在ukey中的数字签名证书进行数字签名。在云存储服务器端,对数字签名证书的有效性以及数字签名的有效性进行认证。此双重认证方法保证了用户身份的可信任性。即使用户口令泄露,只要攻击者没有持有存储用户数字签名证书的ukey,就无法冒充用户登录系统,窃取用户云上的数据。
115.用户文件以密文形式上传至云服务器存储。在用户上传文件时,系统会为当前文件随机生成文件密钥,用该文件密钥将文件加密后,再上传保存至云服务器。该文件密钥随后会由主密钥进行加密,以密文形式保存再云服务器。
116.文件下载。用户使用主密钥解密由本人上传文件的文件密钥,进行文件下载。
117.文件分享。用户首先使用自己的主密钥将该文件的文件密钥解密,再将此文件密钥用被分享用户的密钥交换证书中的公钥加密。此后,被分享用户可以使用ukey中存储的密钥交换证书私钥解密文件密钥,进行文件下载。
118.文件恢复。将密钥交换证书托管至国密ca,当用户ukey丢失或损坏时,可以从ca处恢复密钥交换证书,并找回自己保存至云服务的全部文件,保证用户数据可追溯。
119.实施例3
120.如图2所示,本发明方法由身份认证模块和密钥分层模块共同组成用户独有的密钥证书生成、密钥层级管理、密钥托管机制。同时,由文件上传、文件下载、文件共享组成数据安全存储和共享方法
121.国密ca为签发独有的密钥交换证书和数字签名证书,这些证书与用户身份绑定,将证书导出并存储至ukey中,并将密钥交换证书托管至ca。
122.所述方法的密钥管理部分采用分层结构,既保证了用户的安全性和专用性又增加了文件操作的灵活性和安全性。如图4所示,密钥分为3层结构,第一层为密钥交换证书公钥,第二层为主密钥,第三层为文件密钥。密钥交换证书公钥加密主密钥,主密钥加密文件密钥,上层密钥加密下层密钥。用户只需要使用ukey登陆系统,即可保护整个密钥分层系统的安全。除密钥交换证书公钥之外,其他密钥都会以密文形式在云端存储,这样既能提高操
作的灵活性,又可以保证密钥的安全性。而根据密码学理论,公钥本身是无需加密保存的,可以公开给任何人看到。
123.下面结合图5,进一步说明各层密钥之间的层级关系。
124.注册时将用户输入的用户名和口令并将ukey中的密钥交换证书和数字签名证书与当前用户身份进行绑定。口令仅作为用户登录时的验证凭证,经过hash变换可以保证云服务提供商无法得知用户的口令,做到云服务提供商对用户口令的零知晓。用户的主密钥是在注册时在浏览器内生成的,主密钥是随机生成的安全随机数。生成的主密钥由密钥交换证书的公钥进行加密,加密之后得到密钥文件,密钥文件上传至后台数据库存储。用户每次登录后,需要从后台数据库下载获得密钥文件,获取到的密钥文件用存储于ukey的密钥交换证书的私钥解密,得到主密钥明文。用户每次退出系统时都要从本地浏览器中清除主密钥记录,以保证用户主密钥不被泄漏,提高用户密钥的安全性。
125.第三层为文件密钥,每个文件都有自己对应的文件密钥。在文件进行上传操做之前,需要对文件进行加密处理,文件加密操作采用sm4对称加密算法,所需要的文件密钥是本地浏览器随机生成安全随机数。用生成的文件密钥加密文件获得文件密文。因为文件密钥数量庞大,为了便于文件密钥的管理与存储,将文件密钥与文件绑定在一起,因此文件密钥也需要做加密处理,用本地浏览器存储的主密钥加密文件密钥,生成文件密钥密文,生成的文件密钥密文与文件密文拼接后,上传到云服务器存储,这样便省去大量文件密钥的管理。
126.如图9所示,即使用户不慎丢失或损坏ukey,用户依然可以持本人有效的身份证明至国密ca处,重新获取托管至ca的密钥交换证书。由于密钥交换证书的公钥是整个密钥分层体系的最上层密钥,在获取该证书后,用户即可找回主密钥和全部的文件密钥,用户可以借此恢复全部上传至云服务器的文件。
127.本发明方法的用户认证部分采用双重认证方式。在用户登录系统时,除了常规的用户口令认证外,还需要使用存储在ukey中的数字签名证书进行数字签名。在云存储服务器端,对数字签名证书的有效性以及数字签名的有效性进行认证。此双重认证方法保证了用户身份的可信任性。即使用户口令不慎泄露,攻击者在没有持有存储与用户绑定的数字签名证书的ukey的情况下,也无法登录系统,窃取用户存储于云上的数据。
128.本发明方法的文件加密上传部分如图6所示。系统预先设定一个阈值,这个阈值定义为32m,基于该值采取不同的加密策略。如果用户上传的文件小于该阈值,则一次加密整个文件。反之,如果文件大于该值,则把文件分割成阈值大小的块,分块加密。首先浏览器随机生成一个安全随机数作为文件密钥,用户选择本地文件,利用刚刚生成的文件密钥加密文件。随后,将文件密钥用主密钥加密,再将文件密钥密文与文件内容密文拼接,存储于云服务器上。
129.文件加密在浏览器中进行,这保证了用户的隐私文件是在本地加密,随后以密文形式上传至云服务器的。即使攻击者在网络上拦截了上传的文件,也无法解密真实的明文信息。由于上传文件可能较大,加密时可能引起前端不能及时响应用户操作甚至内存溢出,加密上传模块采取两种措施解决上述问题。第一,针对加密大文件可能引起前端不能及时响应用户操作,模块在主线程中建立一个专门的worker,用该worker实施加密操作。主线程把文件密钥,初始向量和明文文件内容传递给worker,worker把加密后得到的明文送回主
线程。为了让worker能够辨别主线程送过来的是文件密钥和初始向量还是明文文件内容,在送给worker之前,主线程会先把文件密钥和初始向量转换成string类型,使它和arraybuffer类型的明文文件内容有所区别。第二,针对大文件内存溢出问题,模块在支持文件系统的浏览器中分块请求明文,分块加密明文,再上传。
130.本发明方法的文件解密下载部分如图7所示。用户从服务器请求下载的密文文件后,解密下载模块在客户端浏览器中解密密文文件,把解密得到的原始明文文件下载到本地。下载文件到本地之前,先把密文文件转换成明文文件。系统首先判断文件类型,根据文件是用户自己上传还是由其它用户分享,选择不同的方式解密文件密钥。如果是用户自己上传的文件,系统将从浏览器sessionstorage中读取主密钥,分隔文件密钥密文和文件内容密文,用主密钥解密文件密钥,再用解得的文件密钥和初始向量解密文件内容。对于别人分享过来的文件,浏览器发送ajax请求从文件共享文件表中取得共享文件密钥密文,然后调用ukey中存储的密钥交换证书私钥解密共享文件密钥得到真正的文件密钥,最后用解得的文件密钥和初始向量解密文件内容。在所有明文分块都已经解密并写入文件后,把代表该文件的fileentry转换成一个url,交给浏览器下载。
131.本发明方法的文件分享部分使得用户间的安全文件共享得以实现,即用户在分享文件的同时又能保证文件不会被泄露。分享过程如图8所示,根据分享的目标用户在后台服务器查找用户的密钥交换证书公钥。同时还需要获得分享文件的文件密钥密文,获取文件密钥密文需要提交ajax请求来完成。对于获取到的文件密钥密文用本地浏览器的内存中存储的主密钥,采用cbc解密得到文件密钥,获得文件密钥明文。对于得到的文件密钥要用对方的密钥交换证书的公钥进行加密生成分享文件密钥密文。分享时需要将分享的文件信息,分享目标,以及分享文件密钥密文等信息传递给后台php脚本,在数据库中做记录。当被分享用户登陆后,将先检查记录中是否有与自己相关的分享记录,如果有就对记录进行解析,在html界面中生成可视化列表,并指明文件来源。
132.本发明的密钥及文件恢复部分如图9所示,由ca签发的密钥交换证书将存储至硬件安全模块ukey中,同时密钥交换证书也托管至ca。一旦用户ukey丢失或损坏。用户可持有效身份证明至ca处恢复密钥交换证书,恢复的密钥交换证书将存储至新的ukey。用户可以通过新的ukey,使用文件恢复工具,将用户本人保存至云服务器的全部文件恢复至本地。
133.本发明所诉文件恢复过程,如图10所示,使用了存储在ukey中的密钥交换证书。具体操作如下:从后台数据库下载获得主密钥文件,获取到的密钥文件用存储于ukey的密钥交换证书的私钥解密,得到主密钥明文。由得到的主密钥,解密全部的文件密钥密文,得到文件密钥集合。然后利用得到的文件密钥集合批量下载并解密用户上传至云服务器的全部文件。
134.证明部分:
135.(1)证书签发模块:与用户身份绑定的密钥交换证书和数字签名证书由ca签发和背书,保证了证书的有效性和可靠性。
136.(2)密钥分级管理模块:整个系统的密钥和文件安全均由顶层的密钥交换证书加密保护,用户只需持有存储该证书的硬件安全模块ukey,即可保证全部密钥和文件的安全。同时,除用户持有的存储密钥交换证书的ukey外,所有的密钥都以密文形式存储在云服务器。即使服务器遭遇网络攻击,攻击者也不能获取密钥。这解决了用户对于当今云服务器存
储的不信任问题。
137.(3)身份验证模块:采用双重身份验证,保证即使用户口令泄露或ukey遗失。攻击者只要未能同时拥有两者,就不能冒充用户访问系统。
138.(4)文件保存模块:用户欲上传的文件均在用户浏览器端进行加密后,再上传至云服务器。即使在上传过程中,文件被攻击者拦截,或文件在服务器遭到网络攻击后泄露,攻击者也不能解密文件得到实际数据。这解决了用户对于当今云服务器存储的不信任问题。
139.(5)文件下载模块:文件解密同样在用户浏览器端进行,即使在下载过程中,文件被攻击者拦截,攻击者也不能解密文件得到实际数据。这解决了用户对于当今云服务器存储的不信任问题。
140.(6)文件分享模块:利用密钥交换证书的公私钥进行文件密钥交换,保证了文件密钥的安全性。文件分享操作同样在用户浏览器端进行,被分享文件的文件密钥均以密文形式在网络中传递,并以密文形式存储于云服务器上。这解决了用户对于当今云服务器存储的不信任问题。
141.(7)文件恢复模块:密钥托管给出了一种密钥恢复的渠道。在用户用于存储密钥交换证书的ukey丢失或损坏时,用户可以持有效身份证明至ca处恢复密钥证书并存储在新的ukey中。利用文件恢复工具,用户可以恢复此前上传至云服务器保存的全部文件。用户不必担心由于硬件安全模块ukey的物理损坏而丢失自己的全部文件。
142.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
143.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜