一种基于命令探测式修改密码的密码管理系统及使用方法与流程

文档序号:13073020阅读:298来源:国知局
一种基于命令探测式修改密码的密码管理系统及使用方法与流程

本发明涉及操作系统身份认证和密码安全领域,具体的说,是一种基于命令探测式修改密码的密码管理系统及使用方法。



背景技术:

但是随着网络的加速发展,信息的大爆炸,人们的账户越来越多、越来越难以管理。更多的不法分子也把苗头转向了个人账户身份的密码盗取,篡改、甚至勒索、诈骗。因此需要定期修改密码。现有技术中通常采用人工手动修改密码,即手动登录系统修改账户密码,为了防止忘记密码,需要用专门的数据表记录密码,当主机日渐增多,修改大量密码就会有诸多问题产生,如下:a)手动修改密码变得十分繁琐,需要用户定期登录每台机器、按照密码表不停的修改密码,操作繁琐且工作量大,工作效率不高。b)每次要生成复杂的密码列表,大量的密码修改后难以管理。密码列表堆积存放,登录及记忆过程繁琐复杂,而采用数据表来记录密码,造成了密码容易被泄露和窃取,系统安全性能不高。



技术实现要素:

本发明的目的在于提供一种基于命令探测式修改密码的密码管理系统及使用方法,用于解决现有技术中修改密码繁琐工作效率不高的问题。同时解决了采用数据表记录密码容易导致密码泄露的问题。

为了达到上述目的,本发明通过下述技术方案实现:

一种基于命令探测式修改密码的密码管理系统,包括,

任务管理模块:提供用户操作界面,由用户输入指令来创建任务,所述任务包括资产账户、任务类型、任务属性和密码属性;

任务调度模块:以轮询方式从密码维护模块中的数据库表中查找需要执行的任务和从任务管理模块接收需要执行的任务,并将所述任务分配至密码修改模块;

密码修改模块:接收所述任务调度模块发送的任务,解析出所述任务的资产账户,根据用户输入指令进行密码修改或密码验证,记录密码修改状态,将修改后的密码加密并发送给用户,并将所述修改过程和最终的修改结果记入密码维护模块,并在密码验证不成功时锁定密码错误状态,继续验证密码,直到人工干预开启密码恢复或停止验证步骤;

密码维护模块:提供数据库表操作接口,执行任务管理模块对数据库表的操作,响应用户对数据库表的查看、创建、修改、删除、开启、关闭、密码下载和密码备份操作;记录以上各模块对数据库表的操作记录、密码修改日志以及记录密码修改模块中密码修改步骤及最终结果,并将当前密码修改状态记录在内存中,用于显示当前密码修改进行的阶段。

工作原理:

任务管理模块提供用户界面,用户通过输入指令,创建密码修改任务、密码验证任务和密码恢复任务,也可以通过输入指令开启或关闭定时性任务和周期性任务,调用密码维护模块中的数据库表操作接口,查看当前的密码、下载密码和备份密码。任务管理模块根据用户输入的指令,创建任务,任务中包含的信息有资产账户、任务类型、任务属性和密码属性,资产账户用于区分目标主机的信息,任务类型决定任务调度模块应该将此任务分配给密码修改模块还是由任务管理模块调用密码维护模块中的数据库表,任务属性用于区分任务是一次性、定时还是周期执行。密码属性用于用户指定密码的生成方法、外送方法和加密策略,密码维护模块将用户的需求翻译成对数据库表操作。密码维护模块提供数据库表接口,执行任务管理模块对数据库表的操作,并定义为待执行的任务并通知任务调度模块。若存在密码修改任务,则根据密码生成策略批量生成新密码,并根据密码外送方法及加密策略,向用户发送加密后的新密码,任务调度模块判断任务类型,将需要修改密码的任务通知密码修改模块。密码修改模块读取密码维护模块中数据库表中的数据,登录目标主机采用改密命令进行批量的修改密码,并将修改过程记入数据库表。修改密码完成后,用修改后的密码进行登录验证,验证成功,即修改密码成功,记录成功日志并发送旧密码、新密码和当前密码给用户;当密码验证不成功时,继续验证密码直到人为干预。调用密码维护模块中数据库表的历史密码进行逐一验证,直到存在一个历史密码可以成功登录目标主机,则将此验证过程和此历史密码计入数据库表。采用批量产生新密码,自动登录目标主机修改密码的方式,提升了修改密码速率。采用了密码生成策略,使自动生成的密码复杂度符合要求,并在发送过程中采用加密方式,增加了密码的安全性,降低了数据表存储密码容易造成泄露和被窃取的危险系数。用户可以通过本系统自动恢复密码功能自动对所有密码历史一一验证恢复。密码修改模块修改密码过程模拟手工修改密码过程,并在数据库日志中记录修改密码全过程,便于用户后期查询和追溯。

