http和https的关系与优缺点

注意!

https协议需要到ca申请证书,一般免费的证书很少,需要交费。

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

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

http的缺点

http主要有这些不足:

1.通信使用明文,内容可能被窃听

2.不验明通信方身份,因此有可能遭遇伪装 

3.无法验证报文的完整性,所以有可能已经篡改

http + 加密 + 认证 + 完整性保护 = https

https是身披ssl外壳的http

通常情况下http是直接和tcp层进行通信的。当使用ssl时,则演变成http先和ssl通信,ssl再和tcp通信的了。

加密技术

讲解ssl前,科普一下加密方法,ssl采用的是一种叫做“公开密钥加密”的加密处理方式。

对称加密

加密和解密用的是同一个密钥的方式称为对称加密,也叫做共享密钥加密

对称加密在发送加密信息时也需要将密钥发送给对方,但这样可以被攻击者截取,就不安全了

非对称加密

非对称加密又称作公开密钥加密,它可以很好的解决对称加密密钥被截取的问题。

非对称加密采用一对非对称的密钥,一把叫做私有密钥,一把叫做公有密钥

使用非对称加密,发送密文一方使用对方的公有密钥进行加密处理,对方收到加密信息后,再使用自己的私有密钥进行解密。

https采用混合加密机制

    https采用对称加密和非对称加密所混合的加密机制。

    若密钥能安全交换,那么有可能仅考虑非对称加密。

    但是非对称加密与对称加密相比,处理速度相对较慢

 

公开密钥的认证

使用数字证书认证机构和其颁布的公开密钥证书进行认证。即让第三方独立机构进行验证。

私有密钥是保存在服务器端的~

注意!:认证是要钱的!!!

https安全通信机制:

下图是完整的https的通信过程

为什么https不是那么普及

1.加密通信与纯文本通信相比,消耗更多的cpu和内存资源

2.购买证书是要钱的!

3.少许对客户端有要求的情况下,会要求客户端也必须有一个证书。

(这里客户端证书,其实就类似表示个人信息的时候,除了用户名/密码,还有一个ca认证过的身份,应用个人证书一般来说,别人是无法模拟的,所以这样更能更深的确认自己的身份。目前少数个人银行的专业版是这种做法,具体证书可能是拿U盘作为一个备份的载体。)

https一定是繁琐的

1.本来简单的http协议,一个get,一个response,由于https还要密钥和确认加密算法的需要,单握手就需要6/7个往返,任何应用中,过多的round trip 肯定影响性能。

2.接下来才是具体的http协议,每一次响应或者请求,都要求客户端和服务器对会话做加密/解密,尽管对称加密/解密效率比较高,可是仍然要消耗过多的cpu,为此有专门的ssl芯片,如果cpu性能比较低的话,肯定会降低性能,从而不能serve更多的请求。

https的好处

1.seo方面

    谷歌曾在2014年8月份调整搜索引擎算法,并称“比起同等http网站,采用https加密的网站在搜索结果中的排名将会更高。”

    百度也曾在站长平台声明,https有一定的排名优待。

2.安全性

    尽管https并非绝对安全,掌握根证书的机构,掌握加密算法的组织同样可以进行中间人形式的攻击。但https仍是现行架构下最安全的解决方案,主要有以下几个好处:

    (1)使用https协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;

    (2)https协议是由ssl+http协议构建的可进行加密传输,身份认证的网络协议,要比http协议安全,可防止数据在传输过程中不被窃取,改变,保证数据的完整性。

    (3)https是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。

https的坏处

虽然说https有很大的优势,担起相对来说,还是有些不足之处,具体来说,有以下2点:

    1。seo方面

        据ACM CoNEXT数据显示,使用https协议会使页面的加载时间延长近50%,增加10%到20%的耗电,此外,https还会影响缓存,增加数据开销和功耗,甚至已有安全措施也会收到影响。

        而https协议的加密范围也比较有限,在黑客攻击,拒绝服务攻击,服务器劫持等方面几乎起不到什么作用。

        最关键的是,ssl证书的信用链体系并不安全,特别是在某些国家可以控制ca根证书的情况下,中间人攻击一样可行。

    2。经济方面

        (1)ssl证书需要收费,功能越强大的证书费用越高,个人网站,小网站没有必要,一般也不会用。

        (2)ssl证书通常需要绑定ip,不能再在同一个ip上绑定多个域名,ipv4资源不可能支撑这个消耗(ssl扩展可以部分解决这个问题,但是比较麻烦,而且要求浏览器,操作系统支持,Windows XP就不支持这个扩展,考虑到xp的装机量,这个特性几乎没有)。

        (3)https连接缓存不如http高效,大流量网站如非必要也不会采用,流量成本太高。

        (4)https连接服务器端资源占用高很多,支持访客稍多的网站需要投入更大的成本,如果全部采用https,基于大部分计算资源闲置的假设的vps的平均成本会上去。

        (5)https 协议握手阶段比较费事,对网站的响应速度有负面影响,如非必要,没有理由牺牲用户体验。

            现在https已经趋于成熟,很多缺点是可以优化和弥补的。比如:打开速度问题完全可以通过cdn加速解决,很多IDC(互联网内容提供商)也在着手推出免费证书和一站式https搭建服务,不久https成本将会大大缩小!

 

文章原链接:https://m.jb51.net/yunying/622931.html

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值