没有合适的资源?快使用搜索试试~ 我知道了~
9-2019053448-张强-HTTPS协议分析1
需积分: 0 0 下载量 96 浏览量
2022-08-08
22:25:37
上传
评论
收藏 862KB DOCX 举报
温馨提示
试读
11页
2、 认证阶段 3、 密钥协商阶段 4、 握手终止
资源详情
资源评论
资源推荐
暨南大学本科实验报告专用纸
课程名称 网络安全实验 成绩评定
实验项目名称 HTTPS 协议分析 指导教师 潘冰
实验项目编号 9 实验项目类型 验证型 实验地点
学生姓名 张强 学号 2019053448
学院 智能科学与工程学院/人工智能产业 系 专业 信息安全
实验时间 2021 年 5 月 1 日 午~ 5 月 1 日
(一)实验目的
理解 SSL 协议的基本概念和工作原理
理解应用层协议 HTTPS 安全传输过程。
(二)实验内容和要求
查看客户端浏览器预先安装的可信任机构为相关网站办法的证书
浏览器通过 HTPPS 访问 Web 服务器。
用 Wireshark 深入分析 SSL 安全通道建立和数据传输的过程(重点)。
(三)主要仪器设备
仪器:计算机
实验环境: Windows 10
(四)实验原理
SSL 协议栈位置介于 TCP 和应用层之间,分为 SSL 记录协议层和 SSL 握手协议层。其
中 SSL 握手协议层又分为 SSL 握手协议、SSL 密钥更改协议和 SSL 警告协议。SSL 握手协
议作用是在通信双方之间协商出密钥,SSL 记录层的作用是定义如何对上层的协议进行封装。
SSL 记录协议将数据块进行拆分压缩,计算消息验证码,加密,封装记录头然后进行传输。
SSL 握手:
1、 初始化阶段。客户端创建随机数,发送 ClientHello 将随机数连同自己支持的协议版本、
加密算法和压缩算法发送给服务器。服务器回复 ServerHello 将自己生成的随机数连同选择
的协议版本、加密算法和压缩算法给客户端。
2、 认证阶段。服务器发送 ServerHello 的同时可能将包含自己公钥的证书发送给客户端
(Certificate),并请求客户端的证书(Certificate Request)。
3、 密钥协商阶段。客户端验证证书,如果收到 Certificate Request 则发送包含自己公钥的
证书,同时对此前所有握手消息进行散列运算,并使用加密算法进行加密发送给服务器。同
时,创建随机数 pre-master-secret 并使用服务器公钥进行加密发送。服务器收到这个
ClientKeyExchange 之后解密得到 pre-master-secret。服务器和客户端利用 1 阶段的随机数,
能够计算得出 master-secret。
4、 握手终止。服务器和客户端分别通过 ChangeCipherSpec 消息告知伺候使用 master-secret
对连接进行加密和解密,并向对方发送终止消息(Finished)。
HTTPS(Hypertext TransferProtocol over Secure Socket Layer,基于 SSL 的 HTTP 协议),端
口 443,需要向 CA 申请证书,通过 SSL 握手建立安全通道,利用协商密钥对数据进行对称
加密通信。
HTTP 是超文本传输协议 (Hyper Text Transfer Protocol)的缩写,用于 WWW 服务。
(1)HTTP 的工作原理
HTTP 是一个面向事务的客户服务器协议。尽管 HTTP 使用 TCP 作为底层传输协议,但
HTTP 协议是无状态的。也就是说,每个事务都是独立地进行处理。当一个事务开始时,就
在万维网客户和服务器之间建立一个 TCP 连接,而当事务结束时就释放这个连接。此外,
客户可以使用多个端口和和服务器 (80 端口)之间建立多个连接。其工作过程包括以下几
个阶段。
① 服务器监听 TCP 端口 80,以便发现是否有浏览器 (客户进程)向它发出连接请求;
② 一旦监听到连接请求,立即建立连接。
③ 浏览器向服务器发出浏览某个页面的请求,服务器接着返回所请求的页面作为响应。
④ 释放 TCP 连接。
在浏览器和服务器之间的请求和响应的交互,必须遵循 HTTP 规定的格式和规则。
当用户在浏览器的地址栏输入要访问的 HTTP 服务器地址时,浏览器和被访问 HTTP 服务
器的工作过程如下:
① 浏览器分析待访问页面的 URL 并向本地 DNS 服务器请求 IP 地解析;
② DNS 服务器解析出该 HTTP 服务器的 IP 地址并将 IP 地址返回给浏览器;
③ 浏览器与 HTTP 服务器建立 TCP 连接,若连接成功,则进入下一步;
④ 浏览器向 HTTP 服务器发出请求报文 (含 GET 信息),请求访问服务器的指定页面;
⑤ 服务器作出响应,将浏览器要访问的页面发送给浏览器,在页面传输过程中,浏览器会
打开多个端口,与服务器建立多个连接;
⑥ 释放 TCP 连接;
⑦ 浏览器收到页面并显示给用户。
(2)HTTP 报文格式
HTTP 有两类报文:从客户到服务器的请求报文和从服务器到客户的响应报文。下图显示了
两种报文的结构。
在图 1 中,每个字段之间有空格分隔,每行的行尾有回车换行符。各字段的意义如下:
① 请求行由三个字段组成:
* 方法字段,最常用的方法为 “GET”,表示请求读取一个万维网的页面。常用的方法还有
“HEAD(指读取页面的首部)”和“POST(请求接受所附加的信息);
* URL 字段为主机上的文件名,这时因为在建立 TCP 连接时已经有了主机名;
* 版本字段说明所使用的 HTTP 协议的版本,一般为 “HTTP/1.1”。
② 状态行也有三个字段:
* 第一个字段等同请求行的第三字段;
* 第二个字段一般为 “200”,表示一切正常,状态码共有 41 种,常用的有:301(网站已
转移),400(服务器无法理解请求报文),404(服务器没有锁请求的对象)等;
* 第三个字段时解释状态码的短语。
③ 根据具体情况,首部行的行数是可变的。请求首部有 Accept 字段,其值表示浏览器可以
接受何种类型的媒体;Accept-language,其值表示浏览器使用的语言;User-agent 表明可用
的浏览器类型。响应首部中有 Date、Server、Content-Type、Content-Length 等字段。在请
求首部和响应首部中都有 Connection 字段,其值为 Keep-Alive 或 Close,表示服务器在传
送完所请求的对象后是保持连接或关闭连接。
剩余10页未读,继续阅读
药罐子也有未来
- 粉丝: 17
- 资源: 300
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0