HTTPS是对称加密还是非对称加密?
你知道,HTTPS用的是对称加密还是非对称加密?
HTTPS灵魂拷问
1)为什么用了 HTTPS 就是安全的?
2)HTTPS 的底层原理如何实现?
3)用了 HTTPS 就一定安全吗?
不用担心,本文将在解答“HTTPS到底用的是对称加密还是非对称加密?”的同时层层深入,从原理上把 HTTPS 的安全性讲透,您也将同时理解上述问题。
① 证书验证阶段:
1)浏览器发起 HTTPS 请求;
2)服务端返回 HTTPS 证书;
3)客户端验证证书是否合法,如果不合法则提示告警。
② 数据传输阶段:
1)当证书验证合法后,在本地生成随机数;
2)通过公钥加密随机数,并把加密后的随机数传输到服务端;
3)服务端通过私钥对随机数进行解密;
4)服务端通过客户端传入的随机数构造对称加密算法,对返回结果内容进行加密后传输。
1、为什么数据传输是用对称加密?
首先:非对称加密的加解密效率是非常低的,而 http 的应用场景中通常端与端之间存在大量的交互,非对称加密的效率是无法接受的。
HTTPS 在内容传输的加密上使用的是对称加密,非对称加密只作用在证书验证阶段。
2、为什么需要 CA 认证机构颁发证书?
首先我们假设不存在认证机构,任何人都可以制作证书,这带来的安全风险便是经典的“中间人攻击”问题。
证书防止”中间人“攻击,同时可以为网站提供身份证明。
浏览器如何验证证书的合法性?浏览器发起 HTTPS 请求时,服务器会返回网站的 SSL 证书,浏览器需要对证书做以下验证:
1)验证域名、有效期等信息是否正确
2)判断证书来源是否合法
3)判断证书是否被篡改
4)判断证书是否已吊销
3、使用 HTTPS 会被抓包吗?
会被抓包,HTTPS 只防止用户在不知情的情况下通信被监听,如果用户主动授信,是可以构建“中间人”网络,代理软件可以对传输内容进行解密。