一种SSH秘钥管理的方法和系统与流程

文档序号:16244916发布日期:2018-12-11 23:29阅读:164来源:国知局
一种SSH秘钥管理的方法和系统与流程

本发明涉及通信领域,并且更具体地涉及一种ssh秘钥管理的方法和系统。

背景技术

ssh协议为secureshell(安全外壳程序)的缩写,由ietf的网络工作小组(networkworkinggroup)所定制,ssh为建立在应用层和传输层基础上的安全协议是目前可靠的、专为远程登录会话和其他网络服务提供安全性的协议。传统的网络服务程序在传输机制和实现原理上没有考虑安全机制,只是使用简单的安全验证方式,因此用户和服务器间传输的数据很容易受到网络黑客的攻击。为了保证数据的安全性,ssh以其更安全的特性渐渐替代了传统的网络服务程序。

ssh用于安全认证的方式,目前来说有两种,第一种是基于口令的安全验证,通过账号和口令,就可以远程登陆到ssh远程主机,所有的传输数据都会被加密,但是不能保证所连接的服务器就是目标服务器,可能会受到“中间人”攻击。第二种是基于秘钥的安全验证,客户端生成秘钥对,将公钥存放于ssh远程主机。客户端链接ssh远程主机时,ssh远程主机会将一段随机字符串发送给客户端,客户端根据自己的私钥将随机字符串加密后,再发送给ssh远程主机,ssh远程主机接收到后,使用公钥解密,如果正确解密,则允许登陆,否则拒绝链接。

但是,这两种安全认证方式不能有效的防备“中间人”攻击,并且不能合理对秘钥进行管理,不能有效的及时更换秘钥,保证秘钥的安全性。



技术实现要素:

有鉴于此,本发明实施例的目的在于提出了一种ssh秘钥管理的方法和系统,能够实现保管ssh远程主机以及客户端的秘钥信息,并对ssh远程主机公钥指纹进行公证,从而建立秘钥数据管理及客户端与ssh主机之间的访问网络信息,并强制周期性更换秘钥,针对客户端公钥与ip不匹配进行秘钥丢失预警,能够有效的提高ssh远程连接的安全性。

基于上述目的,本发明的实施例的一个方面提供了一种ssh秘钥管理的方法,包括以下步骤:

1)经由ssh远程主机的监控模块收集ssh远程主机的主机公钥信息以及客户端公钥信息与ip信息,并将其上报给ssh秘钥管理中心进行公示;

2)经由ssh秘钥管理中心的公证及预警模块根据公示来验证客户端访问ssh远程主机时上传到ssh秘钥管理中心的ssh远程主机的主机公钥指纹;

3)若主机公钥指纹通过验证,则经由公证及预警模块根据公示来进一步验证客户端访问ssh远程主机时上传到ssh秘钥管理中心的客户端公钥信息与ip信息,若主机公钥指纹未通过验证,则向客户端发出警告并拒绝访问;和

4)若客户端公钥信息与ip信息通过该进一步验证则容许访问,若未通过,则拒绝访问。

根据本发明的一个实施例,经由远程主机的监控模块收集ssh远程主机的主机公钥信息以及客户端公钥信息与ip信息包括:监控模块通过对ssh远程主机的~/.ssh/id_rsa.pub文件进行监控,收集主机公钥信息并记录生效时间,并对ssh远程主机秘钥的使用时间进行监控。

根据本发明的一个实施例,当ssh远程主机秘钥的使用时间超过预定值时,监控模块提出使用时间超长告警。

根据本发明的一个实施例,经由远程主机的监控模块收集ssh远程主机的主机公钥信息以及客户端公钥信息与ip信息包括:监控模块通过对ssh远程主机的~/.ssh/authorized_keys文件进行监控,收集客户端公钥信息与ip信息,记录客户端公钥信息的生效时间,并对客户端秘钥的使用时间进行监控。

根据本发明的一个实施例,当客户端秘钥的使用时间超过预定值时,监控模块通知删除客户端秘钥。

根据本发明的一个实施例,ssh秘钥管理中心设置在设置在另一个主机中,公证及预警模块设置在ssh秘钥管理中心内。

根据本发明的一个实施例,根据所述公示来验证客户端访问所述ssh远程主机时上传到所述ssh秘钥管理中心的所述ssh远程主机的主机公钥指纹包括:将客户端访问所述ssh远程主机时上传到所述ssh秘钥管理中心的主机公钥指纹与公示的ssh远程主机的主机公钥指纹进行匹配。

根据本发明的一个实施例,经由所述公证及预警模块根据所述公示来进一步验证所述客户端访问所述ssh远程主机时上传到所述ssh秘钥管理中心的客户端公钥信息与ip信息包括:将客户端访问ssh远程主机时上传到ssh秘钥管理中心的客户端公钥信息和ip信息与公示的客户端公钥信息与ip信息进行匹配。。

本发明的实施例的另一个方面还提供了一种实现如上方法的系统,包括:

