HTTPS是如何确保安全性的?

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/vsbasic/article/details/79106769

HTTPS网站服务器和浏览器通信的消息是用对称加密算法进行加密的。但是,需要保证其他浏览器使用的加密算法是不同的,这样才能保证你的浏览器的算法是唯一的安全的。为了让不同浏览器使用不同的对称加密算法,浏览器就需要和服务器协商使用什么加密算法。但是这个协商过程有可能被攻击。

于是,使用非对称加密算法对协商过程进行加密,协商过程产生随机数确认具体对称加密算法。非对称加密算法的私钥存在网站服务器,公钥传送给浏览器。假如web服务器传递公钥途中被黑客劫持了,然后将假的公钥传递给浏览器,那么黑客就能够通过假公钥的私钥对浏览器的信息进行解密,同时后面获取后面的对称加密算法,整个传输内容都被监视了。

为防止黑客篡改公钥等信息,使用数字证书的方式来传输公钥,数字证书包含了明文的web服务器URL,非对称加密算法的公钥等信息,最后还对这些信息进行hash计算,然后用证书机构的私钥加密该hash值和使用的hash算法。浏览器使用证书的公钥进行解密,然后按照hash算法本地计算内容hash值和证书的hash值对比,若一致,那说明证书内容没有被修改。同时确保浏览器访问的URL和证书的URL一致,若也一致,那就可以继续访问。

关于数字证书的公钥,一些大型可信任的CA机构将根证书给到微软,随微软系统一起安装的。所以,这些CA发布的证书才会被认定为安全的。

展开阅读全文

没有更多推荐了,返回首页