1、计算机网络-开篇

前言

体能状态先于精神状态,习惯先于决心,聚焦先于喜好

最终目的是了解 HTTPS

从新系统学习 计算机网络 的最终目的是较为彻底的理解 https

在这里插入图片描述

互联网标准化:IETF 和 RFC

IETF(The Internet Engineering Task Force) 国际互联网工程任务组 https://www.ietf.org/
RFC(Request for Comments) 是“请求评论”,一部分 RFC 最终会成为 互联网正式协议标准 RFC +编号

关于 HTTPS 的 RFC 2818

官方连接为:http://www.rfc-editor.org/info/rfc2818
从文档的摘要描述中我们可以得知 :HTTPS 即使用 TLS 对 HTTP 在因特网对连接进行保护.
当前对实践是通过 SSL(TLS 是 SSL 的继任者,SSL 是 TLS 的前身) 传输 HTTP.
依靠一个不同的服务端口(HTTPS 的端口号是443)来区分非安全传输和安全传输.
本文档描述的是使用 TLS 的实践.
另一个相关的文档描述了如何使用和HTTP一样的普通端口来使用 HTTP/TLS —— RFC 2817

TLS 和 SSL

百度百科如下

  • 安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性。
  • 该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)
  • 其前身是 安全套接层(Secure Sockets Layer,缩写作SSL)
TLS 的RFC2246

TLS 的 RFC 2246
我的学习笔记 :计算机网络-TLS 协议

HTTP 的RFC2616

HTTP 的 RFC 2616

更多 RFC 文档

https://www.rfc-editor.org/rfc-index.html

HTTPS 的交互流程

先参考 TLS 规范 https://blog.csdn.net/bestcxx/article/details/90723283
实际的HTTPS 要简化一些

  1. 客户端向服务端发送 Client hello
  2. 服务端向客户端发送 Server hello
  3. 服务端向客户端发送 证书
  4. 服务端向客户端发送 Server hello done
  5. 客户端使用服务端证书中公钥 使用 RSA 非对称加密算法加密 premaster secret key
  6. 客户端和服务端分别计算对称加密端秘钥,该秘钥用于后期通信阶段数据端加解密:算法为
    master_secret = PRF(pre_master_secret, “master secret”,ClientHello.random + ServerHello.random)

至此握手阶段对称加密秘药就完毕了,后面开始验证各自计算是否正确

  1. 客户端发送 Change cipher spec ,表示客户端信息将开始使用将数据加密、拆分、压缩传输
  2. 客户端第一条加密、拆分、传输数据 Finished
  3. 服务端发送 Change cipher spec ,表示服务端信息将开始使用将数据加密、拆分、压缩传输
  4. 服务端第一条加密、拆分、传输数据 Finished

在这里插入图片描述

参考资料

《计算机网络》谢希仁 第5版
互联网资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值