扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:姜学东 来源:通信世界周刊 2008年6月12日
关键字: ssh
CDMA1X分组网的维护人员对核心路由器、交换机等设备进行管理和日常维护时,通常需要进行远程登录。传统的远程登录程序如Telnet等网络服务程序,在网络中采用明文传送口令和数据的方式,其安全性无法得到有效的保障。管理员的用户名和密码一旦被别有用心的人截获,后果将会不堪设想。因此,如何实现核心网的安全登录,成为CDMA1X分组网络管理和日常维护工作中首先要解决的问题。现在,应用SSH技术可以较好地解决这一难题。
一、SSH协议分析
1.SSH体系结构
SSH(SecureShell)是IETF制定的建立在应用层和传输层基础上的一种安全协议,主要由三部分组成:SSH传输层协议(TransportLayerProtocol)、SSH用户认证协议(User Authentication Protocol)、SSH连接协议(Connection Protocol)来共同实现SSH的安全保密机制。每层提供自己类型的保护,并且可以与其他方式一起使用。
(1)SSH传输层协议
SSH传输层协议提供高强度的数据通信加密处理、加密的主机身份认证、数据完整性校验以及数据压缩等多项安全服务。双方通信所需要的密钥交换方式、公钥密码算法、对称密钥算法、消息认证算法和哈希算法等都可以进行协商。
(2)SSH用户认证协议
用户认证方式常用以下两种。
①口令认证方式:只要你知道自己的帐号和口令,就可以登录到远程主机,并且所有传输的数据都会被加密。但是,这种验证方式不能保证你正在连接的服务器就是你想连接的服务器,因为可能会受到“中间人”这种攻击方式的攻击。
②公钥认证方式:在这种方式中,用户用私钥来表明自己的身份。用户向服务器发送一个用自己私钥处理过的数字签名,服务器首先检查该用户的私钥是否可以作为一个有效的认证凭证(通过检查本地数据库中是否存有与之对应的公钥),然后检查该签名的有效性,如果两个条件都满足,用户的认证请求才可以被接受。
对两种认证方式相比较发现,由于公钥认证方式不需要在网络上传送用户口令,并且可以有效地避免“中间人”的攻击,因此更为安全,但是整个登录的过程可能慢一些。
(3)SSH连接层协议
SSH连接层协议主要的功能是完成用户请求的各种具体的网路服务,而这些服务的安全性是由底层的SSH传输层协议和用户认证层协议实现的。在SSH传输层成功认证后,多个信道通过复用到两个系统间的单个连接上打开,每个信道处理不同的终端会话。
2.SSH协议工作流程
在连接建立阶段,与Telnet网络服务程序等不同的是SSH要复杂得多。在SSH会话过程中,服务器端与客户端经过以下五个阶段建立安全通道。
(1)协议版本协商阶段:由于SSH具有多种不同的版本,两个SSH协议首先要确认这次通讯使用何种版本。一般取客户端和服务端最低的协议版本号和软件版本号。
(2)会话加密初始化阶段:SSH通讯使用会话密钥保证传输加密,这一阶段是产生会话密钥的过程。由于考虑到性能问题,会话加密采用对称加密机制。会话密钥必须安全产生,并且安全传送到另一方。SSH协议使用公钥体系来保障会话密钥的安全传输。
(3)认证阶段:会话密钥协商后,双方进入认证阶段。客户端首先向服务端发送用户名,服务端检查用户是否存在,如果该用户存在,则通知客户“现在可以发送认证请求了”。
(4)会话请求阶段:认证通过后,客户端将向服务器端发送会话请求。服务器端成功处理请求后SSH进入交互会话阶段。
(5)会话交互阶段:在会话交互阶段,所有的报文均被加密。此外在定期重新交换密钥时,会话依然不会中断,而由会话ID惟一标识此次会话。
SSH协议最重要的特点和功能是加密和认证,这也是SSH比Telnet等网络服务程序安全的特点。
二、CDMA1X核心网的SSH实现
SSH支持的认证方式主要有口令认证和RSA认证两种,其中RSA认证方式更为安全。下面以CDMA1X分组核心网的PI侧出口路由器NE05为例,详细介绍RSA认证方式的具体实现。
(1)假设用户test01要以RSA认证方式登录,那么首先要在路由器上进行配置:
[HF_NE05]user-interfacevty0 4
[HF_NE05-ui-vty0-4]authentication-modeaaa
[HF_NE05-ui-vty0-4]protocolinboundssh
[HF_NE05]sshusertest01authentication-type rsa
(2)在支持SSH的客户端软件上生成RSA密钥
在Windows环境下用SSH远程登录,必须使用特定的客户端软件。SecureCRT和PuTTY是两种能够较好支持SSH的客户端软件。不过SecureCRT最大只支持2048Bit的密钥,PuTTY则没有这种限制。考虑到密钥位数的可扩展性,以下描述均是基于PuTTY软件的相关介绍。
首先使用PuTTYKeyGenerator软件,按下“Generate”按钮之后,鼠标必须在进度条下的空格内滑动,软件就会根据鼠标的相对位置,随机生成公钥和私钥。
再分别点击“Savepublickey”和“Saveprivate key”,将两个密钥保存为本地文件,分别名为public和private:
(3)SSHkey转换公钥格式
由于PuTTYKeyGenerator生成的密钥是通用的格式,因此还需要将这些密钥转换成NE05设备支持的格式。使用SSHkey软件将保存到本地的公钥文件public进行转换。
(4)在路由器上配置RSA公钥
将SSHkey软件转换后的public公钥配置到路由器上。
(5)客户端的配置:
先运行PuTTY软件,在Category中选中Session,在HostName条形文本框内输入远程路由器的IP地址(注:考虑到CDMA1X核心网络的安全性,本文处为一虚地址)。在协议Protocol处选择SSH,此时端口会自动变为22。在SavedSessions中针对此IP地址起一个名字保存,以方便下次登录,此处保存为HF_NE05。
(6)使用私钥登录路由器
运行putty软件,选择Connection->SSH->Auth,单击“Browse…”,选择刚才保存的私钥文件,单击“open”。
在弹出的登录提示框中输入用户名和密钥保护密码即可登录。如果用户在生成密钥时没有设置密钥保护密码,则无须输入密码,直接输入用户名进入相应权限的路由器操作界面。登录成功后,客户端和路由器之间就建立了安全。
结束语
运用SSH技术远程登录CDMA1X分组网核心设备,弥补了原有方式在传输机制和实现方法上的安全缺陷,大大地减少了远程计算机访问和管理所带来的威胁。以上应用安全性高,具有通用性,适于在网络维护工作中推广使用。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者