网络安全——传输层安全协议

Posted 网络豆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络安全——传输层安全协议相关的知识,希望对你有一定的参考价值。

  • 作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 

  •  座右铭:低头赶路,敬事如仪

  • 个人主页:网络豆的主页​​​​​​

目录

 前言

一.传输层安全协议

二.SSL协议背景

1.SSL协议介绍

2.SSL协议三种安全特性

3.SSL之间通信

三.SSL协议简介

1.SSL两层组成

2.SSL协议三个基本性质


 前言

本周将会讲解传输层的安全协议。了解SSL协议


一.传输层安全协议

传输层安全协议(Transport Layer Security Protocol,TLS)正是为了解决传输层安全问题而提的。

 传输层安全性就是要保证因特网上任意两个主机进程之问数据交换的安全性,包括建立连接时的用户身份合法性、数据交换过程中的数据机密性数据完整性以及不可否认性等方面。

传输层安全协议增强了传输层协议的安全性,它在传输层协议的基础上增加了安全协商数据加密/解密处理等安全机制和功能。

现实中,大多数用户通常选择使用的传输层安全协议是安全套接字层(Secure Sockets layer,SSL.)协议


二.SSL协议背景

1.SSL协议介绍

SSL协议对于用户而言是透明的,普通用户使用SSL进行网络连接的区别不外乎是浏览器地址栏中的URL地址是以https作为开头,地址栏最右端或状态栏会有一个挂锁或钥匙的图标。

 实际上,SSL是一个独立于平台和应用的协议。图4-1显示了SSL.在协议栈中的位置,用于保护基于TCP的应用,SSL在TCP层之上、应用层之下,就像TCP连接的套接字一样工作。


2.SSL协议三种安全特性

(1)数据机密性:采用对称加密算法来加密数据,密钥是在双方握手时协商指定的。

(2)数据完整性:采用消息鉴别码(MAC)来验证数据的完整性,MAC是采用Hash函数实现的。

  (3)身份合法性:采用非对称密码算法和数字证书来验证通信实体的身份合法性。


3.SSL之间通信

SSL协议的基本目标是在两个通信实体之间建立安全的通信连接,为基于客户机/服务器模式的网络应用提供安全保护。

图4-2给出了一个典型基于SSL的VPN应用.

 展示一个高校研究人员如何通过Web浏览器或专用客户端安全访问内部资源。

  • 首先,校园网内部的资源服务器向外网用户提供一个虚拟的URL地址
  • 当用户从外网访间校园网内网资源时,发起的连接被SSL.VPN网关取得
  • 依据安全控制策略,为分散移动用户提供从外网访问企业内网资源的安全访问通道
  • 并通过认证后映射到不同的应用服务器
  • 采用这种方式能够屏蔽内部网络的结构,不易遭受来自外部的攻击

三.SSL协议简介

SSL协议的主要目的是保障两个应用间通信的私密性可靠性

SSL协议提供传输协议之上的可靠的端到端安全服务,为两个通信对等实体之间提供机密性、完整性和身份鉴别服务。


1.SSL两层组成

SSL协议是一个分层协议,由两层组成:SSL记录协议和SSL握手协议如图所示,内容如下。

 (1)SSL记录协议用于封装不同的高层协议,它建立在可靠的传输协议之上(如TCP协议)

 (2)SSl.握手协议用于数据交换前服务器和客户端双方相互认证以及密码算法和密钥的协商


SSL握手协议还可细分为握手协议密钥更改协议和告警协议

所以也有资料将SSL协议分为4层:SSL记录协议、SSL握手协议、密钥更改协议和告警协议

这样一来,SSL的协议栈也可如图所示。


2.SSL协议三个基本性质

(1)保障连接的私密性。初次握手协商好密钥后,即可通过对称加密方法(如DES、RC4等)进行数据加密,保障通信连接的私密性。

(2)通信实体间身份鉴别。通信实体能够通过非对称加密或公钥加密方法(如RSA、DSS等)进行身份鉴别。

(3)保障连接的可靠性。协议通过MAC算法保证传输消息的完整性。SHA、MD5等安全HASH算法可用于MAC计算。接下来将详细介绍SSL.协议内容。由于SSL.协议的版本较多,本章的讨论以SSLv3.0版本为主,兼顾其他版本的协议内容。


 创作不易,求关注,点赞,收藏,谢谢~  

创作赢红包网络安全——传输层安全协议

  • 作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 

  •  座右铭:低头赶路,敬事如仪

  • 个人主页:网络豆的主页​​​​​​

目录

前言

一. SSL握手协议

1.SSL握手协议概述

(1)第一阶段——“密钥等信息交换阶段”

(2)第二阶段——“用户身份认证阶段”

2.SSL握手协议的具体工作过程

 3.SSL握手消息格式

 二.SSL 记录协议

1. SSL记录协议概述

2.打包过程 

3.记录的压缩和解压缩


前言

通过之前文章我们对于SSL协议进行了一定了解网络安全——传输层安全协议

本章将会继续讲解SSL握手协议与SSL记录协议。


一. SSL握手协议

1.SSL握手协议概述

SSL握手协议工作在SSL记录协议层之上用于协商产生会话状态的加密参数。当SSL客户端和服务器首次开始通信时,它们就协议版本、加密算法的选择、是否互相认证进行协商,并使用公钥加密技术产生共享秘密。所有这些工作都是由握手协议完成的,大致可以分为以下两个阶段。

(1)第一阶段——“密钥等信息交换阶段”

