Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon 您能解释一下TLS和SSH如何利用双向通道


您能解释一下TLS和SSH如何利用双向通道


传输层安全性(TLS)和安全外壳(SSH)都是用于通过网络确保通信的加密协议,并且两者都利用双向通道来促进安全有效的数据交换。他们对双向渠道的使用可以使双向通信具有机密性,完整性和身份验证。以下是TLS和SSH如何在其操作中利用双向渠道的详细说明。

TLS中的双向通道

TLS主要旨在通过网络(例如连接到Web服务器的Web浏览器)来保护客户端服务器应用程序之间的通信。该协议建立了一个支持双向数据传输的安全,加密的通道。

- 启动TLS连接时,客户端将连接到启用TLS的服务器,并发送一个“客户端Hello”消息,其中包含支持的加密算法,TLS版本和其他通信选项。
- 服务器以“服务器Hello”消息响应,选择兼容加密方法,然后发送其数字证书,其中包含由受信任证书授权(CA)发出的服务器的公钥。
- 客户端验证该数字证书的真实性,以确保服务器合法。
- 然后双方执行握手来建立共享的秘密会话密钥。这通常是使用不对称的加密算法(例如RSA或Diffie-Hellman变体)(ephemeral DH,椭圆曲线DH等)完成的。握手确保双方都同意该通信会话的唯一会话密钥。
- 一旦建立了会话密钥,TLS将在会话的其余部分使用对称加密算法,从而可以快速,安全的加密和解密数据。
- TLS形成的双向通道允许加密的数据从客户端到服务器以及从服务器到客户端的安全性。
-TLS还可以使用消息身份验证代码(MAC)确保数据完整性,以便检测到传输过程中对数据的任何篡改。
- 此双向频道可实现交互式Web浏览,安全表单提交以及其他需要双方同时发送和接收加密数据的应用程序。

总而言之,TLS在客户端和服务器之间创建一个双向加密频道,在该通道之间都可以同时发送和接收数据,同时保持机密性,完整性和身份验证。数据交换之前的握手过程对于建立安全的共享密钥和验证身份至关重要。

SSH中的双向通道

SSH是一项协议,主要旨在通过无抵押网络提供安全的远程登录和管理功能,但由于其灵活的双向频道支持,它还支持除了Shell访问之外的各种安全网络服务。

-SSH在客户端服务器模型上操作,客户端启动连接并使用密码,公共/私钥或其他身份验证机制对服务器进行身份验证。
- 一旦经过身份验证,SSH就建立了一个安全的加密通信通道,该通信通道支持同时双向数据流。
- 在内部,SSH在单个SSH连接上多发性多重逻辑通道。这些通道可以同时携带交互式终端会话,文件传输(SCP/SFTP)和网络端口转发(隧道)。
- SSH的双向性质意味着数据可以同时在两个方向上自由流动 - 从客户端到服务器和服务器再到客户端。这对于实时交互式会话(例如远程命令执行)至关重要,在远程命令执行中,从客户端发送命令并从服务器返回输出。
- SSH还支持重定向其他网络流量的安全隧道,例如将本地端口转发到远程服务,反之亦然。此隧道功能通过将两端之间的流量封装在加密的SSH连接中,从而利用了双向通道。
- 例如,本地端口转发允许客户端连接到通过SSH连接到远程服务器端口的本地端口,并且远程端口转发允许服务器在客户端网络上公开端口。两种类型的转发都是双向的,使数据能够在SSH隧道的任一端牢固地流动。
- 单个SSH连接上多个通道的多路复用增强了灵活性,从而允许在一个加密的隧道内同时进行文件传输,终端会话和端口转发。

TLS和SSH的双向共享特征和差异

尽管TLS和SSH均形成双向渠道,可实现安全的双向通信,但它们的目的和结构也有所不同:

-TLS通常可以确保单个应用程序层连接,例如HTTPS Web流量,客户端和服务器交换在一个通道上来回加密消息。
-SSH创建一个安全的传输层,该层在一个连接中支持多个多路复用通道,符合更广泛的用例,包括远程登录,文件传输和隧道。
- TLS握手专注于验证服务器身份(以及可选的客户端身份),同意加密参数并生成会话密钥,强调应用程序数据的安全机密性和完整性。
- SSH握手还包括客户端身份验证并建立一个安全的渠道,但通过支持频道多路复用和交互式会话进一步发展。
- 两种协议都使用不对称的密钥交换机制来建立共享的会话密钥以进行对称加密,但SSH允许使用更多多样化的身份验证方法(密码,公共键,证书)。
- 两者都支持双向流控制,错误处理和完整性检查,以确保在各种网络条件下可靠的通信。

TLS双向渠道的技术操作

-TLS通道在可靠的传输层(通常是TCP)上运行,提供有序的无损字节流。
- 握手建立加密参数和会话键后,对称加密(例如AES或CHACHA20)加密所有传输消息。
- 双向通信是通过对客户加密数据和服务器解密传入数据来实现的,反之亦然。
- 每个TLS记录(数据交换单位)均受到完整性的保护和加密,可在两个方向上保密。
- 该协议在每个记录上使用序列号和MAC来防止重播和篡改。
- 基础TCP连接使流量控制允许同时发送和接收消息而不会损失。
-TLS 1.3提高了效率和安全性,握手的往返和强制性向前的保密钥匙交换,从而增强了安全的双向渠道的建立。

SSH双向渠道的技术操作

- SSH将安全连接解构到多个在一个加密的TCP连接上多路复用的多个逻辑通道。
- 每个通道都有由SSH协议管理的独立标识符和流控制窗口。
- SSH使用传输层协议通过SSH握手建立加密的隧道,涉及诸如Diffie-Hellman之类的密钥交换算法。
- SSH连接协议在此隧道上运行,并管理通道的开口,使用和关闭。
- 双向数据传输分别在每个频道上发生,支持命令,文件数据或转发端口的全双工通信。
- SSH根据用户的需求动态创建并关闭相同连接中的频道,从而使交互式shell Sessions,SCP,SFTP和端口转发为共存。
- 数据包测序和确认确保可靠的通信,并在需要时进行重新召集。
-SSH的多路复用通道和双向流控制提供了一种灵活而强大的机制,用于除简单数据传输之外的各种安全操作。

###双向通道角色摘要

- 在TLS中,双向通道可确保应用程序级数据交换(Web内容,电子邮件等)确保一开始时的机密性,完整性和身份验证,然后将所有随后的双向数据透明地加密到应用程序。
- 在SSH中,双向渠道对于促进远程访问和安全网络服务至关重要,允许在单个安全的加密隧道内进行多个并发流的各种用途。
- 两种协议中的双向性都意味着,双方都仅限于仅发送或接收客户端和服务器,并牢固地进行双向通信。

这种双向安全频道功能使现代安全的Internet Services通过HTTPS(TLS)(TLS),通过SSH进行安全的系统管理以及多功能安全的网络隧道的安全网络浏​​览所有这些都依赖于这些强大的双向加密通道,以提供高级,可靠,可靠和受信任的通信。

***

此详细的解释涵盖了TLS和SSH如何在其握手过程,加密方法,通道多路复用(以SSH为单位)和流控制方面使用双向通道,突出了其目的和技术操作中的相似性和区别。对于进一步的技术细微差别,引用的消息来源提供了其他见解和示例。