推荐产品
- IoT设备证书自建PKI与第三方CA怎么选?越来越多企业选了第三条路
- 用户一看到“未知发布者”就关掉?先搞清楚 OV 和 EV 的区别
- 子域名越多证书越难管?沃通 CertBot 加沃通 CaaS 才是完整解法
- 驱动签名证书过期了?旧驱动不用重签,WHQL也不用重做
- Windows 总提示“已保护你的电脑”?别急着点“仍要运行”,先做三件事
- 为了申请HTTPS专门买个域名?其实SSL证书可以直接签给IP
- 小程序突然打不开?先别查服务器,大概率是SSL证书过期了
- SSL 证书有效期已缩至 199 天,还在手动续签的团队该换自动化了
- 域名验证≠身份验证:企业SSL证书选型指南
- 从 DV 到 OV,我们花了一年多才补上金融安全这一课
https连接加密与中间人攻击劫持
HTTPS连接过程
https协议就是http+ssl协议,如下图所示为其连接过程:

1.https请求
客户端向服务端发送https请求;
2.生成公钥和私钥
服务端收到请求之后,生成公钥和私钥。公钥相当于是锁,私钥相当于是钥匙,只有私钥才能够打开公钥锁住的内容;
3.返回公钥
服务端将公钥(证书)返回给客户端,公钥里面包含有很多信息,比如证书的颁发机构、过期时间等等;
4.客户端验证公钥
客户端收到公钥之后,首先会验证其是否有效,如颁发机构或者过期时间等,如果发现有问题就会抛出异常,提示证书存在问题。如果没有问题,那么就生成一个随机值,作为客户端的密钥,然后用服务端的公钥加密;
5.发送客户端密钥
客户端用服务端的公钥加密密钥,然后发送给服务端。
6.服务端收取密钥,对称加密内容
服务端收到经过加密的密钥,然后用私钥将其解密,得到客户端的密钥,然后服务端把要传输的内容和客户端的密钥进行对称加密,这样除非知道密钥,否则无法知道传输的内容。
7.加密传输
服务端将经过加密的内容传输给客户端。
8.获取加密内容,解密
客户端获取加密内容后,用之前生成的密钥对其进行解密,获取到内容。
中间人劫持攻击
https也不是绝对安全的,如下图所示为中间人劫持攻击,中间人可以获取到客户端与服务器之间所有的通信内容。

中间人截取客户端发送给服务器的请求,然后伪装成客户端与服务器进行通信;将服务器返回给客户端的内容发送给客户端,伪装成服务器与客户端进行通信。
通过这样的手段,便可以获取客户端和服务器之间通信的所有内容。
使用中间人攻击手段,必须要让客户端信任中间人的证书,如果客户端不信任,则这种攻击手段也无法发挥作用。
本文转自CSDN博客
