SSL体糸结构 SSI sL Change Handshake Cipher Spec sL Alert IITTP Protocol Protocol Protocol SSl Record Protocol TCP IP 协议分为两层 °底层:SSL记录协议 上层:SSL握手协议、SSL修改密文规约协议、 SSL警告协议 22
22
SSL握手协议 ·客户和服务器之间相互认证 ·协商加密算法和密钥 提供连接安全性 身份鉴别,至少对一方实现鉴别,也可以 是双向鉴别 协商得到的共享密钥是安全的,中间人不 能知道 协商过程是可靠的
23 • 客户和服务器之间相互认证 • 协商加密算法和密钥 • 提供连接安全性 身份鉴别,至少对一方实现鉴别,也可以 是双 向鉴别 协商得到的共享密钥是安全的,中间人不 能知道 协商过程是可靠的 SSL 握手协议
sSL握手协议报文格式 I byte 3 bytes =0 bytes Type Length Content 消 参数 描述 hello request Null 服务器发出此信息给客户端启动握手协议 client hello 版本,随机数,会客户端发出 client_ hello启动SS会话,该 话d,密码参数,压信息标识密码和压缩方法列表,服务器响 server hello 缩方法 certificate X.5093证书链 服务器发出的向客户端验证自己的消息 server key exchange 参数,签名 密钥交换 certificate_request‖类型,CAs 服务器要求客户端认证 server done Null 指示服务器的Hel消息发送完毕 certificate verify 签名 对客户证书进行验证 client_ key_ exchange参数,签名 密钥交换 finished Hash值 验证密钥交换和鉴别过程是成功的
24 SSL握手协议报文格式
Client Server Client 建立协议版本号、会 Hello 话ID、密码套件、压 Sever Hello 缩方法、交换随机数 Server Certificate Server Key EXchange 发送服务器证书 Certificate Request 及请求客户端证书(可选) Server hello done Client Certificate Client Key Exchange 发送客户端证书(可选) Certificate∨eri Client Finished 交换密码套件并结東握手 Sever Finished 协议 25
25 Client Server Client Hello Sever Hello Server Certificate Server Key Exchange Certificate Request Server Hello Done; Client Certificate Client Key Exchange Certificate Verify Client Finished Sever Finished 建立协议版本号、会 话ID、密码套件、压 缩方法、交换随机数 发送服务器证书 及请求客户端证书(可选) 发送客户端证书(可选) 交换密码套件并结束握手 协议
建立安全协商 SSL Client SSL Server Clienthello https://www.any.com Port 443 The Client Hello message is composed of a. SsL Version (highest) that is understood by the client TLSvl else SsLv3 b Key Exchange to identify the method of exchanging keys RSA if not then d-H C Data Encryption to identify the encryption methods available to the client TripleDes or else DES d Message Digest for data integrity SHA or else md5 e Data Compression method for message exchange PKZip or else gzip f a Random number to compute the secret key
Client Hello SSL Client SSL Server Port 443 1. The Client Hello message is composed of a. SSL Version (highest) that is understood by the client. TLSv1 else SSLv3 b. Key Exchange to identify the method of exchanging keys. RSA if not then D-H. c. Data Encryption to identify the encryption methods available to the Client. TripleDes or else DES d. Message Digest for data integrity. SHA or else MD5 e. Data Compression method for message exchange PKZip or else gzip f. A Random number to compute the secret key https://www. any.com 一、建立安全协商