首页 > 编程知识 正文

计算机网络实践,计算机与网络的关系

时间:2023-05-04 01:38:40 阅读:151042 作者:4946

原文地址: HTTP和HTTPS的区别

 

超文本传输协议HTTP协议用于在Web浏览器和Web服务器之间传递信息。 HTTP协议以明文形式发送内容,不提供任何方式的数据加密。 如果攻击者监听Web浏览器和Web服务器之间的传输消息,则可以直接读取该信息。 因此,HTTP协议不适合传输信用卡号码和密码等敏感信息。

为了解决HTTP协议的这个缺点,需要使用另一个协议。 securesocketlayer超文本传输协议HTTPS基于HTTP将SL协议添加到HTTPS中以实现数据传输安全,SSL基于证书验证服务器并加密浏览器和服务器之间的通信。

另一方面,HTTP和HTTPS的基本概念(HTTP )是在因特网上被最广泛应用的网络协议,是用于从WWW服务器向本地浏览器传送超文本的TCP ),使浏览器更加高效

HTTPS :以安全为目标的HTTP频道,简单来说就是HTTP的安全版。 也就是说,在HTTP下插入SSL层。 因为HTTPS的安全基础是SSL,所以加密细节需要SSL。

HTTPS协议的主要作用分为两部分。 一个是建立信息安全通道以确保数据传输的安全性另一个是验证网站的真实性。

二、HTTP和HTTPS的区别是什么? 使用HTTP协议传输隐私信息是非常不安全的,因为通过HTTP协议传输的所有数据都是未加密的、明文的。 为了保证这些隐私数据的加密传输,网站公司设计了安全套接字层(SSL )协议来加密通过HTTP协议传输的数据,从而诞生了HTTPS。 简单地说,HTTPS协议是通过SSL HTTP协议构建的能够进行加密传输、认证的网络协议,比http协议安全。

HTTPS和HTTP的区别主要如下。

1、https协议需要向ca申请证书,一般免费证书较少,需要一定的费用。

2、http是超文本传输协议,信息是明文传输,https是安全的ssl加密传输协议。

3、http和https使用完全不同的连接方式,使用的端口也不同。 前者是80,后者是443。

4、http连接简单,无状态的HTTPS协议是基于SSL HTTP协议构建的可加密传输、认证的网络协议,比http协议更安全。

三、HTTPS的结构因为HTTPS知道可以加密信息以防止第三方获取机密信息,所以很多银行网站和电子邮件地址等安全级别较高的服务都采用了HTTPS协议。

客户端使用HTTPS方式与Web服务器通信时,如图所示,包括以下步骤。

)客户使用https的URL访问Web服务器,请求与Web服务器的SSL连接。

)2) Web服务器接收到来自客户端的请求后,向客户端发送Web网站的证书信息(证书中包含公钥)。

)3)客户端浏览器和Web服务器开始就SSL连接的安全级别,即信息加密级别进行协商。

)4)客户端浏览器基于双方商定的安全等级建立会话密钥,并使用站点公钥加密会话密钥并传输至站点。

)5) Web服务器用自己的私钥解密会话密钥。

)6) Web服务器使用会话密钥加密与客户端的通信。

四. HTTPS的优点尽管HTTPS是绝对不安全的,掌握根证书的机构、掌握加密算法的组织同样可以进行zxddy格式的攻击,但HTTPS仍然是现行框架下最安全的解决方案,主要有以下几个

(1)使用HTTPS协议验证用户和服务器,并确保数据发送到正确的客户端和服务器

)2) HTTPS协议是用SSL HTTP协议构建的可加密传输、认证的网络协议,比http协议更安全,是防止在传输中数据被盗或被变更的,确保数据的完整性。

)3) HTTPS是当前架构中最安全的解决方案,虽然不绝对安全,但大大增加了zxddy攻击的成本。

)4)谷歌于2014年8月调整了搜索引擎算法,称“与同等的HTTP网站相比,采用HTTPS加密的网站在搜索结果中的排名更高”。

五、HTTPS的缺点虽说HTTPS有很大的优势,但相对来说也有不足之处:

)1)如果在HTTPS协议的握手阶段花费时间,页面加载时间将延长近50%,功耗将增加10%至20%;

)2) HTTPS连接缓存不如HTTP高效,增加了数据开销和功耗,现有的安全措施也受到影响。

)3) SSL证书花钱,越强大的证书费用越高。 个人网站、小型网站一般不需要使用。

)4) SSL证书一般需要绑定IP,不能在同一IP上绑定多个域名,且IPv4资源不能支持此消耗。

)5) HTTPS协议的加密范围也相对有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎不起作用。 最重要的是,SSL证书的信用链体系不安全,这与zxddy攻击一样可能,特别是在一些国家/地区控制CA根证书时。

六、如果需要将HTTP切换到HTTPS的网站从HTTP切换到HTTPS,该如何实现呢?

在此,我们将页面中的所有链接

js,css,图片等等链接都由http改为https。例如:http://www.baidu.com改为https://www.baidu.com

BTW,这里虽然将http切换为了https,还是建议保留http。所以我们在切换的时候可以做http和https的兼容,具体实现方式是,去掉页面链接中的http头部,这样可以自动匹配http头和https头。例如:将http://www.baidu.com改为//www.baidu.com。然后当用户从http的入口进入访问页面时,页面就是http,如果用户是从https的入口进入访问页面,页面即使https的。

七、SSL握手有三个目的 客户端与服务器需要就一组用于保护数据的算法达成一致;它们需要确立一组由那些算法所使用的加密密钥;握手还可以选择对客户端进行认证。 八、SSL握手过程 客户端将它所支持的算法列表和一个用作产生密钥的随机数发送给服务器;服务器从算法列表中选择一种加密算法,并将它和一份包含服务器公用密钥的证书发送给客户端;该证书还包含了用于认证目的的服务器标识,服务器同时还提供了一个用作产生密钥的随机数;客户端对服务器的证书进行验证(有关验证证书,可以参考数字签名),并抽取服务器的公用密钥;然后,再产生一个称作pre_master_secret的随机密码串,并使用服务器的公用密钥对其进行加密(参考非对称加/解密),并将加密后的信息发送给服务器;客户端与服务器端根据pre_master_secret以及客户端与服务器的随机数值独立计算出加密和MAC密钥(参考DH密钥交换算法)。客户端将所有握手消息的MAC值发送给服务器;服务器将所有握手消息的MAC值发送给客户端。

整个HTTPS过程:

SSL加密原理(记忆版):

1、客户端向服务器发起请求,并将自己支持的所支持的算法列表发送给服务器。
2、服务器回应客户端的请求,从算法列表中选择一种加密算法,并将它和一份包含服务器公用密钥的CA证书发送给客户端,该证书还包含了用于认证目的服务器的标识。
3、客户端的浏览器进入数字证书认证环节,这一部分是浏览器内置的TLS完成的。
(1)首先浏览器从内置的证书列表中索引,找到服务器下发证书对应的机构,取出该机构颁发的公钥。没有找到则不可信任。
(2)用机构的证书公钥解密得到证书的内容和签名(内容包括网站的网址,网站的公钥等)。
(3)浏览器生成一个随机数R,并使用网站公钥对R进行加密。
4、浏览器将加密的R传送给服务器。
5、服务器用自己的私钥解密得到R。
6、服务器以R为密钥使用了对称加密算法加密网页内容并传输给浏览器。
7、浏览器以R为密钥使用之前约定好的解密算法获取网页内容。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。