https中ssl/tls中涉及到的加密
http是以明文方式传输数据的,在传输过程中会经过路由器等多节点,可能会被中间人攻击盗取数据,篡改数据和伪造数据。为了解决中间人攻击需要在传输时对数据加密。
对称加密
对称加密:浏览器随机生成密钥,发送给服务器;在数据传输时,先将数据加密,在发送数据;服务器收到数据后根据密钥解密。对称加密在发送密钥时可能会被劫持,攻击方拿到密钥后,就能加解密数据。对称加密是位运算,执行效率高。
非对称加密
非对称加密:针对对称加密的漏洞,使用非对称加密算法来解决,非对称加密算法中有公钥和私钥,公钥加密的数据用私钥解密,私钥加密的算法用公钥解密。。服务器持有公钥pu,和私钥pra。将公钥发给浏览器;浏览器使用公钥加密数据后在发送给服务器,服务器用私钥解密数据后,在用私钥加密数据发送给浏览器;浏览器发送的公钥可能被劫持,所以服务器到浏览器的数据安全性不能保障。并且可能出现攻击者劫持公钥pu,给浏览器发送自己持有的公钥和私钥,冒充服务器。需要增加措施保证公钥的安全性。
数字签名
数字签名:将数据名文经过hash运算,并使用公钥加密后生成数字签名和证书一起发送给浏览器。普通劫持方没有证书,无法冒充服务器。有证书的劫持者ca证书中有服务器域名等信息,无法冒充。浏览器收到数据,将数据hash,并且用公钥解密密文,如果两者结果相等,则未篡改。
数字证书
数字证书:由ca机构颁发的证书,保证公钥是来自可信任的服务器。浏览器会缓存证书的公钥。

1442

被折叠的 条评论
为什么被折叠?



