TLS安全传输协议

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
可靠――信息传输包括使用密钥的 MAC 进行信息完整性检查。安全哈希功能( SHA、MD5 等)用于 MAC 计算。记录协议在没有 MAC 的情况下也能操作,但一般只能用于这种模式,即 有另一个协议正在使用记录协议传输协商安全参数。
TLS-握手协议
握手协议 (handshake protocol)
客户端验证证书的合法性,如果验证通过才会进行后 续通信,否则根据错误情况不同做出提示和操作
信息举例说明
ClientHello
ServerHello
四次信息的交换
3> -1Clientkey exchange 发送生成主密钥所需的额外信息。 客户端计算产生随机数字 Pre-master,并用证书公钥 加密。 enc_key=Fuc(random_C, random_S, Pre-Master)-消 息随机数,随机数字→协商密钥 -2 Change Cipher Spec 客户端通知已取得足够信息,已生成加密密钥,并切换 到加密模式。服务器后续的通信都采用协商的通信密钥 和加密算法进行加密通信; -3 Finish hand shake 结合之前所有通信参数,采用协商密钥 与算法进行加 密,然后发送给服务器用于数据与握手验证 4> -1服务器用私钥解密加密的 Pre-master 数据,计算之 前所有接收信息的 hash 值判断正确性 -2知客户端后续的通信都采用协商的密钥与算法进行加 密通信,服务器也结合所有当前的通信参数信息生成一 段数据发送到客户端
记录协议示意图
一条记录是TLS协议中的最小单元。每个记录以5字节的元数据开头,即内容长度(1字节)、 协议版本(2字节)和数据长度(2字节)。如果缓冲区超过记录的长度限制(16384字节), 记录协议会将其切分成更小的片段。(反过来也可以,同一个子协议的小缓冲区也可以组合成 一个记录。)这些由应用协议完成。
记录协议的具体工作流程
记录协议的具体流程: 一个刚建立的连接(TCP连接)上,最初的消息是没有受到加密保护的(从技 术上讲,就是使用了TLS_NULL_WITH_NULL_NULL密码套件)。 一旦TLS握手完成,记录层就按照双方协定达成的参数进行加密和完整性验证。 记录协议只关注数据传输和加密,将其他功能转交给子协议;这个方法使TLS 可以扩展,可以很方便地添加子协议。子协议伴随着记录协议被加密,所有子 协议都会被其加密保护(以协商参数为准。)
TLS :安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性 和数据完整性。 当使用 TLS 时,客户端和服务器之间的连接具有以下一个或多个属性:
连接私密性:使用对称加密算法用于加密数据的传输,例如 AES [AES], RC4 [SCH] 等 可以使用公钥加密来验证通信方的身份 连接可靠性:发送的每个消息都使用 MAC(消息认证码) 进行完整 性检查
握手流程
四次信息的交换
1>客户端发起请求(ClientHello) 将自身支持的加密功能提交给服务器
2>server_hello+server_certificate+sever_hello_done 服务器 server_hello返回,选择一个支持的密码套件。 并发送证书。 服务端返回协商的信息结果,通知客户端 server_hello 信息发送结束(serverhellodone)。
SSL经历了1.0,2.0,3.0版,并最终发展成为TLS协议(Transport Layer Security)。很多人会混用SSL与TLS,但严格来说它们指代的协议版本 不同(SSL3.0的升级版才是TLS1.0)现在最新的版本为1.3,目前使用最 广泛的是1.2。
在最初设计互联网的时候,是没有考虑到信息安全方面的问题,使得通信协 议本身不安全,所以才开发出TLS实现加密传输,确保信息安全。
TLS-完整握手
如果客户端此前并未与服务器建立会话,那么双方会执行一次完整的握手流程来协商 TLS 会话。握手过程中, 客户端和服务器将进行以下四个主要步骤:
·交换各自支持的功能,对需要的连接参数达成一致 ·验证出示的证书,或使用其他方式进行身份验证 ·对将用于保护会话的共享主密钥达成一致 ·验证握手消息并未被第三方团体修改
TLS安全传输协议
为什么使用TLS?
无加密的传输层协议的安全问题
传统的传输层协议如TCP、UDP等使用明文传输数据 公网上的IP数据包很容易被人截获,从而引发诸多安全问题 明文传输的主要安全隐患包括:
−− 窃听:通信内容被获知 −−篡改:通信内容被恶意更改 −−伪装:第三方伪装成通信的一端
为了解决以上明文传输的问题,网景公司最早提出了SSL协议,它不会影 响上层协议(如HTTP、电子邮件等),但可以保证上层协议的通信安全。
TLS:安全性协议 根据TLS所在位置,可得其在TCP/IP握手之后。每一个 TLS 连 接都会以握手开始。在使用中经常可以观察到以下三种流程: 1>完整握手,对服务器进行身份验证 2>短握手(恢复以前某个会话 根据session id) 3>对客户端和服务器都进行身份验证的握手(与完整相比,对 客户端也有个证书验证)
TLS记录协议负责消息的压缩、加密以及数据的认证,其处理过程如下:
记录协议有四种类型的客户:握手协议、警告协议、改变密码格式协议和应用数据协议。通常使用 一个对称算法,算法的密钥由握手协议提供的值生成,从而提供数据保密性和一致性保护。
TLS 记录协议提供的连接安全性具有两个基本特性:
私有――对称加密用以数据加密(DES 、RC4 等)。对称加密所产生的密钥对每个连接都是唯 一的,且此密钥基于另一个协议(如握手协议)协商。记录协议也可以不加密使用。
TLS协议在网络通信模型中的位置
TCP/IP 4层模型:
(4) 应用层 (3)传输层
TLS
(2)网络层
(1)物理层
OSI七层模型:
(7)应用层
(6)表示层
TLS
(5)会话层
(4)传输层
(3)网络层
(2)数据链路层
(1)物理层
根据分层的原理:一个下层协议可以服务于多个上层协议,SSL/TLS位于TCP协议之上, 他们的上层协议有 http,ftp, pops,ntp,snmp等,不想要加密的时候,可以将TLS去掉,并 不对上层协议产生任何影响,需要加密的时候就可以使用TLS加密HTTP等上层协议。
TLS协议组成
TLS协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议
(TLS Handshake),
TLS 记录
TLS 握手
协议
协议
(TLS
(TLS
TLS协议
Handshak
Record)
Байду номын сангаас
e)
较低的层为 TLS 记录协议,位于某个可靠的传输协议(例如 TCP)上面
所以一般把TLS协议归为传输层安全协议。
TLS层的工作机制
整体上看,TLS用记录协议(record protocal)实现,与底层数据 交换。其他协议(如http)将不透明数据缓冲区的数据提交给它,记 录协议传输这些数据。
记录协议中的每个“数据包”,包括标头和数据,除了可见字段, 还会给每个TLS记录指定唯一的64位序列号,但不会在线路上传输。 通信双方都有自身的序列号并跟踪来自另一端记录的数量。这些值 是对抗重放攻击的一部分。
相关文档
最新文档