为什么说 HTTPS 是安全的?

97 篇文章 29 订阅
37 篇文章 5 订阅

HTTPS 网站该如何传递参数?如果和HTTP 一样那么不就是参数是明文的有被拦截的风险,怎么能说 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下来。

作者|车小胖谈网络|公众号

  • 15
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值