CN111654372A - 密钥管理方法及相关装置 - Google Patents
密钥管理方法及相关装置 Download PDFInfo
- Publication number
- CN111654372A CN111654372A CN202010650253.9A CN202010650253A CN111654372A CN 111654372 A CN111654372 A CN 111654372A CN 202010650253 A CN202010650253 A CN 202010650253A CN 111654372 A CN111654372 A CN 111654372A
- Authority
- CN
- China
- Prior art keywords
- key
- server
- encryption card
- module
- controller chip
- 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
Images
Classifications
-
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- 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/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
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
相关申请的交叉引用
本申请要求于2019年11月29日提交中国专利局的申请号为2019112046013、名称为“密钥管理方法、装置、服务器、系统及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及分布式存储领域,具体而言,涉及一种密钥管理方法及相关装置。
背景技术
在使用加密硬盘的分布式存储系统中,当有密钥需求时,通常采取两种方案来管理密钥,方案一是由外置的密钥管理中心KMC(KeyManagementCenter)统一负责分布式集群节点的密钥生成、分发和备份;方案二是利用外置USB插入分布式集群中的管理节点来生成密钥,然后由管理节点来分发密钥。
以上两种现有的密钥管理方案都是针对需要按照保密标准来进行的保密要求高的密钥,当有密钥需求时,两种方案都利用外置模块来生成密钥,然后由外置模块负责密钥的分发、存储,这增加了密钥管理的复杂度,且外置模块容易被破坏或丢失,使密钥保密安全性降低。
发明内容
有鉴于此,本发明实施例提供的密钥管理方法及相关装置,实现减少密钥管理的复杂度,增强保密安全性的有益效果。
本发明的实施例可以这样实现:
第一方面,本发明提供一种密钥管理方法,应用于分布式集群中的主服务器,所述主服务器包括第一系统盘,所述第一系统盘包括第一控制器芯片和第一存储器,并用于存储所述主服务器的操作系统;所述方法包括:响应新数据盘加入所述分布式集群,通过第一控制器芯片生成密钥,并将所述密钥保存至所述第一存储器;将所述密钥同步至所述新数据盘。
可选地,当所述新数据盘加入主服务器时,所述将所述密钥同步至所述新数据盘的步骤包括:将所述密钥加密后同步至所述主服务器的新数据盘。
可选地,所述分布式集群还包括与主服务器通信的从服务器,所述从服务器包括第二系统盘,所述第二系统盘包括第二控制器芯片和第二存储器,当所述新数据盘加入所述从服务器时,所述将所述密钥同步至所述新数据盘的步骤包括:加密所述密钥并发送至所述第二系统盘,以使第二控制器芯片将加密后的所述密钥保存至所述第二存储器并同步至所述新数据盘。
可选地,所述分布式集群还包括与主服务器通信的第三服务器,所述第三服务器包括第三系统盘,所述第三系统盘包括第三控制器芯片,当所述新数据盘加入所述第三服务器时,所述将所述密钥同步至所述新数据盘的步骤包括:加密所述密钥并发送至所述第二系统盘,以使第二控制器芯片将加密后的所述密钥保存至所述第二存储器;将加密后的所述密钥发送至所述第三系统盘,以使所述第三控制器芯片将加密后的所述密钥同步至所述新数据盘。
可选地,所述第一系统盘提供第一密钥管理API接口,所述当响应新数据盘加入所述分布式集群,在所述第一控制器芯片内生成并存储密钥的步骤包括:响应所述新数据盘加入所述分布式集群,通过所述第一密钥管理API接口调用驱动程序以改变所述第一系统盘的预存的固件来使第一控制器芯片内生成并存储密钥。
可选地,所述第二系统盘提供第二密钥管理API接口;所述加密所述密钥并发送至所述第二系统盘以使第二控制器芯片解密并保存所述密钥的步骤包括:通过第一密钥管理API接口获取加密的所述密钥并发送至所述从服务器,以使所述从服务器通过所述第二密钥管理API将加密的所述密钥发送至所述第二系统盘。
第二方面,本发明提供一种密钥管理系统,应用于分布式集群,包括第一服务模块、第一服务模块和第三服务模块;所述第一服务模块包括第一密钥管理单元;所述第二服务模块包括第二密钥管理单元;所述第三服务模块包括第三密钥管理单元;所述第一服务模块用于为第二服务模块和所述第三服务模块提供密钥管理服务;所述第二服务模块用于当所述第一服务模块故障时为所述第三服务模块提供密钥管理服务;
所述第一服务模块,用于响应密钥需求模块加入所述分布式集群后,通过第一密钥管理单元生成并存储密钥。
所述第一服务模块还用于:当所述密钥需求模块加入所述第一服务模块时,通过所述第一密钥管理单元加密所述密钥并同步至所述密钥需模块;当所述密钥需求模块加入所述第二服务模块时,通过所述第一密钥管理单元加密所述密钥并发送至所述第二服务模块,以使所述第二服务模块通过所述第二密钥管理单元将所述密钥保存之后同步至所述密钥需模块;当所述密钥需求模块加入所述第三服务模块时,通过所述第一密钥管理单元加密所述密钥并发送至所述第二服务模块和所述第三服务模块,以使所述第二服务模块通过所述第二密钥管理单元保存所述密钥,以使所述第三服务模块通过所述第三密钥管理单元将所述密钥同步至所述密钥需模块。
本发明实施例方案不要由外置模块负责密钥的分发、存储,而是将密钥的生成和分发的功能集成到分布式集群中第一服务模块的内部,通过内部的密钥管理单元完成密钥生成和在集群中的分发的功能,降低了密钥管理的复杂度,提高了密钥保密安全性。
在一种可选的实施方式中,所述第一服务模块、第一服务模块和第三服务模块分别为所述分布式集群的主服务器、从服务器和第三服务器;所述主服务器包括第一系统盘;所述从服务器包括第二系统盘;所述第三服务器包括第三系统盘;所述主服务器用于为所述从服务器和所述第三服务器提供密钥管理服务;所述从服务器用于当所述主服务器故障时为所述第三服务器提供密钥管理服务;所述系统盘为所述密钥管理单元;所述密钥需求模块为新数据盘;
所述主服务器,用于所述新数据盘模块加入所述分布式集群后,通过系统盘生成并存储密钥;
所述主服务器,还用于:当所述新数据盘加入所述主服务器时,通过第一系统盘加密所述密钥并同步至新数据盘;当所述新数据盘加入所述从服务器时,通过第一系统盘加密所述密钥并发送至所述从服务器,以使所述从服务器通过第二系统盘将所述密钥保存之后同步至所述新数据盘;当所述新数据盘加入所述第三服务器时,通过第一系统盘加密所述密钥并发送至所述从服务器和所述第三服务器,以使所述从服务器通过第三系统盘保存所述密钥,以使所述第三服务器将所述密钥同步至所述新数据盘。
在本发明实施例中,当新加入集群的数据盘需要使用密钥来实现数据的加密和解密时,集群中的主服务器通过系统盘生成密钥并同步给新加入的数据盘,整个过程都是在服务器内部完成,提高了密钥保密的安全性。
在一种可选的实施方式中,所述第一服务模块、第一服务模块和第三服务模块分别为所述分布式集群的主服务器、从服务器和第三服务器;所述主服务器包括第一加密卡;所述从服务器包括第二加密卡;所述第三服务器包括第三加密卡;所述主服务器用于为所述从服务器和所述第三服务器提供密钥管理服务;所述从服务器用于当所述主服务器故障时为所述第三服务器提供密钥管理服务;所述主服务器包括加密卡;所述加密卡为所述密钥管理单元;所述密钥需求模块为新加密卡;
所述主服务器,用于所述新加密卡加入所述分布式集群后,通过第一加密卡生成并存储密钥;
所述主服务器,还用于:当所述新加密卡加入所述主服务器时,通过第一加密卡加密所述密钥并同步至新加密卡;当所述新加密卡加入所述从服务器时,加密所述密钥并发送至所述从服务器,以使所述从服务器通过第二加密卡将所述密钥保存之后同步至所述新加密卡;当所述新加密卡加入所述第三服务器时,加密所述密钥并发送至所述从服务器和所述第三服务器,以使所述从服务器通过第二加密卡保存所述密钥,以使所述第三服务器通过第三加密卡将所述密钥同步至所述新加密卡。
在本发明实施例中,当新加入集群的加密卡需要使用密钥来实现数据的加密和解密时,集群中的主服务器通过加密卡生成密钥并同步给新加入的数据盘,整个过程都是通过服务器内部的加密卡完成,提高了密钥保密的安全性。
第三方面,本发明提供一种密钥管理方法,应用于分布式集群中的主服务器,所述主服务器包括第一加密卡;所述第一加密卡包括第一控制器芯片和第一存储器,并用于存储所述第一加密卡的预存固件,所述方法包括:响应新加密卡加入所述分布式集群,通过所述第一控制器芯片生成并密钥,并将所述密钥存储至所述第一存储器;将所述密钥同步至所述新加密卡。
可选地,当所述新加密卡加入所述主服务器时,所述将所述密钥同步至所述新数据盘的步骤包括:将所述密钥加密后同步至所述主服务器的新数据盘。
可选地,所述分布式集群还包括与主服务器通信的从服务器,所述从服务器包括第二加密卡,所述第二加密卡包括第二控制器芯片和第二存储器,当所述新加密卡加入所述从服务器时,所述将所述密钥同步至所述新加密卡的步骤包括:加密所述密钥并发送至所述第二加密卡,以使所述第二控制器芯片将加密后的所述密钥保存至所述第二存储器后并同步至所述新加密卡。
可选地,所述分布式集群还包括与主服务器通信的第三服务器,所述第三服务器包括第三加密卡;所述第三加密卡包括第三控制器芯片,当所述新加密卡加入所述第三服务器时,所述将所述密钥同步至所述新加密卡的步骤包括:加密所述密钥并发送至所述第二加密卡,以使所述第二控制器芯片将加密后的所述密钥保存至所述第二存储器;将加密后的所述密钥发送至所述第三加密卡,以使所述第三控制器芯片将加密后的所述密钥同步至所述新加密卡。
可选地,所述第一加密卡提供第一密钥管理API接口,所述响应新加密卡加入所述分布式集群,通过所述第一控制器芯片生成密钥,并将所述密钥保存至所述第一存储器的步骤:包括:响应所述新加密卡加入所述分布式集群,通过所述第一密钥管理API接口调用驱动程序以改变所述预存固件来使所述第一控制器芯片内生成所述密钥,并将所述密钥保存至所述第一存储器。
可选地,所述第二加密卡提供第二密钥管理API接口;所述加密所述密钥并发送至所述第二加密卡以使第二控制器芯片解密并保存所述密钥的步骤,包括:通过第一密钥管理API接口获取所述密钥并发送至所述从服务器,以使所述从服务器通过所述第二密钥管理API将所述密钥发送至所述第二加密卡。
第四方面,本发明实施例提供了一种密钥管理装置,应用于分布式集群中的主服务器,所述装置包括:控制模块,存储模块和接口模块;所述控制模块,用于响应新数据盘加入所述分布式集群,通过所述控制模块生成密钥,并将所述密钥保存至所述存储模块;所述接口模块,用于将所述密钥同步至所述新数据盘。
第五方面,本发明实施例提供了一种密钥管理装置,应用于分布式集群中的主服务器,所述装置包括:控制模块,存储模块和接口模块;所述控制模块,用于响应新加密卡加入所述分布式集群,通过所述控制模块生成密钥,并将所述密钥保存至所述存储模块;所述接口模块,用于将所述密钥同步至所述新加密卡。
第六方面,本发明实施例提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明实施例提供的密钥管理方法。
相比现有技术,本发明实施例提供的一种密钥管理方法及相关装置,应用于分布式集群中的主服务器,该主服务器包括第一系统盘,该第一系统盘包括第一控制器芯片和第一存储器,并用于存储所述主服务器的操作系统;主服务器响应新数据盘加入分布式集群,通过第一控制器芯片生成密钥,并将密钥保存至第一存储器;再将密钥同步至新数据盘,实现减少密钥管理的复杂度,增强保密安全性的有益效果。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明提供的一种密钥管理系统的结构示意图;
图2A为本发明实施例提供的一种密钥管理系统的工作原理图;
图2B为本发明实施例提供的另一种密钥管理系统的工作原理图;
图2C为本发明实施例提供的另一种密钥管理系统的工作原理图;
图3为本发明实施例提供一种的密钥管理系统10A的示意图;
图4为本发明实施例提供一种系统盘的结构框图;
图5为本发明实施例提供另一种密钥管理系统10B的示意图;
图6为本发明实施例提供一种加密卡的结构框图;
图7为本发明实施例提供一种密钥管理方法的示意性流程图;
图8为本发明实施例提供另一种密钥管理方法的示意性流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,对于使用加密硬盘的分布式存储系统,其进行密钥的生成、分发和存储,有两种可能的实现方式。在第一种可能的实现方式中,分布式存储系统中的主服务器向外置的密钥管理中心KMC(KeyManagementCenter,简称KMC)发送生成密钥的请求,外置的KMC接收密钥生成请求后,生成密钥,然后将密钥同步给其他存储服务器。因此,KMC统一管理密钥的生成、分发和存储。在第二种可能的实现方式中,分布式存储系统中主服务器上插入外置USB,主服务器向USB设备申请生成密钥,USB设备生成密钥后,由主服务器将密钥同步给其它存储服务器。
以上两种可能的实现方式都是针对需要按照保密标准来进行的保密要求高的密钥,且都采取外置设备管理密钥。其中,在第一种可能实现的方式中利用KMC管理密钥增加了密钥管理的复杂度,且KMC设备价格昂贵,增加了保密成本;第二种可能的实现方式中所采取USB设备容易因丢失或被破坏而使保密安全性降低。
实施例一
为了解决上述技术问题,参见图1,图1为本发明提供的一种密钥管理系统,该系统可以应用于分布式集群,该密钥管理系统10包括:第一服务模块11、第二服务模块12和第三服务模块13,其中,第一服务模块11包括密钥管理单元111,第二服务模块12包括密钥管理单元121,第三服务模块13包括密钥管理单元131;第一服务模块11用于为第二服务模块12和第三服务模块13提供密钥管理服务;第二服务模块12用于当第一服务模块11故障时为第三服务模块13提供密钥管理服务。
第一服务模块11,用于响应密钥需求模块加入分布式集群后,通过第一密钥管理单元111生成并存储密钥;
在本发明实施例中,当第一服务模块11监测到有密钥需求模块加入分布式集群后,通过第一密钥管理单元111生成并保存密钥。
可以理解的是,在一种可能的实现方式中,第一密钥管理单元111可以将密钥加密后再保存,保证密钥的安全性。
第一服务模块11还用于:当密钥需求模块加入第一服务模块11时,通过第一密钥管理单元111加密密钥并同步至密钥需模块;当密钥需求模块加入第二服务模块12时,通过第一密钥管理单元111加密密钥并发送至第二服务模块12,以使第二服务模块将密钥保存之后同步至密钥需模块;当密钥需求模块加入第三服务模块13时,加密密钥并发送至第二服务模块12和第三服务模块13,以使第二服务模块12通过第二密钥管理单元121保存密钥,以使第三服务模块13通过第三密钥管理单元131将密钥同步至密钥需模块。
可以理解的是,在第一服务模块11第二服务模块12和/或第三服务模块13同步密钥之前,第一服务模块11与密钥需求模块之间可以预先建立安全通信通道实现密钥的安全传输,在一种可能的实现方式下,第一服务模块11可以通过临时会话密钥将密钥进行加密,保证加密密钥传输中的保密性及可溯源性,该临时会话密钥具有时效性及随机性,由第一服务模块11维护。
为了方便理解,下面给出几种情形下的密钥管理系统实现密钥管理功能的方式。
情形1:
参见图2A,图2A为本发明实施例提供的一种密钥管理系统10的工作原理图;当密钥需求模块14加入第一服务模块11,第一密钥管理单元111生成密钥后,可以将密钥加密保存在第一密钥管理单元111内部,然后将加密密钥并同步至密钥需模块14。
情形2:
参见图2B,图2B为本发明实施例提供的另一种密钥管理系统10的工作原理图;当密钥需求模块14加入第二服务模块时,第一密钥管理单元111加密保存生成后的密钥后并发送至第二服务模块12,以使第二服务模块12通过第二密钥管理单元121将密钥保存之后同步至密钥需模块14。
情形3:
参见图2C,图2C为本发明实施例提供的另一种密钥管理系统10的工作原理图;当密钥需求模块14加入第三服务模块13时,第一密钥管理单元111加密并保存生成后的密钥后发送至第二服务模块12,第二服务模块12可以通过第二密钥管理单元121将密钥保存,以实现密钥的备份,同时,第一密钥管理单元111将加密的密钥同步至第三服务模块13,以使第三服务模块13通过第三密钥管理单元131将密钥同步至密钥需求模块14,密钥需求模块14获得密钥之后可以利用密钥进行数据的加密和解密,保证了数据的安全性。
需要说明的是,当密钥需求模块14加入第一服务模块11或第二服务模块12后,保存在密钥管理单元内的密钥均是持久化保存,当密钥需求模块14加入第三服务模块13后,密钥不进行持久化保存。
还需要说明的是,本发明实施例是在密钥需求模块加入分布式集群之后再有由第一服务模块生成密钥,并对密钥进行分发,在另一种可能的实现方式中,本发明实施例中的第一服务模块也可以预先完成密钥的生成和存储,当是在密钥需求模块加入分布式集群之后再对密钥进行分发。
在一种可选的实施方式中,第一服务模块11、第一服务模块12和第三服务模块13分别为分布式集群的主服务器、从服务器和第三服务器,密钥管理单元可以是主服务器、从服务器和第三服务器内部的系统盘,系统盘可以为服务器内部的数据盘提供密钥,并依赖数据盘利用获得的密钥对数据进行加密和解密;密钥需求模块为新数据盘;其中,主服武器包括第一系统盘;从服务器包括第二系统盘;第三服务器包括第三系统盘;主服务器用于为从服务器和第三服务器提供密钥管理服务;从服务器用于当主服务器故障时为第三服务器提供密钥管理服务。
为了方便理解分布式集群的主服务器实现生成密钥、存储密钥和将密钥分发至从服务器和/或第三服务器的功能,下面给出一种本发明实施例中的密钥管理系统可能的实现方式,并以主服务器为例结合主服务器内部功能结构解释本发明实施例提供的密钥管理系统实现密钥管理的原理。
请参见图3,图3为本发明实施例提供一种密钥管理系统10A的示意图,该密钥管理系统可以应用于分布式集群,本实施例集群中的四个服务器作为示例进行说明,其中,包括主服务器110A、从服务器120A和多个第三服务器130A,在一个分布式集群中,最佳的从服务器数目为2个,每个服务器之间可以进行网络数据传输;主服务器110A包括第一系统盘110A-1、从服务器120A包括第二系统盘120A-1、多个第三服务器包括第三系统盘130A-1。
本发明实施例中,主服务器110A、从服务器120A和130内还包括集群管理服务和存储服务,用以协同系统盘实现密钥生成、存储和分发的功能,这是因为在分布式集群中,每个服务器内部均包括集群管理服务和存储服务,集群管理服务为服务器通过调用本地或远程代码以执行的服务功能,用于实现服务器内部资源调度和服务器与其他服务器之间的通信传输。服务器安装并运行集群管理服务后就可以加入分布式集群。
例如,以图3中的主服务器110A为例,该服务器上的集群管理服务可以通过该密钥管理对应的应用程序接口(ApplicationProgrammingInterface,简称API),实现控制第一系统盘110A-1生成密钥,加密或解密密钥以及同步密钥等功能,其中,集群管理服务与第一系统盘110A-1的交互,可以利用串行高级技术附件(SerialAdvancedTechnologyAttachment,简称SATA)、非易失性内存主机控制器接口规范(Non-VolatileMemoryexpress,简称NVMe)、高速串行计算机扩展总线标准(PeripheralComponentInterconnectExpress,简称PCI-E)或小型计算机系统接口(SmallComputerSystemInterface,简称SCSI)中的一种或多种访问协议实现。
可以理解的是,集群管理服务可以访问第一系统盘110A-1内的内容,在本发明实施例中,第一系统盘110A-1的内容包括但不限于:闪存管理的算法、纠错算法、加密解密算法(包括但不限于国密算法SM2/SM3/SM4)、密钥以及认证证书等;其中,认证证书可以是但不限于系统盘证书、数据盘证书、公钥或所有者的识别信息等。存储服务为实现服务器内部数据同步而执行的服务功能,能够实现将数据、文件、密钥等内容随时随地同步到数据盘上,类似地,第二系统盘120A-1和第三系统盘130A-1内包含的内容与第一系统盘110A-1内的内容。
基于图3所示的密钥管理系统,主服务器110A实现密钥管理功能的原理为:
主服务器用于新数据盘模块加入分布式集群后,通过第一系统盘生成并存储密钥;
主服务器还用于:当新数据盘加入主服务器时,通过第一系统盘加密密钥并同步至新数据盘;当新数据盘加入从服务器时,通过第一系统盘加密密钥并发送至从服务器,以使从服务器通过第二系统盘将密钥保存之后同步至新数据盘;当新数据盘加入第三服务器时,通过第一系统盘加密密钥并发送至从服务器和第三服务器,以使从服务器通过第二系统盘保存密钥,以使第三服务器通过第三系统盘将密钥同步至新数据盘。
为了详细说明主服务器110A通过第一系统盘110A-1实现生成密钥、存储密钥和分发密钥的功能,下面给出一种系统盘可能的实现方式,参见图4,图4为本发明实施例提供的一种系统盘的结构示意图。
第一系统盘110A-1内可以包括第一控制器芯片110A-11和第一存储器110A-12,使得该第一系统盘110A-1既可以提供普通硬盘的功能,又可以提供密钥管理功能,该密钥管理功能可以包括生成密钥、存储密钥、迁移密钥和销毁密钥等功能;第一系统盘110A-1的第一存储器110A-12还可以用于存储主服务器110A的操作系统。
第一控制器芯片110A-11可以是一种集成电路芯片,具有信号的处理能力。该第一控制器芯片中包括非易失性控制器(NANDFLASHControler,简称NFC)、随机数生成算法、闪存管理的算法、纠错算法、加密解密算法(包括其不限于国密算法SM2/SM3/SM4),同时也能够提供内部永久化保存CA(CertificateAuthority,简称CA)颁发的证书和密钥的功能。另外,该芯片还能提供SATA、PCIe、SCSI和NVMe的物理层到协议层的访问协议。
对于系统扩展服务器时,第一控制器芯片1110需要为新加入的服务器的数据盘分密钥的同时,第一服务器还要查询新接入的服务器是否配置有密管能力的系统盘,如果有,第一服务器需要将标注为备选的密管服务器。如果当前集群中的从服务器小于2个,那么备选的密管服务器可以转换为从服务器。
第一存储器110A-12可以是但不限于,随机存取存储器(RandomAccessMemory,RAM),还可以包括一个或多个存储单元,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件(NANDFLASH)。
可选地,图3中的第二系统盘120A-1和第三系统盘130A-1具有和第一系统盘110A-1类似的功能结构,可以理解的是,当主服务器110A出现故障时,从服务120可以为第三服务器130A提供密钥管理服务,当主服务器110A和从服务120都出现故障时,可以从多个第三服务器130A中重新确定主服务器来实现密钥管理功能,因此,图3中的第二系统盘120A-1和第三系统盘130A-1具有和第一系统盘110A-1类似的功能结构。
结合图3和图4所示的架构图,主服务器110A可以通过第一系统盘110A-1内部的第一控制器芯片110A-11和第一存储器110A-12实现生成密钥、存储密钥和分发密钥的功能,具体地,主服务器用于新数据盘模块加入分布式集群后,通过第一控制器芯片110A-11生成并将密钥存储至第一存储器110A-12中;还用于:当新数据盘加入主服务器110A时,通过第一控制器芯片110A-11加密密钥并同步至新数据盘;当新数据盘加入从服务器120A时,通过第一控制器芯片110A-11加密密钥并发送至从服务器120A,以使从服务器120A通过第二系统盘120A-1将密钥保存之后同步至新数据盘;当新数据盘加入第三服务器130A时,通过第一控制器芯片110A-11加密密钥并发送至从服务器120A和第三服务器130A,以使从服务器120A通过第二系统盘120A-1保存密钥,以使第三服务器130A通过第三系统盘130A-1将密钥同步至新数据盘,实现减少密钥管理的复杂度,增强保密安全性的有益效果。
在另一种优选的实施方式中,在本发明实施例提供的密钥管理系统中,第一服务模块11、第一服务模块12和第三服务模块13可以分别为分布式集群的主服务器、从服务器和第三服务器;而密钥管理单元可以是主服务器、从服务器和第三服务器内部的加密卡,加密卡可以实现生成密钥、存储密钥、分发密钥和对数据进行解密和解密的功能;密钥需求模块可以为新加密卡;其中,主服务器包括第一加密卡;从服务器包括第二加密卡;第三服务器包括第三加密卡;主服务器用于为从服务器和第三服务器提供密钥管理服务;从服务器用于当主服务器故障时为第三服务器提供密钥管理服务;此时第一加密卡为密钥管理单元。
为了方便理解,请参见图5,图5为本发明实施例提供另一种密钥管理系统10B的示意图,其中,图5所示的主服务器110B包括第一加密卡110B-1,主服务器110B包括第一加密卡110B-1,从服务器120B包括第二加密卡120B-1,第三服务器130B包括第三加密卡130B-1,本发明实施例中服务器内部的加密卡除了具有生成密钥、存储密钥、分发密钥等功能,还具备自加密功能,可以对数据进行加/解密。
为了详细说明主服务器110B通过第一加密卡110B-1实现生成密钥、存储密钥和分发密钥的功能,下面给出一种加密卡可能的实现方式,参见图6,图6为本发明实施例提供的一种加密卡的结构示意图。
其中,第一加密卡110B-1内可以包括第一控制器芯片110B-11和第一存储器110B-12。
与图4所示的与图4所示的第一系统盘相同的是:第一控制器芯片110B-111101-1也可以是一种集成电路芯片,具有信号的处理能力;第一控制器芯片110B-11内也可以包含随机数生成算法、闪存管理的算法、纠错算法、加密解密算法(包括其不限于国密算法SM2/SM3/SM4),同时也能够提供内部永久化保存CA(CertificateAuthority,简称CA)颁发的证书和密钥的功能。
与图4所示的第一加密卡110A-1不同的是:第一控制器芯片110B-11能提供PCIe、NVMe两种物理层到协议层的访问协议,主服务器110B通过向第一控制器芯片110B-11发送PCIe或NVMe命令,可以实现第一控制器芯片110B-11对数据进行加密和解密的功能;第一存储器110B-12110B-12可以是NORFLASH和EEPROM,其中,NORFLASH可以用来存储密钥,EEPROM可以用来存储第一加密卡110B-11预存固件,例如算法引擎、代码等,第一存储器110B-12不对主服务器110B提供存储功能。
需要说明的是,图5所示的密钥管理系统10B与图3所示的密钥管理系统10A具有类似的结构,都可以应用于分布式集群,分布式集群中的主服务器、从服务器和第三服务器都具有图3所示的集群管理服务和存储服务,图5所示的服务器上的集群管理服务与图3所示的服务器内的集群管理服务功能类似,唯一不同的是,图5所示的服务器上的集群管理服务与第一系统盘110B-1的交互,可以利用非易失性内存主机控制器接口规范(Non-VolatileMemoryexpress,简称NVMe)、高速串行计算机扩展总线标准(PeripheralComponentInterconnectExpress,简称PCI-E)中的一种或多种访问协议实现。
还需要说明的是,图5所示的主服务器、从服务器及第三服务器的内部结构均表示部分结构,其中,主服务器、从服务器及第三服务器内部还包括系统盘和数据盘,但系统盘和数据盘只提供普通硬盘的功能,与图3所示及图4所示的系统盘及数据盘的功能不同,图3所示的系统盘具有生成密钥、存储密钥和分发密钥的功能,但是没有对数据进行加密和解密的功能,而数据盘具有自加密功能,可以利用从系统光盘获得的密钥对数据进行解密和解密,而图5所示的服务器内部的加密卡具有生成密钥、存储密钥、分发密钥和数据进行加/解密的功能,因此,图5中的服务器内部的系统盘和数据盘值提供普通硬盘的功能。
结合图5和图6所示的架构图,主服务器110B可以通过第一系统盘110B-1内部的第一控制器芯片110B-11和第一存储器110B-12实现生成密钥、存储密钥和分发密钥的功能,具体地,主服务器110B用于新数据盘模块加入分布式集群后,通过第一控制器芯片110B-11生成并将密钥存储至第一存储器110B-12中;还用于:当新数据盘加入主服务器110B时,通过第一控制器芯片110B-11加密密钥并同步至新数据盘;当新数据盘加入从服务器120B时,通过第一控制器芯片110B-11加密密钥并发送至从服务器120B,以使从服务器120B通过第二系统盘120B-1将密钥保存之后同步至新数据盘;当新数据盘加入第三服务器130B时,通过第一控制器芯片110B-11加密密钥并发送至从服务器120B和第三服务器130B,以使从服务器120B通过第二系统盘120B-1保存密钥,以使第三服务器130B通过第三系统盘130B-1将密钥同步至新数据盘,实现减少密钥管理的复杂度,增强保密安全性的有益效果。
本发明实施例提供的两种可选的密钥管理系统均不由外置模块负责密钥的分发、存储,而是将密钥的生成和分发的功能集成到分布式集群中第一服务模块的内部,通过内部的密钥管理单元完成密钥生成和在集群中的分发的功能,降低了密钥管理的复杂度,提高了密钥保密安全性。
实施例二
下面将结合上述图3及图4所示的密钥管理系统及服务器架构的示例,给出一种密钥管理方法,该方法的执行主体可以是图3中的主服务器110A,其中,图3中的主服务器110A内部包含具有图4所示结构的第一系统盘110A-1,参见图7,图7为本发明实施例提供的一种密钥管理方法流程图,该方法具体包括:
步骤701、响应新数据盘加入分布式集群,在第一控制器芯片内生成密钥,并将密钥保存至第一存储器。
具体地,第一控制器芯片用于生成密钥、对密钥进行加密和解密,第一存储器用于存储第一控制器芯片生成的密钥。
步骤702、将密钥同步至新数据盘。
具体地,在本发明实施例中,新数据盘可以是一种加密硬盘,主服务器同步到新数据盘的密钥用来将新数据盘中的文件和数据加密或解密。
本发明实施例提供的密钥管理方法,应用于分布式集群中的主服务器,主服务器包括第一系统盘,第一系统盘包括第一控制器芯片和第一存储器,并用于存储主服务器的操作系统;主服务器响应新数据盘加入分布式集群,通过第一控制器芯片生成密钥,并将密钥保存至第一存储器;再将密钥同步至新数据盘。通过在主服务器内部执行该方法来进行密钥管理,在具有保密性的前提下,实现了减少密钥管理的复杂度的有益效果。
在一种可能的实现方式中,当新数据盘接入主服务器上时,下面给出步骤702的一种可能的实现方式,步骤702具体可以包括:
步骤702a:将密钥同步至主服务器的新数据盘。
可选地,参见图3,当新数据盘为主服务器110A中的数据盘n时,为了方便描述,本实施例可以将主服务器110A内部的集群管理服务和存储服务可以称为第一集群管理服务和第一存储服务,第一系统盘上提供密钥管理API可以称为第一密钥管理API。
具体地,当新数据盘加入主服务器时,主服务器通过第一集群管理服务向第一系统盘发起调用第一密钥管理API,第一密钥管理API通过系统盘授权后,通过驱动程序访问第一系统盘获取密钥并将获取的密钥同步给第一存储服务,由第一存储服务将密钥同步到新数据盘上。
可选地,在主服务器向新数据盘同步密钥之前,主服务与新数据盘之间所需要建立安全通信通道,具体地,主服务器可以通过临时会话密钥将新密钥进行加密,保证加密密钥传输中的保密性及可溯源性,该临时会话密钥具有时效性及随机性,由主服务器维护。
在一种可能的实现方式中,当新数据盘接入从服务器上时,具体地,该从服务器可以包括第二系统盘,该第二系统盘内包含的第二控制器芯片和第二存储器,下面给出步骤702的另一种可能的实现方式,具体地,步骤702具体可以包括:
步骤702b、加密密钥并发送至第二系统盘,以使第二控制器芯片以使第二控制器芯片将加密后的密钥保存至第二存储器并同步至新数据盘。
可选地,第二控制器芯片可以用于对加密的密钥进行解密,第二存储器可以用于存储第二控制器芯片解密后获得的密钥,在实例的场景中,为了保证密钥的安全性,第二控制器芯片也可以用于直接将加密后的密钥存储至第二存储器。
可选地,继续参见图3,当新数据盘为从服务器120A中的数据盘n时,为了方便描述,将从服务器120A内部的集群管理服务和存储服务可以称为第二集群管理服务和第二存储服务,密钥管理API可以称为第一密钥管理API。
具体地,主服务器首先通过第一密钥管理API接口调用驱动程序以使第一控制器芯片对密钥进行加密;然后,主服务器内的第一集群管理服务发起调用第一密钥管理API命令,第一密钥管理API通过调用驱动程序访问第一系统盘,第一控制器芯片内加密的密钥并返回给集第一集群管理服务,第一集群管理服务将获得的加密的密钥同步至从服务器。
进一步地,从服务器在接收主服务器同步的加密的密钥后,可以通过调用第二密钥管理API命令来实现密钥的同步;具体的,首先通过调用该第二密钥管理API命令中的解密指令,实现对接收到的密钥进行解密;之后,可以再通过调用该第二密钥管理API命令中的密钥获取指令,实现将密钥从系统盘内获取并同步给新数据盘。
具体地,从服务器内的第二集群管理服务发起调用第二密钥管理API命令,第二密钥管理API第一次调用驱动程序访问第二系统盘,以使第二控制器芯片将加密的密钥解密并保存至第二存储器;然后,第二集群管理服务再次调用第二密钥管理API命令,第二密钥管理API调用驱动程序访问第二系统盘获得解密的密钥,并将解密的密钥同步给第二存储服务,由第二存储服务将密钥同步到新数据盘上;在实例的场景中,为了保证密钥的安全性,第二密钥管理API也可以调用驱动程序访问第二系统盘获得加密的密钥,然后由第二存储服务将加密的密钥同步到新数据盘上。
可选地,在主服务器向从服务同步密钥之前,主服务与从服务器之间所需要建立安全通信通道,具体地,主服务器和从服务器可以交换各自的CA证书实现绑定,并在主服务器的第一主控芯片中生成临时传输密钥后对加密密钥加密,进而将加密的密钥同步到从服务器中。
在一种可能的实现方式中,当新数据盘接入第三服务器上时,该第三服务器包括第三系统盘,该第三系统盘内包含的第三控制器芯片,下面给出步骤702的另一种可能的实现方式,具体地,步骤702具体可以包括:
步骤702c、加密密钥并发送至第二系统盘,以使第二控制器芯片将加密后的密钥保存至第二存储器。
在本发明实施例中,第二控制器芯片可以用于对加密的密钥进行解密,第二存储器可以用于存储第二控制器芯片解密后获得的密钥,但在实例的场景中,为了保证密钥的安全性,第二控制器芯片也可以用于直接将加密后的密钥存储至第二存储器。
步骤702d、将加密后的密钥发送至第三系统盘,以使第三控制器芯片将加密后的密钥同步至新数据盘。
可选地,第三控制器芯片可以用于对加密的密钥进行解密,第二存储器可以用于存储第二控制器芯片解密后获得的密钥,但在实例的场景中,为了保证密钥的安全性,第二控制器芯片也可以用于直接将加密后的密钥存储至第二存储器。
可选地,继续参见图3,当新数据盘为第三服务器130A中的数据盘n时,第三服务器内部的集群管理服务和存储服务可以称为第三集群管理服务和第三存储服务,密钥管理API可以称为第三密钥管理API。
具体地,主服务器首先通过第一密钥管理API接口调用驱动程序以使第一控制器芯片对密钥进行加密;然后,主服务器内的第一集群管理服务发起调用第一密钥管理API命令,第一密钥管理API调用驱动程序访问第一系统盘,获取第一控制器芯片内加密的密钥并返回给第一集群管理服务,第一集群管理服务将获得的加密的密钥同步至从服务器。
进一步地,从服务器在接收主服务器同步的加密的密钥后,首先,从服务器内的第二集群管理服务发起调用第二密钥管理API命令,第二密钥管理API响应命令,调用驱动程序访问第二系统盘,以使第二控制器芯片将加密的密钥解密并保存至第二存储器(可以在理想安全的环境下将解密的密钥解密后再保存),但在实例的场景中,为了保证密钥的安全性,第二控制器芯片也可以用于直接将加密后的密钥存储至第二存储器。
进一步地,主服务器内的集群管理服务再次调用第一密钥管理API命令,第一密钥管理API第二次调用驱动程序访问第一系统盘,获取第一控制器芯片内加密的密钥并返回给第一集群管理服务,第一集群管理服务将获得的加密的密钥同步至第三服务器。
进一步地,第三服务器在接收主服务器同步的加密的密钥后,首先,第三服务器内的第三集群管理服务发起调用第三密钥管理API命令,第三密钥管理API调用驱动程序访问第三系统盘,以使第三控制器芯片将加密的密钥解密,并获取解密后密钥同步给第三存储服务,第三存储服务将密钥同步到新数据盘上(可以在理想安全的传输环境下将解密的密钥解密后保存并发送),但在实例的场景中,为了保证密钥的安全性,第三控制器芯片也可以用于直接将加密后的密钥存储至第三存储器。
在本发明实施例中,为了清楚的描述主服务器的第一控制器芯片生成密钥的过程,下面给出一种第一控制器芯片110A-11内生成并存储密钥的可能的实现方式,步骤701具体包括:
步骤701a、响应新数据盘加入分布式集群,通过第一密钥管理API接口调用驱动程序以改变第一系统盘预存的固件来使第一控制器芯片内生成并存储密钥。
可选地,在主服务器响应新数据盘加入分布式集群之前,主服务器的驱动程序扫描集群中服务器上的数据盘状态信息,当有新数据盘接入后,主服务器检测出新数据盘信息,就会为新数据盘生成密钥并同步给新数据盘。
具体地,主服务器通过集群管理服务发起调用第一管理API接口的命令,第一密钥管理API调用驱动程序访问第一系统盘,第一系统盘改变预存的固件并来使第一控制器芯片调用密钥生成算法来生密钥。
可选地,主服务器可以向所有服务器发送销毁密钥命令,服务器节点收到销毁密钥命令后,向本地的数据盘发送销毁密钥命令。待所有数据盘销毁密钥成功后,主服务器再向从服务器发送删除密钥命令,从服务器收到删除密钥命令后,向本地的系统盘删除指定的密钥,最后主服务器向本地系统盘删除指定密钥,以使系统中没有任何被销毁的密钥存在。
通过上述实施例一提供的密钥管理方法,本发明实施例不需由外置模块负责密钥的分发、存储,而是将密钥的生成和分发的功能集成到分布式集群中服务器内部的系统盘内完成密钥生成、存储和在集群中的分发的功能,降低了密钥管理的复杂度,提高了密钥保密安全性。
实施例三
下面将结合上述图5及图6所示的密钥管理系统及服务器架构的示例,给出另一种密钥管理方法,该方法的执行主体为图5中的主服务器110B,其中,图3中的主服务器110B内部包含具有图4所示结构的第一加密卡110B-1,参见图8,图8为本发明实施例提供的另一种密钥管理方法流程图,该方法具体可以包括:
步骤801、响应新加密卡加入分布式集群,在第一控制器芯片内生成密钥,并将密钥保存至第一存储器。
具体地,第一控制器芯片用于生成密钥、对密钥进行加密和解密,第一存储器用于存储第一控制器芯片生成的密钥。
步骤802、将密钥同步至新加密卡。
本发明实施例提供的密钥管理方法,应用于分布式集群中的主服务器,主服务器包括第一加密卡,第一加密卡包括第一控制器芯片和第一存储器,并用于存储主服务器的操作系统;主服务器响应新加密卡加入分布式集群,通过第一控制器芯片生成密钥,并将密钥保存至第一存储器;再将密钥同步至新加密卡。通过在主服务器内部执行该方法来进行密钥管理,在具有保密性的前提下,实现了减少密钥管理的复杂度的有益效果。
在一种可能的实现方式中,当新加密卡接入主服务器上时,下面给出步骤802的一种可能的实现方式,其中步骤802具体可以包括:
步骤802a:将密钥加密后同步至主服务器的新加密卡。
可选地,结合图5,当新加密卡加入主服务器110B中时,将主服务器110B内部的集群管理服务和存储服务可以称为第一集群管理服务和第一存储服务,第一加密卡上提供密钥管理API可以称为第一密钥管理API。
具体地,主服务器通过第一集群管理服务向第一加密卡发起调用第一密钥管理API,第一密钥管理API通过加密卡授权后,通过驱动程序访问第一加密卡获取密钥并将获取的密钥同步给第一存储服务,由第一存储服务将密钥同步到新加密卡上。
可选地,在主服务器向新加密卡同步密钥之前,主服务与新加密卡之间所需要建立安全通信通道,具体地,主服务器可以通过临时会话密钥将新密钥进行加密,保证加密密钥传输中的保密性及可溯源性,该临时会话密钥具有时效性及随机性,由主服务器维护。
在一种可能的实现方式中,当新加密卡接入从服务器上时,具体地,该从服务器包括第二加密卡,该第二加密卡内包含的第二控制器芯片和第二存储器,下面给出步骤802的另一种可能的实现方式,步骤802具体可以包括:
步骤802b、加密密钥并发送至第二加密卡,以使第二控制器芯片将加密后的密钥保存至第二存储器后并同步至新加密卡。
可选地,结合图5,当新加密卡加入从服务器120中的时,将从服务器120内部的集群管理服务和存储服务可以称为第二集群管理服务和第二存储服务,密钥管理API可以称为第一密钥管理API。
具体地,主服务器首先通过第一密钥管理API接口调用驱动程序以使第一控制器芯片对密钥进行加密;然后,主服务器内的第一集群管理服务发起调用第一密钥管理API命令,第一密钥管理API通过调用驱动程序访问第一加密卡,第一控制器芯片内加密的密钥并返回给集第一集群管理服务,第一集群管理服务将获得的加密的密钥同步至从服务器。
进一步地,从服务器在接收主服务器同步的加密的密钥后,可以通过调用第二密钥管理API命令来实现密钥的同步。具体的,通过调用该第二密钥管理API命令中的密钥获取指令,实现将密钥从加密卡内获取并同步给新加密卡。
具体地,从服务器内的第二集群管理服务发起调用第二密钥管理API命令,第二密钥管理API第一次调用驱动程序访问第二加密卡,以使第二控制器芯片将加密的密钥保存至第二存储器;然后,第二集群管理服务再次调用第二密钥管理API命令获得加密后的密钥,并将加密的密钥同步给第二存储服务,由第二存储服务将密钥同步到新加密卡上。
可选地,在主服务器向从服务同步密钥之前,主服务与从服务器之间所需要建立安全通信通道,具体地,主服务器和从服务器可以交换各自的CA证书实现绑定,并在主服务器的第一主控芯片中生成临时传输密钥后对加密密钥加密,进而将加密的密钥同步到从服务器中。
在一种可能的实现方式中,当新加密卡接入第三服务器上时,该第三服务器包括第三加密卡,该第三加密卡内包含的第三控制器芯片,下面给出步骤802的另一种可能的实现方式,步骤802具体可以包括:
步骤802c、加密密钥并发送至所述第二加密卡,以使第二控制器芯片将加密后的密钥保存至所述第二存储器。
步骤802d、将加密后的密钥发送至第三加密卡,以使第三控制器芯片将加密后的密钥同步至新加密卡。
可选地,结合图5,当新加密卡加入第三服务器130中时,第三服务器内部的集群管理服务和存储服务可以称为第三集群管理服务和第三存储服务,密钥管理API可以称为第三密钥管理API。
具体地,主服务器首先通过第一密钥管理API接口调用驱动程序以使第一控制器芯片对密钥进行加密;然后,主服务器内的第一集群管理服务发起调用第一密钥管理API命令,第一密钥管理API调用驱动程序访问第一加密卡,获取第一控制器芯片内加密的密钥并返回给第一集群管理服务,第一集群管理服务将获得的加密的密钥同步至从服务器。
进一步地,从服务器在接收主服务器同步的加密的密钥后,首先,从服务器内的第二集群管理服务发起调用第二密钥管理API命令,第二密钥管理API响应命令,调用驱动程序访问第二加密卡,以使第二控制器芯片将加密的密钥并保存至第二存储器。
进一步地,主服务器内的集群管理服务再次调用第一密钥管理API命令,第一密钥管理API第二次调用驱动程序访问第一加密卡,获取第一控制器芯片内加密的密钥并返回给第一集群管理服务,第一集群管理服务将获得的加密的密钥同步至第三服务器。
进一步地,第三服务器在接收主服务器同步的加密的密钥后,首先,第三服务器内的第三集群管理服务发起调用第三密钥管理API命令,第三密钥管理API调用驱动程序访问第三加密卡,以使第三控制器芯片获取加密的密钥并同步给第三存储服务,由第三存储服务将密钥同步到新加密卡上。
在本发明实施例中,为了清楚的描述主服务器的第一控制器芯片生成密钥的过程,下面给出一种第一控制器芯片110B-11内生成并存储密钥的可能的实现方式,管理方法的流程示意图,其中,步骤801具体可以包括:
步骤801a、响应新加密卡加入分布式集群,通过第一密钥管理API接口调用驱动程序以改变第一加密卡预存的固件来使第一控制器芯片内生成并存储密钥。
可选地,在主服务器响应新加密卡加入分布式集群之前,主服务器的驱动程序扫描集群中服务器上的状态信息,当有新加密卡接入后,主服务器检测出新加密卡信息,就会为新加密卡生成密钥并同步给新加密卡。
具体地,主服务器通过集群管理服务发起调用第一管理API接口的命令,第一密钥管理API调用驱动程序访问第一次加密卡,第一加密卡改变预存的固件并来使第一控制器芯片调用密钥生成算法来生密钥。
通过上述实施例二提供的密钥管理方法,本发明实施例不需由外置模块负责密钥的分发、存储,而是将密钥的生成和分发的功能集成到分布式集群中服务器内部的加密卡内完成密钥生成、存储和在集群中的分发的功能,降低了密钥管理的复杂度,提高了密钥保密安全性。
为了执行上述实施例二及各个可能的方式中的相应地步骤,本发明实施例提供了一种密钥管理装置的实现方式,该密钥管理装置90A可以应用于图3所示的主服务器110A中,包括控制模块901A、存储模块902A和接口模块903A。
控制模块901A,用于响应新加密卡加入分布式集群,通过控制子模块生成密钥,并将密钥保存至存储模块902A。
接口模块903A,用于将密钥同步至新加密卡。
需要说明的是,本实施例所提供的密钥管理装置,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。可选地,控制模块901A、存储模块902A和接口模块903A各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
可以理解,控制模块901A和该存储模块902A共同执行上述步骤701和步骤702,步骤701a以实现相应的技术效果。
可以理解,接口模块903A执行步骤702a,步骤702b,步骤702c-步骤702d以实现相应的技术效果。
为了执行上述实施例三及各个可能的方式中的相应地步骤,本发明实施例提供了一种密钥管理装置的实现方式,密钥管理装置90B可以应用于图3所示的主服务器110B中,包括控制模块901B、存储模块902B和接口模块903B。
控制模块901B,用于响应新加密卡加入分布式集群,通过控制子模块生成密钥,并将密钥保存至存储模块902。
接口模块903B,用于将密钥同步至新加密卡。
需要说明的是,本实施例所提供的密钥管理装置,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。可选地,控制模块901A、存储模块902B和接口模块903B各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
可以理解,控制模块901B和该存储模块902B共同执行上述步骤801和步骤802,以实现相应的技术效果。
可以理解,接口模块903B执行步骤802a,步骤802b,步骤802c步骤802d以实现相应的技术效果。
需要说明的是,上述模块可以软件或固件(Firmware)的形式存储于存储器中或固化于服务器的处理器中,并可由该处理器执行本发明实施例提供的任意一种密钥管理方法。
本发明实施例还提供了一种存储介质,其上存储有计算机程序,用于被执行实现上述实施例中的各个步骤,以实现相应的技术效果。该计算机可读存储介质可以是,但不限于,U盘、移动硬盘、ROM、RAM、PROM、EPROM、EEPROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (16)
1.一种密钥管理方法,应用于分布式集群中的主服务器,其特征在于,所述主服务器包括第一系统盘,所述第一系统盘包括第一控制器芯片和第一存储器,并用于存储所述主服务器的操作系统;所述方法包括:
响应新数据盘加入所述分布式集群,通过第一控制器芯片生成密钥,并将所述密钥保存至所述第一存储器;
将所述密钥同步至所述新数据盘。
2.根据权利要求1所述的方法,其特征在于,当所述新数据盘加入主服务器时,所述将所述密钥同步至所述新数据盘的步骤包括:
将所述密钥加密后同步至所述主服务器的新数据盘。
3.根据权利要求1所述的方法,其特征在于,所述分布式集群还包括与主服务器通信的从服务器,所述从服务器包括第二系统盘,所述第二系统盘包括第二控制器芯片和第二存储器,当所述新数据盘加入所述从服务器时,所述将所述密钥同步至所述新数据盘的步骤包括:
加密所述密钥并发送至所述第二系统盘,以使第二控制器芯片将加密后的所述密钥保存至所述第二存储器并同步至所述新数据盘。
4.根据权利要求3所述的方法,其特征在于,所述分布式集群还包括与主服务器通信的第三服务器,所述第三服务器包括第三系统盘,所述第三系统盘包括第三控制器芯片,当所述新数据盘加入所述第三服务器时,所述将所述密钥同步至所述新数据盘的步骤包括:
加密所述密钥并发送至所述第二系统盘,以使第二控制器芯片将加密后的所述密钥保存至所述第二存储器;
将加密后的所述密钥发送至所述第三系统盘,以使所述第三控制器芯片将加密后的所述密钥同步至所述新数据盘。
5.根据权利要求1所述的方法,其特征在于,所述第一系统盘提供第一密钥管理API接口,所述响应新数据盘加入所述分布式集群,在所述第一控制器芯片内生成并存储密钥的步骤包括:
响应所述新数据盘加入所述分布式集群,通过所述第一密钥管理API接口调用驱动程序以改变所述第一系统盘的预存的固件来使第一控制器芯片内生成并存储密钥。
6.根据权利要求3所述的方法,其特征在于,所述第二系统盘提供第二密钥管理API接口;所述加密所述密钥并发送至所述第二系统盘以使第二控制器芯片解密并保存所述密钥的步骤包括:
通过第一密钥管理API接口获取加密的所述密钥并发送至所述从服务器,以使所述从服务器通过所述第二密钥管理API将加密的所述密钥发送至所述第二系统盘。
7.一种密钥管理系统,应用于分布式集群,其特征在于,包括第一服务模块、第二服务模块和第三服务模块;所述第一服务模块包括第一密钥管理单元;所述第二服务模块包括第二密钥管理单元;所述第三服务模块包括第三密钥管理单元;所述第一服务模块用于为第二服务模块和所述第三服务模块提供密钥管理服务;所述第二服务模块用于当所述第一服务模块故障时为所述第三服务模块提供密钥管理服务;
所述第一服务模块,用于响应密钥需求模块加入所述分布式集群后,通过第一密钥管理单元生成并存储密钥;
所述第一服务模块,还用于:
当所述密钥需求模块加入所述第一服务模块时,通过所述第一密钥管理单元加密所述密钥并同步至所述密钥需模块;
当所述密钥需求模块加入所述第二服务模块时,通过所述第一密钥管理单元加密所述密钥并发送至所述第二服务模块,以使所述第二服务模块通过所述第二密钥管理单元将所述密钥保存之后同步至所述密钥需模块;
当所述密钥需求模块加入所述第三服务模块时,通过所述第一密钥管理单元加密所述密钥并发送至所述第二服务模块和所述第三服务模块,以使所述第二服务模块通过所述第二密钥管理单元保存所述密钥,以使所述第三服务模块通过所述第三密钥管理单元将所述密钥同步至所述密钥需模块。
8.一种密钥管理方法,应用于分布式集群中的主服务器,其特征在于,所述主服务器包括第一加密卡;所述第一加密卡包括第一控制器芯片和第一存储器,并用于存储所述第一加密卡的预存固件,所述方法包括:
响应新加密卡加入所述分布式集群,通过所述第一控制器芯片生成并密钥,并将所述密钥存储至所述第一存储器;
将所述密钥同步至所述新加密卡。
9.根据权利要求8所述的方法,其特征在于,当所述新加密卡加入所述主服务器时,所述将所述密钥同步至所述新加密卡的步骤包括:
将所述密钥加密后同步至所述主服务器的新加密卡。
10.根据权利要求8所述的方法,其特征在于,所述分布式集群还包括与主服务器通信的从服务器,所述从服务器包括第二加密卡,所述第二加密卡包括第二控制器芯片和第二存储器,当所述新加密卡加入所述从服务器时,所述将所述密钥同步至所述新加密卡的步骤包括:
加密所述密钥并发送至所述第二加密卡,以使所述第二控制器芯片将加密后的所述密钥保存至所述第二存储器后并同步至所述新加密卡。
11.根据权利要求10所述的方法,其特征在于,所述分布式集群还包括与主服务器通信的第三服务器,所述第三服务器包括第三加密卡;所述第三加密卡包括第三控制器芯片,当所述新加密卡加入所述第三服务器时,所述将所述密钥同步至所述新加密卡的步骤包括:
加密所述密钥并发送至所述第二加密卡,以使所述第二控制器芯片将加密后的所述密钥保存至所述第二存储器;
将加密后的所述密钥发送至所述第三加密卡,以使所述第三控制器芯片将加密后的所述密钥同步至所述新加密卡。
12.根据权利要求10所述的方法,其特征在于,所述第一加密卡提供第一密钥管理API接口,所述响应新加密卡加入所述分布式集群,通过所述第一控制器芯片生成密钥,并将所述密钥保存至所述第一存储器的步骤:包括:
响应所述新加密卡加入所述分布式集群,通过所述第一密钥管理API接口调用驱动程序以改变所述第一加密卡的预存的固件来使所述第一控制器芯片内生成所述密钥,并将所述密钥保存至所述第一存储器。
13.根据权利要求10所述的方法,其特征在于,所述第二加密卡提供第二密钥管理API接口;所述加密所述密钥并发送至所述第二加密卡以使第二控制器芯片解密并保存所述密钥的步骤,包括:
通过第一密钥管理API接口获取所述密钥并发送至所述从服务器,以使所述从服务器通过所述第二密钥管理API将所述密钥发送至所述第二加密卡。
14.一种密钥管理装置,应用于分布式集群中的主服务器,其特征在于,所述装置包括:控制模块,存储模块和接口模块;
所述控制模块,用于响应新数据盘加入所述分布式集群,通过所述控制模块生成密钥,并将所述密钥保存至所述存储模块;
所述接口模块,用于将所述密钥同步至所述新数据盘。
15.一种密钥管理装置,应用于分布式集群中的主服务器,其特征在于,所述装置包括:控制模块,存储模块和接口模块;
所述控制模块,用于响应新加密卡加入所述分布式集群,通过所述控制模块生成密钥,并将所述密钥保存至所述存储模块;
所述接口模块,用于将所述密钥同步至所述新加密卡。
16.一种存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-6中任一项所述的密钥管理方法或如权利要求8-13中任一项所述的密钥管理方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2019112046013 | 2019-11-29 | ||
CN201911204601.3A CN110830253A (zh) | 2019-11-29 | 2019-11-29 | 密钥管理方法、装置、服务器、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111654372A true CN111654372A (zh) | 2020-09-11 |
CN111654372B CN111654372B (zh) | 2023-03-07 |
Family
ID=69543372
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911204601.3A Pending CN110830253A (zh) | 2019-11-29 | 2019-11-29 | 密钥管理方法、装置、服务器、系统及存储介质 |
CN202010650253.9A Active CN111654372B (zh) | 2019-11-29 | 2020-07-08 | 密钥管理方法及相关装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911204601.3A Pending CN110830253A (zh) | 2019-11-29 | 2019-11-29 | 密钥管理方法、装置、服务器、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN110830253A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000975A (zh) * | 2020-10-28 | 2020-11-27 | 湖南天琛信息科技有限公司 | 一种密钥管理系统 |
CN113285950A (zh) * | 2021-05-21 | 2021-08-20 | 清创网御(合肥)科技有限公司 | 一种基于加密卡的密钥传输和存储方法 |
CN114710263A (zh) * | 2022-06-07 | 2022-07-05 | 苏州浪潮智能科技有限公司 | 密钥管理方法、密钥管理装置、密钥管理设备及存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114257606B (zh) * | 2021-12-13 | 2024-03-29 | 阿里巴巴(中国)有限公司 | 数据处理方法、文件管理系统、存储介质及程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015162061A (ja) * | 2014-02-27 | 2015-09-07 | 日本電信電話株式会社 | 分散処理システム |
US20170019385A1 (en) * | 2015-05-27 | 2017-01-19 | Samsung Sds Co., Ltd. | Method and apparatus for managing encryption keys for cloud service |
CN106604070A (zh) * | 2016-11-24 | 2017-04-26 | 中国传媒大学 | 云环境下流媒体的分布式密钥管理系统与密钥管理方法 |
CN108370315A (zh) * | 2015-09-22 | 2018-08-03 | 万事达卡国际股份有限公司 | 带加密的安全计算机集群 |
CN109104433A (zh) * | 2018-09-28 | 2018-12-28 | 方信息科技(上海)有限公司 | 一种分布式加密存储系统 |
-
2019
- 2019-11-29 CN CN201911204601.3A patent/CN110830253A/zh active Pending
-
2020
- 2020-07-08 CN CN202010650253.9A patent/CN111654372B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015162061A (ja) * | 2014-02-27 | 2015-09-07 | 日本電信電話株式会社 | 分散処理システム |
US20170019385A1 (en) * | 2015-05-27 | 2017-01-19 | Samsung Sds Co., Ltd. | Method and apparatus for managing encryption keys for cloud service |
CN108370315A (zh) * | 2015-09-22 | 2018-08-03 | 万事达卡国际股份有限公司 | 带加密的安全计算机集群 |
CN106604070A (zh) * | 2016-11-24 | 2017-04-26 | 中国传媒大学 | 云环境下流媒体的分布式密钥管理系统与密钥管理方法 |
CN109104433A (zh) * | 2018-09-28 | 2018-12-28 | 方信息科技(上海)有限公司 | 一种分布式加密存储系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000975A (zh) * | 2020-10-28 | 2020-11-27 | 湖南天琛信息科技有限公司 | 一种密钥管理系统 |
CN112000975B (zh) * | 2020-10-28 | 2021-02-09 | 湖南天琛信息科技有限公司 | 一种密钥管理系统 |
CN113285950A (zh) * | 2021-05-21 | 2021-08-20 | 清创网御(合肥)科技有限公司 | 一种基于加密卡的密钥传输和存储方法 |
CN113285950B (zh) * | 2021-05-21 | 2023-02-24 | 清创网御(合肥)科技有限公司 | 一种基于加密卡的密钥传输和存储方法 |
CN114710263A (zh) * | 2022-06-07 | 2022-07-05 | 苏州浪潮智能科技有限公司 | 密钥管理方法、密钥管理装置、密钥管理设备及存储介质 |
CN114710263B (zh) * | 2022-06-07 | 2022-08-05 | 苏州浪潮智能科技有限公司 | 密钥管理方法、密钥管理装置、密钥管理设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111654372B (zh) | 2023-03-07 |
CN110830253A (zh) | 2020-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111654372B (zh) | 密钥管理方法及相关装置 | |
US11108753B2 (en) | Securing files using per-file key encryption | |
CN109361517B (zh) | 一种基于云计算的虚拟化云密码机系统及其实现方法 | |
US11115418B2 (en) | Registration and authorization method device and system | |
CN110049016B (zh) | 区块链的数据查询方法、装置、系统、设备及存储介质 | |
CN107579958B (zh) | 数据管理方法、装置及系统 | |
CN103384237A (zh) | 一种共享IaaS业务云账号的方法、及共享平台和网络装置 | |
CN109347839B (zh) | 集中式密码管理方法、装置、电子设备及计算机存储介质 | |
CN111427860B (zh) | 分布式存储系统及其数据处理方法 | |
CN112187470B (zh) | 物联网证书分发方法及装置、系统、存储介质、电子装置 | |
CN103780609A (zh) | 一种云数据的处理方法、装置和云数据安全网关 | |
CN102984045A (zh) | 虚拟专用网的接入方法及虚拟专用网客户端 | |
CN108289074B (zh) | 用户账号登录方法及装置 | |
CN112187826A (zh) | 区块链网络中数据授权及数据访问方法及系统 | |
CN111970114A (zh) | 文件加密方法、系统、服务器和存储介质 | |
CN104104650A (zh) | 数据文件访问方法及终端设备 | |
CN110138765B (zh) | 数据处理方法、装置、计算机设备和计算机可读存储介质 | |
CN116155491B (zh) | 安全芯片的对称密钥同步方法及安全芯片装置 | |
CN105516210A (zh) | 终端安全接入认证的系统及方法 | |
CN111190700B (zh) | 针对虚拟化设备的跨域安全访问与资源控制方法 | |
CN110602690B (zh) | 一种应用于ZigBee系统的加密方法及装置 | |
CN103036854B (zh) | 业务订购方法及系统、业务权限认证方法、终端设备 | |
WO2023273279A1 (zh) | 机器人网络认证系统及方法 | |
CN116226940A (zh) | 一种基于pcie的数据安全处理方法以及数据安全处理系统 | |
CN112199431B (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 |