SSH 协议体系结构解读
1、概念
SSH 的英文全称为 Secure Shell,是 IETF(Internet Engineering Task Force)的 Network
Working Group 所制定的一族协议,其目的是要在非安全网络上提供安全的远程登录和其他
安全网络服务。如需要 SSH 的详细信息请参考 www.ssh.com(SSH Communications Security
Corporation 的网站)和 www.openssh.org(开放源码的 OpenSSH 组织的网站)。
2、基本框架
SSH 协议框架中最主要的部分是三个协议:传输层协议、用户认证协议和连接协议。同时 SSH
协议框架中还为许多高层的网络安全应用协议提供扩展的支持。它们之间的层次关系可以用
如下图 1 来表示:
图 1 SSH 协议的层次结构示意图
在 SSH 的协议框架中,传输层协议(The Transport Layer Protocol)提供服务器认证,数
据机密性,信息完整性 等的支持;用户认证协议(The User Authentication Protocol) 则
为服务器提供客户端的身份鉴别;连接协议(The Connection Protocol) 将加密的信息隧
道复用成若干个逻辑通道,提供给更高层的应用协议使用;各种高层应用协议可以相对地独
立于 SSH 基本体系之外,并依靠这个基本框架,通过连接协议使用 SSH 的安全机制。
3、主机密钥机制
对于 SSH 这样以提供安全通讯为目标的协议,其中必不可少的就是一套完备的密钥机制。由
于 SSH 协议是面向互联网网络中主机之间的互访与信息交换,所以主机密钥成为基本的密钥
机制。也就是说,SSH 协议要求每一个使用本协议的主机都必须至少有一个自己的主机密钥
对,服务方通过对客户方主机密钥的认证之后,才能允许其连接请求。一个主机可以使用多
个密钥,针对不同的密钥算法而拥有不同的密钥,但是至少有一种是必备的,即通过 DSS 算
法产生的密钥。关于 DSS 算法,请参考[FIPS-186]。
SSH 协议关于主机密钥认证的管理方案有两种,如下图 2 所示: