远程控制台模式下安全的用户认证的装置和方法与流程

文档序号:18213317发布日期:2019-07-19 22:28阅读:160来源:国知局
远程控制台模式下安全的用户认证的装置和方法与流程

本发明涉及计算设备的远程访问,尤其涉及具有更改计算设备的设置所需的认证的计算设备上的远程操作。



背景技术:

如今,一些信息处理装置提供本地操作模式和远程(虚拟)操作模式。例如,一般的服务器具有本地控制台(显示器)和本地键盘/鼠标,并且还具有支持远程控制台和键盘/鼠标的远程kvm(基于内核的虚拟机)。此外,现代服务器提供远程控制功能,例如远程查看具有图形分辨率的视频和使用虚拟键盘/鼠标进行远程访问,并且一些服务器支持从多个客户端同时访问远程kvm。

另一方面,诸如服务器的信息处理装置在信息处理装置的固件中具有安全设置,诸如启用或禁用板载安全芯片(例如,可信平台模块-tpm)、启用和禁用安全启动等。对于支持信息处理装置并完全控制本地控制台甚至信息处理装置硬件的用户,他们应该具有完全访问权限。然而,由于尝试使用远程控制台和远程键盘/鼠标来操作信息处理装置的远程用户可能进行的访问,这带来了安全风险,因为并非所有远程用户都应该被允许更改信息处理装置中的每个设置,特别是安全设置。一些具有远程kvm访问权限的用户甚至可能会秘密利用其他人的声明来更改安全设置。



技术实现要素:

因此,需要控制远程用户对信息处理装置的至少一些设置的访问。

在一个方面,本发明提供了一种用于在将更改应用于信息处理装置的设置之前认证信息处理装置的用户的方法。用户是发起更改的一方。该方法包含确定用户是否安全的步骤;如果用户安全,则在应用更改之前为更改创建标志;如果找到该更改的标志,则将该更改应用于信息处理装置的设置。

在另一方面,本发明提供了一种信息处理装置,其包括主处理器和安装有处理器的主板。如果用户安全,则固件适于在应用更改之前创建用于更改的标志。如果能够找到用于更改的标志,则固件还适于随后将更改应用于信息处理装置的设置。

因此,本发明为远程用户更改信息处理装置的关键安全设置提供了简单但安全的解决方案。所有操作对远程用户都是透明的,并且一旦他们开始在远程控制台上操作,就可以根据用户可能具有的访问权限/角色自动地向用户提供适当的虚拟用户输入设备。然后,具有足够权限的用户可以更改信息处理装置的安全设置,而没有足够权限的用户只能更改非安全设置而不能更改安全设置。因此,这种解决方案为远程用户提供了良好的体验。

另外,本发明提供的解决方案简单有效,因为不需要特定硬件来区分安全用户和非安全用户。传统上,一些实现类似区分的技术需要特定的硬件电路来设置芯片的物理跳线(例如,通过拉高引脚处的电压),然后可以根据跳线的状态调整安全或非安全设置。但是,依赖硬件会使整个机制非常复杂,并且与现代操作系统的安全测试要求不兼容。相比之下,本发明提供的解决方案不需要特殊硬件,因为它主要基于软件模块,仅需要诸如uefi的固件和诸如bmc的服务处理器。因此,本发明提供的解决方案可以普遍地用于不同的操作系统,甚至可以用于来自不同供应商的硬件。

附图说明

从以下优选实施例的描述中,本发明的前述和进一步的特征将变得显而易见,所述优选实施例仅通过示例的方式结合附图提供,其中:

图1a是具有本地控制台和本地用户输入设备的服务器,以及远程控制台和远程用户输入设备的图示。

图1b示出了图1a的服务器中的主板和主板上的组件的一部分的框图。

图2示出了根据本发明的另一实施例的与启用uefi的键盘驱动程序连接的服务器的bmc和向用户提供设置屏幕的bmc的示意图。

图3是示出用于在对图2中的服务器的设置进行更改之前认证用户的方法的流程图。

图4展示了根据本发明一个实施例的用于远程控制台模式的服务器的安全用户认证方法。

在附图中,在本文描述的若干实施例中,相同的数字表示相同的部件。

具体实施方式

现在转向图1a、1b,作为一种信息处理装置的服务器20包含本地控制台22、本地键盘24和本地鼠标26。本地控制台22是显示设备,其适于向服务器20前面的本地用户显示包括服务器20的设置的用户界面(未示出)。本地控制台22、本地键盘24和本地鼠标26都物理地连接到服务器20的主板29以执行它们各自的功能。本地键盘24和本地鼠标26是本地用户输入设备的类型,其例如允许本地用户提供用户输入以控制服务器20的操作,例如更改上述设置。

还连接到服务器20的是远程控制台32、远程键盘34和远程鼠标36,它们分别具有与本地控制台22、本地键盘24和本地鼠标26类似的功能。但是,远程控制台32、远程键盘34和远程鼠标36没有物理连接到服务器20的主板29或机箱(未示出)。而是,它们在地理上与服务器20间隔开或远离。远程控制台32、远程键盘34和远程鼠标36通过诸如互联网的通信网络(未示出)连接到服务器20。远程键盘34和本地鼠标36是远程用户输入设备的类型。远程控制台32、远程键盘34和远程鼠标36适于在kvm模式下与服务器20一起工作。

如图1b所示,服务器20在其主板29上安装有主处理器21、服务处理器23、存储器25。主处理器21例如是一个或多个服务器20的中央处理器单元(cpu),其承担计算任务。另一方面,服务处理器23是与主处理器不同的处理器,并且提供诸如直接实现到服务器管理系统中的自主监视和恢复的功能。例如,服务处理器23可以是基带管理控制器(bmc)。存储器25是存储用于运行包括固件27的服务器20的永久或临时数据的硬件。固件27的示例包括统一可扩展固件接口(uefi),其进一步包括用于更改信息处理装置的设置的uefi设置模块,以及uefi键盘/鼠标驱动程序。

现在转到图2-4,本发明的另一个实施例是用于远程控制台模式的服务器的安全用户认证方法。这种方法可以应用于图1a-1b中的服务器。从图4开始来看,该方法从用户尝试/请求更改服务器的设置时开始。请注意,有三种可能类型的用户进行此类更改请求,并且它们分别在步骤60到62中显示。对于来自用户的每个特定请求,将仅应用60到62中的三个步骤中的一个。应当理解,不同类型的用户可以使用不同类型的用户输入设备,诸如本地用户输入设备或类似于上面提到的那些的远程用户输入设备。具体地,在步骤60中,远程用户尝试通过标准(非安全)虚拟用户输入设备来更改设置。在步骤61中,远程安全用户尝试通过安全的虚拟用户输入设备来更改设置。在步骤62中,本地用户尝试通过本地用户输入设备更改设置。非安全用户输入设备和安全用户输入设备都是远程用户输入设备的类型。注意,无论是远程还是本地,用户输入设备可以包含键盘、鼠标和/或其他类型的用户输入设备。在该实施例中,服务器包含作为服务处理器的bmc54和作为固件的uefi。在上述步骤60和61之前的bmc54必须将安全或非安全虚拟用户输入设备分配给远程用户帐户,这将在后面更详细地描述。

步骤60至62中的任何一个之后的下一步将是相同的,即uefi键盘/鼠标驱动程序48,作为充当信息处理装置的固件的uefi的一部分,检查请求更改设置的位置。这分两步进行。首先,在步骤63中,uefi键盘/鼠标驱动程序48基于从服务器的主板获得的信息来确定更改是否来自本地键盘/鼠标。物理连接的本地键盘/鼠标可以由信息处理装置的主板检测。如果更改设置的请求来自本地键盘/鼠标,则用户是本地用户,并且该方法直接进行到步骤66,其中uefi键盘/鼠标驱动程序48为在本地物理键盘/鼠标上操作的本地用户创建用于预期更改的安全标志(即,更改服务器的设置的操作)。服务器始终为具有本地客户端帐户的本地用户提供最高访问权限,因为如上所述,能够物理地接触到服务器的本地用户被认为有资格更改服务器的所有设置。因此,本地用户是一种安全用户。

然而,如果在步骤63中uefi键盘/鼠标驱动程序48确定更改设置的请求不是来自本地物理键盘/鼠标,则用户是远程用户,并且该方法前进到步骤65。在步骤65中,uefi键盘/鼠标驱动程序48进一步确定更改是否来自安全的虚拟键盘/鼠标。安全的虚拟键盘/鼠标意味着其后面的用户是安全用户52,其具有更高的访问权限以更改服务器的安全设置。非安全的虚拟键盘/鼠标意味着后面的用户是没有安全访问的非安全用户50。uefi键盘/鼠标驱动程序48基于键盘/鼠标的设备id在步骤63和65中进行确定,因为本地键盘/鼠标的设备id不同于由bmc创建的虚拟键盘/鼠标的设备id,并且安全虚拟键盘/鼠标将具有与非安全虚拟键盘/鼠标不同的设备id。

不管是从步骤63,还是从步骤65的分支,方法进一步前进到步骤66,其中uefi键盘/鼠标驱动程序48为本地用户(未示出)和安全远程用户52创建用户发起的设置的预期更改的安全标志。然而,从步骤65的另一个分支,没有为非安全用户50发起的设置的预期更改创建安全标志。在任何情况下,该方法然后进行到步骤68,其中uefi设置模块将该设置分类为安全类型(例如,关键且不应由普通用户更改的设置)或非安全类型。如果该设置是由uefi设置模块确定的安全设置,则该方法进行到步骤72以检查是否可以找到上述标志用于设置的预期更改。如果存在标志,则表示预期的更改是由本地用户或安全的远程用户发起的,这些用户或服务器都具有对服务器的足够访问权限,包括进行预期的更改。然后该方法转到步骤76以应用服务器设置的更改,然后该方法结束。然而,如果在步骤72中没有找到标志,则uefi设置模块将不将该更改(即,“跳过”)应用于步骤74中的设置,并且该方法将在之后结束。

如果在步骤68中确定该设置不是安全设置,而是仅是可以由所有用户安全地更改的正常设置,则该方法直接进入步骤76以应用服务器的设置的更改,然后该方法将结束。

如上所述,bmc54通过将非安全(标准)虚拟键盘/鼠标或安全虚拟键盘/鼠标分配给远程客户端账户来为不同远程客户端账户提供不同角色/访问权限。bmc54仅分配虚拟键盘/鼠标一次,并且在创建新的远程用户帐户时分配。虚拟键盘/鼠标的分配在图3中更详细地示出,并且这作为预配置步骤在图4所示的方法之前进行。在图3中,bmc54不对本地用户采取动作,因此在步骤86,本地用户将仅使用本地物理键盘/鼠标对服务器进行任何操作。但是,如果用户是远程用户,则bmc54在步骤78中为远程用户创建远程用户帐户。然后,在步骤80中,bmc54进一步确定远程用户帐户是否是安全用户帐户。该确定基于远程用户是否属于受信任组的事实。受信任组包含所有安全用户。如果bmc54确定远程用户帐户是安全用户帐户,则该方法前进到步骤84,其中bmc54将安全虚拟键盘/鼠标分配给远程用户帐户。或者,如果bmc54确定远程用户帐户是非安全用户帐户(即普通用户),则该方法前进到步骤82,其中bmc54将非安全虚拟键盘/鼠标分配给远程用户。请注意,在任何一种情况下,远程用户总是使用相同的远程键盘/鼠标,因此只有服务器中虚拟键盘/鼠标的定义和属性根据用户是安全而更改。

图2示出了由uefi键盘/鼠标驱动程序48(例如由bmc确定的安全虚拟键盘44)和非安全虚拟键盘42如何对不同类型的远程键盘进行分类。对于直接连接到服务器的主板/机箱的本地物理键盘46,使用uefi键盘/鼠标驱动程序48直接识别和加载它们。对于不同类型的远程键盘,uefi键盘/鼠标驱动程序48还为他们的运作提供支持。包含要更改的安全设置的屏幕58被提供给本地物理键盘46和安全虚拟键盘44,因为它们具有由uefi键盘/鼠标驱动程序48设置的标志。屏幕56被提供给非安全远程用户50。在屏幕56中,由于远程用户50不具有安全访问权限但仅具有非安全虚拟键盘42,因此不能更改任何安全设置。

因此,完整地描述了本发明的示例性实施例。尽管该描述涉及特定实施例,但是本领域技术人员将清楚,可以通过更改这些具体细节来实践本发明。因此,本发明不应被解释为限于这里阐述的实施例。

尽管已经在附图和前面的描述中详细图示和描述了本发明,但是同样地被认为是说明性的而非限制性的,应当理解,仅示出和描述了示例性实施例,并且不限制任何方式的本发明的范围。可以理解,本文描述的任何特征可以与任何实施例一起使用。说明性实施例不排除彼此或本文未列举的其他实施例。因此,本发明还提供了包括上述一个或多个说明性实施方案的组合的实施方案。在不脱离本发明的精神和范围的情况下,可以对本文所述的本发明进行修改和变化,因此,仅应当如所附权利要求所示的那样施加这些限制。

例如,在上述实施例中,服务器被用作信息处理设备的示例以进行描述。然而,本领域技术人员应该认识到,其他类型的信息处理装置也可以应用于本发明,例如个人台式电脑、笔记本电脑、手机或平板电脑等。

此外,uefi用作信息处理装置的固件的示例,用于认证不同类型的用户。然而,如果各种信息处理装置中的其他类型的固件可以向远程用户输入设备提供驱动程序并且为预期的操作添加所需的标志,则它们也可以用于本发明的目的。

另外,在上述实施例中,键盘和鼠标被地描述为本地或远程的用户输入设备。应该认识到,也可以类似地使用其他类型的用户输入设备来更改信息处理设备的设置,例如触控板、触摸板、轨迹球等。

还应注意,本发明的变型可以为不同类型的用户提供相同或不同的用户界面。例如,对于安全和非安全用户,呈现给他们的屏幕可以是相同的,但是不会采用由非安全用户做出的更改安全设置的任何用户输入。或者,可以向不安全的用户提供不同的屏幕,其中一些屏幕元素被禁用,使得非安全用户不能致动它们以更改安全设置。进一步替代地,与安全用户相比,可以向非安全用户呈现简化屏幕,并且简化屏幕仅显示一般/非安全设置。

另外,上述实施例提到了uefi键盘/鼠标驱动程序,其参考键盘/鼠标的设备id以识别键盘/鼠标是否安全。设备id是键盘/鼠标的一种标识符。然而,本领域技术人员应该认识到,在服务处理器(例如bmc)和固件(例如uefi)之间也可以使用依赖于键盘/鼠标的标识符的其他类型的识别握手/方法,只要不背离本发明精神。例如,键盘/鼠标的子设备id或设备路径可以用作标识符,并且可以由uefi键盘/鼠标驱动程序获得,以便确定键盘/鼠标是否安全。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1