进一步地,所述任务类型包括密码修改、密码验证和密码恢复,所述任务属性包括一次性任务、周期性任务和定时性任务;所述密码属性包括密码生成策略、密码外送策略、密码外送方式和密码加密策略,其中,

密码生成策略:包括手工指定密码、上传密码列表和指定随机密码,所述指定随机密码包括指定随机密码长度、复杂度和密码组合;

密码外送策略:包括任务执行前发送新密码、发送失败不修改密码和修改密码后外送最近三个修改密码历史及修改密码步骤详情;

密码外送方式:包括ftp、sftp和mail方式;

密码加密策略:设置外送附件加密密码。

工作原理:

用户在任务管理模块输入的指令中,指定任务类型、任务属性和密码属性,根据任务属性来判断任务查询的优先级别,周期性任务和定时性任务的优先级别高于一次性任务,根据任务类型判断,待执行的任务是对数据库表的读取操作还是更改操作,如果只是读取数据库表,只需要从密码维护模块调用数据展示给用户即可,不需要更改数据库表,如用户的查看密码、下载密码和备份密码等操作。而涉及密码修改、密码验证和密码恢复的任务,则需要密码修改模块来执行。用户通过设定密码生成策略来批量生成新密码,并通过设定密码外送策略方式选择是否在修改密码前发送新密码,并可以设定发送密码给用户的方式和外送密码的加密方式。

一种基于命令探测式修改密码的密码管理系统使用方法,包括步骤:

1)添加资产,设置资产账户和密码;

2)用户在任务管理模块为需要修改密码的资产账户创建任务,定制任务的任务类型、任务属性、密码属性;

3)密码维护模块将用户创建的任务翻译成数据库表操作,执行数据库表的读取或更改操作;

4)任务调度模块轮询方式查看所述数据库表,如果有到达执行时间的定时性任务或周期性任务,则优先执行到达执行时间的定时性任务或周期性任务;如果此时没有定时性任务或周期性任务,则继续查找新创建的任务;

5)密码修改模块执行密码修改任务,密码修改任务完成后执行密码验证任务,密码验证失败时锁定密码错误状态,继续验证密码,直到人工干预开启密码恢复或停止验证步骤。

工作原理:

资产包括类unix系统、window系统、h3c系统、cisco系统及tp-link系统,设定资产账户及密码,并将资产账户和密码信息存储于数据库表,用户在任务管理模块创建的任务根据资产账户打包为不同的任务,并将任务解析为对数据库表的操作,执行对数据库表的读取或更改。任务调度模块执行到达执行时间的定时性任务和周期性任务,对于不同资产账户的任务,可以采取并行的执行方式,这样,其他目标主机的任务不需要等待前面的目标主机的任务完成之后再开始,减少了任务执行时间的延时。密码修改模块执行任务调度模块分配的任务,进行批量的修改密码、密码验证,必要时候进行密码恢复。密码修改模块执行任务过程中,调用密码维护模块中的数据库表操作接口,并将更改写入数据表中。同时,密码修改模块将执行任务的过程和步骤写入数据库日志,便于追溯和查询。

进一步地,所述步骤5)中具体包括,

5.1)对目标主机账户进行认证,采用命令探测需要修改密码的目标主机的系统类型;

5.2)根据密码属性中的密码生成策略生成新密码,当任务的密码外送策略为任务执行前发送新密码,根据用户设定的密码外送策略、外送密码方式和密码加密策略发送新密码给用户,并根据密码加密策略加密后存储至密码维护模块中的数据库表中;

