内容目录

  • Http缺点
  • HTTPS简介
  • 证书是怎么来的?
  • 客户端获取证书如何解析?

Http缺点

  • 直接明文传输,容易被窃听
  • 不校验身份,容易被伪装
  • 内容可能不完整,容易被篡改

HTTPS简介

HTTPS协议= HTTP协议+SSL/TSL协议
在https传输过程中,需要用ssl/tls对数据加密和解密,可以看出,https只是在 http通信接口部分使用了 SSL(Secure Socket Layer)和TLS(Transport Layer Security)协议来实现。
请求默认443端口。首先了解下什么是对称加密和非对称解密。

所谓对称,就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。对称加密算法的缺点是在数据传送前,发送方和接收方必须商定好秘钥,然后使双方都能保存好秘钥。对称加密

对称加密算法在加密和解密时使用的是同一个秘钥;而非对称加密算法需要两个密钥来进行加密和解密,这两个秘钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)。非对称加密

HTTPS在传输过程中会涉及到三个密钥:

  1. 服务端的公钥和私钥,来进行非对称加密
  2. 客户端生成随机密钥,用来进行对称加密
A B 请求证书 数字证书=公钥+数字签名 发送加密后的对称密钥,即随机秘钥 通过对称密钥密文通信 A B

证书是怎么来的?

我们可以看到,客户端希望拿到服务端的公钥,来给自己的私钥加密,并传输给服务端,那么首先需要拿到网站的证书,证书是由网站的管理员需要向CA机构进行申请,将自己的网站(服务器)的公钥提交给CA机构。CA机构则会使用我们提交的公钥,再加上一系列其他的信息,如网站域名、有效时长等,来制作证书。那么证书有了之后,怎么安全到达客户端的呢?CA证书也是通过非对称加密传输的,即CA机构通过机构的私钥加密后,在客户端收到证书后,再通过机构的公钥进行解密数据,为了最终拿到我们服务器的公钥。

客户端获取证书如何解析?

这部分工作由客户端的TLS来完成,首先是验证证书是否有效,通过第三方权威机构的公钥,对数字签名进行解密,得到真正的签名,根据签名规则对网站的信息进行签名生成,之后签名对比,如果成功,则说明拿到的服务器的公钥是正确的。之后客户端生成随机秘钥,使用服务器的公钥对客户端生成的秘钥加密,加密后发送给服务端,服务端通过私钥解密,拿到客户端发来的对称密钥,加密密文进行传输。那么,如果CA机构的证书被劫持篡改,客户端不能收到正确的证书,是不是会很危险? 一方面很多权威CA机构基本可以内置到浏览器中,直接在客户端可以查询遍历,另一方面,即便证书在传输过程中,被篡改成钓鱼网站,但是客户端再收到证书的校验过程,不仅仅是校验公钥,还有其他辅助信息,比喻域名等等,这样被篡改的证书是不能通过校验的。

  总之,Https就是使用TLS/SSL协议进行加密传输,让客户端拿到服务器的公钥(获得证书是通过第三方),然后客户端随机生成一个对称的加密的秘钥,即客户端的私钥,传输给服务器,服务端通过私钥解密,获得客户端传来的私钥,后续通讯通过对称加密解密,完成整个HTTPS流程。

参考
https://www.wosign.com/news/httpsjiami_20180817.htm

