CN110635906A - 一种分布式块存储***的密钥管理方法及装置 - Google Patents

一种分布式块存储***的密钥管理方法及装置 Download PDF

Info

Publication number
CN110635906A
CN110635906A CN201911061772.5A CN201911061772A CN110635906A CN 110635906 A CN110635906 A CN 110635906A CN 201911061772 A CN201911061772 A CN 201911061772A CN 110635906 A CN110635906 A CN 110635906A
Authority
CN
China
Prior art keywords
key
client
encryption
server
request
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
CN201911061772.5A
Other languages
English (en)
Other versions
CN110635906B (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.)
Tang Gaohong Xin'an (zhejiang) Information Technology Co Ltd
Original Assignee
Tang Gaohong Xin'an (zhejiang) Information 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 Tang Gaohong Xin'an (zhejiang) Information Technology Co Ltd filed Critical Tang Gaohong Xin'an (zhejiang) Information Technology Co Ltd
Priority to CN201911061772.5A priority Critical patent/CN110635906B/zh
Publication of CN110635906A publication Critical patent/CN110635906A/zh
Application granted granted Critical
Publication of CN110635906B publication Critical patent/CN110635906B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0435Network 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 symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

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)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种分布式块存储***的密钥管理方法及装置,方法应用于客户端,包括:根据携带有加密属性和加密算法标识的第一创建指令,创建第一块设备;若加密属性指示第一块设备为加密设备,则发送包含所述加解密算法标识的第一密钥创建请求至服务端;接收服务端根据第一密钥创建请求反馈的第一密钥ID,第一密钥ID是服务端在确认客户端用户身份合法后反馈的。本发明的分布式块存储***的密钥管理方法,通过在创建块设备时,对加密属性为加密设备的块设备,自动密钥创建,在服务端确认客户端身份合法后创建密钥,并反馈与密钥关联存储的密钥ID,确保了密钥的安全管理,提升了块设备数据的存储安全,也为后续块设备密钥的安全管理提供了基础。

Description