5.3)远程登录目标主机,根据探测的目标主机的系统类型选用改密命令对目标主机的系统账户进行修改密码;

5.4)修改密码完成后,退出登录目标主机,采用新密码重新登录目标主机,对修改后的新密码进行验证;

5.5)新密码验证通过后,记录成功日志,并外送三个密码及本次修改密码的全过程,所述三个密码包括当前密码、旧密码和新密码,其中当前密码与旧密码或新密码中的其中一个相同;若新密码验证失败,则验证旧密码,采用旧密码登录目标主机,如果登录成功,则说明此次修改密码不成功,记录失败日志;

5.6)如果旧密码验证失败,重复步骤5.5),若仍不成功,则人工干预开启密码恢复任务或停止验证步骤。

工作原理:

修改密码过程为:密码修改模块从密码维护模块中数据库表中获取目标主机的系统账户及密码,通过ssh、telnet、net命令登录主机。认证通过后,采用探测命令来获取目标主机的系统类型,如unix系统,windows系统,tp-link系统,cisco系统,h3c系统,根据系统类型选择改密命令,并调用数据库表中批量生成的密码,自动的对系统账户进行修改密码,完成密码修改后,退出登录目标主机,然后再次用更改后的新密码进行登录验证,如果新密码登录成功,则说明此次修改密码成功,记录成功日志;如果新密码登录不成功,则采用旧密码验证,如果旧密码验证通过,说明此次修改密码失败,目标主机的系统密码仍然为原密码,记录失败日志。如果旧密码登录验证失败,说明此时设备可能存在异常,需要再次用新密码和旧密码进行验证,或者需要启动密码恢复任务,找回目标主机的当前密码。

进一步地,所述步骤5.6)中的密码恢复任务的具体步骤为:密码修改模块调用密码维护模块中数据库表的历史密码,采用逐一验证的方式登录目标主机的系统账户,直到成功登录,密码修改模块将成功登录目标主机的历史密码和密码验证步骤写入密码维护模块的数据库表中,加密并外送密码通知用户。

工作原理:

当密码修改后新密码和旧密码均不能登录目标主机系统,此时锁定旧密码和新密码,再次验证直到成功,如果由于机器断电等造成的密码被还原成初始密码,则需要人工干预启动密码恢复功能。

进一步地,所述步骤5.1)具体为:

5.1.1)采用ssh、telnet和net命令远程登录目标主机,进行认证,认证通过后进入下一步;

5.1.2)采用命令探测目标主机的系统类型,所述命令包括uname命令、chcp命令、sysshow命令、showclock命令、displayusers命令。

进一步地,所述步骤5.3)中的改密命令包括passwd命令、netuser命令和usersetpassword命令。

进一步地,所述步骤1)中的资产包括类unix系统、window系统、h3c系统、cisco系统及tp-link系统。

工作原理:

ssh协议采用ssh命令登录目标主机,telnet协议采用telnet命令登录目标主机,windowsrpc采用net命令登录目标主机,验证通过后,用探测命令,探测目标主机的系统类型,不同的系统类型所用的探测命令不同,因此可以区分目标主机的系统类型。根据目标主机的系统类型的不同,进行选用不同的改密命令进行修改密码,修改完成后,尝试新密码重新登录目标主机,对修改的密码进行验证。

本发明与现有技术相比,具有以下优点及有益效果:

(1)本发明提升了修改密码速率,对目标主机密码的生命周期进行分类维护及管理,符合密码定期修改的安全策略。用户可以通过本系统自动恢复密码功能自动对所有历史密码一一验证恢复。密码修改模块修改密码过程模拟手工修改密码过程,并在数据库日志中记录修改密码全过程,便于用户后期追溯。

(2)本发明采用主动探测主机类型,根据需求定时性或周期性地自动修改账户密码,并通知管理员定时备份密码。采用冗余设计,密码本地加密保存所修改的历史密码,并外送最近3个历史密码。用户也可根据需求进行手动下载、备份密码。

附图说明

图1为本发明的系统原理框图;

图2为本发明中密码修改和密码验证的流程图。