监控模块,监控模块位于ssh远程主机上并且用于收集ssh远程主机的主机公钥信息以及客户端公钥信息与ip信息,并将其上报给ssh秘钥管理中心公示;和

ssh秘钥管理中心,ssh秘钥管理中心包括:

公证及预警模块,公证及预警模块用于根据公示来验证客户端访问ssh远程主机时上传到ssh秘钥管理中心的ssh远程主机的主机公钥指纹,并且根据公示来验证客户端访问ssh远程主机时上传到ssh秘钥管理中心的客户端公钥信息与ip信息。

根据本发明的一个实施例,根据公示来验证客户端访问ssh远程主机时上传到ssh秘钥管理中心的ssh远程主机的主机公钥指纹包括:将所述客户端访问所述ssh远程主机时上传到所述ssh秘钥管理中心的主机公钥指纹与公示的ssh远程主机的主机公钥指纹进行匹配;根据公示来验证客户端访问ssh远程主机时上传到ssh秘钥管理中心的客户端公钥信息与ip信息包括:将客户端访问ssh远程主机时上传到ssh秘钥管理中心的客户端公钥信息和ip信息与公示的客户端公钥信息和ip信息进行匹配。

本发明具有以下有益技术效果:本发明实施例提供的ssh秘钥管理的方法和系统,通过经由ssh远程主机的监控模块收集ssh远程主机的主机公钥信息以及客户端公钥信息与ip信息,并将其上报给ssh秘钥管理中心进行公示;经由ssh秘钥管理中心的公证及预警模块根据公示来验证客户端访问ssh远程主机时上传到ssh秘钥管理中心的ssh远程主机的主机公钥指纹;若主机公钥指纹通过验证,则经由公证及预警模块根据公示来验证客户端访问ssh远程主机时上传到ssh秘钥管理中心的客户端公钥信息与ip信息,若主机公钥指纹未通过验证,则向客户端发出警告并拒绝访问;和,若客户端公钥信息与ip信息通过验证则容许访问,若未通过,则拒绝访问的技术方案,能够实现保管ssh远程主机以及客户端的秘钥信息,并对ssh远程主机公钥指纹进行公证,从而建立秘钥数据管理及客户端与ssh主机之间的访问网络信息,并强制周期性更换秘钥,针对客户端公钥与ip不匹配进行秘钥丢失预警,能够有效的提高ssh远程连接的安全性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为根据本发明一个实施例的ssh秘钥管理的方法的示意性流程图;

图2为根据本发明一个实施例的实现ssh秘钥管理的方法的系统的示意性框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。

基于上述目的,本发明的实施例的第一个方面,提出了一种ssh秘钥管理的方法一个实施例。图1示出的是该方法的示意性流程图。

如图1中所示,该方法大体可以包括以下步骤:

首先在步骤s101中,经由ssh远程主机的监控模块收集ssh远程主机的主机公钥信息以及上传到ssh远程主机上的客户端公钥信息与ip信息,并将其上报给ssh秘钥管理中心进行公示,随后前进到步骤s102。

在步骤s102中,经由ssh秘钥管理中心的公证及预警模块根据公示来验证客户端访问ssh远程主机时上传到ssh秘钥管理中心的ssh远程主机的主机公钥指纹,若该主机公钥指纹未通过验证,则前进到步骤s105,发出警告并拒绝访问,该过程方法结束。若主机公钥指纹通过验证,则前进到步骤s103。

在步骤s103中,经由公证及预警模块根据公示来验证客户端访问ssh远程主机时上传到ssh秘钥管理中心的客户端公钥信息与ip信息,若客户端公钥信息与ip信息未通过验证,则前进到步骤s106,拒绝访问,该过程方法结束,若客户端公钥信息与ip信息通过验证,则前进到步骤s104。

在步骤s104中,容许访问ssh远程主机,该过程方法结束。

通过上述技术方案,能够实现保管ssh远程主机以及客户端的秘钥信息,并对ssh远程主机公钥指纹进行公证,从而建立秘钥数据管理及客户端与ssh主机之间的访问网络信息,并强制周期性更换秘钥,针对客户端公钥与ip不匹配进行秘钥丢失预警,能够有效的提高ssh远程连接的安全性。

在本发明的一个优选实施例中,步骤s102中经由ssh秘钥管理中心的公证及预警模块根据公示来验证客户端访问ssh远程主机时上传到ssh秘钥管理中心的ssh远程主机的主机公钥指纹具体包括:将客户端访问ssh远程主机时上传到ssh秘钥管理中心的该主机公钥指纹与经由监控模块收集并上传到ssh秘钥中心进行公示的ssh远程主机的主机公钥指纹进行匹配,若匹配成功,则说明ssh远程主机是可信的,可以前进到步骤s103,否则,说明ssh远程主机是不可信的,存在“中间人”攻击的可能,则发出警告并拒绝访问。通过该技术方案,能够实现保管ssh远程主机以及客户端的秘钥信息,并对ssh远程主机公钥指纹进行公证,能够有效的提高ssh远程连接的安全性。

