JavaEE传送门

JavaEE

HTTP —— HTTP 协议中的细节(超详细!!)

HTTP —— HTTP 响应详解, 构造 HTTP 请求


目录

  • HTTPS
    • "加密"
    • 对称加密
    • 非对称加密
    • 证书
    • 总结

HTTPS

“加密”

  • 明文: 要传递的原始信息

  • 密文: 经过加密后的信息

  • 密钥: 将明文加密的方法 (在加密和解密中起到至关重要的作用)

  • 加密: 使用密钥把铭文变成密文

  • 解密: 使用密钥把密码还原成明文

加密就是把 明文 (要传输的信息)进行一系列变换, 生成 密文 .

解密就是把 密文 再进行一系列变换, 还原成 明文 .

在这个加密和解密的过程中, 往往需要一个或者多个中间的数据, 辅助进行这个过程, 这样的数据称为 密钥 .


对称加密

加密和解密使用同一个密钥. 最简单的对称加密, 就是按位异或: a ^ b ^ b => a.

一个服务器, 要给多个客户端提供服务. 这些客户端, 使用不同的密钥.

典型的做法, 就是每个客户端, 在建立链接之初, 先生成密钥, 然后进行通信的时候, 先把自己的密钥发给服务器.

为了解决上述问题, 就需要引入非对称加密


非对称加密

加密和解密使用不同密钥.

  • 加密一个密钥

  • 解密一个密钥

  • 这两个是成对的, 知道一个, 无法推出另一个

  1. 可以使用密钥 A 来加密, 配对的 密钥B 解密

  2. 也可以使用 密钥B 来加密, 配对的 密钥A 解密

可以让服务器, 生成一对非对称密钥

  • 一个是公开出来的, 任何人都能获取到的 公钥

  • 另一个是私密的, 只有服务器自己知道的 私钥

客户端就可以先从服务器拿到服务器的公钥, 然后使用公钥对自己生成的对称密钥进行加密.

此时由于外界只有公钥, 私钥只是服务器自己所有 (黑客拿不到)

只有服务器可以使用私钥对上述的请求进行解密了.

既然已经引入了非对称加密, 为什么还要对称加密呢?

对称加密开销成本较低. 非对称加密开销成本大.

针对上述情况, 黑客还是有办法进行入侵

中间人攻击

为了解决上述问题, 引入证书


证书

中间人攻击的关键, 就是要能够证明当前这个公钥, 是服务器自己的公钥.

上面介绍的这套 HTTPS 的对称加密/ 非对称加密/ 证书流程 不是 HTTPS 独有的

这套机制属于一个专门的协议 SSL/ TLS

HTTPS = HTTP + SSL (很多加密的场景都会用到这个)


总结

HTTPS 工作过程中涉及到的密钥有三组.

第一组(非对称加密): 用于校验证书是否被篡改. 服务器持有私钥(私钥在注册证书时获得), 客户端持有公钥(操作系统包含了可信任的 CA 认证机构有哪些, 同时持有对应的公钥). 服务器使用这个私钥对证书的签名进行加密. 客户端通过这个公钥解密获取到证书的签名, 从而校验证书内容是否是篡改过.

第二组(非对称加密): 用于协商生成对称加密的密钥. 服务器生成这组 私钥-公钥 对, 然后通过证书把公钥传递给客户端. 然后客户端用这个公钥给生成的对称加密的密钥加密, 传输给服务器, 服务器通过私钥解密获取到对称加密密钥.

第三组(对称加密): 客户端和服务器后续传输的数据都通过这个对称密钥加密解密.

其实一切的关键都是围绕这个对称加密的密钥. 其他的机制都是辅助这个密钥工作的.

  • 第二组非对称加密的密钥是为了让客户端把这个对称密钥传给服务器.

  • 第一组非对称加密的密钥是为了让客户端拿到第二组非对称加密的公钥