一种分布式块存储***的密钥管理方法及装置
技术领域
本发明涉及云计算安全技术领域,尤其涉及一种分布式块存储***的密钥管理方法及装置。
背景技术
面对信息化程度不断提高带来的海量数据存储需求,传统的存储***在容量和性能的扩展上存在瓶颈。云存储以其扩展性强、性价比高、容错性好等优势得到了业界的广泛认同。分布式块存储作为云存储中重要的技术,成为奠定云存储发展的重要基石。在一些特定的云计算应用场景中,分布式存储***向上层提供块设备,供客户端用户来使用。例如Ceph提供块设备,供OpenStack组件使用。
在大规模分布式存储***中,用户最关心的是数据的安全性。目前,主要采用数据的加密存储来保障数据安全。现有分布式块存储的应用中,在服务端对物理磁盘进行全盘加解密,该技术方式的加密密钥分散保存在物理磁盘上,且用户对磁盘的访问是无限制的,不能保证密钥的安全管理,也就不能保证块设备数据的存储安全。
发明内容
为了解决上述技术问题,本发明提供了一种分布式块存储***的密钥管理方法及装置,解决了现有分布式块存储的密钥管理安全性较低,不能保证数据的存储安全的问题。
依据本发明的第一方面,提供了一种分布式块存储***的密钥管理方法,应用于客户端,包括:
根据第一创建指令,创建第一块设备,所述第一创建指令携带有所述第一块设备的加密属性和加密算法标识;
若所述加密属性指示所述第一块设备为加密设备,则发送包含所述加解密算法标识的第一密钥创建请求至服务端;
接收所述服务端根据所述第一密钥创建请求反馈的第一密钥身份标识号码ID,所述第一密钥ID是所述服务端在确认客户端用户身份合法后反馈的。
可选的,所述方法还包括:
在打开所述加密属性为加密设备的所述第一块设备时,根据所述第一密钥ID,获取第一密钥,并将所述第一密钥保存在所述客户端的内存中。
可选的,根据所述第一密钥ID,获取第一密钥,包括:
根据所述第一密钥ID,生成第一密钥获取请求;
发送第一密钥获取请求至服务端;
接收所述服务端根据所述第一密钥获取请求反馈的第一密钥。
可选的,根据所述第一密钥ID,获取第一密钥之后,还包括:
为所述第一块设备设置加解密多任务队列,所述加解密多任务队列与加解密引擎对接;所述加解密引擎包括以下至少一项:加密软件、加密卡和加密机;
在向所述第一块设备写入数据时,通过所述加解密多任务队列,利用所述第一密钥,采用分组数据进行数据的加密处理;
在读取所述第一块设备中的数据时,通过所述加解密多任务队列,利用所述第一密钥,采用分组数据进行数据的解密处理。
可选的,根据所述第一密钥ID,获取第一密钥之后,还可以包括:
在更换所述第一块设备的所述第一密钥时,利用所述第一密钥解密并导出所述第一块设备中的第一数据;
根据第二创建指令,创建用于替换所述第一块设备的第二块设备,所述第二创建指令携带有所述第二块设备的加密属性和加解密算法标识;
若所述加密属性指示所述第二块设备为加密设备,则发送包含所述加解密算法标识的第二密钥创建请求至服务端;
接收第二密钥ID,所述第二密钥ID是所述服务端根据所述第二密钥创建请求,确认客户端用户身份合法后反馈的;
根据所述第二密钥ID,生成第二密钥获取请求;
发送第二密钥获取请求至所述服务端;
接收第二密钥,所述第二密钥是所述服务端根据所述第二密钥获取请求反馈的;
利用所述第二密钥加密所述第一数据后,将加密的所述第一数据导入至所述第二块设备;
删除所述第一块设备。
可选的,接收并存储所述服务端根据所述第一密钥创建请求反馈的密钥身份标识号码ID之后,还包括:
在删除所述第一块设备时,根据所述第一密钥ID,生成密钥删除请求;
发送密钥删除请求至服务端,以使所述服务端根据所述密钥删除请求,删除所述第一密钥。
可选的,接收并存储所述服务端根据所述第一密钥创建请求反馈的密钥身份标识号码ID之后,还包括:
在克隆所述第一块设备时,根据所述第一密钥ID,生成密钥克隆请求;
发送密钥克隆请求至所述服务端;
接收第四密钥ID,所述第四密钥ID是所述服务端根据所述密钥克隆请求反馈的,所述第四密钥ID与所述第一密钥关联存储在所述服务端的数据库中。
可选的,将所述第一密钥保存在内存中之后,还包括:
在备份所述第一块设备中的第一数据时,利用所述第一密钥解密并导出所述第一块设备中的第一数据;
根据第三创建指令,创建用于备份所述第一数据的第三块设备,所述第三创建指令携带有所述第三块设备的加密属性和加解密算法标识;
若所述加密属性指示所述第三块设备为加密设备,则发送包含所述加解密算法标识的第三密钥创建请求至服务端;
接收第三密钥ID,所述第三密钥ID是所述服务端根据所述第三密钥创建请求,确认客户端用户身份合法后反馈的;
根据所述第三密钥ID,生成第三密钥获取请求;
发送第三密钥获取请求至所述服务端;
接收第三密钥,所述第三密钥是所述服务端根据所述第三密钥获取请求反馈的;
利用所述第三密钥加密所述第一数据后,将加密的所述第一数据导入至所述第三块设备。
依据本发明的第二方面,提供了一种分布式块存储***的密钥管理方法,应用于服务端,包括:
接收客户端发送的第一密钥创建请求;
根据所述第一密钥创建请求,认证所述客户端的身份;
在确定所述客户端为合法用户时,生成第一密钥及与所述第一密钥对应的第一密钥ID;
将所述第一密钥与所述第一密钥ID关联存储在数据库中;
将所述第一密钥ID发送至所述客户端。
可选的,将所述密钥ID发送至所述客户端之后,还包括:
接收客户端发送的第一密钥获取请求;
根据所述第一密钥获取请求,认证所述客户端用户身份;
在确定所述客户端用户身份合法时,根据所述第一密钥获取请求中的第一密钥ID,获取所述第一密钥;
发送第一密钥至所述客户端。
可选的,发送第一密钥至所述客户端之后,还包括:
在客户端更换所述第一块设备时,接收客户端发送的第二密钥创建请求;
根据所述第二密钥创建请求,认证所述客户端的用户身份;
在确定所述客户端用户身份合法时,生成第二密钥及与所述第二密钥对应的第二密钥ID,并将所述第二密钥和所述第二密钥ID关联存储在数据库中;
将所述第二密钥ID发送至所述客户端;
接收客户端发送的第二密钥获取请求;
根据所述第二密钥获取请求,认证客户端的用户身份;
在确定所述客户端用户身份合法时,根据所述第二密钥获取请求中的所述第二密钥ID,获取所述第二密钥;
发送所述第二密钥至所述客户端。
可选的,将所述密钥ID发送至所述客户端之后,还包括:
在客户端删除所述第一块设备时,接收所述客户端发送的密钥删除请求;
根据所述密钥删除请求,认证所述客户端的身份;
在确定所述客户端为合法用户时,根据所述密钥删除请求中的第一密钥ID,查询并删除所述第一密钥。
可选的,将所述密钥ID发送至所述客户端之后,还包括:
在客户端克隆所述第一块设备时,接收客户端发送的密钥克隆请求;
根据所述密钥克隆请求,认证所述客户端的身份;
在确定所述客户端为合法用户时,根据所述密钥克隆请求中的密钥ID,获取所述第一密钥;
生成第四密钥ID,并将所述第四密钥ID与所述第一密钥关联存储在数据库中;
发送所述第四密钥ID至客户端。
可选的,发送第一密钥至所述客户端之后,还包括:
在客户端备份所述第一块设备中的第一数据时,接收客户端发送的第三密钥创建请求;
根据所述第三密钥创建请求,认证所述客户端的身份;
在确定所述客户端用户身份合法时,生成第三密钥及与所述第三密钥对应的第三密钥ID,并将所述第三密钥和所述第三密钥ID关联存储在数据库中;
将所述第三密钥ID发送至所述客户端;
接收所述客户端发送的第三密钥获取请求;
根据所述第三密钥获取请求,认证所述客户端用户身份;
在确定所述客户端用户身份合法时,根据所述第三密钥获取请求中的所述第三密钥ID,获取所述第三密钥;
发送所述第三密钥至所述客户端。
依据本发明的第三方面,提供了一种分布式块存储***的密钥管理装置,应用于客户端,包括:
第一创建模块,用于根据第一创建指令,创建第一块设备,所述第一创建指令携带有所述第一块设备的加密属性和加密算法标识;
第一密钥请求子模块,用于在所述加密属性指示所述第一块设备为加密设备时,发送包含所述加解密算法标识的第一密钥创建请求至服务端;
第二密钥请求子模块,用于接收所述服务端根据所述第一密钥创建请求反馈的第一密钥身份标识号码ID,所述第一密钥ID是所述服务端在确认所述客户端用户身份合法后反馈的。
依据本发明的第四方面,提供了一种分布式块存储***的密钥管理装置,应用于服务端,包括:
密钥控制模块,用于接收客户端发送的第一密钥创建请求;
所述密钥控制模块还,用于根据所述第一密钥创建请求,认证所述客户端的身份;
密钥生成模块,用于在确定所述客户端为合法用户时,生成第一密钥及与所述第一密钥对应的第一密钥ID;
密钥存储模块,用于将所述第一密钥ID与所述第一密钥关联存储在数据库中;
所述密钥控制模块,还用于将所述第一密钥ID发送至所述客户端。
依据本发明的第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的分布式块存储***的密钥管理方法的步骤。
本发明的实施例的有益效果是:
上述方案中,通过在创建块设备时,对加密属性为加密设备的块设备,自动触发密钥创建请求,实现用户无感的密钥创建过程,进一步通过服务端对客户端进行身份合法性认证后创建密钥,并反馈与密钥关联存储的密钥ID,为后续密钥的安全管理提供了基础,确保了密钥的安全管理,提升了数据的安全性。
附图说明
图1表示本发明实施例的分布式块存储***的密钥管理方法流程图之一;
图2表示本发明实施例的分布式块存储***的密钥管理方法流程图之二;
图3表示本发明实施例的分布式块存储***的密钥管理方法流程图之三;
图4表示本发明实施例的分布式块存储***的密钥管理装置结构框图之一;
图5表示本发明实施例的分布式块存储***的密钥管理装置结构框图之二;
图6表示本发明实施例的实现分布式块存储***的密钥管理方法的功能结构框图;
图7表示本发明实施例的分布式块存储***的密钥管理装置的数据加解密模块的架构示意图;
图8表示本发明实施例的分布式块存储***的密钥管理方法的密钥创建流程;
图9表示本发明实施例的分布式块存储***的密钥管理方法的密钥获取流程;
图10表示本发明实施例的分布式块存储***的密钥管理方法的密钥删除流程。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
如图1所示,本发明的实施例提供了一种分布式块存储***的密钥管理方法,应用于客户端,包括:
步骤11,根据第一创建指令,创建第一块设备;所述第一创建指令携带有所述第一块设备的加密属性和加解密算法标识。
该实施例中,所述第一块设备创建在所述客户端。用户要使用分布式块存储,需要在客户端创建块设备,用户在创建块设备时,同时进行加密属性设置,所述加密属性作为参数传给块设备创建接口。需要指出,在创建块设备时可以针对单个块设备开启加解密功能,并可为每个块设备单独设置所述加密属性和加解密算法标识,所述加密属性以及加解密算法标识保存在各块设备元数据区。其中,所述加密属性用于指示块设备是否为加密设备,所述加解密算法标识用于标识加密算法,如对称加密算法和非对称加密算法等。
在一可选实施例中,由于对称算法相比非对称算法效率更高,优选采用对称加解密算法,支持国密SM4、AES算法等。
步骤12,若所述加密属性指示所述第一块设备为加密设备,则发送包含所述加解密算法标识的第一密钥创建请求至服务端。
该实施例中,用户在创建第一块设备时,同时进行加密属性设置,所述加密属性作为参数传给第一块设备创建接口,若所述加密属性指示所述第一块设备为加密设备,则第一块设备创建操作发送创建密钥申请(第一密钥创建请求)至服务端。第一密钥创建请求携带有所述第一块设备的加解密算法标识。该实施例在创建加密的块设备后,自动创建密钥,避免用户触发请求,具有用户无感的效果,在实现创建密钥的同时不影响用户体验,提升了数据处理效率。
这里,所述服务端包括但不限于:分布式块存储服务端和除分布式块存储服务端以外的其他服务器;其中,所述分布式块存储服务端包括:元数据节点或控制节点。
步骤13,接收所述服务端根据所述第一密钥创建请求反馈的第一密钥身份标识号码ID,所述第一密钥ID是所述服务端在确认客户端用户身份合法后反馈的。
该实施例中,通过服务端认证所述第一创建密钥请求对应的客户端的用户身份信息是否合法;如果非法,则申请创建密钥失败,返回错误并将错误信息记录到日志。如果合法,则控制密钥生成模块生成所述第一密钥以及第一密钥ID。其中,所述第一密钥以及第一密钥ID关联存储在服务端的数据库中。服务端将第一密钥ID反馈给客户端,所述客户端接收所述第一密钥ID,并将所述第一密钥ID保存至第一块设备的元数据区。该实施例通过服务端对客户端的用户身份的合法性进行认证,实现了对用户的身份认证和密钥的访问控制,提升了密钥管理过程的安全性。
这里,第一密钥的生成过程可以包括:服务端在确认用户身份合法后,基于真随机数生成所述第一密钥,并将所述第一密钥利用安全密码设备加密后,得到密钥密文,将密钥以密钥密文的形式集中存储在数据库中,使密钥持久化。
进一步,为了安全以及便于管理,可以采用一个块设备对应一个密钥ID,以及一个密钥ID对应一个密钥的方式。
进一步,如图2所示,在步骤13之后,所述方法还包括:
步骤14,在打开所述加密属性为加密设备的所述第一块设备时,根据所述密钥ID,获取第一密钥,并将所述第一密钥保存在内存中。
具体的,在本发明一可选实施例中,步骤14中,根据所述第一密钥ID,获取第一密钥,包括:
根据所述第一密钥ID,生成第一密钥获取请求;
发送第一密钥获取请求至服务端;
接收所述服务端根据所述第一密钥获取请求反馈的第一密钥。
该实施例中,客户端应用在打开所述第一开设备时,首先判断所述第一块设备的加密属性。如果确认所述第一块设备为加密设备,则通过读取所述第一块设备元数据区存储的所述第一块设备的第一密钥ID,以所述第一密钥ID为参数,生成第一密钥获取请求;服务端认证所述第一密钥获取请求对应的客户端用户是否合法;如果非法,则返回错误并将错误信息记录到日志;如果合法,服务端通过所述第一密钥ID查询所述第一密钥,并将所述第一密钥发送给客户端,所述客户端接收所述第一密钥。
进一步,为确保所述第一密钥未在传输过程中被篡改。作为一种实现方式,所述服务端发送第一密钥和所述第一密钥的第一完整性度量值,所述第一完整性度量值包括:所述第一密钥的哈希值;
所述客户端通过重新计算所述第一密钥的第二完整性度量值,并与服务端发送的所述第一完整性度量值比较;若所述第一完整性度量值与第二完整性度量值一致,则将所述第一密钥保存在内存的数据成员中;若所述第一完整性度量值与第二完整性度量值不一致,则返回错误信息并将错误信息记录到日志。
在本发明一可选实施例中,步骤14之后,还包括:
为所述第一块设备设置加解密多任务队列,所述加解密多任务队列与加解密引擎对接;所述加解密引擎包括以下至少一项:加密软件、加密卡和加密机;
在向所述第一块设备写入数据时,通过所述加解密多任务队列,利用所述第一密钥,采用分组数据进行数据的加密处理;
在读取所述第一块设备中的数据时,通过所述加解密多任务队列,利用所述第一密钥,采用分组数据进行数据的解密处理。
该实施例中,客户端中的应用和存储客户端读写接口(块设备)之间的数据传输增加加解密处理过程,提升分布式块存储***的数据存储安全。通过获取块设备的加密属性、保存所述第一密钥的内存数据成员以及加解密算法标识,对数据缓存进行加解密处理,这个过程上层应用无法感知,实现了透明加解密。在写请求时,上层应用发的是明文,经过加密处理,底层设备收到的是密文。在读请求时,底层存储的是密文,经过数据加解密模块的解密处理后,上层应用收到的就是明文。即实现了所有针对块设备的写请求数据都能够加密存储,块设备的所有读请求数据都需能解密,还原真实用户数据。
具体优选的,采用分组数据进行数据的加解密处理。为了保证数据的存储位置不乱,以提高存储效率,需保证加密处理前后的数据长度一致。此外,加解密的数据分组不能过大,否则如果只读写其中一部分,就得对整体单元进行处理,效率太低。由于常规操作***对于数据块存储的最小单位是block,比如ext4文件***最小单位block是1k,本发明数据分组单元最小单位是block。其中,block是所用操作***最小处理单元。
针对每一个块设备,为其设置加解密多任务队列。分组数据交给加解密多任务队列处理。加解密多任务队列负责与加解密引擎对接。本方案支持多种加解密引擎,例如支持常见加密软件库、加密卡以及加密机。具体可以通过配置文件选择加解密引擎。
具体的,在加解密引擎为硬件密码设备时,加解密任务队列负责发送与接受分组数据。加解密任务队列把分组数据发送给加解密硬件设备,然后处于等待状态。待加解密硬件设备处理完成,并成功返回数据后,任务队列接受数据,把数据返回给块存储读写接口。
具体的,在加解密引擎为加***库时,加解密任务队列调用软件库加解密处理接口对分组数据进行加解密处理。
下面介绍一种密钥更换的实现方式。
在本发明一可选实施例中,步骤14之后,还可以包括:
在更换所述第一块设备的所述第一密钥时,利用所述第一密钥解密并导出所述第一块设备中的第一数据;
根据第二创建指令,创建用于替换所述第一块设备的第二块设备,所述第二创建指令携带有所述第二块设备的加密属性和加解密算法标识;
若所述加密属性指示所述第二块设备为加密设备,则发送包含所述加解密算法标识的第二密钥创建请求至服务端;
接收第二密钥ID,所述第二密钥ID是所述服务端根据所述第二密钥创建请求,确认客户端用户身份合法后反馈的;
根据所述第二密钥ID,生成第二密钥获取请求;
发送第二密钥获取请求至所述服务端;
接收第二密钥,所述第二密钥是所述服务端根据所述第二密钥获取请求反馈的;
利用所述第二密钥加密所述第一数据后,将加密的所述第一数据导入至所述第二块设备;
删除所述第一块设备。
该实施例,在更换所述第一块设备的所述第一密钥时,在成功把第一块设备中的第一数据备份到新的块设备(第二块设备)后,实现用新的块设备替代原块设备(第一块设备),最后要删除原块设备。通过增加替换设备(增加第二块设备)和删除块设备(删除第一块设备),实现了更换密钥功能。
下面介绍一种删除块设备的实现方式。
在本发明一可选实施例中,步骤13之后,还可以包括:
在删除所述第一块设备时,根据所述第一密钥ID,生成密钥删除请求;
发送密钥删除请求至服务端,以使所述服务端根据所述密钥删除请求,删除所述第一密钥。
该实施例中,在删除所述第一块设备时,通过读取元数据区的第一密钥ID,以所述第一密钥ID为参数,生成密钥删除请求,并把密钥删除请求发送给服务端。所述服务端认证所述密钥删除请求对应的客户端的用户是否合法;如果非法,则返回错误并将错误信息记录到日志;如果合法,则通过所述第一密钥ID查询所述第一密钥,然后执行删除第一密钥操作。
下面介绍一种克隆块设备的实现方式。
在本发明一可选实施例中,步骤13之后,还可以包括:
在克隆所述第一块设备时,根据所述第一密钥ID,生成密钥克隆请求;
发送密钥克隆请求至所述服务端;
接收第四密钥ID,所述第四密钥ID是所述服务端根据所述密钥克隆请求反馈的,所述第四密钥ID与所述第一密钥关联存储在所述服务端的数据库中。
该实施例中,为了安全以及便于管理,采用一个块设备对应一个密钥ID,以及一个密钥ID对应一个密钥的方式。而块设备克隆(块设备复制)是一个单独的块设备,并有其独立的元数据。但其业务数据与原块设备存在共享的情况,必须采用相同的密钥才能正确处理数据加解密的操作。此时,存在密钥共享的问题,这种情况会加大密钥管理的难度,增加影响密钥安全的不确定性。比如克隆的块设备执行删除操作时,也会申请删除其对应的密钥,而与其共享密钥的块设备无法获取密钥,无法对数据进行正确的加解密操作。为了防止这种情况发生,密钥需要复制一份,并为克隆的块设备分配新的密钥ID,密钥与新的密钥ID关联进行存储。相同的密钥保存了两份或多份,但其对应的密钥ID不同,对应的块设备也不同,从而杜绝密钥共享问题的发生。
作为一种实现方式,密钥克隆具体流程如下:
执行块设备克隆操作时,客户端首先判断该块设备(这里具体指所述第一块设备)是否是加密设备,如果是加密设备,则从元数据区获取第一块设备的第一密钥ID,以该第一密钥ID为参数,向服务端发起克隆密钥请求。服务端检查密钥克隆请求对应的客户端用户是否合法。如果非法,则返回错误并将错误信息记录到日志。如果合法,通过第一密钥ID查询第一密钥。成功查到所述第一密钥后,由密钥生成模块为该第一密钥产生新的密钥ID(第四密钥ID),然后把第一密钥与新的密钥ID相关联存储在数据库中。密钥(第一密钥)以及新的密钥ID(第四密钥ID)成功保存后,将新的密钥ID(第四密钥ID)发送给客户端,客户端收到新的密钥ID(第四密钥ID),并将所述第四密钥ID存储到块设备克隆的元数据区。可以理解,所述第一密钥与所述第一密钥ID和所述第四密钥ID分别都进行了关联存储。所述第一密钥ID和所述第四密钥ID分别对应第一块设备和第一块设备的克隆块设备。
下面介绍一种块设备数据备份的实现方式。
在本发明一可选实施例中,步骤14中,在将所述第一密钥保存在内存中之后,还包括:
在备份所述第一块设备中的第一数据时,利用所述第一密钥解密并导出所述第一块设备中的第一数据;
根据第三创建指令,创建用于备份所述第一数据的第三块设备,所述第三创建指令携带有所述第三块设备的加密属性和加解密算法标识;
若所述加密属性指示所述第三块设备为加密设备,则发送包含所述加解密算法标识的第三密钥创建请求至服务端;
接收第三密钥ID,所述第三密钥ID是所述服务端根据所述第三密钥创建请求,确认客户端用户身份合法后反馈的;
根据所述第三密钥ID,生成第三密钥获取请求;
发送第三密钥获取请求至所述服务端;
接收第三密钥,所述第三密钥是所述服务端根据所述第三密钥获取请求反馈的;
利用所述第三密钥加密所述第一数据后,将加密的所述第一数据导入至所述第三块设备。
该实施例中,块设备数据备份包括导出和导入两步操作。首先进行块设备数据导出操作。块设备数据在导出中间文件时,首先要进行打开块设备操作,执行该操作时要判断该块设备的加密属性。具体在该实施例中,首先判断所述第一块设备的加密属性,如果是加密设备,则向服务端申请获取密钥,在成功获取密钥后保存所述密钥,进一步块设备导出操作包括:对块设备数据发起读请求操作,在读取数据操作时,利用所述第一密钥对数据进行解密操作。
块设备数据导出成功后,要进行块设备导入操作。该操作需要进行写数据操作。在写数据操作之前,要先创建新的块设备此时可以设置新的块设备加密属性。具体在该实施例中,首先创建所述第三块设备(新的块设备),并设置所述第三块设备的加密属性,如果设置为加密设备,则向服务端申请创建第三密钥及第三密钥ID。然后在打开所述第三块设备时,根据接收的服务端反馈的第三密钥ID,来获取第三密钥。第三密钥获取成功后,进一步块设备导出操作包括:对第三块设备数据发起写请求操作。在写数据操作时,利用第三密钥对数据进行加密操作。
应当指出,在客户端应用第一次打开每个块设备时,自动获取每个块设备的密钥,并将密钥保存在内存数据成员中,后续使用时可不用重复向服务端获取,以保证处理效率。
另外,需要说明的是,为了方便对密钥ID的获取,作为一种实现方式,服务端反馈给客户端的密钥ID,可以存储在对应块设备的元数据区,在需要获取密钥时,客户端可以通过每个块设备的元数据区获取每个块设备对应的密钥ID。这里可以理解,第一密钥ID、第二密钥ID、第三密钥ID和第四密钥ID可以分别各自存储在第一块设备、第二块设备、第三块设备和块设备克隆的元数据区。
如图3所示,其示出的是本发明提供的一种分布式块存储***的密钥管理方法,应用于服务端,包括:
步骤21,接收客户端发送的第一密钥创建请求;
步骤22,根据所述第一密钥创建请求,认证所述客户端的身份;
步骤23,在确定所述客户端为合法用户时,生成第一密钥及与所述第一密钥对应的第一密钥ID;
步骤24,将所述第一密钥与所述第一密钥ID关联存储在数据库中;
步骤25,将所述第一密钥ID发送至所述客户端。
该实施例中,通过服务端认证所述第一创建密钥请求对应的客户端的用户身份信息是否合法;如果非法,则申请创建密钥失败,返回错误并将错误信息记录到日志。如果合法,则控制密钥生成模块生成所述第一密钥以及第一密钥ID。并把所述第一密钥以及第一密钥ID保存在密钥存储模块的数据库中,然后把第一密钥ID反馈给客户端,所述客户端接收所述第一密钥ID,并将所述第一密钥ID保存至块设备元数据区。该实施例通过服务端对客户端的用户身份的合法性进行认证,实现了对用户的身份认证和密钥的访问控制,提升了密钥管理过程的安全性。
需要指出,本方案支持生成高质量的密钥。块设备的加密密钥由密码设备产生的真随机数派生而生成,密码设备产生的真随机数符合密码标准中对随机数检测规范的要求。并将所述第一密钥加密后以密钥密文的形式集中存储在数据库中,使之持久化。
进一步,为了安全以及便于管理,可以采用一个块设备对应一个密钥ID,以及一个密钥ID对应一个密钥的方式。
在本发明一可选实施例中,步骤25之后,还包括:
接收客户端发送的密钥获取请求;
根据所述密钥获取请求,认证所述客户端用户身份;
在确定所述客户端用户身份合法时,根据所述密钥获取请求中的第一密钥ID,获取所述第一密钥;
发送第一密钥至所述客户端。
该实施例中,服务端认证所述密钥获取请求对应的客户端用户是否合法;如果非法,则返回错误并将错误信息记录到日志;如果合法,则服务端通过所述密钥获取请求中指示的所述第一密钥ID在查询所述第一密钥,并将所述第一密钥发送给客户端。该实施例通过服务端对客户端的用户身份的合法性进行认证,实现了对用户的身份认证和密钥的访问控制,提升了密钥管理过程的安全性。
在本发明一可选实施例中,发送第一密钥至所述客户端之后,还包括:
在客户端更换所述第一块设备时,接收客户端发送的第二密钥创建请求;
根据所述第二密钥创建请求,认证所述客户端的用户身份;
在确定所述客户端用户身份合法时,生成第二密钥及与所述第二密钥对应的第二密钥ID,并将所述第二密钥和所述第二密钥ID关联存储在数据库中;
将所述第二密钥ID发送至所述客户端;
接收客户端发送的第二密钥获取请求;
根据所述第二密钥获取请求,认证客户端的用户身份;
在确定所述客户端用户身份合法时,根据所述第二密钥获取请求中的所述第二密钥ID,获取所述第二密钥;
发送所述第二密钥至所述客户端。
在本发明一可选实施例中,步骤25之后,还包括:
在客户端删除所述第一块设备时,接收所述客户端发送的密钥删除请求;
根据所述密钥删除请求,认证所述客户端的身份;
在确定所述客户端为合法用户时,根据所述密钥删除请求中的第一密钥ID,查询并删除所述第一密钥。
在本发明一可选实施例中,步骤25之后,还包括:
在客户端克隆所述第一块设备时,接收客户端发送的密钥克隆请求;
根据所述密钥克隆请求,认证所述客户端的身份;
在确定所述客户端为合法用户时,根据所述密钥克隆请求中的密钥ID,获取所述第一密钥;
生成第四密钥ID,并将所述第四密钥ID与所述第一密钥关联存储在数据库中;
发送所述第四密钥ID至客户端。
在本发明一可选实施例中,发送第一密钥至所述客户端之后,还包括:
在客户端备份所述第一块设备中的第一数据时,接收客户端发送的第三密钥创建请求;
根据所述第三密钥创建请求,认证所述客户端的身份;
在确定所述客户端用户身份合法时,生成第三密钥及与所述第三密钥对应的第三密钥ID,并将所述第三密钥和所述第三密钥ID关联存储在数据库中;
将所述第三密钥ID发送至所述客户端;
接收所述客户端发送的第三密钥获取请求;
根据所述第三密钥获取请求,认证所述客户端用户身份;
在确定所述客户端用户身份合法时,根据所述第三密钥获取请求中的所述第三密钥ID,获取所述第三密钥;
发送所述第三密钥至所述客户端。
上述方案中,服务端能够实现接收来自存储客户端的各类密钥请求,并进行身份鉴别和访问控制,为合法的密钥请求提供创建、获取及删除等服务。
需要说明的是,上述实施例中所有关于客户端侧的描述均适用在应用于服务端侧的分布式块存储***的密钥管理方法的实施例中,也能达到与之相同的技术效果,为避免重复,这里不再赘述。
如图4所示,本发明还提供了一种分布式块存储***的密钥管理装置,应用于客户端,所述装置400可以包括:第一创建模块401和密钥请求模块;
第一创建模块401,用于根据第一创建指令,创建第一块设备,所述第一创建指令携带有所述第一块设备的加密属性和加密算法标识;
密钥请求模块包括:第一密钥请求子模块402和第二密钥请求子模块403。
所述第一密钥请求子模块402,用于在所述加密属性指示所述第一块设备为加密设备时,发送包含所述加解密算法标识的第一密钥创建请求至服务端;
所述第二密钥请求子模块403,用于接收所述服务端根据所述第一密钥创建请求反馈的第一密钥身份标识号码ID,所述第一密钥ID是所述服务端在确认所述客户端用户身份合法后反馈的。
可选的,所述密钥请求模块还包括:所述第三密钥请求子模块。
所述第三密钥请求子模块,用于在打开所述加密属性为加密设备的所述第一块设备时,根据所述密钥ID,获取第一密钥,并将所述第一密钥保存在所述客户端的内存中。
可选的,所述第三密钥请求子模块在根据所述第一密钥ID,获取第一密钥时,还具体用于:
根据所述第一密钥ID,生成密钥获取请求;
发送密钥获取请求至服务端;
接收第一密钥,所述第一密钥是所述服务端根据所述密钥获取请求反馈的。
可选的,所述装置400,还包括:数据加解密模块,所述数据加解密模块在所述第三密钥请求子模块,根据所述第一密钥ID,获取第一密钥之后,具体用于:
为所述第一块设备设置加解密多任务队列,所述加解密多任务队列与加解密引擎对接;所述加解密引擎包括以下至少一项:加密软件、加密卡和加密机;
在向所述第一块设备写入数据时,通过所述加解密多任务队列,利用所述第一密钥,采用分组数据进行数据的加密处理;
在读取所述第一块设备中的数据时,通过所述加解密多任务队列,利用所述第一密钥,采用分组数据进行数据的解密处理。
可选的,所述装置400还包括:第二创建模块、删除模块;所述密钥请求模块还包括:第四密钥请求子模块;所述数据加解密模块包括:第一解密子模块、第一加密子模块;
第一解密子模块,用于在所述第三密钥请求子模块根据所述第一密钥ID,获取第一密钥之后,在更换所述第一块设备的所述第一密钥时,利用所述第一密钥解密并导出所述第一块设备中的第一数据;
第二创建模块,用于根据第二创建指令,创建用于替换所述第一块设备的第二块设备,所述第二创建指令携带有所述第二块设备的加密属性和加解密算法标识;
第四密钥请求子模块,用于在所述加密属性指示所述第二块设备为加密设备时,发送包含所述加解密算法标识的第二密钥创建请求至服务端;接收第二密钥ID,所述第二密钥ID是所述服务端根据所述第二密钥创建请求,确认客户端用户身份合法后反馈的;根据所述第二密钥ID,生成第二密钥获取请求;发送第二密钥获取请求至所述服务端;接收第二密钥,所述第二密钥是所述服务端根据所述第二密钥获取请求反馈的;
第一加密子模块,用于利用所述第二密钥加密所述第一数据后,将加密的所述第一数据导入至所述第二块设备;
删除模块,用于删除所述第一块设备。
可选的,所述密钥请求模块还包括:第五密钥请求子模块;
在所述第二密钥请求子模块403接收并存储所述服务端根据所述第一密钥创建请求反馈的密钥身份标识号码ID之后,所述第五密钥请求子模块可以具体用于:
在删除所述第一块设备时,根据所述第一密钥ID,生成密钥删除请求;
发送密钥删除请求至服务端,以使所述服务端根据所述密钥删除请求,删除所述第一密钥。
可选的,所述密钥请求模块还包括:第六密钥请求子模块;
在所述第二密钥请求子模块403接收并存储所述服务端根据所述第一密钥创建请求反馈的密钥身份标识号码ID之后,所述第六密钥请求子模块具体用于:
在克隆所述第一块设备时,根据所述第一密钥ID,生成密钥克隆请求;
发送密钥克隆请求至所述服务端;
接收第四密钥ID,所述第四密钥ID是所述服务端根据所述密钥克隆请求反馈的,所述第四密钥ID与所述第一密钥关联存储在所述服务端的数据库中。
可选的,所述装置400还包括:第三创建模块;所述密钥请求模块还包括:第七密钥请求子模块;所述数据加解密模块还包括:第二解密子模块和第二加密子模块;
第二解密子模块,用于在所述第三密钥请求子模块将所述第一密钥保存在客户端的内存中之后,在备份所述第一块设备中的第一数据时,利用所述第一密钥解密并导出所述第一块设备中的第一数据;
第三创建模块,用于根据第三创建指令,创建用于备份所述第一数据的第三块设备,所述第三创建指令携带有所述第三块设备的加密属性和加解密算法标识;
第七密钥请求子模块,用于在所述加密属性指示所述第三块设备为加密设备时,发送包含所述加解密算法标识的第三密钥创建请求至服务端;接收第三密钥ID,所述第三密钥ID是所述服务端根据所述第三密钥创建请求,确认客户端用户身份合法后反馈的;根据所述第三密钥ID,生成第三密钥获取请求;发送第三密钥获取请求至所述服务端;接收第三密钥,所述第三密钥是所述服务端根据所述第三密钥获取请求反馈的;
第二加密子模块,用于利用所述第三密钥加密所述第一数据后,将加密的所述第一数据导入至所述第三块设备。
需要说明的是,该装置是与上述应用于客户端的分布式块存储***的密钥管理方法相对应的装置,应用于客户端的分布式块存储***的密钥管理方法中的实施例中所有实现方式均适用于该装置中的实施例,且能达到相同的技术效果。
如图5所示,本发明还提供了一种分布式块存储***的密钥管理装置,应用于服务端,所述装置500,包括:
密钥控制模501,用于接收客户端发送的第一密钥创建请求;
所述密钥控制模块501,还用于根据所述第一密钥创建请求,认证所述客户端的身份;
密钥生成模块502,用于在确定所述客户端为合法用户时,生成第一密钥及与所述第一密钥对应的第一密钥ID;
密钥存储模块503,用于将所述第一密钥ID与所述第一密钥关联存储在数据库中;
所述密钥控制模块501,还用于将所述第一密钥ID发送至所述客户端。
可选的,在所述密钥控制模块501将所述第一密钥ID发送至所述客户端之后,所述密钥控制模块501还可以具体用于:
接收客户端发送的第一密钥获取请求;
根据所述第一密钥获取请求,认证所述客户端用户身份;
在确定所述客户端用户身份合法时,根据所述第一密钥获取请求中的第一密钥ID,获取所述第一密钥;
发送第一密钥至所述客户端。
可选的,在所述密钥控制模块501发送第一密钥至所述客户端之后,所述密钥控制模块501还可以具体用于:
在客户端更换所述第一块设备时,接收客户端发送的第二密钥创建请求;
根据所述第二密钥创建请求,认证所述客户端的用户身份;
在确定所述客户端用户身份合法时,控制所述密钥生成模块502生成第二密钥及与所述第二密钥对应的第二密钥ID,并将所述第二密钥和所述第二密钥ID关联存储在数据库中;
将所述第二密钥ID发送至所述客户端;
接收客户端发送的第二密钥获取请求;
根据所述第二密钥获取请求,认证客户端的用户身份;
在确定所述客户端用户身份合法时,根据所述第二密钥获取请求中的所述第二密钥ID,获取所述第二密钥;
发送所述第二密钥至所述客户端。
可选的,在所述密钥控制模块501将所述密钥ID发送至所述客户端之后,所述密钥控制模块501还可以具体用于:
在客户端删除所述第一块设备时,接收所述客户端发送的密钥删除请求;
根据所述密钥删除请求,认证所述客户端的身份;
在确定所述客户端为合法用户时,根据所述密钥删除请求中的第一密钥ID,查询并删除所述第一密钥。
可选的,在所述密钥控制模块501将所述密钥ID发送至所述客户端之后,所述密钥控制模块501还具体用于:
在客户端克隆所述第一块设备时,接收客户端发送的密钥克隆请求;
根据所述密钥克隆请求,认证所述客户端的身份;
在确定所述客户端为合法用户时,根据所述密钥克隆请求中的密钥ID,获取所述第一密钥;
控制密钥生成模块502生成第四密钥ID,并将所述第四密钥ID与所述第一密钥关联存储在数据库中;
发送所述第四密钥ID至客户端。
可选的,在所述密钥控制模块501发送第一密钥至所述客户端之后,所述密钥控制模块501还可以具体用于:
在客户端备份所述第一块设备中的第一数据时,接收客户端发送的第三密钥创建请求;
根据所述第三密钥创建请求,认证所述客户端的身份;
在确定所述客户端用户身份合法时,控制密钥生成模块502生成第三密钥及与所述第三密钥对应的第三密钥ID,并将所述第三密钥和所述第三密钥ID关联存储在数据库中;
将所述第三密钥ID发送至所述客户端;
接收所述客户端发送的第三密钥获取请求;
根据所述第三密钥获取请求,认证所述客户端用户身份;
在确定所述客户端用户身份合法时,根据所述第三密钥获取请求中的所述第三密钥ID,获取所述第三密钥;
发送所述第三密钥至所述客户端。
需要说明的是,该装置是与上述应用于服务端的分布式块存储***的密钥管理方法相对应的装置,应用于服务端的分布式块存储***的密钥管理方法中的实施例中所有实现方式均适用于该装置中的实施例,且能达到相同的技术效果。
如图6所示,其示出的是本发明的一种分布式块存储***的密钥管理方法的功能结构示意图。
图6中,密钥生成模块、密钥存储模块、密钥控制模块部署可以在分布式块存储***的服务端,可以部署在元数据或者控制节点,也可以单独部署在其它服务器上。密钥请求模块和数据加解密模块部署在分布式块存储客户端。
该实施例在分布式块存储基础上,添加密钥生成模块、密钥存储模块、密钥控制模块、密钥请求模块以及数据加解密模块。其中,
密钥生成模块负责产生密钥;
密钥存储模块负责以数据库形式存储密钥;
密钥控制模块用于接收来自存储客户端的密钥申请,并进行访问控制,判断申请密钥用户的合法性,以及负责指令的转发;
密钥请求模块负责申请创建密钥、申请获取密钥、申请删除密钥等操作。
数据加解密模块负责对客户端数据进行加解密操作。
如图7所示,其示出的是数据加解密模块的架构示意图。
图7中,在客户端应用和存储客户端读写接口之间添加数据加解密模块,负责对客户端数据进行加解密操作。数据加解密的过程上层应用无法感知。具体的,在写请求时,对数据进行加密处理。在读请求时,对数据进行解密处理。
下面结合图6,对本发明的密钥创建、密钥获取、密钥删除、块设备克隆、进行介绍。
如图8所示,其示出的是密钥创建流程的一种实现方式。
图8中,用户在客户端创建块设备时,可以针对单个块设备开启加解密功能,并可设置加解密算法,设置成功后,加密属性以及加解密算法标识保存到块设备元数据区。
在成功创建块设备之后,进行创建密钥操作。具体的,密钥请求模块向密钥控制模块发出创建密钥申请,由密钥生成模块生成密钥及密钥ID,并把密钥ID发送至密钥请求模块,密钥请求模块收到密钥ID,并把密钥ID保存在块设备元数据区。
如图9所示,其示出的是密钥获取流程的一种实现方式。
图9中,存储客户端应用在打开块设备时,获取当前块设备的密钥。具体由密钥请求模块向密钥控制模块发出获取密钥申请。密钥请求模块收到密钥,检查密钥一致性,并把密钥保存在内存的数据成员中。
如图10所示,其示出的是密钥删除流程的一种实现方式。
图10中,存储客户端应用在删除块设备时,进行密钥删除操作。具体的,由密钥请求模块向密钥控制模块发出删除密钥申请。密钥控制模块把删除指令传给密钥存储模块,密钥存储模块通过密钥ID查询密钥,然后执行删除密钥操作
进一步,存储客户端应用在执行块设备克隆操作时,进行密钥克隆操作。由密钥请求模块向密钥控制模块发出克隆密钥申请。密钥控制模块把新的密钥ID发送给密钥请求模块,密钥请求模块收到新的密钥ID,并存储到克隆的块设备的元数据区。
本发明还支持块设备备份加解密功能。块设备备份分导出和导入两步操作。在导出时进行解密操作,在导入时进行加密操作。
另外,本发明还支持块设备更换密钥功能。主要过程和原理与块设备备份加解密功能一致。但需要增加替换块设备和删除块设备操作。在成功把数据备份到新的块设备后,用新的块设备替代原块设备,最后要删除原块设备。
以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。

