HTTP有哪些风险?是怎么解决的?

一、风险

HTTP是通过明文传输的,存在窃听风险、篡改风险以及冒充风险。

二、如何解决

HTTPS在HTTP的下层加了一个SSL/TLS层,保证了安全,通过混合加密解决窃听风险、数字签名解决篡改风险、数字证书解决冒充风险。

(1)混合加密

① 对称加密:发送方和接收方用一个同样的秘钥进行加密和解密。加密过程较简单,速度较快。

② 非对称加密:使用了公钥和私钥。公钥加密的消息可以用私钥解密,私钥加密的消息可以用公钥解密。加密过程较复杂,速度较慢。

③ 混合加密:++++HTTPS采用的是++++ ++++对称加密++++ ++++和++++ ++++非对称加密++++ ++++结合的混合加密方式++++ 。在通信建立前 采用非对称加密 的方式交换会话秘钥。在通信过程中 全部使用对称加密 的会话秘钥的方式加密明文数据。例如,服务端给客户端发送服务端公钥,客户端发送用服务端公钥 加密后的对称秘钥,服务端可以利用自己的私钥解密得到对称秘钥,后续就可以使用对称密钥来交换消息。

(2)数字签名

发送端计算消息的hash值,使用发送端的私钥 加密,得到消息的签名。发送端将签名和对称秘钥加密后的消息传输到接收端。接收端用对称秘钥解密消息,同样的方式计算出hash值。接收端使用发送端的公钥解密签名,得到另一个值,比较这两个值是否一致。如果是一致,说明消息没有被篡改。

(3)数字证书

假如有个黑客拦截了服务端向客户端发送的公钥,并用黑客的公钥向客户端发送消息,而后客户端发送了用黑客公钥加密的消息,黑客就可以用自己的私钥解密这个信息,从而导致了数据的窃听。

因此服务端向客户端发送公钥的时候,需要使用认证机构的私钥 对服务端的公钥加密得到证书,将证书发送给客户端后,客户端内置了一些可信任的认证机构的公钥,然后使用认证机构的公钥对证书进行解密,若验证通过才可以拿到服务端的公钥。证书的申请需要服务方主动去认证机构注册才能生效,而黑客伪造的证书通常没有被认证机构认证,因此解决了公钥被冒充的问题。

相关推荐
北方的流星11 小时前
华三路由器NAT配置
运维·网络·华三
数据法师12 小时前
开源情报收集工具GhostTrack深度测评:IP、手机号、用户名的合规信息查询方案
网络·网络协议·tcp/ip
丑八怪大丑13 小时前
Java网络编程
linux·服务器·网络
想成为优秀工程师的爸爸13 小时前
第三十篇技术笔记:郭大侠学UDS - 人有生老三千疾,望闻问切良方医
网络·笔记·网络协议·tcp/ip·信息与通信
数智工坊14 小时前
【SAM-DETR论文阅读】:基于语义对齐匹配的DETR极速收敛检测框架
网络·论文阅读·人工智能·深度学习·transformer
时空自由民.15 小时前
蓝牙协议之GAP协议
linux·服务器·网络
灰子学技术16 小时前
Envoy HTTP Connection Manager (HCM) 技术文档
网络·网络协议·http
byoass16 小时前
企业云盘与设计软件深度集成:AutoCAD/Revit/SolidWorks插件开发与API集成实战
服务器·网络·数据库·安全·oracle·云计算
智慧光迅AINOPOL16 小时前
全光网设备厂家选型参考:评估要点与技术标准说明
网络·全光网解决方案·全光网·酒店全光解决方案·泛住宿全光网解决方案
qq_三哥啊16 小时前
【mitmproxy】提取 OpenCode 的 API 接口
网络·代理模式