安全外壳协议
出自 MBA智库百科(https://wiki.mbalib.com/)
- 安全外壳协议(Secure Shell Protocol,SSH)
目录 |
什么是安全外壳协议[1]
安全外壳协议(以下简称SSH协议)是一种在不安全网络上用于安全远程登录和其他安全网络服务的协议。它提供了对安全远程登录、安全文件传输和安全TCP/IP和X Window系统通信量进行转发的支持。它可以自动加密、认证并压缩所传输的数据。正在进行的定义SSH协议的工作确保SSH协议可以提供强健的安全性,防止密码分析和协议攻击,可以在没有全球密钥管理或证书基础设施的情况下工作得非常好,并且在可用时可以使用已有的证书基础设施(例如DNSSEC和X.509)。
SSH协议的构成[2]
SSH协议由3个主要组件组成。
(1)传输层协议。它提供服务器认证、保密性和完整性,并具有完美的转发保密性:有时,它还可能提供压缩功能。
(2)用户认证协议。它负责从服务器对客户机的身份认证。
(3)连接协议。它把加密通道多路复用组成几个逻辑通道。
SSH传输层是一种安全的低层传输协议。它提供了强健的加密、加密主机认证和完整性保护,SSH中认证是基于主机的,不执行用户认证。
这种协议被设计成相当简单而灵活,以允许参数协商并最小化来回传输的次数i密钥交换方法、公钥算法、对称加密算法、消息认证算法以及哈希算法都需要协商。
数据完整性是通过在每个包中包括一个消息认证代码(MAC)来保护的,这个MAC根据一个共享密钥、包序列号和包的内容计算得到。
在UNIX、Windows和Macintosh系统上都可以找到SSH实现。它是一种被广为接受的协议,使用公钥算法众所周知的建立软件,具有良好的加密、完整性和公钥算法。
SSH协议的优点[3]
SSH与TELNET相比有下述优点。
- SSH通过加密信息和验证信息提供一种安全通信。
- SSH通过多通道多路传输为远程登录在相同的连接上提供几种附加数据传输。
SSH通过公共考锯勿考(public-keyencryption)实现客户端和远程服务器之间的安全性。当一个用户建立了一个到远程服务器的连接时,即使一个入侵者得到了通过SSH连接发送的数据包的拷贝,传输的数据仍处于保密状态。SSH还在信息上实施了一个验证过程,这样服务器可发现并查出该主机正试图获得一个连接。在通常隋况下,SSH需要用户输入一个私有口令。
一个简单的SSH交互式会话从服务器监听安全传输的端口号开始,该端口是特定分配的。在一个口令被提交后,SSH开始关于会话的一个外壳进程。SSH可同时处理一个会话中的多个数据传输。这类远程登录服务是多路复用在一个SSH连接之上传输的。SSH还可在两台机器上通过建立一个安全隧道来实施端臼转发(port forwarding)。在SSH远程登录部分,用户允许SSH通过一个隧道自动把一个刚到的TCP连接和一个新连接相连。在因特网上发送的数据要确保其安全传送,防止被窃听和篡改。
SSH类似于一个隧道函数。例如,当客户端为一个自己的端口k1,构造一个到远程服务器的SSH连接时,它可以确定此端口的TCP连接自动通过隧道转发给服务器,然后又会被连接到与第二个服务器的端口恕的另外一个连接上。用这种方法,客户端在它的机器上有一个已建立的TCP连接,并且第二个服务器建立了一个到第一个服务器的TCP连接。端口转发的好处是应用数据可在两个站点——客户端和第二个服务器之间进行传送而不需要第二个客户端和服务器(第一个服务器作为客户端和第二个服务器作为服务器)。下图给出了一个SSH包格式。
- 长度(1ength)指明了包的大小,并不包括长度字段或长度字段之后的可变长度的膳税黄,掉段。
- 填充(Padding)使得入侵变得更加困难。
- 类型用于识别信息的类型。
- CRC或称循环冗余校验,是一种差错检测字段。
当数据加密有效时,除了长度之外的所有字段被加密。SSH也允许数据的可选性压缩,当在窄带宽环境中使用SSH时,这种方法非常有用。在这些情况下,客户端和服务器间来协商压缩的形式,并且只有类型和数据字段被压缩。
SSH 3.0介绍[2]
美国因特网安全技术的开发者SSH Communications Security(SSH通讯安全公司)发布的加密软件产品SSH SecureShell 3.0主要防止黑客使用最普通的方法攻击终端用户、商业用户以及开发者,从因特网偷取用户口令。
PKI和智能卡加密功能的集成将进一步提高公司用户和个人用户的Intemet通信安全?如今,像电子商务等基于Web页面的应用软件和移动计算机需要的不只是简单的口令或者个人ⅡD数字来保证Intemet交易的安全:SSH Secure Shell 3.0使用最新的认证标准,提供简单易用的SSH Secure Shell,进一步提高了用户远程登录的安全性。
SSHSecure Shell 3.0最新功能包括为公共密钥基础设施(PKl)、智能卡和高级加密标准(Rijndael)算法提供加密支持。Secure Shell 3.0通过验证和加密Intemet终端的连接和文件转移,为任何基于IP连接的客户和服务端应用程序提供全透明、强健的安全保证。
SSH Secure Shell 3.0的最新特征有以下几个。
(1)公共密钥基础设施支持。通过X.509数字认证支持,SSH Secure Shell 3.0容易集成到PKI环境中,提高登录和认证过程的安全性。
(2)智能卡支持。随着智能卡的日益普及,用户的存储安全将倍受关注,SSH Secure Shell 3.0为智能卡用户的网络交易消除了后顾之忧。通过PKCS#15接口,SSH Secure Shell支持符合该标准的各种智能卡。
(3)高级加密标准支持。SSH Secure Shell 3.0支持这种最新的、被建议的加密算法,它最初的设计目的是保护敏感的政府信息,但是现在它已经作为下一代加密算法的标准广泛地被公司和私人用户所接受。这个提议一旦通过,灵活、易用、高性能以及高效率的AES将代替落后的数据加密标准(DES)。
(4)可插入认证模块(PAM)。SSH Secure Shell 3.0为PAM增加了Windows支持,以前,PAM认证服务仅应用于Linux和Solaris平台。PAM允许系统管理员定制一个灵活的安全管理策略。
(5)改进Kerberos 5。SSH Secure Shell在基于UNIX的客户端服务器上通过扩展用户认证选项,为系统管理员增加灵活的网络认证协议Kerberos支持。