本技术涉及云原生,特别是涉及一种密钥分发方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术:
1、随着互联网和信息技术的快速发展,保护数据的真实性和安全性成为了社会日益关注的话题。
2、目前,各大企业与外部机构的通信通常涉及端到端的报文认证,并基于pki(public key infrastructure,公开密钥基础设施)体系实现通讯报文的防篡改和防抵赖。然而,企业内通常是不同的业务场景分散使用一套签名服务器和密码机,若产生新业务,需要另外采购新的签名服务器。
3、上述密钥管理方案,由于签名密钥数量多且分散,难以管理,使得密钥数据安全性难以保障。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够提高密钥数据安全性的密钥分发方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
2、第一方面,本技术提供了一种密钥分发方法,应用于构建有可信执行环境的容器集群管理平台中的主节点。所述方法包括:
3、接收容器集群管理平台的工作节点通过安全信道发送的业务私钥获取请求,业务私钥获取请求携带工作节点的身份凭证数据和业务服务方标识信息;
4、在根据身份凭证数据成功验证工作节点的身份的情况下,在可信执行环境中查找出与业务服务方标识信息对应的业务私钥密文;
5、通过安全信道将业务私钥密文发送至工作节点的可信执行环境,以使工作节点在可信执行环境中对业务私钥密文进行解密得到业务私钥,并根据业务私钥进行签名。
6、接收容器集群管理平台的工作节点通过安全信道发送的业务私钥获取请求,业务私钥获取请求携带业务服务方标识信息以及身份凭证数据;
7、在根据身份凭证数据成功验证工作节点的身份的情况下,在可信执行环境中查找出与业务服务方标识信息对应的业务私钥密文;
8、通过安全信道将业务私钥密文发送至工作节点的可信执行环境,以使工作节点在可信执行环境中对业务私钥密文进行解密得到业务私钥,并根据业务私钥进行签名。
9、在其中一个实施例中,身份凭证数据包括由工作节点根据芯片厂商提供的私钥对原始报文摘要进行签名得到的第一数字签名;
10、根据身份凭证数据对工作节点进行身份验证包括:
11、获取芯片厂商提供的公钥;
12、根据公钥对第一数字签名进行验签,得到第一报文摘要;
13、若第一报文摘要与通过哈希算法生成的第二报文摘要一致,则判定工作节点通过身份验证。
14、在其中一个实施例中,身份凭证数据包括由工作节点根据芯片厂商提供的私钥对原始报文摘要进行签名得到的第一数字签名;
15、根据身份凭证数据对工作节点进行身份验证包括:
16、发送携带第一数字签名的签名验证请求至认证服务器;
17、接收认证服务器根据工作节点的公钥对第一数字签名进行验签得到的验证结果;
18、根据验证结果对工作节点进行身份验证。
19、在其中一个实施例中,方法还包括:
20、发送远程认证请求至工作节点;
21、接收工作节点发送的可信证明数据,可信证明数据包括工作节点中的可信执行环境的度量值信息;
22、在度量值信息通过签名验证和信息验证的情况下,建立安全信道。
23、在其中一个实施例中,方法还包括:
24、接收工作节点通过安全信道发送的密钥创建请求,密钥创建请求携带业务服务方标识信息以及第二数字签名;
25、在第二数字签名验签成功的情况下,在可信执行环境中,创建与业务服务方标识信息对应的业务密钥,业务密钥包括业务私钥获取数据加密密钥,通过数据加密密钥加密业务私钥;
26、存储加密后的业务私钥,并建立加密后的业务私钥与业务服务方标识信息的关联关系。
27、在其中一个实施例中,通过数据加密密钥加密业务私钥之后,还包括:
28、获取密钥加密密钥;
29、通过密钥加密密钥对数据加密密钥进行加密,得到密文密钥,存储密文密钥。
30、在其中一个实施例中,创建与业务服务方标识信息对应的业务密钥包括:
31、调用第三方密钥管理服务,创建与业务服务方标识信息对应的业务密钥;
32、获取加密密钥包括:
33、发送数据加密密钥获取请求至第三方密钥管理服务;
34、接收第三方密钥管理服务反馈的随机生成的数据加密密钥;
35、获取密钥加密密钥包括:
36、发送密钥加密密钥获取请求至第三方密钥管理服务;
37、接收第三方密钥管理服务反馈的密钥加密密钥。
38、在其中一个实施例中,业务私钥包括复合业务私钥,复合业务私钥通过组合随机密钥和业务密钥得到,业务密钥基于业务服务方标识信息生成。
39、第二方面,本技术还提供了一种密钥分发装置,应用于构建有可信执行环境的容器集群管理平台中的主节点。所述装置包括:
40、请求接收模块,用于接收容器集群管理平台的工作节点通过安全信道发送的业务私钥获取请求,业务私钥获取请求携带工作节点的身份凭证数据和业务服务方标识信息;
41、数据处理模块,用于在根据身份凭证数据成功验证工作节点的身份的情况下,在可信执行环境中查找出与业务服务方标识信息对应的业务私钥密文;
42、数据发送模块,用于通过安全信道将业务私钥密文发送至工作节点的可信执行环境,以使工作节点在可信执行环境中对业务私钥密文进行解密得到业务私钥,并根据业务私钥进行签名。
43、在其中一个实施例中,身份凭证数据包括由工作节点根据芯片厂商提供的私钥对业务服务方标识信息进行签名得到的第一数字签名;
44、装置还包括身份验证模块,用于获取芯片厂商提供的公钥,根据公钥对第一数字签名进行验签,得到第一报文摘要,若第一报文摘要与通过哈希算法生成的第二报文摘要一致,则判定工作节点通过身份验证。
45、在其中一个实施例中,身份凭证数据包括由工作节点根据芯片厂商提供的私钥对业务服务方标识信息进行签名得到的第一数字签名;
46、装置还包括身份验证模块,用于发送携带第一数字签名的签名验证请求至认证服务器,接收认证服务器根据工作节点的公钥对第一数字签名进行验签得到的验证结果,根据验证结果对工作节点进行身份验证。
47、在其中一个实施例中,装置还包括远程认证模块,用于发送远程认证请求至工作节点,接收工作节点发送的可信证明数据,可信证明数据包括工作节点中的可信执行环境的度量值信息,在度量值信息通过签名验证和信息验证的情况下,建立安全信道。
48、在其中一个实施例中,装置还包括密钥管理模块,用于接收工作节点通过安全信道发送的密钥创建请求,密钥创建请求携带业务服务方标识信息以及第二数字签名,在第二数字签名验签成功的情况下,在可信执行环境中,创建与业务服务方标识信息对应的业务密钥,业务密钥包括业务私钥获取数据加密密钥,通过数据加密密钥加密业务私钥,存储加密后的业务私钥,并建立加密后的业务私钥与业务服务方标识信息的关联关系。
49、在其中一个实施例中,密钥管理模块还用于获取密钥加密密钥,通过密钥加密密钥对数据加密密钥进行加密,得到密文密钥,存储密文密钥。
50、在其中一个实施例中,密钥管理模块还用于调用第三方密钥管理服务,创建与业务服务方标识信息对应的业务密钥,发送数据加密密钥获取请求至第三方密钥管理服务,接收第三方密钥管理服务反馈的随机生成的数据加密密钥,发送密钥加密密钥获取请求至第三方密钥管理服务,接收第三方密钥管理服务反馈的密钥加密密钥。
51、第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述各密钥分发方法实施例中的步骤。
52、第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述各密钥分发方法实施例中的步骤。
53、第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各密钥分发方法实施例中的步骤。
54、上述密钥分发方法、装置、计算机设备、存储介质和计算机程序产品,提供了构建有可信执行环境的容器集群管理平台,平台中的主节点接收工作节点通过安全信道发送的业务私钥获取请求,然后,对工作节点进行身份验证,在成功验证工作节点的身份的情况下,在可信执行环境中查找出与业务服务方标识信息对应的业务私钥密文,再通过安全信道将业务私钥密文直接发送至工作节点的可信执行环境中,以使工作节点在可信执行环境中对业务私钥密文进行解密得到业务私钥,并根据业务私钥进行签名。整个方案,区别于传统的不同的业务方使用独立的签名服务器和密码机的做法,通过容器集群管理平台统一管理密钥数据,能够摈除对密码机和签名服务器等专用硬件设备的依赖,提供一体化的云原生签名服务,并且,通过在容器集群平台中的各个节点构建可信执行环境,在硬件中为敏感数据单独分配一块隔离内存,密钥数据的管理和加解密过程等敏感数据的处理均在可信执行环境中进行,能够提高密钥数据的安全性,并降低明文数据直接暴露在内存中被恶意窃取的风险,此外,通过在主节点和工作节点之间建立安全信道,能够提高数据传输过程的安全性。综上所述,采用本方案能够很大程度上提高密钥数据的安全性。