TLS/SSL加解密详解(一)

TLS/SSL加解密详解(一)

本章节主要介绍TLS/SSL的历史

TLS/SSL的来源

SSL(Secure Socket Layer)安全套接层协议

最初由网景公司(Netscape)研发,后被IETF(The Internet Engineering Task Force - 互联网工程任务组)标准化后写入RFC(Request For Comments).
SSL是基于TCP和应用层协议之间的一个协议层,比如:HTTPS,是HTTP+SSL/TCP的简称。

TLS(Transport Layer Security 安全传输层协议)

在SSL更新到3.0时,IETF对SSL3.0进行了标准化,并添加了少数机制,但大体和SSL相同,标准化后的更名为TLS,也可以说TLS1.0就是SSL3.1.
关于SSL/TLS的更多介绍可以参考官网介绍:www.rfc-editor.org。官网搜索RFC2246即可。

SSL/TLS发布版本:

年份版本介绍
1994SSL1.01994年,NetScape公司设计了SSL协议的1.0板本,但未发布
1995SSL2.0由NetScape提出,这个版本由于设计缺陷,并不安全,很快就发现了严重的漏洞,已经废弃
1996SSL3.0写入RFC,开始流行,目前已经不安全了,必须禁用
1999TLS1.0SSL3.1,作为RFC2246发布。互联网标准化组织ISOC接替NetScape公司,发布了SSL升级版本TLS1.0
2006TLS1.1作为RFC4346发布。主要修复了CBC模式相关的漏洞,比如:BEAST攻击
2008TLS1.2作为RFC5246发布。增进了安全性,是目前主要流行版本之一
2018TLS1.3作为RFC8446发布。相对于之前的版本,安全性和性能有了极大的提高,同时也具备了更多的扩展和握手模式。相对于1.2版本,握手流程做了简化,从之前的4此握手变成了3此

SSL和TLS的区别

TLS是基于SSL发展而来,只是在SSL的基础上扩展了很多安全机制,具体区别如下:

区别细节
版本号TLS记录格式与SSL记录格式相同,但版本号的值不同,TLS的版本1.0使用的版本号为SSLv3.1
报文鉴别码SSLv3.0和TLS的MAC算法及MAC计算的范围不同。TLS使用了RFC-2104定义的HMAC算法。SSLv3.0使用了相似的算法,两者差别在于SSLv3.0中,填充字节与密钥之间采用的是连接运算,而HMAC算法采用的是异或运算。但是两者的安全程度是相同的
伪随机函数TLS使用了称为PRF的伪随机函数来将密钥扩展成数据块,是更安全的方式
报警代码TLS支持几乎所有的SSLv3.0报警代码,而且TLS还补充定义了很多报警代码,如解密失败(decryption_failed)、记录溢出(record_overflow)、未知CA(unknown_ca)、拒绝访问(access_denied)等
密文族和客户证书SSLv3.0和TLS存在少量差别,即TLS不支持Fortezza密钥交换、加密算法和客户证书
certificate_verify和finished消息SSLv3.0和TLS在用certificate_verify和finished消息计算MD5和SHA-1散列码时,计算的输入有少许差别,但安全性相当。
加密计算TLS与SSLv3.0在计算主密值(master secret)时采用的方式不同
填充用户数据加密之前需要增加的填充字节。在SSL中,填充后的数据长度要达到密文块长度的最小整数倍。而在TLS中,填充后的数据长度可以是密文块长度的任意整数倍(但填充的最大长度为255字节),这种方式可以防止基于对报文长度进行分析的攻击

TSL增强内容

  1. 更安全的MAC算法
  2. 更严密的警报
  3. “灰色区域”规范的更明确的定义

TSL安全性的改进

  1. 对于消息认证使用密钥散列法:TLS 使用“消息认证代码的密钥散列法”(HMAC),当记录在开放的网络(如因特网)上传送时,该代码确保记录不会被变更。SSLv3.0还提供键控消息认证,但HMAC比SSLv3.0使用的(消息认证代码)MAC 功能更安全
  2. 增强的伪随机功能(PRF):PRF生成密钥数据。在TLS中,HMAC定义PRF。PRF使用两种散列算法保证其安全性。如果任一算法暴露了,只要第二种算法未暴露,则数据仍然是安全的。
  3. 改进的已完成消息验证:TLS和SSLv3.0都对两个端点提供已完成的消息,该消息认证交换的消息没有被变更。然而,TLS将此已完成消息基于PRF和HMAC值之上,这也比SSLv3.0更安全。
  4. 一致证书处理:与SSLv3.0不同,TLS试图指定必须在TLS之间实现交换的证书类型
  5. 特定警报消息:TLS提供更多的特定和附加警报,以指示任一会话端点检测到的问题。TLS还对何时应该发送某些警报进行记录

4. 名词解释

RFC
RFC(Request For Comments) 是由互联网工程任务组(IETF)发布的文件集。文件集中每个文件都有自己唯一编号,例如:rfc1831。目前RFC文件由互联网协会(Internet Society,ISOC)赞助发行。 基本的互联网通信协议都有在RFC文件内详细说明。RFC文件还额外加入许多的论题在标准内,例如对于互联网新开发的协议及发展中所有的记录。因此几乎所有的互联网标准都有收录在RFC文件之中。
RFC官网:https://www.rfc-editor.org/rfc/

SSL
Secure Socket Layer安全套接层协议
TLS
Transport Layer Security 安全传输层协议

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值