CN109299618A - 基于量子密钥卡的抗量子计算云存储方法和系统 - Google Patents
基于量子密钥卡的抗量子计算云存储方法和系统 Download PDFInfo
- Publication number
- CN109299618A CN109299618A CN201811102338.2A CN201811102338A CN109299618A CN 109299618 A CN109299618 A CN 109299618A CN 201811102338 A CN201811102338 A CN 201811102338A CN 109299618 A CN109299618 A CN 109299618A
- Authority
- CN
- China
- Prior art keywords
- key
- file
- public
- user terminal
- random number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Abstract
本发明涉及一种基于量子密钥卡的抗量子计算云存储方法和系统,包括服务器和用户端,配置有量子密钥卡的用户端将利用文件密钥加密的数据文件上传至服务器,文件密钥是利用量子密钥卡产生的文件密钥真随机数生成,用户端将文件密钥真随机数以公钥密钥加密形式上传,下载加密数据文件后,利用公钥密钥真随机数及私钥生成文件密钥,解密得数据文件。服务器端无法接触用户端各类密钥(公钥、私钥、文件密钥等)及明文数据文件,保证在云服务器上进行密钥存储的安全性,解决用户端对数据上云的后顾之忧,同时使用加密后的公钥对文件密钥进行加密且使用量子密钥卡存储公钥,量子密钥卡是独立的硬件隔离设备,被恶意软件破解的可能性降低。
Description
技术领域
本发明涉及云存储领域,尤其涉及一种基于量子密钥卡的抗量子计算云存储方法和系统。
背景技术
随着科技的发展,云存储已经越来越成为一种趋势,各种云存储技术层出不穷,为了保证云存储数据的安全,通常会利用各种加密方法来保证数据的安全性,例如,可以通过非对称密钥加密来保证数据的安全性,非对称密钥加密需要使用不同的密钥来分别完成加密和解密操作,一个公开发布,即公钥,另一个由用户自己秘密保存,即私钥。信息发送者用公钥去加密,而信息接收者用私钥去解密;或者信息发送者用私钥去加密,而信息接收者用公钥去解密。
由于云存储中多采用共享存储,这使得服务商需要对私钥进行控制,导致私钥的安全性较低。公开号为CN103236934A,发明名称为“一种云存储安全控制的方法”的发明专利文献,公开了一种用于解决私钥安全性较低的问题的方法。该发明使用两种不同的加密方式对用户的私钥进行加密并分别存储。
正如大多数人所了解的,量子计算机在密码破解上有着巨大潜力。当今主流的非对称(公钥)加密算法,如RSA加密算法,大多数都是基于大整数的因式分解或者有限域上的离散对数的计算这两个数学难题。他们的破解难度也就依赖于解决这些问题的效率。传统计算机上,要求解这两个数学难题,花费时间为指数时间(即破解时间随着公钥长度的增长以指数级增长),这在实际应用中是无法接受的。而为量子计算机量身定做的秀尔算法可以在多项式时间内(即破解时间随着公钥长度的增长以k次方的速度增长,其中k为与公钥长度无关的常数)进行整数因式分解或者离散对数计算,从而为RSA、离散对数加密算法的破解提供可能。
当前企业或事业单位有时有数据上云的需求,而公有云一般不容易受这些单位信任,被认为信息安全可能有问题,或者密钥容易被黑客所获得并破解,因此造成了公有云客户对数据上云有后顾之忧。
现有技术存在的问题:
(1)在云服务器上进行密钥存储有一定的危险性。公有云客户对数据上云有后顾之忧。
(2)公开号为CN103236934A的发明专利文献使用用户公钥对文件密钥进行加密,由于量子计算机能快速通过公钥得到对应的私钥,因此该方案很容易被量子计算机破解。
发明内容
基于此,有必要针对上述问题,提供一种基于量子密钥卡的抗量子计算云存储方法和系统。
一种基于量子密钥卡的抗量子计算云存储方法,包括用户端将利用文件密钥加密的数据文件上传至服务器,所述用户端配置有量子密钥卡,所述文件密钥是利用量子密钥卡所产生的文件密钥真随机数生成,且所述用户端将所述文件密钥真随机数以加密形式上传至所述服务器;所述文件密钥真随机数的加密方式为使用公钥加密文件密钥真随机数得到初级个人密钥,公钥密钥加密所述初级个人密钥得到个人密钥,以及使用文件特征值加密文件密钥真随机数得到数据密钥;所述用户端将所述个人密钥、所述数据密钥分别作为加密形式的文件密钥真随机数发送至所述服务器。
当前有很多存储云服务,其中包括很多公有云,在本实施例中,存储云的服务器简称为服务器,成员所使用的存储云客户端为用户端。本发明中所述用户端量子密钥卡的描述可见申请号为“201610843210.6”的专利,根据设计需要,所述用户端为移动终端或固定终端,当为移动终端时,量子密钥卡优选为量子密钥SD卡;当为固定终端时量子密钥卡优选为量子密钥USB key或主机量子密钥板。
文件密钥的生成和数据文件的加密在量子密钥卡内完成,保证用户端加密程序执行环境安全,量子密钥卡内的文件密钥真随机数生成文件密钥,保证文件密钥的真随机性,大大提高文件密钥的安全性,同时量子密钥卡为独立的硬件隔离设备,被恶意软件或恶意操作窃取密钥的可能性大大降低,真随机数以加密形式上传至服务器,而非文件密钥存储,解决了密钥存储在服务器上被窃取的危险性。
优选地,所述文件密钥生成方法包括:将所述文件密钥真随机数结合文件密钥种子指针函数得到文件密钥种子指针,利用该文件密钥种子指针从所述量子密钥卡中提取对应的文件密钥种子,该文件密钥种子结合文件密钥函数得到所述文件密钥;所述用户端还将所述文件密钥种子指针函数ID和文件密钥函数的ID发送至所述服务器。
可选地,所述公钥密钥是利用量子密钥卡所产生的公钥密钥真随机数生成,生成方法包括:所述公钥密钥真随机数结合公钥密钥种子指针函数得到公钥密钥种子指针,利用该公钥密钥种子指针从所述量子密钥卡中提取对应的公钥密钥种子,该公钥密钥种子结合公钥密钥函数得到所述公钥密钥;所述用户端还将所述公钥密钥真随机数、公钥密钥种子指针函数ID以及公钥密钥函数ID发送至所述服务器。
量子密钥卡内的公钥密钥真随机数生成公钥密钥,保证公钥密钥的真随机性,大大提高公钥密钥的安全性,同时使用量子密钥卡存储公钥,量子密钥卡是独立的硬件隔离设备,被恶意软件或恶意操作窃取密钥的可能性大大降低。由于量子计算机无法得到用户公钥,于是也无法得到对应的私钥,因此该方案不容易被量子计算机破解。
可选地,所述文件密钥种子指针函数ID和文件密钥函数ID作为所述服务器是否进行去重的标识。
可选地,所述用户端有一个或多个,各用户端配置的量子密钥卡中存储有相同的密钥池,上传数据文件的用户端通过己方的密钥池生成文件密钥以加密数据文件,下载数据文件的用户端利用来自服务器的真随机数结合己方的密钥池相应生成文件密钥以解密出数据文件。
本发明中,量子密钥卡颁发方为量子密钥卡的主管方,一般为某企业或事业单位的管理部门;量子密钥卡被颁发方为量子密钥卡的主管方所管理的成员,一般为某企业或事业单位的各级员工,其使用用户端进行云端数据存取。用户端首先到量子密钥卡的主管方申请开户。当用户端进行注册登记获批后,将得到量子密钥卡(具有唯一的量子密钥卡ID)。量子密钥卡存储了用户的注册登记信息,还内置有身份认证协议,至少包括密钥生成算法以及认证函数,或其他与身份认证相关的算法。量子密钥卡中的用户侧密钥都下载自同一个量子网络服务站,且对同一个量子密钥卡的主管方来说,其颁发的每个量子密钥卡中存储的密钥池是完全一致的。优选为,量子密钥卡中存储的密钥池大小可以是1G、2G、4G、8G、16G、32G、64G、128G、256G、512G、1024G、2048G、4096G等等。其容量取决于主管方对安全的要求,容量越大安全性越高。
可选地,多个用户端共享数据文件时,共享用户端和被共享用户端均公开抗量子计算公钥组合,所述抗量子计算公钥组合由所述公钥密钥和由所述公钥密钥加密公钥所得的加密的公钥组成,所述共享用户端通过所述抗量子计算公钥组合生成所述被共享用户端的个人密钥,上传所述个人密钥至所述服务器进而实现对所述被共享用户端的文件共享。
一种基于量子密钥卡的抗量子计算云存储方法,包括服务器接收并存储来自用户端利用文件密钥加密的数据文件,所服务器还接收并存储来自用户端的个人密钥和数据密钥,所述个人密钥和所述数据密钥由所述文件密钥真随机数加密获得;所述文件密钥真随机数的加密方式为使用公钥加密文件密钥真随机数得到初级个人密钥,公钥密钥加密所述初级个人密钥得到个人密钥;以及使用文件特征值加密文件密钥真随机数得到数据密钥。
可选地,所述服务器接收并存储用于生成所述公钥密钥的公钥密钥真随机数,所述公钥密钥真随机数由量子密钥卡生成。
可选地,所述服务器还接收并存储来自所述用户端的与生成所述文件密钥相关的函数ID,其中两个函数ID作为服务器是否进行去重的指示标识;
当服务器依据所述指示标识判断去重时,所述服务器向所述用户端发送数据密钥;
当服务器依据所述指示标识判断不需去重时,接受存储来自所述用户端的与生成所述文件密钥相关的函数ID。
一种基于量子密钥卡的抗量子计算云存储系统,包括服务器和用户端,所述用户端将利用文件密钥加密的数据文件上传至所述服务器,所述用户端配置有量子密钥卡,所述文件密钥是利用量子密钥卡所产生的文件密钥真随机数生成,且所述用户端还将所述文件密钥真随机数以加密形式上传至所述服务器;所述文件密钥真随机数的加密方式为使用公钥加密文件密钥真随机数得到初级个人密钥,公钥密钥加密所述初级个人密钥得到个人密钥,以及使用文件特征值加密文件密钥真随机数得到数据密钥,其中所述公钥密钥由用户端的公钥密钥真随机数生成,所述用户端上传所述公钥密钥真随机数至所述服务器,同时所述个人密钥、所述数据密钥分别作为加密形式的文件密钥真随机数发送至所述服务器;
所述服务器接收并存储来自所述用户端的个人密钥、公钥密钥真随机数以及数据文件;
用户端下载个人密钥、公钥密钥真随机数以及利用文件密钥加密的数据文件,用户端在己方所配置的量子密钥卡中利用所述公钥密钥真随机数与个人密钥相结合得到初级个人密钥,并使用私钥解密所述初级个人密钥得到文件密钥真随机数进而生成文件密钥,解密获得数据文件。
上述基于量子密钥卡的抗量子计算云存储方法和系统,用户端将利用文件密钥加密的数据文件上传至服务器,所述用户端配置有量子密钥卡,所述文件密钥是利用量子密钥卡所产生的文件密钥真随机数生成,且用户端还将所述文件密钥真随机数以加密形式上传至所述服务器,所述文件密钥真随机数的加密方式为使用公钥加密文件密钥真随机数得到初级个人密钥,公钥密钥加密所述初级个人密钥得到个人密钥,以及使用文件特征值加密文件密钥真随机数得到数据密钥,其中所述公钥密钥由用户端的公钥密钥真随机数生成,所述用户端上传所述公钥密钥真随机数至所述服务器;
所述服务器接收并存储来自所述用户端的个人密钥、公钥密钥真随机数以及数据文件;
用户端下载个人密钥、公钥密钥真随机数以及利用文件密钥加密的数据文件,用户端在己方所配置的量子密钥卡中利用所述公钥密钥真随机数与个人密钥相结合得到初级个人密钥,并使用私钥解密所述初级个人密钥得到文件密钥真随机数进而生成文件密钥,解密获得数据文件。所述个人密钥、数据密钥上传至服务器,使得服务器端都无法接触到用户端各类密钥(公钥、私钥、文件密钥等)以及明文数据文件,保证在云服务器上进行密钥存储的安全性,解决用户端对数据上云的后顾之忧,同时使用加密后的公钥对文件密钥进行加密,且使用量子密钥卡存储公钥,量子密钥卡是独立的硬件隔离设备,被恶意软件破解的可能性降低。
附图说明
图1为本发明实施例提供的存储系统的结构示意图;
图2为本发明实施例提供的文件密钥生成流程图;
图3为本发明实施例提供的公钥密钥生成流程图;
图4为本发明实施例1提供的存储方法的流程图;
图5为本发明实施例2提供的读取方法的流程图。
具体实施方式
以下步骤中,在各用户端涉及的多处操作,都在匹配的量子密钥卡中进行。
图1所示,一种基于量子密钥卡的抗量子计算云存储系统,包括服务器和用户端,用户端将利用文件密钥加密的数据文件上传至服务器,所述用户端配置有量子密钥卡,所述文件密钥是利用量子密钥卡所产生的文件密钥真随机数生成,且所述用户端还将所述文件密钥真随机数以加密形式上传至所述服务器,所述文件密钥真随机数的加密方式为使用公钥加密文件密钥真随机数得到初级个人密钥,公钥密钥加密所述初级个人密钥得到个人密钥,以及使用文件特征值加密文件密钥真随机数得到数据密钥,其中所述公钥密钥由用户端的公钥密钥真随机数生成,所述用户端上传所述公钥密钥真随机数至所述服务器,同时所述个人密钥、所述数据密钥分别作为加密形式的文件密钥真随机数发送至所述服务器。
所述用户端包括:Hash值计算模块、密钥生成模块以及加解密模块。
Hash值计算模块,用于计算新用户的数据文件的Hash值,将此Hash值上传给服务器,以供服务器判断模块判断已存储数据文件中是否存在具有相同Hash值的数据文件。
密钥生成模块,用于在服务器的判断模块判断的结果为否时,生成文件密钥和公钥密钥。
加解密模块,用于利用文件密钥对数据文件进行加密;以及利用两种不同加密方式对文件密钥真随机数rf进行加密形成个人密钥和数据密钥;其中,以用户私钥为解密密钥对个人密钥进行解密后可以获得文件密钥真随机数rf;以加密前的数据文件的特征值为解密密钥对数据密钥进行解密后可以获得文件密钥真随机数rf;由文件密钥真随机数rf可得到文件密钥。
文件密钥生成方法,如图2所示,首先使用匹配的量子密钥卡内的真随机数发生器生成文件密钥真随机数rf;然后结合特定的文件密钥种子指针函数frfp得到文件密钥种子指针rfp并从密钥池中提取出相应的文件密钥种子krf;然后结合文件密钥函数fkf生成文件密钥kf。所述用户端还将所述文件密钥种子指针函数ID和文件密钥函数的ID发送至所述服务器,同时所述文件密钥种子指针函数ID和文件密钥函数ID作为所述服务器是否进行去重的标识。
文件密钥种子指针函数frfp和文件密钥函数fkf为量子密钥卡主管方可定制。
文件密钥种子指针函数frfp为对随机数进行某种数值变换后取模,例如frfp(r)=(r+d)%s,
其中r为输入变量(此处为随机数),d为偏移量,%为取模运算,s为密钥池总大小。当然根据设计需要,文件密钥种子指针函数frfp不限于此,只要能够得到文件密钥种子指针rfp即可。
文件密钥函数fkf为对输入数据进行某种数值变换后取模,例如fkf(x)=(ax+b)%2len,其中x为输入变量,a、b为变换参数,%为取模运算,len为用户指定的密钥长度(单位:bit)。当然根据设计需要,文件密钥函数fkf不限于此,只要能够生成文件密钥kf即可。
在本实施例中,所以所有用户的文件密钥种子指针函数frfp和文件密钥函数fkf都一样。当然根据设计需要,所述各用户端的文件密钥种子指针函数frfp和文件密钥函数fkf可不相同。
由公钥密钥真随机数rk得到公钥密钥kk的过程如图3所示,步骤如下:根据匹配的量子密钥卡生成公钥密钥真随机数rk,公钥密钥真随机数rk结合特定的公钥密钥种子指针函数frkp得到公钥密钥种子指针rkp,并从密钥池中提取出相应的公钥密钥种子krk;然后结合公钥密钥函数fkk生成公钥密钥kk。所述用户端还将所述公钥密钥真随机数rk、公钥密钥种子指针函数ID以及公钥密钥函数ID发送至所述服务器。
所述用户端有一个或多个,各用户端配置的量子密钥卡中存储有相同的密钥池,上传数据文件的用户端通过己方的密钥池生成文件密钥以加密数据文件,下载数据文件的用户端利用来自服务器的真随机数结合己方的密钥池相应生成文件密钥以解密出数据文件。
如图1所示,服务器接收并存储来自用户端利用文件密钥加密的数据文件,所服务器还接收并存储来自用户端的个人密钥和数据密钥,所述个人密钥和所述数据密钥由所述文件密钥真随机数加密获得,所述文件密钥真随机数的加密方式为使用公钥加密文件密钥真随机数得到初级个人密钥,公钥密钥加密所述初级个人密钥得到个人密钥;以及使用文件特征值加密文件密钥真随机数得到数据密钥,所述服务器包括:存储模块、判断模块以及密钥授权模块。
存储模块,用于存储文件的Hash值、加密后的数据文件、个人密钥和数据密钥;所服务器接收并存储用于生成所述公钥密钥的公钥密钥真随机数,所述公钥密钥真随机数由量子密钥卡生成。
判断模块,用于在存储用户的数据文件前,判断已存储数据文件中是否存在相同的数据文件并通知密钥授权模块;若判断结果为是,则通知密钥授权模块向用户端发送数据密钥,若判断结果为否,则将收到的Hash值发送给存储模块保存。
具体地,所述服务器还接收并存储来自所述用户端的与生成所述文件密钥相关的函数ID,其中两个函数ID作为服务器是否进行去重的指示标识。
当服务器依据所述指示标识判断去重时,所述服务器向所述用户端发送数据密钥;
当服务器依据所述指示标识判断不需去重时,接受存储来自所述用户端的与生成所述文件密钥相关的函数ID。
密钥授权模块,用于在判断模块判断的结果为是时,向用户端发送数据密钥,在判断模块判断的结果为否时,向用户端发送无相同数据文件的信息。
在本实施例中,密钥授权模块又分为发送子模块和接受子模块。发送子模块用于发送数据密钥或信息,接受子模块用于接收到来自用户端的所述用户的个人密钥、数据密钥以及加密后的数据文件,将其发送给存储模块保存。
用户端下载个人密钥、公钥密钥真随机数以及利用文件密钥加密的数据文件,用户端在己方所配置的量子密钥卡中利用所述公钥密钥真随机数与个人密钥相结合得到初级个人密钥,并使用私钥解密所述初级个人密钥得到文件密钥真随机数进而生成文件密钥,解密获得数据文件。
以下结合附图及实施例,对本发明进行进一步详细说明。
实施例1
图3为本发明实施例提供的基于量子密钥卡的抗量子计算云存储方法的流程图,具体步骤如下:
步骤1.1:用户端将数据文件的Hash值和各个算法ID上传至服务器。在本实施例中,用户端上传数据文件之前,先计算出数据文件的Hash值,并将该Hash值上传至服务器。同时上传的还有各个函数的ID(包括文件密钥种子指针函数frfp以及文件密钥函数fkf,下文同理)。服务器为了减轻存储压力,将对文件进行密文去重,即鉴别重复文件。
步骤1.2:服务器对文件的Hash值以及各个算法ID进行综合考虑来鉴别重复文件,即如果两份文件具有相同的Hash值且文件密钥种子指针函数frfp和文件密钥函数fkf的ID分别相同则认为有相同的数据文件需要去重。若服务器判断不需要去重,服务器保存收到的这个Hash值以及各个算法ID,并执行步骤1.3.1。若需要去重,服务器执行步骤1.4.1。
本领域技术人员可以理解,在某些情况下,同一用户可能会先后上传同一数据文件,那么在该用户期待再次以相同frfp、fkf上传已上传数据文件时,服务器端如果判断该数据文件来源与同一用户,将不执行任何操作。
步骤1.3:若服务器不需要去重:
步骤1.3.1:服务器保存收到的Hash值和算法ID后,将服务器不存在具有相同数据文件的信息发送给用户端,通知用户端生成随机数。
步骤1.3.2:用户端处理信息并将需要存储在服务器上的内容发送给服务器。
具体地,用户端收到服务器不存在具有相同的数据文件的信息后,用户端根据所匹配的真随机数发生器生成文件密钥真随机数rf并进一步得到文件密钥kf,如图2所示,具体步骤如下:
步骤1.3.2.1:使用匹配的量子密钥卡生成文件密钥真随机数rf;
步骤1.3.2.2:文件密钥真随机数rf结合特定的文件密钥种子指针函数frfp得到文件密钥种子指针rfp;
步骤1.3.2.3:根据文件密钥种子指针rfp从密钥池中提取出相应的文件密钥种子krf;
步骤1.3.2.4:文件密钥种子krf结合文件密钥函数fkf生成文件密钥kf。
用户端使用文件密钥kf加密数据文件得到密文kff,加密算法可为对称加密算法;
用户端使用公钥加密文件密钥真随机数rf得到初级个人密钥,再使用公钥密钥kk加密初级个人密钥得到个人密钥,以及使用用户端生成的文件特征值加密文件密钥真随机数rf得到数据密钥,其中所述公钥密钥由用户端的公钥密钥真随机数生成,文件特征值的计算方法为预定义的算法,可以是但不限于Hash计算、文件压缩或其他文件特征计算算法。
具体地,公钥密钥kk的生成的过程如图3所示,步骤包括:
步骤1.3.2.5:根据匹配的量子密钥卡生成公钥密钥真随机数rk;
步骤1.3.2.6:公钥密钥真随机数rk结合特定的公钥密钥种子指针函数frkp得到公钥密钥种子指针rkp;
步骤1.3.2.7:根据公钥密钥种子指针rkp从密钥池中提取出相应的公钥密钥种子krk;
步骤1.3.2.8:公钥密钥种子krk结合公钥密钥函数fkk生成公钥密钥kk。
用户端将密文、个人密钥、算法函数ID、数据密钥以及公钥密钥真随机数上传至服务器,本专利明文公钥不公开,仅公开加密的公钥,进一步保护提高公钥的安全性。
在本实施例中,用户公开{rk,kkk}的组合作为抗量子计算公钥,所述抗量子计算公钥组合{rk,kkk}由所述公钥密钥真随机数rk和由所述公钥密钥kk加密公钥所得的加密的公钥kkk组成。该公钥定期可更换。例如,下一次的抗量子计算公钥为{rk’,kkk’}。即:当公钥密钥真随机数变为rk’时,加密的公钥变为kkk’,与前次不同。因此,需要将公钥密钥真随机数与个人密钥一起存储。
步骤1.3.3:服务器将收到的密文、算法函数ID、个人密钥、公钥密钥真随机数以及数据密钥进行保存。
步骤1.4:若服务器需要去重
步骤1.4.1:服务器将该文件的数据密钥发送给用户端。
步骤1.4.2:用户端处理信息并将需要存储在服务器上的内容发送给服务器。
具体地,用户端收到数据密钥后,根据数据文件生成文件特征值,并使用文件特征值解密数据密钥得到文件密钥真随机数rf。
用户端根据匹配的量子密钥卡生成公钥密钥真随机数rk,进一步得到公钥密钥kk,具体过程如图3所示。在本实施例中,用户端公开抗量子计算公钥组合{rk,kkk},抗量子计算公钥组合{rk,kkk}由所述公钥密钥真随机数rk和由所述公钥密钥kk加密公钥所得的加密的公钥kkk组成。
用户端使用公钥加密文件密钥真随机数rf得到初级个人密钥,再使用公钥密钥kk加密初级个人密钥得到个人密钥,并将个人密钥发送给服务器,一并发送的还有公钥密钥真随机数rk。
步骤1.4.3:服务器收到该个人密钥和公钥密钥真随机数后进行保存。
其中,步骤1.4与步骤1.3的不同之处在于如果服务器存在与当前用户端想要上传的文件一致的文件,用户可利用自己的数据文件的文件特征值解密服务器提供的数据密钥得到文件密钥真随机数rf,使用公钥加密rf可得初级个人密钥,再使用公钥密钥kk加密初级个人密钥可得到该用户的个人密钥,将该个人密钥以及公钥密钥真随机数rk上传至服务器保存。由公钥密钥真随机数rk得到公钥密钥kk的过程如图3所示,具体描述见步骤3。后续访问时,用户只需使用rk得到公钥密钥kk,使用密钥kk和自己的私钥解密个人密钥就能得到文件密钥真随机数rf并进一步得到文件密钥,利用该文件密钥得到该数据明文。文件读取的具体流程见实施例2。这样,既实现了防止数据文件在云端的重复存储,也能保证云储存服务商自己(内部员工)不能获取数据内容的明文。
特别地,多个用户端共享数据文件可由共享用户端和被共享用户端均公开的抗量子计算公钥组合{rk,kkk}实现,所述抗量子计算公钥组合{rk,kkk}由所述公钥密钥真随机数rk和由所述公钥密钥kk加密公钥所得的加密的公钥kkk组成,所述共享用户端通过所述抗量子计算公钥组合{rk,kkk}生成所述被共享用户端的个人密钥,上传所述个人密钥至所述服务器进而实现对所述被共享用户端的文件共享。其中,值得注意的是,所述抗量子计算公钥组合{rk,kkk}的公开是指各用户端所具有的相应抗量子计算公钥组合可被各个用户端获知,其中各所述用户端的抗量子计算公钥组合均上传至所述服务器的方式作为公开形式的一种。当然根据理论可知,所述抗量子计算公钥组合公开的形式不限于此,只要能实现各个用户端可获知即可。
在本实施例中,抗量子计算公钥组合{rk,kkk}可以在用户端共享文件时用于数字签名的颁发。
在本实施例中,用户端A将一个文件作为可共享给用户端B的文件时,在生成A的个人密钥的同时,一并生成一个B的个人密钥,即用户端A在步骤1.3.2上传文件时,即上传A的个人密钥也上传B的个人密钥。
其中B的个人密钥获得方式为:用户端A通过用户端B的抗量子计算公钥组合{rk,kkk}中的rk得到B的公钥密钥kk,具体过程如图3所示。使用kk解密kkk可得到B的公钥。使用B的公钥以及B的公钥密钥kk加密文件密钥真随机数rf可得到B的个人密钥。为了确保用户端B信任用户端A共享的密文,用户端A在自己上传的密文后添加一个数字签名。数字签名的颁发和验证过程如下:
用户端A对原文进行单项散列函数运算得到一个消息摘要,再使用用户端A的私钥对其进行数字签名算法加密得到一个数字签名。生成一个随机数R加密数字签名,并将加密签名和使用A的私钥加密的随机数R与密文一并存储在服务器上。
用户端B验证这个签名时,使用用户端A公开的抗量子计算公钥组合{rk,kkk}中的rk得到A的公钥密钥kk,再使用公钥密钥kk解密kkk可得到A的公钥。用户端B使用A的公钥对加密密钥(所述加密密钥为公钥加密的随机数R)进行解密得到随机数R,使用随机数R解密加密签名得到数字签名。再使用A的公钥对数字签名进行解密,并与对原文进行单项散列函数运算的结果进行对比,结果一致则信任该文件是用户端A上传的。
实施例2
图5为本发明实施例提供的一种基于量子密钥卡的抗量子计算云存储的文件读取方法流程图,具体过程如下:
步骤2.1:用户端上传数据文件Hash值和各个算法ID。
具体地,用户端将想要读取的文件的Hash值以及各个算法ID上传至服务器。
步骤2.2:服务器将相应信息发送至用户端。
服务器收到文件Hash值和算法ID后,找到与该Hash值和算法ID对应的信息,将密文和个人密钥以及公钥密钥真随机数rk发送至用户端。
步骤2.3:用户端得到文件密钥。
用户端得到公钥密钥真随机数rk后进一步得到公钥密钥kk,具体步骤如图3所示。使用公钥密钥kk解密个人密钥得到初级个人密钥,再使用私钥解密初级个人密钥得到文件密钥真随机数rf并进一步得到文件密钥kf,具体步骤如图2所示。
步骤2.4:用户端得到数据文件。
用户端使用文件密钥解密从服务器得到的密文,得到数据文件,完成对服务器文件的读取。
特别地,多个用户端共享数据文件时,用户端A将一个文件作为可共享给用户端B的文件时,用户端A上传用户端A的个人密钥的同时上传用户端B的个人密钥。同时,用户端A将加密的数字签名上传至服务器,用户端B通过数字签名验证进而信任用户端A共享的密文后,用户端B使用用户端B的公钥密钥真随机数rk得到公钥密钥kk,使用公钥密钥kk和自己的私钥解密用户端B个人密钥就能得到文件密钥真随机数rf并进一步得到文件密钥,利用该文件密钥得到该数据明文,进而实现数据文件读取。
量子密钥卡从智能卡技术上发展而来,是结合了量子物理学技术(搭载量子随机数发生器的情况下)、密码学技术、硬件安全隔离技术的身份认证和加解密产品。量子密钥卡的内嵌芯片和操作系统可以提供密钥的安全存储和密码算法等功能。由于其具有独立的数据处理能力和良好的安全性,量子密钥卡成为私钥和密钥池的安全载体。每一个量子密钥卡都有硬件PIN码保护,PIN码和硬件构成了用户使用量子密钥卡的两个必要因素。即所谓“双因子认证”,用户只有同时取得保存了相关认证信息的量子密钥卡和用户PIN码,才可以登录系统。即使用户的PIN码被泄露,只要用户持有的量子密钥卡不被盗取,合法用户的身份就不会被仿冒;如果用户的量子密钥卡遗失,拾到者由于不知道用户PIN码,也无法仿冒合法用户的身份。
本发明云存储全过程中,服务器端都无法接触到用户端各类密钥(公钥、私钥、文件密钥等)以及明文数据文件。不仅如此,服务器上存储的个人密钥与数据密钥为使用不同方法加密的随机数,该随机数结合特定的密钥选择算法可得到一个指针。该指针指向密钥池中某个特定的区域,在没有得到密钥池的情况下,即使破解了个人密钥或数据密钥也无法得到加密文件的文件密钥。本专利使用加密后的公钥对文件密钥进行加密,且使用量子密钥卡存储公钥,量子密钥卡是独立的硬件隔离设备,被恶意软件或恶意操作窃取密钥的可能性大大降低。由于量子计算机无法得到用户公钥,于是也无法得到对应的私钥,因此该方案不容易被量子计算机破解。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于量子密钥卡的抗量子计算云存储方法,包括用户端将利用文件密钥加密的数据文件上传至服务器,其特征在于,所述用户端配置有量子密钥卡,所述文件密钥是利用量子密钥卡所产生的文件密钥真随机数生成,且所述用户端将所述文件密钥真随机数以加密形式上传至所述服务器;
所述文件密钥真随机数的加密方式为使用公钥加密文件密钥真随机数得到初级个人密钥,公钥密钥加密所述初级个人密钥得到个人密钥,以及使用文件特征值加密文件密钥真随机数得到数据密钥;所述用户端将所述个人密钥、所述数据密钥分别作为加密形式的文件密钥真随机数发送至所述服务器。
2.根据权利要求1所述的基于量子密钥卡的抗量子计算云存储方法,其特征在于,所述文件密钥生成方法包括:将所述文件密钥真随机数结合文件密钥种子指针函数得到文件密钥种子指针,利用该文件密钥种子指针从所述量子密钥卡中提取对应的文件密钥种子,该文件密钥种子结合文件密钥函数得到所述文件密钥;所述用户端还将所述文件密钥种子指针函数ID和文件密钥函数的ID发送至所述服务器。
3.根据权利要求1所述的基于量子密钥卡的抗量子计算云存储方法,其特征在于,所述公钥密钥是利用量子密钥卡所产生的公钥密钥真随机数生成,生成方法包括:所述公钥密钥真随机数结合公钥密钥种子指针函数得到公钥密钥种子指针,利用该公钥密钥种子指针从所述量子密钥卡中提取对应的公钥密钥种子,该公钥密钥种子结合公钥密钥函数得到所述公钥密钥;所述用户端还将所述公钥密钥真随机数、公钥密钥种子指针函数ID以及公钥密钥函数ID发送至所述服务器。
4.根据权利要求2所述的基于量子密钥卡的抗量子计算云存储方法,其特征在于,所述文件密钥种子指针函数ID和文件密钥函数ID作为所述服务器是否进行去重的标识。
5.根据权利要求1所述的基于量子密钥卡的抗量子计算云存储方法,其特征在于,所述用户端有一个或多个,各用户端配置的量子密钥卡中存储有相同的密钥池,上传数据文件的用户端通过己方的密钥池生成文件密钥以加密数据文件,下载数据文件的用户端利用来自服务器的真随机数结合己方的密钥池相应生成文件密钥以解密出数据文件。
6.根据权利要求5所述的基于量子密钥卡的抗量子计算云存储方法,其特征在于,多个用户端共享数据文件时,共享用户端和被共享用户端均公开抗量子计算公钥组合,所述抗量子计算公钥组合由所述公钥密钥真随机数和由所述公钥密钥加密公钥所得的加密的公钥组成,所述共享用户端通过所述抗量子计算公钥组合生成所述被共享用户端的个人密钥,上传所述个人密钥至所述服务器进而实现对所述被共享用户端的文件共享。
7.一种基于量子密钥卡的抗量子计算云存储方法,包括服务器接收并存储来自用户端利用文件密钥加密的数据文件,其特征在于,所述服务器还接收并存储来自用户端的个人密钥和数据密钥,所述个人密钥和所述数据密钥由所述文件密钥真随机数加密获得;
所述文件密钥真随机数的加密方式为使用公钥加密文件密钥真随机数得到初级个人密钥,公钥密钥加密所述初级个人密钥得到个人密钥;以及使用文件特征值加密文件密钥真随机数得到数据密钥。
8.根据权利要求7所述的基于量子密钥卡的抗量子计算云存储方法,其特征在于,所述服务器接收并存储用于生成所述公钥密钥的公钥密钥真随机数,所述公钥密钥真随机数由量子密钥卡生成。
9.根据权利要求8所述的基于量子密钥卡的抗量子计算云存储方法,其特征在于,所述服务器还接收并存储来自所述用户端的与生成所述文件密钥相关的函数ID,其中两个函数ID作为服务器是否进行去重的指示标识;
当服务器依据所述指示标识判断去重时,所述服务器向所述用户端发送数据密钥;
当服务器依据所述指示标识判断不需去重时,接受存储来自所述用户端的与生成所述文件密钥相关的函数ID。
10.一种基于量子密钥卡的抗量子计算云存储系统,包括服务器和用户端,其特征在于,
所述用户端将利用文件密钥加密的数据文件上传至所述服务器,所述用户端配置有量子密钥卡,所述文件密钥是利用所述量子密钥卡所产生的文件密钥真随机数生成,且所述用户端还将所述文件密钥真随机数以加密形式上传至所述服务器;
所述文件密钥真随机数的加密方式为使用公钥加密文件密钥真随机数得到初级个人密钥,公钥密钥加密所述初级个人密钥得到个人密钥,以及使用文件特征值加密文件密钥真随机数得到数据密钥,其中所述公钥密钥由用户端的公钥密钥真随机数生成,所述用户端上传所述公钥密钥真随机数至所述服务器,同时所述个人密钥、所述数据密钥分别作为加密形式的文件密钥真随机数发送至所述服务器;
所述服务器接收并存储来自所述用户端的个人密钥、公钥密钥真随机数以及数据文件;
用户端下载个人密钥、公钥密钥真随机数以及利用文件密钥加密的数据文件,用户端在己方所配置的量子密钥卡中利用所述公钥密钥真随机数与个人密钥相结合得到初级个人密钥,并使用私钥解密所述初级个人密钥得到文件密钥真随机数进而生成文件密钥,解密获得数据文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811102338.2A CN109299618B (zh) | 2018-09-20 | 2018-09-20 | 基于量子密钥卡的抗量子计算云存储方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811102338.2A CN109299618B (zh) | 2018-09-20 | 2018-09-20 | 基于量子密钥卡的抗量子计算云存储方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109299618A true CN109299618A (zh) | 2019-02-01 |
CN109299618B CN109299618B (zh) | 2020-06-16 |
Family
ID=65163941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811102338.2A Active CN109299618B (zh) | 2018-09-20 | 2018-09-20 | 基于量子密钥卡的抗量子计算云存储方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109299618B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110048833A (zh) * | 2019-03-04 | 2019-07-23 | 全球能源互联网研究院有限公司 | 基于量子卫星密钥网络的电力业务加密方法及装置 |
CN111314083A (zh) * | 2020-01-21 | 2020-06-19 | 南京如般量子科技有限公司 | 基于秘密共享和非对称密码学的量子保密通信系统和方法 |
CN111526131A (zh) * | 2020-04-08 | 2020-08-11 | 南京如般量子科技有限公司 | 基于秘密共享和量子通信服务站的抗量子计算的电子公文传输方法和系统 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101986663A (zh) * | 2010-11-29 | 2011-03-16 | 北京卓微天成科技咨询有限公司 | 一种基于otp的云存储数据存储方法、装置及系统 |
CN105653986A (zh) * | 2015-12-25 | 2016-06-08 | 成都三零嘉微电子有限公司 | 一种基于microSD卡的数据保护方法及装置 |
WO2016118359A1 (en) * | 2015-01-22 | 2016-07-28 | Alibaba Group Holding Limited | Method, apparatus, and system for quantum key distribution |
US20160277373A1 (en) * | 2014-04-04 | 2016-09-22 | Zettaset, Inc. | Securing files under the semi-trusted user threat model using per-file key encryption |
US20160315768A1 (en) * | 2015-04-22 | 2016-10-27 | Alibaba Group Holding Limited | Method, apparatus, and system for cloud-based encryption machine key injection |
CN106209739A (zh) * | 2015-05-05 | 2016-12-07 | 科大国盾量子技术股份有限公司 | 云存储方法及系统 |
CN106357396A (zh) * | 2016-09-23 | 2017-01-25 | 浙江神州量子网络科技有限公司 | 数字签名方法和系统以及量子密钥卡 |
CN106452740A (zh) * | 2016-09-23 | 2017-02-22 | 浙江神州量子网络科技有限公司 | 一种量子通信服务站、量子密钥管理装置以及密钥配置网络和方法 |
CN106612176A (zh) * | 2016-12-16 | 2017-05-03 | 中国电子科技集团公司第三十研究所 | 一种基于量子真随机数协商密钥协商系统及协商方法 |
CN106656490A (zh) * | 2016-12-26 | 2017-05-10 | 浙江神州量子网络科技有限公司 | 量子白板数据存储方法 |
CN107251041A (zh) * | 2015-03-25 | 2017-10-13 | 英特尔公司 | 用于保护并控制对数据进行访问的技术 |
US20180109377A1 (en) * | 2016-10-14 | 2018-04-19 | Alibaba Group Holding Limited | Method and system for data security based on quantum communication and trusted computing |
CN108205575A (zh) * | 2016-12-20 | 2018-06-26 | 北京国双科技有限公司 | 数据处理方法和装置 |
-
2018
- 2018-09-20 CN CN201811102338.2A patent/CN109299618B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101986663A (zh) * | 2010-11-29 | 2011-03-16 | 北京卓微天成科技咨询有限公司 | 一种基于otp的云存储数据存储方法、装置及系统 |
US20160277373A1 (en) * | 2014-04-04 | 2016-09-22 | Zettaset, Inc. | Securing files under the semi-trusted user threat model using per-file key encryption |
WO2016118359A1 (en) * | 2015-01-22 | 2016-07-28 | Alibaba Group Holding Limited | Method, apparatus, and system for quantum key distribution |
CN107251041A (zh) * | 2015-03-25 | 2017-10-13 | 英特尔公司 | 用于保护并控制对数据进行访问的技术 |
US20160315768A1 (en) * | 2015-04-22 | 2016-10-27 | Alibaba Group Holding Limited | Method, apparatus, and system for cloud-based encryption machine key injection |
CN106209739A (zh) * | 2015-05-05 | 2016-12-07 | 科大国盾量子技术股份有限公司 | 云存储方法及系统 |
CN105653986A (zh) * | 2015-12-25 | 2016-06-08 | 成都三零嘉微电子有限公司 | 一种基于microSD卡的数据保护方法及装置 |
CN106357396A (zh) * | 2016-09-23 | 2017-01-25 | 浙江神州量子网络科技有限公司 | 数字签名方法和系统以及量子密钥卡 |
CN106452740A (zh) * | 2016-09-23 | 2017-02-22 | 浙江神州量子网络科技有限公司 | 一种量子通信服务站、量子密钥管理装置以及密钥配置网络和方法 |
US20180109377A1 (en) * | 2016-10-14 | 2018-04-19 | Alibaba Group Holding Limited | Method and system for data security based on quantum communication and trusted computing |
CN106612176A (zh) * | 2016-12-16 | 2017-05-03 | 中国电子科技集团公司第三十研究所 | 一种基于量子真随机数协商密钥协商系统及协商方法 |
CN108205575A (zh) * | 2016-12-20 | 2018-06-26 | 北京国双科技有限公司 | 数据处理方法和装置 |
CN106656490A (zh) * | 2016-12-26 | 2017-05-10 | 浙江神州量子网络科技有限公司 | 量子白板数据存储方法 |
Non-Patent Citations (2)
Title |
---|
WEI SONG等: "A Practical Group Key Management Algorithm for", 《CHINA COMMUNICATIONS》 * |
富尧: "中国博士学位论文全文数据库 基础科学辑", 《中国博士学位论文全文数据库 基础科学辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110048833A (zh) * | 2019-03-04 | 2019-07-23 | 全球能源互联网研究院有限公司 | 基于量子卫星密钥网络的电力业务加密方法及装置 |
CN111314083A (zh) * | 2020-01-21 | 2020-06-19 | 南京如般量子科技有限公司 | 基于秘密共享和非对称密码学的量子保密通信系统和方法 |
CN111314083B (zh) * | 2020-01-21 | 2023-04-07 | 南京如般量子科技有限公司 | 基于秘密共享和非对称密码学的量子保密通信系统和方法 |
CN111526131A (zh) * | 2020-04-08 | 2020-08-11 | 南京如般量子科技有限公司 | 基于秘密共享和量子通信服务站的抗量子计算的电子公文传输方法和系统 |
CN111526131B (zh) * | 2020-04-08 | 2022-02-01 | 南京如般量子科技有限公司 | 基于秘密共享和量子通信服务站的抗量子计算的电子公文传输方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109299618B (zh) | 2020-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109151053A (zh) | 基于公共非对称密钥池的抗量子计算云存储方法和系统 | |
CN109150519A (zh) | 基于公共密钥池的抗量子计算云存储安全控制方法和系统 | |
CN109104276A (zh) | 一种基于密钥池的云存储安全控制方法和系统 | |
CN109495274B (zh) | 一种去中心化智能锁电子钥匙分发方法及系统 | |
KR100734162B1 (ko) | 공중/개인키 쌍들의 안전한 분배 방법 및 장치 | |
US7502467B2 (en) | System and method for authentication seed distribution | |
US20110145576A1 (en) | Secure method of data transmission and encryption and decryption system allowing such transmission | |
KR20190073472A (ko) | 데이터 송신 방법, 장치 및 시스템 | |
CN108985099A (zh) | 一种基于公共密钥池的代理云存储安全控制方法和系统 | |
CN108989033A (zh) | 一种基于公共密钥池的云存储安全控制方法和系统 | |
WO2017147503A1 (en) | Techniques for confidential delivery of random data over a network | |
CN103124269A (zh) | 云环境下基于动态口令与生物特征的双向身份认证方法 | |
CN103795533A (zh) | 基于标识符的加密、解密的方法及其执行装置 | |
CN109951513B (zh) | 基于量子密钥卡的抗量子计算智能家庭量子云存储方法和系统 | |
CN103036684B (zh) | 降低主密钥破解和泄露危害的ibe数据加密系统及方法 | |
CN109495251A (zh) | 基于密钥卡的抗量子计算智能家庭云存储方法和系统 | |
CN109921905B (zh) | 基于私钥池的抗量子计算密钥协商方法和系统 | |
CN109347923A (zh) | 基于非对称密钥池的抗量子计算云存储方法和系统 | |
EP1079565A2 (en) | Method of securely establishing a secure communication link via an unsecured communication network | |
CN109299618A (zh) | 基于量子密钥卡的抗量子计算云存储方法和系统 | |
CN111416712B (zh) | 基于多个移动设备的量子保密通信身份认证系统及方法 | |
CN110224816A (zh) | 基于密钥卡和序列号的抗量子计算应用系统以及近距离节能通信方法和计算机设备 | |
CN109495244A (zh) | 基于对称密钥池的抗量子计算密钥协商方法 | |
CN109787747A (zh) | 基于多个非对称密钥池的抗量子计算多重加密云存储方法和系统 | |
CN111245609B (zh) | 基于秘密共享和随机数的量子保密通信密钥分发和协商系统及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |