当前位置:首页 > 经验 >

http协议怎么更安全(http协议是怎么实现的)

来源:原点资讯(www.yd166.com)时间:2022-11-09 14:25:54作者:YD166手机阅读>>

另外,SSL 是独立于 HTTP 协议的,所有运行在应用层的协议都可以配合 SSL 协议使用。可以说,SSL 协议是当今世界上应用最为广泛的网络安全技术。

那么,针对上述 HTTP 的三个安全性问题,我们来看看 HTTPS 或者说 SSL 到底提供了哪些解决方案。

① 加密

这个上文也提到了,既然无法阻止被窃听,那么我就把我的内容加密起来,让你无法破解。那么,既然发送方对通信内容进行了加密,接收方接收到这个被加密过的内容,一定要知道对应的解密手段。

在讲解下述的几种加密方法之前,我们先理解密钥的概念。所谓密钥,就是钥匙,加密方有一把密钥,用来上锁,解密方也拥有一把密钥,用来解锁。而且加密方和解密方使用的密钥不一定是同一把。

共享密钥加密

加密和解密使用同一密钥的方式称为共享密钥加密(Common Key crypto system),也称做对称密钥加密(这个更好理解)。

以共享密钥加密时必须将密钥也发送给对方。显然,如果通信双方都各自持有同一个密钥,且没有别人知道,则两方的通信安全是可以被保证的(除非密钥被破解)。

那么,最大的问题就是如何保证这个密钥的安全传输,不被外部攻击者知道。如果由服务器生成一个密钥并传输给浏览器,这个传输过程中密钥被攻击者劫持,那么之后攻击者就能用这把密钥解开双方传输的任何内容。

http协议怎么更安全,http协议是怎么实现的(9)

发送密钥就有被窃听的危险,但不发送,对方就不能解密。怎么样才能安全的发送密钥?解决这个问题,我们就需要公开密钥加密(非对称密钥加密)。

http协议怎么更安全,http协议是怎么实现的(10)

公开密钥加密

公开密钥加密很好的解决了共享密钥加密的困难。

公开密钥加密需要一组非对称的密钥对,分别是公钥 public key 和私钥 private key。顾名思义,公钥可以随意发布,任何人都可以获得,而私钥不能让除通信双方外的其他任何人知道。这两个密钥是成对出现的,公钥加密的内容需要对应的私钥解密

举个例子:客户端(浏览器)想要给网站服务器发送消息

  • 首先,网站服务器持有一组公钥和私有,它会把自己的公钥明文传输给客户端
  • 客户端利用这个公钥给自己的消息进行加密,然后传输给服务器,这时候就算被攻击者截获,由于攻击者没有对应的私钥也无法解密该内容
  • 网站服务器收到后,使用这个公钥对应的私钥进行解密

利用这种方式,不需要发送解密需要的私钥,也就不必担心私钥被攻击者盗走

http协议怎么更安全,http协议是怎么实现的(11)

混合加密方式

上述公开密钥加密的方式虽然安全,但是相比于不那么安全的共享密钥加密方式来说,其处理速度要慢很多。HTTPS 综合这两种加密方式的优势,使用共享密钥加密要发送的信息,使用公开密钥加密这个共享密钥,这样就减少了公开加密的次数。举个例子:

  • 某网站服务器拥有一组用于公开密钥加密的非对称密钥:公钥 A1、私钥 A2
  • 浏览器向网站服务器请求,服务器把公钥 A1 明文给传输浏览器
  • 接收到这把公钥 A1 后,浏览器随机生成一个用于共享密钥加密(对称加密)的密钥 X,用公钥 A1 加密后传给服务器。这个阶段,即便被攻击者截获,由于攻击者没有对应的私钥也无法解密该内容
  • 服务器拿到后用对应的私钥 A2 解密得到密钥 X(以上这些阶段就是公开密钥加密)
  • 这样双方就都拥有密钥 X 了,且别人无法知道它。之后双方之间所有的数据传输都使用密钥 X 进行加密和解密即可(这个阶段就是共享密钥加密)

http协议怎么更安全,http协议是怎么实现的(12)

栏目热文

http双向认证(http认证方法有哪些)

http双向认证(http认证方法有哪些)

阅读前请点击右上角“关注”,每天免费获取Android知识解析及面试解答。Android架构解析,只做职场干货,完全免费...

2022-11-09 14:00:44查看全文 >>

http协议是怎么申请的(http协议是怎么实现的)

http协议是怎么申请的(http协议是怎么实现的)

很多人存在这样的疑惑就是http与https的区别,这篇文章就跟大家介绍一下。一句话总结HTTPS是身披SSL外壳的HT...

2022-11-09 13:43:25查看全文 >>

无效的http请求怎么解决(未认证http请求怎么处理)

无效的http请求怎么解决(未认证http请求怎么处理)

HTTP错误代码大全,http网站状态码各代表了什么?响应码由三位十进制数字组成,它们出现在由HTTP服务器发送的响应的...

2022-11-09 14:30:06查看全文 >>

如何消除http请求(http常见的几种请求方式)

如何消除http请求(http常见的几种请求方式)

场景:作为开发者,我们接触最多的就是CRUD,各种接口的联调,但是好像会比较少的去关注我们发送的http请求,当这个请求...

2022-11-09 14:27:52查看全文 >>

http协议怎么修改(如何配置http协议)

http协议怎么修改(如何配置http协议)

1.简介有的小伙伴或者童鞋们可能会好奇地问:不是讲解和分享抓包工具了怎么这里开始讲解HTTP和HTTPS协议了。这是因为...

2022-11-09 14:15:40查看全文 >>

http协议怎么测试(http协议怎么设置)

http协议怎么测试(http协议怎么设置)

一、概念HTTP协议:即超文本传输协议(Hypertext transfer Protocol)。是一种详细规定了浏览器...

2022-11-09 14:18:36查看全文 >>

怎样减少http请求(http请求响应时间过长)

怎样减少http请求(http请求响应时间过长)

1. 使用内容分发网络 (CDN)内容交付网络是分布在不同地理位置的一组 Web 服务器,这些服务器根据最终用户的位置向...

2022-11-09 13:44:39查看全文 >>

什么是http认证(http请求的两种认证方式)

什么是http认证(http请求的两种认证方式)

我们现在所处的时代,是最公平的时代,也是最不公平的时代。它给予不同行业的人相同的尊重,也允许不同学历的人通过努力和勤奋获...

2022-11-09 13:59:54查看全文 >>

http请求怎么设置(http请求怎么操作)

http请求怎么设置(http请求怎么操作)

最近在学习做网站开发,有一个小功能需要记录并显示文章的阅读数量。我想出来的方案是,服务器接到浏览器的阅读文章的请求时,从...

2022-11-09 13:47:41查看全文 >>

http请求数怎么消除(http请求最大处理时间)

http请求数怎么消除(http请求最大处理时间)

背景做过前端开发都知道前端的工作内容是很多的,对于HTML、CSS、Javascript、Image、Flash等各种内...

2022-11-09 14:06:53查看全文 >>

文档排行