分享

我与阿里云的一千零一夜-002-带着身份证

 偏扁豆 2021-11-10

0x0 前言

社会对于生命的认可就是给予它一张身份证明,人类对于沟通的渴望就是塑造一种又一种语言,灵魂对于安全感的追求就是给种种事物包上了一层又一层信封。

我是多么的想拥抱开放啊,开放的水、开放的空气、开放的阳光,开放的浓烈又不断地侵蚀我的肌肤,干涩我的肺泡,溶解我的躯壳,所有的开放又似乎让我闭塞,不断推你进入阴影,关上你的窗户。

一如这信息帝国的万千门户——HTTP,纷纷为自己加了锁,设了卡,加了卫士,复杂了流程,而且记下你的身份证,那一刻它改头换面——HTTPS。



0x1 关于加密

加密永远是这个时代避不开、逃不过的话题。

HTTP是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议。HTTP是采用明文形式进行数据传输,极易被不法分子窃取和篡改。

HTTPS在HTTP层和TCP层之间加了一个SSL层,SSL向上提供加密和解密的服务,对HTTP比较透明。


SSL与TLS啥区别呢?


简单的说,目前常见的HTTPS一般都是HTTP over TLS。

TLS解决了传输过程中的安全加密问题,但是解决不了中间人在中间作祟的问题,于是CA认证证书被发明了。CA组织认证的证书可以被内置在常见的浏览器中,因此当服务器返回一个证书时,客户端的浏览器就能提示用户这个网站是否是安全的。

那浏览器怎么可能保存那么多被认证的证书呢?事实上浏览器仅保存一部分常用证书,不常见的证书需要用到OCSP (Online Certificate Status Protocol)在线证书状态协议去在线查找。

一个简单的传输流程如下:

  • 用户向web服务器发起一个安全连接的请求

  • 服务器返回经过CA认证的数字证书,证书里面包含了服务器的public key

  • 用户拿到数字证书,用自己浏览器内置的CA证书解密得到服务器的public key

  • 用户用服务器的public key加密一个用于接下来的对称加密算法的密钥,传给web服务器

    • 因为只有服务器有private key可以解密,所以不用担心中间人拦截这个加密的密钥

  • 服务器拿到这个加密的密钥,解密获取密钥,再使用对称加密算法,和用户完成接下来的网络通信


第四点为什么要加密一个对称加密算法呢,因为对称加密算法速度快、效率高!此外,第二点中证书是不加密的,采用散列函数对传输的证书进行完整性校验即可,保证传输的完整性!


0x2 证书哪里来

证书既然是CA机构签发的,证书当然是从这些CA机构来。

那为什么有的证书是收费的,有些是免费的呢?

首先谈一下证书的成本。一般来说,CA 机构在签发证书之前需要对公钥跟网站和组织的关系进行验证,这个过程有成本。另外就是CA机构需要应对 WebTrust 等机构的审计,也需要支付不小的费用。

其次证书种类不同。青铜、白银、黄金、铂金、钻石……这些不同级别的能一样吗?肯定不一样。但是对于不同的客户来说,需求不同。一个初创普通公司就没有必要认证高级别的证书,因为绝大多数客户关注不到那么细节。

最后还有一个可靠性问题。付费的证书CA机构会用保险的方式保证客户的证书更新解析有效,但免费的不保证,也就是说在定期在线拉取证书更新的时候有可能会出现卡顿等现象。

0x3 小结

在没有抵达乌邦图之前,安全问题是避免不了的。

我们防范任何人,不是因为怀疑谁是小人,而是怕好人当不成君子。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多