CN104461678B - 一种在虚拟化环境中提供密码服务的方法和系统 - Google Patents

一种在虚拟化环境中提供密码服务的方法和系统 Download PDF

Info

Publication number
CN104461678B
CN104461678B CN201410609724.6A CN201410609724A CN104461678B CN 104461678 B CN104461678 B CN 104461678B CN 201410609724 A CN201410609724 A CN 201410609724A CN 104461678 B CN104461678 B CN 104461678B
Authority
CN
China
Prior art keywords
virtual machine
cryptographic
service
virtual
guest virtual
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.)
Active
Application number
CN201410609724.6A
Other languages
English (en)
Other versions
CN104461678A (zh
Inventor
林璟锵
荆继武
管乐
汪婧
李冰雨
王跃武
潘无穷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Information Engineering of CAS
Original Assignee
Institute of Information Engineering of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Information Engineering of CAS filed Critical Institute of Information Engineering of CAS
Priority to CN201410609724.6A priority Critical patent/CN104461678B/zh
Publication of CN104461678A publication Critical patent/CN104461678A/zh
Application granted granted Critical
Publication of CN104461678B publication Critical patent/CN104461678B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种在虚拟化环境中提供密码服务的方法和系统。通过虚拟密码设备管理器管理宿主机上可用的密码计算资源,并提供虚拟的密码运算设备,供客户虚拟机访问;客户虚拟机向虚拟的密码运算设备提出密码服务请求,虚拟密码设备管理器使用虚拟机自省方法主动检查客户虚拟机提出的密码服务请求是否有效,如果检查通过,则在虚拟密码设备管理器中完成密码运算,并将运算结果返回给客户虚拟机;如果检查未通过则不完成密码运算服务。本发明提供了在虚拟化环境中为客户虚拟机提供密码运算服务的方案,可以在虚拟密码设备管理器上对每个客户虚拟机的虚拟密码设备进行按需分配,同时对客户虚拟机对虚拟密码设备的访问进行审计和主动的检查。

Description

一种在虚拟化环境中提供密码服务的方法和系统
技术领域
本发明属于计算机安全技术领域,特别涉及一种在虚拟化环境中提供密码服务的方法和系统。
背景技术
在计算机与通讯系统中,数据机密性通常通过对数据进行加密实现,即使用公开的密码算法和只有授权访问对象才知道的密钥来对数据进行变换计算,其有效性依赖于密钥的保密性。在公钥密码技术应用中,发送方利用指定接受者的公钥对邮件或其他数据加密,能够保证拥有该对应私钥的用户才能够解密。而且,拥有私钥的用户还能够使用私钥对数据进行数字签名,任意接收方可以利用公钥验证数字签名的正确性,保证文档发送者的身份和文档的不可篡改。上述安全功能的基础仍是密钥的安全性,即用户所持有的私钥不会泄露、不会被攻击者非法访问。很多密码算法在假设密钥安全的前提下进行大量的密码分析仍然保持了很高的安全性,并被广泛应用。然而,在实际环境中,各种原因都可能造成密钥的泄露,如密钥管理员的疏忽、不当的软件实现、渗透攻击等。
在计算机系统中,敏感数据分布在整个内存空间(包括内核及用户空间),各种软件漏洞使得内存空间泄露给未授权对象,这可能会造成密钥的丢失。比如,2014年4月曝出的OpenSSLHeartbleed漏洞,允许远程攻击者在不需要任何权限的情况下获取私钥。该漏洞是由于对请求包疏于检查引发的缓冲区被过度的读取造成的。
基于硬件的保护机制(比如usb key)把密钥存储在硬件中,密码计算过程也在硬件中,所以密钥对操作系统是不可见,极大地提高了密钥的安全性。但是附加的硬件设备提高了成本。虽然硬件密码设备能够很好地保护密钥数据,但是硬件密码设备只能被动地接收请求、计算、返回结果,难以了解调用者的详细信息。一旦调用者被攻击者入侵,就可以任意地调用硬件密码设备的计算服务。
随着AMD和Intel相继推出支持硬件虚拟化的产品,虚拟化技术得到广泛应用。企业利用虚拟化,可以减少资金成本、降低空间需求、提高可用性、提升业务的灵活适应力、提高安全性。通过虚拟化技术,可以在一套物理硬件上运行多个客户虚拟机。虚拟化隔离了客户虚拟机,提供了另一层次的软件隔离。即使暴露于Internet的客户虚拟机被感染,也不会对整个虚拟化平台的安全性造成威胁,更不能威胁运行在同一套物理硬件上的其他客户虚拟机。
虚拟化平台一个重要的组成部分是虚拟机监控器(Virtual Machine Monitor,VMM),它的主要作用是管理宿主机的资源,以使在其之上运行的客户虚拟机可以共享宿主机上的物理资源。根据VMM的具体实现方法不同,VMM还可以包含设备驱动(宿主机的硬件设备驱动程序)和设备模型(给客户虚拟机提供模拟的设备)。
VMI,即Virtual Machine Introspection,是一种在VMM中监测客户虚拟机运行状态的技术。在进行VMI时,客户虚拟机的运行状态可被广义地定义为包括处理器寄存器、内存、磁盘、网络及任何硬件级状态。在虚拟化技术中,客户虚拟机操作系统相当于一个进程运行在宿主机系统上,该进程的用户虚拟内存空间就是客户虚拟机操作系统的物理内存空间。VMI实现检测客户虚拟机运行状态的基本原理是:通过客户虚拟机页表、客户虚拟机与宿主机地址映射表等实现对客户虚拟机系统内存结构的解析,并通过操作宿主机虚拟地址,语义上操纵客户虚拟机的内存空间。
VMI可以在不修改客户虚拟机配置、不影响客户虚拟机运行的前提下,准确查看客户虚拟机的运行状态,如运行进程号、内存使用情况等。本发明利用VMI技术实现对客户虚拟机调用密码服务的进程等运行状态的主动检查。
发明内容
本发明针对上述的计算机与通讯系统中的数据安全问题,提出一种在虚拟化环境中提供密码服务的方法和系统。该方案设计一个虚拟密码设备管理器,用于管理宿主机上可用的密码计算资源(可以是外接硬件设备,也可以是自身提供的软件实现),给每个客户虚拟机分配虚拟的密码设备,同时对客户虚拟机对虚拟密码设备的访问进行主动的检查和审计。
具体来说,本发明采用的技术方案如下:
一种提供密码服务的方法,该方法在虚拟化环境中提供密码服务,其步骤包括:
1)设置一虚拟密码设备管理器,用于管理宿主机上可用的密码计算资源,并提供虚拟的密码运算设备,供客户虚拟机访问;
2)客户虚拟机向虚拟的密码运算设备提出密码服务请求,虚拟密码设备管理器使用虚拟机自省(VMI)方法,通过分析客户虚拟机内存空间的数据来主动检查客户虚拟机提出的密码服务请求是否有效,如果检查通过,则在虚拟密码设备管理器中完成密码运算,并将运算结果返回给客户虚拟机;如果检查未通过则不完成密码运算服务。
进一步地,所述虚拟密码设备管理器可以在基于Xen的虚拟化系统实现,也可以在基于VMware ESX/ESXi和Hyper-V的虚拟化系统实现,还可以在基于KVM-QEMU的虚拟化系统中实现。虚拟密码设备管理器提供主动检查和审计服务;提供密码运算服务;管理和检查来自客户虚拟机的密码服务请求行为,配置检查类型,制定各种检查规则,为密码服务配置密码运算实体。所述虚拟密码设备管理器提供的虚拟密码设备具有以下特点:
a)通过模拟的接口(如PCI接口)为客户虚拟机提供密码服务;
b)将密钥数据从客户虚拟机中隔离出来;
c)在执行密码服务之前,在不修改客户虚拟机配置、不影响客户虚拟机运行的前提下,主动检查访问密码服务的进程的各种信息,包括调用密码服务的进程所在客户虚拟机的标识、进程标识、运行该进程的用户标识、所在客户虚拟机操作系统完整性、进程可执行文件的完整性、请求服务时间、请求服务类型及内容等。检查所依据的信息是通过VMI技术来实现,而不是访问进程主动发送来的,具有更高的可靠性。此外,也可以同时检查访问进程主动发送来的凭证(如,访问密码服务的口令)。检查不成功,则不完成服务。
d)审计所有对密码服务进行访问的行为。即,记录执行密码服务的相关信息,包括调用密码服务的进程所在客户虚拟机的标识、进程标识、运行该进程的用户标识、所在客户虚拟机操作系统完整性、进程可执行文件的完整性、请求服务时间、请求服务类型及内容、密钥标识、密码运算结果、失败原因等。
这种结构下,可以灵活地进行以下配置:
1)虚拟密码设备管理器实际进行密码运算的实体;
2)每个客户虚拟机可以使用的虚拟密码设备;
3)对于每一个虚拟密码设备,访问密码服务时的检查方法。
本发明中,审计主要是进行“记录”,检查侧重于主动的“查”,未通过检查就不完成服务。
进一步地,虚拟密码设备管理器中的密码运算,可以由虚拟密码设备管理器内部的软件实现,也可以调用物理的硬件实现。支持密码运算的实体可以是虚拟密码设备管理器访问的物理实体,比如加密机/卡、TPM(TPM:Trusted Platform Module,可信赖平台模块)等。每个虚拟密码设备配置的密码运算实体可以不同,即可以同时为多个虚拟密码设备分别配置不同的实体。
进一步地,可以为不同的客户虚拟机配置相同的虚拟密码设备来实现客户虚拟机间的密钥共享,调用相同的密钥进行密钥计算服务;或者每个客户虚拟机可以按需配置多个不同的密钥,客户虚拟机根据服务类型调用不同的密钥进行密钥计算服务。
进一步地,步骤2)所述主动检查客户虚拟机提出的密码服务请求是否有效,检查内容包括调用密码服务的进程所在客户虚拟机的标识、进程标识、运行该进程的用户标识、所在客户虚拟机操作系统完整性、进程可执行文件的完整性、请求服务时间、请求服务类型及内容等。采用的检查条件可以是如下条件的任意组合:来自特定的客户虚拟机、来自特定客户虚拟机的特定进程、该进程属于客户虚拟机操作系统的特定账户、在特定的时间、特定的请求服务类型及内容、访问的凭证(口令一类的能表明自己身份的标识)、当前活动的进程只在预定的进程列表中。主动检查的条件,在虚拟密码设备管理器中可动态配置完成,如通过配置策略,限定某一时间段某一客户虚拟机可以请求什么服务;限定客户虚拟机中可以提出请求的进程标识;动态调整检测条件的数量等。
进一步地,发生密码服务请求后,无论该请求是否正常响应并完成,还是由于主动检查不通过而终止此次请求,虚拟密码设备管理器都将会把所有密码服务行为写入审计日志,包括调用密码服务的进程所在客户虚拟机的标识、进程标识、运行该进程的用户标识、所在客户虚拟机操作系统完整性、进程可执行文件的完整性、请求服务时间、请求服务类型及内容、密钥标识、密码运算结果、失败原因等。
一种采用上述方法的提供密码服务的系统,包括宿主机、客户虚拟机和虚拟密码设备管理器以及可选的外接密码运算物理实体;所述虚拟密码设备管理器管理宿主机上可用的密码计算资源,并提供虚拟的密码运算设备以供客户虚拟机访问;所述客户虚拟机通过所述虚拟的密码设备请求密码服务;所述虚拟密码设备管理器响应客户虚拟机的密码服务请求,使用虚拟机自省方法,通过分析客户虚拟机内存空间的数据来主动检查客户虚拟机提出的密码服务请求是否有效,如果检查通过,则在虚拟密码设备管理器中完成密码运算,并将运算结果返回给客户虚拟机,如果检查未通过则不完成密码运算服务。
进一步地,所述提供密码服务的系统还包括可选的外接的提供密码运算的物理实体,由所述虚拟密码设备管理器进行管理;虚拟密码设备管理器可以采用内部的软件实现密码运算,也可以调用所述外接的提供密码运算的物理实体实现密码运算。
本发明设计了一种在虚拟化环境中为客户虚拟机(VM)提供密码运算服务的方法和系统,客户虚拟机的操作系统可以通过访问模拟的密码设备接口,请求密码服务,可以在虚拟密码设备管理器上对每个客户虚拟机的虚拟密码设备进行按需分配。而实际的密码服务则可以在虚拟密码设备管理器端,由软件实现,也可以由任何可以提供密码运算的设备提供,比如加密卡/机、TPM。另外,在请求密码服务前,还需要对使用密码服务的进程进行检查。
本发明通过把密钥作为虚拟化资源的一部分,可以为客户虚拟机模拟出一个虚拟密码设备供客户虚拟机使用。该虚拟密码设备在客户虚拟机看来就是一个标准的外设,但由虚拟密码设备管理器来管理;并且,由于密码计算不在客户虚拟机上完成的,所以客户虚拟机的操作系统也不需要知道关于密钥的信息,这样,即使客户虚拟机的操作系统被攻破,也不会泄露密钥信息。当客户虚拟机中的请求密码服务的进程需要进行加解密或者数字签名运算时,通过虚拟密码设备管理器和客户虚拟机间的通信信道向虚拟密码设备管理器提出请求,虚拟密码设备管理器对此次请求密码服务进行主动检查,检查包括调用密码服务的进程所在客户虚拟机的标识、进程标识、运行该进程的用户标识、所在客户虚拟机操作系统完整性、进程可执行文件的完整性、请求服务时间、请求服务类型及内容。检查由VMI完成,具有很高的可靠性,在检查通过后,响应该客户虚拟机中的请求密码服务的进程的请求,进行密钥计算,并将结果返回给客户虚拟机。在整个过程中,客户虚拟机中的请求密码服务的进程从不接触密钥,虚拟密码设备管理器只将结果返回给客户虚拟机。发生密码服务请求后,无论该请求是否正常响应并完成,还是由于主动检查不通过终止此次请求,虚拟密码设备管理器都将会把所有密码服务行为写入审计日志,包括调用密码服务的进程所在客户虚拟机的标识、进程标识、运行该进程的用户标识、所在客户虚拟机操作系统完整性、进程可执行文件的完整性、请求服务时间、请求服务类型及内容、密钥标识、密码运算结果、失败原因等。
本发明中,虚拟密码设备管理器提供的虚拟密码设备只提供密钥计算及存储功能。相比而言,可信赖平台模块(TPM:Trusted Platform Module)是一个含有密码运算部件和存储部件的小型片上的系统,由CPU、存储器、I/O、密码运算器、随机数产生器部件组成。虚拟TPM(vTPM:Virtual TPM)是在虚拟化环境中模拟硬件TPM。本发明和其区别在于:1)本发明不需要特定的TPM芯片支持,只是在普通的计算机系统上面就可以;2)本发明中密码运算可以是软件代码实现,算法更新升级更容易;3)本发明设计的提供密码服务的结构也可以由虚拟密码设备管理器来调用硬件的方式实现密码运算,如TPM;4)本发明可以有更为全面的审计和主动检查,只有在主动检查通过后,密码请求服务才会继续进行下去,检查不通过,本次密码服务终止并记录本次事件到审计日志中。
附图说明
图1是实施例中在虚拟化环境中提供密码服务的示意图。
图2是Virtio体系结构的示意图。
图3是虚拟机自省在虚拟平台的位置的示意图。
图4是虚拟机自省机制原理的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步说明。
本实施例是一个利用软件来实现密码计算的虚拟密钥设备实例。
图1是采用本发明方法的在虚拟化环境中提供密码服务的示意图。设计一个虚拟密码设备virtio-ct,virtio-ct的主要目标是计算过程中的所有密钥和敏感中间状态不能被客户虚拟机访问。密钥以文件的形式存储在宿主机的磁盘中,在给客户虚拟机分配密钥实体时,需要指定密钥文件的路径。计算时,可以根据客户虚拟机发来的消息,直接调用密码算法实现软件来进行相应的密码运算操作,也可以调用外接物理设备完成密码运算,比如加密卡/机、TPM。
本实施例使用的虚拟密码设备管理器是在KVM-QEMU虚拟化平台中实现的,虚拟密码设备管理器集成在QEMU进程中,同时需要KVM的资源管理接口支持。KVM是Linux内核的一个模块,基于硬件虚拟化技术实现客户虚拟机加速的功能。KVM模块是整个KVM-QEMU虚拟化平台的核心,它初始化处理器,并通过ioctl系统调用提供一系列的VMM管理接口,比如创建VM、映射VM的物理地址、给VM分配虚拟CPU(vCPU)等。QEMU进程提供客户虚拟机平台的模拟,调用KVM的接口来执行客户虚拟机的代码。KVM模块的工作主要是可以通过操作客户虚拟机控制数据结构(virtual-machine control data structures,VMCS)捕捉Guest的IO指令(包括Port IO和mmap IO)以及实现中断虚拟化。
在实施例中,采用Virtio技术完成虚拟密码设备管理器和客户虚拟机之间计算请求和结果的传递,Virtio的基本结构框架如图2所示:其中前端驱动(frondend,如virtio-blk、virtio-net等)是在客户虚拟机中存在的驱动程序模块,而后端处理程序(backend)是在QEMU中实现的。在本实施例中,前端驱动是virtio-ct,而后端处理程序调用密码算法实现软件(在本实施例中,使用OpenSSL软件包)来进行相应的密码操作。
在这前后端驱动之间,还定义了两层来支持客户虚拟机与QEMU之间的通信。其中,包括虚拟队列(virtqueues)接口,它在概念上将前端驱动程序附加到后端处理程序,虚拟队列通过调用下层virtio-ring使前端驱动程序与后端处理程序在相同应用二进制接口(ABI:Application Binary Interface)下,能够相互发送及接受数据。因此,虚拟队列被视为客户虚拟机和VMM的衔接点。virtio-ct在初始化的时候实例化31对虚拟队列virtqueues,30对用于传递密码服务消息;另1对预留为VMM和VM之间传递设备管理消息的管理通道。每一对虚拟队列都分别连接VMM和VM,可以支持VM向VMM发送消息、和VM从VMM接受消息。
virtio-ring实现了环形缓冲区(ring buffer),用于保存前端驱动和后端处理程序执行的信息,并且它可以一次性保存前端驱动的多次I/O请求,并且交由后端驱动去批量处理,在本实施例中,客户虚拟机动态申请内存,并把地址通过PCI配置接口发送给虚拟密码设备管理器,虚拟密码设备管理器通过添加一个偏移得到该内存区域的虚拟地址。两者通过该共享的内存区域进行通信。
在本实例中除了传递密码服务消息,还需要用virtio的信道来管理所有的虚拟设备,包括初始化设备、配置设备等。虚拟密码设备由virtio-ct驱动,后者利用PCI接口被客户虚拟机操作系统识别。virtio-ct驱动包括2部分,virtio-ct-pci部分和virtio-ct-token部分。挂载虚拟密码设备的客户虚拟机启动时,virtio-ct-pci驱动的probe函数被触发,并通过register_virtio_driver向virtio-ct注册,表示该虚拟设备对应于virtio-ct驱动程序。virtio-ct-token完成密码令牌的功能调用接口,一个虚拟密码设备对应于一个virtio-ct-token。virtio-ct-token进一步需要一个私钥文件作为参数(在本实施例中,使用PEM格式文件)。为了给客户虚拟机提供添加虚拟密码设备支持,需要给QEMU启动命令同时添加virtio-ct-pci和至少一个virtio-ct-token选项。
本实施例中监控客户虚拟机运行状况相关的状态数据,如内存使用情况,磁盘空间的使用情况,以及操作系统日志文件的数据等,完成主动检查密码服务请求合法性所采取的方法是虚拟机自省(VMI)技术,通过VMI技术可以获得被监控的客户虚拟机运行状况相关的状态数据,图3是虚拟自省在虚拟平台的位置的示意图。
本实施例中,虚拟机自省工具使用开源的libVMI来实现,该方案支持KVM-QEMU虚拟化平台,运行在KVM-QEMU中,可以直接分析客户虚拟机的物理内存来得到客户虚拟机的语义信息。LibVMI是提供虚拟机内省(VMI)功能的程序库,其基本原理如图4所示:
1)VMI请求查看一个内核符号;
2)LibVMI查找内核符号所对应的虚拟地址;
3)通过内核页表里的映射关系直接找到正确的页表;
4)通过页表映射找到正确的数据页;
5)数据页返回给LibVMI库;
6)LibVMI库将带有读/写权限的数据表的指针和偏移量返回给VMI应用程序(可能映射过程中,需要映射多页)
虚拟密码设备管理器通过配置LibVMI的监控程序,使得一旦有访问密钥的行为,就发出VMI请求,对客户虚拟机的物理内存进行分析,获取调用密码服务的进程所在客户虚拟机的标识、进程标识、运行该进程的用户标识、所在客户虚拟机操作系统完整性、进程可执行文件的完整性、请求服务时间、请求服务类型及内容等,并且写入审计日志;也可以动态配置规则,在指定的时间段,发现符合虚拟客户端标识的特定进程发起了密码运算请求,可以主动的拒绝此次访问并将该行为写入审计日志。通过灵活配置监控程序,使得在有密码服务请求时调用LibVMI读取物理内存完成主动检查,只有在检查通过后,才完成密码服务请求,检查不通过则终止此次请求。所有提出密码服务请求的行为,无论该请求是否正常响应并完成,还是终止此次请求,都将写入审计日志,包括调用密码服务的进程所在客户虚拟机的标识、进程标识、运行该进程的用户标识、所在客户虚拟机操作系统完整性、进程可执行文件的完整性、请求服务时间、请求服务类型及内容、密钥标识、密码运算结果、失败原因等。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求所述为准。

