【网络原理】HTTPS | 对称加密 | 非对称加密 | 中间人攻击 | 证书 | 公钥 | 私钥

文章目录


HTTPS

  • 在http的基础上引入了一个加密层

1.对称加密,加密和解谜使用同一个密钥

2.非对称加密。有两个密钥(一对)

一个叫公钥,一个叫私钥。用一个钥匙加密,就用另一个进行解谜

3.使用证书,校验服务器的公钥

HTTPS的工作过程
  • 针对HTTP的header和body进行加密
1.对称加密,加密业务数据

​ 这样是"比较安全的",服务器不只和一个客户端通信。必须要保证每个客户端的密钥都不同,才能确保彼此之间不知道对方秘钥。就需要每个客户端在和服务器建立连接的时候,就把秘钥生成出来(涉及到随机数机制,确保密钥都不相同)客户端再把自己的密钥传输给服务器。如果此时被黑客截取到密钥的明文,就无法保障安全。所以需要引入非对称加密的方法

2.非对称加密,加密对称密钥

​ 非对称加密中,有一对秘钥(公钥和私钥)可以使用公钥加密,私钥解密。或者私钥加密,公钥解密

  • 黑客只能拿到公钥和被公钥加密后的对称密钥。被公钥加密后只能被私钥进行解密。就避免了黑客获取到明文的对称密钥
  • 非对称加密/解密的运算成本比较高,运算速度比较低。而对称加密,运算成本低,并且速度快。所以两者相结合。非对称加密只用来进行关键环节(传输密钥)。后续的业务数据则用对称加密进行传输,从而提高效率
中间人攻击
  • 黑客通过中间人攻击,可以获取到对称密钥。
3.使用证书,校验服务器的公钥

解决中间人攻击的方法:

  • 之所以能进行中间人攻击,是因为客户端无法分辨收到的公钥是服务器发的还是客户端伪造的。

通过引入第三方的"公证机构",由"公证机构"证明的公钥,就是可以信任的公钥

  • 公证机构也会生成一对私钥和公钥。自己持有私钥,公钥会发布到内置到各个操作系统中

​ 程序员在搭建服务器时,会生成一对公钥和私钥。同时向公证机构提出申请,提交材料(域名、公钥、厂商信息等)。公证机构通过审核,会向服务器颁发一个"证书"(包含域名、公钥、证书的过期时间、以及数字签名等)颁发证书的时候,公共机构就会针对证书中的各个属性,计算出校验和,并针对这个校验和用公证机构自己的私钥进行非对称加密,得到数字签名。

​ 当客户端拿到证书时,会进行校验。通过操作系统内置的公证机构公钥,对数字签名进行解密,并重新计算校验和进行对比。从而确认证书中的数据没有被修改,进而解决了中间人攻击的问题。

  • 黑客即使替换了证书中的公钥,客户端在进行校验时就会发现
  • 即使替换了公钥、通时也替换了数字签名。但是校验和的加密是需要公证机构的私钥才能进行。黑客没有这个私钥,如果拿自己的私钥加密,客户端就无法使用系统中内置的公证机构的公钥解密

点击移步博客主页,欢迎光临~

相关推荐
朱包林31 分钟前
day23-计算机网络-1
运维·网络
00后程序员张2 小时前
移动网页调试的多元路径:WebDebugX 与其他调试工具的组合使用策略
websocket·网络协议·tcp/ip·http·网络安全·https·udp
2501_916013742 小时前
iOS 应用如何防止源码与资源被轻易还原?多维度混淆策略与实战工具盘点(含 Ipa Guard)
websocket·网络协议·tcp/ip·http·网络安全·https·udp
搬码临时工3 小时前
如何将内网的IP地址映射到外网?详细方法与步骤解析
服务器·网络·tcp/ip·智能路由器·电脑·远程工作
禾木KG3 小时前
网络安全-等级保护(等保) 3-3-1 GB/T 36627-2018 附录A (资料性附录) 测评后活动、附 录 B (资料性附录)渗透测试的有关概念说明
网络·安全·web安全
Cyyyy_g4 小时前
网络安全防御指南:全方位抵御暴力破解攻击
网络·安全
Ronin-Lotus4 小时前
嵌入式硬件篇---龙芯2k1000串口
linux·网络·python·嵌入式硬件·龙芯·2k1000
htt7895 小时前
[P2P]并发模式
服务器·网络协议·p2p
vortex55 小时前
Python进阶与常用库:探索高效编程的奥秘
开发语言·网络·python
孤寂大仙v5 小时前
【计算机网络】数据链路层——ARP协议
网络·网络协议·计算机网络