CN116264505A - 密钥管理系统和方法、电子设备和计算机可读存储介质 - Google Patents
密钥管理系统和方法、电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN116264505A CN116264505A CN202111532163.0A CN202111532163A CN116264505A CN 116264505 A CN116264505 A CN 116264505A CN 202111532163 A CN202111532163 A CN 202111532163A CN 116264505 A CN116264505 A CN 116264505A
- Authority
- CN
- China
- Prior art keywords
- key
- mobile terminal
- fragment
- ciphertext
- server
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0825—Key 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种密钥管理系统和方法、电子设备和计算机可读存储介质。该系统包括:移动终端和多个存储服务器,其中,所述移动终端用于,生成针对待加密数据的密钥对;对所述密钥对中的私钥进行加密处理,得到私钥密文;将所述私钥密文切分为多个片段;针对每个所述片段,随机选择一个所述存储服务器的公钥证书对其进行加密处理,得到第一片段密文;将所述第一片段密文发送至所有存储服务器;删除所述片段;所述存储服务器用于,接收所述移动终端发送的所述第一片段密文;用自己的服务器私钥对所述第一片段密文进行解密操作,若解密成功,则存储所述片段。本申请实施例实现了移动终端生成的密钥的分布式存储,大大增强了安全性。
Description
技术领域
本申请涉及加密技术领域,尤其涉及一种密钥管理系统和方法、电子设备和计算机可读存储介质。
背景技术
随着智能移动互联网的飞速发展,越来越多的数据通过移动终端进行传输。伴随着移动端的高速发展,在移动终端上传输的数据从日常文件逐渐扩展到办公文件。尤其是在用户使用移动终端进行电子合同签署或金融方面的业务推行的过程中,由于智能终端的加密能力有限,不能很好地满足电子文件签署安全的要求,安全问题成为智能移动发展的关键瓶颈。
发明内容
本申请实施例提供一种密钥管理系统和方法、电子设备和计算机可读存储介质,以解决现有技术中智能移动端安全性低的缺陷。
为达到上述目的,本申请实施例提供了一种密钥管理系统,包括:移动终端和多个存储服务器,其中,
所述移动终端用于,生成针对待加密数据的密钥对;对所述密钥对中的私钥进行加密处理,得到私钥密文;将所述私钥密文切分为多个片段;针对每个所述片段,随机选择一个所述存储服务器的公钥证书对其进行加密处理,得到第一片段密文;将所述第一片段密文发送至所有存储服务器;删除所述片段;
所述存储服务器用于,接收所述移动终端发送的所述第一片段密文;用自己的服务器私钥对所述第一片段密文进行解密操作,若解密成功,则存储所述片段。
本申请实施例还提供了一种密钥管理方法,应用于密钥管理系统,所述密钥管理系统包括:移动终端和多个存储服务器,其中,所述方法包括:
所述移动终端生成针对待加密数据的密钥对,并对所述密钥对中的私钥进行加密处理,得到私钥密文;
所述移动终端将所述私钥密文切分为多个片段,并针对每个所述片段,随机选择一个所述存储服务器的公钥证书对其进行加密处理,得到第一片段密文;
所述移动终端将所述第一片段密文发送至所有存储服务器,并删除相应的片段;
所述存储服务器接收所到述移动终端发送的所述第一片段密文后,用自己的服务器私钥对所述第一片段密文进行解密操作,若解密成功,则存储所述片段。
本申请实施例还提供了一种电子设备,包括:
存储器,用于存储程序;
处理器,用于运行所述存储器中存储的所述程序,所述程序运行时执行本申请实施例提供的密钥管理方法。
本申请实施例还提供了一种计算机可读存储介质,其上存储有可被处理器执行的计算机程序,其中,该程序被处理器执行时实现如本申请实施例提供的密钥管理方法。
本申请实施例提供的密钥管理系统和方法、电子设备和计算机可读存储介质,通过由移动终端生成针对待加密数据的密钥对,将密钥对中的私钥进行加密并切分为多个片段,对于每个片段随机选择一个存储服务器的公钥进行加密并发送给所有服务器,只有当其中一个服务器使用自己的私钥解密成功时可以存储该片段并且移动终端可以删除该片段,从而实现了移动终端生成的密钥的分布式存储,大大增强了安全性,由于密钥分散存储在各个服务器上而没有存储在移动终端自身,即使由于移动终端自身的安全性较低而导致数据泄露,也不会导致密钥泄露,而且将密钥分散在各个服务器上进行存储,即使由于某个服务器的安全性问题导致该服务器的数据泄露,由于各服务器只存储移动终端所生成的私钥的一个片段,因此个别服务器的数据泄露也不会导致移动终端的密钥泄露。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本申请实施例的密钥管理方案的应用场景示意图;
图2为本申请提供的密钥管理系统一个实施例的结构示意图;
图3为本申请提供的密钥管理方法的一个实施例的流程图;
图4为本申请提供的电子设备实施例的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
实施例一
本申请实施例提供的方案可应用于任何具有密钥管理能力的系统,例如密钥管理系统等等。图1为本申请实施例提供的密钥管理方案的应用场景示意图,图1所示的场景仅仅是本申请的技术方案所能够应用的场景的示例之一。
随着办公自动化和计算机技术的飞速发展,人们越来越多地使用移动终端作为办公工具,并且因此原本通过PC等计算机终端来进行加密传输的文件也开始越来越多地被人们在移动终端上进行传输。例如人们开始使用移动终端来对电子合同文件进行签章,这带来了新的挑战,特别是签章操作在安全方面要求更高,并且密钥分发、存储和更新维护部分的安全性也具有着比一般的生活文件处理更高的要求。
通常这样的安全性较高的合同文件的签署都是通过PC等计算机终端来进行加密,而智能终端的加密能力有限,不能很好满足电子文件签署安全的要求。特别是移动终端自身的安全性较低,需要对自身生成的密钥进行有效的管理,即密钥管理。
密钥管理是指在一种安全策略指导下密钥的产生、存储、分配、更新、撤销、归档及应用、包括处理密钥自产生到最终销毁的整个过程中的有关问题、密钥系统的初始化内容、密钥管理的目的就是维持系统中通信实体之间的密钥关系,以抗击各种可能的威胁,如密钥泄漏、秘密密钥或公开密钥的真实性身份丧失等、未经授权使用等。由此可见,密钥管理对于开放网络环境下的安全通信具有决定性的作用。
近年来现有技术中提出了很多面向劝阻的密钥管理协议,以解决安全群组通信系统中安全问题,但是目前还存在许多没有解决的问题,主要表现在:
1)源认证问题。目前解决的方法是使用共享密钥的信息加密解密技术,对每一个数据包都进行数字签名。这种方法是不够的,需要研究一种有效的安全机制验证消息是否来自于授权的源。
2)密钥管理协议的性能。密钥管理协议的运行需要占用系统较大的负载和网络通信宽带等,除了采用安全性能好、速度快的密码算法以外,密钥管理协议还存在密钥更新时引起的密钥存储量、占用通信带宽和密钥更新计算等额外的开销。如何取得一种更全面的性能,使得密钥管理协议安全高效地运行。这是一个难点问题,值得进一步的研究;
3)密钥管理协议本身的安全。密码体制的安全性用于密钥管理之中,因此密钥管理机制也往往会成为被攻击的目标。密钥管理协议一般包含多个复杂的协议,必然会成为被攻击的目标;因此密钥管理协议自身的抗攻击能力等非常重要,如抵制中间人攻击等;
4)如何将现有的密钥管理协议与群组通信系统的应用集成起来,设计符合现实应用需求的安全可靠的群组通信系统;
5)针对特定的网络环境,采用现有的网络安全技术如PKI、IPSec等实现密钥管理协议。因此,需要一种能够在安全性方面满足例如电子签章这样的安全性要求的密钥管理方案。
为此,本申请已经提出了一种分布式密钥管理方案。其利用了分布式计算的原理来实现密钥的安全性管理。分布式计算是一种计算机科学,其涉及将一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。分布式计算通常在两个或多个硬件体或软件体之间互相共享信息,这些软件既可以在同一台计算机上运行,也可以在通过网络连接起来的多台计算机上运行。然而现有的分布式计算主要是利用互联网上计算机的中央处理器的闲置能力来解决大型计算的问题,通过在互联网连接的多个计算资源之间进行共享,分布式计算可以在多台计算机之间平衡计算负载。
根据本申请实施例的分布式密钥管理可以出于密钥安全方面的考虑,将移动终端所生成的密钥分成多份存储在不同的载体上,当需要使用密钥进行签名时,再调用不同的载体分别获取密钥的片段,并且移动终端对获取的片段进行计算验证和拼接,从而可以获得原始的完整密钥来使用。
在加密场景中,密钥的安全决定着文件或系统的最终的安全性,现有技术的密码体制中密钥的安全性却最终依赖于一个主密钥,这样的方案的缺陷在于:如果主密钥被暴露,那么整个系统就容易受到攻击;如果主密钥丢失或被毁坏,系统中所有的信息就无法使用。对此,现有技术中也提出了对主密钥进行加密或者将密钥的副本发送给信得过的用户来进行异地保存,但是现有技术中的这样的方案仍然不能从根本上解决密钥的安全管理问题。因为任何加密方案都存在着被破解的风险,或者由于对主密钥进行加密的密钥的泄露导致主密钥泄露等等。
为此,本申请实施例提出了基于分布式管理的密钥管理方案。该方案的基础在于对密钥进行分割,例如,将密钥K按下述方式分成n个份额K1,K2,K3,...,Kn,并具有如下的特点:
1)已知任意t个K值容易计算出k;
2)已知任意t-1个或更少个K,则得不到关于k的任何信息。
在该方案中,可以将密钥K的n个份额K1.....Kn分发给n个用户/服务器,并且可以相应地设置重构密钥的要求为至少有上述n个份额中的t个份额才能够重构密钥,因此,如果由于用户或服务器的安全性问题导致部分份额泄露或丢失,则s(s<t)个份额的泄露或丢失不会危及密钥安全,而且少于t个的服务器或用户在私底下进行合作也无法获得关于密钥的任何信息。同时,如果有部分份额丢失或损坏,只要丢失的份额少于n-t,则仍然可以恢复出密钥,即至少还能够获得t个有效的份额,因此本申请提出的分布式存储方案可以有效地确保密钥的安全性。
例如,在如图1中所示的加密场景中,移动终端可以根据用户的加密指令来生成针对待加密数据的密钥对。该密钥对可以包括私钥和公钥,之后移动终端可以对该生成的私钥进行加密处理,从而获得加密后的私钥密文。与现有技术中仅将加密后的密钥进行存储的方案不同的是,在本申请实施例中,可以对于该加密后的私钥密文进行划分,例如可以将其随机划分为n个片段,例如n可以大于8,并且每个片段的大小可以大于2个字节。这样一方面可以确保划分的片段数量足够多以确保分散度,另外一方面又可以保证划分的粒度,不会导致过于零散。在划分了片段之后,可移动终端可以对每个片段通过哈希算法来计算摘要哈希值,并且可以将该片段的内容及其计算出的摘要哈希值作为一个整体来随机选择一个服务器的公钥来进行加密,并最后可以将该加密后的内容及摘要哈希值的整体发送给所有的服务器。
各个服务器在接收到移动终端发送的针对各个片段及其摘要哈希值的整体加密后,可以分别使用自己的私钥对接收到的这n个加密片段进行解密,由于如上所述移动终端在对各个片段进行加密时是随机选择一个服务器的公钥来对一个片段及其摘要哈希值进行加密的,因此,每个服务器只能够对移动终端使用了与其自己的私钥对应的公钥进行加密的加密片段解密成功。即,每个服务器可以使用自己的私钥对接收到的每个加密片段进行解密,并且将解密出来的内容部分计算哈希值来与解密出来的摘要哈希值进行比对,如果一致则说明解密成功,即说明该加密片段是移动终端使用了该服务器的公钥进行加密的。因此,服务器使用自己的私钥解密成功即说明该服务器是该片段是移动终端发送给其进行存储的目标服务器。因此,该服务器可以将解密成功的私钥密文的片段进行存储,并且移动终端可以响应于该服务器对该片段的成功存储而从本地删除该片段。以此类推,当移动终端响应于各个服务器的成功存储而从本地删除了全部的片段时,该移动终端的密钥的分散式存储处理即完成。
之后,在密钥验证使用过程中,移动终端可以根据加密的需要而向各服务器发出密钥获取请求来获取各服务器上存储的私钥片段的内容。然后,服务器可以根据记录的对应的哈希值存储的顺序,将移动终端所请求的私钥片段的内容及对应的哈希值用服务器自己的私钥进行加密,并将加密后的私钥片段以及对应的哈希值的整体加密文件发送给移动终端。
移动终端在接收到该服务器发送来的加密的片段后,可以使用该服务器的公钥对接收到的加密片段进行验证。例如可以与服务器的验证类似地,即使用服务器的公钥对接收到的加密片段进行解密,并且对于解密后的一方面用服务器公钥对发送的内容进行验签,比对哈希值是否一致。如果哈希值一致,则说明该片段是来自于对应的存储服务器,并且进一步地,移动终端可以将该解密出的哈希值与移动终端保存的哈希值对应的服务器映射表是否一致。如果验证通过,那么该服务器的身份验证通过,并且可以确认发送的内容正确。
在确认了服务器身份和从该服务器接收到的片段内容之后,移动终端可以暂存该片段内容,并且类似地接收并解密其他片段内容,最终可以根据拆分时密钥片段的数量及顺序,将这些暂存的片段拼接起来。最终,对拼接起来的密钥进行解密,得到密钥原文内容。从而可以根据需求使用该密钥对待签署文件进行例如签章等操作。
本申请实施例提供的密钥管理方案,通过由移动终端生成针对待加密数据的密钥对,将密钥对中的私钥进行加密并切分为多个片段,对于每个片段随机选择一个存储服务器的公钥进行加密并发送给所有服务器,只有当其中一个服务器使用自己的私钥解密成功时可以存储该片段并且移动终端可以删除该片段,从而实现了移动终端生成的密钥的分布式存储,大大增强了安全性,由于密钥分散存储在各个服务器上而没有存储在移动终端自身,即使由于移动终端自身的安全性较低而导致数据泄露,也不会导致密钥泄露,而且将密钥分散在各个服务器上进行存储,即使由于某个服务器的安全性问题导致该服务器的数据泄露,由于各服务器只存储移动终端所生成的私钥的一个片段,因此个别服务器的数据泄露也不会导致移动终端的密钥泄露。
上述实施例是对本申请实施例的技术原理和示例性的应用框架的说明,下面通过多个实施例来进一步对本申请实施例具体技术方案进行详细描述。
实施例二
图2为本申请提供的密钥管理系统一个实施例的结构示意图。该系统可以包括移动终端21以及多个存储服务器22。如图2中所示,移动终端可以是用户使用的智能手机,在本申请实施例中,该移动终端也可以是便携式笔记本。并且该移动终端可以通过网络连接到多个存储服务器22。网络可以是有线网络或WiFi或3G、4G以及5G的移动网络中的一种。该移动终端可以响应于用户的操作指令,例如签署电子合同,来生成密钥。具体地,在本申请实施例中,移动终端21可以预先生成用于进行加密的密钥对。该密钥对可以包括私钥和公钥。该私钥可以由移动终端21用来对于需要签署的例如电子合同进行签章。因此,该私钥的安全性是非常重要的。
对此,在本申请实施例中,移动终端21可以对该生成的私钥进行加密处理,从而获得加密后的私钥密文。而该私钥密文如果存储在本地,则仍然有泄露的风险,因此与现有技术中仅将加密后的密钥进行存储的方案不同的是,在本申请实施例中,移动终端21可以对于该加密后的私钥密文进行划分,例如可以将其随机划分为n个片段,例如n可以大于8,例如为9、10或更大,并且每个片段的大小可以大于2个字节,例如可以为4字节、8字节或更大。这样一方面可以确保划分的片段数量足够多以确保分散度,另外一方面又可以保证划分的粒度,不会导致过于零散。
在划分了片段之后,移动终端21可以对每个片段通过哈希算法来计算摘要哈希值,并且可以将该片段的内容及其计算出的摘要哈希值组合为一个整体,并随机选择存储服务器22中的一个服务器22的公钥来进行加密。即,服务器22可以预先生成一对公钥和私钥,并且将私钥保留在本地而将公钥都发送给移动终端。在本申请实施例中,移动终端21划分片段的数量可以多于存储服务器的数量或者也可以少于或等于存储服务器22的数量。例如,在存储服务器22为6个,并且移动终端21将私钥密文划分为8个片段的情况下,移动终端21即使随机选择存储服务器22中的一个的公钥来加密片段及其摘要哈希值,也会存在存储服务器22的公钥重复使用的情况,即移动终端21可以使用存储服务器22中的一个的公钥来对第一个片段及其摘要哈希值以及第三个片段及其摘要哈希值进行加密,并且可以使用存储服务器22中的另一个的公钥来对第四个片段及其摘要哈希值以及第五个片段及其摘要哈希值进行加密。并且对于剩余的第二、第六、第七以及第八个片段及其摘要哈希值则可以分别使用剩余的存储服务器22的公钥分别进行加密。当然,在本申请实施例中,当存储服务器22的数量大于移动终端21划分的片段数量时,也可以对于每个片段分别使用不同的存储服务器22的公钥来对各片段及其摘要哈希值进行加密,并且发送至所有的存储服务器22。
因此,移动终端21最后可以将使用该随机选择的服务器22的公钥进行加密后的内容及摘要哈希值的整体发送给所有的服务器。
每个存储服务器22都可以接收到移动终端21分别使用各个服务器的公钥加密后发送的各个片段及其摘要哈希值的整体加密文件。例如,在移动终端21对私钥密文划分为8个片段的情况下,每个存储服务器22可以接收到8个移动终端21分别使用不同存储服务器22的公钥进行加密的片段及其摘要哈希值。但是各存储服务器在分别使用自己的私钥对接收到的这8个加密文件进行解密。
由于如上所述移动终端21在对各个片段进行加密时是随机选择一个服务器22的公钥来对一个片段及其摘要哈希值进行加密的,因此,每个存储服务器22实际上在使用自己的私钥进行解密时,只能够对移动终端21使用了与其自己的私钥对应的公钥进行加密的加密片段解密成功。即,每个存储服务器22可以使用自己的私钥对接收到的每个加密片段进行解密,并且将解密出来的内容部分计算哈希值来与解密出来的摘要哈希值进行比对,如果一致则说明解密成功,即说明该加密片段是移动终端21使用了该存储服务器的公钥进行加密的。因此,服务器使用自己的私钥解密成功即说明该服务器是该片段是移动终端发送给其进行存储的目标服务器。因此,该服务器可以将解密成功的私钥密文的片段进行存储,并且移动终端21可以响应于该存储服务器22对该片段的成功存储而从本地删除该片段。以此类推,当移动终端21响应于各个存储服务器22的成功存储而从本地删除了全部的片段时,该移动终端21的密钥的分散式存储处理即完成。
之后,在密钥验证使用过程中,移动终端21可以根据加密的需要而向各存储服务器发出密钥获取请求来获取各存储服务器22上存储的私钥片段的内容。然后,存储服务器22可以根据记录的对应的哈希值存储的顺序,将移动终端21所请求的私钥片段的内容及对应的哈希值用服务器自己的私钥进行加密,并将加密后的私钥片段以及对应的哈希值的整体加密文件发送给移动终端21。
移动终端21在接收到该存储服务器22发送来的加密的片段后,可以使用该存储服务器22的公钥对接收到的加密片段进行验证。例如可以与存储服务器22的验证类似地,即使用存储服务器22的公钥对接收到的加密片段进行解密,并且对于解密后的一方面用服务器公钥对发送的内容进行验签,比对哈希值是否一致。如果哈希值一致,则说明该片段是来自于对应的存储服务器22。
进一步地,移动终端21可以将该解密出的哈希值与移动终端21保存的哈希值对应的服务器映射表是否一致。如果验证通过,那么该服务器的身份验证通过,并且可以确认发送的内容正确。
在确认了存储服务器22的身份和从该存储服务器22接收到的片段内容之后,移动终端21可以暂存该片段内容,并且类似地接收并解密其他片段内容,最终可以根据拆分时密钥片段的数量及顺序,将这些暂存的片段拼接起来。最终,对拼接起来的密钥进行解密,得到密钥原文内容。从而可以根据需求使用该密钥对待签署文件进行例如签章等操作。
本申请实施例提供的密钥管理系统,通过由移动终端生成针对待加密数据的密钥对,将密钥对中的私钥进行加密并切分为多个片段,对于每个片段随机选择一个存储服务器的公钥进行加密并发送给所有服务器,只有当其中一个服务器使用自己的私钥解密成功时可以存储该片段并且移动终端可以删除该片段,从而实现了移动终端生成的密钥的分布式存储,大大增强了安全性,由于密钥分散存储在各个服务器上而没有存储在移动终端自身,即使由于移动终端自身的安全性较低而导致数据泄露,也不会导致密钥泄露,而且将密钥分散在各个服务器上进行存储,即使由于某个服务器的安全性问题导致该服务器的数据泄露,由于各服务器只存储移动终端所生成的私钥的一个片段,因此个别服务器的数据泄露也不会导致移动终端的密钥泄露。
实施例三
图3为本申请提供的密钥管理方法一个实施例的流程图,该方法的执行主体可以为具有密钥管理能力的系统,也可以为集成在这些设备上的装置或芯片。例如,该系统可以包括移动终端和多个存储服务器。如图3所示,该密钥管理方法包括如下步骤:
S301,移动终端生成针对待加密数据的密钥对,并对密钥对中的私钥进行加密处理,得到私钥密文。
在步骤S301中,移动终端可以响应于用户的操作指令,例如签署电子合同,来生成密钥。例如,在本申请实施例中,移动终端可以在步骤S301中生成用于进行加密的密钥对。例如,在步骤S301中,移动终端也可以通过移动互联网与签章服务器连接,通过该签章服务器生成密钥对。该密钥对可以包括私钥和公钥。该私钥可以由移动终端用来对于需要签署的例如电子合同进行签章。因此,该私钥的安全性是非常重要的。因此移动终端可以根据生成的私钥进行加密处理,从而获得加密后的私钥密文。
S302,移动终端将私钥密文切分为多个片段,并针对每个片段,随机选择一个存储服务器的公钥证书对其进行加密处理,得到第一片段密文。
步骤S302中生成的私钥密文如果存储在移动终端的本地,则仍然有泄露的风险,因此与现有技术中仅将加密后的密钥进行存储的方案不同的是,在本申请实施例中,可以在步骤S302中可以对于该加密后的私钥密文进行划分,例如可以将其随机划分为n个片段,例如n可以大于8,例如为9、10或更大,并且每个片段的大小可以大于2个字节,例如可以为4字节、8字节或更大。这样一方面可以确保划分的片段数量足够多以确保分散度,另外一方面又可以保证划分的粒度,不会导致过于零散。
在划分了片段之后,在步骤S302中,可以由移动终端对每个片段通过哈希算法来计算摘要哈希值,并且可以将该片段的内容及其计算出的摘要哈希值组合为一个整体,并随机选择存储服务器中的一个服务器的公钥来进行加密。即,存储服务器可以预先生成一对公钥和私钥,并且将私钥保留在本地而将公钥都发送给移动终端。
在本申请实施例中,在步骤S302中划分片段的数量可以多于存储服务器的数量或者也可以少于或等于存储服务器的数量。例如,在存储服务器为6个,并且移动终端将私钥密文划分为8个片段的情况下,移动终端即使随机选择存储服务器中的一个的公钥来加密片段及其摘要哈希值,也会存在存储服务器的公钥重复使用的情况,即移动终端可以使用存储服务器中的一个的公钥来对第一个片段及其摘要哈希值以及第三个片段及其摘要哈希值进行加密,并且可以使用存储服务器中的另一个的公钥来对第四个片段及其摘要哈希值以及第五个片段及其摘要哈希值进行加密。并且对于剩余的第二、第六、第七以及第八个片段及其摘要哈希值则可以分别使用剩余的存储服务器的公钥分别进行加密。当然,在本申请实施例中,当存储服务器的数量大于移动终端划分的片段数量时,也可以对于每个片段分别使用不同的存储服务器的公钥来对各片段及其摘要哈希值进行加密。
S303,移动终端将第一片段密文发送至所有存储服务器,并删除相应的片段。
在步骤S303,移动终端可以将使用该随机选择的服务器的公钥进行加密后的片段及摘要哈希值的整体发送给所有的服务器。
S304,存储服务器接收到移动终端发送的第一片段密文后,用自己的服务器私钥对第一片段密文进行解密操作,若解密成功,则存储片段。
在步骤S304,每个存储服务器都可以接收到在步骤S303中移动终端分别使用各个服务器的公钥加密后发送的各个片段及其摘要哈希值的整体加密文件。因此在步骤S304,各存储服务器可以分别使用自己的私钥对接收到的加密文件进行解密。
由于在步骤S303中,移动终端在对片段进行加密时是随机选择一个服务器的公钥来对一个片段及其摘要哈希值进行加密的,因此,每个存储服务器在步骤S304中接收到的第一片段密文时并不知道是否是使用自己的公钥进行加密的,也就是说每个存储服务器在接收到移动终端发送的片段密文时并不知道该片段密文是否是发送给自己来存储对应的片段的。因此,服务器实际上在使用自己的私钥进行解密时,只能够对移动终端使用了与其自己的私钥对应的公钥进行加密的加密片段解密成功。即,每个存储服务器可以使用自己的私钥对接收到的每个加密片段进行解密,并且将解密出来的内容部分计算哈希值来与解密出来的摘要哈希值进行比对,如果一致则说明解密成功,即说明该加密片段是移动终端使用了该存储服务器的公钥进行加密的。因此,服务器使用自己的私钥解密成功即说明该服务器是该片段是移动终端发送给其进行存储的目标服务器。因此,该服务器可以将解密成功的私钥密文的片段进行存储。
在步骤S304中存储服务器解密成功后并成功存储之后,在本申请实施例中,存储服务器可以向移动终端发送确认消息,从而移动终端可以响应于该存储服务器对该片段的成功存储而从本地删除该片段。
此外,在密钥验证使用过程中,本申请实施例的密钥管理方法可以进一步包括:
S305,移动终端向存储服务器发送密钥获取请求。
在步骤S305中,移动终端可以根据加密或签章的需要而向各存储服务器发出密钥获取请求来获取各存储服务器上存储的私钥片段的内容。
S306,存储服务器在接收到移动终端发送的密钥获取请求后,用服务器私钥对存储的片段及其摘要值进行加密处理,得到第二片段密文,并将第二片段密文发送至移动终端。
存储服务器可以根据记录的对应的哈希值存储的顺序,将移动终端所请求的私钥片段的内容及对应的哈希值用服务器自己的私钥进行加密,并将加密后的私钥片段以及对应的哈希值的整体加密文件发送给移动终端。
S307,移动终端在接收到存储服务器发送的第二片段密文后,对第二片段密文进行解密操作,得到片段及其摘要值,若摘要值一致,则保存片段。
在步骤S307,移动终端在接收到该存储服务器发送来的加密的片段后,可以使用该存储服务器的公钥对接收到的加密片段进行解密。例如可以与步骤304的验证类似地,即使用存储服务器的公钥对接收到的加密片段进行解密,并且对于解密后的一方面用服务器公钥对发送的内容进行验签,比对哈希值是否一致。如果哈希值一致,则说明该片段是来自于对应的存储服务器。
S308,移动终端对私钥密文进行解密操作,得到私钥。
移动终端可以将该解密出的哈希值与移动终端保存的哈希值对应的服务器映射表是否一致。如果验证通过,那么该服务器的身份验证通过,并且可以确认发送的内容正确。
此外,在步骤S308中,移动终端将接收到的所有片段,按照其摘要值在映射表中的存储顺序进行拼接,以得到私钥密文。在确认了存储服务器的身份和从该存储服务器接收到的片段内容之后,移动终端可以暂存该片段内容,并且类似地接收并解密其他片段内容,最终可以根据拆分时密钥片段的数量及顺序,将这些暂存的片段拼接起来。最终,对拼接起来的密钥进行解密,得到密钥原文内容。从而可以根据需求使用该密钥对待签署文件进行例如签章等操作。
本申请实施例提供的密钥管理系统,通过由移动终端生成针对待加密数据的密钥对,将密钥对中的私钥进行加密并切分为多个片段,对于每个片段随机选择一个存储服务器的公钥进行加密并发送给所有服务器,只有当其中一个服务器使用自己的私钥解密成功时可以存储该片段并且移动终端可以删除该片段,从而实现了移动终端生成的密钥的分布式存储,大大增强了安全性,由于密钥分散存储在各个服务器上而没有存储在移动终端自身,即使由于移动终端自身的安全性较低而导致数据泄露,也不会导致密钥泄露,而且将密钥分散在各个服务器上进行存储,即使由于某个服务器的安全性问题导致该服务器的数据泄露,由于各服务器只存储移动终端所生成的私钥的一个片段,因此个别服务器的数据泄露也不会导致移动终端的密钥泄露。
实施例四
以上描述了密钥管理系统的内部功能和结构,该系统可实现为一种电子设备。图4为本申请提供的电子设备实施例的结构示意图。如图4所示,该电子设备包括存储器41和处理器42。
存储器41,用于存储程序。除上述程序之外,存储器41还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器41可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器42,不仅仅局限于中央处理器(CPU),还可能为图形处理器(GPU)、现场可编辑门阵列(FPGA)、嵌入式神经网络处理器(NPU)或人工智能(AI)芯片等处理芯片。处理器42,与存储器41耦合,执行存储器41所存储的程序,该程序运行时执行上述实施例三的密钥管理方法。
进一步,如图4所示,电子设备还可以包括:通信组件43、电源组件44、音频组件45、显示器46等其它组件。图4中仅示意性给出部分组件,并不意味着电子设备只包括图4所示组件。
通信组件43被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi、3G、4G或5G,或它们的组合。在一个示例性实施例中,通信组件43经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件43还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件44,为电子设备的各种组件提供电力。电源组件44可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件45被配置为输出和/或输入音频信号。例如,音频组件45包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器41或经由通信组件43发送。在一些实施例中,音频组件45还包括一个扬声器,用于输出音频信号。
显示器46包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅检测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种密钥管理系统,包括:移动终端和多个存储服务器,其中,
所述移动终端用于,生成针对待加密数据的密钥对;对所述密钥对中的私钥进行加密处理,得到私钥密文;将所述私钥密文切分为多个片段;针对每个所述片段,随机选择一个所述存储服务器的公钥证书对其进行加密处理,得到第一片段密文;将所述第一片段密文发送至所有存储服务器;删除所述片段;
所述存储服务器用于,接收所述移动终端发送的所述第一片段密文;用自己的服务器私钥对所述第一片段密文进行解密操作,若解密成功,则存储所述片段。
2.根据权利要求1所述的密钥管理系统,其中,
所述移动终端在对所述片段进行加密处理时具体用于,计算每个所述片段的摘要值;针对每个所述片段及其摘要值,随机选择一个所述存储服务器的公钥证书对其进行加密处理,得到第一片段密文;
所述存储服务器在对所述第一片段密文进行解密操作时具体用于,用所述服务器私钥对所述第一片段密文进行解密操作,得到片段及其摘要值,若摘要值一致,则确定解密成功。
3.根据权利要求2所述的密钥管理系统,其中,所述移动终端采用哈希算法计算所述片段的摘要值。
4.根据权利要求1所述的密钥管理系统,其中,
所述移动终端还用于,按照所述私钥密文的切分顺序,生成各所述片段的摘要值与对应的存储服务器的映射表。
5.根据权利要求1所述的密钥管理系统,其中,
所述移动终端还用于,通过移动互联网与签章服务器连接,通过所述签章服务器生成所述密钥对。
6.根据权利要求1所述的密钥管理系统,其中,
所述存储服务器还用于,在接收到所述移动终端发送的密钥获取请求后,用所述服务器私钥对存储的片段及其摘要值进行加密处理,得到第二片段密文;将所述第二片段密文发送至所述移动终端;
所述移动终端还用于,在接收到所述存储服务器发送的第二片段密文后,对所述第二片段密文进行解密操作,得到片段及其摘要值,若摘要值一致,则保存所述片段;将接收到的所有片段,按照其摘要值在映射表中的存储顺序进行拼接,以得到所述私钥密文;对所述私钥密文进行解密操作,得到所述私钥。
7.一种密钥管理方法,应用于密钥管理系统,所述密钥管理系统包括:移动终端和多个存储服务器,其中,所述方法包括:
所述移动终端生成针对待加密数据的密钥对,并对所述密钥对中的私钥进行加密处理,得到私钥密文;
所述移动终端将所述私钥密文切分为多个片段,并针对每个所述片段,随机选择一个所述存储服务器的公钥证书对其进行加密处理,得到第一片段密文;
所述移动终端将所述第一片段密文发送至所有存储服务器,并删除相应的片段;
所述存储服务器接收所到述移动终端发送的所述第一片段密文后,用自己的服务器私钥对所述第一片段密文进行解密操作,若解密成功,则存储所述片段。
8.根据权利要求7所述的密钥管理方法,其中,所述方法还包括:
所述移动终端向所述存储服务器发送密钥获取请求;
所述存储服务器在接收到所述移动终端发送的密钥获取请求后,用所述服务器私钥对存储的片段及其摘要值进行加密处理,得到第二片段密文,并将所述第二片段密文发送至所述移动终端;
所述移动终端在接收到所述存储服务器发送的第二片段密文后,对所述第二片段密文进行解密操作,得到片段及其摘要值,若摘要值一致,则保存所述片段;
所述移动终端将接收到的所有片段,按照其摘要值在映射表中的存储顺序进行拼接,以得到所述私钥密文;
所述移动终端对所述私钥密文进行解密操作,得到所述私钥。
9.一种电子设备,包括:
存储器,用于存储程序;
处理器,用于运行所述存储器中存储的所述程序,以执行如权利要求7至8中任一所述的密钥管理方法。
10.一种计算机可读存储介质,其上存储有可被处理器执行的计算机程序,其中,该程序被处理器执行时实现如权利要求7至8中任一所述的密钥管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111532163.0A CN116264505A (zh) | 2021-12-14 | 2021-12-14 | 密钥管理系统和方法、电子设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111532163.0A CN116264505A (zh) | 2021-12-14 | 2021-12-14 | 密钥管理系统和方法、电子设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116264505A true CN116264505A (zh) | 2023-06-16 |
Family
ID=86723505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111532163.0A Pending CN116264505A (zh) | 2021-12-14 | 2021-12-14 | 密钥管理系统和方法、电子设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116264505A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117134918A (zh) * | 2023-07-20 | 2023-11-28 | 威艾特科技(深圳)有限公司 | 一种分布式数据签名校验方法及装置 |
-
2021
- 2021-12-14 CN CN202111532163.0A patent/CN116264505A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117134918A (zh) * | 2023-07-20 | 2023-11-28 | 威艾特科技(深圳)有限公司 | 一种分布式数据签名校验方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110417750B (zh) | 基于区块链技术的文件读取和存储的方法、终端设备和存储介质 | |
CN113364760A (zh) | 一种数据加密处理方法、装置、计算机设备及存储介质 | |
JP2020528224A (ja) | 信頼できる実行環境におけるスマート契約動作のセキュアな実行 | |
CN108924147B (zh) | 通信终端数字证书签发的方法、服务器以及通信终端 | |
US11088831B2 (en) | Cryptographic key management based on identity information | |
CN108566381A (zh) | 一种安全升级方法、装置、服务器、设备和介质 | |
US10601590B1 (en) | Secure secrets in hardware security module for use by protected function in trusted execution environment | |
TW201541923A (zh) | 用於雲端輔助式密碼術之方法及設備 | |
CN110445840B (zh) | 一种基于区块链技术的文件存储和读取的方法 | |
CN110611657A (zh) | 一种基于区块链的文件流处理的方法、装置及系统 | |
CN109660534B (zh) | 基于多商户的安全认证方法、装置、电子设备及存储介质 | |
CN111066019A (zh) | 处理存储在区块链网络中的数据元素 | |
AU2019204724C1 (en) | Cryptography chip with identity verification | |
CN114900304B (zh) | 数字签名方法和装置、电子设备和计算机可读存储介质 | |
CN111294203A (zh) | 信息传输方法 | |
US20230222230A1 (en) | Key distribution system in a secure enclave | |
WO2023051337A1 (zh) | 数据处理方法、装置、设备及存储介质 | |
CN111970114A (zh) | 文件加密方法、系统、服务器和存储介质 | |
US20220216999A1 (en) | Blockchain system for supporting change of plain text data included in transaction | |
CN112966287A (zh) | 获取用户数据的方法、系统、设备和计算机可读介质 | |
CN110737905B (zh) | 数据授权方法、数据授权装置及计算机存储介质 | |
CN113434882A (zh) | 应用程序的通讯保护方法、装置、计算机设备及存储介质 | |
CN116264505A (zh) | 密钥管理系统和方法、电子设备和计算机可读存储介质 | |
CN109871698B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN111914270A (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 |