HTTPS通信中,服务器端使用数字证书来证明自己的身份。客户端需要验证服务器发送的证书的真实性。这就需要一个可信的第三方机构,即CA,来颁发和管理证书。CA根证书是证书颁发机构层次结构的顶级证书,客户端信任的所有证书都可以追溯到这个根证书。通过验证服务器证书的签发机构链条中的各个证书,客户端可以确保服务器证书的真实性,从而建立起信任关系。
首先需要知道为何http不安全?
-
数据加密:
- HTTP传输的数据是明文的,即未经加密的,这意呈现了安全隐患。例如,在使用公共Wi-Fi连接时,黑客可以通过网络嗅探工具轻松拦截并查看HTTP传输的数据,包括登录凭据、个人信息等。
- HTTPS通过SSL/TLS协议对传输的数据进行加密,使得黑客无法直接读取数据内容。SSL/TLS使用对称加密和非对称加密相结合的方式,保障了数据的安全性。
-
数据完整性保护:
- HTTP传输的数据在传输过程中容易受到篡改。黑客可以中间人攻击(Man-in-the-Middle Attack),在传输过程中修改数据,篡改网页内容或注入恶意代码。
- HTTPS通过数字证书和数字签名来验证网站的身份,并保证数据在传输过程中不会被篡改。数字证书由权威的证书颁发机构(CA)颁发,用于验证网站的身份,并确保通信双方之间建立了安全的连接。
-
身份验证:
- HTTP无法验证网站的身份,使得用户很难确认他们正在访问的网站是否是真实的,容易受到钓鱼网站(Phishing&