SSL 可以用来加密非 HTTP 数据吗?

信息安全 tls
2021-08-27 12:01:41

如果我们有一些应用程序使用的专有二进制协议,我们可以使用 SSL/TLS 来加密协议的有效负载而不通过 HTTP 隧道传输它吗?

2个回答

我们可以使用 SSL/TLS 加密协议的有效负载而不通过 HTTP 隧道传输它吗?

绝对地。TLS 在传输层之上提供安全通信,您可以轻松地将其用作围绕您自己的自定义协议的透明包装器。

   TLS 的一个优点是它独立于应用程序协议。
   更高级别的协议可以位于 TLS 协议之上
   透明地。  但是,TLS 标准并未指定如何
   协议通过 TLS 增加安全性;关于如何启动 TLS 的决定
   握手以及如何解释认证证书
   交换由设计者和实现者判断
   在 TLS 之上运行的协议。

(来自TLS 1.2的RFC 5246 )

HTTP 恰好是一种可能的应用层协议,通常通过 TLS 传输。还有许多其他示例,其中添加了 TLS 以保护没有内置加密的协议。例如,如果您使用桌面电子邮件客户端,与邮件服务器的通信(可能使用 IMAP/POP3/SMTP)也可能会被包裹在 TLS 中。TLS 也可以用作 VPN 应用程序的整个网络堆栈的加密隧道(尽管 OpenVPN 仅使用 TLS 进行身份验证,而不用于加密实际数据 - 谢谢,@ysdx)。

是的,TLS 可用于一般传输层安全性(顾名思义)。几个常见的用途:

  • HTTP (HTTPS)
  • FTP (FTPS)
  • SMTP (SMTPS)
  • VPN