Claims (17)

1.一种分布式块存储***的密钥管理方法,其特征在于,应用于客户端,包括:
根据第一创建指令,创建第一块设备,所述第一创建指令携带有所述第一块设备的加密属性和加密算法标识;
若所述加密属性指示所述第一块设备为加密设备,则发送包含所述加解密算法标识的第一密钥创建请求至服务端;
接收所述服务端根据所述第一密钥创建请求反馈的第一密钥身份标识号码ID,所述第一密钥ID是所述服务端在确认客户端用户身份合法后反馈的。
2.根据权利要求1所述的分布式块存储***的密钥管理方法,其特征在于,还包括:
在打开所述加密属性为加密设备的所述第一块设备时,根据所述第一密钥ID,获取第一密钥,并将所述第一密钥保存在所述客户端的内存中。
3.根据权利要求2所述的分布式块存储***的密钥管理方法,其特征在于,根据所述第一密钥ID,获取第一密钥,包括:
根据所述第一密钥ID,生成第一密钥获取请求;
发送第一密钥获取请求至服务端;
接收所述服务端根据所述第一密钥获取请求反馈的第一密钥。
4.根据权利要求2所述的分布式块存储***的密钥管理方法,其特征在于,根据所述第一密钥ID,获取第一密钥之后,还包括:
为所述第一块设备设置加解密多任务队列,所述加解密多任务队列与加解密引擎对接;所述加解密引擎包括以下至少一项:加密软件、加密卡和加密机;
在向所述第一块设备写入数据时,通过所述加解密多任务队列,利用所述第一密钥,采用分组数据进行数据的加密处理;
在读取所述第一块设备中的数据时,通过所述加解密多任务队列,利用所述第一密钥,采用分组数据进行数据的解密处理。
5.根据权利要求2所述的分布式块存储***的密钥管理方法,其特征在于,根据所述第一密钥ID,获取第一密钥之后,还包括:
在更换所述第一块设备的所述第一密钥时,利用所述第一密钥解密并导出所述第一块设备中的第一数据;
根据第二创建指令,创建用于替换所述第一块设备的第二块设备,所述第二创建指令携带有所述第二块设备的加密属性和加解密算法标识;
若所述加密属性指示所述第二块设备为加密设备,则发送包含所述加解密算法标识的第二密钥创建请求至服务端;
接收第二密钥ID,所述第二密钥ID是所述服务端根据所述第二密钥创建请求,确认客户端用户身份合法后反馈的;
根据所述第二密钥ID,生成第二密钥获取请求;
发送第二密钥获取请求至所述服务端;
接收第二密钥,所述第二密钥是所述服务端根据所述第二密钥获取请求反馈的;
利用所述第二密钥加密所述第一数据后,将加密的所述第一数据导入至所述第二块设备;
删除所述第一块设备。
6.根据权利要求1所述的分布式块存储***的密钥管理方法,其特征在于,接收并存储所述服务端根据所述第一密钥创建请求反馈的密钥身份标识号码ID之后,还包括:
在删除所述第一块设备时,根据所述第一密钥ID,生成密钥删除请求;
发送密钥删除请求至服务端,以使所述服务端根据所述密钥删除请求,删除所述第一密钥。
7.根据权利要求2所述的分布式块存储***的密钥管理方法,其特征在于,将所述第一密钥保存在内存中之后,还包括:
在备份所述第一块设备中的第一数据时,利用所述第一密钥解密并导出所述第一块设备中的第一数据;
根据第三创建指令,创建用于备份所述第一数据的第三块设备,所述第三创建指令携带有所述第三块设备的加密属性和加解密算法标识;
若所述加密属性指示所述第三块设备为加密设备,则发送包含所述加解密算法标识的第三密钥创建请求至服务端;
接收所述第三密钥ID,所述第三密钥ID是所述服务端根据所述第三密钥创建请求,确认客户端用户身份合法后反馈的;
根据所述第三密钥ID,生成第三密钥获取请求;
发送所述第三密钥获取请求至所述服务端;
接收第三密钥,所述第三密钥是所述服务端根据所述第三密钥获取请求反馈的;
利用所述第三密钥加密所述第一数据后,将加密的所述第一数据导入至所述第三块设备。
8.根据权利要求1所述的分布式块存储***的密钥管理方法,其特征在于,接收并存储所述服务端根据所述第一密钥创建请求反馈的密钥身份标识号码ID之后,还包括:
在克隆所述第一块设备时,根据所述第一密钥ID,生成密钥克隆请求;
发送密钥克隆请求至所述服务端;
接收第四密钥ID,所述第四密钥ID是所述服务端根据所述密钥克隆请求反馈的,所述第四密钥ID与所述第一密钥关联存储在所述服务端的数据库中。
9.一种分布式块存储***的密钥管理方法,其特征在于,应用于服务端,包括:
接收客户端发送的第一密钥创建请求;
根据所述第一密钥创建请求,认证所述客户端的身份;
在确定所述客户端为合法用户时,生成第一密钥及与所述第一密钥对应的第一密钥ID;
将所述第一密钥与所述第一密钥ID关联存储在数据库中;
将所述第一密钥ID发送至所述客户端。
10.根据权利要求9所述的分布式块存储***的密钥管理方法,其特征在于,将所述密钥ID发送至所述客户端之后,还包括:
接收客户端发送的第一密钥获取请求;
根据所述第一密钥获取请求,认证所述客户端用户身份;
在确定所述客户端用户身份合法时,根据所述第一密钥获取请求中的第一密钥ID,获取所述第一密钥;
发送第一密钥至所述客户端。
11.根据权利要求10所述的分布式块存储***的密钥管理方法,其特征在于,发送第一密钥至所述客户端之后,还包括:
在客户端更换所述第一块设备时,接收客户端发送的第二密钥创建请求;
根据所述第二密钥创建请求,认证所述客户端的用户身份;
在确定所述客户端用户身份合法时,生成第二密钥及与所述第二密钥对应的第二密钥ID,并将所述第二密钥和所述第二密钥ID关联存储在数据库中;
将所述第二密钥ID发送至所述客户端;
接收客户端发送的第二密钥获取请求;
根据所述第二密钥获取请求,认证客户端的用户身份;
在确定所述客户端用户身份合法时,根据所述第二密钥获取请求中的所述第二密钥ID,获取所述第二密钥;
发送所述第二密钥至所述客户端。
12.根据权利要求10所述的分布式块存储***的密钥管理方法,其特征在于,将所述密钥ID发送至所述客户端之后,还包括:
在客户端删除所述第一块设备时,接收所述客户端发送的密钥删除请求;
根据所述密钥删除请求,认证所述客户端的身份;
在确定所述客户端为合法用户时,根据所述密钥删除请求中的第一密钥ID,查询并删除所述第一密钥。
13.根据权利要求9所述的分布式块存储***的密钥管理方法,其特征在于,发送第一密钥至所述客户端之后,还包括:
在客户端备份所述第一块设备中的第一数据时,接收客户端发送的第三密钥创建请求;
根据所述第三密钥创建请求,认证所述客户端的身份;
在确定所述客户端用户身份合法时,生成第三密钥及与所述第三密钥对应的第三密钥ID,并将所述第三密钥和所述第三密钥ID关联存储在数据库中;
将所述第三密钥ID发送至所述客户端;
接收所述客户端发送的第三密钥获取请求;
根据所述第三密钥获取请求,认证所述客户端用户身份;
在确定所述客户端用户身份合法时,根据所述第三密钥获取请求中的所述第三密钥ID,获取所述第三密钥;
发送所述第三密钥至所述客户端。
14.根据权利要求9所述的分布式块存储***的密钥管理方法,其特征在于,将所述密钥ID发送至所述客户端之后,还包括:
在客户端克隆所述第一块设备时,接收客户端发送的密钥克隆请求;
根据所述密钥克隆请求,认证所述客户端的身份;
在确定所述客户端为合法用户时,根据所述密钥克隆请求中的密钥ID,获取所述第一密钥;
生成第四密钥ID,并将所述第四密钥ID与所述第一密钥关联存储在数据库中;
发送所述第四密钥ID至客户端。
15.一种分布式块存储***的密钥管理装置,其特征在于,应用于客户端,包括:
第一创建模块,用于根据第一创建指令,创建第一块设备,所述第一创建指令携带有所述第一块设备的加密属性和加密算法标识;
第一密钥请求子模块,用于在所述加密属性指示所述第一块设备为加密设备时,发送包含所述加解密算法标识的第一密钥创建请求至服务端;
第二密钥请求子模块,用于接收所述服务端根据所述第一密钥创建请求反馈的第一密钥身份标识号码ID,所述第一密钥ID是所述服务端在确认所述客户端的用户身份合法后反馈的。
16.一种分布式块存储***的密钥管理装置,其特征在于,应用于服务端,包括:
密钥控制模块,用于接收客户端发送的第一密钥创建请求;
所述密钥控制模块,还用于根据所述第一密钥创建请求,认证所述客户端的身份;
密钥生成模块,用于在确定所述客户端为合法用户时,生成第一密钥及与所述第一密钥对应的第一密钥ID;
密钥存储模块,用于将所述第一密钥ID与所述第一密钥关联存储在数据库中;
所述密钥控制模块,还用于将所述第一密钥ID发送至所述客户端。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至14任一项所述的分布式块存储***的密钥管理方法的步骤。
CN201911061772.5A 2019-11-01 2019-11-01 一种分布式块存储***的密钥管理方法及装置 Active CN110635906B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911061772.5A CN110635906B (zh) 2019-11-01 2019-11-01 一种分布式块存储***的密钥管理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911061772.5A CN110635906B (zh) 2019-11-01 2019-11-01 一种分布式块存储***的密钥管理方法及装置