具体实施方式

下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。

实施例1:

结合附图1所示,一种基于命令探测式修改密码的密码管理系统,包括,

任务管理模块:提供用户操作界面,由用户输入指令来创建任务,所述任务包括资产账户、任务类型、任务属性和密码属性;

任务调度模块:以轮询方式从密码维护模块中的数据库表中查找需要执行的任务和从任务管理模块接收需要执行的任务,并将所述任务分配至密码修改模块;

密码修改模块:接收所述任务调度模块发送的任务,解析出所述任务的资产账户,根据用户输入指令进行密码修改或密码验证,记录密码修改状态,将修改后的密码加密并发送给用户,并将所述修改过程和最终的修改结果记入密码维护模块,并在密码验证不成功时锁定密码错误状态,继续验证密码,直到人工干预开启密码恢复或停止验证步骤;

密码维护模块:提供数据库表操作接口,执行任务管理模块对数据库表的操作,响应用户对数据库表的查看、创建、修改、删除、开启、关闭、密码下载和密码备份操作;记录以上各模块对数据库表的操作记录、密码修改日志以及记录密码修改模块中密码修改步骤及最终结果,并将当前密码修改状态记录在内存中,用于显示当前密码修改进行的阶段。

工作原理:

任务管理模块提供用户界面,用户通过输入指令,创建密码修改任务、密码验证任务和密码恢复任务,也可以通过输入指令开启或关闭定时性任务和周期性任务,还可以调用密码维护模块中的数据库表操作接口,查看当前的密码、下载密码和备份密码。任务管理模块根据用户输入的指令,创建任务,任务中包含的信息有资产账户、任务类型、任务属性和密码属性,资产账户用于区分目标主机的信息,任务类型决定任务调度模块应该将此任务分配给密码修改模块还是由任务管理模块调用密码维护模块中的数据库表,任务属性用于区分任务是一次性、定时还是周期执行。密码属性用于用户指定密码的生成方法、外送方法和加密策略,密码维护模块将用户的需求翻译成对数据库表操作。密码维护模块提供数据库表接口,执行任务管理模块对数据库表的操作,并定义为待执行的任务并通知任务调度模块。若存在密码修改任务,则根据密码生成策略批量生成新密码,并根据密码外送方法及加密策略,向用户发送加密后的新密码,任务调度模块判断任务类型,将需要修改密码的任务通知密码修改模块。,并根据任务属性将任务设置为并行执行方式,最大并行数量可以设置,如果没有超过并行数量,立即开始执行任务,如果此时超过最大并行数量,则新任务进入队列进行等待。密码修改模块读取密码维护模块中数据库表中的数据,登录目标主机采用改密命令进行批量的修改密码,并将修改过程记入数据库表。修改密码完成后,用修改后的密码进行登录验证,验证成功,即修改密码成功,记录成功日志并发送旧密码、新密码和当前密码给用户;当密码验证不成功时,继续验证密码直到人为干预。调用密码维护模块中数据库表的历史密码进行逐一验证,直到存在一个历史密码可以成功登录目标主机,则将此验证过程和此历史密码计入数据库表。采用批量产生新密码,自动登录目标主机修改密码的方式,提升了修改密码速率。采用了密码生成策略,使自动生成的密码复杂度符合要求,并在发送过程中采用加密方式,增加了密码的安全性,降低了数据表存储密码容易造成泄露和被窃取的危险系数。用户可以通过本系统自动恢复密码功能自动对所有密码历史一一验证恢复。密码修改模块修改密码过程模拟手工修改密码过程,并在数据库日志中记录修改密码全过程,便于用户后期查询和追溯。值得说明的是,为了减少cpu的负荷,任务调度模块通过定时器每隔时间t唤醒自己,时间t可以灵活调整,并同时可以接受来自任务管理模块的信号唤醒,任务调度模块唤醒之后,通过密码维护模块的数据库操作接口查找新的任务,查找顺序为周期性任务、定时性任务、一次性任务,并将待执行的任务通知密码修改模块。

实施例2:

