一种账户分配和动态密码管理的方法

2015-05-15 18:46刘志军贺镇海
信息通信技术 2015年1期
关键词:账号账户密码

刘志军 贺镇海 陈 宁

中兴通讯股份有限公司 上海 201208

引言

密码管控不严格导致的黑客入侵事件是常见的一类安全事件。计算机和通信行业中实施主机账号密码管控时常常出现密码维护困难,如IPTV(Internet Protocol Television,网络协定电视)、OTT(Over The Top)等产品中主机数量庞大,产品工程安全规范实施不到位出现弱密码,进而会因为工程资料泄露导致密码泄露。账号密码的申请、回收、审计等过程操作繁琐,进一步加大了系统被入侵的可能性。

在现有技术中,关于账号管理,可以预先将账号及其对应的密码保存在预定的系统中,待使用时直接从系统中获取。例如:通过将用户的登录信息(账号、密码)与访问对象进行关联后存储,当用户指定了需要对某个访问对象进行登录操作时,通过在系统中读取出与之关联的用户名和密码等信息来执行登录操作,这样的方式不需要用户手动地输入登录信息来完成登录,由此提高了用户网络活动的效率。

但是,上述账号管理方式是对预先确定好的账号和密码的管理,若系统信息泄露,则账号和密码也将会泄露,从而造成安全隐患。

本文提供了一种账户分配方法,可以在很大程度上防止系统帐号和密码的泄漏,并且也降低了维护的成本,方法的大体流程如下。

在操作员对设备进行操作前会先向管理设备发起操作请求,管理设备接收到操作员的请求后会对该操作请求进行审批,审批通过后为该操作员的本次操作选取一个账户并为这个账户生成一个临时密码,临时密码是由一系列的随机算法计算得出的一个随机串,此后管理设备会向操作员要操作的设备发起一个预设密码请求,将设备的对应账户的密码修改。其中,管理端选取的账户可以是新创建的账户,也可以是被操作设备系统中的现有账户,账户的临时密码被设置为具有一个有效期,仅在某个时间窗内有效,超出时间窗后密码失效。通过采用本文方法,避免了设备账户和密码在系统中保存而存在的泄漏风险,操作审批和密码有效期的存在也让操作员对设备的操作更加规范可控,有效地降低了维护成本。

1 账户分配装置说明

本文提供了一种账户分配方法,采用的账户分配装置的结构图如图1所示,以下结合图1对本方法进行进一步的详细说明[1]。

图1 账户分配装置结构图

1) 设备操作单元210,用于针对要操作的设备发起操作请求。

2) 安全管理单元220,用于接收设备操作单元针对设备发起的操作请求,并对请求进行审批。

3) 密码管理单元230,用于根据操作请求,为设备操作单元生成临时账户,以及在设备操作单元基于临时账户对设备操作完毕后,禁止临时账户继续登录设备。该单元的具体作用为:向设备发送密码修改指令;接收设备根据密码修改指令所修改的密码;将设备反馈的密码作为临时账户中的密码并存入数据库中。临时账户中的密码仅在指定的操作终止时间到达之前有效。此外,密码管理单元的作用还包括:从指定的操作开始时间开始,判断是否接收到来自设备操作单元210发送的密码回收请求,若是,则禁止密码登录设备,若否,则继续判断,直至达到操作终止时间为止;当到达操作终止时间时,判断设备操作单元210对设备是否有操作,若是,则向安全管理单元220发送告警信号,若否,则禁止密码登录设备。

4) 平台管理单元240,用于在接收设备操作单元210针对设备发起的操作请求之前,为每个安全管理单元220关联一个或多个设备;在设备操作单元210发起操作请求后,由与设备关联的安全管理单元220接收操作请求。该安全管理单元接收后并对设备操作单元210发起的操作请求进行审批;密码管理单元230还用于当操作请求审批通过后,利用预设的密码生成策略,获得临时账户登录设备的密码,其中预设密码的生成策略在管理端采用加密的方式存储。

5) 密码传输单元250,用于将密码发送给设备操作单元210,以使设备操作单元210在规定的时间内基于该密码登录设备进行操作。

6) 除了上述单元外,账户分配装置中还有一个进行操作审计的单元,这个单元就是审计管理单元260,用于对平台管理单元240、安全管理单元220和/或设备操作单元210的操作行进行审计。

2 账户分配应用实例

图2给出了该账户分配装置在实际工作流执行时的应用,具体的执行步骤如下。

图2 账户分配方法的系统流程图

图2是本文账户分配方法的流程图,主要包括四个步骤,详细说明如下。

1) 步骤S110,预先设置具有不同权限的多个单元。权限单元包括:平台管理单元、安全管理单元、审计管理单元和设备操作单元。其中,安全管理单元的数量、设备操作单元的数量可以是一个或多个。每个单元根据各自的权限,实现临时账户的分配和回收,防止因账户信息泄露而引起的安全性问题。进一步地,每个单元可以对应具体的操作用户。例如:平台管理单元可以对应平台管理用户,安全管理单元可以对应安全管理用户;审计管理单元可以对应审计管理用户;设备操作单元可以对应设备操作用户。

