代码改变世界

网络与系统安全第四次作业

2018-11-19 21:17  20189203梓航  阅读(143)  评论(0编辑  收藏  举报

实验内容:访问使用安全协议HTTPS建立连接的网站,用Wireshark捕获连接建立过程并分析报文序列。

  • 访问网站:www.baidu.com
    用wireshark抓包,已知网站的IP地址为61.135.169.125,过滤规则如下:ip.addr == 61.135.169.125 && ssl。过滤出与之相关的SSL协议,如下图所示:

    上边捕包所看的建立连接的握手过程可用下图2来描述.

    其中主要步骤有Client Hello、Server Hello和client key exchange 、change cipher spec。其中前两步生成了非对称加密的重要参数,创建了非对称密钥,后两个过程创建了对称加密密钥。
    这里是TCP三次握手的包:

    此处不再对三次握手重点分析,三次握手之后就会建立SSL连接。
    下边开始分析SSL连接的建立过程:
  • 第一步:客户端发送 Client Hello数据包。

    如图所示,851号包即为Client Hello数据包。数据包内的主要内容有:
    支持的版本信息:TLS 1.2,随机数,Session ID、客户端支持的加密套件cipher suites列表、扩展字段extensions等。
  • 第二步:服务端返回ServerHello数据包。

    这个数据包中主要包含了服务器选择的版本,产生的随机字符串,使用的加密套件等。
    服务器发送ServerHello的同时可能将包含自己公钥的证书发送给客户端(Certificate),如下图。
  • 第三步:客户端收到server hello之后,发送client key exchange,Change Cipher Spec,Encrypted Handshake Message给服务器端。
  • 第四步:客户端返回ACK以及会话的ticket。

    这一步主要是建立ticket,修改加密方法,之后使用对称密钥加解密通行。
    以上就是建立连接的大致过程。