HTTPS的简单了解
工作中一直被教导,尽量使用HTTPS搭建web网站,只知道HTTPS比HTTP安全,满足安全合规要求,具体的却不知道,对HTTPS做一个简单的了解
HTTP
http即超文本传输协议,常用于web客户端与服务器之间的通信,定义了传输的格式和规范。
常见的超文本有,HTML,图片,JSON,TEXT,链接等
TLS/SSL
TLS或SSL传输层安全协议,针对传输过程提供认证与加密的一种协议通道。
一直不清楚SSL和TLS有什么区别,为什么有的文章是SSL,有的是TLS,解释的最多比较可信的是,两者是一个东西,只是最开始叫SSL,后面改为了TLS,但是一些SSL的术语保持下来了。最新的是TLS。后续我就只写TLS,实际是旧版本的可能使用的SSL。
HTTPS
https超文本安全传输协议。 本质就是HTTP+TLS的组合。通过HTTP的文本传输协议+TLS传输层加密。
为什么需要https,不能直接使用http。主要原因是http的通信是公开的,内容是没有加密,明文传输的,重要的数据容易被嗅探工具等拦截,导致敏感信息泄露。使用TLS加密后,数据得到了加密,包含cookie,参数,url等一些重要的数据。
HTTPS认证过程
1.服务器生成私钥A和公钥A
2.服务器吧公钥A和域名等相关信息发送给认证机构
3.认证机构(可信的第三方CA机构)这个机构很重要,可信的CA机构颁发的证书才会被主流浏览器所信任。哪些才是可信的CA机构?打开浏览器的受信任的根证书颁发机构,里面的就是,至于这些为什么会被浏览器默认列为受信任的根本书,我就不知道了(money)。机构生成私钥B和公钥B
4. ok,机构有自己的私钥B以及公钥B, 公钥B每个人都有,私钥B加密服务器发过来的信息后,生成服务器的证书,并发给服务器。
5.当浏览器访问服务器时,服务器把证书(包含了服务器的公钥A)发给浏览器,浏览器进行证书校验,判断是否是受信任证书,域名,持有人,有效期等是否一致。并用机构给的公钥B进行解密,获取了服务器的公钥A
6.浏览器生成对称秘钥C
7.用刚拿到的服务器公钥A对秘钥C进行加密,发给服务器。
8.服务器使用私钥A捷星解密,并返回消息给浏览器,后续使用对称秘钥C进行交互
以上就是真个过程,不过很多都描述的很多模糊,例如证书的生成有哪些元素,秘钥是怎样生成的,证书的校验,公钥和私钥,对称秘钥的工作机制等等,只能做个简单的了解。
HTTPS的优点
最后做一个HTTPS的优点总结
- 数据保护,加密了不用被篡改和数据泄露
- 浏览器会进行提示网站是否可信,可信自然更让用户放心。
- 点赞
- 收藏
- 关注作者
评论(0)