CN114584287A - 密钥管理的方法和装置 - Google Patents

密钥管理的方法和装置 Download PDF

Info

Publication number
CN114584287A
CN114584287A CN202011298341.3A CN202011298341A CN114584287A CN 114584287 A CN114584287 A CN 114584287A CN 202011298341 A CN202011298341 A CN 202011298341A CN 114584287 A CN114584287 A CN 114584287A
Authority
CN
China
Prior art keywords
key
message
encrypted
database
response message
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
Application number
CN202011298341.3A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202011298341.3A priority Critical patent/CN114584287A/zh
Publication of CN114584287A publication Critical patent/CN114584287A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/0822Key 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 key encryption key
    • 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
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • 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
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

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)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请提供了一种密钥管理的方法和装置,能够提高密钥管理的可靠性,该方法包括:第二设备接收第一设备发送的第一消息,该第一消息中包括利用第二设备的公钥加密的第一密钥和服务标识,该服务标识用于指示密钥管理服务;第二设备利用第二设备的私钥,对利用该第二设备的公钥加密的第一密钥解密,并利用第二密钥对已解密的第一密钥加密,该第二密钥为第二设备的封装密钥;第二设备向数据库发送第二消息,第二消息中包括利用第二密钥加密的第一密钥,第二消息用于指示数据库保存利用第二密钥加密的第一密钥;第二设备接收数据库发送的第二响应消息,并根据第二响应消息,向至少一个第三设备发送第三消息,该第三消息用于对第一密钥进行安全管理。

Description