HTTPS —— HTTPS的加密方式相关推荐

  1. https 密钥 php,https加密方式是什么

    Https加密 介绍 Http直接通过明文在浏览器和服务器之间传递消息,容易被监听抓取到通信内容. Https采用对称加密和非对称加密结合的方式来进行通信. Https不是应用层的新协议,而是Http ...

  2. 简述https的几种加密方式

    加密方式 常见的加密方式:对称加密和非对称加密. 对称加密算法和非对称加密算法只不过是密码学中的两种加密算法罢了,所谓的算法就是一种可以将信息从一种形式转变为另一种形式的规则. 对称加密 概念:对称密 ...

  3. 五千来多字,就为了聊聊HTTP报文,请求响应头,cookie以及HTTPS加密方式

    靓仔靓女们大家好,我们又见面了,公众号:java小杰要加油,这周来分享一篇关于HTTP协议相关的文章 看完此文可以对 HTTP报文格式.HTTP各种请求头,HTTP响应码. cookie属性以及HTT ...

  4. HTTP和HTTPS的区别以及加密方式

    目录 基本区别 Http协议运行在TCP之上,明文传输,客户端与服务器端都无法验证对方的身份:Https是身披SSL(Secure Socket Layer)外壳的Http,运行于SSL上,SSL运行 ...

  5. 【计算机网络】聊一聊https的加密方式

    一.写在前面 老是听见我的朋友讨论https的加密方式,讨论不一,最后查询资料后,给出我自己的理解 当然了,这需要一定的网络安全方面的知识,如果你还不了解这些基础知识,建议看一下这两篇文章手

  6. HTTPS的加密方式超详细解读

    在了解https的加密方式之前,我们需要先行了解两个特别经典的传统加密方式,以此开始我们今天的学习之旅途. 1.对称加密 1.1.定义 需要对加密和解密使用相同密钥的加密算法.所谓对称,就是采用这种加 ...

  7. 关于owa over https的邮箱加密访问

    OWA是Outlook Web Access的缩写,OWA允许用户通过浏览器以HTTP/HTTPS访问Exchange邮箱,是一种重要的在线访问方式. exchange2003中默认的http访问是h ...

  8. 图解HTTPS非/对称加密,CA证书流程

    目录 1.HTTPS是什么 2."加密"是什么 3.HTTPS工作过程 1.引入对称加密 2.引入非对称加密 3.引入证书 4.完整流程 4.总结 1.HTTPS是什么 HTTPS ...

  9. Https、Wss加密实践

    Websocket是基于Http的一种长连接方案,一些简单的IM产品会基于Websocket实现 但是如果聊天的内容比较敏感,比如在Websocket通道中聊天内容如果涉及到卡密.金钱等信息,那一定要 ...

最新文章

  1. AOP in Asp.net MVC
  2. CLR Via CSharp读书笔记(29) - 混合线程同步构造
  3. Uipath 学习栏目基础教学:8、uipath 屏幕抓取获取文本
  4. java项目中.classpath,.settings,.project,mymetadata文件的作用
  5. SQL:ISNULL
  6. Python之路,day4-Python基础
  7. Puppeteer保存html,PuppeteerSharp读取页面完整HTML(.NetCore)
  8. oracle数据库中最小的逻辑结构,Oracle数据库中基本逻辑结构简介
  9. SVN上传文件注意事项-------------------养成良好的项目文件上传习惯
  10. 初识Hadoop入门介绍
  11. 我的世界java环境安装包_我的世界JAVA版1.7.10下载安装包最新版 v1.7.10
  12. 禁用EnableViewState和启用EnableViewStat时请注意
  13. linux超级用户添加,为linux普通用户添加超级用户权限sudo
  14. 常用积分类型(积分公式)
  15. artwork will be rounded down because......
  16. 腾讯云不重启修改主机名
  17. Mathematics English Vocabulary (Cited)
  18. 账号升级攻略:每天自动升级b站和网易云音乐,自动签到天翼云盘和百度贴吧...
  19. 第三人称计算机获奖感言,求一篇获奖感言,加分到300
  20. php开源 tpshop,TPshop免费开源商城系统

热门文章

  1. 基于STM32蓝牙无线手环脉搏心率计步器体温监测设计
  2. 大数据医疗展开新排位赛,中康科技赴港能否“C”位出道?
  3. 转载 美国SAP高手跳槽记-转自George
  4. IPv6 NDP邻居发现协议 1
  5. vue移动端项目微信公众号授权登录
  6. C语言 文件的打开方式
  7. c语言读取文件与写入文件
  8. 如何轻松的写一个注册网页?
  9. android 轮询框架,Android 轮询总结
  10. Android键盘操作的函数:onKeyDown, onKeyUp, on, onKeyMultiple