对称加密

快速高效,但是无法实现密钥安全传输

非对称密钥

一定程度上保证密钥传输安全

数字证书

数字证书中包括公钥、证书所有者、颁发机构、有效期

HTTPS 的工作模式


(1)客户端会发送 Client Hello 消息到服务器,以明文传输 TLS 版本信息、加密套件候选列表、压缩算法候选列表等信息。另外,还会有一个在协商对称密钥时使用随机数。
(2)服务器返回 Server Hello 消息, 告诉客户端,服务器选择使用的协议版本、加密套件、压缩算法等,还有一个随机数,用于后续的密钥协商。
(3)服务器会给客户端端的证书,客户端通过自己信任的CA仓库中,拿CA证书的密钥解密验证证书的可信度;
(4)客户端计算产生随机数字 Pre-master,发送 Client Key Exchange,用证书中的公钥加密,再发送给服务器,服务器可以通过私钥解密出来。到目前为止,无论是客户端还是服务器,都有了三个随机数,分别是:自己的、对端的,以及刚生成的 Pre-Master 随机数。通过这三个随机数,可以在客户端和服务器产生相同的对称密钥。
(5)有了对称密钥,客户端发送Change Cipher Spec,采用协商的通信密钥和加密算法进行加密通信了。然后发送 Encrypted Handshake Message,将已经商定好的参数等,采用协商密钥进行加密,发送给服务器用于数据与握手验证。
(6)同样,服务器也发送 Change Cipher Spec,同意采用协商的通信密钥和加密算法进行加密通信了,并且也发送 Encrypted Handshake Message 的消息试试。当双方握手结束之后,就可以通过对称密钥进行加密传输了。

重放与篡改

有了加密和解密,黑客截获了包也打不开了,但是它可以发送 N 次。这个往往通过 Timestamp 和 Nonce 随机数联合起来,然后做一个不可逆的签名来保证。Nonce 随机数保证唯一,或者 Timestamp 和 Nonce 合起来保证唯一,同样的,请求只接受一次,于是服务器多次受到相同的 Timestamp 和 Nonce,则视为无效即可。

趣谈网络协议——HTTPS协议相关推荐

  1. 华为18级工程师三年心血终成趣谈网络协议文档(附大牛讲解)

    华为18级工程师三年心血终成趣谈网络协议文档(附大牛讲解) 程序员高级码农II 2020-09-25 07:23:00 前言 虽然在大学的时候大家都学过网络协议 ,但是肯定感觉网络协议的知识点非常多 ...

  2. 面试华为必备:华为18级大牛呕心沥血三年整理的 趣谈网络协议

    前言 华为是一个热门的互联网大厂,华为每年都要进很多新人,对于新人来说,那些高大上的技术是用不到的,反倒是非常需要这些基础的文档,有这些新手进步会快很多,搞清楚TCP IP协议栈,其他的学起来也就容易 ...

  3. [趣谈网络协议学习] 03 DHCP与PXE:IP是怎么来的, 又是怎么没的?

    如何配置 IP 地址? 在linux中可以使用ifconfig, 也可以使用ip addr. 设置好了以后, 用这两个命令, 将网卡 up 一·下, 就可以开始工作了. 使用 net-tools: s ...

  4. 趣谈网络协议1-为什么学习网络协议

    来自极客时间<趣谈网络协议> 学习过程遇见问题:一看觉得懂,一问就打鼓,一用就糊涂. 1.为什么要学习网络协议 一般编译过程: 词法分析: 词法分析是编译的第一阶段.词法分析器的主要任务是 ...

  5. [趣谈网络协议学习] 08 世界这么大,我想出网关:欧洲十国游与玄奘西行

    MAC头与IP头 MAC头 目标 MAC 地址 源 MAC 地址 协议类型:说明里面是 IP 协议 IP头 详情可参见 IP数据报格式详解 版本号:占用4位二进制数,表示该IP数据报使用的IP协议版本 ...

  6. 华为19级工程师三年心血终成趣谈网络协议文档(附清华大牛视频讲解和课件)

    前言 虽然在大学的时候大家都学过网络协议 ,但是肯定感觉网络协议的知识点非常多 ,非常复杂.学的时候就浑浑噩噩,真正到了实践中更是糊里糊涂,一旦工作中遇到了网络问题,除了会简单地 ping 几下 ,基 ...

  7. 华为18级工程师三年心血终成趣谈网络协议文档(附讲解)

    前言 虽然在大学的时候大家都学过网络协议 ,但是肯定感觉网络协议的知识点非常多 ,非常复杂.学的时候就浑浑噩噩,真正到了实践中更是糊里糊涂,一旦工作中遇到了网络问题,除了会简单地 ping 几下 ,基 ...

  8. 趣谈网络协议笔记-二(第十五讲)我与刘超有不同看法

    趣谈网络协议笔记-二(第十五讲) HTTPS协议:点外卖的过程原来这么复杂 前言 好饿啊= =,最近感觉自己真的是胖的不行了,所以开始了适当的节食操作. 我似乎很不擅长隐藏自己的想法.我似乎很不习惯于 ...

  9. 趣谈网络协议 - 第16讲 | 流媒体协议:如何在直播里看到美女帅哥?

    可以看到RTMP也是基于TCP的,本质还是通信协议.所以弄音视频流媒体也是离不开这个. 转载自: https://time.geekbang.org/column/intro/100007101 ht ...

  10. 《趣谈网络协议》00~04笔记

    文章目录 关于我的仓库 前言 00讲想成为技术牛人?先搞定网络协议! 01讲为什么要学习网络协议? 引入:什么是协议? 协议三要素 协议例子 [准备掉头发吧!]以一个在电商网站上下单的过程初识有哪些常 ...

最新文章

  1. xilinx LVDS使用注意事项
  2. 扩展JavaScript的时候,千万要保留其原来的所有功能
  3. 35岁前十件事该做好
  4. 一道暴力枚举题Win32版本示例
  5. 数据与程序分离——程序中那些表的事儿
  6. 13.跨进程读写内存
  7. Mac OSX中memcached安装测试
  8. 基于Kubernetes的持续部署方案
  9. xshell进入桌面_Xshell怎么远程桌面连接Linux系统
  10. 机器学习笔记六之神经网络的学习
  11. 11,EasyNetQ-调度事件与定时发布
  12. linux ssh和sftp区别,Linux SSH和SFTP配置
  13. 修改CentOS系统默认编码为中文utf8(也可修改成其他的)
  14. std::string.assign()的用法-爱情滕-搜狐博客
  15. java 面试 概率论_仿概率论系列(一) 开篇引导
  16. 全站仪 经纬仪 水准仪 操作演示视频教程 建筑工程测量放线7日通
  17. 网络相关知识(重点讲解KB和Kbps,让你理清这两者关系)
  18. ISTQB TM考点总结
  19. python容器类型——字典{dict}
  20. 利用canvas实现田字格里写字,并适配移动端

热门文章

  1. php过滤空格和回车,php如何去掉空格换行
  2. pymysql封装总结
  3. ftp等远程登录工具的星号密码查看方法
  4. Java实现登录验证码功能
  5. 简易计算器--带小数点--单片机课程设计
  6. C语言入门经典(第四版).pdf
  7. 基于单片机智能交通灯控制系统设计外文文献_1000多套机械专业毕业设计免费分享(论文+DWG图纸+外文翻译+文献综述+开题报告+答辩) 友图网...
  8. python训练聊天机器人词库_Python实现聊天机器人的示例代码
  9. Listary 6双击Ctrl失效
  10. P2S、P2P、P2SP之对比