数据安全存储方法及用户设备
技术领域
本发明涉及数据安全技术领域,特别涉及一种数据安全存储方法及用户设备。
背景技术
随着云存储应用的推广,越来越多的用户开始使用云存储系统存放数据.云存储系统能够为用户提供数据备份、数据共享、数据同步以及用户间协同工作等功能。
然而,近年来频发的云存储系统安全问题说明:现有的云存储系统存在着一些漏洞,导致用户数据的私密性、完整性受到一定的威胁。
一些云存储系统仅采用用户名和pin码保护强度不够,只是设置了一个访问控制,很容易突破、被绕行,而通过盗用该用户名和密码的方式入侵系统,接管控制权限。
并且,一些云存储系统虽然以密文的形式存放数据,但服务器拥有用户的所有密钥,仍然能够随时访问或篡改用户数据;
另外,一些云存储系统虽然以密文形式存放数据,但是所有数据采用同一个密钥,一旦这个密钥被破解或发生泄漏,云上的所有数据都存在泄密风险。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种数据安全存储方法及一种用户设备。
依据本发明的第一个方面,提供了一种数据安全存储方法,所述方法包括:
由随机数发生器产生一个随机数作为第一文件密钥;
对存储文件数据通过所述第一文件密钥进行对称加密,得到密态数据;
通过本地设备标识从标识公钥矩阵中获取对应的第一标识公钥;
采用所述第一标识公钥对所述第一文件密钥进行非对称加密,得到第一密钥文件;
将所述第一密钥文件和密态数据进行数据打包,得到数据包;
将所述数据包上传至存储中心。
可选地,所述方法还包括:
接收从存储中心下载的数据包;
对所述数据包进行数据解包,得到第一密钥文件和密态数据;
通过本地设备的第一标识私钥对所述第一密钥文件进行解密,得到第一文件密钥;
通过所述第一文件密钥对所述密态数据进行解密,得到存储文件数据的明文。
可选地,所述将所述密钥文件和密态数据进行数据打包,得到数据包,具体包括:
获取所述存储文件数据的第一HASH值;
将所述第一HASH值上传至所述存储中心,以使所述存储中心根据所述第一HASH值判断其是否存在相同的存储文件数据;
接收所述存储中心发送的反馈数据;
在所述反馈数据表征不存在相同的存储文件数据时,通过所述第一HASH值对所述文件密钥进行加密,得到第一HASH密钥,再将所述密钥文件、密态数据、第一HASH密钥和第一HASH值进行数据打包,得到所述数据包;
在所述反馈数据表征存在相同的存储文件数据时,从所述反馈数据中获取所述相同的存储文件数据对应的第二HASH密钥,通过所述第一HASH值对所述第二HASH密钥进行解密,得到第二文件密钥,再采用所述第一标识公钥对所述第二文件密钥进行非对称加密,得到第二密钥文件,将文件名称及所述第二密钥文件进行数据打包,得到所述数据包。
可选地,所述方法还包括:
从存储中心获取待分享存储文件数据的第三密钥文件;
通过本地设备的第一标识私钥对所述第三密钥文件进行解密,得到第三文件密钥;
根据待分享用户ID查找对应的待分享用户设备标识;
通过所述待分享用户设备标识从标识公钥矩阵中获取对应的第二标识公钥;
采用所述第二标识公钥对所述第三文件密钥进行非对称加密,得到第四密钥文件;
将所述第四密钥文件、待分享用户ID和所述分享存储文件数据的文件地址进行数据打包,得到第一文件分享数据包;
将所述第一文件分享数据包发送至管理中心,以使所述管理中心根据所述待分享用户ID将所述第一文件分享数据包转发至所述待分享用户设备。
可选地,所述方法还包括:
接收管理中心发送来的第二文件分享数据包;
对第二文件分享数据包进行解包,得到第五密钥文件和所述待分享存储文件数据的文件地址;
根据本地设备的第一标识私钥对所述第五密钥文件进行解密,得到第五文件密钥;
根据所述待分享存储文件数据的文件地址从所述存储中心获取对应的密态数据;
根据所述第五文件密钥对获取的密态数据进行解密,得到所述待分享存储文件数据的明文。
依据本发明的第二个方面,提供了一种用户设备,所述用户设备包括:
密钥产生单元,用于由随机数发生器产生一个随机数作为第一文件密钥;
对称加密单元,用于对存储文件数据通过所述第一文件密钥进行对称加密,得到密态数据;
第一公钥获取单元,用于通过本地设备标识从标识公钥矩阵中获取对应的第一标识公钥;
第一非对称加密单元,用于采用所述第一标识公钥对所述第一文件密钥进行非对称加密,得到第一密钥文件;
第一数据打包单元,用于将所述第一密钥文件和密态数据进行数据打包,得到数据包;
数据上传单元,用于将所述数据包上传至存储中心。
可选地,所述用户设备还包括:
第一数据接收单元,用于接收从存储中心下载的数据包;
第一数据解包单元,用于对所述数据包进行数据解包,得到第一密钥文件和密态数据;
第一密钥解密单元,用于通过本地设备的第一标识私钥对所述第一密钥文件进行解密,得到第一文件密钥;
第一数据解密单元,用于通过所述第一文件密钥对所述密态数据进行解密,得到存储文件数据的明文。
可选地,所述第一数据打包单元,具体用于获取所述存储文件数据的第一HASH值;将所述第一HASH值上传至所述存储中心,以使所述存储中心根据所述第一HASH值判断其是否存在相同的存储文件数据;接收所述存储中心发送的反馈数据;在所述反馈数据表征不存在相同的存储文件数据时,通过所述第一HASH值对所述文件密钥进行加密,得到第一HASH密钥,再将所述密钥文件、密态数据、第一HASH密钥和第一HASH值进行数据打包,得到所述数据包;在所述反馈数据表征存在相同的存储文件数据时,从所述反馈数据中获取所述相同的存储文件数据对应的第二HASH密钥,通过所述第一HASH值对所述第二HASH密钥进行解密,得到第二文件密钥,再采用所述第一标识公钥对所述第二文件密钥进行非对称加密,得到第二密钥文件,将文件名称及所述第二密钥文件进行数据打包,得到所述数据包。
可选地,所述用户设备还包括:
文件获取单元,用于从存储中心获取待分享存储文件数据的第三密钥文件;
第二密钥解密单元,用于通过本地设备的第一标识私钥对所述第三密钥文件进行解密,得到第三文件密钥;
标识查找单元,用于根据待分享用户ID查找对应的待分享用户设备标识;
第二公钥获取单元,用于通过所述待分享用户设备标识从标识公钥矩阵中获取对应的第二标识公钥;
第二非对称加密单元,用于采用所述第二标识公钥对所述第三文件密钥进行非对称加密,得到第四密钥文件;
第一数据打包单元,用于将所述第四密钥文件、待分享用户ID和所述分享存储文件数据的文件地址进行数据打包,得到第一文件分享数据包;
数据发送单元,用于将所述第一文件分享数据包发送至管理中心,以使所述管理中心根据所述待分享用户ID将所述第一文件分享数据包转发至所述待分享用户设备。
可选地,所述用户设备还包括:
第二数据接收单元,用于接收管理中心发送来的第二文件分享数据包;
第二数据解包单元,用于对第二文件分享数据包进行解包,得到第五密钥文件和所述待分享存储文件数据的文件地址;
第三密钥解密单元,用于根据本地设备的第一标识私钥对所述第五密钥文件进行解密,得到第五文件密钥;
数据获取单元,用于根据所述待分享存储文件数据的文件地址从所述存储中心获取对应的密态数据;
第二数据解密单元,用于根据所述第五文件密钥对获取的密态数据进行解密,得到所述待分享存储文件数据的明文。
本发明实现了一文一密的加密策略,在出现用户使用不当导致某文件泄密的情况下,也不会影响其他密文的安全,从而提高了数据安全性。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明一种实施方式的数据安全存储方法的流程图;
图2是密钥生产的流程示意图;
图3是本发明另一种实施方式的数据安全存储方法的流程图;
图4是本发明再一种实施方式的数据安全存储方法的流程图;
图5是本发明又一种实施方式的数据安全存储方法的流程图;
图6是本发明还一种实施方式的数据安全存储方法的流程图;
图7是本发明一种实施例的数据安全存储方法的流程图;
图8是本发明一种实施例的文件去重流程图;
图9是本发明一种实施例的用户设备A的密态文件分享流程图;
图10是本发明一种实施例的管理中心的密态文件分享流程图;
图11是本发明一种实施例的用户设备B的密态文件分享流程图;
图12是本发明一种实施方式的用户设备的结构框图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1是本发明一种实施方式的数据安全存储方法的流程图;参照图1,所述方法包括:
S101:由随机数发生器产生一个随机数作为第一文件密钥。
需要说明的是,本实施方式的方法的执行主体为用户设备,所述用户设备可为PC机、笔记本电脑、平板电脑或智能手机等设备,本实施方式对此不加以限制。
可理解的是,由于本实施方式中采用产生的随机数作为信道密码,使得信道密码为动态密码,从而提高了数据的安全性。
在具体实现中,所述随机数可采用伪随机数,也可优选采用真随机数,本实施方式对此不加以限制。
S102:对存储文件数据通过所述第一文件密钥进行对称加密,得到密态数据。
需要说明的是,对存储文件数据通过所述第一文件密钥进行对称加密,即可得到密态数据,也就是说,所述密态数据是对所述存储文件数据进行对称加密后的数据。
S103:通过本地设备标识从标识公钥矩阵中获取对应的第一标识公钥。
可理解的是,所述用户设备中设有产品或用户数字证书,所述数字证书包括:标识公钥矩阵和本地设备的第一标识私钥。
为便于生成所述数字证书,本实施方式中,参照图2,可预先通过专用研制的密钥生产系统生产出标识私钥矩阵和标识公钥矩阵,将产品或用户标识(即用于反映产品身份的标识,或用于反映用户身份的标识)作为用户设备标识,并HASH到标识私钥矩阵通过模N整数运算生成本地设备的第一标识私钥,然后连同标识公钥矩阵一起生成产品或者用户数字证书。
在本实施方式中,所述本地设备即指代用户设备。
当然,所述数字证书可采用密态软件数据形式直接写入到产品中使用,或者写入到标识USBKEY内发放给用户使用。
所述标识USBKEY包括但不限于TF卡KEY和SIM卡KEY,均由对符合国密认证并许可的专用安全芯片(例如:HS08K、HS32U2、Z8D64、Z8168或Z32)作进一步研制生产而成,并在产品和用户应用过程中完成对产品或者用户标识和数据、指令等信息的数字签名和加密。
所述数字证书或标识密钥符合组合公钥密码体制的证书规范。
S104:采用所述第一标识公钥对所述第一文件密钥进行非对称加密,得到第一密钥文件。
可理解的是,所述第一标识公钥为与本地设备标识对应的标识公钥,也就是说,所述第一标识公钥与本地设备标识之间存在一一对应关系。
需要说明的是,采用所述第一标识公钥对所述第一文件密钥进行非对称加密,即可得到第一密钥文件,也就是说,所述第一密钥文件是对所述第一文件密钥进行非对称加密后的文件。
S105:将所述第一密钥文件和密态数据进行数据打包,得到数据包。
可理解的是,将所述第一密钥文件和密态数据进行数据打包,即可得到数据包,也就是说,所述数据包是将所述第一密钥文件和密态数据进行数据打包后的数据。
在具体实现中,可将所述第一密钥文件和密态数据通过私有协议算法进行数据打包。
S106:将所述数据包上传至存储中心。
需要说明的是,可通过有线、无线等通信方式将所述数据包上传至存储中心。
本实施方式实现了一文一密的加密策略,在出现用户使用不当导致某文件泄密的情况下,也不会影响其他密文的安全,从而提高了数据安全性。
图3是本发明另一种实施方式的数据安全存储方法的流程图;参照图3,所述方法包括:
S301:由随机数发生器产生一个随机数作为第一文件密钥。
S302:对存储文件数据通过所述第一文件密钥进行对称加密,得到密态数据。
S303:通过本地设备标识从标识公钥矩阵中获取对应的第一标识公钥。
S304:采用所述第一标识公钥对所述第一文件密钥进行非对称加密,得到第一密钥文件。
S305:将所述第一密钥文件和密态数据进行数据打包,得到数据包。
S306:将所述数据包上传至存储中心。
需要说明的是,步骤S301~S306与图1所示的实施方式的步骤S101~S106相同,在此不再赘述。
可理解的是,本实施方式的方法的执行主体同样为用户设备。
S307:接收从存储中心下载的数据包;
在具体实现中,在将所述数据包上传至存储中心后,在需要读取所述存储文件数据时,需要先接收从存储中心下载的数据包。
S308:对所述数据包进行数据解包,得到第一密钥文件和密态数据;
可理解的是,由于所述数据包是将所述第一密钥文件和密态数据进行数据打包获得,故而,在对所述数据包进行数据解包后,可得到第一密钥文件和密态数据。
S309:通过本地设备的第一标识私钥对所述第一密钥文件进行解密,得到第一文件密钥;
可理解的是,所述第一密钥文件由用户设备采用与第一标识私钥所对应的标识公钥(即上述的“第一标识公钥”)进行非对称加密,故而,可通过所述第一标识私钥对所述第一密钥文件进行解密。
当然,所述第一标识私钥与第一标识公钥之间存在对应关系,也就是说,所述第一标识私钥与第一标识公钥之间可相互进行加解密。
S310:通过所述第一文件密钥对所述密态数据进行解密,得到存储文件数据的明文。
需要说明的是,所述密态数据是对所述存储文件数据通过所述第一文件密钥进行对称加密后的数据,故而,可通过所述第一文件密钥对所述密态数据进行解密,从而得到存储文件数据的明文。
图4是本发明再一种实施方式的数据安全存储方法的流程图;参照图4,所述方法包括:
S401:由随机数发生器产生一个随机数作为第一文件密钥。
S402:对存储文件数据通过所述第一文件密钥进行对称加密,得到密态数据。
S403:通过本地设备标识从标识公钥矩阵中获取对应的第一标识公钥。
S404:采用所述第一标识公钥对所述第一文件密钥进行非对称加密,得到第一密钥文件。
需要说明的是,步骤是S401~S404与图1所示的实施方式的步骤S101~S104相同,在此不再赘述。
可理解的是,本实施方式的方法的执行主体同样为用户设备。
S405:获取所述存储文件数据的第一HASH值。
可理解的是,为了防止数据的重复上传,导致数据流量浪费以及网络资源占用,本实施方式中,会先获取所述存储文件数据的第一HASH值。
S406:将所述第一HASH值上传至所述存储中心,以使所述存储中心根据所述第一HASH值判断其是否存在相同的存储文件数据。
需要说明的是,在获取所述第一HASH值后,可将所述第一HASH值上传至所述存储中心,当然,所述存储中心中存储有已上传存储文件数据的HASH值,在所述存储中心接收到所述第一HASH值后,可将所述第一HASH值与已上传存储文件数据的HASH值进行比较,由于相同数据的HASH值也相同,故而,若存储文件数据中存在与第一HASH值相同的HASH值,则认定所述存储中心存在相同的存储文件数据,反之,若存储文件数据中不存在与第一HASH值相同的HASH值,则认定所述存储中心不存在相同的存储文件数据。
S407:接收所述存储中心发送的反馈数据。
可理解的是,所述存储中心在进行HASH值比较后,为向所述用户设备反馈其判断结果,所述存储中心会向所述用户设备发送反馈数据。
S408:在所述反馈数据表征不存在相同的存储文件数据时,通过所述第一HASH值对所述文件密钥进行加密,得到第一HASH密钥,再将所述密钥文件、密态数据、第一HASH密钥和第一HASH值进行数据打包,得到所述数据包。
需要说明的是,在所述反馈数据表征不存在相同的存储文件数据时,可直接按照正常的上传过程,也就是说,通过所述第一HASH值对所述文件密钥进行加密,得到第一HASH密钥,再将所述密钥文件、密态数据、第一HASH密钥和第一HASH值进行数据打包,得到所述数据包。
S409:在所述反馈数据表征存在相同的存储文件数据时,从所述反馈数据中获取所述相同的存储文件数据对应的第二HASH密钥,通过所述第一HASH值对所述第二HASH密钥进行解密,得到第二文件密钥,再采用所述第一标识公钥对所述第二文件密钥进行非对称加密,得到第二密钥文件,将文件名称等信息及所述第二密钥文件进行数据打包,得到所述数据包。
可理解的是,在所述反馈数据表征存在相同的存储文件数据时,所述反馈数据中还包括所述相同的存储文件数据对应的第二HASH密钥,并且,通过所述第一HASH值对所述第二HASH密钥进行解密,得到第二文件密钥,再采用所述第一标识公钥对所述第二文件密钥进行非对称加密,得到第二密钥文件,将文件名称等信息及所述第二密钥文件进行数据打包,得到所述数据包,也就是说,无需上传密态数据。
S410:将所述数据包上传至存储中心。
需要说明的是,步骤S410与图1所示的实施方式的步骤S106相同,在此不再赘述。
图5是本发明又一种实施方式的数据安全存储方法的流程图;参照图5,所述方法包括:
S501:由随机数发生器产生一个随机数作为第一文件密钥。
S502:对存储文件数据通过所述第一文件密钥进行对称加密,得到密态数据。
S503:通过本地设备标识从标识公钥矩阵中获取对应的第一标识公钥。
S504:采用所述第一标识公钥对所述第一文件密钥进行非对称加密,得到第一密钥文件。
S505:将所述第一密钥文件和密态数据进行数据打包,得到数据包。
S506:将所述数据包上传至存储中心。
需要说明的是,步骤S501~S506与图1所示的实施方式的步骤S101~S106相同,在此不再赘述。
可理解的是,本实施方式的方法的执行主体同样为用户设备。
S507:从存储中心获取待分享存储文件数据的第三密钥文件。
可理解的是,为了将待分享存储文件数据分享至另一用户设备,可先从存储中心获取待分享存储文件数据的第三密钥文件,所述待分享存储文件数据可以为步骤S501~S506所上传的存储文件数据,此时,第三密钥文件即为第一密钥文件,当然,所述待分享存储文件数据也可以为之前上传存储中心的存储文件数据,本实施方式对此不加以限制。
S508:通过本地设备的第一标识私钥对所述第三密钥文件进行解密,得到第三文件密钥。
需要说明的是,由于所述存储中心可能存在所述用户设备的多个存储文件数据对应的数据包,在进行存储文件数据分享时,需要先将所述第三密钥文件进行解密。
可理解的是,由于所述待分享存储文件数据也是由所述用户设备上传至所述存储中心的,故而,所述第三密钥文件也是由所述用户设备通过第一标识公钥进行非对称加密的,因此,可通过第一标识私钥对所述第三密钥文件进行解密。
S509:根据待分享用户ID查找对应的待分享用户设备标识。
需要说明的是,由于用户ID与用户设备存在对应关系,故而,可根据待分享用户ID查找对应的待分享用户设备(即对应上述的“另一用户设备”)标识。
S510:通过所述待分享用户设备标识从标识公钥矩阵中获取对应的第二标识公钥。
可理解的是,所述第二标识公钥为与待分享用户设备标识对应的标识公钥,也就是说,所述第二标识公钥与待分享用户设备标识之间存在一一对应关系。
S511:采用所述第二标识公钥对所述第三文件密钥进行非对称加密,得到第四密钥文件。
需要说明的是,采用所述第二标识公钥对所述第三文件密钥进行非对称加密,即可得到第四密钥文件,也就是说,所述第四密钥文件是对所述第三文件密钥进行非对称加密后的文件。
S512:将所述第四密钥文件、待分享用户ID和所述分享存储文件数据的文件地址进行数据打包,得到第一文件分享数据包。
S513:将所述第一文件分享数据包发送至管理中心,以使所述管理中心根据所述待分享用户ID将所述第一文件分享数据包转发至所述待分享用户设备。
为保证所述管理中心与所述用户设备之间的数据安全,可在数据传输之前,先进行安全认证,约定信道密钥,从而采用约定的信道密码对传输的数据进行加解密,当然,不同的用户设备与管理中心之间可约定不同的信道密钥。
图6是本发明还一种实施方式的数据安全存储方法的流程图;参照图6,所述方法包括:
S601:由随机数发生器产生一个随机数作为第一文件密钥。
S602:对存储文件数据通过所述第一文件密钥进行对称加密,得到密态数据。
S603:通过本地设备标识从标识公钥矩阵中获取对应的第一标识公钥。
S604:采用所述第一标识公钥对所述第一文件密钥进行非对称加密,得到第一密钥文件。
S605:将所述第一密钥文件和密态数据进行数据打包,得到数据包。
S606:将所述数据包上传至存储中心。
需要说明的是,步骤S601~S606与图1所示的实施方式的步骤S101~S106相同,在此不再赘述。
可理解的是,本实施方式的方法的执行主体同样为用户设备。
S607:接收管理中心发送来的第二文件分享数据包。
可理解的是,在图5所示的实施方式中,用户设备是将其存储文件数据分享给另一用户设备,但所述用户设备也可能接收到其他用户设备所分享过来的存储而文件数据,该过程可理解为与数据分享相反的逆向过程,先接受管理中心发送来的第二文件分享数据包。
S608:对第二文件分享数据包进行解包,得到第五密钥文件和所述待分享存储文件数据的文件地址。
需要说明的是,文件分享数据包通常是由密钥文件、文件地址和用户ID所组成,但由于用户ID通常用于文件分享数据包的转发,故而,本步骤在进行解包时,只需要获得所述五密钥文件和所述待分享存储文件数据的文件地址即可。
S609:根据本地设备的第一标识私钥对所述第五密钥文件进行解密,得到第五文件密钥。
需要说明的是,根据本地设备的第一标识私钥对所述第五密钥文件进行解密,即可得到第五文件密钥,也就是说,所述第五文件密钥是对所述第五密钥文件进行解密后的密钥。
S610:根据所述待分享存储文件数据的文件地址从所述存储中心获取对应的密态数据。
S611:根据所述第五文件密钥对获取的密态数据进行解密,得到所述待分享存储文件数据的明文。
参照图7,上传数据通过随机数生成的对称密钥加密得到A密态数据,然后与经过A标识公钥非对称加密的对称密码打包上传到存储中心,存储中心将此密态数据包作为文件保存。下载的流程与上传过程相反,对称密码(即对应上述的“文件密钥”)是通过A标识私钥对A密钥文件进行非对称解密得到的。
由图7可以看出针对每个文件都会生成一个随机数对称密钥,通过这个方法实现了对文件的一文一密保护。
需要指出的是每次文件上传前会首先判断此文件是否已被其他用户或自己上传到存储中心,如果未上传则执行图7所示的上传流程,如果已上传则执行去重上传操作,如下面所描述。
密态文件去重的基本原理为:当不同用户拥有同样的文件时,这个文件的HASH值是一样的,在保存密态文件时,同时保存此文件的HASH值和经HASH值加密得到的文件HASH密钥(如图7所示)。当用户设备N上传文件时,首先判断存储中心是否具有与欲上传文件同样HASH值得文件,如果有,则将此文件的HASH密钥返回给这个用户设备,用户设备通过文件的HASH值解密此HASH密钥得到文件的加密密钥,而后使用用户设备N的标识公钥非对称加密此文件密钥得到密钥文件,将此密钥文件与文件路径等信息打包上传到存储中心。通过这个流程用户设备N只需要生成文件对应的密钥文件,而无需再次上传密钥文件本身。这样就实现了文件的去重上传,整个流程如图8所示。
加密云盘需要解决的一个问题是文件分享问题,本实施例基于标识密钥体系很好的解决了这个问题。图9~11,显示了用户设备A分享文件给用户设备B的流程。
由图9~11可以看出文件分享的基本流程为(以用户设备A分享文件给用户设备B为例):
(1)用户设备A由存储中心下载欲分享文件的密钥文件,采用A标识私钥解密后得到文件加密的对称密钥,然后将此密钥采用B标识公钥加密得到B密钥文件,将此密钥文件、接收人ID、文件地址等信息打包,通过信道密钥A加密,然后发送到管理中心。
(2)管理中心接收到用户设备A发送来的文件分享请求,会先通过信道密钥A解密数据包,并提取接收人ID,查找匹配到用户设备B,然后将此分享请求发送到用户设备B。
(3)用户设备B接收到文件分享消息,先通过信道密钥解密数据包,从中提取出B密钥文件和文件地址等信息,通过非对称解密得到分享文件的对称密钥,通过文件地址由存储中心下载得到文件密态数据,然后通过对称密钥解密得到分享的文件明文。
与现有技术的方式相比,上述各实施例具有以下至少一种优点:
1、采用Pin码验证和标识密钥双因子身份验证,提高安全级别;
2、采用随机数产生文件加密的对称密码,可以做到一文一密;
3、使用非对称算法对对称密码进行加密,提高了对称密码的安全。
4、对加密后的文件再次利用加密者的标识私钥进行数字签名,确保了数据在传输途中的安全性,防篡改。
5、把密钥文件和密文数据合并,方便了文件的传递。
6、基于标识密钥体系分享密态文件,确保文件的安全性,又提供了非常便利的分享方式、
7、在每个端,都通过其自己的数字证书,基于用户标识提取该标识公钥,实现了离线方式的本地密钥交换,极大的方便了系统的应用和高强度安全保障。
8、构建了整个云存储系统的信息数据,指令在任何平台和模式下都是全密态传输和交互的体系。
图12是本发明一种实施方式的用户设备的结构框图;参照图12,所述用户设备包括:
密钥产生单元1201,用于由随机数发生器产生一个随机数作为第一文件密钥;
对称加密单元1202,用于对存储文件数据通过所述第一文件密钥进行对称加密,得到密态数据;
第一公钥获取单元1203,用于通过本地设备标识从标识公钥矩阵中获取对应的第一标识公钥;
第一非对称加密单元1204,用于采用所述第一标识公钥对所述第一文件密钥进行非对称加密,得到第一密钥文件;
第一数据打包单元1205,用于将所述第一密钥文件和密态数据进行数据打包,得到数据包;
数据上传单元1206,用于将所述数据包上传至存储中心。
在本发明一种可选实施例中,所述用户设备还包括:
第一数据接收单元,用于接收从存储中心下载的数据包;
第一数据解包单元,用于对所述数据包进行数据解包,得到第一密钥文件和密态数据;
第一密钥解密单元,用于通过本地设备的第一标识私钥对所述第一密钥文件进行解密,得到第一文件密钥;
第一数据解密单元,用于通过所述第一文件密钥对所述密态数据进行解密,得到存储文件数据的明文。
在本发明一种可选实施例中,所述第一数据打包单元,具体用于获取所述存储文件数据的第一HASH值;将所述第一HASH值上传至所述存储中心,以使所述存储中心根据所述第一HASH值判断其是否存在相同的存储文件数据;接收所述存储中心发送的反馈数据;在所述反馈数据表征不存在相同的存储文件数据时,通过所述第一HASH值对所述文件密钥进行加密,得到第一HASH密钥,再将所述密钥文件、密态数据、第一HASH密钥和第一HASH值进行数据打包,得到所述数据包;在所述反馈数据表征存在相同的存储文件数据时,从所述反馈数据中获取所述相同的存储文件数据对应的第二HASH密钥,通过所述第一HASH值对所述第二HASH密钥进行解密,得到第二文件密钥,再采用所述第一标识公钥对所述第二文件密钥进行非对称加密,得到第二密钥文件,将文件名称及所述第二密钥文件进行数据打包,得到所述数据包。
在本发明一种可选实施例中,所述用户设备还包括:
文件获取单元,用于从存储中心获取待分享存储文件数据的第三密钥文件;
第二密钥解密单元,用于通过本地设备的第一标识私钥对所述第三密钥文件进行解密,得到第三文件密钥;
标识查找单元,用于根据待分享用户ID查找对应的待分享用户设备标识;
第二公钥获取单元,用于通过所述待分享用户设备标识从标识公钥矩阵中获取对应的第二标识公钥;
第二非对称加密单元,用于采用所述第二标识公钥对所述第三文件密钥进行非对称加密,得到第四密钥文件;
第一数据打包单元,用于将所述第四密钥文件、待分享用户ID和所述分享存储文件数据的文件地址进行数据打包,得到第一文件分享数据包;
数据发送单元,用于将所述第一文件分享数据包发送至管理中心,以使所述管理中心根据所述待分享用户ID将所述第一文件分享数据包转发至所述待分享用户设备。
在本发明一种可选实施例中,所述用户设备还包括:
第二数据接收单元,用于接收管理中心发送来的第二文件分享数据包;
第二数据解包单元,用于对第二文件分享数据包进行解包,得到第五密钥文件和所述待分享存储文件数据的文件地址;
第三密钥解密单元,用于根据本地设备的第一标识私钥对所述第五密钥文件进行解密,得到第五文件密钥;
数据获取单元,用于根据所述待分享存储文件数据的文件地址从所述存储中心获取对应的密态数据;
第二数据解密单元,用于根据所述第五文件密钥对获取的密态数据进行解密,得到所述待分享存储文件数据的明文。
对于装置实施方式而言,由于其与方法实施方式基本相似,所以描述的比较简单,相关之处参见方法实施方式的部分说明即可。
应当注意的是,在本发明的装置的各个部件中,根据其要实现的功能而对其中的部件进行了逻辑划分,但是,本发明不受限于此,可以根据需要对各个部件进行重新划分或者组合。
本发明的各个部件实施方式可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本装置中,PC通过实现因特网对设备或者装置远程控制,精准的控制设备或者装置每个操作的步骤。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样实现本发明的程序可以存储在计算机可读介质上,并且程序产生的文件或文档具有可统计性,产生数据报告等。应该注意的是上述实施方式对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施方式。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。