用户认证的方法和装置制造方法

文档序号:7995645阅读:86来源:国知局
用户认证的方法和装置制造方法
【专利摘要】本发明提出了一种在SSH服务器中进行用户认证的方法,其中,SSH服务器上设置有特定协议的客户端,包括:接收来自于用户的包含有所述用户公开密钥信息的用户认证请求消息;生成以所述特定协议的消息格式封装的第一消息,其中,所述第一消息中包括所述用户的公开密钥的信息、所述用户的标识、所述SSH服务器的公开密钥的信息和所述SSH服务器的标识;通过所述特定协议的客户端将第一消息发送至认证服务器,其中,所述认证服务器上存有所述用户的公开密钥和所述SSH服务器的公开密钥;所述SSH服务器接收来自于所述认证服务器上的以所述特定协议的消息格式封装的第二消息,其中,第二消息中包括用于生成该次用户认证响应消息的信息。
【专利说明】用户认证的方法和装置
【技术领域】
[0001]本发明涉及网络安全领域,尤其涉及用户认证领域。
【背景技术】
[0002]SSH(Secure Shell)广泛的应用于安全网络管理领域,例如,基于SSH的Telnet,FTP,端口转发等服务。而SSH协议之所以能提供高于传统的RSH协议的安全性,主要是由于SSH可以支持多种安全认证机制,例如基于口令的安全机制,基于主机地址的安全机制,其中,最广泛应用的是基于公开密钥(public key)的用户认证机制。在基于公开密钥的用户认证机制中,每个用户需生成一对用于加密/认证的密钥对,其中保留在用户端的称之为私有密钥(private key),由用户保证该私有密钥的安全性。与私钥相对应的是公开密钥,在用户认证的过程中,用户端需要将公开密钥传递给服务器,公开密钥也可存放于服务器端。将用户公开密钥存放于服务器可以带来格外的安全性,即服务器只接收来自已知公开密钥的用户端的登录。用户要求登录服务器时,用户端根据认证挑战信息及其私有密钥生成对应的认证响应信息,而服务器则使用用户端对应的公开密钥进行认证,只有当两者匹配,才允许用户登录。
[0003]显然,这一机制基于存放在用户端和服务器端的密钥对,因而可以提供更高的安全性能。然而,也正是由于这一机制需要在用户端和服务器端都进行配置,因此也导致了如下一系列的问题。
[0004]首先,这一机制对于大规模分布式系统而言,部署不便。在一个大规模分布式系统中,存在多个服务器,如果某个高权限用户(例如,系统管理员)需要能登录所有这些服务器,就需要将其公开密钥存放到系统中的所有服务器上,这大大增加了部署的工作量和复杂程度。
[0005]其次,无法确保用户密钥的唯一性,增加了系统的风险性。由于每个用户的公开/私有密钥对分别存放在不同的SSH服务器上,并无集中管理,因此可能出现不同的服务器上不同用户的公开密钥恰好相同的情形,由此导致在某个服务器上出现非法用户可以合法登录的情况。
[0006]另外,当不同服务器上的公开密钥的配置不相同时,维护和跟踪这些不同的密钥配置的成本也大大增加。
[0007]最后,当需要更改上述高权限用户的密钥配置,例如,删除某个系统管理员账号时,必须在每个服务器上进行配置,删除对应的公开密钥,重启服务器才能生效,而这种系统级的重启常常是不可接受的。
[0008]总之,由于这一机制是将公开密钥配置在服务器本地,因而导致了所有的相关操作都只能在本地进行,无法进行集中式的统一管理,因而大大限制了其在大规模分布式系统中的应用。