平台管理单元用于为每个安全管理单元关联一个或多个设备,以及用于安全管理单元、审计管理单元和设备操作单元各自对应用户权限的分配和回收。具体而言,平台管理单元能够在装置中创建或导入设备信息,至少包括主机名、地址、网元信息和地理位置信息;平台管理单元将设备与安全管理用户进行关联,使该安全管理用户负责与其关联的一个或多个设备的安全管理。进一步地,当需要装置中设备的数量较多时,可以设置多个安全管理单元,平台管理单元可以将设备按照区域或者类型分别划分为各个安全管理单元,也就是说,为每个安全管理单元关联一个或多个设备。更进一步地,平台管理单元可以指定用户作为安全管理用户、审计管理用户或设备操作用户。例如:现有用户A、B、C,平台管理单元可以指定用户A作为安全管理用户,指定用户B作为审计管理用户,指定用户C作为设备操作用户,平台管理用户还可以撤销用户所具有的权限。

当需要对设备进行操作时,设备操作单元用于向该设备关联的安全管理单元发起操作请求,以此来获得临时账户,依据获得的临时账户,执行设备操作。例如对设备进行业务升级、故障排查等。

安全管理单元用于对设备操作单元发起的操作请求进行审批[2],以及负责所管辖/关联的一个或多个设备的安全,如安全策略下发、安全监控等。

审计管理单元用于审计平台管理单元、安全管理单元和/或设备操作单元的操作行为,及时发现可疑的操作痕迹,进而发现平台管理用户、安全管理用户和/或设备操作用户的非法操作行为。进一步地,审计管理单元可以对平台管理单元为每个安全管理单元关联一个或多个设备的操作进行审计,对安全管理单元审批操作请求的操作进行审计,以及对设备操作单元对设备进行的操作进行审批,进而发现平台管理单元、安全管理单元和设备操作单元的非法操作行为。其中,审计是指根据装置收集的信息,判断单元(如:平台管理单元、安全管理单元和设备操作单元)针对设备执行的操作是否合法,并给出判断结果。

2) 步骤S120,接收设备操作单元针对设备发起的操作请求。因为在接收设备操作单元针对设备发起操作请求之前,平台管理单元为每个安全管理单元关联一个或多个设备,所以,当设备需要操作、维护时,设备操作单元需要向与该设备关联的安全管理单元发起操作请求,在设备操作单元发起操作请求后,由与设备关联的安全管理单元接收操作请求。操作请求用于请求获得操作设备时所需的临时账户[3],临时账户包括登录设备所需的账号和密码。

3) 步骤S130,根据操作请求,为设备操作单元生成临时账户。临时账户是指在指定的时间段内有效的账户,在指定时间段之外的时间,该账户均无效。

在临时账户中,设备的账号是已知信息,密码是未知信息。账号可以通过查询每个设备对应的账号而获得,密码可以利用算法来生成。基于查询获得的账号和生成的密码形成临时账户,将临时账户发送给设备操作单元。设备操作单元利用临时账户登录设备,并对设备进行操作。

具体而言,安全管理单元接收到该操作请求后,利用预设的密码生成策略,获得临时账户中的密码,或由安全管理单元对设备操作单元发起的操作请求进行审批,当操作请求审批通过后,利用预设的密码生成策略,获得临时账户登录设备的密码。针对该操作请求进行审批,即判断是否允许该设备操作单元对该设备执行操作,以此增加设备的安全性。进一步地,审批通过的操作请求是指允许设备操作单元对该设备执行操作,审批未通过的操作请求,则不允许设备操作单元对设备执行操作。

装置将生成的临时账户中的密码进行存储,但是,该密码不直接显示在装置中,而是加密保存在数据库中[4](加密采用的是3DES算法),对平台管理单元、安全管理单元、审计管理单元和设备操作单元都不可见,也就是说,该密码对平台管理用户、安全管理用户、审计管理用户和设备操作用户都不可见。

利用预设的密码生成策略而生成的密码可以仅在操作时间窗口内使用有效。该操作时间窗口为一个时间长度,该时间长度可以是经验值。安全管理单元可以对该时间长度进行设置。进一步地,针对设备操作单元的操作请求,为该设备操作单元指定操作开始时间和操作终止时间,允许设备操作单元在操作开始时间和操作终止时间之间的时间段(操作时间窗口)内进行设备操作。这样,临时账户中的密码仅在指定的操作终止时间到达之前有效。

