CN200780028082.9
2007.07.19
CN101496023A
2009.07.29
授权
有权
授权|||实质审查的生效|||公开
G06F21/04
惠普开发有限公司
M·诺沃亚; V·Y·阿利; M·J·阿尔滕多夫
美国德克萨斯州
2006.7.25 US 11/492,617
中国专利代理(香港)有限公司
张雪梅;王忠忠
一种虚拟用户认证系统(10),包括:虚拟机管理器(VMM)(16),通信地耦合到用户操作系统(OS)(12)和服务OS(14),所述VMM(16)被配置为接收去往在用户OS(12)上运行的应用(20)的键击输入并且将所述键击输入传送到所述服务OS(14),所述键击输入由所述服务OS(14)来处理。
1、 一种虚拟用户认证系统(10),包括:虚拟机管理器(VMM)(16),其通信地耦合到用户操作系统(OS)(12)和服务OS(14),所述VMM(16)被配置为接收去往在所述用户OS(12)上运行的应用(20)的键击输入并且将所述键击输入传送到所述服务OS(14),所述键击输入由所述服务OS(14)来处理。2、 根据权利要求1的系统(10),进一步包括:键击代理(70),其被布置在所述用户OS(12)上并被配置为取回用于所述应用(20)的键击输入。3、 根据权利要求1的系统(10),其中:所述服务OS(14)被配置为确定所述键击输入是否与安全敏感凭证相关。4、 根据权利要求1的系统(10),其中:所述服务OS(14)被配置为如果所述键击输入与安全敏感凭证相关则生成与所述键击输入的字符对应的任意的占位符字符。5、 根据权利要求4的系统(10),其中:所述任意的占位符字符被传送到所述用户OS(12)的虚拟键盘驱动器(60)。6、 根据权利要求1的系统(10),进一步包括:键击代理(70),其被布置在所述用户OS(12)上并被配置为响应于确定已经输入了与所述键击输入相关的终止字符,而取回所述键击输入。7、 一种虚拟用户认证方法,包括:在虚拟机管理器(VMM)(16)处接收去往在用户操作系统(OS)(12)上运行的应用(20)的键击输入;将所述键击输入从所述VMM(16)发送到服务OS(14);以及由所述服务OS(14)处理所述键击输入。8、 根据权利要求7的方法,进一步包括:由所述服务OS(14)确定所述键击输入是否与安全敏感凭证相关。9、 根据权利要求7的方法,进一步包括:如果所述键击输入与安全凭证相关则由所述服务OS(14)生成与所述键击输入的字符对应的任意的占位符字符。10、 根据权利要求9的方法,进一步包括:将所述任意的占位符字符发送到所述用户OS(12)的虚拟键盘驱动器(60)。
虚拟用户认证系统和方法 背景技术 通常通过验证与用户相关的一个或多个安全凭证(credential)(例如,用户名、密码、个人识别码(PIN)等)来认证计算平台的用户。认证信息也可以与密码令牌(cryptographic token)或智能卡结合使用来提供多因素认证以加强用户的安全性和真实性。然而,存在执行存储器扫描和/或键击记录(keystroke logging)的各种程序。因此,容易危及安全凭证的安全性(例如,当用来访问强化安全的(security-hardened)密码令牌或智能卡时)。 附图说明 为了更全面地理解本发明及其优点,现在结合附图参考下面作出的描述,附图中: 图1是示出根据本发明的虚拟用户认证系统的实施例的图; 图2A和2B是示出根据本发明的虚拟用户认证方法的实施例的流程图;以及 图3是示出根据本发明的虚拟用户认证系统的另一实施例的图。 具体实施方式 通过参考附图1-3可以最好地理解本发明的优选实施例及其优点,相似的附图标记被用于各个附图中的相似和相应部分。 图1是示出根据本发明的虚拟用户认证系统10的实施例的图。在图1所示出的实施例中,系统10包括用户操作系统(OS)12、服务OS 14和虚拟机管理器(VMM)16。VMM 16包括软件层以虚拟化到布置在分区的存储器空间上的用户OS 12和服务OS 14中的每一个的硬件接口。在图1所示出的实施例中,操作系统的两个实例被示出为由VMM 16来连接(interface)。然而,应当理解,更多的操作系统可以使用VMM 16来虚拟化。 在图1所示出的实施例中,用户OS 12被配置为主操作系统,由计算平台的用户使用其来访问和/或以其他方式使用各种应用(application)20,例如但不限于文字处理应用、互联网浏览器或者财务管理应用。服务OS 14用来处理从键盘/键击输入设备30所接收的键击,该键击是去往一个(或)应用20的(例如,被输入以便向该特定应用20提供信息)。例如,服务OS 14被配置为与VMM 16以及驻留在用户OS 12上的键击代理70连接以确定由用户输入的特定键击是否与用于特定应用20的安全敏感凭证(例如,用户名、密码、个人识别码(PIN)、社会安全号码或者其它类型的其安全受到关注的信息)相关。服务OS 14处理对应于特定应用20的键击输入并且促进将该键击输入提供给特定应用20,使得可以与用户OS 12的键盘/输入协议栈相关和/或以其他方式与其集成的键击记录器和/或扫描应用不被给予用户的真实键击输入,从而提供增强的用户认证和/或安全凭证的安全性。 在图1所示出的实施例中,VMM 16包括虚拟键盘驱动器32,该虚拟键盘驱动器32可以包括硬件、软件、固件或其组合。虚拟键盘驱动器32从键盘/键击输入设备30接收输入并将该键击输入传送到服务OS14(来自键盘/键击输入设备30的输入在图1中被标识为键击输入40)。因此,在操作中,来自键盘/键击输入设备30的、去往驻留和/或以其他方式运行在用户OS 12上的特定应用20的输入被VMM 16截取并发送到服务OS 14。 在图1中,服务OS 14包括物理键盘驱动器50、过滤驱动器52和键击缓冲器54。物理键盘驱动器50和过滤驱动器52可以包括软件、硬件、固件或其组合。物理键盘驱动器50接收和/或以其他方式处理从VMM16接收的键击输入40。过滤驱动器52与物理键盘驱动器50和/或应用20连接以确定键击输入40是否与安全凭证相关。例如,在本发明的一些实施例中,响应于用户启动(launch)和/或以其他方式运行特定应用20和/或与特定应用20相关的功能,过滤驱动器52与应用20连接以确定键击输入40是否与用于应用20的安全凭证输入(例如,用于用户名、密码或其它类型的安全凭证的输入窗口)相关。如果过滤驱动器52确定键击输入40与安全凭证相关,则过滤驱动器52生成与形成键击输入40的字符对应的任意的和/或混杂的(miscellaneous)占位符字符串。例如,如果键击输入40包括被定义为“BLD1359”的密码,则过滤驱动器52为键击输入40的每一个字符都生成任意字符。因此,在该示例中,过滤驱动器52可以生成被定义为“P**$&N2”的字符串。应当理解,任意的占位符字符可以包括预定的字符串(例如,全星号)或者随机生成的字符串。 任意的占位符字符由过滤驱动器52发送到与用户OS 12相关的虚拟键盘驱动器60,如图1中的箭头62所表示的。虚拟键盘驱动器60从过滤驱动器52接收任意的占位符字符并且处理该任意的占位符字符就好像该任意的占位符字符是键击输入40。例如,虚拟键盘驱动器60可以将该任意的占位符字符显示在用户界面和/或对应于应用20的输入窗口内的显示设备上。然而,应当理解,至少对于与安全凭证相关的键击输入40,键击输入40不被虚拟键盘驱动器60接收和/或以其他方式处理。因此,可以被附接到和/或以其他方式与虚拟键盘驱动器60连接的键击记录器和/或扫描器将会具有到键击输入40的受限访问和/或不能访问键击输入40。 优选地,过滤驱动器52也使得键击输入40被缓冲在键击缓冲器54内。在图1中,驻留在用户OS 12上的键击代理70(其可以包括硬件、软件、固件或其组合)响应于由服务OS 14所接收的键击输入40的终止字符而与过滤驱动器52和/或键击缓冲器54连接。如在这里使用的,键击输入40的终止字符通常被定义为后面跟着标准“回车”(CR)字符的或者在用户以其他方式发出表示输入结束的信号(例如,点击“OK”按钮,等等)时的特定键击输入的最后的或最终的字符。因此,例如,对于定义为“BLD 1359”的密码,输入的终止可以用信号表示为数字“9”的字符,其后面跟着回车(ENTER键)序列或应用内动作的启用(例如,点击“OK”按钮)。响应于接收到键击输入40的终止字符,键击代理70与键击缓冲器54连接以从键击缓冲器54自动取回(retrieve)键击输入40并将键击输入40提供给键击输入40要去往的(destined)特定应用20。因此,在该示例中,大大减少了可以扫描存储器位置以确定和/或以其他方式识别安全凭证的时间周期。在上述示例中,键击输入40被存储和/或缓存在键击缓冲器54中直到接收到终止字符。然而,同样应当理解,可以在将键击输入40提供给去往的(destined)应用20之前不缓冲键击输入40的所有字符的情况下,处理键击输入40。例如,在本发明一些实施例中,键击代理70可以被配置为连续地或周期性地取回键击输入40的各个字符和/或字符组并将这样的键击输入40提供给去往的应用20。 在上述实施例中,如果键击输入40与安全凭证相关则过滤驱动器52生成任意的占位符字符。然而,应当理解,过滤驱动器52可以被配置为对所有类型的键击输入40(例如,无论其是否与安全凭证相关)都生成任意的占位符字符并将其发送到虚拟键盘驱动器60。此外,应当理解,如果键击输入40不与安全凭证相关,则键击输入40可以被直接传送到虚拟键盘驱动器60从而用于处理。 图2A和2B是示出根据本发明的虚拟用户认证方法的实施例的流程图。该方法开始于块200,其中在VMM 16处接收键击输入40。在块202处,虚拟键盘驱动器32将键击输入40传送到服务OS 14。在判定块204处,确定键击输入40是否与安全凭证和/或安全有关的应用20相关。如果键击输入40不与安全凭证和/或安全有关的应用20相关,则该方法前进到块206,其中过滤驱动器52将键击输入40发送和/或以其他方式传送到用户OS 12的虚拟键盘驱动器60。该方法前进到块208,其中虚拟键盘驱动器60将所接收的键击输入40提供给去往的应用20。 如果在判定块204处确定键击输入40与安全凭证和/或安全有关的应用20相关,则该方法前进到块210,其中过滤驱动器52生成任意的和/或混杂的占位符字符。在块212处,过滤驱动器52将该占位符字符发送和/或以其他方式传送到用户OS 12的虚拟键盘驱动器60。在块214处,过滤驱动器52使得键击输入40被缓存在键击缓冲器54中。 在判定块216处,确定用于去往的应用20的键击输入40的终止字符是否已经被输入/接收。如果终止字符还没有被输入/接收,则该方法前进到块214,其中键击输入40继续被缓存在键击缓冲器54中。如果在判定块216处确定键击输入40的终止字符已经被输入/接收,则该方法前进到块218,其中键击代理70与键击缓冲器54连接以从键击缓冲器54取回和/或以其他方式获得键击输入40。在块220处,键击代理70将从键击缓冲器54取回的键击输入40提供给去往的应用20。 在结合图1、2A和2B所示出和描述的实施例中,与处理键击输入40相关的各种类型的通信和/或功能在服务OS 14与用户OS 12之间直接执行(例如,服务OS 14的键击缓冲器54与用户OS 12的键击代理70之间的通信和/或用户OS 12的键击代理70对服务OS 14的键击缓冲器54的访问,服务OS 14的过滤驱动器52与用户OS 12的虚拟键盘驱动器60之间的通信等等)。然而,应当理解,与处理键击输入40相关的各种类型的通信和/或功能可以通过VMM 16在服务OS 14与用户OS 12之间处理和/或通信。例如,在本发明一些实施例中,由过滤驱动器52生成的任意的和/或混杂的占位符字符会由服务OS 14传送到VMM 16,并且VMM 16会将该任意的和/或混杂的占位符字符传送到虚拟键盘驱动器60。此外,例如,在本发明一些实施例中,存储在缓冲器54中的键击输入40被传送到VMM 16,并且VMM 16与键击代理70连接以促进向特定的应用20提供真实的键击输入40。因此,在本发明一些实施例中,VMM 16用作在处理键击输入40的不同OS分区之间通信的关守(gatekeeper)或控制器。 图3是示出根据本发明的虚拟用户认证系统10的另一实施例的图。在图3中,过滤驱动器52被示出为与虚拟键盘驱动器60直接通信和/或与该虚拟键盘驱动器60直接连接(由箭头62表示),用于将任意的占位符字符(例如,用于安全凭证输入)发送到虚拟键盘驱动器60。在图3所示出的实施例中,如果键击输入不与安全凭证相关,则这样的非安全凭证输入被从服务OS 14传回到VMM 16,如箭头90所表示的,并且由VMM 16提供给用户OS 12,如箭头92所表示的。 因此,本发明实施例提供了用于处理键击输入的旁路(bypass)机制,使得可能存在于操作系统上的、键击输入要去往的键记录器(keylogger)或者其它类型的键击扫描应用(例如,在这样的操作系统上运行的应用)很少或不访问键击输入。例如,本发明过程的实施例利用虚拟机管理器,该虚拟机管理器截取键击输入并通过不同的操作系统或平台来处理该键击输入。此外,本发明实施例在旁路操作系统中缓存键击输入直到优选地接收到所有键击输入,此时键击输入被取回并装载到去往的应用中,由此显著地减少了可用于扫描这样的键击输入的存储器空间的时间。
《虚拟用户认证系统和方法.pdf》由会员分享,可在线阅读,更多相关《虚拟用户认证系统和方法.pdf(11页珍藏版)》请在专利查询网上搜索。
一种虚拟用户认证系统(10),包括:虚拟机管理器(VMM)(16),通信地耦合到用户操作系统(OS)(12)和服务OS(14),所述VMM(16)被配置为接收去往在用户OS(12)上运行的应用(20)的键击输入并且将所述键击输入传送到所述服务OS(14),所述键击输入由所述服务OS(14)来处理。 。
copyright@ 2017-2020 zhuanlichaxun.net网站版权所有经营许可证编号:粤ICP备2021068784号-1