SSL协议
SSL协议又叫安全套接层协议,是应用在传输层上的安全协议,使用TCP提供的一种可靠的端到端的协议。
SSL协议包括:
- SSL记录协议
- SSL握手协议
- SSL密码交换协议
- SSL警报协议
SSL中最重要的两个概念是SSL连接和SSL会话;
SSL连接状态由下列参数定义:
服务器和客户端的随机数、服务器写MAC密钥、客户端写MAC密钥、服务器写密钥、客户端写密钥、初始化向量、序列号
SSL会话状态由下列参数定义:
会话标识符、对等实体证书、密码规格、主密钥、可恢复性
SSL记录协议为SSL连接提供两种服务:
- 机密性
- 数据完整性
SSL记录协议具体内容:
把明文数据分组,然后压缩,添加MAC,然后加密,最后加上SSL头(包括内容类型、主版本、从版本、压缩后的长度)
SSL握手协议是最为复杂的:
- 客户端发送client-hello消息,包括最高SSL版本号、随机数、会话ID、密码套件、压缩方法
- 服务器发送sever-hello消息,具体内容和client-hello一样
- 服务器发送证书、密码交换数据和证书请求
- 客户端发送证书、密钥交换数据、证书验证信息
- 双方变更密码和结束握手协议