实验十二
1.对于前 8个以太网帧,请分别指出每一个帧的来源(客户端和服务器),确定每个帧包含的SSL记录的数量,并且列出包含SSL记录的类型。绘制客户端和服务器含有箭头指向的时序图。
2.每个 SSL记录都以相同的三个字段(可能具有不同的值)开头。 其中一个 字段是“内容类型”,长度为一个字节。 请列出所有三个字段及其长度。
Content Type字段为1字节,Version字段为2字节,Length字段为2字节:
3.展开 ClientHello记录(如果您的跟踪包含多个 ClientHello记录,请展开包 含第一个记录的以太网帧),内容类型的值是多少?
Content Type: Handshake(22)
4.ClientHello记录是否包含随机数(也称为“挑战码”( challenge))? 如果是 这样,十六进制的挑战码值是多少?
包含
5.ClientHello记录是否通知了它所支持密码加密套件(suite)?如果是这样, 请在第一个密码套件, 分别指出非对称密钥加密算法,对称密钥加密算法,哈希算法分别都是什么?(待补充)
6.找到 ServerHello SSL记录。 此记录是否指定了之前的密码套件之一? 选择的密码套件中有哪些算法?
指定了哈希加密算法(SHA哈希函数)
7.此记录是否包含随机数?如果有,它有多长?SSL中客户端和服务器段随机数用来干什么?
包含,有32字节,也就是用64个16进制数来表示。多次随机数生成为未来生成对话密钥提高安全性能。
8.此记录是否包含会话 ID? 会话 ID的目的是什么?
包含(有的可能不会包含,也就是可以有也可以没有)
目的:用一定时间内端口连接快速恢复连接过程。
9.此记录是否包含证书,或者证书是否包含在单独的记录中。 证书是否适合一个单独的以太网帧传输?
10.找到客户端密钥交换记录。 此记录是否包含前主密钥(pre-master secret)? 这个前主密钥用于什么? 前主密钥加密了吗? 如果是这样,为什么? 加密的前主密钥有多长?
1)包含
3)使用EC Diffie-Hellman(ECDH加密算法)进行加密传输,使用的是服务器公钥加密,用以给服务器让服务器用私钥解密并且使用前面两个hello过程的随机数生成本次的会话加密密钥。
4)32个字节
11.编码改变记录目的是什么?在您的跟踪中本记录有多少字节?
告诉服务器已经计算好加密密钥,以后将会用商定的加密方式和密钥加密传输了,在我的跟踪中该记录有6个字节。
12.在加密的握手记录中,什么是加密的? 为什么?
消息校验码是加密的,这个校验码是包含之前所有连接消息的摘要加密格式,只有服务器可以解开,因为在建立连接中,存在可能连接消息被侦听和更改的情况,因此还需要进行信息摘要计算和加密传输,判断是否存在异常,如果异常,将会直接关闭连接。
13.服务器是否还向客户端发送更改编码记录和加密的握手记录? 这些记录与客户发送的记录有何不同?
14.如何加密应用程序数据? 包含应用程序数据的记录是否包含消息认证码 MAC? Wireshark是否区分加密的应用程序数据和消息认证码 MAC?
使用本次对话协商和交换好对称加密密钥应用程序数据,这个数据里同时包括消息本身和消息认证码,所以比消息本身要长,但是加密过,所以无法区分。