一种云端的机密虚拟机的访问方法及装置与流程
本发明涉及网络安全,尤其涉及一种云端的机密虚拟机的访问方法及装置。
背景技术:
1、随着企业数字化转型的深入,越来越多的核心业务系统及高价值敏感数据迁移至公有云平台。在现有的机密计算技术中,通过在cpu硬件内部划定隔离的可信执行环境(tee),即使是拥有最高权限的虚拟机监视器hypervisor也无法直接读取机密虚拟机的内存。
2、然而,当租户需要通过网络远程登录并管理这些机密虚拟机时,会存在被中间人劫持,而无法确保用户确实是在与机密虚拟机建立连接的问题。
3、因此,如何在不可信的基础设施环境下,避免用户与机密虚拟机之间的通信被中间人劫持,是目前亟需解决的问题。
技术实现思路
1、本发明实施例提供一种云端的机密虚拟机的访问方法及装置,用于在用户端与云端的机密虚拟机连接时用户端仅需基于验证签发中心生成的认证公钥验证机密虚拟机的信任证书即可完成机密虚拟机的验证。并且,机密虚拟机的信任证书是机密虚拟机发起硬件级的认证请求,再由验证签发中心验证安全后基于验证签发中心生成的认证私钥生成的,且验证签发中心是与用户端互相信任的,以此避免了用户与机密虚拟机之间的通信被中间人劫持。
2、第一方面,本发明实施例提供一种云端的机密虚拟机的访问方法,该方法应用于用户端。包括:
3、向机密虚拟机发起连接申请,并接收所述机密虚拟机的用户端信任证书,所述用户端信任证书是所述机密虚拟机向验证签发中心发起认证请求,并在所述验证签发中心对认证请求验证通过后生成的,所述验证签发中心是布置在受控安全域中,与用户端之间是可信的;
4、基于认证公钥对所述用户端信任证书中的第一签名进行验签,所述第一签名是所述验证签发中心基于认证私钥对临时公钥和证书失效时间进行签名后得到的,所述认证私钥和认证公钥是由所述验证签发中心生成的认证密钥对中的私钥和公钥;
5、若验签通过,且当前时间没有超出所述证书失效时间,则基于所述临时公钥与所述机密虚拟机完成密钥协商,并建立与所述机密虚拟机之间的加密通信隧道。
6、上述技术方案中,在用户端与机密虚拟机建立连接时,无需单独对机密虚拟机进行认证,只需要对机密虚拟机的用户端信任证书进行验证。并且,由于发放用户端信任证书的验证签发中心是布置在受控安全域中的,与用户端之间是可信的,因此中间人无法获取用户端信任证书生成时所使用的认证私钥,也就无法对机密虚拟机的用户端信任证书进行篡改,无须担心在不可信的基础设施环境下,用户与机密虚拟机之间的通信被中间人劫持的问题。
7、可选的,向机密虚拟机发起连接申请之前,所述方法还包括:
8、向验证签发中心发送验证请求,并接收所述验证签发中心的认证公钥;
9、基于所述认证公钥生成认证指令,以基于所述认证公钥对机密虚拟机进行信任验证。
10、上述技术方案中,用户端会从验证签发中心处获取认证公钥,用于对验证签发中心颁发的机密虚拟机的用户端信任证书进行验证,而无需由用户端对机密虚拟机进行验证,避免了通信被篡改的可能性。
11、可选的,所述机密虚拟机的认证请求中包括机密虚拟机的标识、临时公钥、机密虚拟机的认证报告和第二签名,所述机密虚拟机的认证报告中包括第一摘要值和机密虚拟机的启动度量值,所述临时公钥是所述机密虚拟机生成的临时密钥对中的公钥,所述第二签名是所述机密虚拟机调用机密虚拟机依托的可信执行环境基于背书私钥对所述认证报告进行签名得到的,所述第一摘要值是所述机密虚拟机对所述临时公钥进行摘要计算得到的,所述启动度量值是所述机密虚拟机调用机密虚拟机依托的可信执行环境基于机密虚拟机的属性信息生成的。
12、上述技术方案中,云端的机密虚拟机会调用机密虚拟机依托的可信执行环境基于机密虚拟机的属性信息生成启动度量值。由于启动度量值是机密虚拟机依托的可信执行环境生成的,因此即使机密虚拟机被篡改,也不会产生虚假的启动度量值。然后会将动态生成的临时密钥对中的公钥进行哈希运算,得到摘要值,并将启动度量值和摘要值作为认证报告。由底层硬件的背书私钥对认证报告进行签名,并发送给用户端的验证签发中心,以在验证签发中心认证通过后发放用户端信任证书。实现了将硬件层隔离信任延伸至应用层网络通信协议。在不可信的云计算基础设施中,即便恶意 hypervisor 拦截替换了通信公钥原文,由于其缺乏硬件底层的私钥,无法伪造签名。从而阻断 ssh 初始化连接阶段中间人攻击,保证了租户运维通道的安全性。
13、可选的,所述用户端信任证书是验证签发中心基于背书公钥、根公钥证书链、基准度量值数据库和临时公钥的摘要值对机密虚拟机发送的认证请求中的启动度量值、第一摘要值和第二签名验证通过后,基于认证私钥对证书失效时间和临时公钥进行签名后生成的,所述证书失效时间是所述验证签发中心基于认证请求的验证通过时间和证书有效时长确定的。
14、上述技术方案中,验证签发中心在接收到云端的机密虚拟机发送的认证请求后,会基于背书公钥、根公钥证书链、基准度量值数据库和临时公钥的摘要值对机密虚拟机发送的认证请求中的启动度量值、第一摘要值和第二签名进行验证。并在验证通过后,基于认证私钥对证书失效时间和临时公钥进行签名后生成用户端信任证书。用户端即可基于验证签发中心的认证公钥与机密虚拟机进行本地无交互验签。从而阻断 ssh 初始化连接阶段中间人攻击,保证了租户运维通道的安全性。
15、第二方面,本发明实施例提供一种云端的机密虚拟机的访问方法,该方法应用于云端的机密虚拟机,机密虚拟机依托于云端的可信执行环境中,包括:
16、获取用户端发起的连接申请;
17、响应于连接申请将用户端信任证书发送给所述用户端,并在所述用户端对用户端信任证书验证通过后,基于临时公钥与所述用户端完成密钥协商,并建立与所述用户端之间的加密通信隧道,所述用户端信任证书是所述机密虚拟机向验证签发中心发起认证请求,并在所述验证签发中心对认证请求验证通过后生成的,所述验证签发中心是布置在受控安全域中,与用户端之间是可信的,所述临时公钥是所述机密虚拟机生成的临时密钥对中的公钥。
18、上述技术方案中,在用户端与机密虚拟机建立连接时,机密虚拟机会将用户端信任证书发送给用户端进行认证,无需单独对机密虚拟机进行认证,只需要对机密虚拟机的用户端信任证书进行验证。并且,由于发放用户端信任证书的验证签发中心是布置在受控安全域中的,与用户端之间是可信的,因此中间人无法获取用户端信任证书生成时所使用的认证私钥,也就无法对机密虚拟机的用户端信任证书进行篡改,无须担心在不可信的基础设施环境下,用户与机密虚拟机之间的通信被中间人劫持的问题。
19、可选的,所述用户端信任证书是所述机密虚拟机向验证签发中心发起认证请求,并在所述验证签发中心对认证请求验证通过后生成的,包括:
20、调用所述机密虚拟机依托的可信执行环境对机密虚拟机的初始固件、内核镜像和初始化状态进行加密哈希计算,得到启动度量值;
21、基于随机密钥生成算法生成临时密钥对,并对临时密钥对中的临时公钥进行摘要计算,得到第一摘要值;
22、调用机密虚拟机依托的可信执行环境基于所述第一摘要值、所述启动度量值和机密虚拟机的配置信息生成认证报告,并基于背书私钥生成所述认证报告的第二签名;所述背书私钥为所述机密虚拟机依托的可信执行环境中硬件级不可导出的私钥;
23、将机密虚拟机的标识、所述临时公钥、所述认证报告和所述第二签名作为认证请求发送给验证签发中心进行验证;
24、并接收所述验证签发中心基于背书公钥、根公钥证书链、基准度量值数据库和临时公钥的摘要值对认证请求中的启动度量值、第一摘要值和第二签名验证通过后,基于认证私钥对机密虚拟机的标识、证书失效时间和临时公钥进行签名后生成的用户端信任证书;所述证书失效时间是所述验证签发中心基于认证请求的验证通过时间和证书有效时长确定的。
25、上述技术方案中,云端的机密虚拟机会调用机密虚拟机依托的可信执行环境对机密虚拟机的初始固件、内核镜像和初始化状态进行加密哈希计算生成启动度量值。由于启动度量值是机密虚拟机依托的可信执行环境生成的,因此即使机密虚拟机被篡改,也不会产生虚假的启动度量值。然后会将动态生成的临时密钥对中的公钥进行哈希运算,得到摘要值,并将启动度量值和摘要值作为认证报告。由底层硬件的背书私钥对认证报告进行签名,并发送给用户端的验证签发中心,以在验证签发中心认证通过后发放用户端信任证书。实现了将硬件层隔离信任延伸至应用层网络通信协议。在不可信的云计算基础设施中,即便恶意 hypervisor 拦截替换了通信公钥原文,由于其缺乏硬件底层的私钥,无法伪造签名。从而阻断 ssh 初始化连接阶段中间人攻击,保证了租户运维通道的安全性。
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、第七方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括可执行程序,该可执行程序被处理器执行上述的云端的机密虚拟机的访问方法。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com