一种Telnet模式下指令级用户权限控制方法

文档序号:7779807阅读:223来源:国知局
一种Telnet模式下指令级用户权限控制方法
【专利摘要】一种Telnet模式下指令级用户权限控制方法,网络系统包括用户Telnet客户端、设备Telnet服务器和中间控制平台CME,所述中间控制平台CME包括内置Telnet服务器和内置Telnet客户端,用户Telnet客户端通过中间控制平台CME启动到设备Telnet服务器的Telnet会话,该会话被中间控制平台CME拆分为两个内部Telnet会话和一个内部通信流,中间控制平台CME作为用户Telnet客户端和设备Telnet服务器之间的数据中转,通过中间控制平台CME进行用户权限控制。本发明实现了系统管理员对设备指令子集的自主性划分能力,实现了系统管理员对用户权限的指令级控制。
【专利说明】—种Telnet模式下指令级用户权限控制方法
【技术领域】
[0001]本发明属于电力信息网络【技术领域】,涉及计算机网络环境下用户自主性指令级权限控制方法,具体为一种Telnet模式下指令级用户权限控制方式。
【背景技术】
[0002]用户权限控制是一个极其复杂的问题,但也可简单表述为这样的逻辑表达式:判断“Who对What (Which)进行How的操作”的逻辑表达式是否为真。针对不同的应用,需要根据项目的实际情况和具体架构,在维护性、灵活性、完整性等多个性能之间比较权衡,选择符合的方案。
[0003]目前在系统用户权限控制中,一般有两种方法:
[0004]1.自主型访问控制方法
[0005]在自主型访问控制方法中,由客体的属主对自己的客体进行管理,由属主自己决定是否将自己客体的访问权或部分访问权授予其他主体。
[0006]2.强制型访问控制方法
[0007]在强制型访问控制方法中,用户(或其他主体)与文件(或其他客体)都被标记了固定的安全属性(如安全级、访问权限等),在每次访问发生时,系统检测安全属性以便确定一个用户是否有权访问该文件。
[0008]目前的各种访问控制方法已经能够很完善地控制主体对物理设备类客体的访问。但它们存在一个巨大的缺陷:无法做到对指令执行权限的逐条精确控制,而仅仅只能做到对已有指令集合的粗粒度控制。
[0009]现有的指令权限控制模式是一种强制型访问控制模式,它是使用基于角色访问控制方法来实现的。厂家在设备出厂前对设备的指令集合进行划分,形成几个固定的指令子集,并将之与不同的角色相对应。系统管理员在安装好设备后,为每个用户分配具有一定访问权限的角色。设备根据用户所具有的角色来控制用户对指令集合的访问。
[0010]在Cisco路由器和Juniper防火墙中,设备将所有指令形成的全集对应到超级用户角色,而将部分指令所形成的子集对应到普通用户角色。系统管理员在控制用户权限时,仅仅能够为用户分配角色,也就是分配厂家预先划分好的指令子集。
[0011]现有指令权限控制模式的缺点:
[0012]1.系统管理员无法自主地调整设备指令子集。
[0013]2.用户权限的控制是粗粒度的,仅能针对指令集合,不能针对每条命令。

【发明内容】

