文档详情

第10章 传输层功能与协议.ppt

发布:2017-06-23约1.34万字共95页下载文档
文本预览下载声明
* SSL握手协议包含四个阶段,第一个阶段建立安全能力;第二个阶段服务器鉴别和密钥交换;第三个阶段客户鉴别(可选的)和密钥交换;第四个阶段完成握手协议。 第*页 1. 建立安全能力 SSL握手协议第一个阶段建立安全能力,如图10-13所示。 第*页 ClientHello 客户发送CilentHello信息 (1)客户端可以支持的SSL最高版本号 (2)一个用于生成主秘密的32字节的随机数(32位时间戳+28字节随机序列)。 (3)一个确定会话的会话ID。 (4)一个客户端可以支持的密码套件列表(CipherSuite)。 (5)一个客户端可以支持的压缩算法列表。 第*页 ServerHello 服务器用ServerHello信息应答客户 (1)一个SSL版本号。取客户端支持的最高版本号和服务端支持的最高版本号中的较低者。 (2)一个用于生成主秘密的32字节的随机数。(客户端一个、服务端一个) (3)会话ID (4)从客户端的密码套件列表中选择的一个密码套件 (5)从客户端的压缩方法的列表中选择的压缩方法 第*页 客户端服务端知道了下列内容 (1)SSL版本 (2)密钥交换、信息验证和加密算法 (3)压缩方法 (4)有关密钥生成的两个随机数。 第*页 2. 服务器鉴别与密钥交换 服务器启动SSL握手第2阶段,是本阶段所有消息的唯一发送方,客户机是所有消息的唯一接收方,如图10-11所示。该阶段分为四个步骤。 (1)证书:服务器将数字证书和到根CA整个链发给客户端,使客户端能用服务器证书中的服务器公钥认证服务器。消息包含一个X.509证书,或者一条证书链。 (2)服务器密钥交换(可选):服务器发送server_key_exchange消息,此项目是可选的,有些情况下可以不需要,只有当服务器的证书没有包含必需的数据的时候才发送此消息。消息包含签名,被签名的内容包括两个随机数以及服务器参数,这里视密钥交换算法而定。 (3)证书请求:服务器发送certificate_request消息,服务端可能会要求客户自身进行验证。非匿名server可以向客户请求一个证书包含证书类型。 (4)服务器握手完成:服务器发送server_hello_done,然后等待应答,意味着第二阶段的结束,第三阶段开始的信号。 第*页 图10-11服务器鉴别与密钥交换 第*页 这个方法中,服务器在它的第一个信息中,发送了RSA加密/解密公钥证书。不过,因为预备主秘密是由客户端在下一个阶段生成并发送的,所以第二个信息是空的。注意,公钥证书会进行从服务器到客户端的验证。当服务器收到预备主秘密时,它使用私钥进行解密。服务端拥有私钥是一个证据,可以证明服务器是一个它在第一个信息发送的公钥证书中要求的实体。 第*页 3. 客户机鉴别与密钥交换 第*页 图10-13 客户机鉴别与密钥交换 第*页 客户收到server_done消息后,它根据需要检查服务器提供的证书,并判断server_hello的参数是否可以接受,如果都没有问题的话,发送一个或多个消息给服务器。客户机启动SSL握手第3阶段,是本阶段所有消息的唯一发送方,服务器是所有消息的唯一接收方。如图10-16所示,该阶段分为三个步骤。 (1)证书(可选):为了对服务器证明自身,客户要发送一个证书信息,这是可选的,在IIS中可以配置强制客户端证书认证。如果服务器请求证书的话,则客户首先发送一个certificate消息,若客户没有证书,则发送一个no_certificate警告 (2)客户机密钥交换(Pre-master-secret):这里客户端将预备主密钥发送给服务端,注意这里会使用服务端的公钥进行加密。 (3)证书验证(可选),对预备秘密和随机数进行签名,证明拥有(1)证书的公钥。客户发送一个certificate_verify消息,其中包含一个签名,对从第一条消息以来的所有握手消息的MAC值()进行签名。 第*页 图10-14加密预备主密钥 第*页 这种情况,除非服务器在阶段二明确请求,否则没有证书信息。客户端密钥交换方法包括阶段二收到的由RSA公钥加密的预备主密钥,如图10-17所示。阶段三之后,客户要有服务器进行验证,客户和服务器都知道预备主密钥。 第*页 4. 完成 客户机启动SSL握手第四阶段,使服务器结束,如图10-15所示。该阶段分为四个步骤,前2个消息来自客户机,后2个消息来自服务器。 第*页 图10-15建立起一个安全的连接 第*页 第四阶段建立起一个安全的连接。客户发送一个change_cipher_spec消息,并且把协商得到的CipherSuite拷贝到当前连接的状态之中。然后,客户用新的算法、密钥参数发送一个finished消息,这条消息可以检查密钥交换和鉴别过程是否已经成功。其中包括一个校
显示全部
相似文档