SSL和TLS协议如何提供身份验证、机密性和完整性

简介: SSL 和 TLS 协议使两方能够相互识别和验证,并以机密性和数据完整性进行通信。

SSL 和 TLS 协议使两方能够相互识别和验证,并以机密性和数据完整性进行通信。SSL 和 TLS 协议通过 Internet 提供通信安全性,并允许客户端/服务器应用程序以保密和可靠的方式进行通信。这些协议有两层:记录协议和握手协议,它们位于 TCP/IP 等传输协议之上。它们都使用非对称和对称加密技术。

 

SSL 或 TLS 连接由成为 SSL 或 TLS 客户端的应用程序启动。接收连接的应用程序成为 SSL 或 TLS 服务器。正如 SSL 或 TLS 协议所定义的,每个新会话都以握手开始。SSL 或 TLS 握手使 SSL 或 TLS 客户端和服务器能够建立与之通信的密钥。了解更多SSL技术最新信息,请访问沃通CA官网

 

在客户端和服务器身份验证期间,有一个步骤要求使用非对称密钥对中的一个密钥对数据进行加密,并使用该对中的另一个密钥对其进行解密,消息摘要用于提供完整性。详情请参阅SSL工作原理

130-1.gif

SSL 和 TLS 如何提供身份验证

对于服务器身份验证,客户端使用服务器的公钥来加密用于计算密钥的数据。只有当服务器可以使用正确的私钥解密该数据时,它才能生成密钥。

对于客户端身份验证,服务器使用客户端证书中的公钥解密客户端在第5步握手期间发送的数据。使用密钥加密的已完成消息的交换(概述中的步骤7和8 )确认身份验证已完成。

如果任何身份验证步骤失败,则握手失败并且会话终止。

SSL 或 TLS 握手期间的SSL证书交换是身份验证过程的一部分。SSL证书需由全球信任的CA机构颁发,受浏览器、操作系统和移动端信任。所需证书如下,其中CAx向客户端颁发证书,CAy向SSL 或 TLS 服务器颁发证书:

仅对于服务器身份验证,SSL 或 TLS 服务器需要:

  • CA颁发给服务器证书Y
  • 服务器的私钥

SSL 或 TLS 客户端需要:

  • CA 的 CA 证书Y

如果 SSL 或 TLS 服务器需要客户端身份验证,则服务器通过使用向客户端颁发个人证书的 CA(在本例中为 CA )的公钥验证客户端的数字证书来验证客户端的身份X。对于服务器和客户端身份验证,服务器需要:

  • CA颁发给服务器的个人证书Y
  • 服务器的私钥
  • CA 的 CA 证书X

和客户端需要:

  • CA颁发给客户的个人证书X
  • 客户的私钥
  • CA 的 CA 证书Y

SSL 或 TLS 服务器和客户端都可能需要其他 CA 证书来形成根 CA 证书的证书链。详情请参阅如何补全SSL证书链

 

证书验证期间会发生什么

如概述的第3步和第 6步所述,SSL 或 TLS 客户端验证服务器的证书,而 SSL 或 TLS 服务器验证客户端的证书。这个验证有四个方面:

Ÿ   检查数字签名

Ÿ   检查证书链;您应该拥有中间 CA 证书

Ÿ   检查到期和激活日期以及有效期

Ÿ   检查证书的吊销状态

 

密钥重置

在 SSL 或 TLS 握手期间,会生成一个密钥来加密 SSL 或 TLS 客户端和服务器之间的数据。密钥用于数学公式中,该公式应用于数据以将明文转换为不可读的密文,并将密文转换为明文。

密钥是从作为握手的一部分发送的随机文本生成的,用于将明文加密为密文。密钥还用于 MAC(消息验证码)算法,用于确定消息是否已被更改。

如果发现密钥,则可以从密文中破译消息的明文,或者可以计算消息摘要,从而允许在不被发现的情况下更改消息。即使对于复杂的算法,明文最终也可以通过对密文应用所有可能的数学变换来发现。如果密钥被破坏,为了最大限度地减少可以解密或更改的数据量,可以定期重新协商密钥。当密钥重新协商后,以前的密钥不能再用于解密用新密钥加密的数据。

SSL 和 TLS 如何提供机密性

SSL 和 TLS 结合使用对称和非对称加密来确保消息隐私。在 SSL 或 TLS 握手期间,SSL 或 TLS 客户端和服务器同意仅用于一个会话的加密算法和共享密钥。SSL 或 TLS 客户端和服务器之间传输的所有消息都使用该算法和密钥进行加密,确保消息即使被截获也保持私密。SSL 支持范围广泛的加密算法。因为 SSL 和 TLS 在传输共享密钥时使用非对称加密,所以不存在密钥分配问题。

SSL 和 TLS 如何提供完整性

SSL 和 TLS 通过计算消息摘要来提供数据完整性。使用 SSL 或 TLS 确实可以确保数据完整性,前提是您的通道定义中的 CipherSpec 使用指定 CipherSpecs中的表中描述的哈希算法。

特别是,如果数据完整性是一个问题,您应该避免选择散列算法被列为“无”的 CipherSpec。强烈建议不要使用 MD5,因为它现在已经很老了,对于大多数实际用途来说不再安全。


了解更多SSL技术最新信息,请访问沃通CA官网

相关文章
|
3月前
|
安全 网络安全 数据安全/隐私保护
顺便再来看看SSL/TLS
顺便再来看看SSL/TLS
41 0
|
4月前
|
安全 网络安全 网络虚拟化
深入解析IDS/IPS与SSL/TLS和网络安全
防火墙 防火墙是一种网络安全设备,用于监控和控制网络流量,保护网络免受未经授权的访问、恶意攻击和威胁。防火墙可以基于规则进行数据包过滤,允许或阻止特定类型的流量通过。常见的防火墙类型包括网络层防火墙和应用层防火墙。 防火墙就像是你家的安全门,保护你的电脑网络不受坏人的攻击。它像一个警卫一样,只允许那些你信任的人进入你的网络,而把不好的人拒之门外。
135 0
|
1月前
|
安全 Linux 网络安全
Qt SSL/TLS 安全通信类:构建安全网络应用的关键组件
Qt SSL/TLS 安全通信类:构建安全网络应用的关键组件
64 0
|
1月前
|
开发框架 安全 网络安全
Qt5.14.2揭秘Qt与SSL/TLS的完美邂逅:打造坚不可摧的网络安全防线
Qt5.14.2揭秘Qt与SSL/TLS的完美邂逅:打造坚不可摧的网络安全防线
|
1月前
|
算法 安全 网络协议
一文搞懂SSL/TLS
一文搞懂SSL/TLS
一文搞懂SSL/TLS
|
6月前
|
算法 网络安全 开发工具
TLS/SSL 协议-非对称加密(RSA)原理
TLS/SSL 协议-非对称加密(RSA)原理
147 0
|
3月前
|
安全 网络安全 数据安全/隐私保护
|
3月前
|
安全 Java 网络安全
HTTPS的TLS/SSL协议详解及Java代码示例
HTTPS的TLS/SSL协议详解及Java代码示例
267 0
|
4月前
|
安全 算法 应用服务中间件
TLS SSL
TLS SSL
49 0
|
6月前
|
安全 网络安全 数据安全/隐私保护
此网站无法提供安全连接(客户端和服务器不支持一般 SSL 协议版本或加密套件。)
此网站无法提供安全连接(客户端和服务器不支持一般 SSL 协议版本或加密套件。)
374 0

相关实验场景

更多