为什么说 HTTPS 是安全的?

admin 2024年8月5日09:09:32评论15 views字数 2124阅读7分4秒阅读模式
HTTPS 网站该如何传递参数?如果和HTTP 一样那么不就是参数是明文的有被拦截的风险,怎么能说 HTTPS 是安全的呢?

为什么说 HTTPS 是安全的?

HTTP不安全是因为底层传输技术(TCP/IP),不对自己的承载的Payload(HTTP)加密保护、完整性保护、服务器身份认证、。


如果,


HTTP在扔给TCP/IP传输之前,请求一家名叫TLS(Transport Layer Security)的保安公司,提供以下安全保护服务:

  • 加密保护(Encryption),HTTP内容加密,第三方无法知晓原始明文内容。

  • 完整性保护(Integrity),第三方一旦篡改内容,接收方可以检测到并关闭安全连接

  • 服务器身份认证(Server Authentication),TLS Handshake阶段,强制验证服务器数字证书,确保服务器就是真正要通信的服务器。

  • 防重放攻击保护(Anti-replay)每个TLS保护的HTTP包裹,都有一个从0开始线性增长的序列号,任何重放HTTP包裹的行为,都会被检测到并关闭安全连接。



那么,就可以大声地说,


HTTP是安全的


为了区别使用明文传输(TCP/IP)的HTTP,使用密文传输的(TLS/TCP/IPHTTP,将后者标记为HTTP Secure,简写为HTTPS


这个世界压根没有什么HTTPS这个协议,只有HTTP协议!!!


如果理解了这一点,恭喜诸位,没有白费5分钟阅读这篇文章!


如果没有理解这一点,请不要继续,换篇文章看看!


接下来回答题主的问题


Q1: HTTPS 网站该如何传递参数?


和HTTP网站传输参数没有任何区别,一样一样的,因为就是HTTP协议啊!


Q2: 如果和 HTTP一样那么不就是参数是明文的有被拦截的风险,怎么能说 HTTPS 是安全的呢?


HTTP Secure(HTTPS)HTTP的区别,上文已经解释。故HTTP Secure = HTTP + TLS,HTTP在经过TLS的安全加密,成为密文+完整性保护HMAC,然后在TCP连接上传输,最后以IP Packet形式在互联网上一路到达目的地。先校验HMAC,如果错直接Reset安全连接。如果校验通过,再尝试将密文解密成HTTP,提交给应用层处理。


在整个Packet诞生的流水线,HTTP --- TLS---TCP--- IP,虽然HTTP、TCP、IP 都没有加密,但是,只要TLS加密,HTTP就是安全的!


Why?


TLS相当于加密信封(Encryption Envelope),而HTTP就是加密信封里的一封信(Message)


所以,HTTP这封信的所有内容都是安全的,HeaderBody都是安全的!


回答完问题,再写一点补充阅读。


为何HTTP不能实现自己的安全加密功能?而要借助TLS的安全加密服务?


当然可以,但是代码重用的效率显然很低很低。


FTP、POP3、smtp、smb以及N多应用层协议需要安全加密保护,是不是都要实现自己的代码?


很显然是的!


将安全会话层独立出来,可以给N多应用层协议提供安全服务,这个安全会话层就是TLS, 一套代码,N次使用,这个N是没有上限的,将代码重用的效率提升到最大!


故,

  • HTTP实现了应用层OSI参考模型的7层/应用层(Application)

  • HTTP实现了表示层(Media Type),OSI参考模型的6层/表示层(Presentation)

  • TLS实现了会话层OSI参考模型的5层/会话层(Session)

  • TCP实现了传输层,OSI参考模型的4层/传输层(Transport)
  • IP实现了网络层OSI参考模型的3层/网络层(Network)

  • 硬件接口实现了链路层OSI参考模型的2层/链路层(Link)

  • 硬件接口实现了物理层OSI参考模型的1层/物理层(Physical)


伟大的OSI参考模型,伟大的抽象,伟大的预卜先知!


夸完了,再来看看脆弱性。HTTP Secure和HTTP一样,最终都是TCP来承载,很容易被伪造的TCP Reset报文给Reset掉连接。


此外,只要将TCP报文修改并update checksum,可以瞒得过TCP,但是TLS会校验出错,一丢了事?


No!


TLS会报Alert Error并关闭连接!


任何一点的风吹草动,就可以将TLS连接给Reset掉,这是它脆弱性的一面。


另外,服务器认证这个环节是首席攻击目标。在一个大型企业,为了监控员工的HTTPS加密流量,必须将HTTPS流量在防火墙上解密,看看有没有病毒、恶意代码、未授权文件泄露,防火墙必须使用自己的数字证书伪装成服务器的数字证书。只要用域GPO将防火墙的自签名证书提前推送给员工电脑并信任,就可以完成以上解密的任务。


国家安全部门,除了以上的攻击手段,还会利用成千上万的服务器24小时连轴转,做什么?


计算主流浏览器常用ECC Group的公钥-私钥对,海量的ECC Group的公钥-私钥对诞生并存储,只要Client-Server的TLS DHE交换的任意一方的公钥匹配到存储的公钥,即可完整破解。


即使暂时没有匹配到,随着时间的推移,海量的公钥-私钥对越来越庞大,破解的概率越来越高,只要将流量Capture下来。

原文始发于微信公众号(车小胖谈网络):为什么说 HTTPS 是安全的?

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年8月5日09:09:32
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   为什么说 HTTPS 是安全的?https://cn-sec.com/archives/3031413.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息