如何使用 TLS/SSL 确保 WebSocket 连接的安全

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用 TLS/SSL 确保 WebSocket 连接的安全相关的知识,希望对你有一定的参考价值。

TLS 为传输层安全性协议,是 mysql 在客户端与服务器之间进行加密连接的协议。TLS 有时被称为 SSL(安全套接层),但是 MySQL 实际上并不使用 SSL 协议进行加密连接,因为它的加密很弱。TLS 协议通过加密数据来确保在两个通信应用程序之间提供隐私和数据完整性,以便任何第三方都无法拦截通信。它还会验证对等方以验证其身份。通过在两个对等点之间提供安全的通信通道,TLS 协议可以保护消息的完整性并确保其不会被篡改。MySQL 支持多种 TLS 版本协议,此次测试使用 8.0 的 client 为 TLSv1.2。

从 wireshark 中看一下 TLS 握手的步骤:

参考技术A 说明
步骤 1: 使用 wss: URI 方案
WebSocket 协议定义了两种 URI 方案。ws: 用于未加密的连接,wss: 用于应加密的安全连接。
要加密你的连接,请使用 wss: URI 方案。例如:
javascript
var webSocket = new Windows.Networking.Sockets.MessageWebSocket();
webSocket.connectAsync("wss://").done(function()
// connect succeeded
, function(e)
// connect failed
);

备注
有关 WebSocket URI 方案的其他详细信息,请参阅 WebSocket 协议。本回答被提问者采纳

TLS协议的TLS握手协议

TLS 为传输层安全性协议,是 MySQL 在客户端与服务器之间进行加密连接的协议。TLS 有时被称为 SSL(安全套接层),但是 MySQL 实际上并不使用 SSL 协议进行加密连接,因为它的加密很弱。TLS 协议通过加密数据来确保在两个通信应用程序之间提供隐私和数据完整性,以便任何第三方都无法拦截通信。它还会验证对等方以验证其身份。通过在两个对等点之间提供安全的通信通道,TLS 协议可以保护消息的完整性并确保其不会被篡改。MySQL 支持多种 TLS 版本协议,此次测试使用 8.0 的 client 为 TLSv1.2。

从 wireshark 中看一下 TLS 握手的步骤:

参考技术A

TLS 握手协议提供的连接安全具有三个基本属性:
1.可以使用非对称的,或公共密钥的密码术来认证对等方的身份。该认证是可选的,但至少需要一个结点方。
2.共享加密密钥的协商是安全的。对偷窃者来说协商加密是难以获得的。此外经过认证过的连接不能获得加密,即使是进入连接中间的攻击者也不能。
3.协商是可靠的。没有经过通信方成员的检测,任何攻击者都不能修改通信协商。

以上是关于如何使用 TLS/SSL 确保 WebSocket 连接的安全的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 TLS/SSL 确保套接字连接的安全

[翻译]在 Ubuntu 中使用 SSL/TLS 加密 FTP 连接

如何解决这个问题:“请确保在“Internet”选项控制面板中已启用SSL 3.0或TLS 1.0”???

SSL/TLS 受诫礼;SSL/TLS RC4 信息泄露的问题

深入TLS/SSL协议

如何生成用于SSL/TLS的数字证书