具体实施方式
应该容易理解,在附图中一般描述的本发明的各组件可以以各种不同配置来安排和设计。因此,如图1至8所示的本发明的装置、***和方法的多个实施例的下面更详细描述并不旨在限制本发明的范围,而只是代表本发明的所选实施例。
在本说明书中所述的很多功能单元均被标注为模块,这是为了更加强调它们的实现独立性。例如,模块可以实现为包括定制VLSI电路或门阵列的硬件电路、现成的半导体如逻辑芯片、晶体管或其他分立组件。模块也可以采用诸如场可编程门阵列、可编程阵列逻辑、可编程逻辑器件等来实现。
模块也可以采用软件来实现以由各种处理器执行。可执行代码的标识模块例如可以包括一个或多个计算机指令物理或逻辑块,这些块可以组织为对象、过程、函数或其他构造。但是,标识模块的可执行代码无需在物理上位于一起,但是可以包括存储在不同位置上的不同指令,当这些指令在逻辑上连接在一起时,构成该模块并且实现该模块的规定目的。
实际上,可执行代码的模块可以是单条指令或者很多指令,并且甚至可以分布在若干不同代码段上、不同程序之间和若干存储器器件之间。类似地,操作数据在此也可以在模块内标识和阐明,并且可以以任何适当形式实施并且组织在任何适当类型的数据结构内。操作数据可以集中为单个数据集,或者可以分布在不同位置上,包括不同存储设备上,并且可以至少部分地仅作为***或网络上的电子信号存在。
在本说明书中引用“一个实施例(one embodiment)”或“实施例(aembodiment)”意味着结合该实施例所述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在本说明书内的各个地方出现短语“在一个实施例中”或者“在实施例中”不一定全都是指同一实施例。
此外,所述特征、结构或特性可以在一个或多个实施例中以任何适当方式组合。在下面描述中,提供了众多特定细节如编程例子、软件模块、用户选择、网络事务、数据库查询、数据库结构、硬件模块、硬件电路、硬件芯片等以对本发明的各实施例提供彻底的理解。然而,相关领域的技术人员应该认识到,本发明可以在没有这些特定细节中的一个或多个的情况下实施,或者可以采用其他方法、组件、材料等实施。在其他情形下,公知的结构、材料或操作未被示出和详述以避免模糊本发明的各方面。
本发明的所示实施例通过附图将会得到更好的理解,其中,相同部件始终以相同的标号表示。下面描述仅作为例子给出,并且简单地示出这里所述的根据本发明的装置、***和过程的特定所选实施例。
图1示出适于实现本发明的代表性***100的一个实施例的示意方框图。***100包括通过通信网络106耦合于目标***104的远程***102。本发明允许对目标***104进行远程用户受到管制(remote-user-regulated)、加以跟踪、短期的远程访问。
远程***102允许远程用户使用连接到远程***102的传统I/O(输入/输出)设备(未示出)如监视器、键盘和鼠标与目标***104进行交互,就像是远程用户操作直接连接到目标***104的相应I/O设备一样。一旦建立了远程通信连接,则在远程***102与目标***104之间交换I/O信息。最好,远程***102和目标***104以足够的速率交换I/O信息以最小化用户输入与响应之间的延迟。
提供基本I/O功能性典型地不需要大量硬件或软件资源。因此,包括各种I/O设备的各种计算机***可以用作远程***102。例如,远程***102可以包括大型计算机、服务器、个人计算机、哑终端、手持计算机等。
目标***104包括希望对其进行远程访问的任何计算机***。目标***104可以包括大型计算机***、数据存储管理***、个人计算机或者配置成允许远程访问以与目标***104进行接***互的任何子***。如上所述,在某些实施例中,目标***104包括VTS***。或者,目标***104可以包括用于一个或多个子***的控制器如虚拟磁带控制器(VTC)、总存储主控制台(TSMC)等。目标***104可以包括计算机***的实际硬件组件或虚拟组件。最好,目标***104例如可以由网际协议(IP)网络106上的IP地址唯一标识。
远程***102和目标***104在通信网络106上使用公知的协议通信。最好,这些协议对在网络106上传递的各个消息进行加密。除了通信协议之外,远程***102和目标***104可以执行一个或多个软件模块和/或协议来提供远程访问。这些***的代表性例子包括Telnet、Rlogin、终端服务等。
通信网络106可以包括支持远程访问软件模块和/或协议的任意大小或配置的公共或私有网络。另外,通信网络106可以包括有线或无线存储区域网(SAN)、局域网(LAN)、广域网(WAN)或不同类型的网络如因特网。
如上所述,本发明以适当平衡在合理时间段内授权用户的远程访问需要与目标***的安全需要的方式提供远程访问。一旦用户被连接,本发明还限制远程用户的容许操作,并且跟踪由远程用户执行的操作。
图2示出本发明的一个实施例的逻辑方框图。希望对目标***104进行远程访问的远程用户202操作远程***102。远程***102发起与目标***104的通信。远程***102不能对目标***104执行除了请求远程访问以外的任何功能。
响应来自远程***102的通信,目标***104请求第一密码204。最好,目标***104还请求用户ID(未示出)。典型地,***使用用户ID来跟踪和识别远程用户202。因此,用户ID可以不像密码那样保密地来保管。用户ID还可以根据远程访问上下文来容易地猜测。例如,一般远程访问可能要求典型地是用户姓名、首字母缩写或者其某一组合的用户ID。本领域的技术人员应该认识到对于本发明所述的每个密码,最好存在相关联的用户ID。然而,为了将注意力集中于本发明,并且由于用户ID典型地用于与远程访问相关的跟踪和管理目的,这里不对它们作详细讨论。
远程***102跨越网络106发送第一密码204。目标***104确认第一密码204是正确的并且作为响应发送加密密钥206。最好,加密密钥是ASCII字符的难解序列。
下一步,远程***102发起与授权模块208的通信。在建立与授权模块208的通信之前,远程***102提供第二密码210和相关用户ID。最好,授权模块208响应正确的第二密码210和用户ID登录远程用户202。远程***102最好还与第二密码210一起或者单独发送加密密钥206。
最好,远程***102在单独的通信网络212上与授权模块208通信。在某些实施例中,通信网络212是可由预定一组用户访问的安全内部网。或者,通信网络212可以是公共网络,或者甚至是与远程***102与目标***104之间的通信网络106相同的网络。在某些实施例中,在通信网络212或通信网络106上交换的所有通信数据分组均经过加密以获得附加的安全性。
在一个实施例中,与登录远程用户202相结合,授权模块208试图在授权用户列表214内识别远程用户202。如果授权模块208在授权用户列表214内没有找到远程用户202,则不将远程用户202登录到授权模块208。如果在授权用户列表214内识别出远程用户202,则授权模块208对加密密钥206进行解密。
授权模块208从加密密钥206的解密型式中获得唯一第三密码216。授权模块208将第三密码216发送到远程***102,并且使远程用户202从授权模块208退出登录。
再次,远程***102发起与目标***104的通信。下一步,远程***102提供第三密码216而不是第一密码204。另外,远程用户202可以随同第三密码216一起提供唯一于那个用户的用户ID。以这种方式,可以跟踪特定远程用户202的操作。
如果目标***104确定第三密码216正确,则登录远程用户202,并且建立远程通信连接。最好,第三密码216仅在短时期内有效。例如,所选时间段可以为24小时。或者,第三密码216的持续时间可以包括预定登录次数如五次。在另一替代方案中,该持续时间可以依赖于特定时间段内的登录次数。
一旦远程用户202被登录,则目标***104可以限制远程用户202可以在远程连接上执行的操作,并且还可以对远程用户202所采取的操作进行日志记录。受限操作可以由第一密码204或第三密码216规定。
图2示出本发明提供一种用于对目标***进行授权远程访问的独特装置、***和方法。首先,如果远程用户202提供三个单独密码204、210、216,则本发明建立远程通信连接。一旦加密密钥被授权模块208解密,则第三密码216变得可用。其次,远程用户202可以在授权用户列表214内识别以获得第三密码216。最后,远程访问在短时期内可用,并且对远程用户202的操作进行详细的日志记录。
图3从目标***104的角度示出用于对目标***进行授权远程访问的方法300。该方法开始302于远程用户202期望对目标***104进行远程访问时。在某些实施例中,目标***104的拥有者与远程用户202之间不存在任何正式关系。可理解地,目标***104的拥有者可能不愿意允许远程用户202访问目标***104。如果目标***是包括高度敏感数据的数据存储***,则更是如此。
在某些情形下,目标***104的制造商可能与目标***104的拥有者具有维护、修复目标***104或监视其性能的职责。由于远程访问节省成本及其方便性,制造商可能希望通过远程访问来为目标***104的拥有者完成该职责。假如采取最严格的安全防范措施,则目标***104的拥有者可能同意。图3所示的实施例的方法300包括这些可选安全防范措施之一。
在某些实施例中,可能要求远程用户202完成304远程访问申请过程。保护保密信息和/或目标***104经常涉及要求只有需要知道或者需要访问的那些人才被提供该访问。远程访问申请过程是确保只有需要进行远程访问的那些人才被授权进行该访问的一种方法。
远程访问申请过程在本发明的范围内可能具有各种形式。在一个实施例中,远程用户202可以填写(fill out)远程访问申请。最好,该申请使用纸张或在线形式人工完成。该申请可能要求来自远程用户202的信息如他/她的职别、雇主、个人基本信息等。该申请还可能要求有关远程用户证明和技能的信息如教育、技能、执照、阅历、项目历史等。该申请的形式和格式对于本发明不是关键的,但是最好提供足够的信息使得申请审查者能够公正地确定远程***102的资格和可信赖度。
另外,该申请可能允许远程用户202标识对于目标***104期望的远程访问级别。最好,本发明允许远程访问的受限级别,直到完全访问级别,以远程执行可以在目标***104上本地执行的操作。
然后,将所完成的申请提供给远程***102的一个或多个管理者。在上述上下文中,远程用户202可以是有义务利用远程访问服务目标***104的制造商的雇员。在本上下文中,直接管理者并且在一些实施例中区域管理者可以审查远程访问申请。管理者可以仅由制造公司指定,或者采用来自目标***104的拥有者的输入来指定。
管理者以及可能地目标***104的拥有者批准或拒绝远程访问申请。如果申请被批准,则向远程用户202提供第一密码204。另外,在授权用户列表214中输入标识远程用户202的信息。如果申请被拒绝,则可以向远程用户202进行通知。
一旦远程用户202尝试登录到目标***104中,则方法300通过将加密密钥206发送到远程***102来继续。如上所述,远程用户202然后连接到授权模块208。如果远程用户202在授权用户列表214上并且提供正确的第二密码210,则授权模块208对加密密钥206进行解密以检索第三密码216。下一步,响应提供第三密码216,允许远程***102连接308到目标***104,并且方法300结束310。
图4从目标***的角度示出用于对目标***进行授权远程访问的方法400的一个实施例。首先,远程***102连接402到目标***104。连接远程***102与目标***104可能涉及各种公知的硬件组件和通信协议,这些对于本发明不是关键的。例如,在一个实施例中,远程***102采用连接到目标***104的调制解调器(未示出)在普通旧式电话(POTS)网络上通信。
在建立通信连接之前,调制解调器可能可选地要求密码。在某些实施例中,多个目标***104可能共享单个串行交换机(未示出)来实现远程访问。最好,串行交换机还要求周期性地如按月改变的密码。本领域的技术人员应该认识到调制解调器和串行端口的功能也可以由其他通信网络106上的网关、路由器、防火墙或服务器执行。
下一步,远程用户202登录404到目标***104中。典型地,登录涉及根据提示输入用户ID和相应密码。因此,在此所指的以用户ID或密码登录隐含地包括输入和认证两者,即使两者不总是一起被描述,也是如此。典型地,目标***104允许各种密码,并且具有良好定义的一组许可用户ID。采用良好定义的用户ID,目标***104可以根据用户ID有条件地采取特定操作。
在某些实施例中,远程***102根据远程访问连接的当前阶段,输入两个用户ID之一和相应密码。第一阶段是当远程用户202尚未接收到第三密码216时。第二阶段开始于以用户ID和已知第三密码216登录到目标***104。用户ID可能唯一于远程用户202以帮助一旦远程访问连接被建立则跟踪操作。
在一个实施例中,在第一阶段期间,远程用户202输入认证ID和第一密码204。第一密码仅允许远程用户202获取获得第三密码216所需的加密密钥206。第三密码216向远程用户202提供特定访问级别下的访问。访问级别可以由第一密码204、认证ID或两者规定。
下一步,判定406标识符(认证ID或用户ID)和密码(第一或第三)是否有效。如果提供408三个无效用户ID和密码组合,则目标***104终止与远程***102的通信连接。
如果认证ID和第一密码204有效,则方法400通过判定410是提供了第一密码204还是提供了第三密码216来继续。如果提供了第一密码204,则在某些实施例中,判定412远程用户202是本地的(物理上位于与目标***104相同的场所)还是远程的即不在现场的。可以向远程用户202提示输入有关远程用户位置的信息。
如果远程用户202是远程的,则生成414第三密码216和加密密钥206。下一步,向远程用户202显示416加密密钥206。如下面更详细地所述,然后使用授权模块208对加密密钥206进行解密。
在某些实施例中,远程用户202可以被要求(未示出)提供他/她的用户ID。采用用户ID,目标***104可以创建与用户ID和第三密码216相关联的临时用户帐户。最好,第三密码216是随机且临时的。另外,第三密码216和/或加密密钥206可以包括用户ID以由授权模块208以后进行认证。
最好,加密密钥206包括用户ID和第三密码216。加密密钥206可以具有任意长度,并且最好采用ASCII字符。加密密钥206可以使用各种加密算法包括块和流加密技术如数据加密标准(DES)、Vernam等来生成。
如果判定412远程用户202实际上是本地的(物理上位于与目标***104相同的场所),则在仅对现场操作员可见的***显示器的本地显示上显示418访问代码。现场用户必须正确输入420访问代码。下一步,判定422访问代码是否正确。一旦访问代码被正确输入,则生成424第三密码216并且将其显示426给本地用户。本地用户被准许登录428。如果访问代码未被正确输入,则可以向本地用户再次显示访问代码。
如果远程用户202具有正确第三密码216,并且判定410输入了正确用户ID和第三密码216,则方法400继续允许远程用户202登录428。最后,本地或远程用户202使用他/她的用户ID和第三密码216登录到目标***104中。
图5从授权模块208的角度示出用于对目标***进行授权远程访问的方法500。方法500允许授权远程用户202获得在上面有关图4所述的第二阶段期间登录所需的第三密码216。方法500开始502于远程用户202操作连接到授权模块208的远程***102时。
远程用户202使用他/她的用户ID和第二密码210登录504。最好,远程用户202维护规定和改变第二密码210的授权。最好,只有远程用户202才知道第二密码210。
下一步,判定506远程用户202是否可在授权用户列表214内识别。典型地,授权模块208扫描授权用户列表以搜索对远程用户的用户ID、密码或其组合的匹配。授权用户列表214可以采用各种格式包括基本存储器数据结构如数组和链表以及次级数据结构如文件、数据库等来存储。
在一个实施例中,适当完成远程访问申请过程的用户加到授权用户列表214。授权用户列表214可以周期性地被修改以消除不再需要进行远程访问的先前授权远程用户。该情形可以包括改变工作职责、解雇或辞退雇员等。标识远程用户202的记录可以在远程用户的个人帐户被终止时自动删除。
例如,在一个实施例中,授权模块208可以利用内部网上的公司(corporate)安全***,使用授权用户列表214和远程用户密码来确认远程用户的用户ID。因此,如果远程用户帐户已被终止,则即使远程用户的用户ID仍然在授权用户列表214中,用户密码也将不被确认。以这种方式,授权用户列表214的维护时间表不对目标***104带来安全风险。
如果在授权用户列表214内识别出远程用户202,则提示远程用户202输入加密密钥206。远程用户202然后输入508加密密钥206。授权模块208对加密密钥206进行解密510,并且从其获得第三密码216。为了对加密密钥206进行解密,授权模块208最好使用由生成加密密钥206的目标***104使用的相同密钥和加密技术。
获得第三密码216可以是简单的或复杂的。在一个实施例中,第三密码216串连到加密密钥206的解密型式中的其他信息串。因此,授权模块208简单地解析解密串以获得第三密码216。或者,目标***104可以使用一算法计算第三密码216或者对其进行编码。授权模块208可以使用相同算法来计算第三密码216或对其进行解码。
下一步,向远程用户202显示512第三密码216,并且方法500结束514。远程用户202现在具有足够信息来获得对目标***104的访问。一旦传送了第三密码216,则终止远程***102与授权模块208之间的通信。
回到图4,远程用户202使用他/她的用户ID和第三密码216登录404。远程用户202响应提示而输入信息。依照方法400直到远程用户202使用用户ID和第三密码216实际上被登录428。
图2示出本发明的装置中各模块的逻辑关系。图6和7示出用于对目标***进行授权远程访问的装置的特定实施例的进一步细节。图6示出配置成实现本发明的目标***104的代表性实施例。
在一个实施例中,目标***104包括安全模块602和通信接口604。安全模块602与通信接口604协作以提供安全远程访问。最好,与目标***104通信的请求定向到安全模块602。一旦建立了远程通信连接,则安全模块602将通信信息传到通信接口604。
最好,安全模块602是独立的,并且配置成安全模块602可以容易地耦合于任何目标***104中的现有通信接口604。例如,安全模块602可以包括来自通信接口604的单独一组提示以及实现上述方法400的功能。安全模块602可以包括实现有关方法400所述的特征的单个函数、软件对象、嵌入式微代码集,单独硬件组件等。
在一个实施例中,安全模块602包括认证模块606和日志模块608。认证模块606认证远程用户202输入了有效用户ID和第三密码216或者认证ID和第一密码204。另外,认证模块606生成第三密码216和加密密钥206。最好,第三密码216是在较短时间段内有效的随机密码216。而且,认证模块606管理与试图获得本地访问的用户进行交互。认证模块606包括用来实现这些功能的公知函数、算法、提示和接口组件。
在某些实施例中,认证模块606配置成确定第三密码216的有效生命期。例如,第三密码可能在二十四小时内有效。因此,认证模块606可能包括用于检测第三密码216何时过期的功能性。类似地,第三密码216可以限定于特定次数的远程访问连接如三次。认证模块606包括在第三次请求之后拒绝另外的远程访问连接请求。
认证模块606与日志模块608通信以收集用于识别从远程***102或现场用户进行访问的授权和未授权尝试的相关信息。当然,如下面更详细所述,所记录日志的粒度可能相差很大。在一个优选实施例中,记录足够的通信信息,使得可以跟踪和解决安全模块602中的潜在弱点。
最好,日志模块608记录时间戳、用户ID、密码和由远程用户202提供的其他响应。一旦建立了远程通信连接,日志模块608就还可以记录由远程用户202发出的命令和参数。日志模块608还可以包括由目标***104提供的响应的屏幕捕获。以这种方式,可以诊断和补救目标***104的不正确命令和/或响应。
另外,日志模块608可以记录由特定用户ID和密码组合作出的连接尝试次数(成功和不成功)。以这种方式,日志模块608允许跟踪授权和未授权用户的操作。最好,由日志模块608产生的日志存储在数据库中。
典型地,通信接口604包括用于提供远程访问的传统接口。通信接口604在目标***104与远程***102之间传递输入/输出(I/O)信息。I/O信息典型地分成使用公知通信协议如TCP/IP、NetBeui等通信的数据分组。数据分组可以包括目标***104要执行的命令、以及响应来自远程用户202的命令由目标***104提供的文本、图像、提示和其他信息。
最好,通信接口604允许远程用户202执行可以使用可用于现场用户的目标***104的用户接口(未示出)执行的相同操作或命令。以这种方式,远程用户202无需在物理上拜访目标***104。
在某些实施例中,可用于用户(远程或本地)的命令根据多个访问级别610a、610b、610c进行组织。最好,访问级别610a、610b、610c是分级的,从而每个访问级别610a、610b、610c逐级地使得更多命令可用。该分级关系由嵌套式访问级别框示出。因此,访问级别610a提供最小命令集。在一个实施例中,具有访问级别610a权限的用户可能被准许在目标***104上执行基本诊断和报告命令。具有访问级别610b权限的用户可能被准许执行访问级别610a下的所有命令以及在目标***104上执行错误恢复和/或维护命令。具有访问级别610c权限的用户可能被准许执行访问级别610b和访问级别610a下的所有命令以及在目标***104上以完全授权执行可用于用户的任何其他命令。
最好,访问级别610a、610b、610c由第一密码204和/或其相关用户ID确定。第一密码204和相关用户ID可以提供给选定一组用户例如根据远程访问申请过程被准许访问的那些用户。因此,不同第一密码204和用户ID组合可以与每个访问级别610a、610b、610c相关联。
根据所提供的第一密码204和用户ID组合,认证模块606可以为远程用户202规定目标***104上的临时用户帐户。临时用户帐户可以包括第一密码204和用户ID组合以及第三密码216。然后,当远程用户202输入他/她的用户ID和从授权模块208获得的第三密码216时,可以参考该临时用户帐户来认证远程用户202。
图7示出适于实现本发明的授权模块208的一个实施例。授权模块208包括登录模块702、确认模块704、密码模块706和解密模块708。这些模块协作以将诸如第三密码216的临时密码提供给期望对目标***104进行远程访问的远程用户202。
登录模块702响应连接请求建立通信连接。另外,登录模块702向远程用户202提示输入个人密码和个人用户ID。最好,个人密码对应于上述第二密码210。个人用户ID与个人密码210一起唯一标识远程用户202。
在一个实施例中,登录模块702通过在用户的主列表710中查询个人密码210和/或个人用户ID来验证用户身份。如果远程用户202在主列表710内不可识别,则终止与远程***102的连接。
主列表710包括可能潜在地被授权以对目标***104进行远程访问的所有用户。例如,主列表710可以包括常规性地服务或维护目标***104的制造商的所有雇员。或者,主列表710可以包括目标***104的拥有者的所有雇员。最好,主列表记录有关每个远程用户202的个人密码210、个人用户ID和其他标识信息。
在一个实施例中,为了提供附加安全性,如果在主列表710内识别出远程用户202,在确认模块704在授权用户列表214内验证远程用户的身份之前,登录模块702不建立通信连接。或者,登录模块702可以与确认模块704协作,以使用授权用户列表214来代替主列表710识别远程用户202。
确认模块704在授权用户列表214内识别远程用户202。确认模块704可以搜索该列表以获得匹配个人密码210、个人用户ID。在某些实施例中,授权用户列表214是主列表710的子集,并且包括全部相同信息,但是所包括的用户较少。或者,授权用户列表214可以仅包括正确识别远程用户202所需的信息如个人密码210和个人用户ID。在另一个替代方案中,授权用户列表214和主列表710可以包括相同列表。
如果在授权用户列表214内正确识别出远程用户202,则确认模块704向解密模块708通知建立了有效通信连接。在一个实施例中,解密模块708然后向远程用户202提示输入加密密钥206。或者,登录模块702可以提示输入加密密钥206。解密模块708使用目标***104所使用的相同加密算法和密钥对加密密钥206进行解密。解密模块708将加密密钥206的解密型式提供给密码模块706。
密码模块706从加密密钥206的解密型式获得诸如第三密码216的临时密码。在某些实施例中,在获得第三密码216之前,密码模块706确认由远程用户202提供给登录模块702的个人用户ID(和/或第二密码210)匹配由目标***104加入到加密密钥206中的用户ID。这确认相同远程用户202连接到目标***104以生成加密密钥206并且连接到授权模块208以对加密密钥206进行解密。
获得第三密码216可以是简单的或者复杂的。在一个实施例中,第三密码216简单地是加密密钥206的解密型式的预定后缀、前缀或中间部分。或者,第三密码216可以使用目标***104也使用的预定算法来获得或计算,不过当然该算法用于反向解密。
密码模块706将第三密码216传送到授权远程用户202。第三密码216可以通过I/O模块(未示出)来发送。最好,第三密码216显示在远程用户202的显示设备上。
最好,日志模块712在授权模块208上对登录到授权模块208和/或对加密密钥206进行解密的成功和不成功尝试进行日志记录。在授权模块208上由日志模块712生成的日志可以与来自目标***104的日志模块608的日志进行比较,以提供有关远程用户在对目标***104建立未授权远程访问的失败或成功尝试中的操作的更多信息。日志模块712可以记录时间戳、个人密码210和个人用户ID以及加密密钥206。
另外,授权模块208可以包括更新模块714。更新模块714允许根据需要人工或自动更新授权用户列表214。
对于人工更新,被授权修改授权用户列表214的用户可以连接到授权模块208,并且增加、删除或修改所列远程用户202的信息。这些更改可以由周期性地执行的内务(internal business)过程来发起以确保列在授权用户列表214中的远程用户202具有当前远程访问需要。随着有关远程用户的情况发生变化,远程用户的远程访问需要也发生变化。
在某些实施例中,更新模块714可以响应一段时间的过去或用户命令,周期性地发起主列表710与授权用户列表214之间的比较。比较标准可以使更新模块714在主列表710中找不到相同信息的情况下自动地从授权用户列表214中删除标识远程用户202的信息。以这种方式,更新模块714帮助保持授权用户列表214最新,使得从主列表710中删除但不是人工地从授权用户列表214中删除的不满远程用户没有机会获得对目标***104的未授权远程访问。
图8示出可以在本发明下用于对目标***进行授权远程访问的***800的代表性例子。***800包括远程***102、目标***104和授权服务器208。如上所述,远程***102可以包括能够在通信网络106上与目标***104交换I/O的任何计算机***。远程***102可以执行诸如终端服务、telnet等的很多远程访问程序之一。
远程***102可以使用多个通信网络106之一。例如,远程***102可以与连接到电话网络的调制解调器106a通信。或者,远程***102可以在诸如因特网106b的公共通信网络上通信。在另一个替代方案中,远程***102可以在内部网(未示出)上与目标***104通信。最好,远程***102与目标***104之间的通信可以通过使用在通信网络106上传递的各个数据分组的加密来保持安全。
如上所述,目标***104可以包括各种计算机***,其中包括大型***以及诸如控制器的子组件。在图8中,诸如虚拟磁带服务器(VTS)的数据存储***用作目标***104。远程用户202可能希望远程访问,从而完成VTS 104a上的维护或问题解决过程。
当然,多个VTS***104c、104d可以耦合于诸如总存储主控制台104b(TSMC)的单个控制台。TSMC 104b可以用作监视和控制VTS104c、104d的中央访问点。VTS 104c、104d中的一个或多个可以耦合于磁带库802(TL)或其他大容量存储设备。特定VTS 104c、104d的命令可以通过TSMC 104b定向。
VTS 104a或TSMC 104b可以包括类似于结合图6所述的安全模块602和通信接口604。或者,TSMC 104b可以包括将远程访问限制于预定访问级别610的安全模块602,并且通信可以通过VTS 104c、104d的通信接口604。
在某些实施例中,建立与TSMC 104b的远程通信连接仍然要求远程用户202单独登录到期望VTS 104c、104d。在这些实施例中,驻留在TSMC 104b上的安全模块602可以将新生成的第三密码216传播到每个所连接的VTS 104c、104d。第三密码216可以例如通过在每个所连接的VTS 104c、104d上创建远程用户202的临时帐户来传播。
最好,TSMC 104b或VTS 104a耦合于用于存储日志804的数据库。或者,日志804可以包括二进制或文本文件。日志804可以根据目标***104的拥有者的需要备份到更永久的存储设备中。
一旦远程用户202获得了加密密钥206,则在通信网络212上与授权模块208建立连接。最好,通信网络212包括由目标***104的制造商控制的安全内部网。
在图8中,授权模块208在授权服务器208上实现。授权服务器208可以包括专用于对授权远程用户202的加密密钥206进行解密的单独硬件。或者,授权服务器208可以包括在传统服务器上执行的软件模块。最好,授权服务器208在物理上独立且不同于远程***102和目标***104。
在某些实施例中,授权服务器208与存储授权用户列表214和主列表710的数据库通信。或者,主列表710可以存储在与授权服务器208通信的不同数据库中。而且,授权服务器208可以将日志806存储在相同数据库或不同数据库中。
总而言之,本发明提供了一种要求远程用户提供多个密码和/或用户ID给不同***的装置、***和方法。本发明提供了对目标***的功能性提供受限的远程访问,并且对成功远程连接和不成功远程连接尝试跟踪远程用户的操作。本发明将随机短期密码提供给远程用户。另外,本发明在尝试远程访问的时候确认输入用户标识符和密码的远程用户实际上就是授权个人。
本发明可以在不脱离本发明的精神或本质特征的情况下以其他特定形式实施。所述实施例在所有方面均被认为是示例性的而不是限制性的。因此,本发明的范围由所附权利要求而不是前面描述来表明。属于权利要求的等价含义和范围内的所有改变均包括在其范围内。