SSL在协议栈的位置
SSL协议的分层模型
SSL 协议是由两层组成的分层协议。 SSL协议的底层是SSL记录协议。它位于可靠的传输层协议(例如TCP)之上,用于封装更高级别协议的数据。 SSL 握手协议允许服务器和客户端在应用层协议发送数据之前相互验证并协商加密算法和会话密钥。
SSL体系结构
SSL的两个重要概念
SSL 连接
连接是提供适当类型服务(OSI 分层定义)的传输。
SSL 连接是点对点关系。
连接是临时的,每个连接都与一个会话关联。
SSL 会话
SSL 会话是客户端和服务器之间的关联。会话是使用握手协议创建的。会话定义了一组可以由多个连接共享的加密安全参数。
会话用于避免为每个连接进行昂贵的新安全参数协商。
主要工作流程
1. 建立网络连接,SSL 客户端发送消息。该消息包括SSL 版本号、密码设置、可能的算法列表、随机数以及服务器使用SSL 协议进行通信所需的其他信息。
2. SSL服务器响应消息并确定SSL版本号、加密算法和压缩算法。
3、SSL服务器颁发服务器数字证书。
4、SSL客户端身份认证可选。
5、客户端生成预主密钥pre_master_secret,用服务器的公钥加密,服务器用自己的私钥解密,得到会话密钥。
5. 如果服务器需要客户端身份验证,则客户端将签名数据和自己的证书以及加密的pre_master_secret 一起发送到服务器。
7. 一旦服务器成功验证了客户端的身份,它就会使用私钥对pre_master_secret 进行加密,并执行一系列步骤来生成主密钥。否则,会话将被终止。
8. 客户端和服务器使用主密钥生成会话密钥。该密钥是对称密钥,用于加密和解密SSL 会话期间交换的信息,并验证信息的完整性。
9. CS:发送一条消息,通知客户端将来来自客户端的消息将使用会话密钥进行加密。然后,客户端发送另一条(加密的)消息,指示握手的客户端部分已完成。
申请数据提交流程为:
1) 应用程序将应用程序数据发送到本地SSL。
2) 发送端的SSL(如果需要):
a) 使用指定的压缩算法压缩应用程序数据。
b) 使用哈希算法计算压缩数据的哈希值。
c) 使用加密算法对哈希值和压缩数据进行加密。
3)密文通过网络发送给对方。
4) 接收端的SSL
使用相同的加密算法对密文进行解密,得到明文。
使用相同的哈希算法以明文形式对应用程序数据进行哈希处理。
将计算出的哈希值与明文哈希值进行比较。
5) 如果匹配,则明文有效,接收端的SSL将明文解压得到应用数据并发送给应用层。否则,数据将被丢弃,并向发送方发送报警消息。严重错误可能会导致重新协商和连接中止。
SSL握手协议的握手过程
无需客户端认证即可完成握手过程
与客户端身份验证的完全握手
会话恢复过程
SSL记录层的功能
保护传输数据的隐私,对数据进行加解密以验证传输数据的完整性,计算消息摘要以提高数据传输效率,压缩消息以保证数据传输的可靠性并保证有序性。
消息格式
SSL协议脆弱性分析
冒充客户
由于SSL 协议的最初目的是保护网站和在线交易的安全,因此比了解商家正在与谁打交道更重要,以避免降低网络性能。关于使用安全协议SSL 协议默认不需要客户端身份验证,这违反了安全策略,但鼓励广泛使用SSL。要解决此问题,可以选择配置SSL 协议以允许选择客户端身份验证。
无法保护UDP应用程序
SSL 协议无法保护UDP 应用程序,因为它要求在握手之前建立TCP 连接。如果要考虑UDP协议层之外的安全保护,可以使用IP层安全解决方案。
SSL 协议经不起流量分析
由于SSL 只保护应用程序数据,因此数据包的IP 和TCP 标头仍然暴露,通过检查未加密的IP 源和目标地址以及TCP 端口号或通信的数据量,通信分析人员可以揭示哪些方是哪一方。涉及。根据所使用的服务,商业和个人关系的秘密可能会被泄露。
一、网安学习成长路线图
将网络安全各个方向的技术点归纳为各个领域知识点的总结,方便按照以上知识点找到对应的学习资源,进行更全面的学习。
二、网安视频合集
观看零基础学习视频观看视频很容易上手,按照视频中老师的思路从基础到细节。
三、精品网安学习书籍
当基础知识学到一定程度,有了一定的理解程度后,就可以看前辈编的书或者手写的笔记。这些注释提供了比较独特的理解。我有不同的思考方式。
四、网络安全源码合集+工具包
光学理论是没有用的,所以你必须相应地练习,才能将所学的知识运用到实践中。
五、网络安全面试题
最后是大家最关心的一段网络安全面试题。
#SSL协议分析_tcp的SSL协议相关内容以上源网络信息仅供参考。相关信息请参见官方公告。
原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/92145.html