一种基于CPK认证的数据加密与存储方法及装置与流程

文档序号:11236579阅读:805来源:国知局
一种基于CPK认证的数据加密与存储方法及装置与流程

本发明属于数据加密认证技术领域,尤其涉及一种基于cpk认证的数据加密与存储方法及装置。



背景技术:

cpk即(combinedpublickey组合公钥)密钥体系,cpk组合公钥提供了将现存的公钥体制变为基于标识的公钥体制的一种通用方法。只有基于标识的公钥体制,才能将密钥生成和密钥分发有机统一起来,大大简化了密钥管理,同时为防止量子计算的穷举攻击提供了可能。

随着计算机技术的发展,人们越来越多的日常生活及工作交流都通过计算机来完成,同时通过网络进行沟通,这使得数据的加密与存储安全变得举足轻重。

越来越多的加密技术和加密软件应用于数据加密与储存领域,但是常用的加密软件或者加密技术对文件加密强度不够,可以被逆向或者暴力破解,同时加密后的文件一般存储于本地硬盘,易于丢失。

为提高加密强度,在一些加密领域使用pki技术进行加密(publickeyinfrastructure公钥基础设施),pki是基于传统公钥密码的证书认证体系进行加密认证,其加密强度高,即使截获了加密数据,由于没有私钥,也难于破解,但是pki认证体系需要第三方信任中心的支持,同时其认证效率低,建设维护成本高。

因此,现有技术还有待发展。



技术实现要素:

本发明实施例提供一种基于cpk认证的数据加密与存储方法及装置,旨在解决现有常用的加密软件或者加密技术对文件加密强度不够,可以被逆向或者暴力破解,加密文件存储于本地硬盘易于丢失,同时pki认证体系需要第三方信任中心的支持,认证效率低,建设维护成本高的问题。

本发明实施例是这样实现的,一种基于cpk认证的数据加密与存储方法,其中,所述方法包括下述步骤:

连接智能设备与具有存储介质的终端设备,所述终端设备内存储有基于cpk技术的加密软件;

所述加密软件获取所述终端设备内预先存储的用户标识并将所述用户标识发送至云端服务器或本地证书管理中心进行cpk验证,所述用户标识包括智能设备硬盘id、终端设备id、用户登录账户名和密码、用户手机号或者用户邮箱;

cpk验证通过则可在所述智能设备的存储介质或终端设备的存储介质中建立、删除、查看、及读写虚拟磁盘;当所述加密软件关闭时,所述虚拟磁盘自动隐藏;

将待加密文件数据存储至所述虚拟磁盘,所述加密软件对写入所述虚拟磁盘的待加密文件数据采用cpk技术进行加密,同时上传所述加密后的文件至云端服务器。

进一步的,所述用户标识发送至云端服务器进行cpk验证包括下述步骤:

获取用户标识,以及从标识公钥矩阵和标识私钥矩阵中获取对应公钥和私钥,将所述用户标识、公钥、私钥通过cpk技术生成密态的用户数字证书,并存储于终端设备;

将所述用户数字证书发送至云端服务器或本地的证书管理中心,所述证书管理中心对所述用户数字证书进行cpk技术解密,比对所述用户登录账户名及密码信息;

当解密后的用户登录账户名及密码与预存的用户数字证书中的账户名及密码相同,则验证通过。

进一步的,所述加密软件对写入所述虚拟磁盘的待加密文件数据采用cpk技术进行加密过程包括下述步骤:

由随机数发生器产生一个随机数作为第一文件密钥;

对待加密文件数据通过所述第一文件密钥进行对称加密,得到密态数据;

通过本地设备标识从标识公钥矩阵中获取对应的第一标识公钥;

采用所述第一标识公钥对所述第一文件密钥进行非对称加密,得到第一密钥文件;

将所述第一密钥文件和密态数据进行数据打包,得到数据包,存储于本地设备的存储空间;

将所述数据包上传至云端服务器的存储中心,并同步更新本地设备存储空间内的数据包。

进一步的,将所述密钥文件和密态数据进行数据打包,得到数据包,具体包括下述步骤:

获取所述待加密文件数据的第一hash值;

将所述第一hash值上传至所述存储中心,以使所述存储中心根据所述第一hash值判断其是否存在相同的存储文件数据;

接收所述存储中心发送的反馈数据;

在所述反馈数据表征不存在相同的存储文件数据时,通过所述第一hash值对所述文件密钥进行加密,得到第一hash密钥,再将所述密钥文件、密态数据、第一hash密钥和第一hash值进行数据打包,得到所述数据包;