[0014]本发明要解决的问题是:现有技术下,在计算机网络环境中,用户访问设备指令的主要途径是通过Telnet客户端连接设备内置的Telnet服务器,本发明所要解决的技术问题是如何在用户使用Telnet客户端登陆设备的情况下,提供系统管理员对用户的自主性指令级权限控制。[0015]本发明的技术方案为:一种Telnet模式下指令级用户权限控制方法,网络系统包括用户Telnet客户端、设备Telnet服务器和中间控制平台CME,所述中间控制平台CME包括内置Telnet服务器和内置Telnet客户端,当用户Telnet客户端需要与设备Telnet服务器连接时,用户Telnet客户端通过中间控制平台CME启动到设备Telnet服务器的Telnet会话,该会话被中间控制平台CME拆分为两个内部Telnet会话和一个内部通信流:
[0016]两个内部Telnet会话:
[0017]用户Telnet客户端到中间控制平台CME的内置Telnet服务器的会话;
[0018]中间控制平台CME内置Telnet客户端到设备Telnet服务器的会话;
[0019]一个内部通信流:
[0020]联系所述两个内部Telnet会话的平台内部通信流。
[0021]中间控制平台CME作为用户Telnet客户端和设备Telnet服务器之间的数据中转,通过两个内部Telnet会话和一个内部通信流获得用户Telnet客户端与设备Telnet服务器之间传输的数据,进行用户权限控制,当用户Telnet客户端向设备Telnet服务器发送单个数据指令时,控制步骤为:
[0022]步骤1、用户Telnet客户端按字符向中间控制平台CME传送用户输入,即发出数据指令;
[0023]步骤2、中间控制平台CME向设备Telnet服务器发送收到的字符,如果收到的数据指令中包含回车符,则扣留回车符不发;
[0024]步骤3、设备Telnet服务器对收到的字符进行处理,生成回显字符串;
[0025]步骤4、设备Telnet服务器向中间控制平台CME发送回显字符串;
[0026]步骤5、中间控制平台CME对收到的回显字符串进行分析,若此时中间控制平台CME未收到用户Telnet客户端发来的回车符,则将该回显字符串直接发送到用户Telnet客户端;若此时中间控制平台CME有收到用户Telnet客户端发来的回车符,则将收到的回显字符串与前面已收到的数据指令的字符相结合,形成待检测命令,然后利用预存在中间控制平台的指令控制表来判断用户Telnet客户端发出的数据指令是否可以运行,进行步骤6 ;
[0027]步骤6、中间控制平台CME根据判断结果决定执行步骤6.1或步骤6.5 ;
[0028]步骤6.1、中间控制平台CME判断结果为可执行,则将步骤2中所扣得回车符发出至设备Telnet服务器;
[0029]步骤6.2、设备Telnet服务器执行步骤3收到的字符串所表示的命令,生成执行回
显字符串;
[0030]步骤6.3、设备Telnet服务器发送执行回显字符串给中间控制平台CME ;
[0031]步骤6.4、中间控制平台CME发送执行回显字符串给用户Telnet客户端,用户Telnet客户端与设备Telnet服务器的数据指令会话完成,结束;
[0032]步骤6.5、中间控制平台CME判断结果为不可执行,则将步骤2中所扣得回车符丢弃,并要求设备Telnet服务器在缓冲区中清除步骤3接收到的字符;
[0033]步骤6.6、中间控制平台CME发送未授权操作提示给用户Telnet客户端;结束会话。
[0034]进一步的,用户Telnet客户端发出多个数据指令时,中间控制平台CME与设备Telnet服务器之间会话的通信引入同步机制。
[0035]作为一种优选方式,所述同步机制为同步字符串同步法。
[0036]所述同步字符串同步法为:中间控制平台CME接收到用户Telnet客户端的第一个数据指令,判断用户Telnet客户端有执行该指令的权限后,将扣住的回车符发送到设备Telnet服务器,通知设备Telnet服务器执行数据指令,随后中间控制平台CME扣住的用户Telnet客户端的后续输入数据指令,插入一个同步字符串发送到设备Telnet服务器,该同步字符串将在上条数据指令的执行结果回显后紧跟着回显,中间控制平台CME在收到该同步字符串的回显后,先向设备Telnet服务器发送删格键指令以清空设备Telnet服务器上的同步字符串,再将用户Telnet客户端的后续的输入数据指令发送到设备Telnet服务器,通过在相邻数据指令之间插入发送同步字符串实现同步。
[0037]在使用同步字符串进行同步前,先判断该指令是否适用于同步字符串同步法。
[0038]作为另一种优选方式,所述同步机制为等待时间同步法。
[0039]所述等待时间同步法为:中间控制平台CME在接收到用户Telnet客户端的第一条指令,并向设备Telnet服务器发出第一条指令的回车符后,等待一个预设的时间,该时间过后,再发出下一条指令的字符串到设备Telnet服务器。
[0040]所述预设的时间=该指令的执行时间+结果的回显传输时间。
[0041]传统的Telnet技术网络模型是这样的:C_S,即客户端-服务器;本发明的模型为:c-s_c-s,C代表Telnet客户端,S代表Telnet服务器,C-S之间使用的标准的Telnet技术。如果采用传统的模型,要达到可以在用户Telnet客户端和设备Telnet服务器会话进行的过程中控制权限的效果,就需要改造标准的Telnet协议,由此会带来一系列变动。但是使用本发明的方法,通过在CME平台中设置内置Telnet服务器和内置Telnet客户端,就相当于将一段C-S会话拆分为两段C-S会话,对于用户来说,好像只有一段会话,原先的操作模式不变,Telnet协议也无需改造,但是却可以通过对内置Telnet服务器和内置Telnet客户端之间通信流的控制实现权限控制的功能。
[0042]本发明的有益效果:
[0043]本发明首先通过在不改变用户原有操作模式的基础上拆分会话的机制,实现了对用户输入的截获和提取,在此过程中也无需改动原有的通信协议;然后实现了自定义权限描述表,该表描述了哪些指令可以运行,那些指令不能运行,可由系统管理员设置和调整,适应性好,灵活度高,使用提取到的用户输入命令,对照权限描述表,最后决定哪些指令放行,哪些指令禁止,最终实现了系统管理员对设备指令子集的自主性划分能力和对用户权限的指令级控制。
【专利附图】

