CN114884651A - 一种密钥共享方法、装置、控制设备及可读存储介质 - Google Patents
一种密钥共享方法、装置、控制设备及可读存储介质 Download PDFInfo
- Publication number
- CN114884651A CN114884651A CN202210323853.3A CN202210323853A CN114884651A CN 114884651 A CN114884651 A CN 114884651A CN 202210323853 A CN202210323853 A CN 202210323853A CN 114884651 A CN114884651 A CN 114884651A
- Authority
- CN
- China
- Prior art keywords
- key
- instance
- root
- trusted execution
- session
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供了一种密钥共享方法、装置、控制设备及可读存储介质,所述方法包括:响应于接收的密钥请求,密钥管理设备通过所述密钥请求中的标识信息确定预先写入的第一根密钥和第二根密钥;通过预设的生成策略,生成基于所述第一根密钥的会话密钥和基于所述第二根密钥的加密密钥;通过所述加密密钥将所述会话密钥发送给第二实例,以使第二实例获取所述会话密钥。通过在密钥管理设备和实例的可信执行环境内预设相同的根密钥和生成策略,可以在密钥管理设备和实例之间直接生成相同的密钥,在此基础上,通过加密传输实现不同实例间的密钥共享,大大提高了保密性。
Description
技术领域
本申请涉及云计算技术领域,具体而言,涉及一种密钥共享方法、装置、控制设备及可读存储介质。
背景技术
在云计算场景中,实例间的通信需要进行加密保护,目前通用的加密保护方案是AK/SK。其中,AK用于标示用户,SK是用户用于加密认证字符串和云厂商用来验证认证字符串的密钥。
但是AK/SK中,通常会在产品代码中直接写入AK,这使得第三方可以通过解析产品代码的方式非法获取AK,违反了安全原则。
发明内容
本申请解决的问题是现有的云计算场景的密码保护方案保密性低。
为解决上述问题,本申请第一方面提供了一种密钥共享方法,包括:
响应于接收的密钥请求,密钥管理设备通过所述密钥请求中的标识信息确定预先写入的第一根密钥和第二根密钥,所述第一根密钥同时预先写入第一实例关联的可信执行环境内,所述第二根密钥同时预先写入第二实例关联的可信执行环境内;
通过预设的生成策略,生成基于所述第一根密钥的会话密钥和基于所述第二根密钥的加密密钥;所述生成策略还预设在第一实例和第二实例关联的可信执行环境内,以分别在第一实例和第二实例关联的可信执行环境内生成所述会话密钥和所述加密密钥;
通过所述加密密钥将所述会话密钥发送给第二实例,以使第二实例获取所述会话密钥。
本申请第二方面提供了一种密钥共享装置,其包括:
根密钥确定模块,其用于响应于接收的密钥请求,密钥管理设备通过所述密钥请求中的标识信息确定预先写入的第一根密钥和第二根密钥,所述第一根密钥同时预先写入第一实例关联的可信执行环境内,所述第二根密钥同时预先写入第二实例关联的可信执行环境内;
密钥生成模块,其用于通过预设的生成策略,生成基于所述第一根密钥的会话密钥和基于所述第二根密钥的加密密钥;所述生成策略还预设在第一实例和第二实例关联的可信执行环境内,以分别在第一实例和第二实例关联的可信执行环境内生成所述会话密钥和所述加密密钥;
密钥发送模块,其用于通过所述加密密钥将所述会话密钥发送给第二实例,以使第二实例获取所述会话密钥。
本申请第三方面提供了一种控制设备,其包括:存储器和处理器;
所述存储器,其用于存储程序;
所述处理器,耦合至所述存储器,用于执行所述程序,以用于:
响应于接收的密钥请求,密钥管理设备通过所述密钥请求中的标识信息确定预先写入的第一根密钥和第二根密钥,所述第一根密钥同时预先写入第一实例关联的可信执行环境内,所述第二根密钥同时预先写入第二实例关联的可信执行环境内;
通过预设的生成策略,生成基于所述第一根密钥的会话密钥和基于所述第二根密钥的加密密钥;所述生成策略还预设在第一实例和第二实例关联的可信执行环境内,以分别在第一实例和第二实例关联的可信执行环境内生成所述会话密钥和所述加密密钥;
通过所述加密密钥将所述会话密钥发送给第二实例,以使第二实例获取所述会话密钥。
本申请第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行实现上述所述的密钥共享方法。
通过在密钥管理设备和实例的可信执行环境内预设相同的根密钥和生成策略,可以在密钥管理设备和实例之间直接生成相同的密钥,在此基础上,通过加密传输实现不同实例间的密钥共享,大大提高了保密性。
通过实例标识,动态生成会话密钥,可以将第二实例与其他实例的实例对区分开来,结合扩展参数,将第一实例和第二实例的实例对,以及该实例对的多次连接的密钥区分开,避免重放攻击和其他泄密攻击方式;同一个物理机的不同实例之间,也可以通过该方法,避免虚拟机逃逸问题。
本申请利用物理机的TEE实现安全预置根密钥,进而动态生成会话密钥,保证密钥交换过程的合规性;通过物理机预置的根密钥,动态生成会话密钥;避免使用AK,不需要考虑AK更新。
附图说明
图1为根据本申请一个实施例的密钥共享方法的流程图;
图2为根据本申请的密钥共享的示例图;
图3为根据本申请另一实施例的密钥共享方法的流程图;
图4为根据本申请一个实施例的密钥共享方法S100的流程图;
图5为根据本申请一个实施例的密钥共享方法S200的流程图;
图6为根据本申请一个实施例的密钥共享方法S300的流程图;
图7为根据本申请一个实施例的密钥共享装置的结构框图;
图8为根据本申请实施例的控制设备的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更为明显易懂,下面结合附图对本申请的具体实施例做详细的说明。虽然附图中显示了本申请的示例性实施方式,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本申请所属领域技术人员所理解的通常意义。
在云计算场景中,实例间的通信需要进行加密保护,目前通用的加密保护方案是AK/SK。其中,AK用于标示用户,SK是用户用于加密认证字符串和云厂商用来验证认证字符串的密钥。
但是AK/SK中,通常会在产品代码中直接写入AK,这使得第三方可以通过解析产品代码的方式非法获取AK,违反了安全原则。
另外,对于这种违反安全原则的行为,云厂商很难发现,只能通过对产品代码进行扫描后才能确定。
目前,云厂商还推出了一种新的安全理念:零信任,其是一种以资源保护为核心的网络安全理念,认为对资源的访问,无论来自内部还是外部,主体和客体之间信任关系都不是天然建立的,需要对其信任进行持续评估,进而实施访问控制。无论内外网,所有对资源的访问都需要加密,访问资源的主体可能位于内部网络,也可能来自外部网络,所有的访问基于加密手段构建安全通道保证机密性和完整性,并提供源身份鉴别。
与现有的安全原则相比,零信任的安全原则更加的严格和广泛,当前的AK/SK加密方式,远不能满足零信任的安全要求。
为了满足零信任的要求,移动通信领域的3GPP TS33.220给出新的解决方案Generic Bootstrapping Architecture(GBA),但是借用到云计算场景中需要引入SIM卡和HSS(Home Subscriber System)等实体,这对于云服务商的整体技术架构改动太大。
针对上述问题,本申请提供一种新的密钥共享方案,能够通过在实例和密码管理设备上预置根密钥进行密钥派生的方式,解决当前的加密方案保密性低下的问题。
为了便于理解,在此对下述可能使用的术语进行解释:
KDF:key derivation function密钥派生函数
AK/SK:Access Key Id/Secret Access Key加密机制。云主机需要通过使用Access Key Id/Secret Access Key加密的方法来验证某个请求的发送者身份。AccessKey Id(AK)用于标示用户,Secret Access Key(SK)是用户用于加密认证字符串和云厂商用来验证认证字符串的密钥,其中SK必须保密。具体使用过程中,云主机接收到用户的请求后,系统将使用AK对应的相同的SK和同样的认证机制生成认证字符串,并与用户请求中包含的认证字符串进行比对。如果认证字符串相同,系统认为用户拥有指定的操作权限,并执行相关操作;如果认证字符串不同,系统将忽略该操作并返回错误码。
可信执行环境:(Trusted execution environment,TEE)是一种具有运算和储存功能,能提供安全性和完整性保护的独立处理环境。其基本思想是:在硬件中为敏感数据单独分配一块隔离的内存,所有敏感数据的计算均在这块内存中进行,并且除了经过授权的接口外,硬件中的其他部分不能访问这块隔离的内存中的信息,以此来实现敏感数据的隐私计算。
本申请实施例提供了一种密钥共享方法,该方法可以由密钥共享装置来执行,该密钥共享装置可以集成在pad、电脑、服务器、计算机、服务器集群、数据中心等电子设备中。如图1结合图2所示,其为根据本申请一个实施例的密钥共享方法的流程图;其中,所述密钥共享方法,包括:
S100,响应于接收的密钥请求,密钥管理设备通过所述密钥请求中的标识信息确定预先写入的第一根密钥和第二根密钥,所述第一根密钥同时预先写入第一实例关联的可信执行环境内,所述第二根密钥同时预先写入第二实例关联的可信执行环境内;
其中,第一实例和第二实例为云计算场景中需要进行加密通信的一对实例,所述云计算场景中可以同时存在多个需要进行加密通信的成对实例,该多个成对实例中的实例可以交叉,也可以不交叉,例如,第一实例和第二实例组成的成对实例,第二实例和第三实例组成的成对实例,第三实例和第四实例组成的成对实例,都可以同时存在,互相不影响。
其中,第一实例和第二实例并非特指某些实例,本申请中,对第一实例和第二实例的具体指代不做限制。
需要说明的是,第一实例和第二实例中的“第一”、“第二”仅是用于区分不是同一个实例,除此之外,不具有其他限制。例如,将第一实例指代具体的实例A并将第二实例指代具体的实例B,和,将第一实例指代具体的实例B并将第二实例指代具体的实例A,均不影响其表示的含义和保护范围。
其中,所述第一根密钥被同时写入所述密钥管理设备和所述第一实例关联的可信执行环境内。所述第二根密钥被同时写入所述密钥管理设备和所述第二实例关联的可信执行环境内。
在一种实施方式中,所述第一实例承载与物理机上,所述第一实例/第二实例关联的可信执行环境为所述物理机的具有TEE能力的模块。
在一种实施方式中,所述第一实例/第二实例关联的可信执行环境为所述物理机的MOC卡的TEE模块。
其中,所述MOC卡为服务器的核心组件,其具体功能在此不再赘述。
如图2所示,其为本申请的密钥共享的示例图,图中,物理机上设置第一实例和第二实例,第二实例与密钥管理设备连接。
在一种实施方式中,所述第一实例/第二实例关联的可信执行环境还可以为其他具有可信执行环境的硬件设备或者设备上的可信执行环境程序,例如物理机的外接TEE设备,只需要其与第一实例/第二实例可以不通过网络直接连通即可,除此之外,本申请对此不做其他限制。
需要说明的是,所述第一实例和所述第二实例的可信执行环境可以为相同的设备类型,也可以为不同的设备类型,例如,所述第一实例的可信执行环境为所述物理机的MOC卡的TEE模块,所述第二实例为物理机的外接TEE设备。
在一种实施方式中,所述第一实例和所述第二实例的可信执行环境可以为不同的可信执行环境,也可以为同一个可信执行环境;在为同一个可信执行环境时,所述第一根密钥和所述第二根密钥为相同的根密钥。
在一种实施方式中,所述第一根密钥/第二根密钥在所述物理机出厂时写入所述物理机的可信执行环境内。
在一种实施方式中,所述第一根密钥/第二根密钥在上线部署时,通过人工方式写入所述密钥管理设备。
在一种实施方式中,所述密钥管理设备为key center。所述key center为硬件密码机,其是专门的硬件的密码设备。
在一种实施方式中,所述密钥管理设备还可以为密钥分发中心,所述密钥分发中心(KDC Key Distribution Center)是一种运行在物理安全服务器上的服务;或者所述密钥管理设备还可以为其他作为可信执行环境的设备,其具体设备类型,本申请中不做限制。
S200,通过预设的生成策略,生成基于所述第一根密钥的会话密钥和基于所述第二根密钥的加密密钥;所述生成策略还预设在第一实例和第二实例关联的可信执行环境内,以分别在第一实例和第二实例关联的可信执行环境内生成所述会话密钥和所述加密密钥;
其中,所述密钥管理设备内预设的生成策略与所述第一实例/第二实例关联的可信执行环境内为相同的生成策略,根据相同的根密钥可以生成相同的加密密钥/会话密钥。
在一种实施方式中,所述密钥管理设备内生成基于所述第一根密钥的会话密钥的生成策略与预设在第一实例关联的可信执行环境内的生成策略相同,从而在所述密钥管理设备和第一实例关联的可信执行环境内生成相同的会话密钥。
在一种实施方式中,所述密钥管理设备内生成基于所述第二根密钥的加密密钥的生成策略与预设在第二实例关联的可信执行环境内的生成策略相同,从而在所述密钥管理设备和第二实例关联的可信执行环境内生成相同的加密密钥。
在一种实施方式中,所述密钥管理设备内的预设生成策略有多个,不同标识关联的预设生成策略不同。
在一种实施方式中,所述密钥管理设备内的预设生成策略为一个,基于相同的生成策略生成所述加密密钥和所述会话密钥。
在一种实施方式中,所述生成策略在所述物理机出厂时写入所述物理机的可信执行环境内。
在一种实施方式中,所述生成策略在上线部署时,通过人工方式写入所述密钥管理设备。
在一种实施方式中,所述生成策略通过网络写入所述物理机的可信执行环境内和/或写入所述密钥管理设备。这样,可信执行环境保证即使生成策略被第三方截获,在根密钥未公开的情况下,依然可以保证会话密钥和通信的保密性。
S300,通过所述加密密钥将所述会话密钥发送给第二实例,以使第二实例获取所述会话密钥。
第一实例基于关联的可信执行环境内生成所述会话密钥,第二实例接收密钥管理设备发送的会话密钥,从而第一实例与第二实例均获取所述会话密钥,完成密钥共享。
通过在密钥管理设备和实例的可信执行环境内预设相同的根密钥和生成策略,可以在密钥管理设备和实例之间直接生成相同的密钥,在此基础上,通过加密传输实现不同实例间的密钥共享,大大提高了保密性。
通过在第一实例的可信执行环境内预设相同的根密钥和生成策略,可以在第一实例上生成相同的会话密钥,进而通过实例间共享的会话密钥保护实例间的通信。
在一种实施方式中,如图3所示,所述方法还包括:
S400,第一实例与第二实例通过所述会话密钥进行加密通信。
通过会话密钥进行加密通信中,第一实例/第二实例在向第二实例/第一实例发送通信数据时,可以通过会话密钥加密通信数据;在接收到加密的通信数据后,可以通过会话密钥解密,获得解密后的通信数据;实现第一实例和第二实例之间的加密通信。
在一种实施方式中,所述密钥请求中的标识信息包括用于关联所述第一根密钥的第一标识和用于关联所述第二根密钥的第二标识,
如图4所示,所述密钥管理设备通过所述密钥请求中的标识信息确定预先写入的第一根密钥和第二根密钥,包括:
S101,获取记录有标识与根密钥的关联关系的映射表;
在一种实施方式中,所述第一标识为承载第一实例的物理机的ID;所述第二标识为承载第二实例的物理机的ID。
在一种实施方式中,所述第一标识为与承载第一实例的物理机相关联的信息,例如出厂标号、在云计算网络中的分配序号等,也可以是其他可以一一确定第一实例关联的可信执行环境的信息。
相似地,所述第二标识可以为与承载第二实例的物理机相关联的信息,也可以是其他可以一一确定第二实例关联的可信执行环境的信息。
所述映射表中记录有标识与根密钥的关联关系或映射关系,该映射表中,标识与根密钥一一对应。
在一种实施方式中,所述映射表在上线部署时,通过人工方式写入所述密钥管理设备。
S102,根据所述映射表确定所述第一标识关联的所述第一根密钥和所述第二标识关联的所述第二根密钥。
通过预设的映射表,确定第一根密钥和第二根密钥,进而生成所述会话密钥和所述加密密钥。
在一种实施方式中,所述密钥请求还包括用于标识第二实例的实例标识和扩展参数;
如图5所示,所述通过预设的生成策略,生成基于所述第一根密钥的会话密钥和基于所述第二根密钥的加密密钥,包括:
S201,根据预设的所述生成策略,通过所述实例标识、所述扩展参数和所述第一根密钥,生成所述会话密钥;
在一种实施方式中,所述第二实例的实例标识为第二实例的实例ID。
在一种实施方式中,所述第二实例的实例标识为第二实例的MAC地址或IP地址。
在一种实施方式中,所述第二实例的实例标识可以为与第二实例关联的信息,也可以是其他可以一一确定第二实例的信息。
在一种实施方式中,所述第二实例的实例标识不仅可以标识第二实例,还同时标识第一实例与第二实例的实例对,从而可以将该实例对于其他实例的实例对区分开来。
在一种实施方式中,所述扩展参数可以为时间戳、计数器或随机数或者其他可以将当前连接和之前的连接区分开的数据或信息;通过扩展参数,将第一实例与第二实例多次连通的会话密钥区分开来,可以防止重放攻击。
在一种实施方式中,所述扩展参数为多个,至少一个扩展参数为时间戳、计数器或随机数。
S202,根据预设的所述生成策略,通过所述实例标识、所述扩展参数和所述第二根密钥,生成所述加密密钥。
通过实例标识,动态生成会话密钥,可以将第二实例与其他实例的实例对区分开来,结合扩展参数,将第一实例和第二实例的实例对,以及该实例对的多次连接的密钥区分开,避免重放攻击和其他泄密攻击方式;同一个物理机的不同实例之间,也可以通过该方法,避免虚拟机逃逸问题。
在一种实施方式中,所述响应于接收的密钥请求中,所述密钥请求由第二实例接收到第一实例发送的第一标识和扩展参数的情况下向密钥管理设备发送。
所述扩展参数由第一实例生成,由第二实例转发,完成第一实例、第二实例、密钥管理设备之间扩展参数的统一。
在一种实施方式中,也可以通过其他方式使得第一实例、第二实例、密钥管理设备之间获取相同的扩展参数,例如第三方设备直接生成扩展参数,同时传输给第一实例、第二实例、密钥管理设备等等。
在一种实施方式中,第一实例、第二实例、密钥管理设备之间通过不加密的方式互相传输第一标识、第二标识、实例标识或者扩展参数。可信执行环境可以保证即使上述参数被第三方截获,在根密钥未公开的情况下,依然可以保证会话密钥和通信的保密性。
在一种实施方式中,第二实例接收到第一实例发送的第一标识和扩展参数后,在关联的可信执行环境内,根据与所述密钥管理设备相同的所述生成策略,通过所述扩展参数、预设的实例标识和所述第二根密钥,生成所述加密密钥。
在一种实施方式中,第二实例将扩展参数传输至关联的可信执行环境内,然后在可信执行环境内根据所述生成策略,生成所述加密密钥。
在一种实施方式中,第二实例将扩展参数、生成策略和实例标识传输至关联的可信执行环境内,然后在可信执行环境内根据所述生成策略,生成所述加密密钥。
在一种实施方式中,第一实例生成所述扩展参数并向第二实例发送所述第一标识和所述扩展参数的情况下,获取第二实例的实例标识,在关联的可信执行环境内,根据与所述密钥管理设备相同的所述生成策略,通过所述实例标识、所述扩展参数和第一根密钥,生成所述会话密钥。
在一种实施方式中,第一实例将实例标识传输至关联的可信执行环境内,然后在可信执行环境内根据所述生成策略,生成所述会话密钥。
在一种实施方式中,第一实例将扩展参数、生成策略和实例标识传输至关联的可信执行环境内,然后在可信执行环境内根据所述生成策略,生成所述会话密钥。
在一种实施方式中,所述扩展参数可以由第二实例生成并向第一实例发送。
在一种实施方式中,通过密钥派生函数基于所述实例标识、所述扩展参数和所述第一根密钥,生成所述会话密钥。通过密钥派生函数,可以将一个根密钥通过派生的方式获取多个密钥。
在一种实施方式中,所述通过密钥派生函数基于所述实例标识、所述扩展参数和所述第一根密钥,生成所述会话密钥中,将所述实例标识、所述扩展参数和所述第一根密钥输入所述密钥派生函数,输出所述会话密钥。
在一种实施方式中,通过密钥派生函数基于所述实例标识、所述扩展参数和所述第二根密钥,生成所述加密密钥。通过密钥派生函数,可以将一个根密钥通过派生的方式获取多个密钥。
在一种实施方式中,所述通过密钥派生函数基于所述实例标识、所述扩展参数和所述第二根密钥,生成所述加密密钥中,将所述实例标识、所述扩展参数和所述第二根密钥输入所述密钥派生函数,输出所述加密密钥。
在一种实施方式中,预设的所述生成策略,为预设的派生策略。
其中,密钥派生函数(KDF)密钥派生函数是一个函数它的功能是从一个密钥产生出一个或者多个密钥。一些密钥派生函数会有一个(通常是可选的)salt参数,这个参数可以解决相同的输入密钥产生相同的输出密钥。在一些其他的密码系统,salts会和输入的密钥有本质的不同,salts通常不需要是私密的,并且可以重用。
在一种实施方式中,如图6所示,所述S300,通过所述加密密钥将所述会话密钥发送给第二实例,以使第二实例获取所述会话密钥,包括:
S301,通过所述加密密钥对所述会话密钥进行加密;
S302,将加密后的所述会话密钥发送给第二实例,以使第二实例通过所述加密密钥对加密后的所述会话密钥进行解密,得到所述会话密钥。
通过加密密钥对会话密钥进行传输,保证了传输的会话密钥的保密性,避免被第三方获取会话密钥。
在一种实施方式中,所述第二实例在关联的可信执行环境内对加密后的所述会话密钥进行解密。
在一种实施方式中,所述第二实例将加密后的所述会话密钥发送给关联的可信执行环境,在可信执行环境内通过加密密钥进行解密,得到会话密钥并返回给所述第二实例。
在一种实施方式中,第一实例/第二实例关联的可信执行环境内生成会话密钥/加密密钥后,将会话密钥/加密密钥返回给第一实例/第二实例。
在一种实施方式中,第二实例关联的可信执行环境内生成加密密钥后,将加密密钥存储在可信执行环境内用于对加密后的会话密钥进行解密,并将解密后的会话密钥返回给第二实例。
本申请利用物理机的TEE实现安全预置根密钥,进而动态生成会话密钥,保证密钥交换过程的合规性;通过物理机预置的根密钥,动态生成会话密钥;避免使用AK,不需要考虑AK更新。
以物理机1承载的实例A和物理机2承载的实例B之间的密钥共享过程为例,对密钥共享方法的具体过程进行举例说明。所述具体流程如下:
物理机生产出厂时,在具有TEE能力的模块中写入预置的根密钥;在上线部署时,以人工方式将根密钥写入Key center,成为物理机和Key center之间的共享密钥。其中,在物理机1中预置根密钥Kr1,物理机2中预置Kr2,Kr1、Kr2同时保存在Key center中。
实例A发起与实例B的通信,消息中包括所在物理机1的ID以及时间戳;
实例B将实例A的物理机ID和自身的物理机ID发送到key center;
Key center通过物理机1的ID确定相应的Kr1,将其与实例B的ID值作为必要的输入参数生成会话密钥KAB,KAB=KDF(Kr1,IDB,[timestamp,…]);
Key center以物理机2的Kr2、实例B的ID作为必要的输入参数生成加密密钥KB,KB=KDF(Kr2,IDB,[timestamp,…],…);
使用KB加密KAB得到{KAB}KB并返回给实例B;
实例B调用物理机2的密码模块;密码模块通过物理机2的Kr2、实例B的ID等输入参数生成密钥KB,实例B使用KB解密{KAB}KB解密得KAB;
实例A调用物理机的密码模块,提供实例B的ID值作为必要的输入参数;物理机的密码模块生成会话密钥KAB,KAB=KDF(Kr1,IDB,[timestamp,…])并返回给实例A;
实例A和实例B使用会话密钥进行加密通信。
本申请实施例提供了一种密钥共享装置,用于执行本申请上述内容所述的密钥共享方法,以下对所述密钥共享装置进行详细描述。
如图7所示,所述密钥共享装置,包括:
根密钥确定模块101,其用于响应于接收的密钥请求,密钥管理设备通过所述密钥请求中的标识信息确定预先写入的第一根密钥和第二根密钥,所述第一根密钥同时预先写入第一实例关联的可信执行环境内,所述第二根密钥同时预先写入第二实例关联的可信执行环境内;
密钥生成模块102,其用于通过预设的生成策略,生成基于所述第一根密钥的会话密钥和基于所述第二根密钥的加密密钥;所述生成策略还预设在第一实例和第二实例关联的可信执行环境内,以分别在第一实例和第二实例关联的可信执行环境内生成所述会话密钥和所述加密密钥;
密钥发送模块103,其用于通过所述加密密钥将所述会话密钥发送给第二实例,以使第二实例获取所述会话密钥。
在一种实施方式中,所述装置还包括:
通信模块(图中未画出),其用于第一实例与第二实例通过所述会话密钥进行加密通信。
在一种实施方式中,所述密钥请求中的标识信息包括用于关联所述第一根密钥的第一标识和用于关联所述第二根密钥的第二标识,根密钥确定模块101还用于:
获取记录有标识与根密钥的关联关系的映射表;根据所述映射表确定所述第一标识关联的所述第一根密钥和所述第二标识关联的所述第二根密钥。
在一种实施方式中,所述密钥请求还包括用于标识第二实例的实例标识和扩展参数;密钥生成模块102还用于:
根据预设的所述生成策略,通过所述实例标识、所述扩展参数和所述第一根密钥,生成所述会话密钥;根据预设的所述生成策略,通过所述实例标识、所述扩展参数和所述第二根密钥,生成所述加密密钥。
在一种实施方式中,密钥生成模块102还用于:
所述密钥请求由第二实例接收到第一实例发送的第一标识和扩展参数的情况下向密钥管理设备发送。
在一种实施方式中,密钥生成模块102还用于:
第二实例接收到第一实例发送的第一标识和扩展参数后,在关联的可信执行环境内,根据与所述密钥管理设备相同的所述生成策略,通过所述扩展参数、预设的实例标识和所述第二根密钥,生成所述加密密钥。
在一种实施方式中,密钥生成模块102还用于:
第一实例生成所述扩展参数并向第二实例发送所述第一标识和所述扩展参数的情况下,获取第二实例的实例标识,在关联的可信执行环境内,根据与所述密钥管理设备相同的所述生成策略,通过所述实例标识、所述扩展参数和第一根密钥,生成所述会话密钥。
在一种实施方式中,密钥发送模块103还用于:
通过所述加密密钥对所述会话密钥进行加密;将加密后的所述会话密钥发送给第二实例,以使第二实例通过所述加密密钥对加密后的所述会话密钥进行解密,得到所述会话密钥。
在一种实施方式中,密钥发送模块103还用于:
所述第二实例在关联的可信执行环境内对加密后的所述会话密钥进行解密。
本申请的上述实施例提供的密钥共享装置与本申请实施例提供的密钥共享方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
以上描述了密钥共享装置的内部功能和结构,如图8所示,实际中,该密钥共享装置可实现为控制设备,包括:存储器301及处理器303。
存储器301,可被配置为存储程序。
另外,存储器301,还可被配置为存储其它各种数据以支持在控制设备上的操作。这些数据的示例包括用于在控制设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器301可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器303,耦合至存储器301,用于执行存储器301中的程序,以用于:
响应于接收的密钥请求,密钥管理设备通过所述密钥请求中的标识信息确定预先写入的第一根密钥和第二根密钥,所述第一根密钥同时预先写入第一实例关联的可信执行环境内,所述第二根密钥同时预先写入第二实例关联的可信执行环境内;
通过预设的生成策略,生成基于所述第一根密钥的会话密钥和基于所述第二根密钥的加密密钥;所述生成策略还预设在第一实例和第二实例关联的可信执行环境内,以分别在第一实例和第二实例关联的可信执行环境内生成所述会话密钥和所述加密密钥;
通过所述加密密钥将所述会话密钥发送给第二实例,以使第二实例获取所述会话密钥。
在一种实施方式中,处理器303具体用于:
第一实例与第二实例通过所述会话密钥进行加密通信。
在一种实施方式中,所述密钥请求中的标识信息包括用于关联所述第一根密钥的第一标识和用于关联所述第二根密钥的第二标识,处理器303具体用于:
获取记录有标识与根密钥的关联关系的映射表;根据所述映射表确定所述第一标识关联的所述第一根密钥和所述第二标识关联的所述第二根密钥。
在一种实施方式中,所述密钥请求还包括用于标识第二实例的实例标识和扩展参数;处理器303具体用于:
根据预设的所述生成策略,通过所述实例标识、所述扩展参数和所述第一根密钥,生成所述会话密钥;根据预设的所述生成策略,通过所述实例标识、所述扩展参数和所述第二根密钥,生成所述加密密钥。
在一种实施方式中,处理器303具体用于:
所述密钥请求由第二实例接收到第一实例发送的第一标识和扩展参数的情况下向密钥管理设备发送。
在一种实施方式中,处理器303具体用于:
第二实例接收到第一实例发送的第一标识和扩展参数后,在关联的可信执行环境内,根据与所述密钥管理设备相同的所述生成策略,通过所述扩展参数、预设的实例标识和所述第二根密钥,生成所述加密密钥。
在一种实施方式中,处理器303具体用于:
第一实例生成所述扩展参数并向第二实例发送所述第一标识和所述扩展参数的情况下,获取第二实例的实例标识,在关联的可信执行环境内,根据与所述密钥管理设备相同的所述生成策略,通过所述实例标识、所述扩展参数和第一根密钥,生成所述会话密钥。
在一种实施方式中,处理器303具体用于:
通过所述加密密钥对所述会话密钥进行加密;将加密后的所述会话密钥发送给第二实例,以使第二实例通过所述加密密钥对加密后的所述会话密钥进行解密,得到所述会话密钥。
在一种实施方式中,处理器303具体用于:
所述第二实例在关联的可信执行环境内对加密后的所述会话密钥进行解密。
本申请中,图8中仅示意性给出部分组件,并不意味着控制设备只包括图8所示组件。
本实施例提供的控制设备,与本申请实施例提供的密钥共享方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
本申请还提供一种与前述实施方式所提供的密钥共享方法对应的计算机可读存储介质,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施方式所提供的密钥共享方法。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的密钥共享方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
需要说明的是,在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的结构和技术,以便不模糊对本说明书的理解。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (12)
1.一种密钥共享方法,其特征在于,包括:
响应于接收的密钥请求,密钥管理设备通过所述密钥请求中的标识信息确定预先写入的第一根密钥和第二根密钥,所述第一根密钥同时预先写入第一实例关联的可信执行环境内,所述第二根密钥同时预先写入第二实例关联的可信执行环境内;
通过预设的生成策略,生成基于所述第一根密钥的会话密钥和基于所述第二根密钥的加密密钥;所述生成策略还预设在第一实例和第二实例关联的可信执行环境内,以分别在第一实例和第二实例关联的可信执行环境内生成所述会话密钥和所述加密密钥;
通过所述加密密钥将所述会话密钥发送给第二实例,以使第二实例获取所述会话密钥。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
第一实例与第二实例通过所述会话密钥进行加密通信。
3.根据权利要求1或2所述的方法,其特征在于,所述密钥请求中的标识信息包括用于关联所述第一根密钥的第一标识和用于关联所述第二根密钥的第二标识,所述密钥管理设备通过所述密钥请求中的标识信息确定预先写入的第一根密钥和第二根密钥,包括:
获取记录有标识与根密钥的关联关系的映射表;
根据所述映射表确定所述第一标识关联的所述第一根密钥和所述第二标识关联的所述第二根密钥。
4.根据权利要求3所述的方法,其特征在于,所述密钥请求还包括用于标识第二实例的实例标识和扩展参数;所述通过预设的生成策略,生成基于所述第一根密钥的会话密钥和基于所述第二根密钥的加密密钥,包括:
根据预设的所述生成策略,通过所述实例标识、所述扩展参数和所述第一根密钥,生成所述会话密钥;
根据预设的所述生成策略,通过所述实例标识、所述扩展参数和所述第二根密钥,生成所述加密密钥。
5.根据权利要求1或2所述的方法,其特征在于,所述响应于接收的密钥请求中,所述密钥请求由第二实例接收到第一实例发送的第一标识和扩展参数的情况下向密钥管理设备发送。
6.根据权利要求5所述的方法,其特征在于,第二实例接收到第一实例发送的第一标识和扩展参数后,在关联的可信执行环境内,根据与所述密钥管理设备相同的所述生成策略,通过所述扩展参数、预设的实例标识和所述第二根密钥,生成所述加密密钥。
7.根据权利要求5所述的方法,其特征在于,第一实例生成所述扩展参数并向第二实例发送所述第一标识和所述扩展参数的情况下,获取第二实例的实例标识,在关联的可信执行环境内,根据与所述密钥管理设备相同的所述生成策略,通过所述实例标识、所述扩展参数和第一根密钥,生成所述会话密钥。
8.根据权利要求1或2所述的方法,其特征在于,所述通过所述加密密钥将所述会话密钥发送给第二实例,以使第二实例获取所述会话密钥,包括:
通过所述加密密钥对所述会话密钥进行加密;
将加密后的所述会话密钥发送给第二实例,以使第二实例通过所述加密密钥对加密后的所述会话密钥进行解密,得到所述会话密钥。
9.根据权利要求8所述的方法,其特征在于,所述第二实例在关联的可信执行环境内对加密后的所述会话密钥进行解密。
10.一种密钥共享装置,其特征在于,包括:
根密钥确定模块,其用于响应于接收的密钥请求,密钥管理设备通过所述密钥请求中的标识信息确定预先写入的第一根密钥和第二根密钥,所述第一根密钥同时预先写入第一实例关联的可信执行环境内,所述第二根密钥同时预先写入第二实例关联的可信执行环境内;
密钥生成模块,其用于通过预设的生成策略,生成基于所述第一根密钥的会话密钥和基于所述第二根密钥的加密密钥;所述生成策略还预设在第一实例和第二实例关联的可信执行环境内,以分别在第一实例和第二实例关联的可信执行环境内生成所述会话密钥和所述加密密钥;
密钥发送模块,其用于通过所述加密密钥将所述会话密钥发送给第二实例,以使第二实例获取所述会话密钥。
11.一种控制设备,其特征在于,包括:存储器和处理器;
所述存储器,其用于存储程序;
所述处理器,耦合至所述存储器,用于执行所述程序,以用于:
响应于接收的密钥请求,密钥管理设备通过所述密钥请求中的标识信息确定预先写入的第一根密钥和第二根密钥,所述第一根密钥同时预先写入第一实例关联的可信执行环境内,所述第二根密钥同时预先写入第二实例关联的可信执行环境内;
通过预设的生成策略,生成基于所述第一根密钥的会话密钥和基于所述第二根密钥的加密密钥;所述生成策略还预设在第一实例和第二实例关联的可信执行环境内,以分别在第一实例和第二实例关联的可信执行环境内生成所述会话密钥和所述加密密钥;
通过所述加密密钥将所述会话密钥发送给第二实例,以使第二实例获取所述会话密钥。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行实现权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210323853.3A CN114884651A (zh) | 2022-03-30 | 2022-03-30 | 一种密钥共享方法、装置、控制设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210323853.3A CN114884651A (zh) | 2022-03-30 | 2022-03-30 | 一种密钥共享方法、装置、控制设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114884651A true CN114884651A (zh) | 2022-08-09 |
Family
ID=82669411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210323853.3A Pending CN114884651A (zh) | 2022-03-30 | 2022-03-30 | 一种密钥共享方法、装置、控制设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114884651A (zh) |
-
2022
- 2022-03-30 CN CN202210323853.3A patent/CN114884651A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3761588B1 (en) | Data access rights control method and device | |
TWI744371B (zh) | 資料儲存方法、資料獲取方法、裝置及系統 | |
US20190089527A1 (en) | System and method of enforcing a computer policy | |
DK1556992T3 (en) | Safety performance and use of device-specific safety data | |
US8724819B2 (en) | Credential provisioning | |
CN105471833A (zh) | 一种安全通讯方法和装置 | |
TWI791050B (zh) | 資料傳輸方法及系統 | |
WO2022141574A1 (en) | Key provisioning method and related products | |
JP2010514000A (ja) | 電子装置にプログラム状態データをセキュアに記憶するための方法 | |
WO2018053844A1 (zh) | 安全认证方法、集成电路及系统 | |
WO2022223036A1 (zh) | 一种加密数据共享的方法、装置、设备及可读介质 | |
CN111191217A (zh) | 一种密码管理方法及相关装置 | |
US11640480B2 (en) | Data message sharing | |
EP3720042B1 (en) | Method and device for determining trust state of tpm, and storage medium | |
CN116132043B (zh) | 会话密钥协商方法、装置及设备 | |
CN114338091B (zh) | 数据传输方法、装置、电子设备及存储介质 | |
TW202010287A (zh) | 終端與伺服器的通訊方法和裝置 | |
WO2022227799A1 (zh) | 设备注册方法及装置、计算机设备、存储介质 | |
JP5745493B2 (ja) | 鍵共有システム、鍵共有方法、プログラム | |
CN114884651A (zh) | 一种密钥共享方法、装置、控制设备及可读存储介质 | |
EP4016921A1 (en) | Certificate management method and apparatus | |
WO2022178890A1 (zh) | 一种密钥的传输方法和装置 | |
US11968302B1 (en) | Method and system for pre-shared key (PSK) based secure communications with domain name system (DNS) authenticator | |
WO2024041177A1 (zh) | 验证接入请求的方法、用户终端和基站 | |
US20230370270A1 (en) | Anti-cloning architecture for device identity provisioning |
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 |