9-2019051109-赖志正-HTTPS协议分析1
【HTTPS协议分析】 HTTPS协议是HTTP(超文本传输协议)与SSL/TLS(安全套接层/传输层安全)协议的结合,旨在提供安全的网络通信。它在互联网上广泛用于保护用户隐私和数据完整性,尤其是在涉及敏感信息的场景,如网上银行、电子商务和登录认证等。 **SSL/TLS协议概述** SSL/TLS协议位于应用层和传输层之间,其主要任务是对应用层数据进行加密,确保在网络中传输的数据不被窃取或篡改。SSL协议最初由网景公司开发,现在通常指代的是TLS协议,它是SSL的后续标准,能够支持更强大的加密算法和更安全的通信。 **SSL会话和连接** 1. **SSL会话**: 一次会话是由SSL握手协议建立的一组安全参数,包括会话ID、证书、加密算法、压缩算法和哈希算法等。会话参数允许在多个SSL连接中重用已协商的安全设置,从而提高性能。 2. **SSL连接**: 每个SSL连接都有独立的安全参数,如随机数、MAC密钥、加密密钥和初始化向量,这些参数用于特定的通信过程。在同一个会话内,可以有多个SSL连接建立和中断。 **SSL密钥交换** SSL/TLS协议中的密钥交换是通过非对称加密实现的。客户端和服务器在握手阶段协商预主密钥,然后使用各自的随机数来生成四个会话密钥,这些密钥用于对称加密和MAC(消息认证码)计算,保证数据的保密性和完整性。 **SSL结构和协议层** SSL/TLS协议由两层构成:协商层和记录层。 1. **记录协议**:这是最底层,负责将高层协议的消息分片、压缩、加密和解密,然后进行传输。 2. **协商层**:包含握手协议、密钥交换协议/更改密码规范协议和警告协议。 - **握手协议**:用于安全参数的协商,包括客户端和服务器的身份认证、密钥交换算法的选择等。 - **密钥交换协议/更改密码规范协议**:提供一种机制告知对方开始使用新协商的密钥规格。 - **警告协议**:用于错误报告和断开连接。 **握手协议流程** 握手协议分为四个阶段: 1. **ClientHello和ServerHello**:客户端和服务器交换版本信息、随机数和其他参数,确定协议版本和共享加密算法。 2. **服务器认证和密钥交换**:服务器发送数字证书,客户端使用证书中的公钥验证服务器身份,并可能进行客户端认证。 3. **客户端认证和预主密钥交换**:客户端回应服务器的认证请求,发送预主密钥。 4. **完成握手**:客户端和服务器确认握手结束,此时双方都拥有必要的安全参数,可以开始安全的数据传输。 HTTPS协议通过SSL/TLS提供的加密和认证机制,确保了网络通信的安全性,防止中间人攻击和数据泄露。在实际的网络环境中,使用Wireshark等网络嗅探工具可以深入分析SSL/TLS协议的交互过程,以理解和验证其安全性。
剩余16页未读,继续阅读
- 粉丝: 28
- 资源: 328
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
评论0