密钥管理的方法和装置
技术领域
本申请涉及通信领域,并且更具体地,涉及一种密钥管理的方法和装置。
背景技术
密钥管理系统(key management system,KMS)具备为其他服务提供密钥管理的能力,为了防止KMS服务异常,导致密钥丢失,需要通过数据库对密钥进行持久化存储。
目前,基于可信执行环境(trusted execution environment,TEE)对根密钥进行硬件隔离保护。在TEE内部,使用TEE提供的封装密钥对根密钥进行加密后,再传给数据库进行持久化存储。但是,使用封装密钥加密的数据只能在本TEE设备上进行解密,如果该TEE设备损坏,将无法对数据库中持久化保存的根密钥进行解密。除此之外,不同TEE设备向数据库存储的根密钥无法进行设备间的同步。
发明内容
本申请提供了一种密钥管理的方法和装置,能够提高密钥管理的可靠性。
第一方面,提供一种密钥管理的方法,应用于可信执行环境TEE中,包括:第二设备接收第一设备发送的第一消息,所述第一消息中包括利用所述第二设备的公钥加密的第一密钥和服务标识,所述服务标识用于指示密钥管理服务;所述第二设备利用所述第二设备的私钥,对所述利用所述第二设备的公钥加密的第一密钥解密,获得所述第一密钥;所述第二设备利用第二密钥对所述第一密钥加密,其中,所述第二密钥为所述第二设备的封装密钥;所述第二设备向数据库发送第二消息,所述第二消息中包括利用所述第二密钥加密的第一密钥,所述第二消息用于指示所述数据库保存所述利用所述第二密钥加密的第一密钥;所述第二设备接收所述数据库发送的第二响应消息;所述第二设备根据所述第二响应消息,向至少一个第三设备发送第三消息,所述第三消息用于对所述第一密钥进行安全管理。
基于上述技术方案,第二设备接收到第一设备发送的第一密钥(根密钥)后,第二设备和至少一个第三设备(多个存储代理节点)可以分别向数据库保存该根密钥,如果其中一个存储代理节点出现故障,其他的存储代理节点还可以对数据库中保存的加密的第一密钥进行解密,以获得第一密钥。因此,本申请的技术方案可以提高密钥管理的可靠性。
在一种可能的实现方式中,所述第二设备根据所述第二响应消息,向至少一个第三设备发送第三消息,包括:若所述第二响应消息指示所述数据库保存成功,则所述第二设备利用所述第三设备的公钥对所述第一密钥加密;所述第二设备向所述至少一个第三设备发送所述第三消息,所述第三消息中包括利用所述第三设备的公钥加密的第一密钥和所述服务标识,所述第三消息用于指示所述至少一个第三设备对所述加密的第一密钥进行安全管理。
在一种可能的实现方式中,所述第二设备根据所述第二响应消息,向至少一个第三设备发送第三消息,包括:若所述第二响应消息指示所述数据库保存失败,且所述第二响应消息中包括利用所述第二密钥加密的第一密钥,则所述第二设备对所述利用所述第二密钥加密的第一密钥解密,获得所述第一密钥;所述第二设备利用所述第三设备的公钥对所述第一密钥加密;所述第二设备向所述至少一个第三设备发送所述第三消息,所述第三消息中包括利用所述第三设备的公钥加密的第一密钥和所述服务标识,所述第三消息用于指示所述至少一个第三设备对所述加密的第一密钥进行安全管理。
在一种可能的实现方式中,若所述第二响应消息指示所述数据库保存失败,且所述第二响应消息中包括利用第三密钥加密的第一密钥,则所述第二设备向第三设备发送所述第三消息,所述第三消息用于请求所述第三设备对所述利用第三密钥加密的第一密钥解密,其中,所述第三密钥为所述第三设备的封装密钥;所述第二设备接收所述第三设备发送的第三响应消息,所述第三响应消息中包括利用所述第二设备的公钥加密的第一密钥;所述第二设备利用所述第二设备的私钥,对所述利用所述第二设备的公钥加密的第一密钥解密,获得所述第一密钥;所述第二设备利用所述第二密钥对所述第一密钥加密;所述第二设备向所述数据库发送第四消息,所述第四消息中包括利用所述第二密钥加密的第一密钥,所述第四消息用于指示所述数据库保存所述利用所述第二密钥加密的第一密钥。
在一种可能的实现方式中,所述方法还包括:所述第二设备接收第一设备发送的第五消息,所述第五消息中包括利用所述第二设备的公钥加密的第四密钥和所述服务标识,其中,所述第四密钥为更新的所述第一密钥;所述第二设备利用所述第二设备的私钥,对所述利用第二设备的公钥加密的第四密钥解密,获得所述第四密钥;所述第二设备利用所述第二密钥对所述第四密钥加密;所述第二设备向所述数据库发送第六消息,所述第六消息中包括利用所述第二密钥加密的第四密钥,所述第六消息用于指示所述数据库保存所述利用所述第二密钥加密的第四密钥;所述第二设备向所述至少一个第三设备发送第七消息,所述第七消息中包括利用第三设备的公钥加密的第四密钥和所述服务标识,所述第七消息用于指示所述第三设备对所述利用第三设备的公钥加密的第四密钥进行安全管理。
在一种可能的实现方式中,在所述第二设备接收第一设备发送的第一消息之前,所述方法还包括:所述第二设备接收所述第一设备发送的第一认证请求消息;所述第二设备向所述第一设备发送第一认证响应消息。
在一种可能的实现方式中,在所述第二设备根据所述第二响应消息,向所述至少一个第三设备发送第三消息之前,所述方法还包括:所述第二设备向所述至少一个第三设备发送第二认证请求消息;所述第二设备接收所述至少一个第三设备发送的第二认证响应消息。
第二方面,提供了一种密钥管理的方法,应用于可信执行环境TEE中,包括:第三设备接收第二设备发送的第三消息,所述第三消息中包括利用所述第三设备的公钥加密的第一密钥和服务标识,所述服务标识用于指示密钥管理服务;所述第三设备利用所述第三设备的私钥,对所述加密的第一密钥解密,获得所述第一密钥;所述第三设备利用第三密钥对所述第一密钥加密,其中,所述第三密钥为所述第三设备的封装密钥;所述第三设备向数据库发送第八消息,所述第八消息中包括利用所述第三密钥加密的第一密钥,所述第八消息用于指示所述数据库保存所述利用所述第三密钥加密的第一密钥。
在一种可能的实现方式中,在所述第三设备接收第二设备发送的第三消息之前,所述方法还包括:所述第三设备接收所述第二设备发送的第二认证请求消息;所述第三设备向所述第二设备发送第二认证响应消息。
第三方面,提供了一种密钥管理的方法,应用于可信执行环境TEE中,包括:第三设备接收第二设备发送的第三消息,所述第三消息用于请求所述第三设备对利用第三密钥加密的第一密钥解密,其中,所述第三密钥为所述第三设备的封装密钥;所述第三设备根据所述第三消息,对所述利用第三密钥加密的第一密钥解密,获得所述第一密钥;所述第三设备利用所述第二设备的公钥对所述第一密钥加密;所述第三设备向所述第二设备发送第三响应消息,所述第三响应消息中包括利用所述第二设备的公钥加密的第一密钥。
在一种可能的实现方式中,在所述第三设备接收第二设备发送的第三消息之前,所述方法还包括:所述第三设备接收所述第二设备发送的第二认证请求消息;所述第三设备向所述第二设备发送第二认证响应消息。
第四方面,提供了一种通信装置,包括:收发单元,用于接收第一设备发送的第一消息,所述第一消息中包括利用第二设备的公钥加密的第一密钥和服务标识,所述服务标识用于指示密钥管理服务;处理单元,用于利用所述第二设备的私钥,对所述利用第二设备的公钥加密的第一密钥解密,获得所述第一密钥;所述处理单元还用于,利用第二密钥对所述第一密钥加密,其中,所述第二密钥为所述第二设备的封装密钥;所述收发单元还用于,向数据库发送第二消息,所述第二消息中包括利用所述第二密钥加密的第一密钥,所述第二消息用于指示所述数据库保存所述利用所述第二密钥加密的第一密钥;所述收发单元还用于,接收所述数据库发送的第二响应消息;所述收发单元还用于,根据所述第二响应消息,向至少一个第三设备发送第三消息,所述第三消息用于对所述第一密钥进行安全管理。
在一种可能的实现方式中,所述处理单元具体用于,若所述第二响应消息指示所述数据库保存成功,则利用所述第三设备的公钥对所述第一密钥加密;所述收发单元具体用于,向所述至少一个第三设备发送所述第三消息,所述第三消息中包括利用所述第三设备的公钥加密的第一密钥和所述服务标识,所述第三消息用于指示所述至少一个第三设备对所述加密的第一密钥进行安全管理。
在一种可能的实现方式中,所述处理单元具体用于,若所述第二响应消息指示所述数据库保存失败,且所述第二响应消息中包括利用所述第二密钥加密的第一密钥,则对所述利用所述第二密钥加密的第一密钥解密,获得所述第一密钥;所述处理单元具体还用于,利用所述第三设备的公钥对所述第一密钥加密;所述收发单元具体用于,向所述至少一个第三设备发送所述第三消息,所述第三消息中包括利用所述第三设备的公钥加密的第一密钥和所述服务标识,所述第三消息用于指示所述至少一个第三设备对所述加密的第一密钥进行安全管理。
在一种可能的实现方式中,所述收发单元具体用于,若所述第二响应消息指示所述数据库保存失败,且所述第二响应消息中包括利用第三密钥加密的第一密钥,则向第三设备发送所述第三消息,所述第三消息用于请求所述第三设备对所述利用第三密钥加密的第一密钥解密,其中,所述第三密钥为所述第三设备的封装密钥;所述收发单元具体还用于,接收所述第三设备发送的第三响应消息,所述第三响应消息中包括利用所述第二设备的公钥加密的第一密钥;所述处理单元具体用于,利用所述第二设备的私钥,对所述利用所述第二设备的公钥加密的第一密钥解密,获得所述第一密钥;所述处理单元具体还用于,利用所述第二密钥对所述第一密钥加密;所述收发单元具体用于,向所述数据库发送第四消息,所述第四消息中包括利用所述第二密钥加密的第一密钥,所述第四消息用于指示所述数据库保存所述利用所述第二密钥加密的第一密钥。
在一种可能的实现方式中,所述收发单元还用于,接收第一设备发送的第五消息,所述第五消息中包括利用所述第二设备的公钥加密的第四密钥和所述服务标识,其中,所述第四密钥为更新的所述第一密钥;所述处理单元还用于,利用所述第二设备的私钥,对所述利用第二设备的公钥加密的第四密钥解密,获得所述第四密钥;所述处理单元还用于,利用所述第二密钥对所述第四密钥加密;所述收发单元还用于,向所述数据库发送第六消息,所述第六消息中包括利用所述第二密钥加密的第四密钥,所述第六消息用于指示所述数据库保存所述利用所述第二密钥加密的第四密钥;所述收发单元还用于,向所述至少一个第三设备发送第七消息,所述第七消息中包括利用第三设备的公钥加密的第四密钥和所述服务标识,所述第七消息用于指示所述第三设备对所述利用第三设备的公钥加密的第四密钥进行安全管理。
在一种可能的实现方式中,在所述收发单元接收第一设备发送的第一消息之前,所述收发单元还用于:接收所述第一设备发送的第一认证请求消息;向所述第一设备发送第一认证响应消息。
在一种可能的实现方式中,在所述收发单元根据所述第二响应消息,向所述至少一个第三设备发送第三消息之前,所述收发单元还用于:向所述至少一个第三设备发送第二认证请求消息;接收所述至少一个第三设备发送的第二认证响应消息。
第五方面,提供了一种通信装置,包括:收发单元,用于接收第二设备发送的第三消息,所述第三消息中包括利用第三设备的公钥加密的第一密钥和服务标识,所述服务标识用于指示密钥管理服务;处理单元,用于利用所述第三设备的私钥,对所述加密的第一密钥解密,获得所述第一密钥;所述处理单元还用于,用第三密钥对所述第一密钥加密,其中,所述第三密钥为所述第三设备的封装密钥;所述收发单元还用于,向数据库发送第八消息,所述第八消息中包括利用所述第三密钥加密的第一密钥,所述第八消息用于指示所述数据库保存所述利用所述第三密钥加密的第一密钥。
在一种可能的实现方式中,在所述收发单元接收第二设备发送的第三消息之前,所述收发单元还用于:接收所述第二设备发送的第二认证请求消息;向所述第二设备发送第二认证响应消息。
第六方面,提供了一种通信装置,包括:收发单元,用于接收第二设备发送的第三消息,所述第三消息用于请求第三设备对利用第三密钥加密的第一密钥解密,其中,所述第三密钥为所述第三设备的封装密钥;处理单元,用于根据所述第三消息,对所述利用第三密钥加密的第一密钥解密,获得所述第一密钥;所述处理单元还用于,利用所述第二设备的公钥对所述第一密钥加密;所述收发单元还用于,向所述第二设备发送第三响应消息,所述第三响应消息中包括利用所述第二设备的公钥加密的第一密钥。
在一种可能的实现方式中,在所述收发单元接收第二设备发送的第三消息之前,所述收发单元还用于:接收所述第二设备发送的第二认证请求消息;向所述第二设备发送第二认证响应消息。
第七方面,提供了一种通信设备,包括:处理器和收发器,所述收发器用于接收计算机代码或指令,并传输至所述处理器,所述处理器运行所述计算机代码或指令,如第一方面或第一方面任意可能的实现方式中的方法。
第八方面,提供了一种通信设备,包括:处理器和收发器,所述收发器用于接收计算机代码或指令,并传输至所述处理器,所述处理器运行所述计算机代码或指令,如第二方面或第二方面任意可能的实现方式中的方法。
第九方面,提供了一种通信设备,包括:处理器和收发器,所述收发器用于接收计算机代码或指令,并传输至所述处理器,所述处理器运行所述计算机代码或指令,如第三方面或第三方面任意可能的实现方式中的方法。
第十方面,提供了一种通信系统,包括:第一方面、第二方面或第三方面所述方法中的第一设备、第二设备和第三设备。
第十一方面,提供了一种计算机可读存储介质,所述计算机可读介质存储有计算机程序;所述计算机程序在计算机上运行时,使得计算机执行第一方面至第三方面或第一方面至第三方面任意可能的实现方式中的方法。
附图说明
图1为一种密钥的结构示意图。
图2为本申请实施例的一种密钥管理的方法的流程交互图。
图3为本申请实施例的一种双向认证的流程交互流程图。
图4为本申请实施例的一种通信装置的示意性框图。
图5为本申请实施例的另一种通信装置的示意性框图。
图6为本申请实施例的另一种通信装置的示意性框图。
图7为本申请实施例的一种通信设备的示意性框图。
图8为本申请实施例的一种通信系统的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请实施例可以应用于各种通信系统,例如无线局域网系统(wireless localarea network,WLAN)、窄带物联网系统(narrow band-internet of things,NB-IoT)、全球移动通信系统(global system for mobile communications,GSM)、增强型数据速率GSM演进系统(enhanced data rate for gsm evolution,EDGE)、宽带码分多址系统(widebandcode division multiple access,WCDMA)、码分多址2000系统(code division multipleaccess,CDMA2000)、时分同步码分多址系统(time division-synchronization codedivision multiple access,TD-SCDMA),长期演进系统(long term evolution,LTE)、卫星通信、第五代(5th generation,5G)系统或者将来出现的新的通信系统等。
本申请实施例中所涉及到的终端设备可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备。终端可以是移动台(mobile station,MS)、用户单元(subscriber unit)、用户设备(userequipment,UE)、蜂窝电话(cellular phone)、智能电话(smart phone)、无线数据卡、个人数字助理(personal digital assistant,PDA)电脑、平板型电脑、无线调制解调器(modem)、手持设备(handset)、膝上型电脑(laptop computer)、机器类型通信(machinetype communication,MTC)终端等。
密钥管理系统(key management system,KMS)具备为其他服务提供密钥管理的能力,包括:根密钥、主密钥的管理,主密钥的更新、备份、容灾,工作密钥的申请、解密和重新解密等。如图1所示出示了密钥的结构示意图。根密钥(root key,RK),为密钥结构中的第一层密钥,完全由纯软件生成,用于保护主密钥;用户主密钥(customer master key,CMK),为密钥结构中的第二层密钥,主要功能是产生和保护数据密钥,CMK由RK加密保护,使用时需从RK解密导出,该密钥永远不会以明文的形式出现在KMS以外的场景;数据密钥(data key,DK),为密钥结构中的第三层密钥,主要功能是加密业务数据,用户的数据密钥由CMK进行加密保护。
为了防止KMS服务异常,导致密钥丢失,需要通过数据库对密钥进行持久化存储。其中,用户数据密钥和主密钥通过上层的密钥进行加密保护。
目前,在一种实现方式中,在密钥管理体系中敏感信息存留在KMS进程内存空间,且根秘钥明文存储:所有的秘钥、所有的处理逻辑,存在被窃取、篡改的风险。
在另一种实现方式中,业界购买硬件安全模块(hardware security module,HSM),即购买安全设备,在HSM内部以明文的方式保存根密钥,为了确保根密钥在不同HSM间同步,在生成根密钥的时候同时把根密钥分片保存到n张集成电路(integrated circuit,IC)卡中,在HSM卡中插入任意k张IC卡便可以把根密钥保存到HSM中,其中,k小于或等于n。然而,HSM的成本高,需要额外订购并部署,且会增加系统部署的复杂度。
在另一种实现方式中,将根密钥分为3段,段1、段2和段3,段1随机生成,段2、段3进行硬编码;段3通过HKDF计算得到根密钥。KMS不保存根密钥,段1明文存储在数据库中,依靠访问控制。然而,基于软件方法对密钥进行保护,安全等级较低;例如,密钥组件明文存储在数据库中,依靠访问控制,无法避免恶意的系统管理员的窃取行为。
在另一种实现方式中,基于可信执行环境(trusted execution environment,TEE)对根密钥、主密钥进行硬件隔离保护。在TEE内部,使用TEE提供的封装密钥对根密钥进行加密后,再传给数据库进行持久化存储。但是,某个使用封装密钥加密的数据只能在对应的一个TEE设备上进行解密,如果该TEE设备损坏,将无法对数据库中持久化保存的根密钥进行解密。除此之外,不同TEE设备上存储的根密钥无法进行设备间的同步。
应理解,TEE安全的核心思想是基于硬件的“隔离”,保护运行态安全。在终端设备的安全技术中,支付、指纹、安全等关键代码都放在TEE中,TEE中可提供硬件根密钥(封装密钥),在隔离区域中对高敏感的核心数据进行加密和解密,能够确保敏感数据只能在硬件隔离区域中被解密,在普通区域中无法解密。
为此,本申请实施例提出了一种密钥管理的方法,能够提高密钥管理的可靠性。该方法通过部署多个TEE节点(设备),对密钥数据进行同步保存,实现数据的安全持久化存储,可以防止单个TEE设备损坏而导致无法解密密钥数据。
如图2所示,出示了本申请实施例提供的一种密钥管理的方法的流程交互图。
210,第一设备在其TEE环境内按照KMS的处理逻辑,软件生成一个根密钥。该第一设备可以理解为一个可信应用(trusted application,TA)的拉起者。
为保证根密钥只能在安全的环境中(例如,TEE环境中)是明文,在存储、备份、读取过程中都需要对根密钥加密,并且确保根密钥只能在安全环境中被解密。
220,第一设备与第二设备进行双向认证,第二设备与至少一个第三设备进行双向认证。其中,第二设备和至少一个第三设备为存储代理节点,即TEE节点,用于对根密钥进行同步保存,其中,第二设备可以理解为主存储代理节点。存储代理节点可以为两个,可以为三个,甚至可以为更多个。
以第一设备和第二设备之间的双向认证为例。如图3所示,出示了一种双向认证的流程交互图。
221,第一设备向第二设备发送第一认证请求消息,该第一认证请求消息中包括利用第一设备的私钥签名的第一随机数,该第一随机数是第一设备生成的。
222,第二设备接收第一设备发送的第一认证请求消息,并利用第一设备的公钥对利用第一设备的私钥签名的第一随机数进行解密,获得所述第一随机数。
223,第二设备生成第二随机数,利用第二设备的私钥对第二随机数和第一随机数进行签名。
224,第二设备向第一设备发送第一认证响应消息,该第一认证响应消息中包括利用第二设备的私钥签名的第一随机数和第二随机数。
225,第一设备接收第二设备发送的第一认证响应消息,并根据第二设备的公钥对利用第二设备的私钥签名的第二随机数和第一随机数进行解密,获得第二随机数和第一随机数,该第一随机数与第一设备生成的随机数是一致的,则认为第二设备的身份认证通过。
226,第一设备利用第二设备的公钥,对第二随机数进行加密。
227,第一设备向第二设备发送利用第二设备的公钥加密的第二随机数,应理解,第二设备的公钥是其他设备可以获取到的。
228,第二设备接收第一设备发送的利用第二设备的公钥加密的第二随机数;根据自己的私钥解密获得第二随机数,该第二随机数和第二设备生成的随机数是一致的,则完成第一设备和第二设备之间的双向认证。
可选的,第二设备和至少一个第三设备之间的双向认证同上述认证过程。
应理解,双向认证过程可以通过现有的任何可以实现的现有技术实现。
230,第一设备向第二设备发送第一消息,该第一消息中包括利用第二设备的公钥加密的第一密钥和服务标识(service identification,service ID)。该第一密钥为在第一设备TEE环境内软件生成一个根密钥,即为第二设备和至少一个第三设备需要同步保存的根密钥;该服务标识用于指示密钥管理服务KMS,可以将该服务与其他第二设备相关的服务区分开。可选的,该第一消息可以为“create_msg”消息。
240,第二设备接收第一设备发送的第一消息。
250,第二设备利用第二设备的私钥,对利用第二设备的公钥加密的第一密钥解密,获得不被加密的第一密钥。
260,第二设备利用第二密钥对第一密钥进行加密,其中,第二密钥为第二设备的封装密钥,封装密钥只能在TEE环境中使用,在TEE之外的环境中无法使用。第二密钥可以理解为在第二设备的TEE环境内的硬件密钥,使用该第二密钥加密的第一密钥只能在该第二设备的TEE环境中被解密,在其他设备中无法被解密。
270,第二设备向数据库发送第二消息,该第二消息中包括利用第二密钥加密的第一密钥,该第二消息用于指示数据库保存利用第二密钥加密的第一密钥。可选的,该第二消息可以为“write_msg”消息。
280,数据库接收第二设备发送的第二消息,如果当前数据库中不存在任何该服务标识对应的根密钥的保存记录,则数据库记录利用第二密钥加密的第一密钥,数据库内记录的格式可以为:(service ID、EN_RK_1、版本号、创建时间),例如,本次EN_RK_1为第一次记录,则版本号可以为V1。
如果当前数据库中存在该服务标识对应的根密钥的保存记录,则说明其他存储代理节点已经保存过该服务标识对应的根密钥。
290,数据库向第二设备发送第二响应消息。如果当前数据库中不存在任何该服务标识对应的根密钥的保存记录,则数据库记录利用第二密钥加密的第一密钥,数据库向第二设备发送的该第二响应消息用于指示保存成功。
如果当前数据库中已存在该服务标识对应的根密钥的保存记录,则数据库向第二设备发送的第二响应消息用于指示保存失败;若数据库中已保存的根密钥为EN_RK_1,此时第二响应消息中包括该EN_RK_1;若数据库中已保存的根密钥为EN_RK_2,则第二响应消息中包括该EN_RK_2。应理解,若数据库中已保存的根密钥为EN_RK_1,则说明第二设备(主存储代理节点)已保存过利用自己的封装密钥加密的根密钥(利用第二密钥加密的第一密钥);若数据库中已保存的根密钥为EN_RK_2,则说明数据库中已保存的加密的根密钥为第三设备(其他存储代理节点)利用自己的封装密钥加密的根密钥。
换言之,若第二响应消息中不包括任何加密的根密钥,则该第二响应消息指示数据库保存成功;若第二响应消息中包括加密的根密钥,则该第二响应消息指示数据库保存失败。
291,第二设备接收数据库发送的第二响应消息。
292,第二设备根据第二响应消息,向至少一个第三设备发送第三消息,该第三消息用于指示至少一个第三设备对第一密钥进行安全管理,或者,第三消息用于请求第三设备对利用第三设备的封装密钥加密的第一密钥解密,该第三消息用于第一设备对第一密钥进行安全管理。
可选的,在第二设备向第三设备发送第三消息之前,第二设备向该第三设备发送第二认证请求消息,该第三设备接收第二设备发送的该认证请求消息,并向第二设备发送第二认证响应消息,第二设备接收该第三设备发送的第二认证响应消息,以完成双方认证。具体的认证过程与图3中第一设备与第二设备之间的双向认证类似,在此不做赘述。
具体而言,可选的,第二响应消息指示数据库保存成功,该第二响应消息中不包括任何加密的根密钥,则第二设备利用某个第三设备的公钥对第一密钥加密;第二设备向该第三设备发送第三消息,该第三消息中包括利用该第三设备的公钥加密的第一密钥(根密钥)以及用于指示密钥管理服务的服务标识,该第三消息用于指示该第三设备对第一密钥进行安全管理。
该第三设备接收第二设备发送的第三消息,该第三设备在TEE环境中利用自己的私钥,对利用该第三设备的公钥加密的第一密钥进行解密,获得不被加密的第一密钥;该第三设备再利用第三密钥对第一密钥进行加密,其中,第三密钥为该第三设备的封装密钥,使用该第三密钥加密的第一密钥只能在该第三设备的TEE环境中被解密,在其他设备中无法被解密。
第三设备向数据库发送第八消息,该第八消息中包括利用第三密钥加密的第一密钥,第八消息用于指示数据库保存利用第三密钥加密的第一密钥。数据库接收该第八消息,并记录EN_RK_2。
第三设备(其他存储代理节点)的数量可以为一个,可以为两个,甚至更多个,本申请实施例对此不做任何限定。以两个第三设备为例,此时共包括3个存储代理节点,第二设备、第三设备1和第三设备2。第二设备利用第三设备1的公钥对第一密钥加密,第二设备向第三设备1发送的第三消息中的包括利用第三设备1的公钥的第一密钥,第三设备1利用自己的私钥解密获得不被加密的第一密钥,第三设备1利用自己的封装密钥对第一密钥加密,并将利用自己的封装密钥加密的第一密钥发送给数据库以保存,数据库记录EN_RK_2;第二设备利用第三设备2的公钥对第一密钥加密,第二设备向第三设备2发送的第三消息中的包括利用第三设备2的公钥的第一密钥,第三设备2利用自己的私钥解密获得不被加密的第一密钥,第三设备2利用自己的封装密钥对第一密钥加密,并将利用自己的封装密钥加密的第一密钥发送给数据库以保存,数据库记录EN_RK_3。因此,共有3个存储代理节点分别利用自己的封装密钥对第一密钥加密并保存,若3个存储代理节点中的任意2个存储代理节点损坏,也可以通过其中没有被损坏的存储代理节点从数据库获取根密钥,并解密获得第一密钥(根密钥)。
具体而言,可选的,第二响应消息指示数据库保存失败,第二响应消息中包括利用第二密钥加密的第一密钥,说明该第二设备已利用数据库保存过第一密钥,则第二设备对利用第二密钥加密的第一密钥解密,以获得不被加密的第一密钥;第二设备利用第三设备的公钥对第一密钥加密;第二设备向该第三设备发送第三消息,该第三消息中包括利用该第三设备的公钥加密的第一密钥以及用于指示密钥管理服务的服务标识,该第三消息用于指示该第三设备对第一密钥进行安全管理。
该第三设备接收第二设备发送的第三消息,该第三设备在TEE环境中利用自己的私钥,对利用该第三设备的公钥加密的第一密钥进行解密,获得不被加密的第一密钥;该第三设备再利用第三密钥对第一密钥进行加密,其中,第三密钥为该第三设备的封装密钥。
第三设备向数据库发送第八消息,该第八消息中包括利用第三密钥加密的第一密钥,第八消息用于指示数据库保存利用第三密钥加密的第一密钥。数据库接收该第八消息,并记录EN_RK_2。
应理解,第二设备可以向不止一个第三设备发送第三消息,第二设备向哪个第三设备发送第三消息,就利用哪个第三设备的公钥对第一密钥进行加密。
具体而言,可选的,第二响应消息指示数据库保存失败,第二响应消息中包括利用第三密钥加密的第一密钥,第三密钥为一个第三设备的封装密钥,说明该第三设备已利用数据库保存过第一密钥,利用第三密钥加密的第一密钥只能被该第三设备在其TEE环境中解密得到第一密钥,则第二设备向该第三设备发送第三消息,该第三消息用于请求第三设备对利用第三密钥加密的第一密钥解密。
第三设备接收第二设备发送的第三消息,并根据该第三消息在其TEE环境中对利用第三密钥加密的第一密钥解密,获得不被加密的第一密钥。该第三设备利用第二设备的公钥对第一密钥加密,并向第二设备发送第三响应消息,该三响应消息中包括利用第二设备的公钥加密的第一密钥。
第二设备接收该第三设备发送的第三响应消息,并利用自己的私钥对利用第二设备的公钥加密的第一密钥进行解密,获得不被加密的第一密钥。第二设备利用第二密钥对第一密钥加密,并向数据库发送第四消息,该第四消息中包括利用第二密钥加密的第一密钥,该第四消息用于指示数据库保存该利用第二密钥加密的第一密钥。数据库接收第四消息,并记录EN_RK_1。
应理解,对根密钥的加密、解密都是在第二设备、第三设备的TEE环境中进行的,换言之,根密钥不能以明文的方式出现在TEE之外的环境中。
若第二设备接收到的数据库发送的第二响应消息指示数据库保存失败,则该第二响应消息中包括第二设备或者至少一个第三设备保存的根密钥,此时,若第一设备需要使用根密钥,就从第二设备处获取数据库中已保存的根密钥,不会再使用自己后来创建的根密钥,可以将自己后来创建的根密钥丢弃。应理解,根密钥以最先创建的为准,通过数据库进行持久化存储,所有的存储代理节点(第二设备或第三设备)向数据库保存的根密钥保持一致性。
本申请实施例提供的技术方案中,第二设备接收到第一设备发送的第一密钥(根密钥)后,第二设备和至少一个第三设备(多个存储代理节点)可以分别向数据库保存该根密钥,如果其中一个存储代理节点出现故障,其他的存储代理节点还可以对数据库中保存的加密的第一密钥进行解密,以获得第一密钥。因此,本申请的技术方案可以提高密钥管理的可靠性。
根密钥存在生命周期,若第一设备接收到更新根密钥的管理指令,则需要发起根密钥的更新流程。第一设备向第二设备发送第五消息,该第五消息中包括利用第二设备的公钥加密的第四密钥和服务标识,该第四密钥为在第一设备TEE环境内软件生成的另一个根密钥,该服务标识用于指示密钥管理服务KMS,可以将该服务与其他第二设备相关的服务区分开。其中,第四密钥为更新的第一密钥,即第一密钥的生命周期快要结束,用新的第四密钥去代替原来的第一密钥。
第二设备接收第一设备发送的第五消息,根据第五消息中包括的服务标识service ID,判断为KMS服务;第二设备利用第二设备的私钥,对利用第二设备的公钥加密的第四密钥解密,获得不被加密的第四密钥;第二设备利用自己具备的第二公钥对第四密钥加密;第二设备向数据库发送第六消息,该第六消息中包括利用第二密钥加密的第四密钥,该第六消息用于指示数据库保存利用第二密钥加密的第四密钥。可选的,该第六消息可以为updata_msg消息。
数据库接收第二设备发送的第六消息,并查询当前根密钥(第一密钥)记录的版本号,生成新的版本号,并记录利用第二密钥加密的第四密钥。例如,上次数据库内记录的格式为:(service ID、EN_RK_1、V1、创建时间1),本次数据库记录的格式可以为:(serviceID、EN_RK_1、V2、创建时间2)。可以通过版本号和创建时间,把原来保存的根密钥(第一密钥)和新保存的根密钥(第四密钥)区分开。原来保存的根密钥需要在一定生命周期内保存,以保证业务平滑地切换至使用新的根密钥;在生命周期截止后,数据库可以删除原来记录的根密钥。
在数据库成功保存之后,第二设备向至少一个第三设备发送第七消息,该第七消息中包括利用第三设备的公钥加密的第四密钥和用于指示KMS服务的服务标识,该第七消息用于指示该第三设备对利用第三设备的公钥加密的第四密钥进行安全管理。第三设备接收到第二设备发送的第七消息后,该第三设备利用自己的私钥对利用第三设备的公钥加密的第四密钥进行解密,得到不被加密的第四密钥,第三设备利用自己的封装密钥(第二密钥)对第四密钥加密,并向数据库保存更新的根密钥(第四密钥)。数据库具体记录新的根密钥的过程同上述数据库保存第二设备发送的新的根密钥的过程类似,在此不做赘述。
本申请实施例提出了一种通信装置,如图4所示,出示了本申请实施例的一种通信装置400的示意性框图。该装置可以应用于本申请实施例中的第二设备。该通信装置400包括:
收发单元410,用于接收第一设备发送的第一消息,所述第一消息中包括利用第二设备的公钥加密的第一密钥和服务标识,所述服务标识用于指示密钥管理服务;
处理单元420,用于利用所述第二设备的私钥,对所述利用第二设备的公钥加密的第一密钥解密,获得所述第一密钥;
所述处理单元420还用于,利用第二密钥对所述第一密钥加密,其中,所述第二密钥为所述第二设备的封装密钥;
所述收发单元410还用于,向数据库发送第二消息,所述第二消息中包括利用所述第二密钥加密的第一密钥,所述第二消息用于指示所述数据库保存所述利用所述第二密钥加密的第一密钥;
所述收发单元410还用于,接收所述数据库发送的第二响应消息;
所述收发单元410还用于,根据所述第二响应消息,向至少一个第三设备发送第三消息,所述第三消息用于对所述第一密钥进行安全管理。
可选的,所述处理单元420具体用于,若所述第二响应消息指示所述数据库保存成功,则利用所述第三设备的公钥对所述第一密钥加密;
所述收发单元410具体用于,向所述至少一个第三设备发送所述第三消息,所述第三消息中包括利用所述第三设备的公钥加密的第一密钥和所述服务标识,所述第三消息用于指示所述至少一个第三设备对所述加密的第一密钥进行安全管理。
可选的,所述处理单元420具体用于,若所述第二响应消息指示所述数据库保存失败,且所述第二响应消息中包括利用所述第二密钥加密的第一密钥,则对所述利用所述第二密钥加密的第一密钥解密,获得所述第一密钥;
所述处理单元420具体还用于,利用所述第三设备的公钥对所述第一密钥加密;
所述收发单元410具体用于,向所述至少一个第三设备发送所述第三消息,所述第三消息中包括利用所述第三设备的公钥加密的第一密钥和所述服务标识,所述第三消息用于指示所述至少一个第三设备对所述加密的第一密钥进行安全管理。
可选的,所述收发单元410具体用于,若所述第二响应消息指示所述数据库保存失败,且所述第二响应消息中包括利用第三密钥加密的第一密钥,则向第三设备发送所述第三消息,所述第三消息用于请求所述第三设备对所述利用第三密钥加密的第一密钥解密,其中,所述第三密钥为所述第三设备的封装密钥;
所述收发单元410具体还用于,接收所述第三设备发送的第三响应消息,所述第三响应消息中包括利用所述第二设备的公钥加密的第一密钥;
所述处理单元420具体用于,利用所述第二设备的私钥,对所述利用所述第二设备的公钥加密的第一密钥解密,获得所述第一密钥;
所述处理单元420具体还用于,利用所述第二密钥对所述第一密钥加密;
所述收发单元410具体用于,向所述数据库发送第四消息,所述第四消息中包括利用所述第二密钥加密的第一密钥,所述第四消息用于指示所述数据库保存所述利用所述第二密钥加密的第一密钥。
可选的,所述收发单元410还用于,接收第一设备发送的第五消息,所述第五消息中包括利用所述第二设备的公钥加密的第四密钥和所述服务标识,其中,所述第四密钥为更新的所述第一密钥;
所述处理单元420还用于,利用所述第二设备的私钥,对所述利用第二设备的公钥加密的第四密钥解密,获得所述第四密钥;
所述处理单元420还用于,利用所述第二密钥对所述第四密钥加密;
所述收发单元410还用于,向所述数据库发送第六消息,所述第六消息中包括利用所述第二密钥加密的第四密钥,所述第六消息用于指示所述数据库保存所述利用所述第二密钥加密的第四密钥;
所述收发单元410还用于,向所述至少一个第三设备发送第七消息,所述第七消息中包括利用第三设备的公钥加密的第四密钥和所述服务标识,所述第七消息用于指示所述第三设备对所述利用第三设备的公钥加密的第四密钥进行安全管理。
可选的,在所述收发单元410接收第一设备发送的第一消息之前,所述收发单元410还用于:
接收所述第一设备发送的第一认证请求消息;
向所述第一设备发送第一认证响应消息。
可选的,在所述收发单元410根据所述第二响应消息,向所述至少一个第三设备发送第三消息之前,所述收发单元410还用于:
向所述至少一个第三设备发送第二认证请求消息;
接收所述至少一个第三设备发送的第二认证响应消息。
本申请实施例提出了另一种通信装置,如图5所示,出示了本申请实施例的一种通信装置500的示意性框图。该装置可以应用于本申请实施例中的第三设备。
该通信装置500包括收发单元510和处理单元520,收发单元510,用于接收第二设备发送的第三消息,所述第三消息中包括利用第三设备的公钥加密的第一密钥和服务标识,所述服务标识用于指示密钥管理服务;
处理单元520,用于利用所述第三设备的私钥,对所述加密的第一密钥解密,获得所述第一密钥;
所述处理单元520还用于,用第三密钥对所述第一密钥加密,其中,所述第三密钥为所述第三设备的封装密钥;
所述收发单元510还用于,向数据库发送第八消息,所述第八消息中包括利用所述第三密钥加密的第一密钥,所述第八消息用于指示所述数据库保存所述利用所述第三密钥加密的第一密钥。
可选的,在所述收发单元510接收第二设备发送的第三消息之前,所述收发单元510还用于:
接收所述第二设备发送的第二认证请求消息;
向所述第二设备发送第二认证响应消息。
本申请实施例提出了另一种通信装置,如图6所示,出示了本申请实施例的一种通信装置600的示意性框图。该装置可以应用于本申请实施例中的第三设备。
该通信装置600包括收发单元610和处理单元620,收发单元610,用于接收第二设备发送的第三消息,所述第三消息用于请求第三设备对利用第三密钥加密的第一密钥解密,其中,所述第三密钥为所述第三设备的封装密钥;
处理单元620,用于根据所述第三消息,对所述利用第三密钥加密的第一密钥解密,获得所述第一密钥;
所述处理单元620还用于,利用所述第二设备的公钥对所述第一密钥加密;
所述收发单元610还用于,向所述第二设备发送第三响应消息,所述第三响应消息中包括利用所述第二设备的公钥加密的第一密钥。
可选的,在所述收发单元610接收第二设备发送的第三消息之前,所述收发单元610还用于:
接收所述第二设备发送的第二认证请求消息;
向所述第二设备发送第二认证响应消息。
本申请实施例提供了一种通信设备700,如图7所示,出示了本申请实施例的一种通信设备700的示意性框图。
该设备700包括:处理器710和收发器720,所述收发器720用于接收计算机代码或指令,并传输至所述处理器710,所述处理器710运行所述计算机代码或指令,如本申请实施例中任意可能的实现方式中的方法。
上述的处理器710可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
本申请实施例提供了一种通信系统800,包括本申请实施例提供的确定资源的方法中的第一设备810、第二设备820和第三设备830。如图8所示,出示了本申请实施例的一种通信系统800的示意性框图。
本申请实施例还提供了一种计算机可读存储介质,其上存储有用于实现上述方法实施例中的方法的计算机程序。当该计算机程序在计算机上运行时,使得该计算机可以实现上述方法实施例中的方法。
另外,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系;本申请中术语“至少一个”,可以表示“一个”和“两个或两个以上”,例如,A、B和C中至少一个,可以表示:单独存在A,单独存在B,单独存在C、同时存在A和B,同时存在A和C,同时存在C和B,同时存在A和B和C,这七种情况。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (25)

