持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第23天,点击查看活动详情
http与https
前文
http是非常常用的一种请求方式,通常很多的请求都会采用http的方式。而由于http存在的安全性问题,当请求信息被劫持时,劫持方可以知道请求的具体内容,实现对于请求数据的捕获或进行伪造请求造成影响,因此用于加密的https则应运而生。本文主要讲对于https内容进行讨论。
由http向https过度
-
对称加密 前文提到了,http可能会被拦截请求,造成信息的损失,那么很自然我们会想到信息加密。而提到加密首先则是采用对称加密。服务端与客户端均通过同一加密key进行加密和解密。而由于该加密key需要向客户端传递,那么第三方完全可以在请求中进行加密信息的拦截,也就依然存在信息丢失的问题。
-
非对称加密 既然对称加密存在问题,那么我们采用非对称加密是否可以呢?答案依然是不可以。非对称加密相比于对称加密,则是加密与解密的key不同。我们会在服务端进行私钥的存储,而客户端需要采用公钥进行信息解析。那么公钥从哪里获得呢?答案依然需要通过向服务器请求。一旦拦截了请求,就会导致客户端请求的公钥为实际黑客的第三方公钥,依然会造成后续数据的丢失。
-
https 那么我们解决问题的https是什么原理呢。首先是向服务器进行公钥的请求,服务器会返回被加密的公钥信息,同时返回ca认证机构的证书。而在客户端进行根证书的存储,用于进行ca信息的验证及解密。以此方式也就得到了服务器的公钥。后续则采用公钥进行key的加密,再通过key进行数据上的传输,也就保证了信息的安全。主要的核心在于当客户端请求被拦截时,黑客返回的相关数据会被ca认证判断数据的真实性,也就是我们常见的网站左上角的锁,有时ca认证过期也就会提示该网站不安全。从而利用https保证了我们信通信的安全。
后记
- 千古兴亡多少事?悠悠。不尽长江滚滚流。