欢迎您光临深圳塔灯网络科技有限公司!
电话图标 余先生:13699882642

网站百科

为您解码网站建设的点点滴滴

SSL:http与https

发表日期:2018-02 文章编辑:小灯 浏览次数:2597

在一般情况下我们上网采用的超文本传输协议为http协议,https协议的全称为Hypertext Transfer Protocol over Secure Socket Layer,相比http多了一个Secure,简单来说就是http的安全版。

由于http是以明文方式发送内容,不提供任何加密,因此当攻击者截获了web浏览器和网站服务器之间的传输报文,就可以读取其中的信息,用户就可能泄露自己的敏感信息,如支付密码,身份证号等等。那么为了解决这个问题,网景公司最早提出了SSL协议,在http的基础上加入了SSL协议,SSL依靠证书来为浏览器和服务器之间的通信加密。

那么http与https的主要区别有哪些呢。

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

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

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

4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

那么https是如何工作的呢

这里只做简单的说明,详细内容可以参考http://www.moserware.com/2009/06/first-few-milliseconds-of-https.html

在http握手之后,要进行SSL握手,分为以下四步

1.首先客户使用https的url访问服务器,要求与服务器建立安全连接。这时候就需要客户端与服务器协商我们接下来的加密应该怎么做。客户端先告诉服务器,我的浏览器支持哪些加密方法,我的版本是什么,等等。然后服务器知道了之后,从客户端支持的加密方法中随机选择一种,然后告诉客户端。

2.这时候就会有一个问题,网站怎么证明自己是一个清白的网站,这就需要一个公认的证书来证明自己的清白,就是certification,这个证书是由CA颁布的,CA的证书上有它的签名,如果用户信任这个证书而遭到了损失,是可以通过这个证书追求法律责任的。这时候服务器就把证书和公钥发送给了用户。那公钥又是什么呢,这个是由于安全过程采用了密钥交换算法,这个交换算法需要这一步骤。

3.客户收到了证书与密钥之后,第一步要向服务器证明自己也是清白的(这一步可选),也发送一个自己的证书信息,第二步是浏览器生成会话密钥并用公钥加密,告诉服务器。第三步是告诉服务器我已经拥有你的证书和公钥了(可选)。

4.最后两方再一次交换密钥,这个交换过程是为了防止密钥被攻击者修改。


经历了SSL握手之后,客户和服务器就可以通过会话密钥加密通信。

同时在通信过程中,SSL中还有一个警报协议来保护出现问题的情况,一旦出现错误立刻发出警报,如果是致命错误,会立即关闭SSL连接并删除会话,密钥等信息。

那么问题就出现了。为什么这种安全的协议不在所有网站上使用起来呢。

因为https协议也有一些不好的地方,

1.首先它更耗时,毕竟多了握手的过程与加密的过程。

2.SSL证书需要钱,小网站一般不会用。

3.SSL证书需要绑定IP,不能再一个IP上绑定多个域名,IPV4资源不能支撑这个消耗

4.它的加密范围有限,只能在某些方面安全,有些国家控制CA证书,中间人攻击一样可行。

提到它更耗时,那么我们简单的来看一下它到底多么耗时。

在linux命令窗口输入:

-w "TCP handshake: %{time_connect}, SSL handshake: %{time_appconnect}\n" -so /dev/null https://www.alipay.com

上面命令中的w参数表示指定输出格式,time_connect变量表示TCP握手的耗时,time_appconnect变量表示SSL握手的耗时,s参数和o参数用来关闭标准输出。

我运行了多次,结果分别为:(单位是秒)

TCP handshake: 0.053, SSL handshake: 0.288

TCP handshake: 0.055, SSL handshake: 0.297

TCP handshake: 0.078, SSL handshake: 0.345

TCP handshake: 0.081, SSL handshake: 0.347

TCP handshake: 0.072, SSL handshake: 0.319

可以看到,在建立连接阶段,TCP+SSL握手的耗时就要远高于TCP握手,大约为4-5倍

因此在安全度不高的情况下,能不用SSL就别用了。


本页内容由塔灯网络科技有限公司通过网络收集编辑所得,所有资料仅供用户学习参考,本站不拥有所有权,如您认为本网页中由涉嫌抄袭的内容,请及时与我们联系,并提供相关证据,工作人员会在5工作日内联系您,一经查实,本站立刻删除侵权内容。本文链接:https://dengtar.com/20491.html
相关开发语言
 八年  行业经验

多一份参考,总有益处

联系深圳网站公司塔灯网络,免费获得网站建设方案及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:余经理:13699882642

Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.    

  • QQ咨询
  • 在线咨询
  • 官方微信
  • 联系电话
    座机0755-29185426
    手机13699882642
  • 预约上门
  • 返回顶部