【发明内容】
[0009]为解决现有技术中的上述问题,本发明提出一种新的基于远端认证的SSH认证机制,通过将公开密钥进行集中布置,并将各个服务器的密钥信息封装转发至集中的认证服务器的方法,既获得了基于密钥对的高安全性,同时也实现了系统级的集中管理。
[0010]具体地,根据本发明的第一方面,提供了一种在SSH服务器中进行用户认证的方法,其中,所述SSH服务器上设置有特定协议的客户端,所述方法包括:接收来自于用户的包含有所述用户公开密钥信息的用户认证请求消息;生成以所述特定协议的消息格式封装的第一消息,其中,所述第一消息中包括所述用户的公开密钥的信息、所述用户的标识、所述SSH服务器的公开密钥的信息和所述SSH服务器的标识;通过所述特定协议的客户端将所述第一消息发送至认证服务器,其中,所述认证服务器上存有所述用户的公开密钥和所述SSH服务器的公开密钥;所述SSH服务器接收来自于所述认证服务器上的以所述特定协议的消息格式封装的第二消息,其中,所述第二消息中包括用于生成该次用户认证响应消息的信息。
[0011]优选地,所述用于生成该次用户认证响应消息的信息包括所述用户的公开密钥和所述SSH服务器的公开密钥是否同时合法的信息,所述方法还包括:当所述用户的公开密钥和所述SSH服务器的公开密钥同时合法时,所述SSH服务器进行用户认证并生成该次用户认证响应消息;当所述用户的公开密钥和所述SSH服务器的公开密钥不是同时合法时,所述SSH服务器直接判定该次用户认证失败并生成该次用户认证响应消息。
[0012]优选地,所述用于生成该次用户认证响应消息的信息包括该次用户认证的结果,所述SSH服务器根据所述该次用户认证的结果生成该次用户认证响应消息。
[0013]优选地,所述用于生成该次用户认证响应消息的信息包括封装在所述第二消息中的该次用户认证响应消息,所述SSH服务器将所述第二消息解封以生成所述该次用户认证响应消息。
[0014]更优选地,所述用户认证请求消息中可以包含或者不包含所述用户的用户名和/或密码。
[0015]更优选地,所述特定协议为远程用户拨号认证协议或者DIAMETER协议。
[0016]更优选地,所述用户的标识和所述SSH服务器的标识是所述用户的IP地址和所述SSH服务器的IP地址。
[0017]根据本发明的第二方面,提供了一种在认证服务器中辅助至少一个SSH服务器进行用户认证的方法,其中,所述认证服务器上存有所有所述SSH服务器的公开密钥和所有所述用户的公开密钥,并且所述认证服务器上设置有特定协议的服务端,所述方法包括:通过所述特定协议的服务端接收来自于所述SSH服务器的以所述特定协议的消息格式封装的第三消息;其中,所述第三消息中包括所述用户的公开密钥的信息、所述用户的标识、所述SSH服务器的公开密钥的信息和所述SSH服务器的标识;所述认证服务器根据存有的所有所述SSH服务器的公开密钥和所有所述用户的公开密钥对所述第三消息中的信息进行认证,得到用于生成该次用户认证响应消息的信息;将所述用于生成该次用户认证响应消息的信息以所述特定协议的消息格式封装成第四消息并通过所述特定协议的服务端发送至所述SSH服务器。
[0018]优选地,所述对所述第三消息中的信息进行认证包括对所述用户的公开密钥和所述SSH服务器的公开密钥是否合法进行认证;所述用于生成该次用户认证响应消息的信息包括所述用户的公开密钥和所述SSH服务器的公开密钥是否同时合法的信息。
[0019]优选地,所述对所述第三消息中的信息进行认证包括对所述用户进行认证;所述用于生成该次用户认证响应消息的信息包括该次用户认证的结果。
[0020]优选地,所述对所述第三消息中的信息进行认证包括所述用户进行认证并生成该次用户认证响应消息;所述用于生成该次用户认证响应消息的信息包括所述该次用户认证响应消息。
[0021]更优选地,当所述用户或者所述SSH服务器初次使用时,所述对所述第三消息中的信息进行认证还包括对所述用户的公共密钥或者所述SSH服务器的公共密钥是否和所述认证服务器上已存有的其他用户或SSH服务器的公共密钥相同进行认证,当相同时,所述认证服务器不存放所述用户或者所述SSH服务器的公共密钥,并通知所述SSH服务器;当不相同时,所述认证服务器存放所述用户或者所述SSH服务器的公共密钥。
[0022]更优选地,所述用户认证请求消息中可以包含或者不包含所述用户的用户名和/或密码。
[0023]更优选地,所述特定协议为远程用户拨号认证协议或者DIAMETER协议。
[0024]更优选地,所述认证服务器上存有所述用户的公开密钥、所述用户的标识、所述SSH服务器的公开密钥和所述SSH服务器的标识之间的对应关系。
[0025]更优选地,还包括当某一用户不再被允许登入所述SSH服务器时,在所述认证服务器上移除或者禁用所述用户的公开密钥、所述用户的标识、所述SSH服务器的公开密钥和所述SSH服务器的标识之间的对应关系。
[0026]根据本发明的第三方面,提供了一种在SSH服务器中进行用户认证的装置,其中,所述SSH服务器上设置有特定协议的客户端,所述装置包括:第一接收模块,用于接收来自于用户的包含有所述用户公开密钥信息的用户认证请求消息;生成模块,用于生成以所述特定协议的消息格式封装的第一消息,其中,所述第一消息中包括所述用户的公开密钥的信息、所述用户的标识、所述SSH服务器的公开密钥的信息和所述SSH服务器的标识;发送模块,用于通过所述特定协议的客户端将所述第一消息发送至认证服务器,其中,所述认证服务器上存有所述用户的公开密钥和所述SSH服务器的公开密钥;第二接收模块,用于接收来自于所述认证服务器上的以所述特定协议的消息格式封装的第二消息,其中,所述第二消息中包括用于生成该次用户认证响应消息的信息。
[0027]根据本发明的第四方面,提供了一种在认证服务器中辅助至少一个SSH服务器进行用户认证的装置,其中,所述认证服务器上存有所有所述SSH服务器的公开密钥和所有所述用户的公开密钥,并且所述认证服务器上设置有特定协议的服务端,所述装置包括:接收模块,用于通过所述特定协议的服务端接收来自于所述SSH服务器的以所述特定协议的消息格式封装的第三消息;其中,所述第三消息中包括所述用户的公开密钥的信息、所述用户的标识、所述SSH服务器的公开密钥的信息和所述SSH服务器的标识;认证模块,用于根据存有的所有所述SSH服务器的公开密钥和所有所述用户的公开密钥对所述第三消息中的信息进行认证,得到用于生成该次用户认证响应消息的信息;发送模块,用于将所述用于生成该次用户认证响应消息的信息以所述特定协议的消息格式封装成第四消息并通过所述特定协议的服务端发送至所述SSH服务器。
[0028]本发明中,通过将公开密钥集中布置到认证服务器上,并通过特定的协议进行公开密钥信息的转发,可以确保在认证服务器上实现密钥唯一性检查,进一步的,还可以将不同的SSH服务器上的本地认证过程转变成在统一的认证服务器上的集中式远端认证。从而可以实现集中部署,集中管理,集中维护,集中修改的操作方式。尤其是通过维护用户、月艮务器和各自的公开密钥的对应关系列表,可以方便的对用户在不同服务器的登录权限加以配置,例如在删除用户登入权限时只需对上述对应关系列表进行修改即可,无需进行该SSH服务器的重启,大大增加了整个系统的可维护性。
【专利附图】

