HTTPS的由来
普通网站通常都是使用Http协议进行交互,其包在网络中都是明文传输的,若是关键的信息如支付密码等,在网络中被拦截获取的话,那就很危险了,这时候黑客就能伪造用户的请求,从而盗走资金。经常使用的抓包工具备不少如fiddler、wireshark,有兴趣的话能够本身百度了解一下。为了包信息的安全.保证在端到端的过程当中,任何节点拦截到的都是一段进行加密处理过的乱码.HTTPS就为此应运而生了。它能保证包的具体信息只能在两端可见html
HTTPS的加密方式
首先.用最简单的对称加密,使用同一个密文,在两端进行加解密交互。这方案显然不行,密文在客户端很容易被黑客揪出(再退一步讲,两端刚创建起链接时,确定要统一密文是多少,服务端在发送密文给客户端的时候万一黑客拦截到,那就呵呵了)。安全
那就再换一个方案,使用公匙私匙,服务端统一为客户端分发公匙,而后客户端统一使用该公匙加密信息发送到服务端,该信息只有私匙能解开,这样就能确保客户端-服务端的信息不会被拦截并解密出来,由于服务端的私匙并无在网络中传输过,黑客根本没法获取。网络
按理来说这方案没问题,但高级的黑客能够拦截掉公匙而替换成本身的公匙给客户端,客户端将收到的黑客公匙进行加密传输,再发送给服务端,这时黑客再次拦截获信息并用本身的私匙解密,再用服务端给的公网加密发给服务端。这个过程很是隐秘,服务端和客户端彻底感知不到,而后黑客就呵呵咯工具
真是套路满满阿,那如何保证客户端收到的公匙,就必定是服务端给的那个呢,这时候CA强势杀出:让我来网站
CA权威认证中心
CA全称Certificate Authority(权威颁发机构),它是负责发放和管理数字证书的权威机构,并做为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。咱们能够本身生成一套公私匙而后提交给CA审核,或者直接跟CA申请由其颁发(每一个证书对应一个域名地址)。当客户端获取到服务端发来的公匙时, CA权威机构会统一进行认证辨别此公匙是否有效(肯定是由CA机构颁发的而且与域名匹配得上)。一切顺利那就能够进行交互了加密
参考文献: HTTPS科普扫盲帖 讲解很是透彻spa