当前位置 博文首页 > 文章内容

    http和https的关系与优缺点等区别分析(附图解)

    作者:shunshunshun18 栏目:未分类 时间:2021-04-07 9:50:28

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    注意⚠️

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

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

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

    HTTP的缺点

    HTTP主要有这些不足:

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

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

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

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

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

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

    HTTP + 加密 + 认证 + 完整性保护 = HTTPS

    HTTP+加密+认证+完整性保护=HTTPS

    HTTPS是身披SSL外壳的HTTP

    通常情况下HTTP是直接和TCP层进行通信的。当使用SSL(安全套阶字)时,则演变成HTTP先和SSL通信,SSL再和TCP通信的了。

    HTTPS是身披SSL外壳的HTTP

    加密技术

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

    对称加密

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

    加密解密使用相同的密钥

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

    怎样才能安全地发送密钥?

    非对称加密

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

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

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

    非对称加密

    HTTPS采用混合加密机制

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

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

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

    HTTPS采用混合加密机制

    公开密钥的认证

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

    数字证书认证机构

    公开密钥证书

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

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

    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的好处与坏处

    今天我们重点讨论一下网站使用https的好处与坏处,如果有对https原理不了解的小伙伴,可以参考百恒之前写的http和https的关系与区别(附图解)。

    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成本将会大大缩小!