瘟疫公司游戏中国下架的背后是否与冠性病毒疫情有关?
《瘟疫公司》(Plague Inc.)是由位于英国伦敦的独立游戏工作室Ndemic Creations所开发的一款以传染疾病为题材的策略游戏。
本次我们谈一下HTTPS,其实它与HTTP有许多相似之处,如果您对HTTP尚不清楚可以阅读《HTTP发展各版本特点,专治各种“疑难杂症”的面试官(上)》来进行了解。
一、HTTP与HTTPS本质区别
HTTP有许多不足,我们看看其主要不足之处
1通信不加密,容易被窃听
2不严明对方身份,可能因对方伪装也被骗
3无法保证报文的完整性,即使内容被篡改也不知道
HTTPS恰恰是对这三点进行的补充:HTTPS=HTTP+加密+身份验证
http使用明文传输,https使用ssl加密传输
http不验证访问者信息,https通过数据签名验证访问者信息
https保证数据完整性,防止有人进行篡改
最后一点,http使用80端口,而https使用的443端口
二、HTTPS握手过程
客户端发起请求,服务端响应给用户端证书,证书中包含公钥;
客户端接收到证书后,生成随机数,通过公钥加密,将随机数发送给服务端,并凭随机数构造对称加密和服务端通信,并告知服务端此次通信后的通信都将使用随机数秘钥(Pre-master secret)进行加密;
HTTPS握手过程
服务端使用私钥解析随机数,并通过随机数构造对称加密算法,同样告知客户端之后的请求将使用随机数进行加密。
1用户在浏览器里输入 http://www.xinruiyun.cn/ 点击回车以后,浏览器与服务器发生三次握手;
2服务器收到用户的请求,响应 301 状态码,让用户跳转到 HTTPS ,重新请求https://www.xinruiyun.cn/
3用户重新发起 HTTPS 请求,再次与服务器进行三次 TCP 握手;
4TCP 握手成功后,浏览器开始与服务器进行 TLS 握手;
三、https数据传输为何使用对称加密?
1对称加密: 对称加密指的就是加密和解密使用同一个秘钥,所以叫做对称加密。对称加密只有一个秘钥。
2非对称加密: 加密和解密使用不同的秘钥,一把作为公开的公钥,另一把作为私钥。公钥加密的信息,只有私钥才能解密。
在HTTPS的证书验证阶段,一般使用非对称加密来进行共享秘钥的传递,当传递完毕后消息的传输使用对称加密的方式。
主要原因:非对称加密传输效率太低,当数据量大的时候传输速度堪忧!而http场景中通常端与端之间的交互量很大,对非对称加密的效率是无法忍受的。另外, HTTPS场景中只有服务端保存了私钥,一对公私钥只能实现单向加解密过程。因此 HTTPS 中的内容传输采用对称加密。
对称加密与非对称加密
四、HTTPS握手,如何验证合法性?
1CA证书是什么?
CA 也拥有一个证书(内含公钥和私钥)。网上的公众用户通过验证 CA 的签字从而信任 CA ,任何人都可以得到 CA 的证书(含公钥),用以验证它所签发的证书。
如果用户想得到一份属于自己的证书,他应先向 CA 提出申请。在 CA 判明申请者的身份后,便为他分配一个公钥,并且 CA 将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给申请者。
如果一个用户想鉴别另一个证书的真伪,他就用 CA 的公钥对那个证书上的签字进行验证,一旦验证通过,该证书就被认为是有效的。证书实际是由证书签证机关(CA)签发的对用户的公钥的认证。
CA证书
2CA证书中会包含颁发机构信息、公钥、公司信息、域名、有效期等信息,浏览器验证证书:
2.1首先就是要验证域名、有效期等信息是否正确
然后判断证书来源的合法性。每份签发证书都可以根据验证链查找到对应的根证书,操作系统、浏览器会在本地存储权威机构的根证书,利用本地根证书可以对对应机构签发证书完成来源。2.2验证
判断证书是否被篡改。需要与 CA 服务器进行校验。
2.3判断证书是否已吊销
以上任意一步都满足的情况下浏览器才认为证书是合法的。
本文是相关系列文章,主要讲解TCP、HTTP、HTTPS
《大厂面试指南——TCP协议相关篇》
《TCP握手为何三次而不是二次或者四次?》
《HTTP发展各版本特点,专治各种“疑难杂症”的面试官(上)》
《HTTP发展各版本特点,专治各种“疑难杂症”的面试官(下)》
《HTTPS相关,面试想要的都在这》
转载请注明:小猪云服务器租用推荐 » HTTPS相关,面试想要的都在这