SSL 通信过程分析 一、SSL 建立握手连接目的 1
身份的验证,client 与 server 确认对方是它相连接的,而不是第三方冒充的,通过证书实现
client 与 server 交换 session key,用于连接后数据的传输加密和 hash 校验
二、简单的 SSL 握手连接过程 (仅 Server 端交换证书给 client): 1
client 发送 ClientHello,指定版本,随机数(RN),所有支持的密码套件(CipherSuites) 2
server 回应 ServerHello,指定版本,RN,选择 CipherSuites,会话 ID(Session ID) 3
server 发送 Certificate 4
Server 发送 ServerHelloDone 5
Client 发送 ClientKeyExchange,用于与 server 交换 session key 6
Client 发送 ChangeCipherSpec,指示 Server 从现在开始发送的消息都是加密过的 7
Client 发送 Finishd,包含了前面所有握手消息的 hash,可以让 server 验证握手过程是否被第三方篡改 8
Server 发送 ChangeCipherSpec,指示 Client 从现在开始发送的消息都是加密过的 9
Server 发送 Finishd,包含了前面所有握手消息的 hash,可以让 client 验证握手过程是否被第三方篡改,并且证明自己是 Certificate 密钥的拥有者,即证明自己的身份 三、抓包实际分析连接过程 下面从抓包数据来具体分析这一过程并说明各部分数据的作用以及如实现前面列出的握手的目标,当然了,最重要的还是说明为何这一过程是安全可靠的,第三方无法截获,篡改或者假冒
client发送 Cli