通信双方通过相互发送Hello消息进行初始化。

  • 通过Hello消息,双方就能够确定是否需要为本次会话产生一个新密钥。
  • 如果本次会话是一个新会话,则需要产生新的密钥,双方需要进入密钥交换过程。
  • 如果本次会话建立在一个已有的连接上,则不需要产生新的密钥,双方立即进入握手协议的第二阶段。

(2)第二阶段——“用户身份认证阶段”

  • 对用户身份进行认证,通常服务器方要求客户方提供经过签名的客户证书进行认证,并将认证结果返回给客户。

2.SSL握手协议的具体工作过程

(1)客户端首先发出客户问候消息(ClientHelloMessage),服务器收到后,或者发出服务器问候消息,或者发出终止错误,并中断连接,客户端和服务器的问候消息将协商产生下列属性:协议版本、会话标识符、加密算法及压缩方法.此外还将产生和交换两个随机数。


(2)客户问候消息发送完后,如果Server端需要进行认证,会发送它的证书。另外,如果需要的话(例如,如果它们的服务器没有证书,或者其证书仅用来进行签名),将发出一个Server Key Exchange消息。如果Server端已经被认证,而且所选的加密算法支持的话,可以向客户端请求证书。在验证以后,服务器就发送服务器问候结束消息,以示达成了握手协议。


(3)如果服务器发出一个CertificateRequest消息客户端必须发出证书消息或者一个NoCertificate报警。此时,客户端密钥交换消息准备发送,消息的内容将依赖于客户端问候消息和服务器问候消息所协商选择的公钥算法。如果客户端已经发出了一个具备签名能力的证书,一个数字签名后的证书验证消息将被发送,以确认此证书的合法性


(4)此时,客户端可以发送密钥更改消息,客户端将尚未协商确定的加密算法复制加入到当前加密算法。然后,客户端立即用新的算法、密钥和密钥素材发出结束消息。服务器将发出自己的改变加密规范消息作为回应,同时将尚未协商确定加密规范复制加人到当前加密规范,并用新的加密规范发出结束消息。


(5)此时,握手过程结束,客户端和服务器可以开始交换应用加密数据,应用数据加密一般是用第(2)步密钥协商时确定的对称加/解密密钥,如DES、3DES等。目前,商用加密强度为128位,非对称密钥一般为RAS,商用强度为1024位,用于证书的验证。完整的SSL握手协议消息交换过程如图4-5所示。

图中,带*号的步骤是可选的,或依据状态而发的消息,而密钥更改(Change CipherSpec)用于客户端与服务器协商新的加密数据包时而改变原先的加密算法。

如果双方是在已有连接上重建一个会话,则不需要协商密钥以及有关会话参数,可以简化握手协商过程,内容如下。

(1)客户方使用一个已有的会话标识符(Session ID)发出Client Hello消息。


(2)服务方在会话队列中查找相匹配的会话标示识符(SessionID),如果有相匹配的会话,服务器方在该会话状态下重新建立连接,并使用相同的会话标示识符(SessionID),向客户方发出一个ServerHello消息。如果没有相匹配的会话,则服务方产生一个新的会话标识符(SessionID),并且客户方和服务方之间必须进行一次完整的握手协商过程。


(3)在会话标识符(SessionID)匹配的情况下,客户方和服务方必须分别发送Change Cipher Spec消息,然后发送Finished 消息。


(4)此时,重建一个会话结束。客户方和服务方进入数据交换阶段。简化的SSL握手协议消息交换过程如图4-6所示。


 3.SSL握手消息格式

SSL.握手协议由一系列握手消息的交互组成。SSl.握手协议定义了若干握手消息,用于在通信双方之间建立会话和协商安全属性。握手消息将提交给SSL.记录层,由记录层封装一个或多个SSL_Plaintext结构。


 二.SSL 记录协议

1. SSL记录协议概述

SSL是层次化协议。在每一层,消息均可以包含描述长度、消息及消息内容的域。SSL在传输消息时,首先将消息分为可处理的数据块,可以进行压缩,将其封装为一带消息验证(MAC)的包,随后进行加密,并进行传输。收到消息时,首先解密,然后验证、解压缩并重新组合得到原有的消息,将此消息发向高层协议。SSL.记录层从更高层接收未加解释的任意长度的非空块数据块。

2.打包过程 

记录层将数据块分裂为小于或等于214字节的SSL.PlainText记录。客户端消息的分界限并不反映至记录层中,也就是说,具有同样内容类型(ContentType)的多个客户端消息可能会合并为一个SSLPlaintext记录。

3.记录的压缩和解压缩

  • 所有的记录均应用在当前的对话状态中定义的压缩算法进行压缩。
  • 压缩算法初始化定义为CompressionMethod.null,随后通过用户握手协议协商更改。压缩算法将SSL.Plaintext结构转换为SSL.Compressed结构,当CipherSpee变换后,压缩函数将删除其状态信息。
  • 压缩必须是无损压缩,且对原文长度的增加不超过1024比特。如果解压缩函数遇到一待解的超过214比特的SSL.Compressed.fragment,它将产生decompression_failure报警。

 创作不易,求关注,点赞,收藏,谢谢~  

以上是关于网络安全——传输层安全协议的主要内容,如果未能解决你的问题,请参考以下文章

信息安全之网络安全防护

《网络攻防》第五周学习总结

创作赢红包网络安全——传输层安全协议

网络安全——传输层安全协议(Transport Layer Security) TLS/SSL

什么是WEB安全?是网络安全么?

网络安全协议