1.一种密钥管理的方法,其特征在于,应用于可信执行环境TEE中,所述方法包括:
第二设备接收第一设备发送的第一消息,所述第一消息中包括利用所述第二设备的公钥加密的第一密钥和服务标识,所述服务标识用于指示密钥管理服务;
所述第二设备利用所述第二设备的私钥,对所述利用所述第二设备的公钥加密的第一密钥解密,获得所述第一密钥;
所述第二设备利用第二密钥对所述第一密钥加密,其中,所述第二密钥为所述第二设备的封装密钥;
所述第二设备向数据库发送第二消息,所述第二消息中包括利用所述第二密钥加密的第一密钥,所述第二消息用于指示所述数据库保存所述利用所述第二密钥加密的第一密钥;
所述第二设备接收所述数据库发送的第二响应消息;
所述第二设备根据所述第二响应消息,向至少一个第三设备发送第三消息,所述第三消息用于对所述第一密钥进行安全管理。
2.根据权利要求1所述的方法,其特征在于,所述第二设备根据所述第二响应消息,向至少一个第三设备发送第三消息,包括:
若所述第二响应消息指示所述数据库保存成功,则所述第二设备利用所述第三设备的公钥对所述第一密钥加密;
所述第二设备向所述至少一个第三设备发送所述第三消息,所述第三消息中包括利用所述第三设备的公钥加密的第一密钥和所述服务标识,所述第三消息用于指示所述至少一个第三设备对所述加密的第一密钥进行安全管理。
3.根据权利要求1所述的方法,其特征在于,所述第二设备根据所述第二响应消息,向至少一个第三设备发送第三消息,包括:
若所述第二响应消息指示所述数据库保存失败,且所述第二响应消息中包括利用所述第二密钥加密的第一密钥,则所述第二设备对所述利用所述第二密钥加密的第一密钥解密,获得所述第一密钥;
所述第二设备利用所述第三设备的公钥对所述第一密钥加密;
所述第二设备向所述至少一个第三设备发送所述第三消息,所述第三消息中包括利用所述第三设备的公钥加密的第一密钥和所述服务标识,所述第三消息用于指示所述至少一个第三设备对所述加密的第一密钥进行安全管理。
4.根据权利要求1所述的方法,其特征在于,
若所述第二响应消息指示所述数据库保存失败,且所述第二响应消息中包括利用第三密钥加密的第一密钥,则所述第二设备向第三设备发送所述第三消息,所述第三消息用于请求所述第三设备对所述利用第三密钥加密的第一密钥解密,其中,所述第三密钥为所述第三设备的封装密钥;
所述第二设备接收所述第三设备发送的第三响应消息,所述第三响应消息中包括利用所述第二设备的公钥加密的第一密钥;
所述第二设备利用所述第二设备的私钥,对所述利用所述第二设备的公钥加密的第一密钥解密,获得所述第一密钥;
所述第二设备利用所述第二密钥对所述第一密钥加密;
所述第二设备向所述数据库发送第四消息,所述第四消息中包括利用所述第二密钥加密的第一密钥,所述第四消息用于指示所述数据库保存所述利用所述第二密钥加密的第一密钥。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
所述第二设备接收第一设备发送的第五消息,所述第五消息中包括利用所述第二设备的公钥加密的第四密钥和所述服务标识,其中,所述第四密钥为更新的所述第一密钥;
所述第二设备利用所述第二设备的私钥,对所述利用第二设备的公钥加密的第四密钥解密,获得所述第四密钥;
所述第二设备利用所述第二密钥对所述第四密钥加密;
所述第二设备向所述数据库发送第六消息,所述第六消息中包括利用所述第二密钥加密的第四密钥,所述第六消息用于指示所述数据库保存所述利用所述第二密钥加密的第四密钥;
所述第二设备向所述至少一个第三设备发送第七消息,所述第七消息中包括利用第三设备的公钥加密的第四密钥和所述服务标识,所述第七消息用于指示所述第三设备对所述利用第三设备的公钥加密的第四密钥进行安全管理。
6.根据权利要求1至5中任一项所述的方法,其特征在于,在所述第二设备接收第一设备发送的第一消息之前,所述方法还包括:
所述第二设备接收所述第一设备发送的第一认证请求消息;
所述第二设备向所述第一设备发送第一认证响应消息。
7.根据权利要求1至6中任一项所述的方法,其特征在于,在所述第二设备根据所述第二响应消息,向所述至少一个第三设备发送第三消息之前,所述方法还包括:
所述第二设备向所述至少一个第三设备发送第二认证请求消息;
所述第二设备接收所述至少一个第三设备发送的第二认证响应消息。
8.一种密钥管理的方法,其特征在于,应用于可信执行环境TEE中,所述方法包括:
第三设备接收第二设备发送的第三消息,所述第三消息中包括利用所述第三设备的公钥加密的第一密钥和服务标识,所述服务标识用于指示密钥管理服务;
所述第三设备利用所述第三设备的私钥,对所述加密的第一密钥解密,获得所述第一密钥;
所述第三设备利用第三密钥对所述第一密钥加密,其中,所述第三密钥为所述第三设备的封装密钥;
所述第三设备向数据库发送第八消息,所述第八消息中包括利用所述第三密钥加密的第一密钥,所述第八消息用于指示所述数据库保存所述利用所述第三密钥加密的第一密钥。
9.根据权利要求8所述的方法,其特征在于,在所述第三设备接收第二设备发送的第三消息之前,所述方法还包括:
所述第三设备接收所述第二设备发送的第二认证请求消息;
所述第三设备向所述第二设备发送第二认证响应消息。
10.一种密钥管理的方法,其特征在于,应用于可信执行环境TEE中,所述方法包括:
第三设备接收第二设备发送的第三消息,所述第三消息用于请求所述第三设备对利用第三密钥加密的第一密钥解密,其中,所述第三密钥为所述第三设备的封装密钥;
所述第三设备根据所述第三消息,对所述利用第三密钥加密的第一密钥解密,获得所述第一密钥;
所述第三设备利用所述第二设备的公钥对所述第一密钥加密;
所述第三设备向所述第二设备发送第三响应消息,所述第三响应消息中包括利用所述第二设备的公钥加密的第一密钥。
11.根据权利要求10所述的方法,其特征在于,在所述第三设备接收第二设备发送的第三消息之前,所述方法还包括:
所述第三设备接收所述第二设备发送的第二认证请求消息;
所述第三设备向所述第二设备发送第二认证响应消息。
12.一种通信装置,其特征在于,包括:
收发单元,用于接收第一设备发送的第一消息,所述第一消息中包括利用第二设备的公钥加密的第一密钥和服务标识,所述服务标识用于指示密钥管理服务;
处理单元,用于利用所述第二设备的私钥,对所述利用第二设备的公钥加密的第一密钥解密,获得所述第一密钥;
所述处理单元还用于,利用第二密钥对所述第一密钥加密,其中,所述第二密钥为所述第二设备的封装密钥;
所述收发单元还用于,向数据库发送第二消息,所述第二消息中包括利用所述第二密钥加密的第一密钥,所述第二消息用于指示所述数据库保存所述利用所述第二密钥加密的第一密钥;
所述收发单元还用于,接收所述数据库发送的第二响应消息;
所述收发单元还用于,根据所述第二响应消息,向至少一个第三设备发送第三消息,所述第三消息用于对所述第一密钥进行安全管理。
13.根据权利要求12所述的装置,其特征在于,
所述处理单元具体用于,若所述第二响应消息指示所述数据库保存成功,则利用所述第三设备的公钥对所述第一密钥加密;
所述收发单元具体用于,向所述至少一个第三设备发送所述第三消息,所述第三消息中包括利用所述第三设备的公钥加密的第一密钥和所述服务标识,所述第三消息用于指示所述至少一个第三设备对所述加密的第一密钥进行安全管理。
14.根据权利要求12所述的装置,其特征在于,
所述处理单元具体用于,若所述第二响应消息指示所述数据库保存失败,且所述第二响应消息中包括利用所述第二密钥加密的第一密钥,则对所述利用所述第二密钥加密的第一密钥解密,获得所述第一密钥;
所述处理单元具体还用于,利用所述第三设备的公钥对所述第一密钥加密;
所述收发单元具体用于,向所述至少一个第三设备发送所述第三消息,所述第三消息中包括利用所述第三设备的公钥加密的第一密钥和所述服务标识,所述第三消息用于指示所述至少一个第三设备对所述加密的第一密钥进行安全管理。
15.根据权利要求12所述的装置,其特征在于,
所述收发单元具体用于,若所述第二响应消息指示所述数据库保存失败,且所述第二响应消息中包括利用第三密钥加密的第一密钥,则向第三设备发送所述第三消息,所述第三消息用于请求所述第三设备对所述利用第三密钥加密的第一密钥解密,其中,所述第三密钥为所述第三设备的封装密钥;
所述收发单元具体还用于,接收所述第三设备发送的第三响应消息,所述第三响应消息中包括利用所述第二设备的公钥加密的第一密钥;
所述处理单元具体用于,利用所述第二设备的私钥,对所述利用所述第二设备的公钥加密的第一密钥解密,获得所述第一密钥;
所述处理单元具体还用于,利用所述第二密钥对所述第一密钥加密;
所述收发单元具体用于,向所述数据库发送第四消息,所述第四消息中包括利用所述第二密钥加密的第一密钥,所述第四消息用于指示所述数据库保存所述利用所述第二密钥加密的第一密钥。
16.根据权利要求12至15中任一项所述的装置,其特征在于,
所述收发单元还用于,接收第一设备发送的第五消息,所述第五消息中包括利用所述第二设备的公钥加密的第四密钥和所述服务标识,其中,所述第四密钥为更新的所述第一密钥;
所述处理单元还用于,利用所述第二设备的私钥,对所述利用第二设备的公钥加密的第四密钥解密,获得所述第四密钥;
所述处理单元还用于,利用所述第二密钥对所述第四密钥加密;
所述收发单元还用于,向所述数据库发送第六消息,所述第六消息中包括利用所述第二密钥加密的第四密钥,所述第六消息用于指示所述数据库保存所述利用所述第二密钥加密的第四密钥;
所述收发单元还用于,向所述至少一个第三设备发送第七消息,所述第七消息中包括利用第三设备的公钥加密的第四密钥和所述服务标识,所述第七消息用于指示所述第三设备对所述利用第三设备的公钥加密的第四密钥进行安全管理。
17.根据权利要求12至16中任一项所述的装置,其特征在于,在所述收发单元接收第一设备发送的第一消息之前,所述收发单元还用于:
接收所述第一设备发送的第一认证请求消息;
向所述第一设备发送第一认证响应消息。
18.根据权利要求12至17中任一项所述的装置,其特征在于,在所述收发单元根据所述第二响应消息,向所述至少一个第三设备发送第三消息之前,所述收发单元还用于:
向所述至少一个第三设备发送第二认证请求消息;
接收所述至少一个第三设备发送的第二认证响应消息。
19.一种通信装置,其特征在于,包括:
收发单元,用于接收第二设备发送的第三消息,所述第三消息中包括利用第三设备的公钥加密的第一密钥和服务标识,所述服务标识用于指示密钥管理服务;
处理单元,用于利用所述第三设备的私钥,对所述加密的第一密钥解密,获得所述第一密钥;
所述处理单元还用于,用第三密钥对所述第一密钥加密,其中,所述第三密钥为所述第三设备的封装密钥;
所述收发单元还用于,向数据库发送第八消息,所述第八消息中包括利用所述第三密钥加密的第一密钥,所述第八消息用于指示所述数据库保存所述利用所述第三密钥加密的第一密钥。
20.根据权利要求19所述的装置,其特征在于,在所述收发单元接收第二设备发送的第三消息之前,所述收发单元还用于:
接收所述第二设备发送的第二认证请求消息;
向所述第二设备发送第二认证响应消息。
21.一种通信装置,其特征在于,包括:
收发单元,用于接收第二设备发送的第三消息,所述第三消息用于请求第三设备对利用第三密钥加密的第一密钥解密,其中,所述第三密钥为所述第三设备的封装密钥;
处理单元,用于根据所述第三消息,对所述利用第三密钥加密的第一密钥解密,获得所述第一密钥;
所述处理单元还用于,利用所述第二设备的公钥对所述第一密钥加密;
所述收发单元还用于,向所述第二设备发送第三响应消息,所述第三响应消息中包括利用所述第二设备的公钥加密的第一密钥。
22.根据权利要求21所述的装置,其特征在于,在所述收发单元接收第二设备发送的第三消息之前,所述收发单元还用于:
接收所述第二设备发送的第二认证请求消息;
向所述第二设备发送第二认证响应消息。
23.一种通信设备,其特征在于,包括:
处理器和收发器,所述收发器用于接收计算机代码或指令,并传输至所述处理器,所述处理器运行所述计算机代码或指令,如权利要求1至11中任一项所述的方法。
24.一种通信系统,其特征在于,包括:
权利要求1至11中任一项所述方法中的第一设备、第二设备和第三设备。
25.一种计算机可读存储介质,其特征在于,包括:
所述计算机可读介质存储有计算机程序;
所述计算机程序在计算机上运行时,使得计算机执行权利要求1至24中任一项所述的方法。
CN202011298341.3A 2020-11-18 2020-11-18 密钥管理的方法和装置 Pending CN114584287A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011298341.3A CN114584287A (zh) 2020-11-18 2020-11-18 密钥管理的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011298341.3A CN114584287A (zh) 2020-11-18 2020-11-18 密钥管理的方法和装置