在所述反馈数据表征存在相同的存储文件数据时,从所述反馈数据中获取所述相同的存储文件数据对应的第二hash密钥,通过所述第一hash值对所述第二hash密钥进行解密,得到第二文件密钥,再采用所述第一标识公钥对所述第二文件密钥进行非对称加密,得到第二密钥文件,将文件名称及所述第二密钥文件进行数据打包,得到所述数据包。

进一步的,所述智能设备包括本地计算机或者智能手机。

本发明实施还提供一种基于cpk认证的数据加密与存储装置,其中,所述装置包括:

连接模块,用于连接智能设备与具有存储介质的终端设备,所述终端设备内存储有基于cpk技术的加密软件;

验证模块,用于所述加密软件获取所述终端设备内预先存储的用户标识并将所述用户标识发送至云端服务器进行cpk验证,所述用户标识包括智能设备硬盘id、终端设备id、用户登录账户名和密码、用户手机号或者用户邮箱;

虚拟磁盘操作模块,用于cpk验证通过则可在所述智能设备的存储介质或终端设备的存储介质中建立、删除、查看、及读写虚拟磁盘;当所述加密软件关闭时,所述虚拟磁盘自动隐藏;

文件加密模块,用于将待加密文件数据存储至所述虚拟磁盘,所述加密软件对写入所述虚拟磁盘的待加密文件数据采用cpk技术进行加密,同时上传所述加密后的文件至云端服务器。

进一步的,所述验证模块包括:

数字证书生产模块,用于获取用户标识,以及从标识公钥矩阵和标识私钥矩阵中获取对应公钥和私钥,将所述用户标识、公钥、私钥通过cpk技术生成密态的用户数字证书,并存储于终端设备;

账户信息解密模块,用于将所述用户数字证书发送至云端服务器或本地的证书管理中心,所述证书管理中心对所述用户数字证书进行cpk技术解密,比对所述用户登录账户名及密码信息;

账户信息验证模块,用于当解密后的用户登录账户名及密码与预存的用户数字证书中的账户名及密码相同,则验证通过。

进一步的,所述文件加密模块包括:

密钥产生模块,用于由随机数发生器产生一个随机数作为第一文件密钥;

对称加密模块,用于对待加密文件数据通过所述第一文件密钥进行对称加密,得到密态数据;

公钥获取模块,用于通过本地设备标识从标识公钥矩阵中获取对应的第一标识公钥;

非对称加密模块,用于采用所述第一标识公钥对所述第一文件密钥进行非对称加密,得到第一密钥文件;

数据打包模块,用于将所述第一密钥文件和密态数据进行数据打包,得到数据包,存储于本地设备的存储空间;

数据上传模块,用于将所述数据包上传至云端服务器的存储中心,并同步更新本地设备存储空间内的数据包。

进一步的,所述数据打包模块包括:

hash值获取模块,用于获取所述待加密文件数据的第一hash值;

判断模块,用于将所述第一hash值上传至所述存储中心,以使所述存储中心根据所述第一hash值判断其是否存在相同的存储文件数据;

接收模块,用于接收所述存储中心发送的反馈数据;

第一数据打包模块,用于在所述反馈数据表征不存在相同的存储文件数据时,通过所述第一hash值对所述文件密钥进行加密,得到第一hash密钥,再将所述密钥文件、密态数据、第一hash密钥和第一hash值进行数据打包,得到所述数据包;

第二数据打包模块,用于在所述反馈数据表征存在相同的存储文件数据时,从所述反馈数据中获取所述相同的存储文件数据对应的第二hash密钥,通过所述第一hash值对所述第二hash密钥进行解密,得到第二文件密钥,再采用所述第一标识公钥对所述第二文件密钥进行非对称加密,得到第二密钥文件,将文件名称及所述第二密钥文件进行数据打包,得到所述数据包。

进一步的,所述智能设备包括本地计算机或者智能手机。

本发明实施例的基于cpk认证的数据加密与存储方法,将cpk技术应用于数据的加密领域,采用带有cpk加密技术的存储介质如u盘与计算机或者手机连接后,使用u盘内的cpk加密软件在计算机或者手机内建立一虚拟磁盘,使用者将待加密的文件放入虚拟磁盘,软件自动对放入虚拟磁盘内的文件进行cpk加密,使用者可对虚拟磁盘内的文件进行正常的读写编辑操作,加密软件退出后虚拟磁盘自动隐藏,即使其他人得到该u盘,如未通过cpk验证则无法看到有虚拟磁盘,同时因虚拟磁盘内的文件通过cpk加密,即使通过特殊工具得到虚拟磁盘内的文件,也无法通过暴力破解得到虚拟磁盘内文件的明文,使得使用者的文件加密可靠性非常高,同时采用cpk加密认证,使得认证效率高,认证系统建设成本和维护成本低,而且由于能同步上传至云端服务器,具有同步备份功能,防止数据的丢失。