在获得密码后,装置将密码发送给设备操作单元,以使设备操作单元基于该密码对设备进行运维操作。装置通过预定的方式将临时账户(密码)传送给设备操作单元。例如,通过邮件、短信等单独渠道传送给设备操作单元,对其他单元均不可见。由于临时账户和密码具有操作时间窗口,仅在预设的操作终止时间到达之前有效,因此设备操作单元需要在操作时间窗口内,利用临时账户(密码),执行设备的操作,这种操作为有效操作,否则,该操作为无效操作,且为非法操作。

4) 步骤S140,在设备操作单元基于临时账户对设备操作完毕后,禁止该临时账户登录该设备。即对临时账户进行回收,在设备侧撤销该临时账户,当再次使用该临时账户登录设备时,则登录失败。例如:设备修改当前密码,则使用原密码将无法登录成功。

具体而言,设备操作单元对设备操作完毕后,在装置中提交密码回收请求,装置将再次向设备发送密码修改指令,或者装置将再次根据预先设置的密码生成算法生成一个密码,使设备修改当前密码,这样使用原密码将无法登录设备。设备密码修改成功后将修改后的密码返回装置,由装置对该密码加密后存入数据库。

由于密码仅在操作时间窗口内使用有效,则从指定的操作开始时间开始,判断是否接收到来自设备操作单元发送的密码回收请求,若是,则禁止密码登录设备;若否,则继续判断,直至到达操作终止时间为止;当到达操作终止时间时,判断设备操作单元对设备是否有操作,若是,则向安全管理单元发送告警信号,若否,则禁止密码登录设备。安全管理单元接收到告警信号后,视情况进行安全策略下发。例如:发现设备操作单元为可疑单元,则锁定设备;若设备出现不易排查的故障,则延长操作时间窗口[5],其中安全策略的下发是通过Agent代理程序接口从管理端下发到被管理设备的,接口传输采用的是私有协议,保证了数据传输的安全。

以下再以一实施方式进行说明:如图3所示,本实施方式中账户分配装置(管理平台)采用如Linux操作系统。被管理的设备上安装Agent代理程序模块,我们称之为安全代理,管理平台与下面管理的设备通过Agent代理程序的接口进行信息交互来保证通讯的安全。管理平台主要完成如下任务:处理操作员提出的操作申请并对这些申请进行批准并准备好此次操作使用的账户和密码、对于发出告警的监控设备下发相应的安全策略。通过应用本系统提供的账户分配方法,在保证运维效率的基础上整个系统的安全性和保密性大大加强,创造了良好的经济效益[5]。

图3 账户分配装置的系统部署图

本文提到的这种账户分配方法引入分权模式的账户管理方式,通过分配六种角色单元,使各个单元各司其职,防止某一类角色由于对设备权限过大而造成不可控制的安全影响。方法中通过申请临时账号的方式,有效地解决了大批量设备账号的管理负担问题,降低了维护成本。除此之外,临时账户密码的分配和存储都由装置管理,平台管理单元、安全管理单元和审计管理单元均无法获知密码,而且设备操作单元也只能在有限时间窗内使用密码,有效地避免了密码泄露造成的安全事件,降低运维人员的安全管理负担。

3 结束语

如何对设备进行安全有效的管理并且在管理过程中对设备密码进行有效的控制、保障环境的安全,是日常运维过程中运维人员最为关注的问题,未来运维管理中设备会越来越多,管理的人员会越来越少,更加高效安全的账户管理系统是一个必然的发展趋势。传统的管理方式通过在数据库中预先存储设备密码的方式会由于系统信息的泄漏而引发安全问题,本文针对运维管理的特点并结合实际的需求和操作流程引入了账户申请和密码有效期的概念,对传统的帐号管理的缺陷进行了分析,通过随机生成密码、操作前申请账户、管理员批准账户和账户密码设置有效期的方式消除了传统管理方式的安全隐患,在保证了系统安全性的同时也让运维的管理变得可控且规范。随着运维管理中设备数量的增多及种类的丰富,未来的系统更要关注设备的类型,并采用分类的方式,在现有的基础上根据设备的业务类型更加有效地管理设备。

参考文献

[1]叶永生.基于ITIL方法的运维服务系统研究与设计[J].现代计算机(专业版),2012(3):114-125

[2]邓集波,洪帆.基于任务的访问控制模型[J].软件学报,2003,14(1):76-82

[3]陈曦,李振宇,谢高岗.一种基于P2P-SIP的可管理和可运维VoIP系统架构[J].计算机研究与发展,2010(7):135-146

[4]邓集波,洪帆.基于任务的访问控制模型[J].软件学报,2003,14(1):76-82

[5]胡锦敏,张申生.支持企业动态联盟的敏捷工作流系统[J].计算机研究与发展,1999,36(12):1517-1223

猜你喜欢
账号账户密码
密码里的爱
彤彤的聊天账号
施诈计骗走游戏账号
如何切换Windows 10本地账户与微软账户
探索自由贸易账户体系创新应用
外汇账户相关业务
密码抗倭立奇功
父亲的股票账户
密码藏在何处
Google Play游戏取消账号绑定没有Google账号也能玩