Publications (1)

Publication Number Publication Date
CN114584287A true CN114584287A (zh) 2022-06-03

Family

ID=81768222

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011298341.3A Pending CN114584287A (zh) 2020-11-18 2020-11-18 密钥管理的方法和装置

Country Status (1)

Country Link
CN (1) CN114584287A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024036435A1 (zh) * 2022-08-15 2024-02-22 华为技术有限公司 通信方法、装置和系统
CN118214554A (zh) * 2024-05-13 2024-06-18 三未信安科技股份有限公司 一种支持密码卡异常密码服务自动故障切换的方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024036435A1 (zh) * 2022-08-15 2024-02-22 华为技术有限公司 通信方法、装置和系统
CN118214554A (zh) * 2024-05-13 2024-06-18 三未信安科技股份有限公司 一种支持密码卡异常密码服务自动故障切换的方法及系统
CN118214554B (zh) * 2024-05-13 2024-07-16 三未信安科技股份有限公司 一种支持密码卡异常密码服务自动故障切换的方法及系统

Similar Documents

Publication Publication Date Title
CN100487715C (zh) 一种数据安全存储系统和装置及方法
US11564099B2 (en) RRC connection resume method and apparatus
CN112822177B (zh) 数据传输方法、装置、设备和存储介质
EP2405376B1 (en) Utilization of a microcode interpreter built in to a processor
US10027639B2 (en) IC chip performing access control based on encrypted ID
CN111970114B (zh) 文件加密方法、系统、服务器和存储介质
CN104468562A (zh) 一种面向移动应用透明的数据安全保护便携式终端
CN110621016B (zh) 一种用户身份保护方法、用户终端和基站
CN105468659A (zh) 一种数据同步方法及装置
CN113890731B (zh) 一种密钥管理方法、装置、电子设备及存储介质
CN114584287A (zh) 密钥管理的方法和装置
US11637704B2 (en) Method and apparatus for determining trust status of TPM, and storage medium
CN110730447B (zh) 一种用户身份保护方法、用户终端和核心网
CN113778749B (zh) 数据备份方法及电子设备
CN114189343A (zh) 互相认证的方法和装置
JP2001103045A (ja) 暗号鍵バックアップ記憶装置
CN114223233A (zh) 用于网络切片管理的数据安全性
CN116455572B (zh) 数据加密方法、装置及设备
CN111818492A (zh) 蓝牙信标及其数据的传输方法、可读存储介质
CN111386513B (zh) 数据处理的方法、装置和系统芯片
CN113034140B (zh) 实现智能合约加密的方法、系统、设备及存储介质
KR101329789B1 (ko) 모바일 디바이스의 데이터베이스 암호화 방법
CN114912105A (zh) 数据存储方法、装置、系统、设备、介质及产品
CN111770488B (zh) Ehplmn更新方法、相关设备及存储介质
CN104202166A (zh) 一种erp系统数据加密方法

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