【附图说明】
[0044]图1是本发明的用户在CME平台中启用Telnet服务的会话示意图。
[0045]图2是本发明的单个命令执行流图。
[0046]图3是本发明的前条指令执行结果干扰CME平台识别后条指令示意图。
[0047]图4是本发明的指令干扰示意图。
[0048]图5是本发明的同步字符串机制不意图。【具体实施方式】
[0049]下面结合附图和实施例对本发明进一步描述。
[0050]实施例中的缩略语和关键术语定义
[0051]中文:Telnet模式下指令级用户权限控制机制
[0052]英文:User Access Control Mechanism for Instructions in Telnet Mode
[0053]缩写:AMIT
[0054]主体:通常指用户或代表用户意图的进程。主体是访问操作的主动发起者。它是系统中彳目息流的启动者。
[0055]客体:通常指信息的载体或从其它主体或客体接收信息的实体。客体包括设备、文件、数据库、记录和功能命令等。
[0056]用户权限控制:为用户分配可使用的系统资源。
[0057]指令级用户权限控制:以单条指令为单位进行用户权限控制。
[0058]实施例1:
[0059]本发明实施例的完整技术方案如图1所示,本方案将在用户与设备之间引入中间控制平台CME。
[0060]用户通过CME平台启动一个到设备的Telnet会话,该会话被CME平台拆分为两个Telnet会话和一个内部通信流:用户Telnet客户端到CME平台内置的Telnet服务器的会话、CME平台内置的Telnet客户端到设备上的会话Telnet服务器的会话和联系两个会话的平台内部通信流。
[0061 ] 如图2所示,单个命令执行流图,用户在TeInet客户端中所输入的命令字符串并不是直接送到设备上的Telnet服务器上的,而是通过CME中的内置Telnet服务器和Telnet客户端来传输的,用户Telnet客户端的数据发送到CME平台的内置Telnet服务器,内置Telnet服务器由平台内部通信流发送数据到内置Telnet客户端,内置Telnet客户端再发送数据到设备Telnet服务器,所有的数据传输采用原有的标准Telnet协议,即内置Telnet服务器和Telnet客户端作为CME平台与外部连接的接口,通过这种方式,无需对通信协议进行变动,就可以通过CME平台获得用户Telnet客户端与设备Telnet服务器之间传输的数据,通过对内部通信流的控制实现自主控制。
[0062]本发明实施例的Telnet模式下指令级用户权限控制方法的具体步骤如下:
[0063]步骤1、用户Telnet客户端按字符传送用户的输入到中间控制平台CME ;
[0064]步骤2、中间控制平台CME接收字符,按字符向设备Telnet服务器发送收到的字符,如果接收的数据中包含回车符,则扣留回车符不发;
[0065]步骤3、设备Telnet服务器对收到的字符进行处理,如命令补全、命令历史记录显不等,生成回显字符串;
[0066]步骤4、设备Telnet服务器发送回显字符串至中间控制平台CME ;
[0067]步骤5、中间控制平台CME对收到的回显字符串进行分析,若此时CME未收到回车符,则将该回显车符直接发送到用户Telnet客户端;若此时中间控制平台CME已收到回车符,则将收到的回显字符串与前面已收到当前行字符相结合,形成待检测命令,然后利用预设的指令控制表来判断指令是否可以运行,进行步骤6 ;
[0068]指令控制表是CME平台的一个用来表达指令权限的一张表,系统管理员通过设置指令控制表来实现用户权限的自主和自动控制,举个通俗的例子:
[0069]假如表项里面包含如下两条:
[0070]show.允许执行
[0071]ping.*-拒绝执行
[0072]那么上述表项表示,所有以show开头的指令,系统都放行,所有以ping开头的指令,系统都拒绝执行。
[0073]步骤6、中间控制平台CME根据判读结果决定执行步骤6.1或步骤6.5 ;
[0074]步骤6.1、中间控制平台CME判断结果为可执行,则将步骤2中所扣得回车符发出;
[0075]步骤6.2、设备Telnet服务器执行收到的字符串所表示的命令,生成回显字符串;
[0076]步骤6.3、设备Telnet服务器发送回显字符串给中间控制平台CME ;
[0077]步骤6.4、中间控制平台CME发送回显字符串给用户Telnet客户端;结束会话;
[0078]步骤6.5、中间控制平台CME判断结果为不可执行,则将步骤2中所扣得回车符丢弃,并要求设备Telnet服务器在缓冲区中清除该行;
[0079]步骤6.6、中间控制平台CME发送为授权操作提示用户Telnet客户端;结束会话。
[0080]图2所示的单个命令执行流图不能直接运用到用户输入多个指令的情况,否则会产生图3所示的前一条指令的执行结果干扰CME平台识别后一条指令的问题。
[0081]我们举例说明这个问题。用户先后快速输入两条指令“abcJ”和“defJ”。其中“abc」”的执行结果输出为“xyz”。有可能会出现图4所示的CME平台将“xyz”误作为“def”的回显的情况。图4为指令干扰举例。
[0082]以上问题的出现的原因是,CME平台内置Telnet服务器与CME内置Telnet客户端之间缺乏同步机制。CME内置Telnet服务器在接收到用户Telnet客户端的数据后,立即通过内置Telnet客户端发送到设备Telnet服务器。而不管上一条指令的回显是否已经全部从设备Telnet服务器回到了 CME的内置Telnet客户端。
[0083]为了解决连续多条指令输入的情况下,前条指令执行结果干扰CME平台识别后条指令的问题,我们在CME平台与设备Telnet服务器的通信中引入同步机制。
[0084]同步字符串机制:CME平台在判断出用户有执行该指令的权限后,会将扣住的回车符“J”发送到设备Telnet服务器,通知设备Telnet服务器可以执行该指令。随后CME平台将扣住后续的用户输入不发,而是插入一个同步字符串发送到设备Telnet服务器。该同步字符串将在上条指令的执行结果回显后紧跟着回显。CME平台在收到该同步字符串的回显后,先清空设备Telnet服务器上的同步字符串,此时没有执行任何用户指令,再将后续的用户输入发送到设备Telnet服务器,直到下一个“ J ”乙前,再插入同步字符串,进行同
止/J/ O
[0085]图5(同步字符串机制)举例说明了 CME平台所使用的同步机制。通过在指令“abcJ”和“defJ”之间插入同步字符串“$$$”,消除了指令“abcJ”的输出对CME识别指令defJ”的干扰。
[0086]作为另一种优选方式,同步机制还可采用等待时间同步法:中间控制平台CME在接收到用户Telnet客户端的第一条指令,并向设备Telnet服务器发出第一条指令的回车符后,等待一个预设的时间,该时间过后,再发出下一条指令的字符串到设备Telnet服务器,所述预设的时间=该指令的执行时间+结果的回显传输时间。通过这种方式来区分回显字符串和指令。
[0087]本发明的技术关键点:
[0088]1.用户Telnet客户端到设备Telnet服务器连接的拆分。
[0089]为了获得用户执行的命令信息,AMIT机制(即本发明方法)将用户Telnet客户端到设备Telnet服务器的直连Telnet通路拆分为两个通过CME平台连接的受控Telnet通路。CME平台在两个连接的通信中引入同步控制机制和安全控制机制,从而实现了对用户指令的逐条控制。
[0090]2.用户输入命令的判断方式。
[0091]表面上看来,CME平台可以简单的从用户Telnet客户端到CME平台的Telnet通路获得用户输入,其实不然。在实际应用中,用户的输入有三种方式:完整命令字符串、部分字符+TAB键、向下或向上箭头。下面解释这三种方式,并说明上面方法为什么不可行。
[0092]I)完整命令字符串方式就是用户输入整个命令所对应的字符串,包括回车符,指令是否执行,是以用户发过来的回车符为依据,只要没发回车,指令就不会执行。
[0093]2)部分字符+TAB键方式就是用户输入命令所对应的字符串的前缀部分,然后输入TAB键要求设备对该前缀部分进行补全,再回显到用户端。如用户输入sh+TAB,设备将回显 show.[0094]3)向下或向上箭头的方式是查询历史命令。
[0095]因此,CME平台无法简单地通过用户输入直接判断用户所要执行的命令到底是哪条。
[0096]为了解决这个问题,本发明对应设置了步骤2和步骤5的控制方法,一是区分完整命令,二是CME平台利用Telnet协议的用户输入回显机制,从设备Telnet服务器回显获得用户输入的具体命令,实现对用户各种输入的对应处理。
[0097]2.用户指令权限的判断。
[0098]CME平台在获得用户输入的命令后,通过查找系统管理员预先配置的用户命令访问控制列表来判断该用户是否有执行该命令的权限。
[0099]3.设备在收到用户指令后,CME平台如何控制设备是否执行该指令。
[0100]因为CME平台通过设备Telnet服务器回显来判断用户输入的具体指令,所以在CME平台对指令权限进行判断之前,设备Telnet服务器已经收到了命令。但该指令的执行需要用户在指令末端输入的回车符“J”。因此,CME平台将在判断出用户是否有执行该指令的权限之前,扣住用户输入的“J”不发,以保证权限控制的实行。
[0101]4.同步字符串机制。
[0102]由于CME平台通过设备Telnet服务器回显来获得用户输入的指令的,而Telnet协议是一种全双工的流式字符传输协议,所以在用户连续输入的情况下,CME平台无法判断设备回显是上条命令的执行结果还是本条命令的回显。因此,我们需要在用户输入和设备回显之间引入同步机制。本发明提供了两种同步机制的方法,同步字符串机制或等待时间同步法,通过这种方式,AMIT消除了 CME平台在判断用户指令权限时,前一条指令对后一条指令的干扰。
[0103]虽然本发明通过实施例进行了描述,但实施例并非用来限定本发明。本领域技术人员可在本发明的精神的范围内,做出各种变形和改进,但同样在本发明的保护范围之内。因此本发明的保护范围应当以本申请的权利要求保护范围所界定的为准。
【权利要求】
1.一种Telnet模式下指令级用户权限控制方法,其特征在于,网络系统包括用户Telnet客户端、设备Telnet服务器和中间控制平台CME,所述中间控制平台CME包括内置Telnet服务器和内置Telnet客户端,当用户Telnet客户端需要与设备Telnet服务器连接时,用户Telnet客户端通过中间控制平台CME启动到设备Telnet服务器的Telnet会话,该会话被中间控制平台CME拆分为两个内部Telnet会话和一个内部通信流: 两个内部Telnet会话: 用户Telnet客户端到中间控制平台CME的内置Telnet服务器的会话; 中间控制平台CME内置Telnet客户端到设备Telnet服务器的会话; 一个内部通信流: 联系所述两个内部TeInet会话的平台内部通信流。
2.根据权利要求1所述的Telnet模式下指令级用户权限控制方法,其特征在于,中间控制平台CME作为用户Telnet客户端和设备Telnet服务器之间的数据中转,通过两个内部Telnet会话和一个内部通信流获得用户Telnet客户端与设备Telnet服务器之间传输的数据,进行用户权限控制,当用户Telnet客户端向设备Telnet服务器发送单个数据指令时,控制步骤为: 步骤1、用户Telnet客户端按字符向中间控制平台CME传送用户输入,即发出数据指令; 步骤2、中间控制平台CME向设备Telnet服务器发送收到的字符,如果收到的数据指令中包含回车符,则扣留回车符不发; 步骤3、设备Telnet服务器对收到的字符进行处理,生成回显字符串; 步骤4、设备Telnet服务器向中间控制平台CME发送回显字符串; 步骤5、中间控制平台CME对收到的回显字符串进行分析,若此时中间控制平台CME未收到用户Telnet客户端发来的回车符,则将该回显字符串直接发送到用户Telnet客户端;若此时中间控制平台CME有收到用户Telnet客户端发来的回车符,则将收到的回显字符串与前面已收到的数据指令的字符相结合,形成待检测命令,然后利用预存在中间控制平台的指令控制表来判断用户Telnet客户端发出的数据指令是否可以运行,进行步骤6 ; 步骤6、中间控制平台CME根据判断结果决定执行步骤6.1或步骤6.5 ; 步骤6.1、中间控制平台CME判断结果为可执行,则将步骤2中所扣的回车符发出至设备Telnet服务器; 步骤6.2、设备Telnet服务器执行步骤3收到的字符串所表示的命令,生成执行回显字符串; 步骤6.3、设备Telnet服务器发送执行回显字符串给中间控制平台CME ; 步骤6.4、中间控制平台CME发送执行回显字符串给用户Telnet客户端,用户Telnet客户端与设备Telnet服务器的数据指令会话完成,结束; 步骤6.5、中间控制平台CME判断结果为不可执行,则将步骤2中所扣得回车符丢弃,并要求设备Telnet服务器在缓冲区中清除步骤3接收到的字符; 步骤6.6、中间控制平台CME发送未授权操作提示给用户Telnet客户端;结束会话。
3.根据权利要求1或2所述的Telnet模式下指令级用户权限控制方法,其特征在于,用户Telnet客户端发出多个数据指令时,中间控制平台CME与设备Telnet服务器之间会话的通信引入同步机制。
4.根据权利要求3所述的Telnet模式下指令级用户权限控制方法,其特征在于,所述同步机制为同步字符串同步法。
5.根据权利要求4所述的Telnet模式下指令级用户权限控制方法,其特征在于,所述同步字符串同步法为:中间控制平台CME接收到用户Telnet客户端的第一个数据指令,判断用户Telnet客户端有执行该指令的权限后,将扣住的回车符发送到设备Telnet服务器,通知设备Telnet服务器执行数据指令,随后中间控制平台CME扣住的用户Telnet客户端的后续输入数据指令,插入一个同步字符串发送到设备Telnet服务器,该同步字符串将在上条数据指令的执行结果回显后紧跟着回显,中间控制平台CME在收到该同步字符串的回显后,先向设备Telnet服务器发送删格键指令以清空设备Telnet服务器上的同步字符串,再将用户Telnet客户端的后续的输入数据指令发送到设备Telnet服务器,通过在相邻数据指令之间插入发送同步字符串实现同步。
6.根据权利要求3所述的Telnet模式下指令级用户权限控制方法,其特征在于,所述同步机制为等待时间同步法。
7.根据权利要求6所述的Telnet模式下指令级用户权限控制方法,其特征在于,所述等待时间同步法为:中间控制平台CME在接收到用户Telnet客户端的第一条指令,并向设备Telnet服务器发出第一条指令的回车符后,等待一个预设的时间,该时间过后,再发出下一条指令的字符串到设备Telnet服务器。
8.根据权利要求7所述的Telnet模式下指令级用户权限控制方法,其特征在于,所述预设的时间=该指令的执行时间+结果的回显传输时间。
【文档编号】H04L29/08GK103647826SQ201310670274
【公开日】2014年3月19日 申请日期:2013年12月10日 优先权日:2013年12月10日
【发明者】刘少君, 李维, 赵新建, 王春芹, 袁培森 申请人:国家电网公司, 江苏省电力公司, 江苏省电力公司南京供电公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1