SSL与TLS到底有何区别,一见分晓

数据通信 系列目录

  1. 网络通信之——RSA加密签名
  2. 网络通信之——Https数字证书
  3. 网络通信之——SSL与TLS
  4. 数字证书中签名算法、签名哈希算法区别?

博客创建时间:2021.03.11
博客更新时间:2021.04.07


前言

HTTP在传输数据时使用的是明文是不安全的,为了解决这一隐患网景公司(Netscape)推出了SSL安全套接字协议层。

SSL是基于HTTP之下TCP之上的一个协议层,是基于HTTP标准并对TCP传输数据时进行加密,所以HPPTS是HTTP+SSL/TCP的简称,Https默认使用端口443。


SSL

Secure Socket Layer,安全套接字层。SSL是Netscape开发的位于可靠的面向连接的网络层协议(如TCP/IP)和应用层协议之间的一种协议。

SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。现在有1,2,3 ,总共3个版本,现在基本使用3.0。

SSL为应用程序提供加密数据通道,它采用了RC4、MD5以及RSA等加密算法,使用40 位的密钥,适用于商业信息的加密。

SSL协议组成:SSL记录协议+ SSL握手协议

记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。

SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

SSL协议的意义

  1. 认证用户和服务器,确保数据发送到正确的客户机和服务器,互联网连接安全;
  2. 加密数据以防止数据中途被窃取;
  3. 维护数据的完整性,确保数据在传输过程中不被改变。

SSL协议认证流程

  1. 客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接
  2. 服务器根据客户的信息确定是否需要生成新的秘钥对,如需要则服务器在响应客户的“Hello”信息时将包含公钥
  3. 客户根据收到的服务器响应信息,产生一个密钥对,并用服务器的公钥加密后将自己的公钥传给服务器;
  4. 服务器用私钥解密客户端的公钥,并返回给客户一个用客户端公钥加密的信息,以此让客户认证服务器。

TLS

(Transport Layer Security,安全传输层协议)。TLS是IETF(Internet Engineering Task Force,Internet工程任务组)制定的一种新的协议。

TLS/SSL是一种加密通道的规范。它利用对称加密、公私钥不对称加密及其密钥交换算法,CA系统进行加密且可信任的信息传输。

IETF对SSL3.0进行了标准化,并添加了少数机制(但是几乎和SSL3.0无差异),标准化后的IETF更名为TLS1.0,可以说TLS就是SSL的新版本3.1。 总共有1.0,1.1,1.2三个版本,默认使用1.0

TLS协议组成:TLS记录协议+ TLS握手协议

TLS是独立于应用层协议,如何启动 TLS 握手协议以及如何解释交换的认证证书的决定权留给协议的设计者和实施者来判断。

TLS 记录协议:是一种分层协议,支持信息传输、将数据分段到可处理块、压缩数据、应用MAC 、加密以及传输结果等。对接收到的数据进行解密、校验、解压缩、重组等,然后将它们传送到高层客户机

TLS 握手协议:由三个子协议组构成,允许对等双方在记录层的安全参数上达成一致、自我认证、例示协商安全参数、互相报告出错条件。

TLS记录协议提供的连接安全性具有两个基本特性:

  1. 私有——对称加密用以数据加密(DES、RC4等)。对称加密所产生的密钥对每个连接都是唯一的,且此密钥基于另一个协议(如握手协议)协商。记录协议也可以不加密使用。
  2. 可靠——信息传输包括使用密钥的MAC进行信息完整性检查。

SSL和TLS的区别

  1. TLS的产生是为了让SSL更安全,使协议更加精确和完善。TLS在SSL3.0基础上增强了其他内容。它们的最主要的差别是所支持的加密算法不同,TLS和SSL3.0不能互相操作,TLS相当于SSL 3.1

  2. TLS的记录格式与SSL一样,但版本号不同,TLS的版本使用的是SSL 3.1。TLS就是以3.0为基础定义的。

  3. 报文鉴别码不一样。TLS使用了RFC-2104定义的HMAC算法,SSL3.0使用了类似的算法,虽然安全程度一样,但具体算法不一样,填充字节和秘钥之间采用的是连接运算,而HMAC采用的是异或运算。

  4. 伪随机数函数不一样。TLS使用了PRF伪随机函数将秘钥扩展成数据块,PRF使用两种散列算法保证其安全性,只有两种算法都暴露数据才会不安全。

  5. TLS有更严密的警报。除了SSL的报警代码,TLS还补充了很多报警代码,如解密失败,记录溢出,拒绝访问等

  6. 密文和客户证书:TLS不支持Fortezza秘钥交换、加密算法和客户证书。

  7. 对于消息的认证采用秘钥散列法(HMAC):当消息在开放的网络上传输时,通过HMAC确保传输的信息不会被篡改。HMAC比SSL3.0的消息认证法MAC更安全。

  8. 增强的伪随机公能(PRF):HMAC定义PRF,用于生成秘钥数据。PRF使用两种散列算法保证其安全性,只有两种算法都暴露数据才会不安全。