Publications (2)

Publication Number Publication Date
CN110635906A true CN110635906A (zh) 2019-12-31
CN110635906B CN110635906B (zh) 2022-06-10

Family

ID=68978873

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911061772.5A Active CN110635906B (zh) 2019-11-01 2019-11-01 一种分布式块存储***的密钥管理方法及装置

Country Status (1)

Country Link
CN (1) CN110635906B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111327616A (zh) * 2020-02-25 2020-06-23 上海东普信息科技有限公司 密钥管理方法、装置、设备及计算机可读存储介质
CN112165381A (zh) * 2020-08-18 2021-01-01 远景智能国际私人投资有限公司 密钥管理***和方法
CN112532387A (zh) * 2020-11-27 2021-03-19 上海爱数信息技术股份有限公司 一种密钥服务运算***及其方法
CN112733189A (zh) * 2021-01-14 2021-04-30 浪潮云信息技术股份公司 一种实现文件存储服务端加密的***与方法
CN112954050A (zh) * 2021-02-07 2021-06-11 深圳市大梦龙途文化传播有限公司 分布式管理方法及装置、管理设备和计算机存储介质
CN113810373A (zh) * 2021-08-11 2021-12-17 长沙证通云计算有限公司 一种基于国密算法的ceph可视化一键部署方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6868160B1 (en) * 1999-11-08 2005-03-15 Bellsouth Intellectual Property Corporation System and method for providing secure sharing of electronic data
CN102694650A (zh) * 2012-06-13 2012-09-26 苏州大学 一种基于身份加密的密钥生成方法
CN102970299A (zh) * 2012-11-27 2013-03-13 西安电子科技大学 文件安全保护***及其方法
CN103581196A (zh) * 2013-11-13 2014-02-12 上海众人网络安全技术有限公司 分布式文件透明加密方法及透明解密方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6868160B1 (en) * 1999-11-08 2005-03-15 Bellsouth Intellectual Property Corporation System and method for providing secure sharing of electronic data
CN102694650A (zh) * 2012-06-13 2012-09-26 苏州大学 一种基于身份加密的密钥生成方法
CN102970299A (zh) * 2012-11-27 2013-03-13 西安电子科技大学 文件安全保护***及其方法
CN103581196A (zh) * 2013-11-13 2014-02-12 上海众人网络安全技术有限公司 分布式文件透明加密方法及透明解密方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111327616A (zh) * 2020-02-25 2020-06-23 上海东普信息科技有限公司 密钥管理方法、装置、设备及计算机可读存储介质
CN112165381A (zh) * 2020-08-18 2021-01-01 远景智能国际私人投资有限公司 密钥管理***和方法
CN112165381B (zh) * 2020-08-18 2023-12-05 远景智能国际私人投资有限公司 密钥管理***和方法
CN112532387A (zh) * 2020-11-27 2021-03-19 上海爱数信息技术股份有限公司 一种密钥服务运算***及其方法
CN112532387B (zh) * 2020-11-27 2022-12-30 上海爱数信息技术股份有限公司 一种密钥服务运算***及其方法
CN112733189A (zh) * 2021-01-14 2021-04-30 浪潮云信息技术股份公司 一种实现文件存储服务端加密的***与方法
CN112954050A (zh) * 2021-02-07 2021-06-11 深圳市大梦龙途文化传播有限公司 分布式管理方法及装置、管理设备和计算机存储介质
CN112954050B (zh) * 2021-02-07 2023-04-07 深圳市大梦龙途文化传播有限公司 分布式管理方法及装置、管理设备和计算机存储介质
CN113810373A (zh) * 2021-08-11 2021-12-17 长沙证通云计算有限公司 一种基于国密算法的ceph可视化一键部署方法