附图说明

图1是本发明实施例提供的基于cpk认证的数据加密与存储方法的实现硬件环境图;

图2是本发明实施例提供的基于cpk认证的数据加密与存储方法的流程图;

图3是本发明实施例提供的用户标识发送至云端服务器进行cpk验证的流程图;

图4是本发明实施例提供的加密软件对写入所述虚拟磁盘的待加密文件数据采用cpk技术进行加密的流程图;

图5是本发明实施例提供的将所述密钥文件和密态数据进行数据打包的流程图;

图6是本发明实施例提供的基于cpk认证的数据加密与存储装置的结构图;

图7是本发明实施例提供的基于cpk认证的数据加密与存储装置验证模块的结构图;

图8是本发明实施例提供的基于cpk认证的数据加密与存储装置文件加密模块的结构图;

图9是本发明实施例提供的基于cpk认证的数据加密与存储装置数据打包模块的结构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1示出了本发明实施例提供的基于cpk认证的数据加密与存储方法的实现硬件环境,

其中20为智能设备,智能设备设置在本地,包括本地计算机21,平板电脑22、智能手机23等智能设备,10为具有存储介质的终端设备,该设备内设置有基于cpk技术的加密软件,包括u盘、智能手表、智能手环等终端设备,终端设备10与智能设备20之间的通信可以是有线连接方式或者是无线连接方式如蓝牙通信等方式,30为云端服务器,云端服务器内设置有存储中心、证书管理认证中心以及用户的加密文件数据的备份等。

图2示出了本发明实施例提供的基于cpk认证的数据加密与存储方法的实现流程,

在步骤s201中,连接智能设备与具有存储介质的终端设备,所述终端设备内存储有基于cpk技术的加密软件;

在本发明实施例中,智能设备包括本地计算机或者智能手机,具有存储介质的终端设备包括u盘或者智能手表,终端设备内预先存储有加密软件,加密软件采用cpk技术对待保护的文件进行加密,本发明实施例中,智能设备和终端设备之间采用有线或者无线方式连接。

在步骤s202中,所述加密软件获取所述终端设备内预先存储的用户标识并将所述用户标识发送至云端服务器或本地证书管理中心进行cpk验证,所述用户标识包括智能设备硬盘id、终端设备id、用户登录账户名和密码、用户手机号或者用户邮箱;

用户登录账户名和密码通过在初次使用终端设备的加密软件时注册获取,初次注册时,加密软件同时获取与其连接后的智能设备如计算机或者智能手机的硬盘id,并将此信息与用户注册的账户信息、用户手机号或者用户邮箱作为识别用户的唯一标识存储于u盘等终端设备,用户注册后,再次使用该加密软件时,软件将用户标识信息发送至云端服务器或本地证书管理中心进行cpk验证,在有网络连接时,发送至云端服务器进行cpk验证,在无网络连接时,发送至本地证书管理中心进行本地cpk验证,使得cpk的验证既能在线上也能在线下验证,适应于有网络或者无网络的使用环境。

在本发明实施例中,对用户标识进行cpk验证包括先对用户标识信息进行cpk加密,再对用户标识信息进行cpk解密,用户标识信息进行cpk解密可在本地计算机上完成或者在云端服务器上完成。利用cpk技术对用户进行验证,使得用户的账户名和密码信息得到高强度的加密保障,其他人即使通过暴力破解u盘上存储的用户信息数据,也不能得到进cpk加密后用户信息明文,保障了用户账户信息的安全,同时采用cpk认证系统,相对于传统的pki认证系统来说,cpk认证系统不需要第三方信任中心,系统的建设维护成本低,cpk认证步骤相对pki认证步骤少,提高了认证的效率,同时,cpk认证的安全性不随用户数量的增加而降低,而pki认证在用户数量达到一定规模后安全性会减弱。

在步骤s203中,cpk验证通过则可在所述智能设备的存储介质或终端设备的存储介质中建立、删除、查看、及读写虚拟磁盘;当所述加密软件关闭时,所述虚拟磁盘自动隐藏;