总结

在SSL更新到3.0时,IETF对SSL3.0进行了标准化,并添加了少数机制,标准化后的IETF更名为TLS1.0(Transport Layer Security 安全传输层协议),可以说TLS就是SSL的新版本3.1。也可以将TLS看作SSL的升级版

SSL/TLS协议不仅可以和Http协议搭配,还可以和(FTP、SMTP、POP、Telnet)协议搭配使用。

SSL/TLS协议通过3点解决Http原有的3大风险

  1. 加密传播,防窃听
  2. 校验机制,防篡改
  3. CA证书,解决冒充风险

相关链接

  1. 网络通信之——RSA加密签名
  2. 网络通信之——Https数字证书
  3. 网络通信之——SSL与TLS
  4. 数字证书中签名算法、签名哈希算法区别?

扩展链接:

  1. Android CameraX 使用入门
  2. ART与Dalvik、JVM之间的关系你懂了吗?

扩展训练:

  1. 大致了解几个基本术语(HTTPS、SSL、TLS)的含义

博客书写不易,您的点赞收藏是我前进的动力,千万别忘记点赞、 收藏 ^ _ ^ !

  • 53
    点赞
  • 100
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: SSL(Secure Sockets Layer)和TLS(Transport Layer Security)是用于保护网络通信安全的协议。它们的主要区别在于SSL是较早的协议,而TLSSSL的继承者,用于解决SSL存在的一些安全漏洞和缺陷。 具体来说,TLSSSL的升级版,它采用更安全的加密算法和更严格的握手协议,提高了通信的安全性。此外,TLS还支持更多的加密算法和更丰富的身份验证方式,可以满足更高级别的安全需求。 虽然TLSSSL有许多相似之处,但TLS已经成为了更广泛使用的加密协议。因此,在现代网络安全中,我们更多地使用TLS来保护我们的通信。 ### 回答2: SSL(Secure Socket Layer)和TLS(Transport Layer Security)是两种加密协议,用于确保网络通信的安全性。它们的主要区别可以总结如下: 1. 发展历史:SSL是较早的加密协议,最初由网景公司开发,用于保护Web通信。TLSSSL的后续版本,由互联网工程任务组(IETF)制定。TLS逐渐取代了SSL成为通信安全领域的主流协议。 2. 协议版本:SSLTLS有不同的协议版本。目前常用的SSL协议版本有SSL 3.0,而TLS有1.0、1.1、1.2和1.3等版本。随着时间的推移,TLS不断提升安全性和性能,并修复了SSL的一些漏洞和缺陷。 3. 安全性:从安全性角度看,TLS被认为比SSL更安全。TLS采用更强大的加密算法,支持更多的加密套件,提供更好的保护。SSL存在一些安全漏洞和弱点,比如POODLE攻击,而TLS在后续版本中改进了这些问题。 4. 加密套件:TLS提供了更多的加密套件供选择。加密套件包括对称加密算法(如AES、3DES)和非对称加密算法(如RSA、Diffie-Hellman),它们用于确保数据传输的机密性和完整性。相比之下,SSL的加密套件相对较少。 综上所述,SSLTLS是两种用于网络通信安全的加密协议。TLSSSL的后续版本,更安全且功能更强大。对于要确保通信安全性的现代应用来说,TLS是更好的选择。 ### 回答3: SSL(Secure Socket Layer)和TLS(Transport Layer Security)是用于保护数据传输安全的加密协议。它们之间的主要区别在于标准的名称和一些技术特性。 首先,SSL是早期加密协议的名称,而TLS是对SSL的升级版本。SSLv3最后一个版本于1996年发布,TLS 1.0在1999年作为SSL的后继者发布。因此,技术上可以说TLSSSL的最新版本,相对来说更安全、更强大。 其次,SSLTLS在加密算法方面有所不同。SSL使用的加密算法较为受限,而TLS支持更多的加密算法,可以根据实际需求选择更安全的算法。 此外,TLS在握手协议方面有所改进。SSL的握手过程通常涉及四次通信,而TLS从1.2版本开始,采用了更简化的三次握手过程,降低了握手的延迟。 TLS还引入了一些新的安全特性,如服务器端证书验证和客户端身份验证。这些特性提供了更强的身份认证和数据完整性保护,有助于防止中间人攻击和数据篡改。 虽然TLS相对于SSL来说更安全,但仍然保留了与SSL兼容的能力。最新的TLS版本可以与老版本的SSL进行协商,以保证与不支持TLS的旧系统的兼容性。 总结而言,TLSSSL的升级版本,相较于SSL更安全、更强大,支持更多加密算法和安全特性。 不过,从功能上来说TLSSSL还是有一些相似之处,并且可以与旧版本的SSL进行兼容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值