https原理和加密逻辑
首先我们需要了解HTTPS 并不是一个全新的协议,而是在 HTTP 的基础上,通过 SSL 增加了一层加密协议,从而大大增加了 HTTP 协议的安全性。HTTPS主要由两部分组成:HTTP(超文本传输协议)+ SSL / TLS(安全协议),也就是在HTTP上又加了一层处理加密信息的模块。其中包含了域名、有效期、公钥、私钥、签名这几个板块
域名:网络证书包含了网站的域名,证明了网站的真实性。
有效期:网络证书包含了有效期,表示证书的有效时间。
公钥:网络证书包含了公钥,用于加密数据。
私钥:网络证书包含了私钥,用于解密数据。
签名:网络证书包含了签名,用于验证证书的真实性。
以下简述HTTPS的原理和加密逻辑:
1、握手阶段:
客户端(如浏览器)向服务器发起HTTPS连接请求。
服务器返回其SSL/TLS证书,该证书包含了服务器的身份信息(如域名)、公钥以及由受信任的CA颁发的数字签名。
2、证书验证:
客户端检查服务器证书的有效性,包括证书是否由受信任的CA颁发、证书是否过期、服务器域名是否与证书中的域名匹配等。
如果证书验证成功,客户端信任服务器的身份。
3、密钥交换:
客户端和服务器使用非对称加密算法(如RSA或ECC)协商出一个对称加密密钥。这个过程可能涉及以下步骤:
客户端生成一个随机数(称为预主密钥),并使用服务器的公钥对其进行加密,然后发送给服务器。
服务器使用其私钥解密得到预主密钥。
4、会话加密:
双方现在都拥有了相同的对称密钥,后续的通信将使用这个对称密钥进行加密和解密。
对称加密算法(如AES)速度快,用于实际的数据传输,以保证通信的效率和安全性。
5、消息完整性检查:
为了确保数据在传输过程中没有被篡改,HTTPS还使用了消息认证码(MAC)或者基于散列的消息认证码(HMAC)。
每个加密的消息都会附带一个MAC值,接收方可以使用同样的密钥和算法计算出一个新的MAC值,并与接收到的MAC值进行比较,如果一致,则说明数据未被篡改。
6、断开连接:
当通信结束时,会话密钥会被丢弃,以防止在未来被重用和破解。
在有HTTPS保护下的网站相对来说也具有非常重要的优势作用。
证明网站的真实性、用户在访问网站的时候不会被误导
提供安全性:网络证书的加密性可以确保数据在传输过程中不会发生数据被篡改、和窃取
改善用户的一定体验度:不会出现风险提示
还没有任何评论,你来说两句吧