本发明专利技术涉及一种在虚拟化环境中保护根CA证书的方法和系统。该方法在宿主机上设置根CA证书安全管理器,其内存储根证书列表,并通过只读接口为客户虚拟机提供根证书服务;客户虚拟机进行证书验证时,向根CA证书安全管理器提出证书服务请求,根CA证书安全管理器响应该请求并向客户虚拟机提供证书服务。本发明专利技术的虚拟的根证书列表具有以下特点:通过只读的接口为客户虚拟机提供根证书服务;将根证书列表从客户虚拟机中隔离出来;客户虚拟机对根证书列表的访问只能以Read Only的方式进行,所有对根CA证书的配置修改只能在宿主机中通过操作接口访问根CA证书安全管理器来完成;客户虚拟机灵活选择验证证书的方式。
【技术实现步骤摘要】
一种在虚拟化环境中保护根CA证书的方法与系统
本专利技术涉及计算机安全领域,特别涉及一种在虚拟化环境中保护根CA证书的方法和系统。
技术介绍
公钥基础设施(PKI:PublicKeyInfrastructure))在公开密钥密码的基础上,主要解决密钥属于谁,即密钥认证的问题。公钥密码技术的出现使得网络上的数字签名有了理论上的安全保障,PKI以CA(证书认证中心)签发数字证书的方式,来实现密钥认证的服务,也就是发布公钥属于谁的信息。通过数字证书,PKI很好地证明了公钥属于谁的问题。CA作为第三方的数字认证中心,是PKI系统中通信双方都信任的实体,由它负责签发数字证书。一个数字证书(简称证书)中绑定了公钥数据和相应私钥拥有者的身份信息,并带有CA的数字签名(简称签名)。CA的签名,保证了对于数字证书的任意更改,都会验证不通过。证书中也包含有CA的名称等信息,以便于依赖方找到CA的公钥和验证证书上的数字签名。数字证书在签发的过程中,可以是多个层次的,即最上层CA作为根CA负责用自己的私钥为下级CA签发证书。下级CA同样可以向下为CA签发证书,直到最底层CA用自己的私钥为用户签发数字证书。在这个过程中,所有的中间层次的CA(称为子CA)同普通用户一样拥有一个上级CA签发的证书。最上层的根CA拥有一个自签名证书,称为“根CA自签名证书”,简称为根CA证书。根CA证书中包括了根CA的公钥和身份信息,并使用根CA自己的私钥来计算上述信息的数字签名。根CA证书与其他各层次的证书共同组成一个证书链。证书链可以只有两级,此时根CA直接为用户签发数字证书。为了验证数字证书上的信息没有被恶意篡改、以正确地获得通信对方的公钥,PKI用户端需进行以下步骤(1):首先,安全地获得根CA自签名证书,保证来自于根CA且传递过程没有被篡改,并安装在自己的计算机系统上;(2):逐层验证证书,首先审查待验证的数字证书是否有效,如查看有效期(以及撤销状态、证书扩展等);(3):然后获取该证书的签发者的数字证书,拿到签发者证书后,查看该证书的签发者信息,再获取该证书的签发者的数字证书,逐层获取签发者证书;(4):直到获取根CA证书,由于是根CA证书是自签名证书,不需要其他证书来验证根CA证书的签名,对根CA证书只需查看有效期;(5):用根CA证书中的公钥验证其所签发的下层签发者CA的证书上的签名,确信该证书没有被篡改,然后从证书读取公钥数据,并同时检查下层签发者CA的数字证书是否有效,如查看其有效期(以及撤销状态、证书扩展等);(6):再同样的用下层签发者CA的公钥验证其下一层证书上的签名,并检查其下层数字证书是否有效。逐层进行,直到验证完通信对方的数字证书,从证书中读出公钥数据,确认了证书持有者的公钥。至此PKI用户方可利用通信对方的数字证书上的公钥加密通信内容或利用其公钥验证数字签名等。在上述验证数字证书的步骤中,所有参与验证的中间签发者CA及通信方的数字证书都经过了上层签发者公钥的验证、能够保证没有被篡改,只有根CA自签名证书作为数字证书验证过程中的起点没有被其他的可信数据来验证。一旦用户选择信任该根CA自签名证书,则该根CA利用所对应的私钥来签发的所有证书都将被信任。因此,根CA自签名证书必须从可信的途径获取,而且在用户的计算机上应该被妥善地保存、不会被恶意地替换或添加;否则可能会给用户造成危害,如一个恶意的攻击者可以将一个自签发的根CA证书插入到用户的根CA证书列表中,那么这个攻击者就可以对该用户发起攻击,如用户访问一个拥有该根CA证书签发的数字证书的钓鱼网站,用户使用该根CA公钥验证数字证书上的数字签名通过后,会信任该钓鱼网站,而用户在钓鱼网站上进行个人账号密码的输入等信息都可能被窃取,造成损失。在现有的操作系统中,例如Windows,根CA自签名证书列表由操作系统维护;安装根CA自签名证书,需要经过用户的同意。然而,很多情况下,用户不了解一个根CA证书的添加给系统所带来的影响,可能随意地允许添加根CA证书;而且,在实际环境中,各种原因都可能造成根CA自签名证书被伪造、添加、恶意利用等,如CA管理员的疏忽、不当的软件实现、渗透攻击等。例如,恶意第三方可以通过多种方法使得在用户不知情的状态下,偷偷添加恶意根CA自签名证书,如:通过病毒、特洛伊木马、甚至一个简单的脚本。一旦成功添加恶意的根CA自签名证书,那么以该证书为起点的证书链所能够验证的所有数字签名,例如:请求安装于用户计算机的恶意代码的数字签名、恶意方发起的同用户进行通信时使用的数字证书等都将被信任。此时恶意代码在用户计算机可以发起攻击,如窃取用户隐私数据等,恶意方伪装身份同用户进行通信等,会对用户造成很大的危害,所以根CA证书的安全性尤为重要。随着AMD和Intel相继推出支持硬件虚拟化的产品,虚拟化技术得到广泛应用。企业利用虚拟化,可以减少资金成本、降低空间需求、提高可用性、提升业务的灵活适应力、提高安全性。通过虚拟化技术,可以在同一份物理计算机上运行多个客户虚拟机(VirtualMachine,简称VM),此时物理计算机称为宿主机。虚拟化隔离了客户虚拟机,提供了另一层次的软件隔离,这使得即使暴露于Internet的客户虚拟机被攻击和感染,也不会对整个虚拟化平台的安全性造成威胁,更不能威胁其他的客户虚拟机。虚拟化平台一个重要的组成部分是虚拟机监控器(VirtualMachineMonitor,VMM),它的主要作用是管理宿主机的资源,以使在其之上运行的客户虚拟机可以共享同一套主机的资源。
技术实现思路
本专利技术提供一种在虚拟化环境中保护根CA证书的方法和系统,通过根CA证书安全管理器管理宿主机上可用的根CA证书资源,管理每个客户虚拟机对根CA证书列表的访问;根CA安全证书管理器在客户虚拟机之外,作为一个虚拟设备用来管理和检查客户虚拟机的证书验证服务请求行为。本专利技术的根CA证书安全管理器可以在基于Xen的虚拟化系统实现,也可以在基于VMwareESX/ESXi和Hyper-V的虚拟化系统实现,还可以在基于KVM-QEMU的虚拟化系统中实现。本专利技术采用根CA证书安全管理器实现了在虚拟化环境中为客户虚拟机提供根CA证书验证服务。在根CA证书安全管理器中存储根CA证书列表文件。上层的客户虚拟机不再存储根CA证书列表,上层的客户虚拟机只能够以只读的方式从根CA证书安全管理器获取根CA证书列表。对根CA证书列表进行配置时,只能通过宿主机提供的操作接口在根CA证书安全管理器上完成。根CA证书安全管理器运行在VMM中。本专利技术通过把根CA证书列表作为虚拟化资源的一部分,在虚拟化环境中为客户虚拟机提供根CA证书验证服务,而该根CA证书列表在客户虚拟机看来就是属于自己的一个标准的根CA证书列表,但由根CA证书安全管理器管理。在根CA证书安全管理器中设有配置文件夹,该文件夹内为每个客户虚拟机设有一个配置文件,用于配置管理每个客户虚拟机可以访问的根证书列表信息等。客户虚拟机可以选择请求根CA证书安全管理器完成证书的验证;也可以选择请求根CA证书安全管理器提供所需的根CA证书,此时根CA证书安全管理器会向客户虚拟机发送根CA证书信息,客户虚拟机以只读的方式获取相应根CA证书信息,客户虚拟机自己完成证本文档来自技高网...
【技术保护点】
一种在虚拟化环境中保护根CA证书的方法,其步骤包括:1)在宿主机上设置根CA证书安全管理器,该根CA证书安全管理器运行于宿主机上的虚拟机监控器中,其内存储根CA证书列表,根CA证书安全管理器通过只读接口为客户虚拟机提供根CA证书验证服务,客户虚拟机以只读方式访问根CA证书安全管理器存储的根CA证书列表;2)客户虚拟机进行证书验证时,向根CA证书安全管理器提出证书验证服务请求,根CA证书安全管理器响应该请求并向客户虚拟机提供证书验证服务。
【技术特征摘要】
1.一种在虚拟化环境中保护根CA证书的方法,其步骤包括:1)在宿主机上设置根CA证书安全管理器,该根CA证书安全管理器运行于宿主机上的虚拟机监控器中,其内存储根CA证书列表,根CA证书安全管理器通过只读接口为客户虚拟机提供根CA证书验证服务,客户虚拟机以只读方式访问根CA证书安全管理器存储的根CA证书列表;2)客户虚拟机进行证书验证时,向根CA证书安全管理器提出证书验证服务请求,根CA证书安全管理器响应该请求并向客户虚拟机提供证书验证服务。2.如权利要求1所述的方法,其特征在于:客户虚拟机在向根CA证书安全管理器提出证书验证服务请求时选择证书验证方式,进而由根CA证书安全管理器采用下列方式之一提供相应的服务:a)客户虚拟机选择由根CA证书安全管理器验证证书的方式,进而根CA证书安全管理器利用客户虚拟机所对应的根CA证书来验证客户虚拟机发送来的被验证的证书,并将结果通过证书验证接口返回给客户虚拟机;b)客户虚拟机选择从根CA证书安全管理器读取证书的方式,进而根CA证书安全管理器将客户虚拟机所需根CA证书信息通过只读接口传递给客户虚拟机,由客户虚拟机完成证书的验证。3.如权利要求1所述的方法,其特征在于:在需要配置根CA证书列表文件时,包括增加、删除、设定各个客户虚拟机所用的根CA证书列表,只能在宿主机的根CA证书安全管理器上通过提供的操作接口进行相应配置。4.如权利要求1所述的方法,其特征在于:客户虚拟机通过其与所述根CA证书安全管理器间的安全虚拟通信信道向所述根CA证书安全管理器提出证书验证服务请求。5.如权利要求1所述的方法,其特征在于:所述根CA证书安全管理器基于Xen的虚拟化系统实现,或者基于VMwareESX/ESXi和Hyper-V的虚拟化系统实现,或者基于KVM-QEMU的虚拟化系统实现。6.如权利要求5所述的方法,其特征在于:所述根CA证书安全管理器基于KVM-QEMU的虚拟化系统实现,采用Virtio技术结合QEMU技术完成根CA证书安全管理器和客户虚拟机之间证书验证服务请求和结果的传递。7.如权利要求6所述的方法,其特征在于:...
【专利技术属性】
技术研发人员:林璟锵,荆继武,管乐,李冰雨,汪婧,潘无穷,王跃武,
申请(专利权)人:中国科学院信息工程研究所,中国科学院数据与通信保护研究教育中心,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。