安全套接层 (SSL)
安全套接字层 (SSL)为在 Web 浏览器和服务器之间传输的数据提供安全性。 SSL 加密网络服务器和浏览器之间的链接,确保它们之间传递的所有数据保持私密且不受攻击。
安全套接层协议:
- SSL 记录协议
- 握手协议
- 更改密码规范协议
- 警报协议
SSL 协议栈:
SSL 记录协议:
SSL Record 为 SSL 连接提供了两种服务。
- 保密
- 消息完整性
在 SSL 记录协议中,应用程序数据被分成片段。该片段被压缩,然后附加由 SHA(安全散列协议)和 MD5(消息摘要)等算法生成的加密 MAC(消息验证码)。之后,数据加密完成,并在最后一个 SSL 标头附加到数据中。
握手协议:
握手协议用于建立会话。该协议允许客户端和服务器通过相互发送一系列消息来相互验证。握手协议使用四个阶段来完成其周期。
- Phase-1:在 Phase-1 中,客户端和服务器都互相发送 hello-packets。在此 IP 会话中,出于安全目的交换密码套件和协议版本。
- 阶段 2:服务器发送他的证书和服务器密钥交换。服务器通过发送 Server-hello-end 数据包结束阶段 2。
- 阶段3:在这个阶段,客户端通过发送他的证书和客户端交换密钥来回复服务器。
- 阶段 4:在阶段 4 中发生更改密码套件,并且在此握手协议结束之后。
更改密码协议:
该协议使用 SSL 记录协议。除非完成握手协议,否则 SSL 记录输出将处于挂起状态。握手协议后,Pending 状态转换为当前状态。
Change-cipher 协议由一条长度为 1 字节且只能有一个值的消息组成。该协议的目的是使未决状态复制到当前状态。
警报协议:
该协议用于将与 SSL 相关的警报传送给对等实体。该协议中的每条消息包含 2 个字节。
该级别进一步分为两部分:
警告(级别 = 1):
此警报对发送方和接收方之间的连接没有影响。他们之中有一些是:
坏证书:当收到的证书损坏时。
无证书:当相应的证书不可用时。
证书已过期:证书已过期。
证书未知:当处理证书时出现其他一些未指明的问题,使其不可接受。
关闭通知:通知发送者将不再在连接中发送任何消息。
致命错误(级别 = 2):
此警报会中断发送方和接收方之间的连接。他们之中有一些是 :
握手失败:当发送者无法协商给定可用选项的一组可接受的安全参数时。
解压失败:当解压函数接收到不正确的输入时。
非法参数:当一个字段超出范围或与其他字段不一致时。
坏记录 MAC:当收到不正确的 MAC 时。
意外消息:收到不适当的消息时。
警报协议中的第二个字节描述了错误。
安全套接层的静默特性:
- 这种方法的优点是可以根据给定应用程序的特定需求定制服务。
- 安全套接字层由 Netscape 发起。
- SSL 旨在利用 TCP 提供可靠的端到端安全服务。
- 这是一个两层协议。
请参阅安全套接字层 (SSL) 和传输层安全性 (TLS) 之间的区别