Claims (8)

1.一种提供密码服务的方法,其特征在于,所述方法在虚拟化环境中提供密码服务,包括如下步骤:
1)在虚拟机监控器中设置一虚拟密码设备管理器,用于管理宿主机上可用的密码计算资源,并提供虚拟的密码运算设备,供客户虚拟机访问;
2)客户虚拟机向虚拟的密码运算设备提出密码服务请求,虚拟密码设备管理器使用虚拟机自省方法,通过分析客户虚拟机内存空间的数据来主动检查客户虚拟机提出的密码服务请求是否有效;如果检查通过,则在虚拟密码设备管理器中完成密码运算,并将运算结果返回给客户虚拟机;否则不完成密码运算服务;
所述虚拟密码设备管理器中支持密码运算的实体是虚拟密码设备管理器能够访问的物理实体,或者是通过在虚拟密码设备管理器内部的软件实现;每个虚拟密码设备配置的密码运算实体相同或者不同;
所述虚拟密码设备管理器能够为不同的客户虚拟机配置相同的密钥来实现客户虚拟机间的密钥共享,调用该相同的密钥进行密钥计算服务;或者为每个客户虚拟机按需配置多个不同的密钥,客户虚拟机根据服务类型调用不同的密钥进行密钥计算服务。
2.如权利要求1所述的方法,其特征在于:所述虚拟密码设备管理器可在基于Xen的虚拟化系统实现,也可在基于VMware ESX/ESXi和Hyper-V的虚拟化系统实现,还可在基于KVM-QEMU的虚拟化系统中实现。
3.如权利要求1所述的方法,其特征在于:步骤2)所述主动检查客户虚拟机提出的密码服务请求是否有效,检查内容包括调用密码服务的进程所在客户虚拟机的标识、进程标识、运行该进程的用户标识、所在客户虚拟机操作系统完整性、进程可执行文件的完整性、请求服务时间、请求服务类型及内容;采用的检查条件是如下条件的任意组合:来自特定的客户虚拟机、来自特定客户虚拟机的特定进程、该进程属于客户虚拟机操作系统的特定账户、在特定的时间、特定的请求服务类型及内容、访问的凭证、当前活动的进程只在预定的进程列表中;主动检查的条件在虚拟密码设备管理器中动态配置完成。
4.如权利要求1所述的方法,其特征在于:发生密码服务请求后,无论该请求是否正常响应并完成,还是由于主动检查不通过而终止此次请求,虚拟密码设备管理器都把所有密码服务行为写入审计日志,包括调用密码服务的进程所在客户虚拟机的标识、进程标识、运行该进程的用户标识、所在客户虚拟机操作系统完整性、进程可执行文件的完整性、请求服务时间、请求服务类型及内容、密钥标识、密码运算结果、失败原因。
5.一种采用权利要求1所述方法的提供密码服务的系统,其特征在于,包括宿主机、客户虚拟机和虚拟密码设备管理器;所述虚拟密码设备管理器管理宿主机上可用的密码计算资源,并提供虚拟的密码运算设备以供客户虚拟机访问;所述客户虚拟机通过所述虚拟密码设备请求密码服务;所述虚拟密码设备管理器响应客户虚拟机的密码服务请求,使用虚拟机自省方法,通过分析客户虚拟机内存空间的数据来主动检查客户虚拟机提出的密码服务请求是否有效,如果检查通过,则在虚拟密码设备管理器中完成密码运算,并将运算结果返回给客户虚拟机,如果检查未通过则不完成密码运算服务。
6.如权利要求5所述的系统,其特征在于:还包括外接的提供密码运算的物理实体,由所述虚拟密码设备管理器进行管理;虚拟密码设备管理器可以在内部使用软件实现密码运算,也可以调用该外接的提供密码运算的物理实体实现密码运算。
7.如权利要求5所述的系统,其特征在于:所述主动检查客户虚拟机提出的密码服务请求是否有效,采用的检查条件是如下条件的任意组合:来自特定的客户虚拟机、来自特定客户虚拟机的特定进程、该进程属于客户虚拟机操作系统的特定账户、在特定的时间、访问之前的凭证、当前活动的进程只在预定的进程列表中;主动检查的条件在虚拟密码设备管理器中动态配置完成。
8.如权利要求5所述的系统,其特征在于:发生密码服务请求后,无论该请求是否正常响应并完成,还是由于主动检查不通过而终止此次请求,虚拟密码设备管理器都把所有密码服务行为写入审计日志,包括调用密码服务的进程所在客户虚拟机的标识、进程标识、运行该进程的用户标识、所在客户虚拟机操作系统完整性、进程可执行文件的完整性、请求服务时间、请求服务类型及内容、密钥标识、密码运算结果、失败原因。
CN201410609724.6A 2014-11-03 2014-11-03 一种在虚拟化环境中提供密码服务的方法和系统 Active CN104461678B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410609724.6A CN104461678B (zh) 2014-11-03 2014-11-03 一种在虚拟化环境中提供密码服务的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410609724.6A CN104461678B (zh) 2014-11-03 2014-11-03 一种在虚拟化环境中提供密码服务的方法和系统

