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