在实施例1的基础上,结合附图1所示,所述任务类型包括密码修改、密码验证和密码恢复,所述任务属性包括一次性任务、周期性任务和定时性任务;所述密码属性包括密码生成策略、密码外送策略、密码外送方式和密码加密策略,其中,

密码生成策略:包括手工指定密码、上传密码列表和指定随机密码,所述指定随机密码包括指定随机密码长度、复杂度和密码组合;

密码外送策略:包括任务执行前发送新密码、发送失败不修改密码和修改密码后外送最近三个修改密码历史及修改密码步骤详情;

密码外送方式:包括ftp、sftp和mail方式;

密码加密策略:设置外送附件加密密码。

工作原理:

用户在任务管理模块输入的指令中,指定任务类型、任务属性和密码属性,根据任务属性来判断任务查询的优先级别,周期性任务和定时性任务的优先级别高于一次性任务,根据任务类型判断,待执行的任务是对数据库表的读取操作还是更改操作,如果只是读取数据库表,只需要从密码维护模块调用数据展示给用户即可,不需要更改数据库表,如用户的查看密码、下载密码和备份密码等操作。而涉及密码修改、密码验证和密码恢复的任务,则需要密码修改模块来执行。用户通过设定密码生成策略来批量生成新密码,并通过设定密码外送策略方式选择是否在修改密码前发送新密码,并可以设定发送密码给用户的方式和外送密码的加密方式。

实施例3:

在实施例1或2的基础上,结合附图1-2所示,一种基于命令探测式修改密码的密码管理系统使用方法,包括步骤:

1)添加资产,设置资产账户和密码;

2)用户在任务管理模块为需要修改密码的资产账户创建任务,定制任务的任务类型、任务属性、密码属性;

3)密码维护模块将用户创建的任务翻译成数据库表操作,执行数据库表的读取或更改操作;

4)任务调度模块轮询方式查看所述数据库表,如果有到达执行时间的定时性任务或周期性任务,则优先执行到达执行时间的定时性任务或周期性任务;如果此时没有定时性任务或周期性任务,则继续查找新创建的任务;

5)密码修改模块执行密码修改任务,密码修改任务完成后执行密码验证任务,密码验证失败时锁定密码错误状态,继续验证密码,直到人工干预开启密码恢复或停止验证步骤。

工作原理:

资产包括类unix系统、window系统、h3c系统、cisco系统及tp-link系统,设定资产账户及密码,并将资产账户和密码信息存储于数据库,用户在任务管理模块创建的任务根据资产账户打包为不同的任务,并将任务解析为对数据库表的操作,执行对数据库表的读取或更改。任务调度模块执行到达执行时间的定时性任务和周期性任务,对于不同资产账户的任务,可以采取并行的执行方式,这样,其他目标主机的任务不需要等待前面的目标主机的任务完成之后再开始,减少了任务执行时间的延时。密码修改模块执行任务调度模块分配的任务,进行批量的修改密码、密码验证,必要时候进行密码恢复。密码修改模块执行任务过程中,调用密码维护模块中的数据库表操作接口,并将更改写入数据库表中。同时,密码修改模块将执行任务的过程和步骤写入数据库日志,便于追溯和查询。

实施例4:

在实施例3的基础上,结合附图1-2所示,所述步骤5)中具体包括,

5.1)对目标主机账户进行认证,采用命令探测需要修改密码的目标主机的系统类型;

5.2)根据密码属性中的密码生成策略生成新密码,当任务的密码外送策略为任务执行前发送新密码,根据用户设定的密码外送策略、外送密码方式和密码加密策略发送新密码给用户,并根据密码加密策略加密后存储至密码维护模块中的数据库表中;

5.3)远程登录目标主机,根据探测的目标主机的系统类型选用改密命令对目标主机的系统账户进行修改密码;

5.4)修改密码完成后,退出登录目标主机,采用新密码重新登录目标主机,对修改后的新密码进行验证;

5.5)新密码验证通过后,记录成功日志,并外送三个密码及本次修改密码的全过程,所述三个密码包括当前密码、旧密码和新密码,其中当前密码与旧密码或新密码中的其中一个相同;若新密码验证失败,则验证旧密码,采用旧密码登录目标主机,如果登录成功,则说明此次修改密码不成功,记录失败日志;