Publications (2)

Publication Number Publication Date
CN104461678A CN104461678A (zh) 2015-03-25
CN104461678B true CN104461678B (zh) 2017-11-24

Family

ID=52907782

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410609724.6A Active CN104461678B (zh) 2014-11-03 2014-11-03 一种在虚拟化环境中提供密码服务的方法和系统

Country Status (1)

Country Link
CN (1) CN104461678B (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10728043B2 (en) * 2015-07-21 2020-07-28 Entrust, Inc. Method and apparatus for providing secure communication among constrained devices
CN105262590A (zh) * 2015-09-07 2016-01-20 北京三未信安科技发展有限公司 一种虚拟化环境下的密钥安全隔离方法及系统
CN105184154B (zh) * 2015-09-15 2017-06-20 中国科学院信息工程研究所 一种在虚拟化环境中提供密码运算服务的系统和方法
CN105871540A (zh) * 2016-03-24 2016-08-17 北京江南天安科技有限公司 一种基于宿主机的密码机及密码运算实现方法
US10116630B2 (en) * 2016-04-04 2018-10-30 Bitdefender IPR Management Ltd. Systems and methods for decrypting network traffic in a virtualized environment
CN106445642A (zh) * 2016-10-27 2017-02-22 广东铂亚信息技术有限公司 一种基于虚拟机监视器的安全通信方法与系统
CN107171792A (zh) * 2017-06-05 2017-09-15 北京邮电大学 一种虚拟密钥池及量子密钥资源的虚拟化方法
CN107580074B (zh) * 2017-10-24 2020-05-08 北京无字天书科技有限公司 一种无主控网关式负载均衡接入方法
CN108134778B (zh) * 2017-12-04 2021-09-10 中国电子科技集团公司第三十研究所 一种基于密码系统虚拟化切片的多用途密码系统
CN108574573B (zh) * 2017-12-14 2021-07-23 成都卫士通信息产业股份有限公司 为虚拟vpn提供密码服务的方法、密码设备及虚拟vpn服务系统
CN108133144A (zh) * 2017-12-22 2018-06-08 浪潮(北京)电子信息产业有限公司 一种虚拟磁盘文件保护方法、装置、设备及可读存储介质
CN108228316B (zh) * 2017-12-26 2022-01-25 成都卫士通信息产业股份有限公司 一种密码设备虚拟化的方法及设备
CN108491725A (zh) * 2018-03-13 2018-09-04 山东超越数控电子股份有限公司 一种提高云中虚拟机间通信安全的方法
CN112422478B (zh) * 2019-08-21 2022-10-21 烽火通信科技股份有限公司 一种虚拟机安全认证方法及系统
CN110888716A (zh) * 2019-12-17 2020-03-17 北京天融信网络安全技术有限公司 一种数据处理的方法、装置、存储介质和电子设备
CN111782344B (zh) * 2020-07-02 2024-06-21 北京数字认证股份有限公司 一种提供密码资源的方法、系统及宿主机
CN112487393A (zh) * 2020-11-23 2021-03-12 苏州浪潮智能科技有限公司 一种实现虚拟机中访问pci密码卡的方法及装置
CN112433824B (zh) * 2020-12-28 2023-06-20 郑州信大先进技术研究院 一种密码设备的虚拟化实现架构
CN113067809B (zh) * 2021-03-15 2023-05-16 公安部第三研究所 一种云平台的环境安全检测系统及方法
CN113626156A (zh) * 2021-10-14 2021-11-09 云宏信息科技股份有限公司 虚拟机磁盘的加密方法、系统及计算机可读存储介质
CN114244515B (zh) * 2022-02-25 2022-06-28 中瓴智行(成都)科技有限公司 基于Hypervisor的虚拟机通信方法、装置、可读存储介质及电子设备
CN116095149B (zh) * 2023-01-18 2023-09-19 北京安盟信息技术股份有限公司 云环境下密码服务应用配额的方法、系统、介质及设备
CN116260595B (zh) * 2023-05-15 2023-07-25 豪符密码检测技术(成都)有限责任公司 一种云密码检测方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101599025A (zh) * 2009-07-07 2009-12-09 武汉大学 可信密码模块安全虚拟化方法
CN101908964A (zh) * 2010-08-17 2010-12-08 公安部第三研究所 远程虚拟密码设备认证方法
CN102129531A (zh) * 2011-03-22 2011-07-20 北京工业大学 一种基于Xen的主动防御方法
CN102208001A (zh) * 2010-03-30 2011-10-05 微软公司 硬件支持的虚拟化密码服务
CN103929502A (zh) * 2014-05-09 2014-07-16 成都国腾实业集团有限公司 基于虚拟机自省技术的云平台安全监控系统及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101599025A (zh) * 2009-07-07 2009-12-09 武汉大学 可信密码模块安全虚拟化方法
CN102208001A (zh) * 2010-03-30 2011-10-05 微软公司 硬件支持的虚拟化密码服务
CN101908964A (zh) * 2010-08-17 2010-12-08 公安部第三研究所 远程虚拟密码设备认证方法
CN102129531A (zh) * 2011-03-22 2011-07-20 北京工业大学 一种基于Xen的主动防御方法
CN103929502A (zh) * 2014-05-09 2014-07-16 成都国腾实业集团有限公司 基于虚拟机自省技术的云平台安全监控系统及方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
VMI技术研究综述;姜秋生;《电子设计工程》;20130131;第21卷(第1期);第108-110页 *
虚拟化计算环境安全机制研究;周婕;《计算机工程与应用》;20140610;第13-16页 *
虚拟密码设备系统的设计与实现;祝颖泓;《计算机工程》;20110531;第37卷(第10期);第298-301页 *

Also Published As

Publication number Publication date
CN104461678A (zh) 2015-03-25

Similar Documents

Publication Publication Date Title
CN104461678B (zh) 一种在虚拟化环境中提供密码服务的方法和系统
Zhang et al. Cloudvisor: retrofitting protection of virtual machines in multi-tenant cloud with nested virtualization
CN101523401B (zh) 用户秘密在计算平台上的安全使用
US8156298B1 (en) Virtualization-based security apparatuses, methods, and systems
US9202062B2 (en) Virtual machine validation
CN103270518B (zh) 虚拟机验证系统及其方法
US7827550B2 (en) Method and system for measuring a program using a measurement agent
US8108668B2 (en) Associating a multi-context trusted platform module with distributed platforms
CN101599022B (zh) 用于虚拟机系统的可信计算基裁剪方法
US10296741B2 (en) Secure memory implementation for secure execution of virtual machines
CN109783188A (zh) 用于安全公共云的密码存储器所有权表
US10387686B2 (en) Hardware based isolation for secure execution of virtual machines
CN107454958A (zh) 使用多个嵌套页表隔离客户机代码和数据
WO2017112248A1 (en) Trusted launch of secure enclaves in virtualized environments
US20090307705A1 (en) Secure multi-purpose computing client
CN104969234A (zh) 用于虚拟机的测量的信任根
CN103177212B (zh) 一种基于轻量虚拟机监控器的计算机安全输入系统与方法
CN106105146A (zh) 在密码证明资源处保护客户端指定凭证
Zhang et al. Security-preserving live migration of virtual machines in the cloud
JP5596150B2 (ja) 暗号鍵の仮想化
US20220300330A1 (en) Runtime Container Protection
Krautheim Building trust into utility cloud computing
US20230044731A1 (en) Attestation of a secure guest
Futagami et al. Secure out-of-band remote management of virtual machines with transparent passthrough
Wang et al. TrustOSV: Building Trustworthy Executing Environment with Commodity Hardware for a Safe Cloud.

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant