具体实施方式
一种批作业系统可以创建第二组用户凭证以供在远程计算设备上执行批作业时使用。该第二组用户凭证可基于长期凭证方案,诸如智能卡或安全证书。该第二组凭证可以通过认证服务器与用户的普通凭证相关联,并且批作业可使用该第二组凭证来执行并返回结果。
该第二组凭证可允许批作业甚至在用户改变其口令或对其普通凭证作出改变之后执行。而且,该第二组凭证可以在不撤消或影响用户的普通凭证的情况下在建立作业之后的任何时刻撤消。
在一个实施方式中,每一个远程计算设备都可具有仿真硬件读取器的软件驱动程序以供智能卡创建软件智能卡读取器。可以向远程计算设备发放可供软件智能卡读取器用来提供认证的智能卡证书。
在另一实施方式中,每一个远程计算设备可查询认证服务器,该认证服务器可包含硬件或软件智能卡以提供用于认证的Kerberos权证。在这种情况下,Kerberos权证可用于认证,而凭证可以在安全位置。
贯穿本说明书,在对附图的所有描述中,相同的附图标记表示相同的元素。
在将元素称为被“连接”或“耦合”时,这些元素可以直接连接或耦合在一起,或者也可以存在一个或多个中间元素。相反,在将元素称为被“直接连接”或“直接耦合”时,不存在中间元素。
本发明主题可被具体化为设备、系统、方法、和/或计算机程序产品。因此,本发明主题的部分或全部可以用硬件和/或软件(包括固件、常驻软件、微码、状态机、门阵列等)来具体化。此外,本发明主题可以采用其上嵌入有供指令执行系统使用或结合其使用的计算机可使用或计算机可读的程序代码的计算机可使用或计算机可读的存储介质上的计算机程序产品的形式。在本文的上下文中,计算机可使用或计算机可读介质可以是可包含、存储、通信、传播、或传输程序以供指令执行系统、装置或设备使用或结合其使用的任何介质。
计算机可使用或计算机可读介质可以是,例如,但不限于,电、磁、光、电磁、红外、或半导体系统、装置、设备或传播介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。
计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据这样的信息的任意方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由指令执行系统访问的任何其它介质。注意,计算机可使用或计算机可读介质可以是其上打印有程序的纸张或其它合适的介质,因为程序可以经由例如对纸张或其它合适介质的光学扫描而电子地捕获,随后如有必要被编译、解释,或以其它合适的方式处理,并随后存储在计算机存储器中。
通信介质通常以诸如载波或其他传输机制的已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并包括任意信息传送介质。术语“已调制数据信号”可以被定义为其一个或多个特征以在信号中编码信息的方式被设定或更改的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上述的任意组合也应包含在计算机可读介质的范围内。
当本发明主题在计算机可执行指令的一般上下文中具体化时,该实施方式可以包括由一个或多个系统、计算机、或其它设备执行的程序模块。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。通常,程序模块的功能可以按需在各个实施方式中进行组合或分布。
图1是示出用于在远程设备上执行批作业的系统的实施方式100的图示。实施方式100是其中可以在远程设备上使用第二组用户凭证来执行批作业的硬件和软件环境的简化示例。
图1的图示出了系统的各功能组件。在一些情况下,组件可以是硬件组件、软件组件、或硬件和软件的组合。一些组件可以是应用层软件,而其他组件可以是操作系统层组件。在一些情况下,一个组件到另一个组件的连接可以是紧密连接,其中两个或更多个组件在单个硬件平台上操作。在其它情况下,连接可以通过跨长距离的网络连接来形成。各实施方式可以使用不同的硬件、软件、以及互连体系结构来实现所描述的功能。
实施方式100示出了其中可以执行批作业的典型环境。在本说明书和权利要求书中,批作业是用来指代在用户的命令下执行但在除了用户可能正在使用的设备之外的设备上执行的计算操作的术语。在一典型场景中,用户可登录到客户机设备并且使得在服务器计算机、云计算服务、服务器群集或其他计算平台上执行批作业。该批作业可以在该用户的标识下并且使用该用户的凭证来执行。
如在本说明书和权利要求书中定义的,批作业可以在一个或多个计算设备上执行。在一些情况下,批作业可以在诸如服务器或台式计算机或甚至诸如蜂窝电话等小型便携式设备等单个计算平台上执行。在其他情况下,批作业可以在具有多个处理器的高性能计算设备上执行。在另外一些情况下,批作业可以在具有可并行操作的许多服务器计算机的服务器群集上执行。在还有一些情况下,批作业可以在可包含数百或数千计算设备的云计算环境中执行。
一种使用场景可以是作为工程师的用户创建执行计算上的流体动力学计算的批作业。在许多情况下,这一批作业可耗费比该用户习惯用来创建该批作业的典型的台式客户机计算机多得多的计算能力。该批作业可被传送至控制器设备并且由高性能计算机或高性能计算机的群集通过数小时或甚至数天的过程来执行。
在另一使用场景中,批作业可由银行主管在每晚午夜执行以协调储户的银行账户。这一批作业可以是在营业日一天执行一次的周期性批作业。该批作业可被传送至控制器设备并由服务器计算机执行。
在这两个使用场景中,批作业可独立于客户机设备并且在远程计算系统上操作。此外,批作业可以与用户凭证一起操作。
因为批作业与用户凭证一起操作,所以可以强制实施用户级访问限制。在许多环境中,批作业可以在可由商业竞争对手或对其限制批作业访问的其他用户使用的计算平台上执行。例如,一个公司可以在数据中心中提供可以对任何客户开放以执行任何类型的操作的云计算服务。在这一示例中,计算服务的每一个用户都可具有对其批作业的用户级访问控制,该访问控制可禁止其他用户获取对该批作业的访问。
在许多系统中,每一个用户都可具有对其批作业的完全访问。完全访问可允许用户启动、停止、暂停、恢复批作业以及确定批作业的优先级,并且对批作业执行其他管理任务。用户还可对批作业进行数据读写并且接收批作业的输出。
在一些系统中,批作业计算服务的管理员能够执行一些管理动作,诸如关闭、停止、暂停或恢复批作业。在这些系统中,管理员可能无法访问批作业中的数据。对该数据的访问可被仅限于该用户或该用户已给予许可的其他用户。在一些情况下,例如,用户可以向另一用户授予读许可但不授予写许可。
与用户凭证相关联的批作业允许对批作业应用用户级策略。例如,特定用户或用户组可被允许访问特定计算资源。在一种使用场景中,可访问敏感的内部或机密信息的高级雇员可被限于仅仅访问诸如内部服务器群集等安全的计算资源。在相同的使用场景中,对公司内的敏感的内部文档具有有限访问的较低级的雇员可被允许访问可以在市场上购买的云计算服务,其中该云计算访问可由该组织的竞争对手或该组织之外的其他人访问。
用户级策略可定义针对特定用户的访问限制或许可。在一些情况下,用户级策略可定义可访问哪些类型的计算服务,可访问这些服务多久,或者关于用户对计算服务的访问的其他限制。
当可以创建批作业并将其发送到控制器设备时,用户可使用诸如用户标识和口令等第一组凭证来访问控制器设备。在一些情况下,该第一组凭证可以是硬件智能卡、个人标识号、证书或其他凭证集合。
控制器设备可针对批作业使用第二组用户凭证。第二组用户凭证可以与该用户相关联以使得该第二组凭证允许批作业由用户使用与第一组凭证相同的授权机构来执行。
因为第二组凭证在批作业中使用,所以启用若干场景。
在一个场景中,用户可使用常规的用户名和口令来访问控制器设备。控制器设备可获取第二组凭证并且导致使用用户的第二组凭证来执行批作业。当批作业正在执行时,用户的口令可能期满或者用户可能以其他方式改变口令。当用户改变口令时,第一组凭证无效并且被凭证的更新版本替换。如果批作业之前正使用第一组凭证来执行,则该批作业可能无法进行认证,因为该批作业不再具有一组有效凭证。
因为批作业可以与第二组凭证一起操作,所以可以在不影响批作业操作能力的情况下更新、改变或管理用户的第一组凭证。
在另一场景中,用户可以再次使用第一组凭证来访问控制器设备。控制器设备可获取第二组凭证并且导致使用用户的第二组凭证来执行批作业。在完成批作业之前的某一时刻,可以怀疑或检测远程计算服务中的安全违背。响应于该安全违背,可撤消第二组凭证。
当可以撤消第二组凭证时,可阻止批作业进一步访问任何用户相关数据或系统。例如,批作业可能无法访问用户控制的系统以报告来自批作业的结果。在许多实施方式中,批作业在其上操作的系统可以尝试响应于诸如例如Kerberos系统中的认证权证的期满来重新认证。这一重新认证请求可能由于可以撤消第二组凭证而失败。该失败可导致批作业中止。
在这种情况下,远程计算服务上的批作业的操作可通过在本地控制的环境中执行操作来停止。远程计算服务可以在由第三方控制并且用户可能无法直接访问的硬件平台上操作。然而,第二组用户凭证可以在其中用户可访问的受控环境中管理。
第二组凭证可以是可以用硬件或软件实现的智能卡认证。智能卡可以是可使用可被存储在智能卡中的密钥来解密传入信息的安全设备。在硬件实现中,硬件智能卡可具有可接收传入信息并执行解密的小型处理器。硬件实现可具有可抵挡或阻止访问存储在智能卡内的密钥的各种特征。
在软件实现中,智能卡的逻辑和密钥可以在安全证书中实现。安全证书可以是硬件智能卡的软件版本并且可使用可仿真硬件智能卡的驱动程序来访问。在一些实施方式中,安全证书可以像硬件智能卡那样操作,因为安全证书能够在抵抗确定内部秘密的同时解密输入。
在另一实现中,远程设备可配置有可接收对智能卡的任何请求并将该请求重定向到另一设备的重定向驱动程序。例如,这些请求可被重定向到控制器设备,其中可存储软件智能卡证书,或者硬件智能卡或硬件安全模块可位于其中。这一实现可确保即使当计算设备可能并未处在安全环境中时也在安全环境中维护智能卡信息。
第二组凭证可以是比第一组凭证存活更久的一组凭证。例如,智能卡类型的凭证可以不具有任何期满日期,而一组用户名和口令凭证可被设为每90天期满,除非改变口令。
实施方式100示出了可以从客户机设备130和132接收批作业请求的控制器设备102。认证服务器138可以为控制器设备102验证从客户机设备130和132接收到的凭证。控制器设备102可以将批作业发送到各个远程计算服务,包括各个远程计算设备152、云计算服务154和服务器群集158。
控制器设备102被示为具有硬件组件104和软件组件106。如图所示,控制器设备102表示常规计算设备,但其他实施方式可具有不同配置、体系结构、或组件。
控制器设备102可以是服务器计算机、台式计算机或类似设备。在一些实施方式中,控制器设备102可以是膝上型计算机、上网本计算机、图形输入板或平板计算机、无线手机、蜂窝电话、或任何其他类型的计算设备。
硬件组件104可以包括处理器108、随机存取存储器110、以及非易失性存储112。硬件组件104还可以包括用户接口114和网络接口116。
硬件组件104可包括硬件安全模块118。硬件安全模块118可以是用于管理数字密钥的一种类型的安全细胞处理器(cytoprocessor)。硬件安全模块118可能难以从外部设备进行攻击,并且可以在安全区域受到物理保护。
在许多实施方式中,硬件安全模块118可以用来存储和处理远程设备的智能卡凭证。
软件组件106可以包括若干应用程序和服务可在其上操作的操作系统120。
批作业控制器应用程序122可接收批作业请求,应用访问策略126中定义的各种策略,并且将批作业置于批作业队列124中。当准备好执行批作业时,批作业控制器应用程序122可以与远程计算设备通信并且导致执行批作业。
批作业控制器应用程序122可提供凭证或用于对正在远程计算服务上执行的批作业进行认证的机制。用于批作业的凭证可以是用户凭证,但第二组用户凭证与用来在执行批作业时认证用户的用户凭证分开。
第二组凭证可以在批作业准备好执行时创建。在一些实施方式中,可以为每一个批作业创建单独的一组凭证。这些实施方式在分开且独立地具有对每一个批作业的控制是有用的情况下可能是有用的。
在一些实施方式中,远程计算服务可由许多不同的计算机或计算机组组成。在这些实施方式中,可以比其他计算机更多或更少地信任一些计算机。在一些实施方式中,可以为用于执行单个批作业的计算机或计算机组中的每一个创建单独的一组凭证。在用户或管理员可能希望在执行批作业期间取消或撤消单个计算设备或计算设备组的凭证的情况下,这些实施方式可以是有用的。
在一些实施方式中,批作业控制器应用程序122可以在接收批作业之前具有第二组凭证。在一个示例中,管理员可以用计算设备的每一个许可用户的身份来配置该计算设备。在配置用户身份时,可通过将这些第二组用户凭证存储在认证服务器138中来将第二组凭证与每一个用户的本地凭证相关联。每一次批作业可以准备好执行时,批作业控制器应用程序122可检索第二组凭证并且导致使用该第二组凭证来执行批作业。
访问策略126可定义哪些用户或用户组可访问哪些远程计算服务(如果有的话)。在一些情况下,特定用户组或用户类型可访问特定远程计算服务组或类型,而其他用户可被限制访问同一服务。例如,可以建立远程计算服务以执行安全的金融交易。可以定义只允许特定用户具有向远程计算设备发送批作业的能力的访问策略。
批作业队列124可以是在执行之前存储批作业的储存库或数据库。在一些情况下,批作业可被调度成在特定时刻执行,诸如特定时区中的午夜。在另一示例中,批作业可被调度成在另一批作业完成时或特定资源集变得可用时执行。
环境100的示例示出了局域网128,其中客户机设备130和132可以与控制器设备102和认证服务器138通信。在局域网128中,通常存在适当的物理安全措施以限制对网络的访问。例如,局域网可以在家里或在办公楼里。由此,到网络的物理连接可提供对网络上的设备的某种访问控制。由于物理安全性,用于从局域网外部访问资源的凭证可以比用于访问局域网上的资源的凭证更严格。
在局域网128中,用户134和136可分别登录到客户机设备130和132。在登录操作期间,设备130和132可执行对认证服务器138的查询以确定用户是否具有许可来进行登录。如果用户具有许可,则登录可以完成。如果用户不具有许可或者如果由用户呈现的凭证不匹配存储在认证服务器138中的凭证,则可以拒绝用户登录。
在典型的登录顺序中,用户可呈现用户标识,该用户标识可以是用户名和口令。在某些情况下,用户可具有可被插入到智能卡读取器中的硬件智能卡。这一用户可能必须或并非必须还输入个人标识号或口令。凭证可通过与认证服务器138通信来验证。
认证服务器138可以是与控制器设备102分开的设备。在一些实施方式中,认证服务器138和控制器设备102的功能可以组合到同一硬件平台中。
认证服务器138可以为连接到局域网128的设备以及其他设备提供认证服务。认证服务可具有轻量级目录访问协议(LDAP)或其他类似服务的形式。
在一些实施方式中,认证服务器138可提供基于Kerberos的认证。Kerberos是一种供连接到网络的设备彼此证明其身份的机制。以简化方式,Kerberos系统与认证服务器一起操作,该认证服务器可以响应于适当的认证来发放权证。权证可被传递至另一设备,该设备可接受该权证作为认证证明。有了Kerberos系统,认证服务器138可认证请求并发放权证。
认证服务器138的体系结构可具有硬件平台140、操作系统142以及可访问用户数据库146的认证引擎144。硬件平台140可表示如为控制器设备102的硬件组件104示出的相同硬件组件。
认证引擎144可以是用于接收和响应认证请求的机制。认证引擎144可使用Kerberos协议或任何其他认证协议来认证。在某些情况下,认证引擎144可单独地或结合其他协议来使用因特网密钥交换、IPSec、点到点协议、传输层安全或其他密码协议。
用户数据库146可以是LDAP数据库或可存储用户信息的其他数据库。
远程计算服务可采取若干形式。在实施方式100的示例中,远程计算服务可通过到广域网150的网关148来访问。在其他实施方式中,远程计算服务可位于局域网128中。
远程计算服务可由其上可执行批作业的一个或多个计算设备组成。在许多大型批作业中,可使用多个处理器来执行批作业。在一些大型批作业中,数百或数千或甚至数十万个设备可用来执行批作业。
远程计算服务的一个示例可以是一组远程计算设备152。远程计算设备152可以是可被定制成执行计算上繁重的操作的服务器计算机或其他高功率计算机。在另一示例中,远程计算设备152可以是被配置成将批作业作为后台进程来执行或者在没有其他操作在该设备上执行时执行批作业的一组台式计算机。
每一个远程设备152都可具有使用凭证来认证的机制。凭证可允许批作业具有对用户可访问位置的访问以存储结果或访问用户提供的数据。例如,批作业可访问局域网128内的数据库以检索数据。在这一检索期间,批作业可使用控制器设备102提供的第二组用户凭证来认证和访问数据。
一种用于提供认证凭证的机制可以是向每一个远程计算设备152传送软件智能卡154。在这一实施方式中,批作业可包含用于认证用户的凭证。
在另一机制中,每一个远程计算设备152都可包含用于智能卡查询的遥送(remoting)应用程序。该遥送应用程序可截取对智能卡查询的任何请求并且将该查询转发或至另一设备。遥送应用程序可被配置成将查询转发至控制器设备102(在一些实施方式中)、认证服务器138(在其他实施方式中)、或实施方式100中未示出的又一设备。
云计算服务156可以是使用数据中心来提供计算服务的远程服务。在一些实施方式中,云计算服务可以是为包括控制器设备102在内的许多不同的客户机提供计算服务的数据中心。在一些这样的实施方式中,云计算服务可以具有或不具有其上可执行批作业的多个设备的概念。在一些实施方式中,云计算服务156可具有其上可执行批作业的多个虚拟机。
服务器群集158可以是可以一起操作以提供计算服务的一组服务器。在一些实施方式中,服务器群集158可具有可允许高效地利用计算资源的负载平衡能力或其他功能。
图2是示出用于处理批作业的方法的实施方式200的时间线图示。实施方式200的过程是客户机设备204、批作业控制器206、认证服务器208和远程设备210可以如何交互以建立并执行批作业的简化示例。
其他实施方式可以使用不同的序列、更多或更少的步骤、以及不同的命名或术语,来完成类似功能。在一些实施方式中,各种操作或操作集合可以与其他操作并行执行,或是以同步方式或是以异步方式。此处所选的步骤是为了以简化的形式示出一些操作原理来选择的。
实施方式200在左手栏示出了客户机设备204的操作,在第二栏示出了批作业控制器204的操作,在第三栏示出了认证服务器208的操作,并且在右手栏示出了远程设备210的操作。客户机设备204可以与实施方式100的设备130或132相对应。批作业控制器204可以与控制器设备102相对应。认证服务器208可以与认证服务器138相对应,而远程设备210可以与实施方式100的各种计算服务中的任一个相对应。
实施方式200示出了其中批作业控制器可以将用户凭证传送至远程设备的实施方式。在某些情况下,用户凭证可具有智能卡证书的形式。
在框212中,客户机设备204可接收用户凭证并且在框214中可以将这些凭证传送至认证服务器208。用户凭证可具有用户名和口令、智能卡凭证或任何其他类型的凭证的形式。
在框216中,认证服务器208可接收凭证,在框218中对凭证进行认证,并且在框220中传送认证权证。在框222中,权证可由客户机设备204接收。认证服务器可通过将接收到的凭证对照存储在用户数据库中的凭证进行比较来认证凭证。在某些情况下,凭证可涉及使用公钥私钥加密系统来解密传输。
在一些实施方式中,认证服务器208传送的权证可表示Kerberos权证。权证可以是可由客户机设备204识别的消息。
在框224中,客户机设备204可创建批作业。批作业可以是可以在另一计算设备上执行的任何类型的计算作业。在一些实施方式中,批作业可以是大型的、计算上昂贵的项目,诸如大型工程模拟或具有复杂计算的其他项目。在其他实施方式中,批作业可以是经调度的事件,诸如以预定间隔执行数据收集。
在框226中,客户机设备204可将凭证传送至批作业控制器206,在框228中,批作业控制器206可接收凭证。在框230中,批作业控制器206可将凭证传送至认证服务器208。在框232中,认证服务器208可接收凭证,在框234中对凭证进行认证,并且在框236中将认证传送至批作业控制器206。在框238中,批作业控制器206可接收权证。一旦接收到权证,就可以在框240和242中在客户机设备204和批作业控制器206之间建立安全会话。
框226到238的操作示出了一种用于在客户机设备204和批作业控制器206之间进行认证的方法。其他实施方式可使用不同的认证顺序和各种认证机制来建立通信会话。
在一些实施方式中,客户机设备204和批作业控制器206之间的通信会话可能不是安全连接。例如,在局域网中的域环境中,各种设备之间的连接可基于先前认证或基于各种设备的已知物理位置来信任。
一旦在客户机设备204和批作业控制器206之间建立通信会话,客户机设备204就可在框244中传送批作业,批作业控制器可以在框246中接收该批作业。
在框248中,批作业控制器206可确定第二组凭证。在一些实施方式中,该第二组凭证可以在接收到批作业之后创建。在其他实施方式中,第二组凭证可以在接收到批作业之前创建。在这些实施方式中,批作业控制器206可以在框248中从存储位置中检索该第二组凭证。
在框250中,批作业控制器206可将第二组凭证传送至认证服务器208,该认证服务器208可以在框252中接收该第二组凭证。在框254中,认证服务器208可将第二组凭证与用户相关联。
框254中的关联第二组凭证的动作可给予该第二组凭证作为凭证的“头等”状态。“头等”状态可指示该组凭证不依赖于任何其他凭证集合。在这些实施方式中,在框212中呈现的用户的第一组凭证以及第二组凭证两者都可被认为是“头等”凭证。例如,第一组凭证或第二组凭证可以在不影响另一组凭证的情况下改变。一组凭证可以在不撤消另一组凭证的情况下撤消,并且一组凭证可以在不改变另一组凭证的情况下改变或更新。
在框256中,批作业控制器206可将批作业传送至远程设备210,在框258中可接收该批作业。在一些实施方式中,批作业控制器206可以将批作业的各个部分发送到各个远程设备。在这些实施方式中,批作业控制器206可单独联系每一个远程设备并将该部分发送到该设备。为简明起见,所有远程设备的动作被示为实施方式200中的一个远程设备的操作。在一些这样的实施方式中,每一个远程设备都可以独立操作。
在框260中,远程设备可以用用户凭证来执行批作业。用户凭证可允许批作业在某些情况下用用户账户登录到远程设备。用户凭证可由批作业用来访问与该用户账户相关联的数据。例如,可以保护数据库免遭非认证用户访问。在这一示例中,批作业可通过使用批作业控制器提供的用户凭证来获取对数据库的访问。
在批作业已被传送至远程设备210之后,用户可以在框262中更新或改变第一组凭证。例如,可以更新或改变用户口令。即使用户的第一组凭证可以在框260中改变,批作业所使用的第二组凭证也可以保持不受影响。
远程设备210可以在框264中传送第二组凭证,该第二组凭证可由客户机设备204在框266中接收。客户机设备204可以在框268中将凭证传送到认证服务器208,认证服务器208可以在框270中接收凭证。认证服务器208可以在框272中对凭证进行认证并且在框274中传送权证。客户机设备204可以在框276中接收权证并且在框278和280中可以建立安全的通信连接。
如同上文中的框226到238,框264到276的操作对于其他实施方式可以是不同的。
一旦在框278和280中创建通信信道,远程设备210就可以在框282中传送结果,该结果可由客户机设备204在框284中接收。
图3是示出使用软件智能卡证书的实施方式中的远程设备执行的操作的实施方式300的时间线图示。实施方式300的操作是远程设备在执行批作业时可以执行的操作的简化示例。
其他实施方式可以使用不同的序列、更多或更少的步骤、以及不同的命名或术语,来完成类似功能。在一些实施方式中,各种操作或操作集合可以与其他操作并行执行,或是以同步方式或是以异步方式。此处所选的步骤是为了以简化的形式示出一些操作原理来选择的。
实施方式300示出了远程设备使用智能卡证书来进行的操作。智能卡证书可以是可用于加密和解密数据的安全证书。在一些实施方式中,智能卡证书可包含私钥和公钥。私钥可以是包含在证书中的秘密,并且可能非常难以从证书中提取。
在框302中,可以从批作业控制器接收对安全通信信道的请求。作为响应,可以在框304中创建安全通信信道。可在框306中接收批作业。在框308中,可以接收软件智能卡证书。
在其中远程设备可以位于局域网之外(诸如位于因特网上的远程设备)的实施方式中,安全通信信道可以是有用的。安全信道可使用安全套接字层(SSL)或其他通信协议来创建。
在许多情况下,软件智能卡证书可以是对用户对其具有许可的任何系统或数据库具有完全的用户级访问的凭证。由此,软件智能卡证书可使用安全信道来传送以避免凭证被偷或误用。
在执行诸如框310中的启动用户账户以及框312中的使用该账户来执行批作业等操作时,智能卡证书可代替硬件智能卡来使用。
在框314中,可作出建立到客户机设备的安全通信信道的请求,可以在框316中建立该安全通信信道。一旦建立该信道,就可以在框318中尝试使用智能卡证书来进行登录。
如果在框320中登录被拒绝,则可以在框322中终止通信。如果在框320中登录被接受,则可以在框324中将结果传送至客户机。
在一种使用场景中,智能卡凭证可以在执行批作业的同时被撤消。例如,在远程设备中的一个上可能出现安全违背。管理员可以撤消智能卡凭证以使得违背设备不再能够访问用户身份,而不是试图访问每一个远程设备并停止批作业。
图4是示出用遥送的智能卡执行的操作的实施方式400的时间线图示。实施方式400的过程是批作业控制器402和远程设备404可以如何使用重定向的智能卡配置来进行交互的简化示例。
其他实施方式可以使用不同的序列、更多或更少的步骤、以及不同的命名或术语,来完成类似功能。在一些实施方式中,各种操作或操作集合可以与其他操作并行执行,或是以同步方式或是以异步方式。此处所选的步骤是为了以简化的形式示出一些操作原理来选择的。
实施方式400是在远程设备404配置有用于智能卡认证的重定向或遥送系统时可以在批作业控制器402和远程设备404之间进行的交互的示例。远程设备404可以安装截取对智能卡认证的请求并通过安全信道将该请求传送至另一设备的驱动程序。在实施方式400中,请求可被重定向到可处理该请求的批作业控制器402。
实施方式400是其中使用智能卡认证,但智能卡凭证可以位于受控环境中的系统的示例。作为比较,实施方式300是其中智能卡证书可被传送至每一个远程设备的实施方式的示例。实施方式400可以是其中智能卡凭证可位于单个位置并且可以限制对智能卡的访问的系统的示例。
在框406中,批作业控制器402可请求安全通信信道。该请求可由远程设备404在框408中接收,并且可以在框410和412中建立安全通信信道。
批作业控制器402可以在框414中传送批作业以便执行,远程设备404可以在框410中接收该批作业。
在框418中,批作业控制器402可传送用于智能卡的重定向驱动程序,远程设备404可以在框420中接收该驱动程序。在框422中,可以安装重定向驱动程序。
在执行批作业期间,远程设备404可生成对认证凭证的请求。重定向驱动程序可以在框424中截取请求并且在框426中将该请求重定向到控制器。
批作业控制器402可以在框428中接收请求,在框430中处理请求,并且在框432中生成响应。可以在框434中传送响应并且由远程设备404在框436中接收响应。该响应可用于满足凭证请求并且远程设备404可以在框438中继续操作。
以上对本发明的描述是出于说明和描述的目的而提出的。它不旨在穷举本主题或将本主题限于所公开的精确形式,且鉴于以上教导其他修改和变型都是可能的。选择并描述实施方式来最好地解释本发明的原理及其实践应用,从而使本领域的其他技术人员能够在各种实施方式和各种适于所构想的特定用途的修改中最好地利用本发明的技术。所附权利要求书旨在包括除受现有技术所限的范围之外的其他替换实施方式。