5.6)如果旧密码验证失败,重复步骤5.5),若仍不成功,则人工干预开启密码恢复任务或停止验证步骤。

工作原理:

修改密码过程为:密码修改模块从密码维护模块中数据库表中获取目标主机的系统账户及密码,通过ssh、telnet、net命令登录主机。认证通过后,采用探测命令来获取目标主机的系统类型,如unix系统,windows系统,tp-link系统,cisco系统,h3c系统,根据系统类型选择改密命令,并调用数据库表中批量生成的密码,自动的对系统账户进行修改密码,完成密码修改后,退出登录目标主机,然后再次用更改后的新密码进行登录验证,如果新密码登录成功,则说明此次修改密码成功,记录成功日志;如果新密码登录不成功,则采用旧密码验证,如果旧密码验证通过,说明此次修改密码失败,目标主机的系统密码仍然为原密码,记录失败日志。如果旧密码登录验证失败,说明此时设备可能存在异常,需要再次用新密码和旧密码进行验证,或者需要启动密码恢复任务,找回目标主机的当前密码。

进一步地,所述步骤5.6)中的密码恢复任务的具体步骤为:密码修改模块调用密码维护模块中数据库表的历史密码,采用逐一验证的方式登录目标主机的系统账户,直到成功登录,密码修改模块将成功登录目标主机的历史密码和密码验证步骤写入密码维护模块的数据库表中,加密并外送密码通知用户。

工作原理:

当密码修改后新密码和旧密码均不能登录目标主机系统,此时锁定旧密码和新密码,再次验证直到成功,如果由于机器断电等造成的密码被还原成初始密码,则需要人工干预启动密码恢复功能

实施例5:

在实施例4的基础上,结合附图1-2所示,所述步骤5.1)具体为:

5.1.1)采用ssh、telnet和net命令远程登录目标主机,进行认证,认证通过后进入下一步;

5.1.2)采用命令探测目标主机的系统类型,所述命令包括uname命令、chcp命令、sysshow命令、showclock命令、displayusers命令。

进一步地,所述步骤5.3)中的改密命令包括passwd命令、netuser命令和usersetpassword命令。

进一步地,所述步骤1)中的资产包括类unix系统、window系统、h3c系统、cisco系统及tp-link系统。

工作原理:

ssh协议采用ssh命令登录目标主机的命令为:

ssh–l%username%-p%hostport%

%username%@%hostip%;

telnet协议采用telnet命令登录目标主机的命令为:

telnet%hostip%%hostport%;

windowsrpc采用net命令登录目标主机进行认证:

netrpcuserinfo%username%

-u%username%%%password%-s%hostip%。

验证通过后,用探测命令,探测目标主机的系统类型,不同的系统类型所用的探测命令不同,因此可以区分目标主机的系统类型。探测命令包括uname命令、chcp命令、sysshow命令、showclock命令和displayusers命令,分别适用于探测unix系统、windows系统、tp-link系统、cisco系统和h3c系统。

根据目标主机的系统类型的不同,进行选用不同的改密命令进行修改密码,修改完成后,尝试新密码重新登录目标主机,对修改的密码进行验证。改密命令包括:

passwd命令,用于修改unix系统的密码;

netuser%username%,用于修改windows系统的密码;

用于修改windowsrpc协议的密码的命令:

netrpcpassword%username%%password%

-u%username%%%oldpassword%

-s%hostip%;

usersetpassword,用于修改tp-link系统密码:

用于修改cisco系统密码并保存的组合命令:

configureterminal

linetelnet/

linevty0/

linevty05

username%username%password%password%/

username%username%privilege%privilege%

password%password%/

username%username%privilege%privilege%

password0%password%

write;

用于修改h3c系统密码并保存的组合命令:

system-view

user-interfacevty04/

user-interfacevty0

setauthenticationpasswordsimple%password%/

setauthenticationpassword%password%

save;

修改完成后,尝试采用新密码重新登录目标主机,重复采用ssh协议、telnet协议登录目标主机以及采用windowrpc协议对主机账户进行认证,对修改的密码进行验证。

以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。

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