为什么都跑去用HTTPS了?
  

新手158601 22651人觉得有帮助

{{ttag.title}}
HTTP 协议介绍
HTTP 协议是一种基于文本的传输协议,它位于 OSI 网络模型中的应用层。
HTTP 协议是通过客户端和服务器的请求应答来进行通讯,目前协议由之前的RFC 2616 拆分成立六个单独的协议说明(RFC 7230、RFC 7231、RFC 7232、RFC 7233、RFC 7234、RFC 7235),通讯报文如下:
  • 请求

1.2 HTTP 中间人攻击
HTTP 协议使用起来确实非常的方便,但是它存在一个致命的缺点:不安全。
我们知道 HTTP 协议中的报文都是以明文的方式进行传输,不做任何加密,这样会导致什么问题呢?下面来举个例子:
小明在 JAVA 贴吧发帖,内容为我爱JAVA

被中间人进行攻击,内容修改为我爱PHP

  • 小明被群嘲(手动狗头)

可以看到在 HTTP 传输过程中,中间人能看到并且修改 HTTP 通讯中所有的请求和响应内容,所以使用 HTTP 是非常的不安全的。
1.3 防止中间人攻击
这个时候可能就有人想到了,既然内容是明文那我使用对称加密的方式将报文加密这样中间人不就看不到明文了吗,于是如下改造:
双方约定加密方式
使用 AES 加密报文

这样看似中间人获取不到明文信息了,但其实在通讯过程中还是会以明文的方式暴露加密方式和秘钥,如果第一次通信被拦截到了,那么秘钥就会泄露给中间人,中间人仍然可以解密后续的通信:
那么对于这种情况,我们肯定就会考虑能不能将秘钥进行加密不让中间人看到呢?答案是有的,采用非对称加密,我们可以通过 RSA 算法来实现。
在约定加密方式的时候由服务器生成一对公私钥,服务器将公钥返回给客户端,客户端本地生成一串秘钥(AES_KEY)用于对称加密,并通过服务器发送的公钥进行加密得到(AES_KEY_SECRET),之后返回给服务端,服务端通过私钥将客户端发送的AES_KEY_SECRET进行解密得到AEK_KEY,最后客户端和服务器通过AEK_KEY进行报文的加密通讯,改造如下:
可以看到这种情况下中间人是窃取不到用于AES加密的秘钥,所以对于后续的通讯是肯定无法进行解密了,那么这样做就是绝对安全了吗?

打赏鼓励作者,期待更多好文!

打赏
27人已打赏

新手535819 发表于 2020-12-9 20:50
  
感谢分享
个人信息已完成 发表于 2021-1-12 10:39
  
感谢楼主分享,这个很实用。
圣大天齐赵树良 发表于 2021-1-15 10:08
  
楼主分析的很详细,不错的实战经验,小白用户一看就懂,非常好的技术干货帖,顶一个!
新手456962 发表于 2021-1-15 11:02
  

感谢您的分享~~~~
吃馒头的大豆豆 发表于 2021-3-2 08:35
  

感谢楼主分享,这个很实用。
এ塔铃独语别黄昏এ 发表于 2021-3-22 09:13
  
支持一下。顺便盖楼。。。
JM 发表于 2021-4-3 23:37
  
实用干货,感谢分享。
新手899116 发表于 2021-4-6 11:09
  
感谢楼主分享,楼主非常详细的介绍了
水之蓝色 发表于 2021-4-6 15:17
  
https可以加密,更安全一些把
发表新帖
热门标签
全部标签>
每日一问
技术盲盒
技术笔记
干货满满
技术咨询
功能体验
新版本体验
产品连连看
GIF动图学习
标准化排查
自助服务平台操作指引
运维工具
2023技术争霸赛专题
通用技术
秒懂零信任
技术晨报
信服课堂视频
用户认证
安装部署配置
深信服技术支持平台
安全攻防
SDP百科
设备维护
社区帮助指南
答题自测
每日一记
玩转零信任
畅聊IT
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
上网策略
测试报告
日志审计
问题分析处理
流量管理
云计算知识
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
功能咨询
终端接入
授权
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
每周精选

本版达人

新手68983...

本周分享达人

零和一网络

本周提问达人