CN109587170A - 基于多个公共非对称密钥池的抗量子计算云存储方法和系统 - Google Patents

基于多个公共非对称密钥池的抗量子计算云存储方法和系统 Download PDF

Info

Publication number
CN109587170A
CN109587170A CN201811643833.4A CN201811643833A CN109587170A CN 109587170 A CN109587170 A CN 109587170A CN 201811643833 A CN201811643833 A CN 201811643833A CN 109587170 A CN109587170 A CN 109587170A
Authority
CN
China
Prior art keywords
key
public
user terminal
defence
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
Application number
CN201811643833.4A
Other languages
English (en)
Other versions
CN109587170B (zh
Inventor
富尧
钟民
钟一民
杨羽成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ruban Quantum Technology Co Ltd
Original Assignee
Ruban Quantum Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ruban Quantum Technology Co Ltd filed Critical Ruban Quantum Technology Co Ltd
Priority to CN201811643833.4A priority Critical patent/CN109587170B/zh
Publication of CN109587170A publication Critical patent/CN109587170A/zh
Application granted granted Critical
Publication of CN109587170B publication Critical patent/CN109587170B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种基于多个公共非对称密钥池的抗量子计算云存储方法和系统,包括用户端、公共密钥池装置及服务器,用户端及公共密钥池装置均配有密钥卡,用户端结合公共密钥池装置将加密的数据文件上传服务器,服务器接收用户端加密的个人密钥及数据密钥、防御公钥加密的随机数、防御公私钥随机数以及利用文件密钥加密的数据文件;用户端下载数据,并利用防御公私钥随机数与公共密钥池装置结合获得数据文件。云存储过程中,服务器端无法接触到用户端的各类密钥及明文数据文件,同时服务器上存储的个人密钥与数据密钥为使用不同方法加密的随机数,该随机数结合公共密钥池装置,在无公共密钥池装置的情况下,即使破解个人密钥或数据密钥也无法得到加密文件的文件密钥。

Description

基于多个公共非对称密钥池的抗量子计算云存储方法和系统
技术领域
本发明涉及云存储领域,尤其涉及基于多个公共非对称密钥池的抗量子计算云存储方法和系统。
背景技术
随着科技的发展,云存储已经越来越成为一种趋势,各种云存储技术层出不穷,为了保证云存储数据的安全,通常会利用各种加密方法来保证数据的安全性,例如,可以通过非对称密钥加密来保证数据的安全性,非对称密钥加密需要使用不同的密钥来分别完成加密和解密操作,一个公开发布,即公钥,另一个由用户自己秘密保存,即私钥。信息发送者用公钥去加密,而信息接收者用私钥去解密。
由于云存储中多采用共享存储,这使得服务商需要对私钥进行控制,导致私钥的安全性较低。公开号为CN103236934A,发明名称为“一种云存储安全控制的方法”的发明专利文献,公开了一种用于解决私钥安全性较低的问题的方法。该发明使用两种不同的加密方式对用户的私钥进行加密并分别存储。
正如大多数人所了解的,量子计算机在密码破解上有着巨大潜力。当今主流的非对称(公钥)加密算法,如RSA加密算法,大多数都是基于大整数的因式分解或者有限域上的离散指数的计算这两个数学难题。他们的破解难度也就依赖于解决这些问题的效率。传统计算机上,要求解这两个数学难题,花费时间为指数时间(即破解时间随着公钥长度的增长以指数级增长),这在实际应用中是无法接受的。而为量子计算机量身定做的秀尔算法可以在多项式时间内(即破解时间随着公钥长度的增长以k次方的速度增长,其中k为与公钥长度无关的常数)进行整数因式分解或者离散对数计算,从而为RSA、离散对数加密算法的破解提供可能。
当前企业或事业单位有时有数据上云的需求,而公有云一般不容易受这些单位信任,被认为信息安全可能有问题,或者密钥容易被黑客所获得并破解,因此造成了公有云客户对数据上云有后顾之忧。
现有技术存在的问题:
(1)在服务器上进行密钥存储有一定的危险性。公有云客户对数据上云有后顾之忧。
(2)公开号为CN103236934A,发明名称为“一种云存储安全控制的方法”的发明专利文献,使用用户公钥对文件密钥进行加密,由于量子计算机能快速通过公钥得到对应的私钥,因此该方案很容易被量子计算机破解。
发明内容
基于此,有必要针对上述问题,提供一种基于多个公共非对称密钥池的抗量子计算云存储方法和系统。
一种基于多个公共非对称密钥池的抗量子计算云存储方法,包括用户端结合公共密钥池装置将利用文件密钥加密的数据文件上传至服务器,所述用户端及公共密钥池装置均配置有密钥卡,所述文件密钥是利用密钥卡内随机数发生器生成,且所述用户端将所述文件密钥以加密形式上传至所述服务器;
所述文件密钥加密方式为:所述用户端使用身份公钥加密所述文件密钥得到个人密钥,以及使用文件特征值加密所述文件密钥得到数据密钥;同时利用所述用户端的密钥卡生成的随机数分别加密所述个人密钥、数据密钥,令防御公钥加密所述随机数;其中所述防御公钥由所述用户端产生的防御公私钥随机数与所述公共密钥池装置结合获得;
所述用户端将加密的个人密钥、加密的数据密钥、防御公钥加密的随机数、防御公私钥随机数以及文件密钥加密的数据文件上传所述服务器。
当前有很多存储云服务,其中包括很多公有云。下文中,存储云的服务器即云服务端简称为服务器,云用户端群组中的云用户端简称为用户端。
本实施例中用户端为接入存储云的设备,可为移动终端,或为固定终端。终端均配备有密钥卡。本实施例中,属于一个用户端群组的各个用户端所匹配的密钥卡颁发方为密钥卡的主管方,一般为某企业或事业单位的管理部门;密钥卡被颁发方为密钥卡的主管方所管理的成员,一般为某企业或事业单位的各级员工,其使用存储云用户端进行云端数据存取,下文统称成员所使用的存储云用户端为用户端。用户端首先到密钥卡的主管方申请开户。当用户端进行注册登记获批后,将得到密钥卡(具有唯一的ID)。密钥卡存储了客户所需要的密钥,密钥卡还存有客户的注册登记信息,内置有身份认证协议,至少包括密钥生成算法以及认证函数,或其他与身份认证相关的算法。密钥卡中还带有量子随机数发生器。
在其中一个实施例中,所述用户端有一个或多个,所述公共密钥池装置内存储有供各用户端访问的公共密钥池,所述用户端与所述公共密钥池装置通信连接,上传数据文件的用户端利用所述公共密钥池提取防御公钥并令该防御公钥加密随机数,所述随机数由用户端的密钥卡生成,用以加密个人密钥及数据密钥,下载数据文件的用户端利用所述公共密钥池结合来自服务器的随机数相应生成文件密钥以解密出数据文件。
在其中一个实施例中,所述公共密钥池内的密钥区包括:
防御非对称密钥池,分为防御公钥池及防御私钥池,用于存储防御公钥及防御私钥;
身份非对称密钥池,所述身份非对称密钥池的公钥区拥有所有用户端的公钥,身份非对称密钥池的私钥区存储本用户端的私钥。
在其中一个实施例中,所述身份公钥的生成方法包括:利用身份公钥指针随机数结合身份公钥指针函数得到身份公钥指针,利用该身份公钥指针在所述用户端的密钥卡内提取身份公钥。
在其中一个实施例中,所述防御公钥的生成方法包括:所述用户端将防御公私钥随机数加密发送至所述公共密钥池装置,该公共密钥池装置接收并解密后,利用该防御公私钥随机数提取加密的防御公钥并发送至所述用户端,所述用户端解密获得所述防御公钥;其中,所述加密的防御公钥由所述公共密钥池装置的密钥卡产生的真随机数加密防御公钥获得,所述公共密钥池装置还将该随机数加密发送至所述用户端,所述用户端解密该加密的随机数进而获得防御公钥。
在其中一个实施例中,所述加密的防御公钥提取方式包括:所述防御公私钥随机数结合防御公钥指针函数得到防御公钥指针,利用该防御公钥指针从所述公共密钥池装置内提取加密的防御公钥,其中所述用户端仅公开所述防御公私钥指针随机数。
在其中一个实施例中,所述用户端将数据文件的Hash值上传至所述服务器,所述数据文件的Hash值作为服务器是否进行去重的指示标识。
一种基于多个公共非对称密钥池的抗量子计算云存储方法,包括服务器接收并存储来自用户端利用文件密钥加密的数据文件,所服务器还接收并存储来自用户端的加密的文件密钥,其中所述用户端及公共密钥池装置均配置有密钥卡;
所述文件密钥加密方式为:所述用户端使用身份公钥加密所述文件密钥得到个人密钥,以及使用文件特征值加密所述文件密钥得到数据密钥;同时利用所述用户端的密钥卡生成的随机数分别加密所述个人密钥、数据密钥,令防御公钥加密所述随机数;其中所述防御公钥由所述用户端产生的防御公私钥随机数与所述公共密钥池装置结合获得。
在其中一个实施例中,所述服务器还接收并存储来自所述用户端的数据文件的Hash值,其中该数据文件的Hash值作为服务器是否进行去重的指示标识;
当服务器依据所述指示标识判断去重时,所述服务器向所述用户端发送数据密钥;
当服务器依据所述指示标识判断不需去重时,接受存储来自所述用户端的数据文件的Hash值。
一种基于多个公共非对称密钥池的抗量子计算云存储系统,包括用户端、公共密钥池装置及服务器,所述用户端结合公共密钥池装置将利用文件密钥加密的数据文件上传至服务器,所述用户端及公共密钥池装置均配置有密钥卡,所述文件密钥是利用密钥卡内随机数发生器生成,且所述用户端将所述文件密钥以加密形式上传至所述服务器;
所述文件密钥加密方式为:所述用户端使用身份公钥加密所述文件密钥得到个人密钥,以及使用文件特征值加密所述文件密钥得到数据密钥;同时利用所述用户端的密钥卡生成的随机数分别加密所述个人密钥、数据密钥,令防御公钥加密所述随机数;其中所述防御公钥由所述用户端产生的防御公私钥随机数与所述公共密钥池装置结合获得;
所述用户端将加密的个人密钥、加密的数据密钥、防御公钥加密的随机数、防御公私钥随机数以及文件密钥加密的数据文件上传所述服务器;
所述服务器接收并存储来自所述用户端的加密的个人密钥、加密的数据密钥、防御公钥加密的随机数、防御公私钥随机数以及文件密钥加密的数据文件;
用户端下载加密的个人密钥、防御公钥加密的随机数、防御公私钥随机数以及利用文件密钥加密的数据文件,并利用所述防御公私钥随机数与所述公共密钥池装置结合提取防御私钥,利用该防御私钥获得所述个人密钥进而获得数据文件。
上述基于多个公共非对称密钥池的抗量子计算云存储方法和系统,包括用户端、公共密钥池装置及服务器,用户端及公共密钥池装置均配置有密钥卡,用户端结合公共密钥池装置将利用文件密钥加密的数据文件上传至服务器,同时所述用户端将加密的个人密钥、加密的数据密钥、防御公钥加密的随机数、防御公私钥随机数上传所述服务器,服务器接收并存储来自所述用户端的相关数据;用户端下载加密的个人密钥、防御公钥加密的随机数、防御公私钥随机数以及利用文件密钥加密的数据文件,并利用所述防御公私钥随机数与所述公共密钥池装置结合提取防御私钥,利用该防御私钥获得所述个人密钥进而获得数据文件。云存储过程中,服务器端都无法接触到用户端各类密钥(公钥、私钥、文件密钥等)以及明文数据文件。同时服务器上存储的个人密钥与数据密钥为使用不同方法加密的随机数,该随机数结合特定的密钥选择算法可得到一个指针。该指针指向密钥池中某个特定的区域,在没有得到密钥池的情况下,即使破解了个人密钥或数据密钥也无法得到加密文件的文件密钥。密钥卡的设立,大大降低被恶意软件或恶意操作窃取密钥的可能性。由于量子计算机无法得到用户公钥,于是也无法得到对应的私钥,因此该方案不容易被量子计算机破解。
附图说明
图1为本发明实施例提供的存储系统的结构示意图;
图2为本发明实施例提供的用户端的密钥区结构示意图;
图3为本发明实施例提供的公共密钥池装置的密钥区结构示意图;
图4为本发明实施例提供的公共密钥池装置的结构示意图;
图5为公共密钥池装置的随机数发生器产生的随机数的加密方式示意图;
图6为本发明实施例提供的防御非对称密钥池存储方式流程图;
图7为本发明实施例提供的身份非对称密钥池存储方式流程图;
图8为本发明实施例提供的防御公私钥读取方式流程图;
图中(a)部分为防御公钥读取方式流程图;
图中(b)部分为防御私钥读取方式流程图;
图9为本发明实施例提供的身份公钥读取方式流程图;
图10为本发明实施例1提供的不需去重的存储方法时序图;
图11为本发明实施例1提供的需要去重的存储方法时序图;
图12为本发明实施例提供的服务器的某文件存储区的示意图;
图13为本发明实施例2提供的读取方法的时序图。
具体实施方式
一种基于多个公共非对称密钥池的抗量子计算云存储系统,包括用户端、公共密钥池装置及服务器,所述用户端结合公共密钥池装置将利用文件密钥加密的数据文件上传至服务器,所述用户端及公共密钥池装置均配置有密钥卡,所述文件密钥是利用密钥卡内随机数发生器生成,且所述用户端将所述文件密钥以加密形式上传至所述服务器;
所述文件密钥加密方式为:所述用户端使用身份公钥加密所述文件密钥得到个人密钥,以及使用文件特征值加密所述文件密钥得到数据密钥;同时利用所述用户端的密钥卡生成的随机数分别加密所述个人密钥、数据密钥,令防御公钥加密所述随机数;其中所述防御公钥由所述用户端产生的防御公私钥随机数与所述公共密钥池装置结合获得;
所述用户端将加密的个人密钥、加密的数据密钥、防御公钥加密的随机数、防御公私钥随机数以及文件密钥加密的数据文件上传所述服务器;
所述服务器接收并存储来自所述用户端的加密的个人密钥、加密的数据密钥、防御公钥加密的随机数、防御公私钥随机数以及文件密钥加密的数据文件;
用户端下载加密的个人密钥、防御公钥加密的随机数、防御公私钥随机数以及利用文件密钥加密的数据文件,并利用所述防御公私钥随机数与所述公共密钥池装置结合提取防御私钥,利用该防御私钥获得所述个人密钥进而获得数据文件。
图1为本发明实施例提供的存储系统的结构示意图,用户端群组CC与公共密钥池装置以及云存储CS分别网络连接。其中用户端群组CC由多个用户端组成。每个用户端都有自己匹配的密钥卡,密钥卡中密钥区结构如图2所示,每个密钥卡内部存储该用户端的身份私钥KA以及身份公钥密钥池IPKP,密钥池中存有所有成员的身份公钥。密钥卡中还存储有该用户端的公钥指针随机数,图中KRA/KA即指A的身份公钥指针随机数/身份私钥。用户端A对外公开的公钥KRA,即身份公钥的指针随机数。用户端群组中的其他成员同理。
身份公钥的存储方式如图7所示,文字描述如下:对某个用户随机取身份公钥指针随机数kr,结合特定的身份公钥指针函数frkp得到身份公钥指针rkp并从相应的身份非对称密钥池IPKP中的对应位置存入该用户的身份公钥krk。
公共密钥池装置P的结构示意图如图4所示,公共密钥池装置P带有密钥卡,公共密钥池装置P带有根密钥区,可以取出根密钥KRP。公共密钥池装置P还带有随机数产生器,该随机数产生器优选为量子随机数发生器,可产生真随机数作为密钥的密钥,该密钥的密钥称为KKP。KP指用户端群组CC所拥有的公共密钥池,存储在公共密钥池装置P。KP容量巨大,例如可以从1G~4096G不等,均为真随机数,优选为量子随机数。公共密钥池装置P可存储多个KP,图中公共密钥池装置P存储有1~M共M个KP区域。每个KP区域使用不同的KKP。KP包括被加密的KKP和被KKP加密的密钥区。密钥区结构如图3所示,分为防御非对称密钥池(公钥/私钥)、身份非对称密钥池(公钥)以及身份非对称密钥(私钥)。其中,防御非对称密钥池的公钥与私钥一一对应,身份非对称密钥池的公钥区拥有本组织所有用户的公钥,身份非对称密钥池的私钥区存储本用户的私钥。KKP用根密钥KRP加密,如图5所示。
防御非对称密钥池的存储方式如图6所示,文字描述如下:对某个用户随机取防御公私钥指针随机数rd,防御公私钥指针随机数rd结合特定的防御公钥指针函数fpp得到防御公钥指针pp并从防御非对称密钥池DPKP中的对应位置存入该用户的防御公钥pk;防御公私钥指针随机数rd结合特定的防御私钥指针函数fsp得到防御私钥指针sp并从防御非对称密钥池DSKP中的对应位置存入该用户的防御私钥sk。防御公钥pk和防御私钥sk是成对的公私钥对。
以下步骤中,在各用户端涉及的多处操作,都在匹配的密钥卡中进行。在公共密钥池涉及的多处操作,都在匹配的密钥卡中进行。
以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
实施例1
步骤1.1.用户端将数据文件的Hash值上传至服务器:用户端计算出数据文件的Hash值,并将该Hash值上传至服务器。服务器为了减轻存储压力,将对文件进行密文去重,即鉴别重复文件。
步骤1.2.服务器鉴别重复文件:服务器对文件的Hash值进行考虑来鉴别重复文件,即如果两份文件具有相同的Hash值则认为有相同的数据文件需要去重。若服务器判断不需要去重,服务器保存收到的这个Hash值,并执行步骤1.3。若需要去重,服务器执行步骤1.4。
步骤1.3.若服务器不需要去重,将文件存储在云服务器上的时序图如图10所示,文字描述如下:
步骤1.3.1服务器通知用户端生成文件密钥:服务器保存收到的Hash值,将服务器不存在具有相同数据文件的信息发送给用户端。以下将该用户端标识为用户端1,用户端1的身份标识为ID1,以此类推。
步骤1.3.2用户端向公共密钥池装置获取加密的防御公钥:用户端生成密文、数据密钥和个人密钥1后,将防御公私钥随机数r0和防御公私钥随机数r1使用公共密钥池装置P的公钥加密发送给公共密钥池装置P。生成密文、数据密钥和个人密钥1的过程如下:
用户端1利用量子随机数发生器生成一个文件密钥kf,使用文件密钥kf加密文件得到密文。
使用文件特征值加密文件密钥kf得到数据密钥。文件特征值的计算方法为预定义的算法,可以是但不限于Hash计算、文件压缩或其他文件特征计算算法。
用户端1使用自己的身份公钥krk1加密文件密钥kf得到个人密钥1。本专利明文身份公钥不公开,仅公开身份公钥指针随机数。由身份公钥指针随机数kr得到身份公钥krk的过程如图9所示,文字描述如下:
使用自己的身份公钥指针随机数kr结合特定的身份公钥指针函数frkp得到身份公钥指针rkp,然后从相应的身份非对称密钥池IPKP中的对应位置取出身份公钥krk。
公共密钥池装置P收到加密的防御公私钥随机数r0和防御公私钥随机数r1后,使用私钥解密得到防御公私钥随机数r0和防御公私钥随机数r1,通过防御公私钥随机数r0和防御公私钥随机数r1得到防御公钥pk0和防御公钥pk1,过程如图8(a)所示,文字描述如下:
以由防御公私钥随机数r0得到防御公钥pk0的过程为例,防御公私钥随机数r0结合特定的防御公钥指针函数fpp得到防御公钥指针pp,然后从相应的防御非对称密钥池DPKP中的对应位置取出防御公钥pk0。
由于防御非对称密钥池DPKP在公共密钥池装置P中是加密存储的,提取出的公钥也为使用kkp加密的防御公钥kp0和防御公钥pk1。公共密钥池装置P将加密的防御公钥pk0,加密的防御公钥pk1以及使用用户端1的身份公钥加密的kkp发送给用户端。
步骤1.3.3用户端生成需要上传的内容并发送给服务器:用户端1使用身份私钥对加密的kkp进行解密得到kkp,然后解密得到防御公钥pk0和防御公钥pk1。
用户端1的密钥卡生成随机数k0,使用随机数k0加密数据密钥并使用防御公钥pk0加密随机数k0。
用户端1的密钥卡生成随机数k1,使用随机数k1加密个人密钥1并使用防御公钥pk1加密随机数k1。
用户端1将密文、防御公私钥随机数r0、防御公钥pk0加密的随机数k0、随机数k0加密的数据密钥、ID1、防御公私钥随机数r1、防御公钥pk1加密的随机数k1以及随机数k1加密的个人密钥1发送至服务器。
步骤1.3.4服务器保存相应信息:服务器将收到的信息一一进行保存。
步骤1.4若服务器需要去重,将文件存储在云服务器上的时序图如图11所示,文字描述如下:
步骤1.4.1服务器向用户端发送数据密钥:服务器将使用随机数k0加密的数据密钥发送给公共密钥池装置P,一并发送的还有防御公私钥随机数r0和使用防御公钥pk0加密的随机数k0。
步骤1.4.2用户端向公共密钥池装置P获取用于解密的防御私钥:用户端2收到数据密钥后,将防御公私钥随机数r0和防御公私钥随机数r2使用公共密钥池装置P的公钥加密发送给公共密钥池装置P。
公共密钥池装置P收到加密的防御公私钥随机数r0和防御公私钥随机数r2后,使用私钥解密得到防御公私钥随机数r0和防御公私钥随机数r2,通过防御公私钥随机数r0和防御公私钥随机数r2得到防御私钥sk0和防御公钥钥pk2,过程如图8所示,文字描述如下:
以由防御公私钥随机数r0得到防御私钥sk0的过程为例,如图8(b)所示,r0结合特定的防御私钥指针函数fsp得到防御私钥指针sp,然后从相应的防御非对称密钥池DSKP中的对应位置取出防御私钥sk0。
由防御公私钥随机数r2得到防御公钥pk2的过程如图8(a)所示,文字描述与上文相同。
由于防御非对称密钥池DSKP和防御非对称密钥池DPKP在公共密钥池装置P中是加密存储的,提取出的防御私钥和防御公钥也为使用kkp加密的防御私钥sk0和防御公钥pk2。公共密钥池装置P将加密的防御私钥sk0,加密的防御公钥pk2以及使用用户端2的身份公钥加密的kkp发送给用户端。
步骤1.4.3用户端得到文件密钥并上传个人密钥:用户端2收到加密密钥和加密的kkp之后,使用身份私钥对加密的kkp进行解密得到kkp,然后解密得到防御私钥sk0和防御公钥pk2。
使用防御私钥sk0解密得到随机数k0,使用随机数k0解密得到数据密钥。然后根据数据文件生成的文件特征值,并使用文件特征值解密数据密钥得到文件密钥kf。用户端2使用自己的身份公钥指针随机数kr从身份非对称密钥池中提取出自己的身份公钥krk,过程如图9所示,文字描述与上文相同。用户端2使用身份公钥krk加密文件密钥kf得到个人密钥2后,生成一个随机数k2,使用随机数k2加密个人密钥2,再使用防御公钥pk2加密随机数k2,与ID2、防御公私钥随机数r2一起发送至服务器。
步骤1.4.4服务器保存相应信息:服务器将收到的ID2、防御公私钥随机数r2、防御公钥pk2加密的随机数k2以及随机数k2加密的个人密钥2进行保存。
n个用户上传同一个文件后,该文件的存储区如图12所示,存储有文件的Hash值,使用文件密钥加密文件得到的文件密文,防御公私钥随机数r0、使用防御公钥pk0加密随机数k0和使用随机数k0加密的数据密钥,ID(1~n)、r(1~n)、使用防御公钥pk(1~n)加密的随机数k(1~n)和使用随机数k(1~n)加密的个人密钥(1~n)。
实施例2
图13为本发明实施例提供的存储方法的时序图。
步骤2.1.用户端发起读取文件请求:以用户端n为例,用户端n将想要读取的文件的Hash值作为一个请求,请求中还包括用户端的IDn。用户端n将请求发送至服务器。
步骤2.2.服务器返回相应信息:服务器收到文件Hash值后,找到与该Hash值对应的文件的存储区,将密文、防御公私钥随机数rn、使用防御公钥pkn加密的随机数kn和使用随机数kn加密的个人密钥n发送至用户端。
步骤2.3.用户端向公共密钥池装置P获取解密的防御私钥:用户端n收到个人密钥n等数据后,将防御公私钥随机数rn使用公共密钥池装置P的公钥加密发送给公共密钥池装置P。
公共密钥池装置P收到加密的防御公私钥随机数rn后,使用私钥解密得到防御公私钥随机数rn,通过防御公私钥随机数rn得到防御私钥skn,过程如图8(b)所示,文字描述与上文相同。
由于防御非对称密钥池DSKP在公共密钥池装置P中是加密存储的,提取出的私钥也为使用kkp加密的防御私钥skn。公共密钥池装置P将加密的防御私钥skn以及使用用户端n的身份公钥加密的kkp发送给用户端。
步骤2.4.用户端得到数据文件:用户端使用自己的身份私钥解密得到kkp,再使用kkp解密得到防御私钥skn。使用防御私钥skn解密得到随机数kn,再使用随机数kn解密得到个人密钥n。使用身份私钥解密个人密钥n得到文件密钥kf,使用文件密钥kf解密密文得到数据文件,完成对服务器文件的读取。
密钥卡从智能卡技术上发展而来,是结合了量子物理学技术(搭载量子随机数发生器的情况下)、密码学技术、硬件安全隔离技术的身份认证和加解密产品。密钥卡的内嵌芯片和操作系统可以提供密钥的安全存储和密码算法等功能。由于其具有独立的数据处理能力和良好的安全性,密钥卡成为私钥和密钥池的安全载体。每一个密钥卡都有硬件PIN码保护,PIN码和硬件构成了用户使用密钥卡的两个必要因素。即所谓“双因子认证”,用户只有同时取得保存了相关认证信息的密钥卡和用户PIN码,才可以登录系统。即使用户的PIN码被泄露,只要用户持有的密钥卡不被盗取,合法用户的身份就不会被仿冒;如果用户的密钥卡遗失,拾到者由于不知道用户PIN码,也无法仿冒合法用户的身份。
本实施例云存储全过程中,服务器端都无法接触到用户端各类密钥(公钥、私钥、文件密钥等)以及明文数据文件。不仅如此,服务器上存储的个人密钥与数据密钥为使用不同方法加密的随机数,该随机数结合特定的密钥选择算法可得到一个指针。该指针指向密钥池中某个特定的区域,在没有得到密钥池的情况下,即使破解了个人密钥或数据密钥也无法得到加密文件的文件密钥。本专利使用仅对密钥卡公开的公钥对文件密钥进行加密,且使用密钥卡存储公钥,密钥卡是独立的硬件隔离设备,被恶意软件或恶意操作窃取密钥的可能性大大降低。由于量子计算机无法得到用户公钥,于是也无法得到对应的私钥,因此该方案不容易被量子计算机破解。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种基于多个公共非对称密钥池的抗量子计算云存储方法,包括用户端结合公共密钥池装置将利用文件密钥加密的数据文件上传至服务器,其特征在于,所述用户端及公共密钥池装置均配置有密钥卡,所述文件密钥是利用密钥卡内随机数发生器生成,且所述用户端将所述文件密钥以加密形式上传至所述服务器;
所述文件密钥加密方式为:所述用户端使用身份公钥加密所述文件密钥得到个人密钥,以及使用文件特征值加密所述文件密钥得到数据密钥;同时利用所述用户端的密钥卡生成的随机数分别加密所述个人密钥、数据密钥,令防御公钥加密所述随机数;其中所述防御公钥由所述用户端产生的防御公私钥随机数与所述公共密钥池装置结合获得;
所述用户端将加密的个人密钥、加密的数据密钥、防御公钥加密的随机数、防御公私钥随机数以及文件密钥加密的数据文件上传所述服务器。
2.根据权利要求1所述的基于多个公共非对称密钥池的抗量子计算云存储方法,其特征在于,所述用户端有一个或多个,所述公共密钥池装置内存储有供各用户端访问的公共密钥池,所述用户端与所述公共密钥池装置通信连接,上传数据文件的用户端利用所述公共密钥池提取防御公钥并令该防御公钥加密随机数,所述随机数由用户端的密钥卡生成,用以加密个人密钥及数据密钥,下载数据文件的用户端利用所述公共密钥池结合来自服务器的随机数相应生成文件密钥以解密出数据文件。
3.根据权利要求2所述的基于多个公共非对称密钥池的抗量子计算云存储方法,其特征在于,所述公共密钥池内的密钥区包括:
防御非对称密钥池,分为防御公钥池及防御私钥池,用于存储防御公钥及防御私钥;
身份非对称密钥池,所述身份非对称密钥池的公钥区拥有所有用户端的公钥,身份非对称密钥池的私钥区存储本用户端的私钥。
4.根据权利要求1所述的基于多个公共非对称密钥池的抗量子计算云存储方法,其特征在于,所述身份公钥的生成方法包括:利用身份公钥指针随机数结合身份公钥指针函数得到身份公钥指针,利用该身份公钥指针在所述用户端的密钥卡内提取身份公钥。
5.根据权利要求1所述的基于多个公共非对称密钥池的抗量子计算云存储方法,其特征在于,所述防御公钥的生成方法包括:所述用户端将防御公私钥随机数加密发送至所述公共密钥池装置,该公共密钥池装置接收并解密后,利用该防御公私钥随机数提取加密的防御公钥并发送至所述用户端,所述用户端解密获得所述防御公钥;其中,所述加密的防御公钥由所述公共密钥池装置的密钥卡产生的真随机数加密防御公钥获得,所述公共密钥池装置还将该随机数加密发送至所述用户端,所述用户端解密该加密的随机数进而获得防御公钥。
6.根据权利要求5所述的基于多个公共非对称密钥池的抗量子计算云存储方法,其特征在于,所述加密的防御公钥提取方式包括:所述防御公私钥随机数结合防御公钥指针函数得到防御公钥指针,利用该防御公钥指针从所述公共密钥池装置内提取加密的防御公钥,其中所述用户端仅公开所述防御公私钥指针随机数。
7.根据权利要求1所述的基于多个公共非对称密钥池的抗量子计算云存储方法,其特征在于,所述用户端将数据文件的Hash值上传至所述服务器,所述数据文件的Hash值作为服务器是否进行去重的指示标识。
8.一种基于多个公共非对称密钥池的抗量子计算云存储方法,包括服务器接收并存储来自用户端利用文件密钥加密的数据文件,其特征在于,所服务器还接收并存储来自用户端的加密的文件密钥,其中所述用户端及公共密钥池装置均配置有密钥卡;
所述文件密钥加密方式为:所述用户端使用身份公钥加密所述文件密钥得到个人密钥,以及使用文件特征值加密所述文件密钥得到数据密钥;同时利用所述用户端的密钥卡生成的随机数分别加密所述个人密钥、数据密钥,令防御公钥加密所述随机数;其中所述防御公钥由所述用户端产生的防御公私钥随机数与所述公共密钥池装置结合获得。
9.根据权利要求8所述的基于多个公共非对称密钥池的抗量子计算云存储方法,其特征在于,所述服务器还接收并存储来自所述用户端的数据文件的Hash值,其中该数据文件的Hash值作为服务器是否进行去重的指示标识;
当服务器依据所述指示标识判断去重时,所述服务器向所述用户端发送数据密钥;
当服务器依据所述指示标识判断不需去重时,接受存储来自所述用户端的数据文件的Hash值。
10.一种基于多个公共非对称密钥池的抗量子计算云存储系统,包括用户端、公共密钥池装置及服务器,其特征在于,
所述用户端结合公共密钥池装置将利用文件密钥加密的数据文件上传至服务器,所述用户端及公共密钥池装置均配置有密钥卡,所述文件密钥是利用密钥卡内随机数发生器生成,且所述用户端将所述文件密钥以加密形式上传至所述服务器;
所述文件密钥加密方式为:所述用户端使用身份公钥加密所述文件密钥得到个人密钥,以及使用文件特征值加密所述文件密钥得到数据密钥;同时利用所述用户端的密钥卡生成的随机数分别加密所述个人密钥、数据密钥,令防御公钥加密所述随机数;其中所述防御公钥由所述用户端产生的防御公私钥随机数与所述公共密钥池装置结合获得;
所述用户端将加密的个人密钥、加密的数据密钥、防御公钥加密的随机数、防御公私钥随机数以及文件密钥加密的数据文件上传所述服务器;
所述服务器接收并存储来自所述用户端的加密的个人密钥、加密的数据密钥、防御公钥加密的随机数、防御公私钥随机数以及文件密钥加密的数据文件;
用户端下载加密的个人密钥、防御公钥加密的随机数、防御公私钥随机数以及利用文件密钥加密的数据文件,并利用所述防御公私钥随机数与所述公共密钥池装置结合提取防御私钥,利用该防御私钥获得所述个人密钥进而获得数据文件。
CN201811643833.4A 2018-12-29 2018-12-29 基于多个公共非对称密钥池的抗量子计算云存储方法和系统 Active CN109587170B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811643833.4A CN109587170B (zh) 2018-12-29 2018-12-29 基于多个公共非对称密钥池的抗量子计算云存储方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811643833.4A CN109587170B (zh) 2018-12-29 2018-12-29 基于多个公共非对称密钥池的抗量子计算云存储方法和系统

Publications (2)

Publication Number Publication Date
CN109587170A true CN109587170A (zh) 2019-04-05
CN109587170B CN109587170B (zh) 2020-11-17

Family

ID=65932735

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811643833.4A Active CN109587170B (zh) 2018-12-29 2018-12-29 基于多个公共非对称密钥池的抗量子计算云存储方法和系统

Country Status (1)

Country Link
CN (1) CN109587170B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050080764A1 (en) * 2003-10-14 2005-04-14 Akihiko Ito Information providing system, information providing server, user terminal device, contents display device, computer program, and contents display method
CN107800537A (zh) * 2017-11-27 2018-03-13 安徽问天量子科技股份有限公司 基于量子密钥分配技术的加密数据库系统及方法、存储方法及查询方法
CN108985099A (zh) * 2018-07-31 2018-12-11 如般量子科技有限公司 一种基于公共密钥池的代理云存储安全控制方法和系统
CN108989033A (zh) * 2018-07-31 2018-12-11 如般量子科技有限公司 一种基于公共密钥池的云存储安全控制方法和系统
CN109104276A (zh) * 2018-07-31 2018-12-28 如般量子科技有限公司 一种基于密钥池的云存储安全控制方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050080764A1 (en) * 2003-10-14 2005-04-14 Akihiko Ito Information providing system, information providing server, user terminal device, contents display device, computer program, and contents display method
CN107800537A (zh) * 2017-11-27 2018-03-13 安徽问天量子科技股份有限公司 基于量子密钥分配技术的加密数据库系统及方法、存储方法及查询方法
CN108985099A (zh) * 2018-07-31 2018-12-11 如般量子科技有限公司 一种基于公共密钥池的代理云存储安全控制方法和系统
CN108989033A (zh) * 2018-07-31 2018-12-11 如般量子科技有限公司 一种基于公共密钥池的云存储安全控制方法和系统
CN109104276A (zh) * 2018-07-31 2018-12-28 如般量子科技有限公司 一种基于密钥池的云存储安全控制方法和系统

Also Published As

Publication number Publication date
CN109587170B (zh) 2020-11-17

Similar Documents

Publication Publication Date Title
CN109151053A (zh) 基于公共非对称密钥池的抗量子计算云存储方法和系统
CN109150519A (zh) 基于公共密钥池的抗量子计算云存储安全控制方法和系统
CN103124269B (zh) 云环境下基于动态口令与生物特征的双向身份认证方法
CN106961336B (zh) 一种基于sm2算法的密钥分量托管方法和系统
CN104219228B (zh) 一种用户注册、用户识别方法及系统
CN108985099B (zh) 一种基于公共密钥池的代理云存储安全控制方法和系统
CN108282329B (zh) 一种双向身份认证方法及装置
CN109104276A (zh) 一种基于密钥池的云存储安全控制方法和系统
CN104253694B (zh) 一种用于网络数据传输的保密方法
US20110145576A1 (en) Secure method of data transmission and encryption and decryption system allowing such transmission
CN108989033A (zh) 一种基于公共密钥池的云存储安全控制方法和系统
CN113691502B (zh) 通信方法、装置、网关服务器、客户端及存储介质
CN104023013A (zh) 数据传输方法、服务端和客户端
CN101815091A (zh) 密码提供设备、密码认证系统和密码认证方法
CN106130716A (zh) 基于认证信息的密钥交换系统及方法
CN107465665A (zh) 一种基于指纹识别技术的文件加解密方法
CN105721153A (zh) 基于认证信息的密钥交换系统及方法
CN109495251A (zh) 基于密钥卡的抗量子计算智能家庭云存储方法和系统
CN109347923A (zh) 基于非对称密钥池的抗量子计算云存储方法和系统
CN109787747B (zh) 基于多个非对称密钥池的抗量子计算多重加密云存储方法和系统
CN115801382A (zh) 一种用户信息认证方法及系统
CN106230840B (zh) 一种高安全性的口令认证方法
CN109299618B (zh) 基于量子密钥卡的抗量子计算云存储方法和系统
CN111416712A (zh) 基于多个移动设备的量子保密通信身份认证系统及方法
CN109687960A (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