加入收藏 | 设为首页 | 会员中心 | 我要投稿 南通站长网 (https://www.0513zz.cn/)- 专有云、图像技术、经验、数据治理、专属主机!
当前位置: 首页 > 站长资讯 > 动态 > 正文

一文了解数字人民币及其发展历程

发布时间:2021-01-28 16:04:23 所属栏目:动态 来源:互联网
导读:我前任公司在信息安全这块做得就非常谨慎,手机会有工作手机,未授权的任何 App 都不能安装,谁知道 App 会悄悄干些什么事情呢。(最新热点,QQ扫描浏览器历史记录,你可知道) 当然各种 App 肯定也不是吃素的,不会让『中间人攻击』这么容易就得逞的,咱们接

我前任公司在信息安全这块做得就非常谨慎,手机会有工作手机,未授权的任何 App 都不能安装,谁知道 App 会悄悄干些什么事情呢。(最新热点,QQ扫描浏览器历史记录,你可知道)

当然各种 App 肯定也不是吃素的,不会让『中间人攻击』这么容易就得逞的,咱们接着看。

如何防止信息安全,反爬

前面提到,要实施中间人攻击,关键在于证书是否得到信任。浏览器的行为是证书可以让用户授权是否信任,而 APP 就可以开发者自己控制。

比如我尝试通过类似的方式对某匿名社区进行抓包解密 HTTPS,但最终失败了,为什么呢?
 

还好这个 IP 搜出来是 github,而不是……

你或许会高兴,连个网站域名都看不到,可以放心摸鱼了。不过,这是真的吗?

HTTPS 真的安全吗?

HTTPS 真的完全安全吗?连访问的域名都获取不到?答案是否定的。

上述 HTTPS 在握手阶段有一个很重要的东西 —— 证书。

SNI —— 域名裸奔

当访问 HTTPS 站点时,会首先与服务器建立 SSL 连接,第一步就是请求服务器的证书。

当一个 Server IP 只对应一个域名(站点)时,很方便,任意客户端请求过来,无脑返回该域名(服务)对应的证书即可。但 IP 地址(IPv4)是有限的呀,多个域名复用同一个 IP 地址的时候怎么办?

服务器在发送证书时,不知道浏览器访问的是哪个域名,所以不能根据不同域名发送不同的证书。

因此 TLS 协议升级了,多了 SNI 这个东西,SNI 即 Server Name Indication,是为了解决一个服务器使用多个域名和证书的 SSL/TLS 扩展。

现在主流客户端都支持这个协议的。别问我怎么知道这个点的,之前工作上因为这个事情还费了老大劲儿……

它的原理是:在与服务器建立 SSL 连接之前,先发送要访问站点的域名(Hostname),这样服务器会根据这个域名返回一个合适的证书。此时还没有办法进行加解密,因此至少这个域名是裸奔的。
 

HTTPS 原理

上图就是大致介绍了 HTTPS 的握手流程,感兴趣的同学可以用 WireShark 抓包详细看看其中的每一个步骤,有助于理解 HTTPS 的完整流程。

大致就是客户端和服务端通过“握手会谈”商量出一个双方支持的加密算法和相应随机参数,得到一对密钥,后续的传输的内容都通过这对密钥进行加解密。

这对密钥很牛皮,比如要加密传输消息『tangleithu』,客户端通过公钥加密得到的密文『xyyaabbccdd』进行传输,服务端用自己的私钥对密文解密,恰好能得到『tangleithu』。中间错一位都不行,这样就保证了数据完整和隐私性。

这个过程比较复杂,本文不详述,类似的原理可参考石头多年前写的这篇文章 —— RSA算法。

因此,你在通过 HTTPS 访问网站的时候,就算流量被截取监听,获取到的信息也是加密的,啥实质性的内容也看不到。

例如,如下图所示,当我访问某个网站,此时通过 wireshark 抓包得到的信息,能获得仅仅是一些通信的IP地址而已。

(编辑:南通站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读