TLS和SSL有什么区别?

之前的文章中,我们谈及了SSL,今天我们就来聊一聊它的“孪生兄弟”——TLS。

说起TLS,就不得不提起SSL,它们就像“孪生兄弟”,一样但又不完全一样。

什么是SSL?

SSL(Secure Socket Layer 安全套接层)是TCP/IP协议中基于HTTP之下,TCP之上的一个可选协议层。

起初HTTP在传输数据时使用的是明文,是不安全的。为了解决这个隐患,网景(Netscap)公司推出了SSL。而越来越多的人也开始使用HTTPS(HTTP+SSL)。

什么是TLS?

HTTPS的推出受到了很多人的欢迎,在SSL更新到3.0时, 互联网工程任务组(IETF)对SSL3.0进行了标准化,并添加了少数机制,并将其更名为TLS1.0(Transport Layer Security 安全传输层协议)。

图片来源于网络

TLS与SSL之间的主要区别:

1、版本号:TLS记录格式与SSL记录格式相同,但版本号的值不同,TLS的版本1.0使用的版本号为SSLv3.1。

2、报文鉴别码:SSLv3.0和TLS的MAC算法及MAC计算的范围不同。TLS使用RFC-2104定义的HMAC算法。SSLv3.0使用了相似的算法,两者差别在于SSLv3.0中,填充字节与密钥之间采用的是连接运算,而HMAC算法采用的异或运算。但是两者的安全程度是相同的。

3、伪随机函数:TLS使用了称为PRF的伪随机函数来将密钥扩展成数据块,是更安全的方式。

4、报警代码:TLS支持几乎所有的SSLv3.0报警代码,而且TLS还补充定义了很多报警代码,如解密失败(decryption_failed)、记录溢出(record_overflow)、未知CA(unknown_ca)、拒绝访问(access_denied)等。

5、密文族和客户证书:SSLv3.0和TLS存在少量差别,即TLS不支持Fortezza密钥交换、加密算法和客户证书。

6、certificate_verify和finished消息:SSLv3.0和TLS在用certificate_verify和finished消息计算MD5和SHA-1散列码时,计算的输入有少许差别,但安全性相当。

7、加密计算:TLS和SSLv3.0在计算主密值(master secret)时采用的方式不同。

8、填充:用户数据加密之前需要增加的填充字节。在SSL中,填充后的数据长度哟啊达到密文快长度的最小整数倍。而在TLS中,填充后的数据长度可以是密文块长度的任意整数倍(但填充的最大长度为255字节),这种方式可以防止基于对报文长度进行分析的攻击。

图片来源于网络

简单的来说可以把TLS看做是SSL3.0的升级版,由于它们所支持的加密算法不同,所以TLS与SSL3.0不能互操作。另外SSL表示安全套接字层,而TLS表示传输层安全。虽然它们之间有些区别,但是SSL和TLS协议的目的都是为互联网通信提供安全及数据完整性保障。

原文链接:TLS和SSL一样吗?有什么区别? - 夏冰加密软件技术博客

  • 8
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值