cpk验证账户名和密码通过后,用户即可使用加密软件在计算机或者u盘上建立一个或多个虚拟磁盘,或者对已有的虚拟磁盘进行查看、删除、以及复制本地计算机的文件到虚拟磁盘或者读出虚拟磁盘内的文件至本地计算机,同时,当退出该加密软件时,在本地计算机或者u盘上建立的虚拟磁盘会自动隐藏,当需要查看虚拟磁盘时,必须使用该u盘等终端设备连接该计算机,并启动加密软件,使用账户名和密码登陆经过cpk验证成功后方可查看,虚拟磁盘的自动隐藏技术进一步加强的数据的加密保护功能,一般的用户无法发现u盘或者计算上有加密文件存储于虚拟磁盘内。

在步骤s204中,将所述待加密文件数据存储至所述虚拟磁盘,所述加密软件对写入所述虚拟磁盘的待加密文件数据采用cpk技术进行加密,同时上传所述加密后的文件至云端服务器。

用户将待加密文件复制或者移动至虚拟磁盘内时,加密软件自动对文件进行cpk加密,并将加密好的文件数据存储于虚拟磁盘内,用户登录加密软件并经过cpk验证成功后,在虚拟磁盘内看到的是文件的明文形式,可对文件进行常规的编辑读写操作,同时加密软件将加密好的文件数据上传至云端服务器进行存储备份,防止数据的丢失,即使用户的本地计算机或者手机内存储的加密文件丢失,也可以在云端服务器找回,同时,对文件采用cpk加密,其他用户即使获取虚拟磁盘内的文件,也无法通过暴力破解获取经过cpk加密后文件的明文,防止数据的泄密,保证了数据的安全性。

图3示出了本发明实施例提供的用户标识发送至云端服务器进行cpk验证的实现流程,

在步骤s301中,获取用户标识,以及从标识公钥矩阵和标识私钥矩阵中获取对应公钥和私钥,将所述用户标识、公钥、私钥通过cpk技术生成密态的用户数字证书,并存储于终端设备;

在本发明实施例中,用户标识包括智能设备硬盘id、终端设备id、用户登录账户名和密码、用户手机号或者用户邮箱等。

在步骤s302中,将所述用户数字证书发送至云端服务器或本地的证书管理中心,所述证书管理中心对所述用户数字证书进行cpk技术解密,比对所述用户登录账户名及密码信息;

在本发明实施例中,用户数字证书的cpk解密和比对既可以在云端服务器也可以在本地智能设备的证书管理中心进行。

在步骤s303中,当解密后的用户登录账户名及密码与预存的用户数字证书中的账户名及密码相同,则验证通过。

数字证书中的账户名和密码进行cpk验证,数字证书中的公钥、私钥用户对数字证书以及用户待保护的文件进行加密和解密,公钥用于加密,私钥用于解密,验证通过后用户可通过加密软件在本机计算机或者u盘上建立虚拟磁盘,并对虚拟磁盘进行常规的读写操作。

图4示出了本发明实施例提供的所述加密软件对写入所述虚拟磁盘的待加密文件数据采用cpk技术进行加密的实现流程,

在步骤s401中,由随机数发生器产生一个随机数作为第一文件密钥;

在步骤s402中,对待加密文件数据通过所述第一文件密钥进行对称加密,得到密态数据;

在步骤s403中,通过本地设备标识从标识公钥矩阵中获取对应的第一标识公钥;

在步骤s404中,采用所述第一标识公钥对所述第一文件密钥进行非对称加密,得到第一密钥文件;

在步骤s405中,将所述第一密钥文件和密态数据进行数据打包,得到数据包,存储于本地设备的存储空间;即存储于本地计算机或者u盘上的虚拟磁盘内。

在步骤s406中,将所述数据包上传至云端服务器的存储中心,并同步更新本地设备存储空间内的数据包,同步更新能防止用户数据的丢失,保证用户数据存储的可靠性。

图5示出了本发明实施例提供的将所述密钥文件和密态数据进行数据打包,得到数据包的实现流程:

在步骤s501中,获取所述待加密文件数据的第一hash值;

在步骤s502中,将所述第一hash值上传至所述存储中心,以使所述存储中心根据所述第一hash值判断其是否存在相同的存储文件数据;

在步骤s503中,接收所述存储中心发送的反馈数据;

在步骤s504中,在所述反馈数据表征不存在相同的存储文件数据时,通过所述第一hash值对所述文件密钥进行加密,得到第一hash密钥,再将所述密钥文件、密态数据、第一hash密钥和第一hash值进行数据打包,得到所述数据包;

在步骤s505中,在所述反馈数据表征存在相同的存储文件数据时,从所述反馈数据中获取所述相同的存储文件数据对应的第二hash密钥,通过所述第一hash值对所述第二hash密钥进行解密,得到第二文件密钥,再采用所述第一标识公钥对所述第二文件密钥进行非对称加密,得到第二密钥文件,将文件名称及所述第二密钥文件进行数据打包,得到所述数据包。

