自动化密码管理的制作方法

文档序号:6485086阅读:217来源:国知局
自动化密码管理的制作方法
【专利摘要】实施例包括自动政策管理的密码管理系统。一个实施例管理在每设置的天数改变密码(在很少到没有用户交互的情况下)。同样,可以在从密码被用户查看的设置的时间量内进行密码改变。此外,实施例包括web服务,web服务包括“插入记录”方法来将密码管理记录插入管理的机器和/或数据库而不需要“预先工作”来使用web服务。例如,在经由web服务部署密码之前不需要在数据库和/或管理的机器上创建记录。web服务可以被推送给各个机器并且当web服务启动时,它可以将它自己的记录插入数据库或管理的客户机。这考虑了可扩缩性。本文描述了其它实施例。
【专利说明】自动化密码管理
【背景技术】
[0001]在数据中心内,在白天和夜晚的所有时候,本地密码需要对于多方可访问。常规上,这样的密码访问取决于手动实践(例如保持密码的手写笔记)。为了改进手动实践,存在软件实现的解决方案。然而,基于软件的技术过度地“用户中心”。例如,用户在本地在机器(例如服务器或客户机)上改变密码并且然后更新密码管理数据库。然而,在更新数据库之后这个用户保留新密码的知识。用户继续知道密码直到将来在某个阶段密码被再一次改变。因为安全原因,关于一个用户的知识的这种保留是不理想的。
[0002]密码管理的其它常规方法涉及在多个机器上设置单个密码。然而,因为在多个机器上使用相同密码,于是一个系统上的一个漏洞可以导致许多其它系统上的漏洞。其它技术也是有问题的。例如,当远程改变每个客户机的密码时,“服务器中心的”技术可使用活动目录帐户来依次通过客户机的列表。然而,这样做需要每个目标机器的高级特权。这还需要与每个机器非常紧的集成,从而使得密码管理系统的大量转出不实际(如果涉及许多目标机器)。
[0003]另外的其它方法简单地每天改变密码。然而,这也不能扩大规模到大量机器。例如,如果每天系统需要发出新密码给100个机器的每一个、接收切换的确认等等,则具有100个机器的数据中心可能有困难。同样,这样的系统可能需要在系统改出密码之前创建客户机的数据库记录。这也通过使密码管理服务的初始转出复杂化而导致差的可扩缩性。
【专利附图】