关于Https的加密过程理解相关推荐

  1. 某面试官吐槽:面试某大龄程序员,问HTTPS的加密过程,对方却答不出来!网友:这个问题毫无意义!...

    大龄程序员面试时会遭遇什么窘境? 一个面试官发帖吐槽:刚才面了一个毕业15年的开发,自己并没有要坑大龄程序员的意思,只是问了一个https的加密过程,结果那个大龄程序员支支吾吾没答出关键,真怕自己以后 ...

  2. HTTPS 的加密过程

    HTTPS 的加密过程 引言 理解加密解密 SSL 的握手过程 场景一 场景二 场景三 中间人攻击 场景四 总结 引言 HTTPS:Hyper Text Transfer Protocol over ...

  3. HTTPS的加密过程

    HTTPS HTTPS即加密的HTTP,HTTPS并不是一个新协议,而是HTTP+SSL(TLS).原本HTTP先和TCP(假定传输层是TCP协议)直接通信,而加了SSL后,就变成HTTP先和SSL通 ...

  4. https证书加密过程介绍

    前言 思考 首先对于服务器数据的安全,我们可以考虑到,三种情况, 第一种完全不让进入服务器,很直接,也很不合实际,手动狗头 第二种让进入服务器,但是不让拿走数据,想法很简单,操作很复杂 第三种拿到数据 ...

  5. 【web】HTTP(s)协议详解(重点:HTTPS 的加密过程浏览器中输入网址后,发生了什么?)

    [大家好,我是爱干饭的猿,本文介绍应用层HTTP协议.HTTPS协议.当你在浏览器中输入网址后,到底发生了什么事情?HTTPS 如何进行的加密?对称加密.非对称加密.CA证书又是什么? 后续会继续分享 ...

  6. https通信加密过程

    http://www.2cto.com/Article/201407/315433.html 网站如何通过加密和用户安全通信 SSL (Secure Sockets Layer) 是用来保障你的浏览器 ...

  7. HTTPS加密过程和TLS证书验证

    HTTPS加密过程和TLS证书验证 HTTPS 是在 HTTP 和 TCP 之间建立了一个安全层,HTTP 与 TCP 通信的时候,必须先进过一个安全层,对数据包进行加密,然后将加密后的数据包传送给 ...

  8. HTTPS 加密过程详解

    HTTPS 加密过程详解 HTTPS 中的概念 对比 HTTP 与 HTTPS 网络分层结构 对称加密 非对称加密 HTTPS 中的概念 明文:可以直接看到原始数据的文本: 密文:看不见原始数据的文本 ...

  9. (非)对称加密算法在https中的应用(加密过程以及CA颁发、验证)

    文章目录 一.(非)对称加密 对称加密 非对称加密 二.http与https 1. HTTP 1.1 HTTP与TCP 1.2 短/长连接(HTTP如何使用TCP) 2. HTTPS = HTTP+S ...

最新文章

  1. 传图识字有次数限制吗_5岁娃识字3000?别羡慕!过早逼娃认字,后果很严重
  2. 用Flutter + Dart快速构建一款绝美移动App
  3. 系统二级运维之业务单据错误处理
  4. Windows10忘记锁屏密码,如何破解
  5. Hive更换TEZ引擎
  6. java- WatchService监控
  7. 抓住那只喵(HTML5-神经猫)
  8. 如何在JavaScript中大写字符串的首字母
  9. 基于JAVA+SpringMVC+Mybatis+MYSQL的医院住院管理系统
  10. 【NOIP2005】【Luogu1051】谁拿了最多奖学金
  11. 7 年零故障支撑双 11,消息中间件 RocketMQ 如何做到?
  12. java中求1 2 =3,1. java dom编程艺术---杨涛、王建桥 -第3章 DOM(自总)
  13. 《数字信号处理》系统函数的频率响应、零极点和稳定性的实现
  14. linux清除回收站权限错误,在Ubuntu 14.04 中修复无法清空回收站的问题
  15. 贵州大学oj C++ 第五次 12.房产税费计算
  16. Stata结果输出:Excel结果表变身LaTeX表格
  17. 如何下载台湾的硕博论文
  18. Cadence virtuos617安装教程
  19. 虚拟机linux防火墙配置,Linux防火墙配置
  20. docx格式转doc格式时公式问题——MathType的使用

热门文章

  1. 家用投影仪简单对比,哪一款才是你的心头好?
  2. 微信小程序 下载视频 图片
  3. linux重命名文件或文件夹的mv命令
  4. SDP(软件定义边界)让SDN更安全,你的对面可不能是一条狗!
  5. 幼儿园 计算机课教案,幼儿园教案集全套教案系统归类整理教程课件计算机环境与幼儿兴趣培养.doc...
  6. 使用vue-element-admin管理后台 更改浏览器图标
  7. 多线程——零散知识补充
  8. HashMap和Hashtable的详细区别
  9. 电脑小写字母怎么切换_电脑键盘上的英文,你都懂吗?
  10. 指针数组,数组指针,存放数组指针的数组,指向存放数组指针数组的指针,函数指针,函数指针数组,指向函数指针数组的指针