TLS

来源:互联网 发布:网络黑界知名林子颜 编辑:程序博客网 时间:2024/05/16 07:55

协议简介

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

概况

安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性。该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。较低的层为 TLS 记录协议,位于某个可靠的传输协议(例如 TCP)上面。

协议结构

TLS 协议包括两个协议组―― TLS 记录协议和 TLS 握手协议――每组具有很多不同格式的信息。
TLS 记录协议是一种分层协议。每一层中的信息可能包含长度、描述和内容等字段。记录协议支持信息传输、将数据分段到可处理块、压缩数据、应用 MAC 、加密以及传输结果等。对接收到的数据进行解密、校验、解压缩、重组等,然后将它们传送到高层客户机。
TLS 连接状态指的是TLS 记录协议的操作环境。它规定了压缩算法、加密算法和 MAC 算法。
TLS 记录层从高层接收任意大小无空块的连续数据。密钥计算:记录协议通过算法从握手协议提供的安全参数中产生密钥、 IV 和 MAC 密钥。TLS 握手协议由三个子协议组构成,允许对等双方在记录层的安全参数上达成一致、自我认证、例示协商安全参数、互相报告出错条件。

记录协议

TLS记录协议位于TLS握手协议的下面,在可靠的传输协议(如TCP/IP)上面。TLS记录协议的一条记录包含长度字段、描述字段和内容字段。TLS记录协议处理数据的加密,即记录协议得到要发送的消息之后,将数据分成易于处理的数据分组,进行数据压缩处理(可选),计算数据分组的消息认证码MAC,加密数据然后发送数据;接收到的消息首先被解密,然后校验MAC值,解压缩,重组,最后传递给协议的高层客户。记录协议有四种类型的客户:握手协议、警告协议、改变密码格式协议和应用数据协议。通常使用一个对称算法,算法的密钥由握手协议提供的值生成。
TLS 记录协议提供的连接安全性具有两个基本特性:
私有――对称加密用以数据加密(DES 、RC4 等)。对称加密所产生的密钥对每个连接都是唯一的,且此密钥基于另一个协议(如握手协议)协商。记录协议也可以不加密使用。
可靠――信息传输包括使用密钥的 MAC 进行信息完整性检查。安全哈希功能( SHA、MD5 等)用于 MAC 计算。记录协议在没有 MAC 的情况下也能操作,但一般只能用于这种模式,即有另一个协议正在使用记录协议传输协商安全参数。
TLS 记录协议用于封装各种高层协议。作为这种封装协议之一的握手协议允许服务器与客户机在应用程序协议传输和接收其第一个数据字节前彼此之间相互认证,协商加密算法和加密密钥。

握手协议

TLS握手协议处理对等用户的认证,在这一层使用了公共密钥和证书,并协商算法和加密实际数据传输的密钥,该过程在TLS记录协议之上进行。TLS握手协议是TLS协议中最复杂的部分,它定义了10种消息,客户端和服务器利用这10种消息相互认证,协商哈希函数和加密算法并相互提供产生加密密钥的机密数据。TLS记录协议会在加密算法中用到这些加密密钥,从而提供数据保密性和一致性保护。
TLS 握手协议提供的连接安全具有三个基本属性:
1.可以使用非对称的,或公共密钥的密码术来认证对等方的身份。该认证是可选的,但至少需要一个结点方。
2.共享加密密钥的协商是安全的。对偷窃者来说协商加密是难以获得的。此外经过认证过的连接不能获得加密,即使是进入连接中间的攻击者也不能。
3.协商是可靠的。没有经过通信方成员的检测,任何攻击者都不能修改通信协商。
TLS握手协议:
1.改变密码规格协议
2.警惕协议
3.握手协议


安全套接层SecureSockets LayerSSL),一种安全协议,是網景公司(Netscape)在推出Web浏览器首版的同时提出的,目的是为网络通信提供安全及数据完整性。SSL在传输层对网络连接进行加密。。

SSL采用公开密钥技术,保证两个应用间通信的保密性可靠性,使客户與服务器应用之间的通信不被攻击者窃听。它在服务器和客户机两端可同时被支持,目前已成为網際網路上保密通讯的工业标准。现行Web浏览器亦普遍将HTTP和SSL相结合,从而实现安全通信。此協议和其继任者是TLS。


SSL(Secure Sockets Layer)是网景公司(Netscape)设计的主要用于Web的安全传输协议。这种协议在Web上获得了广泛的应用。IETF(www.ietf.org)将SSL作了标准化,即RFC2246,并将其称为TLSTransport Layer Security),其最新版本是RFC5246,版本1.2。从技术上讲,TLS1.0与SSL3.0的差異非常微小。


TCP和UDP都是网络层上的协议,是建立在IP层之上的。TCP是有连接的传输,它通过对它下层IP包的冲突、错误检测和重传,保证了最终接收到的数据是可靠的;UDP是无连接的,数据包发出去就不管了,没有数据包是否成功并且正确发送的检查,不能保证数据传输100%正确,但是开销会比较小。TLS是在更上一层的协议,他必须建立在可靠的数据传输基础上,所以一般是在TCP之上,当然也可以建立在SCTP之上,但是一定不是UDP之上。TLS全名叫传输层安全(Transpot Layer Security)协议,TLS连接的建立有个标准的握手过程,可以查看RFC2246了解具体的细节。简单的讲,就是通信双方互相验证对方的数字证书,确认对方的身份,并通过密钥交换协议,确定出相互通信时使用的加密算法和密钥,之后的数据通信都使用协商好的加密算法进行加密传输。它可以保证:1. 与自己通信的一方确实是他自己声明的身份(通过证书检查确认)。 2. 通信时的数据传输的安全的(因为加密过了,中间即使被窃听,也没法解密,没法知道具体的内容)。

原创粉丝点击