理解SSL/TLS系列(一) 概述

一、SSL/TLS的目标

互联网协议在设计之初 ,往往很少考虑安全问题,这在早期参与人数很少时也许不是太大的问题,但现在所有人都可以使用互联网,这种方式便土崩瓦解。比如广泛使用的http协议便存在以下问题:

  1. 通信内容明文传输,很容易被第三方截获。
  2. 不能保证传输内容的完整性,容易被第三方篡改。
  3. 不能认证通信双方的身份。

SSL和TLS都是加密协议,旨在基于不安全的基础设施提供安全通信,但安全也不是唯一目标,实际上他有以下几个主要目标

  1. 加密安全。这是主要问题,为任意愿意交换信息的双方启用安全通信。

  2. 互操作性。 独立的编程人员应该能够使用通用的加密参数开发程序和库,使它们可以相互通信。

  3. 可扩展性。TLS是一种能高效开发和部署加密协议的框架。其重要目标是独立于实际使用的加密基元(例如密码和散列函数),从而不需要创建新的协议,就允许从一个基元迁移到另一个。

  4. 性能。最终的目标是在实现上述所有目标的基础上保持性能成本在可接受的范围内。这需要尽量减少昂贵的加密操作的执行次数,并提供一个会话缓存方案,以避免这些加密操作在 随后的连接中被执行。

二、协议层次

SSL/TLS协议被设计在传输层和应用层之间,这样设计将SSL/TLS协议和具体某一应用层协议解藕,高层的协议不必担心在底层实现的功能。进一步说,不同层次的协议可以加入通信或者从通信中删除,一种底层协议可以服务于多种上层协议。这就是分层协议设计的好处。

SSL/TLS广泛作用于HTTP,也就是HTTPS。当然SSL/TLS也可以加密其他应用层协议,比如SMTP,HTTP2 等。

三、协议历史

  • SSL协议由Netscape公司开发,历史可以追溯到Netscape Navigator浏览器统治互联网的时代。协议的第一个版本从未发布过。
  • 1995年3月SSL2.0 发布,这个版本由于设计缺陷,并不安全,很快被发现有严重漏洞,已经废弃。
  • 1995年年底SSL 3.0发布,开始流行。目前已经不安全,必须禁用。
  • 1996年5月,TLS工作组成立,开始将SSL从Netscape迁移至IETF。由于Microsoft和Netscape 当时正在为Web的统治权争得不可开交,整个迁移过程进行得非常缓慢、艰难。最终,TLS 1.0 于1999年1月问世,见RFC 2246。尽管与SSL 3相比,版本修改并不大,但是为了取悦Microsoft, 协议还是进行了更名。
  • 2006年TLS 1.1发布。主要修复了CBC模式相关的如BEAST攻击等漏洞。
  • 2008年TLS 1.2发布 。该版本添加了对已验证加密的支持,并且基本上删除了协议说明中所有硬编码的安全基元,使协议完全弹性化。当前广泛使用的版本。
  • 2018年TLS 1.3标准确定,TLSv1.3改善了握手流程,减少了时延,并采用完全前向安全的密钥交换算法。

理解SSL/TLS系列(一) 概述_第1张图片

 

参考:

《https权威指南》

你可能感兴趣的:(TLS)