在本发明的一个优选实施例中,步骤s103中经由公证及预警模块根据公示来验证客户端访问ssh远程主机时上传到ssh秘钥管理中心的客户端公钥信息与ip信息具体包括:将客户端访问ssh远程主机时上传到ssh秘钥管理中心的客户端公钥信息与ip信息与经由监控模块收集并上传到ssh秘钥中心进行公示的客户端公钥信息与ip信息进行匹配,若匹配成功,则说明客户端公钥信息安全,否则,拒绝访问,并提示该秘钥已不安全。通过该技术方案,强制了周期性更换秘钥,针对客户端公钥与ip不匹配进行秘钥丢失预警,能够有效的提高ssh远程连接的安全性。

在本发明的一个优选实施例中,经由远程主机的监控模块收集ssh远程主机的主机公钥信息以及客户端公钥信息与ip信息包括:监控模块通过对ssh远程主机的~/.ssh/id_rsa.pub文件进行监控,收集主机公钥信息并记录生效时间,并对ssh远程主机秘钥的使用时间进行监控。在本发明的一个优选实施例中,当ssh远程主机秘钥的使用时间超过预定值时,监控模块提出使用时间超长告警。

在本发明的一个优选实施例中,经由远程主机的监控模块收集ssh远程主机的主机公钥信息以及客户端公钥信息与ip信息包括:监控模块通过对ssh远程主机的~/.ssh/authorized_keys文件进行监控,收集客户端公钥信息与ip信息,记录客户端公钥信息的生效时间,并对客户端秘钥的使用时间进行监控。在本发明的一个优选实施例中,当客户端秘钥的使用时间超过预定值时,监控模块通知删除客户端秘钥。

在本发明的一个优选实施例中,ssh秘钥管理中心设置在另一个主机中,公证及预警模块设置在ssh秘钥管理中心内,ssh秘钥管理中心可以存储在存储器中,经由网络与远程主机或另一个主机相连接。

需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,上述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储器(read-onlymemory,rom)或随机存取存储器(randomaccessmemory,ram)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。

此外,根据本发明实施例公开的方法还可以被实现为由cpu执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被cpu执行时,执行本发明实施例公开的方法中限定的上述功能。

基于上述目的,本发明的实施例的第二个方面,提出了一种实现如上方法的系统的一个实施例。图2为该系统200的示意性框图。如图2中所示,该系统200可以包括:监控模块201,监控模块201用于收集ssh远程主机的主机公钥信息以及上传到ssh远程主机上的客户端公钥信息与ip信息,并将其上报给ssh秘钥管理中心进行公示;和ssh秘钥管理中心202,ssh秘钥管理中心202包括,公证及预警模块203,公证及预警模块203用于根据公示来验证客户端访问ssh远程主机时上传到ssh秘钥管理中心的ssh远程主机的主机公钥指纹,并且根据公示来验证客户端访问ssh远程主机时上传到ssh秘钥管理中心202的客户端公钥信息与ip信息。

监控模块201可通信地连接到ssh秘钥管理中心202,ssh秘钥管理中心202可通信地连接到公证及预警模块203。监控模块201和公证及预警模块203可以是在一个或多个计算装置(例如服务器、个人电脑等)上实施的计算机可读指令(例如软件),该指令存储在与此相关(例如硬盘、存储器等)的计算机可读介质(也简称为处理器可读介质)上。

在本发明的一个优选实施例中,根据公示来验证客户端访问ssh远程主机时上传到ssh秘钥管理中心202的ssh远程主机的主机公钥指纹包括:将客户端访问ssh远程主机时上传到ssh秘钥管理中心202的主机公钥指纹与公示的ssh远程主机的主机公钥指纹进行匹配。并且,根据公示来验证客户端访问ssh远程主机时上传到ssh秘钥管理中心202的客户端公钥信息与ip信息包括:将客户端访问ssh远程主机时上传到ssh秘钥管理中心202的客户端公钥信息与ip信息与公示的客户端公钥信息与ip信息进行匹配。

通过上述技术方案,能够实现保管ssh远程主机以及客户端的秘钥信息,并对ssh远程主机公钥指纹进行公证,从而建立秘钥数据管理及客户端与ssh主机之间的访问网络信息,并强制周期性更换秘钥,针对客户端公钥与ip不匹配进行秘钥丢失预警,能够有效的提高ssh远程连接的安全性。

需要特别指出的是,上述系统的实施例采用了上述方法的实施例来具体说明各模块的工作过程,本领域技术人员能够很容易想到,将这些模块应用到上述方法的其他实施例中。

此外,上述方法步骤以及系统单元或模块也可以利用控制器以及用于存储使得控制器实现上述步骤或单元或模块功能的计算机程序的计算机可读存储介质实现。

本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。

上述实施例,特别是任何“优选”实施例是实现的可能示例,并且仅为了清楚地理解本发明的原理而提出。可以在不脱离本文所描述的技术的精神和原理的情况下对上述实施例进行许多变化和修改。所有修改旨在被包括在本公开的范围内并且由所附权利要求保护。

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