【附图说明】
[0029]通过参照附图阅读以下所作的对非限制性实施例的详细描述,本发明的其它特征、目的和优势将会更为明显。
[0030]图1示出了根据本发明的一种在SSH服务器中进行用户认证的方法;
[0031]图2示出了根据本发明的一种在认证服务器中辅助至少一个SSH服务器进行用户认证的方法;
[0032]图3示出了根据本发明的一种在SSH服务器中进行用户认证的装置;
[0033]图4示出了根据本发明的一种在认证服务器中辅助至少一个SSH服务器进行用户认证的装置。
[0034]其中,相同或相似的附图标记表示相同或相似的步骤特征或装置/模块。
【具体实施方式】
[0035]以下结合附图来说明本发明的【具体实施方式】。
[0036]根据本发明的一个典型的系统配置中包括:一个认证服务器和若干个SSH服务器,当然本发明也适用于只有一个SSH服务器的情形。其中在认证服务器上配置特定协议的服务端,而在所有SSH服务器上则相应的配置有该特定协议的客户端,用于同认证服务器上的服务端进行通信,该特定协议例如可以是远程用户拨号认证协议(RemoteAuthentication Dial In User Service简称RADIUS),也可以是其它可以实现类似功能的协议,如DIAMETER或者自定义其他TCP/UDP协议来完成。为方便描述,下文中以RADIUS协议为例。
[0037]而对于系统中的每个合法用户而言,其拥有一对用于进行登录的密钥对,其中的私有密钥存放在该用户的登录用客户机上,而其中的公开密钥则存放在认证服务器中。即系统中所有合法用户的公开密钥集中存放于认证服务器,从而区别于传统方式中分别存放于各个SSH服务器的做法。同样的,对于系统中的合法SSH服务器而言,其公开密钥也存放在认证服务器上。
[0038]对于初次加入系统的用户或者SSH服务器来说,上述存放过程可以是通过在认证服务器上的注册过程来完成的。具体的,一个用户通过用户认证请求消息将其公开密钥发送给SSH服务器;该SSH服务器在收到该消息后提取出该用户标识及其公开密钥,并和自己的SSH服务器标识及SSH服务器的公开密钥一起传输到认证服务器;认证服务器收到该消息后根据SSH服务器的标识来判定该服务器是否已经注册,如果没有注册则检查SSH服务的公开密钥是否与其他已存放的公开密钥重复,如重复再返回消息给SSH服务器,通知其重新生成其他公开密钥并重新发送请求;不重复则记录服务器标识及其公开密钥;同样的再根据用户标识来判定该用户是否已经注册,如果没有注册则检查用户的公开密钥是否与其他已存放的公开密钥重复,如重复再返回消息给SSH服务器要求通知用户重新生成其他公开密钥并重新发送请求,SSH服务器拒绝用户接入并通知其原因,用户收到该通知后重新生成密钥对并重新请求接入;不重复则记录用户标识及其公开密钥。
[0039]在认证服务器上,可以采用各种方式存放上述公开密钥,只要能正确地反映出用户的登录权限即可。例如,可以是为每个SSH服务器创建一个密钥目录,用于存放该SSH服务器上的合法用户的公开密钥,这时,当一个用户可以登录多个SSH服务器时,只需将该用户的公开密钥复制到这些服务器对应的多个目录即可;而需要移除某个用户在某个SSH服务器上的登录权限时,则需要删除相应目录下的相应的公开密钥。
[0040]进一步的优选方案,可以是在认证服务器上维护一张映射关系的列表,该列表反映的是各个SSH服务器标识、各个用户标识及其各自的公开密钥之间的对应关系,采用这种方式的情况下,每个公开密钥只需存放一次,而需要移除某个用户在某个SSH服务器上的登录权限时,修改也很方便,只需修改映射关系列表,移除或者禁用该SSH服务器和该用户公开密钥之间的对应关系即可,无需删除操作,可以减少误操作的风险;而需要移除某个用户在所有SSH服务器上的登录权限时,例如需要从系统中删除某个用户的情形下,只需删除该用户的公开密钥,则该用户就失去了对所有SSH服务器的登录权限,十分方便。而上述的标识可以是任何能在系统中唯一标识该用户或SSH服务器的标识符号,例如可以是该用户客户机的或者该SSH服务器的IP地址。
[0041]基于上述系统配置,根据本发明的一个实施例中的用户认证流程如下:
[0042]1.用户从存有其私有密钥的客户机发起SSH会话设立过程,首先通过客户机上的SSH客户端向SSH服务器发送用户认证请求消息(SSH_MSG_USERAUTH_REQUEST),该消息中包含了用户的公开密钥的信息。
[0043]2.SSH服务器通过SSH服务端接收上述用户认证请求消息,然后与传统的处理过程不同,SSH服务器不在本地进行密钥对认证,而是提取用户的标识和公开密钥并进入下一步骤。
[0044]3.SSH服务器将用户的公开密钥的信息、用户的标识、SSH服务器的公开密钥的信息和SSH服务器的标识其封装成RADIUS协议格式的消息,可以基于RADIUS协议所支持的可扩展身份验证协议(Extensible Authentication Protocol简称ΕΑΡ)来实现该重新封装,或者基于RADIUS协议的厂商自定义格式实现该重新封装。只要确保封装后的消息中仍包含前述的信息即可。
[0045]4.SSH服务器将上述重新封装后的消息,通过其RADIUS客户端发送至认证服务器。
[0046]5.认证服务器通过其RADIUS服务端接收该消息,进行解封操作后,从该RADIUS消息中得到上述信息。
[0047]6.认证服务器根据上述信息,通过存放在认证服务器上的映射关系的列表进行密钥的合法性认证,即检查上述密钥是否已经注册过,从而得到用户的公开密钥和SSH服务器的公开密钥是否同时合法的结果。
[0048]7.认证服务器将上述结果封装成RADIUS协议格式的消息,并通过其RADIUS服务端将该RADIUS消息发送至上述SSH服务器。[0049]8.SSH服务器通过其RADIUS客户端接收上述RADIUS消息,进行解封操作后,从该RADIUS消息中得到上述结果。
[0050]9.SSH服务器根据该结果进行后续操作:
[0051]当用户的公开密钥和SSH服务器的公开密钥同时合法时,SSH服务器进行用户认证并生成该次用户认证响应消息;
[0052]当用户的公开密钥和SSH服务器的公开密钥不是同时合法时,SSH服务器直接判定该次用户认证失败并生成该次用户认证响应消息。
[0053]根据本发明的另一个实施例中,与上述实施例的区别在于:
[0054]步骤6中认证服务器不仅进行密钥合法性认证,还进一步的对用户进行数字签名认证,即对该用户的登陆是否合法进行认证,从而得到该次用户认证的结果;
[0055]步骤9中根据该结果直接生成该次用户认证响应消息。
[0056]根据本发明的又一个实施例中,SSH服务器的公开、私有密钥对是在认证服务器中生成和使用。即在服务器初始化时,请求认证服务器为其生成公私密钥对,并在认证服务器上进行安全存贮。
[0057]而在用户请求接入SSH服务器时,把需要进行密码处理的消息转发给认证服务器上的代理,认证服务器上的代理进行相应的密码处理以及生成响应消息,并连同处理结果一起返回给SSH服务器。SSH服务器直接从中解封出该次用户认证响应消息。
[0058]在这一实施例中,SSH服务器和认证服务器之间的通讯同前述实施例类似,可以通过扩展RADIUS,DIAMETER或者自定义其他TCP/UDP协议来完成。
[0059]需要指出,在上述3个实施例中,都还可以同时支持基于用户名和/或密码的认证方式,也就是,在起始步骤中当用户发出用户认证请求消息时,可以进一步的包含用户名和/或密码的信息。
[0060]附图1示出了根据上述【具体实施方式】,在SSH服务器中进行用户认证的方法,包括以下步骤:
[0061]Sll.接收来自于用户的包含有所述用户公开密钥信息的用户认证请求消息;
[0062]S12.生成以所述特定协议的消息格式封装的第一消息,其中,所述第一消息中包括所述用户的公开密钥的信息、所述用户的标识、所述SSH服务器的公开密钥的信息和所述SSH服务器的标识;
[0063]S13.通过所述特定协议的客户端将所述第一消息发送至认证服务器,其中,所述认证服务器上存有所述用户的公开密钥和所述SSH服务器的公开密钥;
[0064]S14.所述SSH服务器接收来自于所述认证服务器上的以所述特定协议的消息格式封装的第二消息,其中,所述第二消息中包括用于生成该次用户认证响应消息的信息。
[0065]附图2示出了根据上述【具体实施方式】,在认证服务器中辅助至少一个SSH服务器进行用户认证的方法,包括以下步骤:
[0066]S21.通过所述特定协议的服务端接收来自于所述SSH服务器的以所述特定协议的消息格式封装的第三消息;其中,所述第三消息中包括所述用户的公开密钥的信息、所述用户的标识、所述SSH服务器的公开密钥的信息和所述SSH服务器的标识;
[0067]S22.所述认证服务器根据存有的所有所述SSH服务器的公开密钥和所有所述用户的公开密钥对所述第三消息中的信息进行认证,得到用于生成该次用户认证响应消息的信息;
[0068]S23.将所述用于生成该次用户认证响应消息的信息以所述特定协议的消息格式封装成第四消息并通过所述特定协议的服务端发送至所述SSH服务器。
[0069]以下再来结合框图来介绍本发明所提供的与上述方法相对应的装置,鉴于其中的单元/装置特征与上述方法中的步骤特征有对应关系,将从简。
[0070]附图3示出了一种在SSH服务器中进行用户认证的装置S30的框图,该装置S30包括:
[0071]第一接收模块3001,用于接收来自于用户的包含有所述用户公开密钥信息的用户认证请求消息;
[0072]生成模块3002,用于生成以所述特定协议的消息格式封装的第一消息,其中,所述第一消息中包括所述用户的公开密钥的信息、所述用户的标识、所述SSH服务器的公开密钥的信息和所述SSH服务器的标识;
[0073]发送模块3003,用于通过所述特定协议的客户端将所述第一消息发送至认证服务器,其中,所述认证服务器上存有所述用户的公开密钥和所述SSH服务器的公开密钥;
[0074]第二接收模块3004,用于接收来自于所述认证服务器上的以所述特定协议的消息格式封装的第二消息,其中,所述第二消息中包括用于生成该次用户认证响应消息的信息。
[0075]附图4示出了一种在认证服务器中辅助至少一个SSH服务器进行用户认证的装置S40的框图,该装置S40包括:
[0076]接收模块4001,用于通过所述特定协议的服务端接收来自于所述SSH服务器的以所述特定协议的消息格式封装的第三消息;其中,所述第三消息中包括所述用户的公开密钥的信息、所述用户的标识、所述SSH服务器的公开密钥的信息和所述SSH服务器的标识;
[0077]认证模块4002,用于根据存有的所有所述SSH服务器的公开密钥和所有所述用户的公开密钥对所述第三消息中的信息进行认证,得到用于生成该次用户认证响应消息的信息;
[0078]发送模块4004,用于将所述用于生成该次用户认证响应消息的信息以所述特定协议的消息格式封装成第四消息并通过所述特定协议的服务端发送至所述SSH服务器。
[0079]以上对本发明的实施例进行了描述,但是本发明并不局限于特定的系统、设备和具体协议,本领域内技术人员可以在所附权利要求的范围内做出各种变形或修改。
[0080]那些本【技术领域】的一般技术人员可以通过研究说明书、公开的内容及附图和所附的权利要求书,理解和实施对披露的实施方式的其他改变。在权利要求中,措词“包括”不排除其他的元素和步骤,并且措辞“一个”不排除复数。在本发明中,“第一”、“第二”仅表示名称,不代表次序关系。在发明的实际应用中,一个零件可能执行权利要求中所引用的多个技术特征的功能。权利要求中的任何附图标记不应理解为对范围的限制。
【权利要求】
1.一种在SSH服务器中进行用户认证的方法,其中,所述SSH服务器上设置有特定协议的客户端,所述方法包括: -接收来自于用户的包含有所述用户公开密钥信息的用户认证请求消息; -生成以所述特定协议的消息格式封装的第一消息,其中,所述第一消息中包括所述用户的公开密钥的信息、所述用户的标识、所述SSH服务器的公开密钥的信息和所述SSH服务器的标识; -通过所述特定 协议的客户端将所述第一消息发送至认证服务器,其中,所述认证服务器上存有所述用户的公开密钥和所述SSH服务器的公开密钥; -所述SSH服务器接收来自于所述认证服务器上的以所述特定协议的消息格式封装的第二消息,其中,所述第二消息中包括用于生成该次用户认证响应消息的信息。
2.根据权利要求1所述的方法,其中,所述用于生成该次用户认证响应消息的信息包括所述用户的公开密钥和所述SSH服务器的公开密钥是否同时合法的信息,所述方法还包括: -当所述用户的公开密钥和所述SSH服务器的公开密钥同时合法时,所述SSH服务器进行用户认证并生成该次用户认证响应消息; -当所述用户的公开密钥和所述SSH服务器的公开密钥不是同时合法时,所述SSH服务器直接判定该次用户认证失败并生成该次用户认证响应消息。
3.根据权利要求1所述的方法,其中,所述用于生成该次用户认证响应消息的信息包括该次用户认证的结果,所述SSH服务器根据所述该次用户认证的结果生成该次用户认证响应消息。
4.根据权利要求1所述的方法,其中,所述用于生成该次用户认证响应消息的信息包括封装在所述第二消息中的该次用户认证响应消息,所述SSH服务器将所述第二消息解封以生成所述该次用户认证响应消息。
5.根据权利要求1至4中任一项所述的方法,其中,所述用户认证请求消息中可以包含或者不包含所述用户的用户名和/或密码。
6.根据权利要求1至4中任一项所述的方法,其中,所述特定协议为远程用户拨号认证协议或者DIAMETER协议。
7.根据权利要求1至4中任一项所述的方法,其中,所述用户的标识和所述SSH服务器的标识是所述用户的IP地址和所述SSH服务器的IP地址。
8.—种在认证服务器中辅助至少一个SSH服务器进行用户认证的方法,其中,所述认证服务器上存有所有所述SSH服务器的公开密钥和所有所述用户的公开密钥,并且所述认证服务器上设置有特定协议的服务端,所述方法包括: -通过所述特定协议的服务端接收来自于所述SSH服务器的以所述特定协议的消息格式封装的第三消息;其中,所述第三消息中包括所述用户的公开密钥的信息、所述用户的标识、所述SSH服务器的公开密钥的信息和所述SSH服务器的标识; -所述认证服务器根据存有的所有所述SSH服务器的公开密钥和所有所述用户的公开密钥对所述第三消息中的信息进行认证,得到用于生成该次用户认证响应消息的信息; -将所述用于生成该次用户认证响应消息的信息以所述特定协议的消息格式封装成第四消息并通过所述特定协议的服务端发送至所述SSH服务器。
9.根据权利要求8所述的方法,其中,所述对所述第三消息中的信息进行认证包括对所述用户的公开密钥和所述SSH服务器的公开密钥是否合法进行认证;所述用于生成该次用户认证响应消息的信息包括所述用户的公开密钥和所述SSH服务器的公开密钥是否同时合法的信息。
10.根据权利要求8所述的方法,其中,所述对所述第三消息中的信息进行认证包括对所述用户进行认证;所述用于生成该次用户认证响应消息的信息包括该次用户认证的结果O
11.根据权利要求8所述的方法,其中,所述对所述第三消息中的信息进行认证包括所述用户进行认证并生成该次用户认证响应消息;所述用于生成该次用户认证响应消息的信息包括所述该次用户认证响应消息。
12.根据权利要求8至11中任一项所述的方法,其中,当所述用户或者所述SSH服务器初次使用时,所述对所述第三消息中的信息进行认证还包括对所述用户的公开密钥或者所述SSH服务器的公开密钥是否和所述认证服务器上已存有的其他用户或SSH服务器的公开密钥相同进行认证, -当相同时,所述认证服务器不存放所述用户或者所述SSH服务器的公开密钥,并通知所述SSH服务器; -当不相同时,所述认证服务器存放所述用户或者所述SSH服务器的公开密钥。
13.根据权利要求 8至11中任一项所述的方法,其中,所述用户认证请求消息中可以包含或者不包含所述用户的用户名和/或密码。
14.根据权利要求8至11中任一项所述的方法,其中,所述特定协议为远程用户拨号认证协议或者DIAMETER协议。
15.根据权利要求8至11中任一项所述的方法,其中,所述认证服务器上存有所述用户的公开密钥、所述用户的标识、所述SSH服务器的公开密钥和所述SSH服务器的标识之间的对应关系。
16.根据权利要求15所述的方法,还包括当某一用户不再被允许登入所述SSH服务器时,在所述认证服务器上移除或者禁用所述用户的公开密钥、所述用户的标识、所述SSH服务器的公开密钥和所述SSH服务器的标识之间的对应关系。
17.—种在SSH服务器中进行用户认证的装置,其中,所述SSH服务器上设置有特定协议的客户端,所述装置包括: 第一接收模块,用于接收来自于用户的包含有所述用户公开密钥信息的用户认证请求消息; 生成模块,用于生成以所述特定协议的消息格式封装的第一消息,其中,所述第一消息中包括所述用户的公开密钥的信息、所述用户的标识、所述SSH服务器的公开密钥的信息和所述SSH服务器的标识; 发送模块,用于通过所述特定协议的客户端将所述第一消息发送至认证服务器,其中,所述认证服务器上存有所述用户的公开密钥和所述SSH服务器的公开密钥; 第二接收模块,用于接收来自于所述认证服务器上的以所述特定协议的消息格式封装的第二消息,其中,所述第二消息中包括用于生成该次用户认证响应消息的信息。
18.—种在认证服务器中辅助至少一个SSH服务器进行用户认证的装置,其中,所述认证服务器上存有所有所述SSH服务器的公开密钥和所有所述用户的公开密钥,并且所述认证服务器上设置有特定协议的服务端,所述装置包括: 接收模块,用于通过所述特定协议的服务端接收来自于所述SSH服务器的以所述特定协议的消息格式封装的第三消息;其中,所述第三消息中包括所述用户的公开密钥的信息、所述用户的标识、所述SSH服务器的公开密钥的信息和所述SSH服务器的标识; 认证模块,用于根据存有的所有所述SSH服务器的公开密钥和所有所述用户的公开密钥对所述第三消息中的信息进行认证,得到用于生成该次用户认证响应消息的信息; 发送模块,用于将所述用于生成该次用户认证响应消息的信息以所述特定协议的消息格式封装成第四消息并通过所述特定协议的服务端发送至所述SSH服务器。
【文档编号】H04L29/06GK103944716SQ201310017461
【公开日】2014年7月23日 申请日期:2013年1月17日 优先权日:2013年1月17日
【发明者】姚亦峰 申请人:上海贝尔股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1