图6示出了本发明实施例提供的基于cpk认证的数据加密与存储装置的结构,包括:

连接模块61,用于连接智能设备与具有存储介质的终端设备,所述终端设备内存储有基于cpk技术的加密软件;

验证模块62,用于所述加密软件获取所述终端设备内预先存储的用户标识并将所述用户标识发送至云端服务器进行cpk验证,所述用户标识包括智能设备硬盘id、终端设备id、用户登录账户名和密码、用户手机号或者用户邮箱;

虚拟磁盘操作模块63,用于cpk验证通过则可在所述智能设备的存储介质或终端设备的存储介质中建立、删除、查看、及读写虚拟磁盘;当所述加密软件关闭时,所述虚拟磁盘自动隐藏;

文件加密模块64,用于将所述待加密文件数据存储至所述虚拟磁盘,所述加密软件对写入所述虚拟磁盘的待加密文件数据采用cpk技术进行加密,同时上传所述加密后的文件至云端服务器。

图7示出了本发明实施例提供的验证模块的结构,包括:

数字证书生产模块71,用于获取用户标识,以及从标识公钥矩阵和标识私钥矩阵中获取对应公钥和私钥,将所述用户标识、公钥、私钥通过cpk技术生成密态的用户数字证书,并存储于终端设备;

账户信息解密模块72,用于将所述用户数字证书发送至云端服务器或本地的证书管理中心,所述证书管理中心对所述用户数字证书进行cpk技术解密,比对所述用户登录账户名及密码信息;

账户信息验证模块73,用于当解密后的用户登录账户名及密码与预存的用户数字证书中的账户名及密码相同,则验证通过。

图8示出了本发明实施例提供的文件加密模块的结构,包括:

密钥产生模块81,用于由随机数发生器产生一个随机数作为第一文件密钥;

对称加密模块82,用于对待加密文件数据通过所述第一文件密钥进行对称加密,得到密态数据;

公钥获取模块83,用于通过本地设备标识从标识公钥矩阵中获取对应的第一标识公钥;

非对称加密模块84,用于采用所述第一标识公钥对所述第一文件密钥进行非对称加密,得到第一密钥文件;

数据打包模块85,用于将所述第一密钥文件和密态数据进行数据打包,得到数据包,存储于本地设备的存储空间;

数据上传模块86,用于将所述数据包上传至云端服务器的存储中心,并同步更新本地设备存储空间内的数据包。

图9示出了本发明实施例提供的数据打包模块的结构,包括:

hash值获取模块851,用于获取所述待加密文件数据的第一hash值;

判断模块852,用于将所述第一hash值上传至所述存储中心,以使所述存储中心根据所述第一hash值判断其是否存在相同的存储文件数据;

接收模块853,用于接收所述存储中心发送的反馈数据;

第一数据打包模块854,用于在所述反馈数据表征不存在相同的存储文件数据时,通过所述第一hash值对所述文件密钥进行加密,得到第一hash密钥,再将所述密钥文件、密态数据、第一hash密钥和第一hash值进行数据打包,得到所述数据包;

第二数据打包模块855,用于在所述反馈数据表征存在相同的存储文件数据时,从所述反馈数据中获取所述相同的存储文件数据对应的第二hash密钥,通过所述第一hash值对所述第二hash密钥进行解密,得到第二文件密钥,再采用所述第一标识公钥对所述第二文件密钥进行非对称加密,得到第二密钥文件,将文件名称及所述第二密钥文件进行数据打包,得到所述数据包。

本发明实施例提供的基于cpk认证的数据加密与存储方法及装置,将cpk技术应用于数据的加密领域,采用带有cpk加密技术的存储介质如u盘与计算机或者手机连接后,使用u盘内的cpk加密软件在计算机或者手机内建立一虚拟磁盘,使用者将待加密的文件放入虚拟磁盘,软件自动对放入虚拟磁盘内的文件进行cpk加密,使用者可对虚拟磁盘内的文件进行正常的读写编辑操作,加密软件退出后虚拟磁盘自动隐藏,即使其他人得到该u盘,如未通过cpk验证则无法看到有虚拟磁盘,同时因虚拟磁盘内的文件通过cpk加密,即使通过特殊工具得到虚拟磁盘内的文件,也无法通过暴力破解得到虚拟磁盘内文件的明文,使得使用者的文件加密可靠性非常高,同时采用cpk加密认证,使得认证效率高,认证系统建设成本和维护成本低,而且由于能同步上传至云端服务器,具有同步备份功能,防止数据的丢失。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1