HTTPS

为什么需要HTTPS??

  • 窃听风险:第三方获知通信内容
  • 篡改风险:第三方可以修改通信内容
  • 冒充风险:第三方可以冒充他人身份参与通信

SSL/TLS协议作用

  • 所有信息加密传播
  • 校验机制,一旦篡改,通信双方会立刻发现
  • 配备身份证书,防止身份冒充

如何保证公钥不被篡改?

公钥放在数字证书中,证书可信,公钥可信

公钥加密计算量太大,如何减少耗用的时间?

每一次对话,客户端和服务端都生成一个对话密钥,用它来加密信息。对话密钥是对称加密,用它来加密信息。由于“对话密钥”是对称加密,所以运算速度非常快,而服务器公钥只用于加密“对话密钥”本身,减少了加密运算的消耗时间。

握手详细过程

(1)客户端向服务器端索要并验证公钥
(2)双方协商生成“对话密钥”
(3)双方采用“对话密钥”进行加密通信
前两步为握手

握手涉及四次通信,“握手阶段”的所有通信都是明文的
1.客户端(ClientHello)

(1)支持的协议版本,比如TLS1.0
(2)客户端生成的随机数
(3)支持的加密方法
(4)支持的压缩方法

2.服务器回应(ServerHello)

(1)确认使用协议版本
(2)服务器生成的随机数
(3)确认使用的加密方法
(4)服务器证书

3.客户端回应

(1)一个是使用服务器证书公钥加密的随机数(pre-master-key)
(2)编码改变通知
(3)客户端握手结束通知
客户端会根据三个随机数和商量好加密方法生成对称会话密钥

4.服务器的最后回应

(1)编码改变通知
(2)服务器握手结束通知
服务端会根据三个随机数和商量好加密方法生成对称会话密钥

至此,整个握手阶段全部结束。接下来,客户端与服务器进入加密通信,就完全是使用普通的HTTP协议,只不过用"会话密钥"加密内容。

重点总结

HTTPS中非对称加密加密的是客户端生成的随机数用来搭配其余两个随机数生成后续http协议使用对称会话密钥而不是直接加密通信内容,加密通信内容靠的是对称会话密钥

总结自 阮一峰博客

HTTPS阮一峰博客总结相关推荐

  1. 借鉴--阮一峰博客之Jquery设计思想

    jquery常用方法--阮一峰博客借鉴 由于自身以前一直只是止步于看别人的博客,这是我的第一篇博客(感觉好高大上),这次博客我是借鉴于阮一峰网络日志关于Jquery设计思想的部分. 首先关于此篇博客我 ...

  2. React 入门实例 参考阮一峰博客

    React 入门实例 参考阮一峰博客 http://www.ruanyifeng.com/blog/2015/03/react.html React 可以在浏览器运行,也可以在服务器运行.服务器的用法 ...

  3. xargs命令学习,转载于阮一峰博客

    一.标准输入与管道命令 Unix 命令都带有参数,有些命令可以接受"标准输入"(stdin)作为参数. $ cat /etc/passwd | grep root 上面的代码使用了 ...

  4. 前端知乎:关于阮一峰博客《学习Javascript闭包》章节中最后两个思考题

    阮一峰博客:<学习Javascript闭包>章节中最后有个思考题: 如果你能理解下面两段代码的运行结果,应该就算理解闭包的运行机制了. 代码片段一 var name = "The ...

  5. Javascript 面向对象编程(一):封装 ——转自阮一峰博客

    Javascript 面向对象编程(一):封装 作者: 阮一峰 日期: 2010年5月17日 学习Javascript,最难的地方是什么? 我觉得,Object(对象)最难.因为Javascript的 ...

  6. 阮一峰博客里面css3的display:flex的布局

    转载于:https://www.cnblogs.com/shixingwen/p/5966792.html

  7. websocket阮一峰博客地址教学

    http://www.ruanyifeng.com/blog/2017/05/websocket.html WebSocket 教程

  8. 【阮一峰博客学习记录1】追踪用户点击

    使用普通异步的方式发送用户点击日志会不成功,使用同步的方式发送会导致网页延迟.所以有了这个API--navigator.sendBeacon() 作用与优势 就算是关闭浏览器的操作,都可以腾出时间进行 ...

  9. css实现阮一峰博客的进度条

    原理:利用css渐变 代码参考: <!DOCTYPE html> <html lang="en"><head><meta charset= ...

最新文章

  1. MySQL SQL模式(Mode)
  2. 从农场女孩到首位图灵奖女性获得者,回顾法兰西斯·艾伦的辉煌一生
  3. rsyslog的学习
  4. android lcd调试 高通平台lcd调试深入分析总结(mipi和rgb接口)
  5. SpringMvc 集成 shiro 实现权限角色管理-maven
  6. 为技术匠人打call!用匠人精神,打造技术文化
  7. 四元素的真面目..........简单粗暴
  8. Python3日期时间的操作
  9. Linux编译代码卡死,Linux下970Pro编译卡死的问题
  10. SketchUp Pro2019注册机|草图大师SketchUp Pro 2019注册破解补丁下载(附SketchUp Pro 2019许可证)
  11. linux 打印文件目录结构,linux基本文件目录的结构及管理
  12. 物联网学习thingworx入门——界面mushup使用与绑定数据
  13. 【云原生系列】云原生下的网络安全如何防御?
  14. vue+Element表单验证+数字英文密码和手机号验证(详细)
  15. fatal: Incorrect username or password ( access token ) 鉴权失败
  16. vscode如何添加本地python解释器、解析器 Interpreter?(Python: Select Interpreter)
  17. UE4学习笔记#三、蓝图混合空间
  18. PEAR modules 环境检测安装软件始终 NOK
  19. SRPG游戏开发(三十)第七章 寻路与地图对象 - 八 优化地图(Optimize MapGraph)
  20. 用Javascript实现随机验证码

热门文章

  1. python下载文件传到服务器_windows上python上传下载文件到linux服务器指定路径【转】...
  2. 好声方可入人心,数美科技智能音频审核方案为音频内容消费保驾护航
  3. 陈松松:视频营销卖好酿酒设备之选择酿酒设备6大参考标准
  4. 审稿速度快的sci计算机期刊,哪些审稿快的SCI期刊受投稿者青睐
  5. java计算机毕业设计高校体育器材及场地管理源码+mysql数据库+系统+lw文档+部署
  6. 搬家了:http://shallwe2000.cc
  7. 第三天:js中的事件提高篇(事件流,事件对象,事件委托深层次理解)
  8. python爬取+使用网易卡搭作品数量api
  9. 让Photoshop支持ico格式输出
  10. 计算密集型IO密集型