关于小悟志网站地图归档友情链接联系Feed

云上小悟 + 

当前位置 : 首页 » InfoTech » SSL/TLS知识点学习 正文

SSL/TLS知识点学习

InfoTech
2017年8月17日 / 38次阅读
标签:TCPIP

拍拍贷

文章《SSL/TLS知识点学习》的特色图片

SSL/TLS用来实现在互联网上进行安全通信,一般作为应用层协议的底层协议出现,对于我们常见的HTTP协议,对应的安全协议就是HTTPS。所谓安全,SSL/TLS用来达到3个目标:

(1) 窃听风险(eavesdropping):第三方可以获知通信内容;SSL/TLS让所有信息都是加密传播,第三方无法窃听。

(2) 篡改风险(tampering):第三方可以修改通信内容;SSL/TLS具有校验机制,一旦被篡改,通信双方会立刻发现。

(3) 冒充风险(pretending):第三方可以冒充他人身份参与通信;SSL/TLS配备数字证书,可有效防止身份被冒充。

因此,我们要清楚,SSL/TLS不能用来防止病毒,DDoS攻击等。网络安全是个宏大的话题,SSL/TLS不是万能,有其特定的应用领域。

SSL:Secure Socket Layer,安全套接字层

TLS:Transport Layer Security,传输层安全协议

 

SSL/TLS的历史发展

互联网加密通信协议的历史,几乎与互联网一样长。

1994年,NetScape公司设计了SSL协议(Secure Sockets Layer)的1.0版,但是未发布。

1995年,NetScape公司发布SSL 2.0版,很快发现有严重漏洞。

1996年,SSL 3.0版问世,得到大规模应用。

1999年,互联网标准化组织ISOC接替NetScape公司,发布了SSL的升级版TLS 1.0版。

(被标准化组织接手后,名字就从SSL改为TLS。TLS与SSL3.0之间存在着显著的差别,主要是它们所支持的加密算法不同,TLS与SSL3.0不能互操作。)

2006年和2008年,TLS进行了两次升级,分别为TLS 1.1版和TLS 1.2版。最新的变动是2011年TLS 1.2的修订版。

目前,应用最广泛的是TLS 1.0,接下来是SSL 3.0。但是,主流浏览器都已经实现了TLS 1.2的支持。

TLS 1.0通常被标示为SSL 3.1,TLS 1.1为SSL 3.2,TLS 1.2为SSL 3.3。

TLS1.2的标准文档RFC5246

 

SSL和TLS的差异对比

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字节),这种方式可以防止基于对报文长度进行分析的攻击。

 

SSL/TLS在TCPIP协议栈中所处的位置

SSL/TLS在TCPIP协议栈中所处的位置

SSL/TLS在TCPIP协议栈中所处的位置

注意,SSL/TLS下层只能是TCP,如果是UDP的话,要采用DTLS协议。

 

SSL/TLS的运行机制

SSL/TLS对通信的保护基于加密和数字证书验证身份,请先学习:

对称密钥,非对称密钥,数字签名

数字证书和CA

以所有协议一样,SSL/TLS也是需要先由客户端和服务器端之间交互一些Hello和Handshake报文,进行安全通信前的协商各种参数和准备。客户端验证了服务器端的数字证书(非对称加密)后,便与服务器端协商一个秘钥,这个秘钥用于通信内容的加密解密(对称秘钥)。

因此,SSL/TLS协议的基本过程是这样的:

(1) 客户端向服务器端索要并验证公钥。

(2) 双方协商生成"对话密钥"。

(3) 双方采用"对话密钥"进行加密通信。

之所以在通信阶段采用一个对话秘钥,是因为对称加密算法在加密解密的时候,效率更高。

关于这部分更详细的描述,请参考:http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html

本文链接:http://www.maixj.net/ict/ssl-tls-16190
云上小悟 麦新杰(QQ:1093023102)

-- (*^-^*) --

相关文章

评论是美德

无力满足评论实名制,评论对非实名注册用户关闭,有事QQ:1093023102.


前一篇:
后一篇:

栏目精选


©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号苏ICP备14045477号-1

网站二维码
拍拍贷
go to top