美文网首页百人计划
图解http协议(2)—https协议

图解http协议(2)—https协议

作者: 小盼盼_1 | 来源:发表于2020-05-03 14:24 被阅读0次

1.http协议的一些缺点&解决方案

1.传输的数据没有使用加密算法,导致数据在传输的过程中可能会被第三方的用户窃取。

解决方案:

a.通信的加密:http协议和ssl(安全套接层)或TLS(安全层传输协议)的组合使用,实现方式为在客户端和服务器建立一条安全的通信线路。

图解http协议(2)—https协议

b.内容的加密

对传输的内容使用加密算法,在进行传输前,先将待传的http报文进行加密处理后在进行发送。这种方式实现的前提是,客户端和服务器同时需要具备加解密机制,但由于未使用一条安全的通信线路,所以数据在传输过程中仍然存在被篡改的可能。

2.tcp协议仅保证数据完整无误的传到通信的双方,但不会去校验双方的身份,有可能会遭遇身份的伪装,导致数据传输到不正确的接收方,例如一些涉及到支付类的相关业务下,易造成金额上的损失

解决方案:

SSL不仅提供加密处理,而且还可以用到证书,可以用来鉴别通信双方的身份。客户端持有证书可以完成个人身份的认证,可用于web服务器验证请求方的身份;服务器端有证书,可以保证http报文是传到自己想传的服务器上,减少个人信息被泄漏的可能性。

注:证书由值得信任的第三方机构颁发,伪造证书从技术角度来说是异常困难的一件事。

3.传输的过程中,内容有没有可能被他人篡改无法保证

解决方案:

使用md5和sha-1等散列值校验的方法对http报文进行加密处理,但使用这些加密算法也无法百分百保证内容未被篡改。

通过以上这些解决方案的整理,可以采用http+ssl的方式来进一步保证传输内容的安全性。

2.https的工作原理

1.https的工作层级

图解http协议(2)—https协议

https不是一种新的协议,只是将原来的http协议直接和tcp通信,变成http协议先和ssl协议通信,再由ssl协议和tcp通信。

注:ssl协议是独立于http协议的,其余应用层上的协议如FTP协议也可以结合ssl协议使用,提高数据传输过程中的安全性。

2.https采用的加密技术

目前加密算法都是公开的,但密钥可以根据业务方来进行选择,从而保证加密算法的安全性。

共享密钥加密

加密和解密共用同一个密钥的方式叫做共享密钥加密。

优点:传输速度快

缺点:无法保证密钥在传输过程中不会被窃取

公开密钥加密

公开密钥加密使用一对非对称的密钥,一把叫做私有密钥,一把叫做公开密钥。具体实现方式:发送密文的一方使用对方公开密钥对http报文进行加密处理,对方收到加密后的http报文后,再使用自己的私有密码进行解密。传输的过程中不需要传输用来加密的密钥,从而减少密钥被他人窃走的可能性。

优点:根据密文和公开密钥对传输的内容进行解密的可能性很低,同时也能进一步有效避免数据在传输过程中被篡改的可能性。

缺点:传输速度慢

基于以上两种方式的优缺点,先通过公开密钥方式将共享方式中的密钥进行传输,完成传输后,再使用共享方式中的密钥对http报文进行加密。具体见下图方式:

图解http协议(2)—https协议

3.https的证书

使用公开密钥加密的方式,需保证使用的公开密钥就是来自于相应的web服务器发行的公开密钥,此时就需要用到证书,确保web服务器的公开密钥是真实有效的,保证通信双方的身份。

4.整个https的通信过程

图解http协议(2)—https协议

具体通信步骤如下:

a.客户端和服务器首先通过ssl协议中的证书确保通信双方身份的正确性

b.确认了双方的身份后,客户端取出服务器端公开密钥,对共享密钥(master secret)进行加密处理,生成随机数(pre-master secret)传递给服务器

c.服务器端接收到随机数(pre-master secret)后,使用自己的私钥解密后得到共享密钥(master secret)

d.客户端将http报文使用共享密钥(master secret)进行加密处理后传到服务端

e.服务器接收到加密后的http报文后,使用c步骤中得到的共享密钥对报文进行解密,完成了http报文的响应后再通过一样的方法回传给客户端

f.整个https通信过程结束

注:采用https协议,应用层发送http报文的时候会附加一种Mac的报文摘要。可以通过Mac查阅报文是否被修改,从而保证报文的正确性。


相关文章

  • 图解http协议(2)—https协议

    1.http协议的一些缺点&解决方案 1.传输的数据没有使用加密算法,导致数据在传输的过程中可能会被第三方的用户窃...

  • 图解http协议

    图解http协议

  • HTTPS协议图解

    我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采...

  • 图解HTTP协议读书笔记一

    图解HTTP协议读书笔记一 个人阅读《图解HTTP》的记录以及总结 HTTP协议的概念 HTTP通常被译为超文本...

  • 图解HTTP之TCP/IP

    图解HTTP协议笔记 HTTP 全名HyperText Transfer Protocol,超文本传输协议。 TC...

  • HTTP协议与HTTPS协议

    协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则。 1、HTTP 协议 1.1、 什么是 ...

  • HTTPS协议改为HTTP协议

    tableview的数据源一般都是成员变量 iOS9为HTTPS协议,需要证书,证书不开放个人申请,所以我们需要将...

  • Http协议和Https协议

    Http网络协议 一、简介 超文本传输协议,基于TCP/IP协议来传输数据; 原理:客户端-服务端架构,客户通过U...

  • http协议和https协议

    概念 http协议的全称是超文本传输协议,是一个基于请求和响应的、无状态的、应用层的协议,常基于TCP/IP协议传...

  • HTTP 协议图解

    HTTP 协议是一个非常重要的网络协议,我们平时能够使用浏览器浏览网页,其中一个非常重要的条件就是HTTP 协议。...

网友评论

    本文标题:图解http协议(2)—https协议

    本文链接:https://www.haomeiwen.com/subject/mjkdghtx.html