HTTPS是如何加密的?

我们知道,HTTP是不安全的,它在传输过程中中间人可以拦截,获取传输和响应数据,造成数据泄露;
对称加密:加密和解密用同一个密钥,客户端对数据加密,服务端解密拿到数据
非对称加密:使用公钥和私钥,公钥加密的内容只能私钥解开私钥加密的内容所有公钥都能解开;私钥只保存在服务器端,公钥可以发送给所有客户端,可以保证客户端通过公钥加密的内容中间人无法破解;

但是,服务器给客户端发送公钥,公钥可能被掉包,那么如何解决公钥是假的这个问题?
在HTTPS中,使用证书+数字签名来解决;
在这里插入图片描述
将网站信息加密,再通过第三方认证机构私钥加密,生成数字证书;假如中间人拦截,把服务器公钥替换成自己的公钥,因为数字签名的存在,客户端验证签名不匹配;
浏览器安装后会内置一些权威第三方认证机构的公钥,验证签名的时候直接就从本地拿到相应第三方机构的公钥,对私钥加密后的数字签名进行解密得到真正的签名,然后客户端利用签名生成规则进行签名生成,看两个签名是否匹配,匹配则认证通过,不匹配则获取证书失败;

所以,HTTPS是采用 对称加密 和 非对称加密结合的方式来保护浏览器和服务端之间的通信安全;
对称加密算法加密数据+非对称加密算法交换密钥+数字证书验证身份

HTTPS就是使用SSL/TLS协议进行加密传输,让客户端拿到服务器的公钥,然后客户端随机生成一个对称加密的密钥,使用公钥加密,传输给服务端,后续的所有信息都通过该对称秘钥进行加密解密,完成整个HTTPS流程;

参考:[https://www.wosign.com/News/httpsjiami_20180817.htm]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值