当前位置: 首页 > news >正文

HTTPS如何保证数据传输过程中的安全性?

就是在三次握手的基础上加了一个ssl/tls安全检验

这是个对称+非对称加密结合的混合加密算法

首先考虑一个最简单的加密算法 对称加密

即客户端和服务端都用同一个秘钥对数据进行加密,这个秘钥由服务端保管,由服务端发送给客户端,或者在握手过程中生成,然后客户端和服务端的双工通信都用这个秘钥进行加密和解密,使得http不再使用明文传输

但是问题的关键在于 怎么告诉客户端这个秘钥

明文传输? 那非常容易被中间人获取到,并且窃取我们的数据或者发送一些不安全的数据

所以单单是对称加密肯定是不行的

所以引入了非对称加密

在非对称加密的算法中,一共有一公一私两队秘钥,假如有数据A 则可以用公钥加密为数据B

若是要解密必须要用私钥,若是没有私钥,无法解密出数据!

服务端给客户端的只有公钥,私钥保存在自己这边,客户端发送数据时用公钥加密,到客户端这边再用私钥解密,这样就安全许多

但是仅仅这样的还可能被中间人攻击

中间人拦截公钥,把公钥替换成自己的,这样客户端用这个公钥加密 很容易就被中间人破译出来 这样的话就裸奔了,

而且我疑惑的是,这样确实客户端可以向服务器发数据了 但是服务器怎么想客户端发数据呢?客户端又没有私钥,也许客户端也可以搞一个自己的私钥+公钥

总的来说无论如何都要把公钥明文传输,这样就给了中间人可乘之机,所以非对称加密也并非完全安全

终极方案:对称加密+非对称加密

核心是使用非对称加密的方式传输"公钥”, 客户端生成一个随机数,用服务端传过来的公钥加密后传给服务端,服务端收到后用自己的私钥解密,这样两边就都获得了这个最终的对称加密的公钥,而中间人即使拿到了加密后的数据,没有私钥也无法解密

那还是有一个问题,如何确定这个公钥确确实实是服务端发过来的,而非中间人

所以数字证书就派上用场了,服务器并非直接发公钥,而是发一个数字证书,这个证书是经过权威机构(CA)认证的,而且客户端也可以检验这个证书是真是假,是真之后才进行通信

最后还有一个问题,就是数据篡改和完整性问题

这是通过数字签名+摘要算法实现的,简单说就是每次加密消息都有一个消息认证码,是通过秘钥+消息内容计算出来的哈希值,服务端收到后在计算一次,不一致则丢弃


文章转载自:

http://t8kYf5tx.srgwr.cn
http://eb3va12r.srgwr.cn
http://LgB05cQ5.srgwr.cn
http://ShdDYxb2.srgwr.cn
http://vWSvuaBC.srgwr.cn
http://2pHhltEY.srgwr.cn
http://fOIEMXi2.srgwr.cn
http://m1mRMK2C.srgwr.cn
http://8zq40Lze.srgwr.cn
http://ZlZsJrlV.srgwr.cn
http://8ebUjzRb.srgwr.cn
http://p1LEjtPR.srgwr.cn
http://DeKWL3Pk.srgwr.cn
http://4GlzwH7P.srgwr.cn
http://T93piydw.srgwr.cn
http://I5zT58Y6.srgwr.cn
http://7MriugEF.srgwr.cn
http://bgFVrriU.srgwr.cn
http://R7n0gK0m.srgwr.cn
http://tGjP58EQ.srgwr.cn
http://zm3ZtVeQ.srgwr.cn
http://X92l4upT.srgwr.cn
http://ViQJTJZY.srgwr.cn
http://xiZYjxOF.srgwr.cn
http://PFmaLZEO.srgwr.cn
http://FAWoo0zi.srgwr.cn
http://O4LYe0AX.srgwr.cn
http://twRH8Y9Z.srgwr.cn
http://NrXQBbRP.srgwr.cn
http://SdAzuISz.srgwr.cn
http://www.dtcms.com/a/362690.html

相关文章:

  • mapbox高阶,结合threejs(threebox)添加管道,实现管道流动效果
  • 红楼梦 HTML 分析 - 娇杏为何侥幸
  • ES6和CommonJS模块区别
  • Linux系统强大的命令行工具之fuser
  • 江协科技-1-1软件开发与2-1新建工程
  • C语言精选100道编程题(附有图解和源码)
  • 控制系统仿真之PID参数整定的Z-N法(弯曲切线法)(十)
  • K6 html压力测试报告中参数详解以及常见问题解析
  • 算法题打卡力扣第3题:无重复字符的最长子串(mid)
  • 在线拍卖|基于Springboot+vue的在线拍卖管理系统(源码+数据库+文档)
  • F5发布后量子API安全解决方案,以AI驱动全面防护应对量子计算威胁
  • 面阵 vs 线阵相机:怎么选不踩坑?选型公式直接套用
  • HTML第二课:块级元素
  • 【实时Linux实战系列】采用实时Linux构建无人机控制系统
  • Vue基础知识-Vue中v-cloak、v-text、v-html、v-once、v-pre指令详解
  • 【Doris入门】Doris数据表模型:聚合模型(Aggregate Key Model)详解
  • 数论常见公式定理大全
  • C++学习——继承
  • 无线通信网络是互联网边缘的重要组成,同时也是局域联网的主要方式
  • RT-Thread SMP相关问题分析
  • 01-html css
  • 【论文阅读】Jet-Nemotron: 高效语言模型与后神经网络架构搜索
  • 11.《简单的路由重分布基础知识探秘》
  • 解决完美主义的方法是,去追求不完美--辩证法
  • 《Stable Diffusion XL 1.0 实战:AI 绘画从 “能看” 到 “好看” 的升级技巧》
  • Android把源Bitmap中心缩放到固定宽高的尺寸,Kotlin
  • Kaia AMA 全回顾:如何让 Web3 无痕融入2.5 亿用户日常?9 月 7 日中国行揭秘!
  • WPF启动窗体的三种方式
  • 达梦:存储过程实现多个用户之间表的授权
  • 如何在本地环境中搭建 GitLab 服务器