Also Published As

Publication number Publication date
CN110635906B (zh) 2022-06-10

Similar Documents

Publication Publication Date Title
CN110635906B (zh) 一种分布式块存储***的密钥管理方法及装置
US11108753B2 (en) Securing files using per-file key encryption
Yan et al. Deduplication on encrypted big data in cloud
CN109471844B (zh) 文件共享方法、装置、计算机设备和存储介质
US9547774B2 (en) System and method for distributed deduplication of encrypted chunks
Yan et al. Heterogeneous data storage management with deduplication in cloud computing
Miller et al. Strong security for distributed file systems
JP4993733B2 (ja) 暗号クライアント装置、暗号パッケージ配信システム、暗号コンテナ配信システム及び暗号管理サーバ装置
US8621036B1 (en) Secure file access using a file access server
US20140181514A1 (en) Encryption key management program, data management system
US20200412554A1 (en) Id as service based on blockchain
CN105915338B (zh) 生成密钥的方法和***
CN103731395A (zh) 文件的处理方法及***
US20220417028A1 (en) Methods, Systems, and Devices for Server Control of Client Authorization Proof of Possession
CN112954000A (zh) 一种基于区块链和ipfs技术的隐私信息管理方法及***
CN108521424B (zh) 面向异构终端设备的分布式数据处理方法
CN114826652A (zh) 一种基于双区块链的可溯源访问控制方法
CN112733189A (zh) 一种实现文件存储服务端加密的***与方法
CN110602132A (zh) 一种数据加解密处理方法
JP2024501326A (ja) アクセス制御方法、装置、ネットワーク側機器、端末及びブロックチェーンノード
CN108494724B (zh) 基于多授权机构属性加密算法的云存储加密***
CN111010408B (zh) 一种分布式加密和解密方法及***
CN113568568A (zh) 一种基于分布式存储的硬件加密方法、***及装置
US11601285B2 (en) Securely authorizing service level access to a backup system using a specialized access key
CN114389878A (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