虚拟环境下的加密解密方法和物理服务器的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,特别是涉及一种虚拟环境下的加密解密方法和用于加密解密的物理服务器。
【背景技术】
[0002]随着计算机虚拟化技术的发展,企业的私有数据中心和共有云环境中,物理服务器都已经被虚拟化。物理服务器上直接运行Hypervisor ( 一种运行在物理服务器和操作系统之间的中间软件层),例如vmware exsi (物理服务器是在通用环境下分区和整合系统的虚拟主机软件。),微软的hyperv( —款虚拟化产品),开源的KVM(Kernel_based VirtualMachine,一个开源的系统虚拟化模块)等。这些Hypervisor上运行着多个虚拟机。虚拟机可以在不同的物理服务器上进行迀移。在虚拟环境下,原来由物理服务器来完成的加密解密操作,现在由虚拟机来完成。为了提升虚拟机的加密解密操作性能,需要在物理服务器上插入加密解密卡,通过加密解密卡来接替原来由物理服务器承担的SSL (Secure SocketsLayer,安全套接层)协议及加密解密运算负荷,也就是通过SSL卸载功能来提升虚拟机的加密解密操作性能。由于虚拟机可以在任意物理服务器上进行迀移,所以理论上需要在每台物理服务器上都插入加密解密密卡,这无疑会带来巨大的成本问题。在SSL卸载应用迀移至虚拟机时,如何实现既能有效提升虚拟机加密解密的操作性能又能有效控制成本是目前需要解决的一个技术问题。
【发明内容】
[0003]基于此,有必要针对上述技术问题,提供一种在SSL卸载应用迀移至虚拟机时,既能有效提升虚拟机加密解密的操作性能又能有效控制成本的虚拟环境下的加密解密方法和虚拟环境下用于加密解密的物理服务器。
[0004]—种虚拟环境下的加密解密方法,所述方法包括:
[0005]通过虚拟机接收客户端的加密或解密请求,所述加密或解密请求包括非对称加密或解密请求,所述加密或解密请求中携带了待操作数据;
[0006]通过所述虚拟机将所述非对称加密或解密请求发送至代理;
[0007]通过所述代理将所述非对称加密或解密请求发送至加密解密装置,以使得所述加密解密装置对所述待操作数据进行操作得到操作结果;
[0008]通过所述虚拟机接收所述加密解密装置返回的操作结果,并根据所述操作结果得到已加密或已解密数据;
[0009]通过所述虚拟机根据非对称加密请求将已加密数据返回至所述客户端或者通过所述虚拟机根据非对称解密请求对已解密数据进行处理。
[0010]在其中一个实施例中,所述加密或解密请求还包括对称加密或解密请求,所述通过虚拟机接收客户端的加密或解密请求的步骤之后还包括:
[0011]根据所述对称加密或解密请求通过所述虚拟机的本地处理器对所述待操作数据进行操作,得到已加密或已解密数据;
[0012]通过所述虚拟机根据对称加密请求将将已加密数据返回至所述客户端或者利用所述虚拟机根据对称解密请教对已解密数据进行处理。
[0013]在其中一个实施例中,在所述通过虚拟机接收客户端的加密或解密请求的步骤之前,还包括:
[0014]分别在所述客户端与所述虚拟机之间建立连接以及所述代理与所述加密解密装置之间建立连接;
[0015]在虚拟环境中运行所述代理。
[0016]在其中一个实施例中,所述在虚拟环境中运行所述代理的步骤包括:
[0017]在Hypervisor中运行所述代理;或
[0018]在所述虚拟机的操作系统中运行所述代理;或
[0019]在SSL卸载应用中运行所述代理。
[0020]在其中一个实施例中,所述代理与负载均衡设备连接,所述负载均衡设备与多个加密解密装置连接;所述通过所述代理将所述非对称加密或解密请求发送至加密解密装置的步骤包括:
[0021]通过所述代理将所述非对称加密或解密请求发送至所述负载均衡设备,以使得所述负载均衡设备将所述非对称加密或解密请求转发至加密解密装置。
[0022]—种虚拟环境下用于加密解密的物理服务器,所述物理服务器上运行了虚拟机和代理,所述虚拟机接收客户端发送的所述加密或解密请求,所述加密或解密请求中携带了待操作数据;当所述加密或解密请求为非对称加密或解密请求时,所述虚拟机将所述非对称加密或解密请求发送所述代理;所述代理将所述非对称加密或解密请求发送至加密解密装置,以使得所述加密解密装置根据所述非对称加密或解密请求对所述待操作数据进行操作并将操作结果返回至所述虚拟机;所述虚拟机接收所述操作结果后,并根据所述操作结果得到已加密或已解密数据;根据非对称加密请求将已加密数据返回至所述客户端或者根据非对称解密请求对已解密数据进行处理。
[0023]在其中一个实施例中,所述加密或解密请求还包括对称加密或解密请求,所述虚拟机根据所述对称加密或解密请求通过本地处理器对所述待操作数据进行操作,得到已加密或已解密数据;根据对称加密请求将将已加密数据返回至所述客户端或者根据对称解密请教对已解密数据进行处理。
[0024]在其中一个实施例中,所述虚拟机与所述客户端之间建立连接以及所述代理与所述加密解密装置之间建立连接;所述代理运行在虚拟环境中。
[0025]在其中一个实施例中,所述代理运行在Hypervisor中;或所述代理运行在所述虚拟机的操作系统中;或所述代理运行在SSL卸载应用中。
[0026]在其中一个实施例中,所述代理与负载均衡设备连接,所述负载均衡设备与多个加密解密装置连接;所述代理将所述非对称加密或解密请求发送至所述负载均衡设备,以使得所述负载均衡设备将所述非对称加密或解密请求转发至加密解密装置。
[0027]上述虚拟环境下的加密解密方法和用于加密解密的物理服务器,由于非对称加密解密运算会消耗大量的物理服务器资源,通过代理来接收非对称加密解密请求,并将非对称加密解密请求发送至加密解密装置进行操作得到操作结果。因此,在SSL卸载应用往虚拟机迀移时,不需要修改SSL卸载应用的配置,也不需要在物理服务器上增加额外的加密解密卡,从而既能有效提升虚拟机加密解密的操作性能又能有效控制成本。
【附图说明】
[0028]图1为一个实施例中虚拟环境下的加密解密方法的硬件环境图;
[0029]图2为一个实施例中虚拟环境下的加密解密方法的流程图;
[0030]图3为一个实施例中虚拟环境下用于加密解密的服务器的结构示意图。
【具体实施方式】
[0031]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0032]本发明实施例中所提供的虚拟环境下的加密解密方法可以应用于如图1所示的硬件环境中。参考图1所示,终端102上运行了客户端。物理服务器104上运行了虚拟机(Virtual Machine,简称VM)和代理。其中虚拟机可以有多台,VM1、VM2和VM3。客户端与虚拟机VMl之间建立了 SSL连接,代理与加密解密装置106之间建立了 SSL连接。客户端向虚拟机VMl发送加密或解密请求,加密或解密请求中携带了待操作数据,加密或解密请求包括非对称加密或解密请求。当客户端向虚拟机VMl发送非对称加密或解密请求时,虚拟机VMl接收非对称加密或解密请求,并将该非对称加密或解密请求发送代理,代理将该非对称加密或解密请求发送至加密解密装置106。加密解密装置106根据该非对称加密或解密请求对待操作数据进行操作得到操作结果,并将操作结果返回至虚拟机VM1。虚拟机接收加密解密装置106返回的操作结果,并根据操作结果得到已加密或已解密数据。虚拟机VMl根据非对称加密请求将已加密数据返回至客户端或者根据非对称解密请求对已解密数据进行处理。当客户端向虚拟机VMl发送对称加密或解密请求时,虚拟机VMl的本地处理器对待操作数据进行操作,得到已加密或已解密数据;虚拟机VMl根据对称加密请求将将已加密数据返回至客户端或者根据对称解密请教对已解密数据进行处理。因此,在SSL卸载应用往虚拟机迀移时,不需要修改SSL卸载应用的配置,也不需要在物理服务器上增加额外的加密解密卡,从而既能有效提升虚拟机加密解密的操作性能又能有效控制成本。
[0033]在一个实施例中,如图2所示,提供了一种虚拟环境下的加密解密方法,以该方法应用于物理服务器为例进行说明,具体包括:
[0034]步骤202,通过虚拟机接收客户端的加密或解密请求,加密或解密请求包括非对称加密或解密请求,加密或解密请求中携带了待操作数据。
[0035]虚拟机运行在