【附图说明】
[0004]从所附权利要求、以下一个或多个示例实施例的【具体实施方式】以及对应附图中,本发明的实施例的特征和优势将显而易见,其中:
图1包括本发明的一个实施例中的客户机架构。
[0005]图2包括本发明的实施例中的示意流程图。
[0006]图3包括本发明的实施例中的示意流程图。
【具体实施方式】
[0007]在以下描述中,阐述了许多特定细节,但是在没有这些特定细节的情况下也可以实践本发明的实施例。未详细示出众所周知的电路、结构和技术以避免使这个描述的理解变得模糊。“实施例”、“多个实施例”和指示这样描述的一个或多个实施例的类似物可包括特定特征、结构或特性,但是不是每个实施例必定包括特定特征、结构或特性。一些实施例可具有为其它实施例描述的特征中的一些、所有或不具有这些特征。“第一”、“第二”、“第三”等等描述共同对象并且指示指类似对象的不同实例。这样的形容词不暗示这样描述的对象在时间上、空间上在排序上或以任何其它方式必须按照给定的顺序。“连接的”可指示元素互相直接物理或电接触,并且“耦合的”可指示元素互相合作或交互,但是它们可能或可能不直接物理或电接触。同样,在不同附图中,虽然类似或相同数字可用于标明相同或类似部分,但是这样作并不意味着包括类似或相同数字的所有附图构成单个或相同实施例。[0008]实施例包括基于健壮的自动政策的密码管理系统。例如,实施例可以只包括以下特征中的任何一个或所有:强的帐户密码、具有设置的时间间隔(例如90天)的密码改变频率、用于所有管理的机器的独特密码、当用户改变角色时(例如雇员被解雇或休假)撤销访问的能力、在须知的基础上(例如在每个装置或每个数据集合的基础上知道密码权利)共享密码、使用安全方法来传递密码、密码的审核是可能的、使能密码访问的可追踪性、以及在用户得到那个密码的知识后设置时间改变密码的能力。实施例可以是高度自动化的而没有用户管理任务。同样,实施例可以是高度可扩大规模的。此外,实施例可以是政策驱动的并且因此基于不同要求集合来定制。
[0009]图1包括本发明的一个实施例中的客户机架构。实施例是政策驱动的、自动化本地管理员密码管理系统。实施例包括各种部件。数据库140可包括服务器、帐户的列表和/或那些帐户的访问控制列表。Web应用130可包括用户可用于搜索服务器和查询密码的用户接口。用户105可能必须是正确的访问控制列表(ACL)的成员以具有查看密码的许可。当密码被查看时,这个活动可以被记录在审核数据库120中。Web服务135可包括用于将记录插入服务器(例如位于服务器上的数据库140)和/或将密码插入系统(例如目标或管理的服务器155、156、157)(其中没有这样的记录已经在适当位置)的方法。服务135还可以在管理的服务器上已经存在密码记录的地方更新服务器的密码(例如在数据库140和/或管理的服务器155、156、157上)。服务135还可查询已经使它们的密码被查看过的服务器,
坐坐寸寸ο
[0010]更具体地,管理的客户机服务115可包括在每个管理的机器(155、156、157)上安装或与每个管理的机器(155、156、157)通信的软件服务。服务可以根据政策(例如每90天)改变本地管理员密码,并且可以通过web服务135更新数据库。服务还可打开端口以允许某些命令(比如下面进一步讨论的改变密码命令)经由各种形式的远程访问(例如通过由审核服务121的.NET遥控(remote))在机器155、156、157上远程调用。从本地配置文件读取上面提到的时间期间(90天政策)。然后,服务115经由web服务135更新数据库140的后端,从而将用户105从解决方案中移除。由服务打开遥控端口以允许远程调用改变密码功能性。在实施例中,不存在对于改变密码的调用的参数。调用简单地发起改变密码以及更新数据库135的后端。
[0011]除了 web服务115 (其可以自动实现对密码的改变)之外,在一个实施例中,可以经由模块110来实现对密码的手动改变。
[0012]审核服务121可对于已经使它们的密码被查看过的服务器查询审核数据库120并且查询自从查看以来有多久(例如使用GetViewedAccountsO命令)。服务121可确定自从查看以来已经过去的时间是否超过阈值(例如两小时)。如果是这样的话,服务121可以在所讨论的目标服务器上远程调用改变密码命令(下面提供其示例)。结果,用户以前知道的密码不再有效。
[0013]审核服务121可包括监视服务,所有如果审核服务121不能联系服务器来远程改变密码,服务121可以将事件记录到警告监视服务(例如微软操作管理器MicrosoftOperations Manager (MOM))监视器的事件日志。这为员工管理员引起标签或警告以进一步调查问题。
[0014]在实施例中,企业访问管理(EAM)服务145可以位于服务器上并且可以维护多个用户150的ACL。通过这样的ACL控制查看服务器(155、156、157)的密码的访问权。通过EAM 145管理这些ACL,EAM 145分配访问或特权等级给用户150中的每个。这允许每个装置、每个数据集合等等共享密码的粒度(即,一个人可以精确控制用户具有什么权利以及用户不具有什么权利)。
[0015]关于密码管理系统的部署,密码系统管理系统第一次操作服务135可“插入”记录到数据库140中。记录可包括例如服务器标识符、服务器密码、用于访问服务器的有关的ACL特权以及ACL的描述。系统135可以随后在它每次连接到数据库140时更新这个密码记录。这使得部署可扩大规模(例如到100000个机器)并且仍还保持到装置或数据集合的不同等级的须知访问的粒度。还可以在目标机器155、156、157它们自己上插入记录。
[0016]图2包括本发明的实施例中的示意流程图。过程200在框205中开始。框210确定用户已经查看过的密码或证书的列表。这个确定可以基于审核记录在审核数据库120中的活动的审核服务121。
[0017]框220确定来自框210的列表是否是空的。如果是,则过程在框250中结束。如果否,则框225在目标机器上远程调用改变密码命令。例如,可以使用管理的客户机服务115和以下伪代码来进行这个:
//在本地改变密码
string sPath = string.Format (^ffinNT://(0} /Administrator' Environment.MachineName);
DirectoryEntry directoryEntry = new DirectoryEntry (sPath);
directoryEntry.1nvoke (〃SetPassword〃,password);
directoryEntry .CommitChanges();
例如,可以使用管理的客户机服务115和以下伪代码来实现生成新密码:
//生成随机密码
PasswordGenerator generator = new PasswordGenerator O ;
string password = generator.Generate ();
可以经由.NET遥控等等来进行到机器的访问。
[0018]在框235中,如果未成功完成事务,则将在审核数据库120中记录故障,其中随后的做出的警告(例如MOM警告)在这个问题上继续跟踪(框240)。如果事务是成功的,可以在审核数据库120中记录成功(框245)。关于事务本身,可以例如使用管理的客户机服务115和以下伪代码来编辑数据库140中的记录:
//配置文件有关的信息来将记录插入数据库 〈add key=〃accountName〃 value=〃Administrator〃/>
〈add key=〃permissionGroup〃 value=〃databaseSupportTeam〃/>
〈add key=〃changeFrequencyDays〃 value=〃90〃/>
图3包括本发明的实施例的示意流程图。可以在框305中开始过程300。在正常操作期间,服务(例如Windows Service、Linux Daemon)可以每24小时醒来并且执行过程300。
[0019]框310检查最近的密码改变日期。可以和咨询审核数据库120和审核服务121 —致来进行这个。可以在登记簿中以加密的形式来存储“改变日期”。在框320中,相对于阈值检查来自框310的发现。如果不满足阈值,则过程可以在框355结束。然而,如果满足阈值,则在框325中可以使用例如以下伪代码来生成新密码:
//生成随机密码
PasswordGenerator generator = new PasswordGenerator O ;
string password = generator.Generate ();
在框335中,web服务115可确定是否已经存在密码记录。如果不存在,则在框350中可以使用例如以下伪代码来生成新记录并且将其插入数据库140:
//将记录插入数据库
webService.1nsertClientRecord(accountName, password, permissionGroup,account_description)
可以使用以下伪代码来填充记录:
//配置文件有关的信息来将记录插入数据库 〈add key=〃accountName〃 value=〃Administrator〃/>
〈add key=〃permissionGroup〃 value=〃databaseSupportTeam〃/>
〈add key=〃changeFrequencyDays〃 value=〃90〃/>
在框340中,可以在目标机器155、156、157上改变密码。由于只要在框320中存在需要改变的识别的机器, 用于实现这样的一个或多个改变的循环如下:for each (string server in servers)
{ string managerUrl = string.Format(〃tcp://{0}:19010/PasswordManager.rem",server);
IPasswordManager manager = (IPasswordManager) Activator.GetObject(typeof (IPasswordManager),
manager.ChangePassword(); }
因此,关于框340和350,在实施例中,在每个管理的机器上运行的客户机服务尝试在数据库中更新它的密码。例如,可以在框335中尝试这个。例如,管理的机器调用只需要机器名和密码作为参数的UpdatePasswordO方法。因此,方法运行得很快并且过程可以从框335前进到框340 (而绕过框350)。然而,在发生任何这样的更新之前数据库中必须存在记录。如果记录不存在,贝1J在框350中,客户机必须调用例如InsertRecordO方法,其比UpdatePasswordO方法采用更多参数并且因此比UpdatePasswordO方法运行更慢。
[0020]在框345中可以更新登记簿(例如审核数据库120)。在框355中,过程结束。
[0021]作为另外的注释,在一个实施例中,总是先更新数据库并且仅仅然后在管理的客户机机器上在本地改变密码。这可以避免在管理的客户机机器上在本地改变密码并且然后不能更新数据库(例如由于连接性错误)的情景。这样的情况可导致没有人能够查询新密码。因此,在一个实施例中,如果不能联系数据库,则不在本地改变密码。
[0022]因此,实施例可包括“管理的客户机”,其在没有用户交互的情况下管理在每设置的天数改变密码,然后用新密码更新后端系统。同样,可以在从由用户查看密码开始的设置的时间量内进行密码改变。可以由“审核服务”替代或连同“管理的客户机”服务来执行状态(例如自从密码已经改变以来过去多长时间)的这个监视。同样,实施例包括web服务,其包含“插入记录”方法。因此,不需要“预先工作”来使用web服务。例如,在经由web服务部署密码之前,不需要在数据库上创建记录。web服务可以被推送到任何机器并且当web服务启动时,它可以将它自己的记录插入数据库。这考虑了到100000个机器或更多机器的可扩缩性。
[0023]实施例可以(a)确定第一多个基于处理器的系统,其相应的第一密码证书(例如用于获得到资源的有特权的访问权的密码或其它元素)在第一在前的时间期间(例如2小时)中被查看(例如被人类用户);以及(b)从相对所述第一多个系统远程定位(例如经由在大物理区域上延伸的网络)的另外的基于处理器的系统,基于确定第一密码证书在第一在前时间期间中被查看,远程地改变所述第一多个系统中的每个系统的相应的第一密码证书。
[0024]那个相同实施例或另一个实施例可确定第二多个系统,其相应的第二密码证书(其可能和第一密码证书相同)在第二在前时间期间(例如90天)中没有被改变;并且从另外的系统,基于确定第二密码证书在第二在前时间期间中没有被改变,远程地改变所述第二多个系统中的每个系统的相应的第二密码证书。
[0025]改变相应的第一或第二密码证书可包括提供独特密码作为旧密码的替换。每个机器(例如平板计算机、服务器、个人数字助理、智能电话)可以得到独特的密码。
[0026]实施例可以最初设置系统的密码证书管理帐户;并且一旦最初设置帐户,从另外的基于处理器的系统远程地将记录插入数据库。然而,数据库可能不具有和密码证书管理帐户相关联的预先存在的记录。这可以考虑将要管理的许许多多机器中帐户系统的转出或可扩缩性。记录的这个“插入”可以在将要管理的机器上、在保留密码记录(其存储在将要管理的机器上或在某个其它分离的机器上)的数据库的服务器上。
[0027]虽然已经在本文中用特定技术(例如Microsoft技术(例如Windows Service)、Linux Daemon、.NET遥控等等)来讨论本文的实施例,但可以跨任何操作系统、各种平台等等来支持解决方案。
[0028]实施例可以以代码实现并且可以存储在已经在其上存储指令的存储介质上,所述指令可以用于对系统编程以执行指令。存储介质可包括但不限于任何类型的盘,包括软盘、光盘、光盘、固态驱动器(SSD)、压缩盘只读存储器(⑶-ROM)、可重写压缩盘(⑶-RW)以及磁-光盘、半导体装置(例如只读存储器(ROM)、随机存取存储器(RAM)(例如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM))、可擦可编程只读存储器(EPR0M)、闪速存储器、电可擦可编程只读存储器(EEPR0M))、磁或光卡或适合用于存储电子指令的任何其它类型的介质。
[0029]在本文中可以参考数据(例如指令、功能、过程、数据结构、应用程序、配置设置、代码等等)来描述本发明的实施例。如在本文中更详细描述的,当由机器访问数据时,机器可以通过以下来响应:执行任务、定义抽象数据类型、建立低级硬件上下文和/或执行其它操作。数据可以存储在易失性和/或非易失性数据存储中。为了本公开的目的,术语“代码”或“程序”覆盖部件和构造的宽范围,包括应用、驱动器、过程、例行程序、方法、模块和子程序。因此,术语“代码”或“程序”可以用来指指令的任何集合,该指令由处理系统执行时,其执行期望的操作或多个操作。此外,备选的实施例可包括使用比公开的操作中的所有操作更少的过程、使用另外的操作的过程、按不同顺序使用相同操作的过程、以及其中组合、细分或以别的方式改变本文公开的单独操作的过程。
[0030]虽然已经关于有限数量的实施例来描述本发明,但本领域技术人员将从中领会许多修改和变化。意图是所附权利要求覆盖落在本发明的真正精神和范围内的所有这样的修 改和变化。
【权利要求】
1.一种包括非暂时性机器可访问存储介质的物品,所述非暂时性机器可访问存储介质包括指令,所述指令当执行时使得系统能够: 确定第一多个基于处理器的系统,其相应的第一密码证书在第一在前时间期间中被查看;以及 从相对所述第一多个系统远程定位的另外的基于处理器的系统,基于确定所述第一密码证书在所述第一在前时间期间中被查看,远程地改变所述第一多个系统中的每个系统的所述相应的第一密码证书。
2.如权利要求1所述的物品,包括指令,所述指令使得所述系统能够: 确定第二多个系统,其相应的第二密码证书在第二在前时间期间中没有被改变;以及 从所述另外的系统,基于确定所述第二密码证书在所述第二在前时间期间中没有被改变,远程地改变所述第二多个系统中的每个系统的所述相应的第二密码证书。
3.如权利要求2所述的物品,其中远程地改变所述相应的第二密码证书包括为所述第二多个系统中的每个系统提供独特的另外的第二密码。
4.如权利要求1所述的物品,其中远程地改变所述相应第一密码证书包括为所述第一多个系统中的每个系统提供独特的另外的第一密码。
5.如权利要求1所述的物品,包括指令,所述指令使得所述系统能够: 最初为所述多个第一系统中的另外的一个系统设置密码证书管理帐户;以及 一旦最初设置所述密码证书管理帐户,远程地将记录从所述另外的基于处理器的系统插入数据库; 其中所述数据库不具有和所述密码证书管理帐户相关联的预先存在的记录。
6.如权利要求5所述的物品,包括指令,所述指令使得所述系统能够远程地用密码填充所述记录。
7.如权利要求1所述的物品,包括指令,所述指令使得所述系统能够: 最初为所述多个第一系统中的另外的一个系统设置密码证书管理帐户;以及 一旦最初设置所述密码证书管理帐户,远程地将密码记录插入所述多个第一系统中的所述另外的一个系统; 其中所述多个第一系统中的所述另外的一个系统不具有和所述密码证书管理帐户相关联的预先存在的密码记录。
8.如权利要求1所述的物品,包括指令,所述指令使得所述系统能够: 确定所述第一多个系统中的另外的一个系统,其相应的第一密码证书在从所述密码证书被查看起已经发生的到期的阈值时间期间内未被改变;以及 从所述另外的系统,基于所述阈值时间期间的所述到期,自动并远程地改变所述第一多个系统中的所述另外的一个系统的所述第一密码证书。
9.一种方法,包括: 确定第一多个系统,其相应的第一密码证书在第一在前时间期间中未被改变;以及 从相对所述第一多个系统远程定位的另外的基于处理器的系统,基于确定所述第一密码证书在所述第二在前时间期间中未被改变,远程地改变所述第一多个系统中的每个系统的所述相应的第一密码证书。
10.如权利要求9所述的方法,包括:确定第二多个基于处理器的系统,其相应的第二密码证书在第二在前时间期间中被查看;以及 从相对所述第二多个系统远程定位的另外的基于处理器的系统,基于确定所述第二密码证书在所述第二在前时间期间中被查看,远程地改变所述第二多个系统中的每个系统的所述相应的第二密码证书。
11.如权利要求10所述的方法,包括: 确定所述第一多个系统中的另外的一个系统,其相应的第一密码证书在从所述密码证书被查看起已经发生的到期的阈值时间期间内未被改变;以及 从所述另外的系统,基于所述阈值时间期间的所述到期,自动并远程地改变所述第一多个系统中的所述另外的一个系统的所述第一密码证书。
12.如权利要求9所述的方法,其中远程地改变所述相应的第一密码证书包括为所述第一多个系统中的每个系统提供独特的另外的第一密码。
13.如权利要求9所述的方法,包括: 最初为多个第一系统中的另外的一个系统设置密码证书管理帐户;以及 一旦最初设置所述密码证书管理帐户,远程地将记录从所述另外的基于处理器的系统插入数据库; 其中所述数据库不具有和所述密码证书管理帐户相关联的预先存在的记录。
14.如权利要求9所述的方法,其中远程地改变所述相应第二密码证书包括为所述第二多个系统中的每个系统提供独特的另外的第二密码。
15.—种系统,包括:` 存储器; 处理器,其耦合到所述存储器,以(a)确定第一多个基于处理器的系统,其相应的第一密码证书在第一在前时间期间中被查看;以及(b)从相对所述第一多个系统远程定位的另外的基于处理器的系统,基于确定所述第一密码证书在所述第一在前时间期间中被查看,远程地改变所述第一多个系统中的每个系统的所述相应的第一密码证书。
16.如权利要求15所述的系统,其中所述处理器将: 确定第二多个系统,其相应的第二密码证书在第二在前时间期间中没有被改变;以及 从所述另外的系统,基于确定所述第二密码证书在所述第二在前时间期间中没有被改变,远程地改变所述第二多个系统中的每个系统的所述相应的第二密码证书。
17.如权利要求16所述的系统,其中远程地改变所述相应的第二密码证书包括为所述第二多个系统中的每个系统提供独特的另外的第二密码。
18.如权利要求15所述的系统,其中远程地改变所述相应第一密码证书包括为所述第一多个系统中的每个系统提供独特的另外的第一密码。
19.如权利要求15所述的系统,其中所述处理器将: 最初为多个第一系统中的另外的一个系统设置密码证书管理帐户;以及 一旦最初设置所述密码证书管理帐户,远程地将记录从所述另外的基于处理器的系统插入数据库; 其中所述数据库不具有和所述密码证书管理帐户相关联的预先存在的记录。
20.如权利要求15所述的系统,其中所述处理器将:确定第一多个系统,其相应的第一密码证书在第一在前时间期间中未被改变;以及从相对所述第一多个系统远程定位的另外的基于处理器的系统,基于确定所述第一密码证书在所述第二 在前时间期间中未被改变,远程地改变所述第一多个系统中的每个系统的所述相应的第一密码证书。
【文档编号】G06F21/45GK103827878SQ201180073884
【公开日】2014年5月28日 申请日期:2011年9月30日 优先权日:2011年9月30日
【发明者】A.莱基, E.索古林 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1